fold-const.c (maybe_canonicalize_comparison_1): Move A code CST canonicalization ...
[gcc.git] / gcc / ChangeLog
1 2015-07-24 Richard Biener <rguenther@suse.de>
2
3 * fold-const.c (maybe_canonicalize_comparison_1): Move
4 A code CST canonicalization ...
5 * match.pd: ... to a pattern here.
6
7 2015-07-24 Jiong Wang <jiong.wang@arm.com>
8
9 Revert:
10 2015-07-22 Jiong Wang <jiong.wang@arm.com>
11 PR target/63521
12 * config/aarch64/aarch64.h (REG_ALLOC_ORDER): Define.
13 (HONOR_REG_ALLOC_ORDER): Define.
14
15 2015-07-24 Richard Biener <rguenther@suse.de>
16
17 * genmatch.c (add_operator): Allow SSA_NAME as predicate.
18 * fold-const.c (fold_comparison): Move parameter does not
19 alias &local simplification ...
20 * match.pd: ... as a pattern here.
21
22 2015-07-24 Richard Biener <rguenther@suse.de>
23
24 * gimple-fold.c (replace_stmt_with_simplification): Special-case
25 valueizing call operands.
26 * gimple-match-head.c (maybe_push_res_to_seq): Take
27 number of call arguments from ops array.
28 (do_valueize): New function.
29 (gimple_simplify): Return true if valueization changed
30 any operand even if the result didn't simplify further.
31
32 2015-07-24 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
33
34 PR middle-end/25530
35 * match.pd (mult (trunc_div @0 integer_pow2p@1) @1) : New simplifier.
36
37 2015-07-24 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
38
39 PR middle-end/25529
40 * match.pd (trunc_div (mult @0 integer_pow2p@1) @1) : New simplifier.
41
42 2015-07-23 Kugan Vivekanandarajah <kuganv@linaro.org>
43
44 * config/arm/arm.c (arm_emit_movpair): Add REG_EQUAL notes to
45 instruction.
46
47 2015-07-23 Kugan Vivekanandarajah <kuganv@linaro.org>
48
49 * cse.c (cse_insn): Fix missing check for STRICT_LOW_PART and minor
50 clean up.
51
52 2015-07-23 Uros Bizjak <ubizjak@gmail.com>
53
54 * config/i386/i386.c (ix86_build_builtin_va_list_64): Rename
55 from ix86_build_builtin_va_list_abi. Handle only 64bit non-MS_ABI
56 targets here.
57 (ix86_build_builtin_va_list): Rewrite sysv_va_list_type_node and
58 ms_va_list_type_node initialization.
59
60 2015-07-23 Jeff Law <law@redhat.com>
61
62 PR lto/66752
63 * tree-ssa-threadedge.c (simplify_conrol_stmt_condition): If we are
64 unable to find X NE 0 in the tables, return X as the simplified
65 condition.
66 (fsm_find_control_statement_thread_paths): If nodes in NEXT_PATH are
67 in VISISTED_BBS, then return failure. Else add nodes from NEXT_PATH
68 to VISISTED_BBS. */
69 * tree-ssa-threadupdate.c (duplicate_thread_path): Fix up edge flags
70 after removing the control flow statement and unnecessary edges.
71
72 2015-07-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
73
74 * tree-pass.h (get_current_pass_name): Removed.
75
76 2015-07-23 Alexandre Oliva <aoliva@redhat.com>
77
78 PR rtl-optimization/64164
79 * Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
80 * tree-ssa-copyrename.c: Removed.
81 * opts.c (default_options_table): Drop -ftree-copyrename. Add
82 -ftree-coalesce-vars.
83 * passes.def: Drop all occurrences of pass_rename_ssa_copies.
84 * common.opt (ftree-copyrename): Ignore.
85 (ftree-coalesce-inlined-vars): Likewise.
86 * doc/invoke.texi: Remove the ignored options above.
87 * gimple-expr.h (gimple_can_coalesce_p): Move declaration
88 * tree-ssa-coalesce.h: ... here.
89 * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
90 headers required by it.
91 * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
92 across variables when flag_tree_coalesce_vars. Check register
93 use and promoted modes to allow coalescing. Moved to
94 tree-ssa-coalesce.c.
95 * tree-ssa-live.c (struct tree_int_map_hasher): Move along
96 with its member functions to tree-ssa-coalesce.c.
97 (var_map_base_init): Likewise. Renamed to
98 compute_samebase_partition_bases.
99 (partition_view_normal): Drop want_bases parameter.
100 (partition_view_bitmap): Likewise.
101 * tree-ssa-live.h: Adjust declarations.
102 * tree-ssa-coalesce.c: Include explow.h.
103 (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
104 default defs at the entry point.
105 (dump_part_var_map): New.
106 (compute_optimized_partition_bases): New, called by...
107 (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
108 of compute_samebase_partition_bases. Adjust.
109 * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
110 * cfgexpand.c (leader_merge): New.
111 (get_rtl_for_parm_ssa_default_def): New.
112 (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
113 vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
114 (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
115 redundant MEM attr setting.
116 (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
117 from...
118 (expand_one_stack_var): ... this. New wrapper to check and
119 skip already expanded SSA partitions.
120 (record_alignment_for_reg_var): New, factored out of...
121 (expand_one_var): ... this.
122 (expand_one_ssa_partition): New.
123 (adjust_one_expanded_partition_var): New.
124 (expand_one_register_var): Check and skip already expanded SSA
125 partitions.
126 (expand_used_vars): Don't create DECLs for anonymous SSA
127 names. Expand all SSA partitions, then adjust all SSA names.
128 (pass::execute): Replace the loops that set
129 SA.partition_to_pseudo from partition leaders and cleared
130 DECL_RTL for multi-location variables, and that which used to
131 rename vars and set attrs, with one that clears DECL_RTL and
132 checks that PARMs and RESULTs default_defs match DECL_RTL.
133 * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
134 * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl.
135 * explow.c (promote_ssa_mode): New.
136 * explow.h (promote_ssa_mode): Declare.
137 * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
138 * function.c: Include cfgexpand.h.
139 (use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
140 (use_register_for_parm_decl): Wrapper for the above to
141 special-case the result_ptr.
142 (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
143 (split_complex_args): Take assign_parm_data_all argument.
144 Pass it to rtl_for_parm. Set up rtl and context for split
145 args.
146 (assign_parms_augmented_arg_list): Adjust.
147 (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
148 multiple locations. Recognize split complex args.
149 (assign_parm_adjust_stack_rtl): Add all and parm arguments,
150 for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
151 (assign_parm_setup_block): Prefer SSA-assigned location.
152 (assign_parm_setup_reg): Likewise. Use entry_parm for equiv
153 if stack_parm is NULL.
154 (assign_parm_setup_stack): Prefer SSA-assigned location.
155 (assign_parms): Maybe reset DECL_RTL of params. Adjust stack
156 rtl before testing for pointer bounds. Special-case result_ptr.
157 (expand_function_start): Maybe reset DECL_RTL of result.
158 Prefer SSA-assigned location for result and static chain.
159 Factor out DECL_RESULT and SET_DECL_RTL.
160 * tree-outof-ssa.c (insert_value_copy_on_edge): Handle
161 anonymous SSA names. Use promote_ssa_mode.
162 (get_temp_reg): Likewise.
163 (remove_ssa_form): Adjust.
164 * stor-layout.c (layout_decl): Don't set mem attributes of
165 non-MEMs.
166 * var-tracking.c (dataflow_set_clear_at_call): Take call_insn
167 and get its reg_usage for reg invalidation.
168 (compute_bb_dataflow): Pass it insn.
169 (emit_notes_in_bb): Likewise.
170
171 2015-07-23 Segher Boessenkool <segher@kernel.crashing.org>
172
173 PR target/66217
174 * config/rs6000/rs6000-protos.h (rs6000_emit_2insn_and): Change
175 prototype.
176 * config/rs6000/rs6000.c (rs6000_emit_dot_insn): New function.
177 (rs6000_emit_2insn_and): Handle dot forms.
178 * config/rs6000/rs6000.md (and<mode>3): Adjust.
179 (*and<mode>3_2insn): Remove TODO. Adjust. Add "type" attr.
180 (*and<mode>3_2insn_dot, *and<mode>3_2insn_dot2): New.
181
182 2015-07-23 Richard Biener <rguenther@suse.de>
183
184 * generic-match-head.c: Include cgraph.h.
185 * gimple-match-head.c: Likewise.
186 * tree-ssa-sccvn.c (free_scc_vn): Guard against newly created
187 SSA names.
188 * fold-const.c (fold_binary_loc): Move &A ==/!= &B simplification...
189 * match.pd: ...to a pattern here. Add &A ==/!= 0 simplification
190 pattern.
191
192 2015-07-23 Richard Biener <rguenther@suse.de>
193
194 * gimple-fold.c (fold_gimple_cond): Do not require folding
195 results to pass valid_gimple_rhs_p.
196 * tree-cfg.h (fold_cond_expr_cond): Remove.
197 * tree-cfg.c (fold_cond_expr_cond): Likewise.
198 (make_edges): Do not call it.
199 * tree-inline.c (tree_function_versioning): Likewise.
200
201 2015-07-23 Tom de Vries <tom@codesourcery.com>
202
203 * tree-parloops.c (gather_scalar_reductions): Add arg to call to
204 vect_force_simple_reduction.
205 * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Same.
206 (vect_is_simple_reduction_1): Add and handle
207 need_wrapping_integral_overflow parameter.
208 (vect_is_simple_reduction, vect_force_simple_reduction): Add and pass
209 need_wrapping_integral_overflow parameter.
210 (vectorizable_reduction): Add arg to call to vect_is_simple_reduction.
211 * tree-vectorizer.h (vect_force_simple_reduction): Add parameter to
212 decl.
213
214 2015-07-23 Yuri Rumyantsev <ysrumyan@gmail.com>
215
216 PR tree-optimization/66926,66951
217 * tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge): Delete
218 INNER_LOOP and fix up condition for renaming virtual operands.
219
220 2015-07-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
221
222 * combine.c (try_combine): Use std::swap instead of manually
223 swapping.
224
225 2015-07-23 Prachi Godbole <prachi.godbole@imgtec.com>
226
227 * config/mips/i6400.md: New file.
228 * config/mips/mips-cpus.def (mips32r6): Change to PROCESSOR_I6400.
229 (mips64r6): Likewise.
230 (i6400): Define.
231 * config/mips/mips-tables.opt: Regenerate.
232 * config/mips/mips.c (mips_rtx_cost_data): Add I6400 processor.
233 (mips_issue_rate): Add support for i6400.
234 (mips_multipass_dfa_lookahead): Likewise.
235 * config/mips/mips.h (TUNE_I6400): Define.
236 * config/mips/mips.md: Include i6400.md.
237 (processor): Add i6400.
238 * doc/invoke.texi (-march=@var{arch}): Add i6400.
239
240 2015-07-23 Richard Biener <rguenther@suse.de>
241
242 PR middle-end/66916
243 * match.pd: Guard widen and sign-change comparison simplification
244 with single_use.
245
246 2015-07-23 Richard Biener <rguenther@suse.de>
247
248 PR tree-optimization/66945
249 * tree-ssa-propagate.c (substitute_and_fold_dom_walker
250 ::before_dom_children): Force the propagators idea of
251 non-executable edges to materialize, not what the folder
252 chooses.
253
254 2015-07-23 Richard Biener <rguenther@suse.de>
255
256 * gimple.h (gimple_cond_make_false): Use 0 != 0.
257 (gimple_cond_make_true): Use 1 != 0.
258
259 2015-07-22 DJ Delorie <dj@redhat.com>
260
261 * config/msp430/t-msp430 (MULTILIB_DIRNAMES): Remove trailing
262 slashes.
263
264 * config/msp430/msp430.md (ashlhi3): Optimize shifts of subregs.
265 (ashrhi3): Likewise.
266 (lshrhi3): Likewise.
267 (movhi): Take advantage of zero-extend to load small constants.
268 (movpsi): Likewise.
269 (and<mode>3): Likewise.
270 (zero_extendqihi2): Likewise.
271 (zero_extendqisi2): New.
272 * config/msp430/constraints.md (N,O): New.
273 * config/msp430/msp430.h (WORD_REGISTER_OPERATIONS): Define.
274
275 2015-07-22 Uros Bizjak <ubizjak@gmail.com>
276
277 PR target/66954
278 * config/i386/i386.c (get_builtin_code_for_version): Add P_AES
279 to enum feature_priority and feature_list.
280 (fold_builtin_cpu): Add F_AES to enum processor_features
281 and isa_names_table.
282
283 2015-07-22 Ilya Enkovich <enkovich.gnu@gmail.com>
284
285 PR driver/66737
286 * config/i386/linux-common.h (MPX_SPEC): Use linker option
287 for 64bit target only.
288
289 2015-07-22 Bernd Schmidt <bernds@codesourcery.com>
290
291 * config/nvptx/nvptx.c: Expand some comments.
292
293 2015-07-22 James Greenhalgh <james.greenhalgh@arm.com>
294
295 * config/arm/cortex-a53 (cortex_53_advsimd): Rename to...
296 (cortex_a53_advsimd): ...This.
297
298 2015-07-22 Richard Biener <rguenther@suse.de>
299
300 * genmatch.c (expr::gen_transform): Clarify error message
301 and display location.
302
303 2015-07-22 Richard Biener <rguenther@suse.de>
304
305 * genmatch.c (struct operand): Add location member.
306 (predicate, expr, c_expr, capture, if_expr, with_expr): Adjust
307 constructors.
308 (struct simplify): Remove match_location and result_location
309 members.
310 (elsehwere): Adjust.
311
312 2015-07-22 Prachi Godbole <prachi.godbole@imgtec.com>
313
314 * config/mips/m5100.md: New file.
315 * config/mips/mips-cpus.def (m5100, m5101): Define.
316 * config/mips/mips-tables.opt: Regenerate.
317 * config/mips/mips.c (mips_rtx_cost_data): Add costs for m5100.
318 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Map -march=m5100 and
319 -march=m5101 to -mips32r5.
320 (MIPS_ARCH_FLOAT_SPEC): Map -m5101 to -msoft-float.
321 (MIPS_ISA_NAN2008_SPEC): Map -march=m51* to -mnan=2008 if
322 !-msoft-float.
323 * config/mips/mips.md: Include m5100.md.
324 (processor): Add m5100.
325 * doc/invoke.texi (-march=@var{arch}): Add m5100, m5101.
326
327 2015-07-22 Robert Suchanek <robert.suchanek@imgtec.com>
328
329 * config/mips/mips-cpus.def (interaptiv): Define.
330 * config/mips/mips-tables.opt: Regenerate.
331 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Map -march=interaptiv to
332 -mips32r2.
333 (BASE_DRIVER_SELF_SPECS): Likewise but map to -mdsp.
334 * doc/invoke.texi (-march=@var{arch}): Add interaptiv.
335
336 2015-07-22 Jiong Wang <jiong.wang@arm.com>
337
338 PR target/63521
339 * config/aarch64/aarch64.h (REG_ALLOC_ORDER): Define.
340 (HONOR_REG_ALLOC_ORDER): Define.
341
342 2015-07-22 Richard Biener <rguenther@suse.de>
343
344 PR tree-optimization/66952
345 * tree-ssa-ifcombine.c (pass_tree_ifcombine::execute): For
346 blocks we end up executing unconditionally reset all SSA
347 info such as range and alignment.
348 * tree-ssanames.h (reset_flow_sensitive_info): Declare.
349 * tree-ssanames.c (reset_flow_sensitive_info): New function.
350
351 2015-07-22 Charles Baylis <charles.baylis@linaro.org>
352
353 * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>): Fix
354 typo in attribute.
355
356 2015-07-22 Richard Biener <rguenther@suse.de>
357
358 * genmatch.c (parser::parse_result): Properly handle
359 match with result operands and conditions.
360
361 2015-07-22 Charles Baylis <charles.baylis@linaro.org>
362
363 PR target/63870
364 * config/aarch64/aarch64-builtins.c (enum aarch64_type_qualifiers):
365 Add qualifier_struct_load_store_lane_index.
366 (aarch64_types_loadstruct_lane_qualifiers): Use
367 qualifier_struct_load_store_lane_index for lane index argument for
368 last argument.
369 (aarch64_types_storestruct_lane_qualifiers): Ditto.
370 (builtin_simd_arg): Add SIMD_ARG_STRUCT_LOAD_STORE_LANE_INDEX.
371 (aarch64_simd_expand_args): Add new argument describing mode of
372 builtin. Check lane bounds for arguments with
373 SIMD_ARG_STRUCT_LOAD_STORE_LANE_INDEX.
374 (aarch64_simd_expand_builtin): Emit error for incorrect lane indices
375 if marked with SIMD_ARG_STRUCT_LOAD_STORE_LANE_INDEX.
376 (aarch64_simd_expand_builtin): Handle arguments with
377 qualifier_struct_load_store_lane_index. Pass machine mode of builtin to
378 aarch64_simd_expand_args.
379 * config/aarch64/aarch64-simd-builtins.def: Declare ld[234]_lane and
380 vst[234]_lane with BUILTIN_VALLDIF.
381 * config/aarch64/aarch64-simd.md:
382 (aarch64_vec_load_lanesoi_lane<mode>): Use VALLDIF iterator. Perform
383 endianness reversal on lane index.
384 (aarch64_vec_load_lanesci_lane<mode>): Ditto.
385 (aarch64_vec_load_lanesxi_lane<mode>): Ditto.
386 (vec_store_lanesoi_lane<mode>): Use VALLDIF iterator.
387 (vec_store_lanesci_lane<mode>): Ditto.
388 (vec_store_lanesxi_lane<mode>): Ditto.
389 (aarch64_ld2_lane<mode>): Use VALLDIF iterator. Remove endianness
390 reversal of lane index.
391 (aarch64_ld3_lane<mode>): Ditto.
392 (aarch64_ld4_lane<mode>): Ditto.
393 (aarch64_st2_lane<mode>): Ditto.
394 (aarch64_st3_lane<mode>): Ditto.
395 (aarch64_st4_lane<mode>): Ditto.
396 * config/aarch64/arm_neon.h (__LD2_LANE_FUNC): Rename mode parameter
397 to qmode. Add new mode parameter. Update uses.
398 (__LD3_LANE_FUNC): Ditto.
399 (__LD4_LANE_FUNC): Ditto.
400 (__ST2_LANE_FUNC): Ditto.
401 (__ST3_LANE_FUNC): Ditto.
402 (__ST4_LANE_FUNC): Ditto.
403
404 2015-07-22 Jonathan Wakely <jwakely@redhat.com>
405
406 * doc/invoke.texi (Language Independent Options): Rename node to
407 Diagnostic Message Formatting Options.
408
409 2015-07-21 Vladimir Makarov <vmakarov@redhat.com>
410
411 PR ipa/66424.
412 * lra-remat.c (operand_to_remat): Prevent using insns with input
413 subregs processed separately by IRA.
414
415 2015-07-21 Andrew MacLeod <amacleod@redhat.com>
416
417 * ssa-iterators.h (has_zero_uses, has_single_use): Implement as
418 straight loops.
419 (single_imm_use): Check for iterator node.
420 (num_imm_uses): Likewise.
421 * tree-ssa-operands.c (has_zero_uses_1): Delete.
422 (single_imm_use_1): Check for iterator node.
423
424 2015-07-21 Mike Frysinger <vapier@gentoo.org>
425 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
426
427 * configure.ac: Add check for new options in isl-0.15.
428 * config.in, configure: Rebuilt.
429 * graphite-blocking.c: Include <isl/constraint.h>
430 * graphite-interchange.c, graphite-poly.c: Likewise.
431 * graphhite-scop-detection.c, graphite-sese-to-poly.c: Likewise.
432 * graphite.c: Likewise.
433 * graphite-isl-ast-to-gimple.c: Include <isl/constraint.h> and
434 <isl/union_set.h>.
435 * graphite-dependences.c: Include <isl/constraint.h>.
436 (max_number_of_out_dimensions): Returns isl_stat.
437 (extend_schedule_1): Likewise
438 (extend_schedule): Corresponding changes.
439 * graphite-optimize-isl.c: Include <isl/constraint.h> and
440 <isl/union_set.h>.
441 (getSingleMap): Change return type of isl_stat.
442 (optimize_isl): Conditionally use
443 isl_options_set_schedule_serialize_sccs.
444 * graphite-poly.h (isl_stat, isl_stat_ok): Define fallbacks
445 if not HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS.
446
447 2015-07-21 Georg-Johann Lay <avr@gjlay.de>
448
449 PR target/66956
450 * config/avr/avr-dimode.md (<extend_u>mulsidi3_insn)
451 (<extend_u>mulsidi3): Don't use if !AVR_HAVE_MUL.
452
453 2015-07-21 Richard Biener <rguenther@suse.de>
454
455 PR tree-optimization/66948
456 * genmatch.c (capture_info::walk_match): Also recurse to
457 captures. Properly compute expr state from captures of
458 captures.
459 * match.pd: Add single-use guards to
460 (X & C2) >> C1 into (X >> C1) & (C2 >> C1) transform.
461
462 2015-07-21 Nathan Sidwell <nathan@codesourcery.com>
463
464 * config/nvptx/mkoffload.c (process): Add static destructor call.
465
466 2015-07-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
467
468 PR middle-end/66915
469 * match.pd (A - B -> A + (-B)): Don't allow folding
470 when type if a fixed-point type.
471
472 2015-07-20 DJ Delorie <dj@redhat.com>
473
474 * config/rl78/rl78-real.md (andqi3_real): Expand operands for clr1.
475 (iorqi3_real): Likewise for set1.
476
477 2015-07-20 Uros Bizjak <ubizjak@gmail.com>
478
479 * config/i386/i386.c (ix86_md_asm_adjust): Handle DImode dest_mode
480 for !TARGET_64BIT.
481
482 2015-07-20 Aditya Kumar <hiraditya@msn.com>
483
484 * graphite-isl-ast-to-gimple.c:
485 Refactor so that each function can access 'region'. This will help
486 maintain a parameter rename_map within a region.
487
488 2015-07-20 Segher Boessenkool <segher@kernel.crashing.org>
489
490 * config/rs6000/rs6000.md (*lt0_disi): New.
491
492 2015-07-20 Segher Boessenkool <segher@kernel.crashing.org>
493
494 PR target/66217
495 * config/rs6000/constraints.md ("S", "T", "t"): Delete. Update
496 "available letters" comment.
497 * config/rs6000/predicates.md (mask_operand, mask_operand_wrap,
498 mask64_operand, mask64_2_operand, any_mask_operand, and64_2_operand,
499 and_2rld_operand): Delete.
500 (and_operand): Adjust.
501 (rotate_mask_operator): New.
502 * config/rs6000/rs6000-protos.h (build_mask64_2_operands,
503 includes_lshift_p, includes_rshift_p, includes_rldic_lshift_p,
504 includes_rldicr_lshift_p, insvdi_rshift_rlwimi_p, extract_MB,
505 extract_ME): Delete.
506 (rs6000_is_valid_mask, rs6000_is_valid_and_mask,
507 rs6000_is_valid_shift_mask, rs6000_is_valid_insert_mask,
508 rs6000_insn_for_and_mask, rs6000_insn_for_shift_mask,
509 rs6000_insn_for_insert_mask, rs6000_is_valid_2insn_and,
510 rs6000_emit_2insn_and): New.
511 * config/rs6000/rs6000.c (num_insns_constant): Adjust.
512 (build_mask64_2_operands, includes_lshift_p, includes_rshift_p,
513 includes_rldic_lshift_p, includes_rldicr_lshift_p,
514 insvdi_rshift_rlwimi_p, extract_MB, extract_ME): Delete.
515 (rs6000_is_valid_mask, rs6000_is_valid_and_mask,
516 rs6000_insn_for_and_mask, rs6000_is_valid_shift_mask,
517 s6000_insn_for_shift_mask, rs6000_is_valid_insert_mask,
518 rs6000_insn_for_insert_mask, rs6000_is_valid_2insn_and,
519 rs6000_emit_2insn_and): New.
520 (print_operand) <'b', 'B', 'm', 'M', 's', 'S', 'W'>: Delete.
521 (rs6000_rtx_costs) <CONST_INT>: Delete mask_operand and mask64_operand
522 handling.
523 <NOT>: Don't fall through to next case.
524 <AND>: Handle the various rotate-and-mask cases directly.
525 <IOR>: Always cost as one insn.
526 * config/rs6000/rs6000.md (splitter for bswap:SI): Adjust.
527 (and<mode>3): Adjust expander for the new patterns.
528 (and<mode>3_imm, and<mode>3_imm_dot, and<mode>3_imm_dot2,
529 and<mode>3_imm_mask_dot, and<mode>3_imm_mask_dot2): Adjust condition.
530 (*and<mode>3_imm_dot_shifted): New.
531 (*and<mode>3_mask): Delete, rewrite as ...
532 (and<mode>3_mask): ... New.
533 (*and<mode>3_mask_dot, *and<mode>3_mask_dot): Rewrite.
534 (andsi3_internal0_nomc): Delete.
535 (*andsi3_internal6): Delete.
536 (*and<mode>3_2insn): New.
537 (insv, insvsi_internal, *insvsi_internal1, *insvsi_internal2,
538 *insvsi_internal3, *insvsi_internal4, *insvsi_internal5,
539 *insvsi_internal6, insvdi_internal, *insvdi_internal2,
540 *insvdi_internal3): Delete.
541 (*rotl<mode>3_mask, *rotl<mode>3_mask_dot, *rotl<mode>3_mask_dot2,
542 *rotl<mode>3_insert, *rotl<mode>3_insert_2, *rotl<mode>3_insert_3,
543 *rotl<mode>3_insert_4, two splitters for multi-precision shifts,
544 *ior<mode>_mask): New.
545 (extzv, extzvdi_internal, *extzvdi_internal1, *extzvdi_internal2,
546 *rotlsi3_mask, *rotlsi3_mask_dot, *rotlsi3_mask_dot2,
547 *ashlsi3_imm_mask, *ashlsi3_imm_mask_dot, *ashlsi3_imm_mask_dot2,
548 *lshrsi3_imm_mask, *lshrsi3_imm_mask_dot, *lshrsi3_imm_mask_dot2):
549 Delete.
550 (ashr<mode>3): Delete expander.
551 (*ashr<mode>3): Rename to ...
552 (ashr<mode>3): ... This.
553 (ashrdi3_no_power, *ashrdisi3_noppc64be): Delete.
554 (*rotldi3_internal4, *rotldi3_internal5 and split,
555 *rotldi3_internal6 and split, *ashldi3_internal4, ashldi3_internal5
556 and split, *ashldi3_internal6 and split, *ashldi3_internal7,
557 ashldi3_internal8 and split, *ashldi3_internal9 and split): Delete.
558 (*anddi3_2rld, *anddi3_2rld_dot, *anddi3_2rld_dot2): Delete.
559 (splitter for loading a mask): Adjust.
560 * doc/md.texi (Machine Constraints): Remove q, S, T, t constraints.
561
562 2015-07-20 Marek Polacek <polacek@redhat.com>
563
564 * genemit.c (print_code, gen_exp, gen_insn, gen_expand, gen_split,
565 output_add_clobbers, output_added_clobbers_hard_reg_p,
566 gen_rtx_scratch): Remove declarations.
567
568 2015-07-20 Marek Polacek <polacek@redhat.com>
569
570 PR c++/55095
571 * doc/invoke.texi: Document -Wshift-overflow and -Wshift-overflow=.
572
573 2015-07-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
574
575 * simplify-rtx.c (simplify_unary_operation_1, NEG case):
576 (neg (x ? (neg y) : y)) -> !x ? (neg y) : y.
577
578 2015-07-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
579
580 * combine.c (combine_simplify_rtx): Move simplification step
581 before various transformations/substitutions.
582
583 2015-07-20 Mikhail Maltsev <maltsevm@gmail.com>
584
585 * wide-int.h (struct binary_traits): Fix partial specialization syntax.
586 (struct int_traits): Likewise.
587
588 2015-07-18 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
589
590 * vmsdbgout.c (vmsdbgout_decl): Change name of prototyped
591 function to vmsdbgout_function_decl.
592
593 2015-07-18 Uros Bizjak <ubizjak@gmail.com>
594
595 PR target/66922
596 * config/i386/i386.c (ix86_expand_pextr): Reject extractions
597 from misaligned positions.
598 (ix86_expand_pinsr): Reject insertions to misaligned positions.
599
600 2015-07-18 Sebastian Pop <s.pop@samsung.com>
601
602 PR middle-end/46851
603 PR middle-end/60340
604 * Makefile.in: Removed omega.o.
605 * common.opt: Document flag fcheck-data-deps as deprecated.
606 * doc/invoke.texi: Remove documentation for fcheck-data-deps and
607 its associated params: omega-max-vars, omega-max-geqs,
608 omega-max-eqs, omega-max-wild-cards, omega-hash-table-size,
609 omega-max-keys, omega-eliminate-redundant-constraints.
610 * doc/loop.texi: Remove all the section on Omega.
611 * graphite-blocking.c: Include missing params.h: it used to be
612 included through tree-data-ref.h and omega.h.
613 * graphite-isl-ast-to-gimple.c: Same.
614 * graphite-optimize-isl.c: Same.
615 * graphite-sese-to-poly.c: Same.
616 * graphite.c: Same.
617 * omega.c: Remove.
618 * omega.h: Remove.
619 * params.def: Removed PARAM_OMEGA_MAX_VARS, PARAM_OMEGA_MAX_GEQS,
620 PARAM_OMEGA_MAX_EQS, PARAM_OMEGA_MAX_WILD_CARDS,
621 PARAM_OMEGA_HASH_TABLE_SIZE, PARAM_OMEGA_MAX_KEYS, and
622 PARAM_OMEGA_ELIMINATE_REDUNDANT_CONSTRAINTS.
623 * passes.def: Remove pass_check_data_deps.
624 * tree-data-ref.c (dump_affine_function): Declare DEBUG_FUNCTION.
625 (dump_conflict_function): Same.
626 (dump_subscript): Same.
627 (print_direction_vector): Same.
628 (print_dir_vectors): Same.
629 (print_lambda_vector): Same.
630 (print_dist_vectors): Same.
631 (dump_data_dependence_relation): Same.
632 (dump_data_dependence_relations): Same.
633 (dump_dist_dir_vectors): Same.
634 (dump_ddrs): Same.
635 (init_omega_eq_with_af): Removed.
636 (omega_extract_distance_vectors): Removed.
637 (omega_setup_subscript): Removed.
638 (init_omega_for_ddr_1): Removed.
639 (init_omega_for_ddr): Removed.
640 (ddr_consistent_p): Removed.
641 (compute_affine_dependence): Do not use omega to check data
642 dependences.
643 (compute_data_dependences_for_bb): Removed.
644 (analyze_all_data_dependences): Removed.
645 (tree_check_data_deps): Removed.
646 * tree-data-ref.h: Do not include omega.h.
647 (compute_data_dependences_for_bb): Removed.
648 (tree_check_data_deps): Removed.
649 * tree-ssa-loop.c (pass_check_data_deps): Removed.
650 (make_pass_check_data_deps): Removed.
651 * tree-ssa-phiopt.c: Include params.h.
652 * tree-vect-data-refs.c: Same.
653 * tree-vect-slp.c: Same.
654
655 2015-07-18 Uros Bizjak <ubizjak@gmail.com>
656
657 * config/i386/i386.md (pushsf splitter): Pass curr_insn to
658 find_constant_src. FAIL if find_constant_src returns NULL_RTX.
659 (mem->fpreg splitters): Ditto.
660 (general_operand->nonimmediate_operand splitter): Use explicit modes.
661 Disable DFmode for TARGET_64BIT.
662
663 2015-07-17 H.J. Lu <hongjiu.lu@intel.com>
664
665 PR target/66906
666 * config/i386/i386.c (ix86_expand_prologue): Replicate static
667 chain on the stack.
668
669 2015-07-17 Nathan Sidwell <nathan@codesourcery.com>
670
671 * config/nvptx/mkoffload.c (process): Constify host data.
672 * config/i386/intelmic-mkoffload.c (generate_target_descr_file):
673 Constify host data.
674 (generate_host_descr_file): Likewise.
675
676 2015-07-17 Aditya Kumar <aditya.k7@samsung.com>
677 Sebastian Pop <s.pop@samsung.com>
678
679 PR middle-end/61929
680 * graphite-dependences.c (add_pdr_constraints): Renamed
681 pdr->extent to pdr->subscript_sizes.
682 * graphite-interchange.c (build_linearized_memory_access): Add
683 back all gcc_assert's that the "isl_int to isl_val conversion"
684 patch has removed. Refactored.
685 (pdr_stride_in_loop): Renamed pdr->extent to pdr->subscript_sizes.
686 * graphite-poly.c (new_poly_dr): Same.
687 (free_poly_dr): Same.
688 * graphite-poly.h (struct poly_dr): Same.
689 * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Ignore
690 all data references other than ARRAY_REF, MEM_REF, and COMPONENT_REF.
691 * graphite-scop-detection.h: Fix space.
692 * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Add
693 back all gcc_assert's removed by a previous patch.
694 (wrap): Remove the_isl_ctx global variable that the same patch has
695 added.
696 (build_loop_iteration_domains): Same.
697 (add_param_constraints): Same.
698 (pdr_add_data_dimensions): Same. Refactored.
699 (build_poly_dr): Renamed extent to subscript_sizes.
700
701 2015-07-17 Marek Polacek <polacek@redhat.com>
702
703 * fold-const.c (fold_binary_loc): Move A - (A & B) into ~B & A ...
704 * match.pd: ... here.
705
706 2015-07-17 Nathan Sidwell <nathan@codesourcery.com>
707
708 * config/nvptx/mkoffload.c (process): Constify target data.
709 * config/i386/intelmic-mkoffload.c (generate_target_descr_file):
710 Constify target data.
711 (generate_target_offloadend_file): Likewise.
712
713 2015-07-17 Yuri Rumyantsev <ysrumyan@gmail.com>
714
715 * tree-vect-loop-manip.c (rename_variables_in_bb): Add argument
716 to allow renaming of PHI arguments on edges incoming from outer
717 loop header, add corresponding check before start PHI iterator.
718 (slpeel_tree_duplicate_loop_to_edge_cfg): Introduce new bool
719 variable DUPLICATE_OUTER_LOOP and set it to true for outer loops
720 with true force_vectorize. Set-up dominator for outer loop too.
721 Pass DUPLICATE_OUTER_LOOP as argument to rename_variables_in_bb.
722 (slpeel_can_duplicate_loop_p): Allow duplicate of outer loop if it
723 was marked with force_vectorize and has restricted cfg.
724 (slpeel_tree_peel_loop_to_edge): Do not rename exit PHI uses in
725 inner loop.
726 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Do not
727 do peeling for outer loops.
728
729 2015-07-17 Yvan Roux <yvan.roux@linaro.org>
730 Matthias Klose <doko@ubuntu.com>
731
732 * configure.ac: Move AC_ARG_WITH checks for native-system-header-dir,
733 build-sysroot, sysroot from the `Miscenalleous configure options' to
734 the `Directories' section and strip trailing `/' from with_sysroot.
735 (gcc_gxx_include_dir): Don't strip a `/' sysroot value.
736 * configure: Regenerated.
737
738 2015-07-17 Uros Bizjak <ubizjak@gmail.com>
739
740 PR target/66824
741 * config/i386/i386.h (TARGET_HARD_SF_REGS): New define.
742 (TARGET_HARD_DF_REGS): Ditto.
743 (TARGET_HARD_XF_REGS): Ditto.
744 * config/i386/i386.md (*movxf_internal): Add alternatives 9 and 10.
745 Enable alternatives 9 and 10 only for !TARGET_HARD_XF_REG target.
746 (*movdf_internal): Add alternatives 22, 23, 24 and 25. Enable
747 alternatives 22, 23, 24 and 25 only for !TARGET_HARD_DF_REG target.
748 (*movsf_internal): Add alternatives 16 and 17. Enable
749 alternatives 16 and 17 only for !TARGET_HARD_SF_REG target.
750
751 2015-07-17 Uros Bizjak <ubizjak@gmail.com>
752
753 PR rtl-optimization/66891
754 * calls.c (expand_call): Wrap precompute_register_parameters with
755 NO_DEFER_POP/OK_DEFER_POP to prevent deferred pops.
756
757 2015-07-16 Nathan Sidwell <nathan@codesourcery.com>
758
759 * config/nvptx/mkoffload.c (process): Constify mapping variables.
760 Define target data struct and initialize it.
761
762 2015-07-16 Vladimir Makarov <vmakarov@redhat.com>
763
764 PR rtl-optimization/66626
765 * ira.h (emit-rtl.h): Include.
766 (non_spilled_static_chain_regno_p): New.
767 * ira-color.c (setup_profitable_hard_regs): Clear profitable regs
768 unless it is non spilled static chain pseudo.
769 (assign_hard_rego): Spill memory profitable allocno unless it is
770 non spilled static chain pseudo.
771 (allocno_spill_priority_compare): Put non spilled static chain
772 pseudo at the end of sorted array.
773 (improve_allocation): Do nothing if we have static chain and
774 non-local goto.
775 (allocno__priority_compare_func): Put non spilled static chain
776 pseudo at the beginning of sorted array.
777 (move_spill_restore): Ignore non spilled static chain pseudo.
778 * ira-costs.c (find_costs_and_classes): Don't assign class NO_REGS
779 to non spilled static chain pseudo.
780 * lra-assigns.c (pseudo_compare_func): Put non spilled static chain
781 pseudo at the beginning of sorted array.
782 (spill_for): Spill non spilled static chain pseudo last.
783 * lra-constraints.c (lra_constraints): Remove static chain pseudo
784 check for equivalence.
785
786 2015-07-16 Martin Liska <mliska@suse.cz>
787
788 PR ipa/66896.
789 * ipa-prop.c (update_jump_functions_after_inlining): Create properly
790 dst_ctx if it does not exist.
791
792 2015-07-16 Martin Liska <mliska@suse.cz>
793
794 * hash-set.h (remove): New function.
795 (iterator): New iteration class for hash_set.
796
797 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
798
799 * genattrtab.c (make_canonical): Add a file_location parameter.
800 Use fatal_at rather than fatal.
801 (get_attr_value): Likewise. Update call to make_canonical.
802 (fill_attr, make_length_attrs, optimize_attrs, gen_attr)
803 (make_internal_attr): Update calls accordingly.
804
805 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
806
807 * read-md.h (message_with_line, error_with_line): Delete.
808 * read-md.c (message_with_line, error_with_line): Delete.
809 * gensupport.h: Include read-md.h.
810 (md_rtx_info): New structure.
811 (read_md_rtx): Use it. Return a bool success value.
812 * gensupport.c (read_md_rtx): Likewise.
813 * genattr-common.c (gen_attr): Take an md_rtx_info rather than an rtx.
814 (main): Update after interface changes.
815 * genattr.c (gen_attr): Take an md_rtx_info rather than an rtx.
816 (main): Update after interface changes.
817 * genattrtab.c (insn_code_number): Delete.
818 (optimize_attrs): Add a max_insn_code parameter and use it instead
819 of insn_code_number.
820 (gen_attr): Take an md_rtx_info rather than an rtx and lineno.
821 Use *_at rather than *_with_line functions.
822 (gen_insn): Likewise.
823 (gen_delay): Likewise.
824 (gen_insn_reserv): Likewise.
825 (gen_bypass): Take an md_rtx_info rather than an rtx.
826 (main): Update after interface changes. Use a local max_insn_code
827 variable instead of insn_code_number.
828 * genautomata.c (gen_cpu_unit): Take an md_rtx_info rather than
829 an rtx. Use fatal_at rather than fatal.
830 (gen_query_cpu_unit, gen_bypass, gen_excl_set)
831 (gen_presence_absence_set, gen_presence_set, gen_final_presence_set)
832 (gen_absence_set, gen_final_absence_set, gen_automaton)
833 (gen_automata_option, gen_reserv, gen_insn_reserv): Likewise.
834 (main): Update after interface changes.
835 * gencodes.c (gen_insn): Take an md_rtx_info rather than an rtx
836 and code number.
837 (main): Update after interface changes.
838 * genconditions.c (main): Use new read_md_rtx interface.
839 * genconfig.c (gen_insn): Take an md_rtx_info rather than an rtx.
840 (gen_expand, gen_split, gen_peephole, gen_peephole2): Likewise.
841 (main): Update after interface changes.
842 * genemit.c (insn_code_number, insn_index_number): Delete.
843 (gen_insn): Take an md_rtx_info rather than an rtx and lineno.
844 Use fatal_at rather than fatal.
845 (gen_expand): Take an md_rtx_info rather than an rtx. Use fatal_at
846 rather than fatal.
847 (gen_split): Likewise.
848 (main): Update after interface changes.
849 * genextract.c (line_no): Delete.
850 (gen_insn): Take an md_rtx_info rather than an rtx and lineno.
851 Update call to walk_rtx.
852 (VEC_safe_set_locstr): Add an md_rtx_info argument. Use message_at
853 rather than message_with_line.
854 (walk_rtx): Add an md_rtx_info argument. Update call to
855 VEC_safe_set_locstr.
856 (main): Update after interface changes.
857 * genflags.c (gen_insn): Take an md_rtx_info rather than an rtx
858 and lineno. Use error_at rather than separate message_with_line
859 calls and have_error assignments.
860 (main): Update after interface changes.
861 * genmddump.c (main): Use new read_md_rtx interface.
862 * genopinit.c (insn): Take an md_rtx_info rather than an rtx.
863 (main): Update after interface changes.
864 * genoutput.c (next_code_number): Delete.
865 (gen_insn): Take an md_rtx_info rather than an rtx and lineno.
866 (gen_peephole, gen_expand, gen_split): Likewise.
867 (note_constraint): Likewise. Use *_at rather than *_with_line
868 functions.
869 (main): Update after interface changes.
870 * genpeep.c (gen_peephole): Take an md_rtx_info rather than an
871 rtx and lineno.
872 (main): Update after interface changes.
873 * genpreds.c (process_define_predicate): Take an md_rtx_info rather
874 than an rtx and lineno.
875 (process_define_constraint): Likewise.
876 (process_define_register_constraint): Likewise.
877 (main): Update after interface changes.
878 * genrecog.c (next_insn_code, pattern_lineno): Delete.
879 (validate_pattern): Replace top-level rtx with an md_rtx_info.
880 Use *_at rather than *_with_line functions.
881 (match_pattern_2): Likewise.
882 (match_pattern_1, match_pattern): Add an md_rtx_info parameter.
883 (get_peephole2_pattern): Take an md_rtx_info rather than an rtvec.
884 Use *_at rather than *_with_line functions.
885 * gentarget-def.c (add_insn): New function.
886 (main): Use it. Use new read_md_rtx interface.
887
888 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
889
890 * gensupport.h (compute_test_codes): Take a file_location rather
891 than a line number.
892 * gensupport.c (compute_test_codes): Likewise. Use *_at functions
893 rather than *_with_line functions.
894 (process_define_predicate): Update call to compute_test_codes.
895 * genpreds.c (validate_exp): Take a file_location rather than a
896 line number. Use *_at functions rather than *_with_line functions.
897 (process_define_predicate): Update call to validate_exp.
898 (constraint_data): Replace lineno field with a file_location.
899 (add_constraint): Take a file_location rather than a line number.
900 Use *_at functions rather than *_with_line functions. Fix error
901 message for address constraints. Update after changes to
902 validate_exp, constraint_data and compute_test_codes.
903 (process_define_constraint): Update accordingly.
904 (process_define_register_constraint): Likewise.
905
906 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
907
908 * genoutput.c (data): Use a file_location to record the source
909 position.
910 (nothing): Delete.
911 (idata, idata_end): Remove initialization.
912 (constraint_data): Replace lineno with a file_location.
913 (output_insn_data): Update after changes to data.
914 (gen_insn, gen_peephole, gen_expand, gen_split): Likewise.
915 (scan_operands): Likewise, using *_at rather than *_with_line
916 functions.
917 (process_template): Likewise.
918 (validate_insn_alternatives): Likewise.
919 (validate_insn_operands): Likewise.
920 (validate_optab_operands): Likewise.
921 (init_insn_for_nothing): Initialize idata and idata_end.
922 (note_constraint): Update after changes to constraint_data,
923 using at rather than with_line functions.
924 (mdep_constraint_len): Take a file_location rather than a
925 line number. Use at rather than with_line functions.
926
927 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
928
929 * read-md.h (fatal_at): Declare.
930 * read-md.c (fatal_at): New function.
931 * genattrtab.c (insn_def, attr_desc, delay_desc): Use a file_location
932 to record the source position.
933 (check_attr_test): Take a file_location instead of a line number.
934 Use fatal_at instead of fatal.
935 (check_attr_value): Update after above changes, using "at"
936 rather than "with_line" reporting functions.
937 (convert_set_attr_alternative): Likewise.
938 (gen_attr): Likewise.
939 (check_defs): Likewise. Don't assign to read_md_filename.
940 (gen_insn): Update initialization after above changes.
941 (gen_delay): Likewise.
942 (write_insn_cases): Print the filename for a define_peephole.
943 (gen_insn_reserv): Take a line number as argument and update
944 the call to check_attr_test.
945 (main): Pass a line number to gen_insn_reserv.
946
947 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
948
949 * read-md.h (file_location): New structure.
950 (directive_handler_t): Take a file_location rather than a line number.
951 (message_at, error_at): Declare.
952 (read_skip_construct): Delete.
953 * read-md.c (message_with_line_1): Replace with...
954 (message_at_1): ...this new function.
955 (message_at, error_at): New functions.
956 (message_with_line, error_with_line): Update to use message_at_1.
957 (handle_enum): Take a file_location rather than a line number
958 and use error_at for error reporting.
959 (handle_include): Likewise.
960 (read_skip_construct): Likewise. Make static.
961 (handle_file): Update after above changes. Pass a file_location
962 rather than a line number to handle_directive.
963 * gensupport.c (queue_elem): Replace separate filename and lineno
964 with a file_location.
965 (queue_pattern): Replace filename and lineno arguments with a
966 file_location. Update after change to queue_elem.
967 (process_define_predicate): Replace lineno argument with a
968 file_location and use error_at for error reporting. Update
969 after above changes.
970 (process_rtx): Likewise.
971 (subst_pattern_match): Likewise.
972 (get_alternatives_number): Likewise.
973 (alter_predicate_for_insn): Likewise.
974 (rtx_handle_directive): Likewise.
975 (is_predicable): Update after above changes, using error_at rather
976 than error_with_line.
977 (has_subst_attribute): Likewise.
978 (identify_predicable_attribute): Likewise.
979 (alter_attrs_for_subst_insn): Likewise.
980 (process_one_cond_exec): Likewise.
981 (process_substs_on_one_elem): Likewise.
982 (process_define_subst): Likewise.
983 (check_define_attr_duplicates): Likewise.
984 (read_md_rtx): Update after change to queue_elem.
985
986 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
987
988 * genoutput.c (next_index_number): Delete.
989 (data): Remove index_number.
990 (gen_insn, gen_peephole, gen_expand, gen_split): Update accordingly.
991 (main): Remove manipulation of next_index_number.
992
993 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
994
995 * genattrtab.c (check_attr_value): Remove handling of null attrs.
996 (make_canonical): Likewise.
997
998 2015-07-16 Eric Botcazou <ebotcazou@adacore.com>
999
1000 * config/sparc/sparc.md (save_stack_nonlocal): Use adjust_address
1001 instead of adjust_address_nv.
1002 (restore_stack_nonlocal): Likewise.
1003 (nonlocal_goto): Likewise.
1004
1005 2015-07-16 Tom de Vries <tom@codesourcery.com>
1006
1007 * tree-parloops.c (create_parallel_loop): Handle case that exit phi does
1008 not have a corresponding loop header phi.
1009
1010 2015-07-16 Tom de Vries <tom@codesourcery.com>
1011
1012 * tree-parloops.c (create_loads_for_reductions): Handle case that
1013 reduction is unused.
1014
1015 2015-07-16 Richard Biener <rguenther@suse.de>
1016
1017 PR tree-optimization/66894
1018 * tree-vrp.c (register_edge_assert_for_2): Fix bad assumption
1019 about deriving NE_EXPR from truncated values.
1020
1021 2015-07-16 Martin Liska <mliska@suse.cz>
1022
1023 * alloc-pool.h
1024 (object_allocator): Add new class.
1025 (pool_allocator::initialize): Use the underlying class.
1026 (pool_allocator::allocate): Likewise.
1027 (pool_allocator::remove): Likewise.
1028 (operator new): A new generic allocator.
1029 * asan.c (struct asan_mem_ref): Remove unused members.
1030 (asan_mem_ref_new): Replace new operator with
1031 object_allocator::allocate.
1032 (free_mem_ref_resources): Change deallocation.
1033 * cfg.c (initialize_original_copy_tables): Replace pool_allocator
1034 with object_allocator.
1035 * config/sh/sh.c (add_constant): Replace new operator with
1036 object_allocator::allocate.
1037 (sh_reorg): Change call to a release method.
1038 * cselib.c (struct elt_list): Remove unused members.
1039 (new_elt_list): Replace new operator with
1040 object_allocator::allocate.
1041 (new_elt_loc_list): Likewise.
1042 (new_cselib_val): Likewise.
1043 (unchain_one_elt_list): Change delete operator with remove method.
1044 (unchain_one_elt_loc_list): Likewise.
1045 (unchain_one_value): Likewise.
1046 (cselib_finish): Release newly added static allocators.
1047 * cselib.h (struct cselib_val): Remove unused members.
1048 (struct elt_loc_list): Likewise.
1049 * df-problems.c (df_chain_alloc): Replace pool_allocator with
1050 object_allocator.
1051 * df-scan.c (struct df_scan_problem_data): Likewise.
1052 (df_scan_alloc): Likewise.
1053 * df.h (struct dataflow): Likewise.
1054 * dse.c (struct read_info_type): Likewise.
1055 (struct insn_info_type): Likewise.
1056 (struct dse_bb_info_type): Likewise.
1057 (struct group_info): Likewise.
1058 (struct deferred_change): Likewise.
1059 (get_group_info): Likewise.
1060 (delete_dead_store_insn): Likewise.
1061 (free_read_records): Likewise.
1062 (replace_read): Likewise.
1063 (check_mem_read_rtx): Likewise.
1064 (scan_insn): Likewise.
1065 (dse_step1): Likewise.
1066 (dse_step7): Likewise.
1067 * et-forest.c (struct et_occ): Remove unused members.
1068 (et_new_occ): Use allocate instead of new operator.
1069 (et_new_tree): Likewise.
1070 (et_free_tree): Call release method explicitly.
1071 (et_free_tree_force): Likewise.
1072 (et_free_pools): Likewise.
1073 (et_split): Use remove instead of delete operator.
1074 * et-forest.h (struct et_node): Remove unused members.
1075 * ipa-cp.c: Change pool_allocator to object_allocator.
1076 * ipa-inline-analysis.c: Likewise.
1077 * ipa-profile.c: Likewise.
1078 * ipa-prop.c: Likewise.
1079 * ipa-prop.h: Likewise.
1080 * ira-build.c (initiate_cost_vectors): Cast return value.
1081 (ira_allocate_cost_vector): Likewise.
1082 * ira-color.c (struct update_cost_record): Remove unused members.
1083 * lra-int.h (struct lra_live_range): Likewise.
1084 (struct lra_copy): Likewise.
1085 (struct lra_insn_reg): Likewise.
1086 * lra-lives.c (lra_live_ranges_finish): Release new static allocator.
1087 * lra.c (new_insn_reg): Replace new operator with allocate method.
1088 (free_insn_regs): Same for operator delete.
1089 (finish_insn_regs): Release new static allocator.
1090 (finish_insn_recog_data): Likewise.
1091 (lra_free_copies): Replace delete operator with remove method.
1092 (lra_create_copy): Replace operator new with allocate method.
1093 (invalidate_insn_data_regno_info): Same for remove method.
1094 * regcprop.c (struct queued_debug_insn_change): Remove unused members.
1095 (free_debug_insn_changes): Replace delete operator with remove method.
1096 (replace_oldest_value_reg): Replace operator new with allocate method.
1097 (pass_cprop_hardreg::execute): Release new static variable.
1098 * sched-deps.c (sched_deps_init): Change pool_allocator to
1099 object_allocator.
1100 * sel-sched-ir.c: Likewise.
1101 * sel-sched-ir.h: Likewise.
1102 * stmt.c (expand_case): Likewise.
1103 (expand_sjlj_dispatch_table): Likewise.
1104 * tree-sra.c (struct access): Remove unused members.
1105 (struct assign_link): Likewise.
1106 (sra_deinitialize): Release newly added static pools.
1107 (create_access_1):Replace operator new with allocate method.
1108 (build_accesses_from_assign): Likewise.
1109 (create_artificial_child_access): Likewise.
1110 * tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Change
1111 pool_allocator to object_allocator.
1112 * tree-ssa-pre.c: Likewise.
1113 * tree-ssa-reassoc.c: Likewise.
1114 * tree-ssa-sccvn.c (allocate_vn_table): Likewise.
1115 * tree-ssa-strlen.c: Likewise.
1116 * tree-ssa-structalias.c: Likewise.
1117 * var-tracking.c (onepart_pool_allocate): New function.
1118 (unshare_variable): Use the newly added function.
1119 (variable_merge_over_cur): Likewise.
1120 (variable_from_dropped): Likewise.
1121 (variable_was_changed): Likewise.
1122 (set_slot_part): Likewise.
1123 (emit_notes_for_differences_1): Likewise.
1124 (vt_finalize): Release newly added static pools.
1125
1126 2015-07-16 Martin Jambor <mjambor@suse.cz>
1127
1128 * ipa-prop.h (param_aa_status): Rename to ipa_param_aa_status. Adjust
1129 all uses. Fix two typos in its general comment.
1130 (func_body_info): Rename to ipa_func_body_info. Adjust all uses.
1131
1132 2015-07-16 Ilya Enkovich <enkovich.gnu@gmail.com>
1133
1134 * config/i386/linux-common.h (LINK_MPX): New.
1135 (MPX_SPEC): Use LINK_MPX instead of %(link_mpx).
1136 * configure.ac: Add HAVE_LD_BNDPLT_SUPPORT macro
1137 indicating '-z bndplt' support by linker.
1138 * configure: Regenerate.
1139 * config.in: Regenerate.
1140
1141 2015-07-16 Richard Biener <rguenther@suse.de>
1142
1143 * fold-const.c (fold_widened_comparison): Remove.
1144 (fold_sign_changed_comparison): Likewise.
1145 (fold_comparison): Move widened and sign-changed comparison
1146 simplification ...
1147 * match.pd: ... to patterns here.
1148 * generic-match-head.c: Include target.h.
1149 * gimple-match-head.c: Likewise.
1150
1151 2015-07-16 Richard Biener <rguenther@suse.de>
1152
1153 * tree-ssa-dom.c (dom_valueize): New function.
1154 (record_temporary_equivalences): Also record equivalences
1155 for dominating stmts that have uses of equivalences we are
1156 about to record.
1157
1158 2015-07-16 Bin Cheng <bin.cheng@arm.com>
1159
1160 * tree-ssa-loop-ivopts.c (add_candidate): Remove call to
1161 add_autoinc_candidates.
1162 (add_iv_candidate_for_biv): Rename to add_iv_candidate_for_biv.
1163 (add_iv_candidate_for_biv): Rename from add_iv_candidate_for_biv.
1164 (add_old_ivs_candidates): Rename to add_iv_candidate_for_bivs.
1165 (add_iv_candidate_for_bivs): Rename from add_old_ivs_candidates.
1166 Call new function.
1167 (add_iv_value_candidates): Rename to add_iv_candidate_for_use.
1168 (add_iv_candidate_for_use): Rename from add_iv_value_candidates.
1169 Remove parameter struct iv*. Call add_autoinc_candidates here.
1170 (add_derived_ivs_candidates): Rename to add_iv_candidate_for_uses.
1171 (add_iv_candidate_for_uses): Rename from add_derived_ivs_candidates.
1172 Call new function.
1173 (find_iv_candidates): Call new functions.
1174
1175 2015-07-16 Sandra Loosemore <sandra@codesourcery.com>
1176
1177 * config/nios2/nios2.c (nios2_emit_stack_limit_check): Fix
1178 uninitialized-variable warning.
1179
1180 2015-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
1181
1182 PR target/65249
1183 * config/sh/sh.md (movdi): Split simple reg move to two movsi
1184 when the destination is R0.
1185
1186 2015-07-16 Uros Bizjak <ubizjak@gmail.com>
1187
1188 PR target/66866
1189 * config/i386/i386-protos.h (ix86_expand_pextr): New prototype.
1190 * config/i386/i386.c (ix86_expand_pextr): New function.
1191 (ix86_expand_pinsr): Handle V1TI and TI modes. Call ix86_expand_pextr
1192 for non-lowpart subregs.
1193 * config/i386/i386.md (extzv<mode>): Expand with ix86_expand_pextr.
1194 (insv<mode>): Use SWI248 mode iterator.
1195 (insv<mode>_1): Ditto.
1196
1197 2015-07-15 Aditya Kumar <aditya.k7@samsung.com>
1198 Sebastian Pop <s.pop@samsung.com>
1199
1200 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Point
1201 iterator to use_stmt.
1202
1203 2015-07-15 Aditya Kumar <aditya.k7@samsung.com>
1204 Sebastian Pop <s.pop@samsung.com>
1205
1206 * graphite-scop-detection.c (build_scops_1): Discard scops for
1207 which entry==exit.
1208
1209 2015-07-15 Aditya Kumar <aditya.k7@samsung.com>
1210 Sebastian Pop <s.pop@samsung.com>
1211
1212 * graphite-scop-detection.c (stmt_simple_for_scop_p): Bail out in
1213 case of a return statement in scop.
1214
1215 2015-07-15 Aditya Kumar <aditya.k7@samsung.com>
1216 Sebastian Pop <s.pop@samsung.com>
1217
1218 * graphite-sese-to-poly.c (parameter_index_in_region): Only handle
1219 INTEGER_TYPE parameters.
1220 (scan_tree_for_params): Handle REAL_CST, COMPLEX_CST, and
1221 VECTOR_CST in scan_tree_for_params.
1222 (add_conditions_to_domain): Only constrain on INTEGER_TYPE.
1223
1224 2015-07-15 Andrew MacLeod <amacleod@redhat.com>
1225
1226 * gimple-pretty-print.h: Don't include pretty-print.h.
1227 * tree-streamer.h: Don't include lto-streamer.h.
1228 * gimple-streamer.h: Include tree-streamer.h rather than lto-streamer.h.
1229 * gimple-streamer-in.c: Remove redundant includes.
1230 * gimple-streamer-out.c: Likewise.
1231 * ipa-devirt.c: Likewise.
1232 * ipa-icf.c: Likewise.
1233 * ipa-inline-analysis.c: Likewise.
1234 * ipa-polymorphic-call.c: Likewise.
1235 * ipa-profile.c: Likewise.
1236 * ipa-prop.c: Likewise.
1237 * ipa-pure-const.c: Likewise.
1238 * lto-cgraph.c: Likewise.
1239 * lto-streamer-in.c: Likewise.
1240 * lto-streamer-out.c: Likewise.
1241 * lto-streamer.c: Likewise.
1242 * tree-streamer-in.c: Likewise.
1243 * tree-streamer-out.c: Likewise.
1244 * tree-streamer.c: Likewise.
1245
1246 2015-07-15 Andrew MacLeod <amacleod@redhat.com>
1247
1248 * opth-gen.awk: Check for UNKNOWN_LOCATION rather than GCC_TM_H, don't
1249 include input.h.
1250 * opts.c: Remove multiline #include comment.
1251
1252 2015-07-15 Nathan Sidwell <nathan@codesourcery.com>
1253
1254 * config/nvptx/mkoffload.c (process): Add C++ protection to
1255 emitted code.
1256
1257 2015-07-14 Michael Meissner <meissner@linux.vnet.ibm.com>
1258
1259 PR target/66854
1260 * config/rs6000/rs6000.c (rs6000_pass_by_reference): Move test for
1261 null before IEEE 128-bit floating point support patch.
1262
1263 2015-07-15 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1264
1265 * simplify-rtx.c (simplify_ternary_operation): Add simplification
1266 for (!c) != {0,...,0} ? a : b for vector modes.
1267
1268 2015-07-15 Paolo Bonzini <bonzini@gnu.org>
1269 Martin Jambor <mjambor@suse.cz>
1270
1271 * ipa-inline-analysis.c (unmodified_parm_or_parm_agg_item): Accept
1272 struct func_body_info* instead of struct ipa_node_params*, expecting
1273 fbi->info to be filled in. Replace throughout. Adjust call to
1274 ipa_load_from_parm_agg.
1275 (set_cond_stmt_execution_predicate): Accept struct func_body_info*
1276 instead of struct ipa_node_params*. Adjust calls to other functions
1277 so that they pass either fbi or fbi->info.
1278 (set_switch_stmt_execution_predicate): Likewise.
1279 (will_be_nonconstant_predicate): Likewise.
1280 (compute_bb_predicates): Likewise.
1281 (estimate_function_body_sizes): Move asserts earlier. Fill in
1282 struct func_body_info, replace parms_info with fbi.info. Adjust
1283 calls to functions that now accept struct func_body_info.
1284 * ipa-prop.c (param_aa_status, struct ipa_bb_info): Move to ipa-prop.h.
1285 (struct func_body_info): Likewise.
1286 (ipa_load_from_parm_agg_1): Rename to ipa_load_from_parm_agg,
1287 remove static. Adjust callers.
1288 (ipa_load_from_parm_agg): Remove.
1289 * ipa-prop.h (param_aa_status, ipa_bb_info): Move from ipa-prop.c.
1290 (func_body_info): Likewise.
1291 (ipa_load_from_parm_agg): Adjust prototype.
1292
1293 2015-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
1294
1295 * gensupport.c (rtx_handle_directive): Adjust.
1296 * read-rtl.c (apply_iterators): Take vector to add rtxs to
1297 instead of expr list rtx.
1298 (add_define_attr_for_define_subst): Likewise.
1299 (add_define_subst_attr): Likewise.
1300 (read_subst_mapping): Likewise.
1301 (read_rtx): Likewise.
1302 * rtl.h (read_rtx): Adjust.
1303
1304 2015-07-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1305
1306 * config/aarch64/aarch64.md (*csinc2<mode>_insn): Use cinc mnemonic.
1307
1308 2015-07-15 Uros Bizjak <ubizjak@gmail.com>
1309
1310 PR target/58066
1311 * config/i386/i386.md (*tls_global_dynamic_64_<mode>): Depend on SP_REG.
1312 (*tls_local_dynamic_base_64_<mode>): Ditto.
1313 (*tls_local_dynamic_base_64_largepic): Ditto.
1314 (tls_global_dynamic_64_<mode>): Update expander pattern.
1315 (tls_local_dynamic_base_64_<mode>): Ditto.
1316
1317 2015-07-15 Richard Biener <rguenther@suse.de>
1318
1319 * fold-const.c (fold_binary_loc): Move bool_var != 0 -> bool_var
1320 and bool_var == 1 -> bool_var simplifications ...
1321 * match.pd: ... to patterns here. Factor out negate_expr_p
1322 cases from the A - B -> A + (-B) patterns as negate_expr_p
1323 predicate and add a -(A + B) -> (-B) - A pattern.
1324
1325 2015-07-15 Robert Suchanek <robert.suchanek@imgtec.com>
1326
1327 * config/mips/mips.c (mips_emit_save_slot_move): Fix typo.
1328
1329 2015-07-15 Matthew Fortune <matthew.fortune@imgtec.com>
1330 Robert Suchanek <robert.suchanek@imgtec.com>
1331
1332 * config/mips/mips.c (mips_int_mask): New enum.
1333 (mips_shadow_set): Likewise.
1334 (int_mask): New variable.
1335 (use_shadow_register_set_p): Change type to enum mips_shadow_set.
1336 (machine_function): Add int_mask and use_shadow_register_set.
1337 (mips_attribute_table): Add attribute handlers for interrupt and
1338 use_shadow_register_set.
1339 (mips_interrupt_mask): New static function.
1340 (mips_handle_interrupt_attr): Likewise.
1341 (mips_handle_use_shadow_register_set_attr): Likewise.
1342 (mips_use_shadow_register_set): Change return type to enum
1343 mips_shadow_set. Add argument handling for use_shadow_register_set
1344 attribute.
1345 (mips_interrupt_extra_called_saved_reg_p): Update the conditional to
1346 compare with mips_shadow_set enum.
1347 (mips_compute_frame_info): Add interrupt mask and
1348 use_shadow_register_set to per-function information structure.
1349 Add a stack slot for EPC unconditionally.
1350 (mips_expand_prologue): Compare use_shadow_register_set value
1351 with mips_shadow_set enum. Save EPC always in K1, clobber only K1 for
1352 masked interrupt register but in EIC mode use K0 and save Cause in K0.
1353 EPC saved and restored unconditionally. Use PMODE_INSN macro when
1354 copying the stack pointer from the shadow register set.
1355 * config/mips/mips.h (SR_IM0): New define.
1356 * config/mips/mips.md (mips_rdpgpr): Rename to...
1357 (mips_rdpgpr_<mode>): ...this. Use the Pmode iterator.
1358 * doc/extend.texi (Declaring Attributes of Functions): Document
1359 optional arguments for interrupt and use_shadow_register_set
1360 attributes.
1361
1362 2015-07-15 Robert Suchanek <robert.suchanek@imgtec.com>
1363
1364 * config/mips/mips.c (mips_compute_frame_info): Allow -mhard-float in
1365 interrupt attribute.
1366 (mips_expand_prologue): Disable the floating point unit in an ISR.
1367 * config/mips/mips.h (SR_COP1): New define.
1368
1369 2015-07-15 Richard Biener <rguenther@suse.de>
1370
1371 * genmatch.c (parser::peek, parser::peek_ident): Add argument
1372 to tell how many tokens to peek ahead (default 1).
1373 (parser::eat_token, parser::eat_ident): Return token consumed.
1374 (parser::parse_result): Parse new switch statement.
1375 * match.pd: Use case statements where appropriate.
1376
1377 2015-07-15 Uros Bizjak <ubizjak@gmail.com>
1378
1379 PR rtl-optimization/58066
1380 * calls.c (expand_call): Precompute register parameters before stack
1381 alignment is performed.
1382
1383 2015-07-15 Uros Bizjak <ubizjak@gmail.com>
1384
1385 PR rtl-optimization/66838
1386 * postreload.c (reload_cse_move2add): Also process
1387 CALL_INSN_FUNCTION_USAGE when resetting information of
1388 call-clobbered registers.
1389
1390 2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
1391 Cesar Philippidis <cesar@codesourcery.com>
1392 Chung-Lin Tang <cltang@codesourcery.com>
1393
1394 * config/nios2/constraints.md (U, v): New constraints.
1395 * config/nios2/predicates.md (rdprs_dcache_operand): New.
1396 (ldstex_memory_operand): New.
1397 * config/nios2/sync.md: New file.
1398 * config/nios2/nios2.md (unspecv): Add new builtin function
1399 UNSPECV codes.
1400 (rdprs, flushd, flushda, wrpie, eni): New patterns.
1401 (top-level): Include sync.md.
1402 * config/nios2/nios2.c (N2_FTYPES): Add function types for
1403 new builtins.
1404 (N2_BUILTINS): Add arch field setting, add new builtins.
1405 (enum nios2_builtin_code,nios2_builtins): Update N2_BUILTIN_DEF
1406 for arch field.
1407 (nios2_expand_ldst_builtin): Rename from nios2_expand_ldstio_builtin.
1408 Also handle ldex/stex/ldsex/stsex builtins.
1409 (nios2_expand_rdprs_builtin): New function.
1410 (nios2_expand_cache_builtin): New function.
1411 (nios2_expand_wrpie_builtin): New function.
1412 (nios2_expand_eni_builtin): New function.
1413 (nios2_expand_builtin): Add arch field handling and new builtin
1414 cases.
1415 * doc/extend.texi (Altera Nios II Built-in Functions): Document
1416 new builtins.
1417 * doc/md.texi (Machine Constraints): Document U and v constraints.
1418
1419 2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
1420 Cesar Philippidis <cesar@codesourcery.com>
1421 Chung-Lin Tang <cltang@codesourcery.com>
1422
1423 * config/nios2/nios2-protos.h (nios2_expand_return): Declare.
1424 * config/nios2/nios2.c (struct GTY (()) machine_function): Add
1425 callee_save_reg_size and uses_anonymous_args fields.
1426 (nios2_compute_frame_layout): Update for CDX push.n/pop.n usage.
1427 (nios2_create_cfa_notes): New function.
1428 (nios2_adjust_stack): New function for adjusting stack.
1429 (nios2_expand_prologue): Update for CDX push.n/pop.n usage.
1430 Use nios2_adjust_stack.
1431 (nios2_expand_epilogue): Likewise.
1432 (nios2_expand_return): New function.
1433 (nios2_can_use_return_insn): Update for CDX pop.n usage.
1434 (nios2_setup_incoming_varargs): Set uses_anonymous_args flag.
1435 If TARGET_HAS_CDX, defer pushing regs to nios2_expand_prologue.
1436 * config/nios2/nios2.md (return): Use nios2_expand_return.
1437
1438 2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
1439 Cesar Philippidis <cesar@codesourcery.com>
1440 Chung-Lin Tang <cltang@codesourcery.com>
1441
1442 * config/nios2/predicates.md (pop_operation): New.
1443 (ldwm_operation, stwm_operation): New.
1444 (nios2_hard_register_operand): New.
1445 * config/nios2/nios2-protos.h (pop_operation_p): Declare.
1446 (ldstwm_operation_p): Declare.
1447 (gen_ldstwm_peep): Declare.
1448 * config/nios2/nios2.c: (nios2_ldst_parallel): Declare.
1449 (base_reg_adjustment_p): New.
1450 (pop_operation_p): New.
1451 (CDX_LDSTWM_VALID_REGS_0, CDX_LDSTWM_VALID_REGS_1): Define.
1452 (nios2_ldstwm_regset_p): New.
1453 (ldstwm_operation_p): New.
1454 (gen_ldst): New.
1455 (nios2_ldst_parallel): New.
1456 (struct ldswm_operand): Declare.
1457 (compare_ldstwm_operands): New.
1458 (can_use_cdx_ldstw): New.
1459 (gen_ldstwm_peep): New.
1460 * config/nios2/nios2-ldstwm.sml: New.
1461 * config/nios2/nios2.md: Include ldstwm.md.
1462 * config/nios2/ldstwm.md: Generated.
1463
1464 2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
1465 Cesar Philippidis <cesar@codesourcery.com>
1466 Chung-Lin Tang <cltang@codesourcery.com>
1467
1468 * config/nios2/nios2.h (LABEL_ALIGN): Define.
1469 (REG_ALLOC_ORDER): Define.
1470 (ADJUST_REG_ALLOC_ORDER): Define.
1471 (HONOR_REG_ALLOC_ORDER): Define.
1472 (CDX_REG_P): Define.
1473 (ANDCLEAR_INT): Define.
1474 * config/nios2/nios2-protos.h (nios2_add_insn_asm): Declare.
1475 (nios2_label_align): Declare.
1476 (nios2_cdx_narrow_form_p): Declare.
1477 (nios2_adjust_reg_alloc_order): Declare.
1478 * config/nios2/nios2.c (nios2_rtx_costs): Adjust for BMX zero-extract
1479 operation.
1480 (nios2_large_unspec_reloc_p): New function, split from...
1481 (nios2_legitimate_pic_operand_p): ...here.
1482 (nios2_emit_move_sequence): Add *high/*lo_sum constant expand code.
1483 (nios2_print_operand_punct_valid_p): New.
1484 (nios2_print_operand): Add %., %!, %x, %y, %A. Remove %U.
1485 (split_mem_address): New.
1486 (split_alu_insn): New.
1487 (cdxreg): New.
1488 (cdx_add_immed, cdx_and_immed, cdx_mov_immed, cdx_shift_immed): New.
1489 (enum nios2_add_insn_kind): New.
1490 (nios2_add_insn_names, nios2_add_insn_narrow): New.
1491 (nios2_add_insn_classify): New.
1492 (nios2_add_insn_asm): New.
1493 (nios2_cdx_narrow_form_p): New.
1494 (label_align, min_labelno, max_labelno): New.
1495 (nios2_reorg): New.
1496 (nios2_label_align): New.
1497 (nios2_adjust_reg_alloc_order): New.
1498 (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
1499 (TARGET_MACHINE_DEPENDENT_REORG): Define.
1500 * config/nios2/constraints.md (P): New constraint.
1501 * config/nios2/predicates.md (const_and_operand): New.
1502 (and_operand): New.
1503 (stack_memory_operand): New.
1504 * config/nios2/nios2.md (SP_REGNO): Define stack pointer regno.
1505 (length): Update to use nios2_cdx_narrow_form_p().
1506 (type): Add new insn type values.
1507 (control, alu, st, ld, shift): Update insn reservations with
1508 new insn type values.
1509 (*high, *lo_sum): Define new insn patterns for constant generation.
1510 (movqi_internal, movhi_internal, movsi_internal): Reduce
1511 alternatives, update asm template to handle CDX variants, update
1512 type attributes.
1513 (zero_extendhisi2, zero_extendqi<mode>2): Add CDX variants to asm
1514 template, update type attributes.
1515 (extendhisi2, extendqi<mode>2): Likewise.
1516 (addsi3): Change to use function for asm string.
1517 (subsi3): Add CDX notation to asm template, update type attributes.
1518 (negsi3, one_cmplsi3): Likewise.
1519 (andsi3): New pattern, specialized from logical patterns.
1520 (<code>si3): Remove and case, combine alternatives, update asm
1521 template.
1522 (<shift_op>si3): Add CDX notation, update type attributes.
1523 (rotrsi3): Update type attribute.
1524 (*merge, extzv, insv): New insn patterns.
1525 (return): Change to define_expand.
1526 (simple_return): Add CDX notation, update type attributes.
1527 (indirect_jump): Add CDX notation.
1528 (jump): Update asm cases, update length attribute expression.
1529 (*call, *call_value, *sibcall, *sibcall_value): Add CDX variant.
1530 (nios2_cbranch): Update asm cases and length attribute expression
1531 to handle CDX variants.
1532 (nios2_cmp<code>): Update asm template.
1533 (nop): Add CDX notation, update type attributes.
1534 (trap): Add CDX notation.
1535 (ctrapsi4): Update asm cases and length attribute expression to
1536 handle CDX variant.
1537 * doc/md.texi (Machine Constraints): Document P constraint.
1538
1539 2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
1540 Cesar Philippidis <cesar@codesourcery.com>
1541 Chung-Lin Tang <cltang@codesourcery.com>
1542
1543 * config/nios2/nios2.h (SMALL_INT12): New macro.
1544 * config/nios2/nios2.c (nios2_valid_addr_offset_p): New function.
1545 (nios2_valid_addr_expr_p): Use it.
1546 (nios2_symbol_ref_in_small_data_p): Disallow GP-relative addressing
1547 with implicit "io" instructions on R2.
1548 * config/nios2/constraints.md (w): New constraint.
1549 * config/nios2/predicates.md (ldstio_memory_operand): New.
1550 * config/nios2/nios2.md (ld<bhw_uns>io, ld<bh>io): Update memory
1551 operand predicate and constraint.
1552 (ld<bh>io_signed, st<bhw>io>): Likewise.
1553 * doc/md.texi (Machine Constraints): Document w constraint.
1554
1555 2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
1556 Cesar Philippidis <cesar@codesourcery.com>
1557 Chung-Lin Tang <cltang@codesourcery.com>
1558
1559 * config/nios2/nios2.opt (march, mbmx, mcdx): New options.
1560 * config/nios2/nios2-opts.h (enum nios2_arch_type): New enum for
1561 Nios II architecture level.
1562 * config/nios2/nios2.h (TARGET_ARCH_R2): New define.
1563 (TARGET_CPU_CPP_BUILTINS): Add definition of __nios2_arch__ symbol.
1564 (OPTION_DEFAULT_SPECS): Define.
1565 (ASM_SPEC): Add -march= spec strings.
1566 * config/nios2/nios2.c (nios2_option_override): Check for
1567 conflicts involving new options.
1568 * config.gcc (nios2*-*-*): Support --with-arch=.
1569 * doc/invoke.texi (Option Summary, Nios II Options): Document
1570 -march=, -mbmx, and -mcdx.
1571
1572 2015-07-14 Vladimir Makarov <vmakarov@redhat.com>
1573
1574 PR rtl-optimization/66626
1575 * lra-constraints.c (lra_constraints): Prevent equivalence
1576 substitution for static chain pseudo in functions with nonlocal
1577 goto.
1578
1579 2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
1580
1581 * config/nios2/nios2.c (TEMP_REG_NUM): Move define up in file.
1582 (nios2_emit_stack_limit_check): Add size parameter. Handle
1583 -fstack-limit-symbol as well as -fstack-limit-register.
1584 (nios2_expand_prologue): Emit only a single stack limit check,
1585 even if multiple stack adjustments are required.
1586 (nios2_option_override): Diagnose unsupported combination of -fpic
1587 and -stack-limit-symbol.
1588
1589 2015-07-14 H.J. Lu <hongjiu.lu@intel.com>
1590
1591 * Makefile.in (top_srcdir): New.
1592 * configure.ac: Use AM_ZLIB.
1593 * configure: Regeneated.
1594
1595 2015-07-14 Matthias Klose <doko@ubuntu.com>
1596
1597 PR target/66840
1598 * config/rs6000/t-rs6000 (TM_H): Add rs6000-cpus.def.
1599
1600 2015-07-14 Richard Biener <rguenther@suse.de>
1601
1602 PR tree-optimization/66863
1603 * tree-vrp.c (register_edge_assert_for_2): Properly restrict
1604 what we record for conversion use stmt lhs inequalities.
1605
1606 2015-07-14 Richard Biener <rguenther@suse.de>
1607
1608 * genmatch.c (dt_node::gen_kids_1): Fix case label indenting.
1609 (decision_tree::gen_gimple): Likewise.
1610
1611 2015-07-14 Tom de Vries <tom@codesourcery.com>
1612
1613 * gcc.c (greater_than_spec_func): Declare forward.
1614 (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): Use gt to ignore
1615 -ftree-parallelize-loops={0,1}.
1616 (static_spec_functions): Add greater_than_spec_func function with name
1617 "gt".
1618 (greater_than_spec_func): New function.
1619
1620 2015-07-14 Richard Biener <rguenther@suse.de>
1621
1622 * tree-ssa-dom.c (record_temporary_equivalences): Merge
1623 wideing type conversion case from record_equivalences_from_incoming_edge
1624 and use record_equality to record equivalences.
1625 (record_equivalences_from_incoming_edge): Call
1626 record_temporary_equivalences.
1627
1628 2015-07-14 Richard Biener <rguenther@suse.de>
1629
1630 * genmatch.c (struct operand): Add OP_IF and OP_WITH op_types.
1631 (struct if_expr): New.
1632 (struct with_expr): Likewise.
1633 (is_a_helper): Add helpers for if_expr and with_expr.
1634 (struct simplify): Add simplify_kind enum and member. Remove
1635 ifexpr_vec member.
1636 (simplify::simplify): Adjust.
1637 (lower_commutative): Adjust.
1638 (lower_opt_convert): Likewise.
1639 (lower_cond): Likewise.
1640 (replace_id): Handle with_expr and if_expr.
1641 (lower_for): Adjust.
1642 (dt_simplify::gen_1): New recursive worker, split out from ...
1643 (dt_simplify::gen): ... here. Deal with if and with expansion
1644 recursively.
1645 (capture_info::capture_info): Take context argument
1646 (capture_info::walk_result): Only analyze specific result.
1647 (parser::parse_result): New function.
1648 (parser::parse_simplify): Adjust to parse ifs with then end
1649 else case.
1650 (parser::parse_if): Simplify.
1651 (parser::parse_pattern): Pass down simplify kind.
1652 * match.pd: Convert if structure to new syntax.
1653
1654 2015-07-13 Marek Polacek <polacek@redhat.com>
1655
1656 * rtl.c (rtx_equal_p_cb): Fix typo.
1657
1658 2015-07-13 Andrew MacLeod <amacleod@redhat.com>
1659
1660 * omega.h: Don't include config.h, don't include params.h again if
1661 omega.h has already been included.
1662 * graphite-poly.h: Include sese.h.
1663 * graphite.c: Don't include sese.h, remove needless includes and
1664 minimize includes outside #ifdef HAVE_isl block.
1665 * graphite-blocking.c: Don't include sese.h, remove needless includes,
1666 and wrap entire file in #ifdef HAVE_isl
1667 * graphite-dependences.c: Likewise.
1668 * graphite-interchange.c: Likewise.
1669 * graphite-isl-ast-to-gimple.c: Likewise.
1670 * graphite-optimize-isl.c: Likewise.
1671 * graphite-poly.c: Likewise.
1672 * graphite-scop-detection.c: Likewise.
1673 * graphite-sese-to-poly.c: Likewise.
1674
1675 2015-07-13 Tom de Vries <tom@codesourcery.com>
1676
1677 * omp-low.c (build_receiver_ref): Mark *.omp_data_i as non-trapping.
1678
1679 2015-07-13 Renlin Li <renlin.li@arm.com>
1680
1681 PR rtl/66556
1682 * simplify-rtx.c (simplify_const_relational_operation): Add
1683 side_effects_p checks.
1684
1685 2015-07-12 Aldy Hernandez <aldyh@redhat.com>
1686
1687 * bitmap.h: Fix double word typos.
1688 * builtins.c: Same.
1689 * calls.c: Same.
1690 * cfgloopmanip.c: Same.
1691 * cgraph.c: Same.
1692 * cgraph.h: Same.
1693 * cgraphclones.c: Same.
1694 * combine.c: Same.
1695 * config/aarch64/aarch64-protos.h: Same.
1696 * config/aarch64/aarch64.c: Same.
1697 * config/aarch64/aarch64.md: Same.
1698 * config/arm/arm.md: Same.
1699 * config/arm/arm1020e.md: Same.
1700 * config/arm/arm1026ejs.md: Same.
1701 * config/arm/arm926ejs.md: Same.
1702 * config/arm/fa526.md: Same.
1703 * config/arm/fa606te.md: Same.
1704 * config/arm/fa626te.md: Same.
1705 * config/arm/fa726te.md: Same.
1706 * config/arm/fmp626.md: Same.
1707 * config/darwin.c: Same.
1708 * config/epiphany/epiphany.c: Same.
1709 * config/frv/frv.c: Same.
1710 * config/ft32/ft32.c: Same.
1711 * config/gnu-user.h: Same.
1712 * config/h8300/constraints.md: Same.
1713 * config/i386/i386.c: Same.
1714 * config/i386/i386.md: Same.
1715 * config/iq2000/iq2000.md: Same.
1716 * config/mips/mips.c: Same.
1717 * config/mmix/mmix.md: Same.
1718 * config/moxie/moxie.c: Same.
1719 * config/nds32/nds32.md: Same.
1720 * config/pa/pa.h: Same.
1721 * config/rs6000/aix.h: Same.
1722 * config/rs6000/rs6000.h: Same.
1723 * config/sh/sh.c: Same.
1724 * config/tilegx/tilegx.md: Same.
1725 * config/tilepro/gen-mul-tables.cc: Same.
1726 * cse.c: Same.
1727 * dbxout.c: Same.
1728 * doc/invoke.texi: Same.
1729 * dse.c: Same.
1730 * dwarf2out.c: Same.
1731 * final.c: Same.
1732 * gcc.c: Same.
1733 * genmatch.c: Same.
1734 * gimplify.c: Same.
1735 * hash-table.h: Same.
1736 * internal-fn.c: Same.
1737 * ipa-cp.c: Same.
1738 * ipa-devirt.c: Same.
1739 * ipa-icf.c: Same.
1740 * ipa-icf.h: Same.
1741 * ipa-profile.c: Same.
1742 * ipa-prop.c: Same.
1743 * ipa-prop.h: Same.
1744 * ira.c: Same.
1745 * omp-low.c: Same.
1746 * reg-stack.c: Same.
1747 * regcprop.c: Same.
1748 * reorg.c: Same.
1749 * rtl.h: Same.
1750 * sbitmap.h: Same.
1751 * tree-eh.c: Same.
1752 * tree-inline.c: Same.
1753 * tree-sra.c: Same.
1754 * tree-ssa-dom.c: Same.
1755 * tree-ssa-loop-ivopts.c: Same.
1756 * tree-ssa-structalias.c: Same.
1757 * tree-ssa-tail-merge.c: Same.
1758 * tree-ssa-ter.c: Same.
1759 * tree-ssa-threadupdate.c: Same.
1760 * tree-ssa-uninit.c: Same.
1761 * tree-ssanames.c: Same.
1762 * tree-vect-loop-manip.c: Same.
1763 * tree-vrp.c: Same.
1764 * tree.c: Same.
1765 * valtrack.c: Same.
1766 * vec.h: Same.
1767
1768 2015-07-12 Kugan Vivekanandarajah <kuganv@linaro.org>
1769
1770 PR middle-end/66726
1771 * tree-ssa-phiopt.c(factor_out_conditional_conversion): New function.
1772 tree_ssa_phiopt_worker): Call it.
1773
1774 2015-07-12 Kugan Vivekanandarajah <kuganv@linaro.org>
1775
1776 * cse.c (cse_insn): Calculate src_eqv for ZERO_EXTRACT.
1777 * emit-rtl.c (set_for_reg_notes): Allow ZERO_EXTRACT to set
1778 REG_EQUAL note.
1779
1780 2015-07-11 Marek Polacek <polacek@redhat.com>
1781
1782 PR middle-end/66353
1783 * basic-block.h (has_abnormal_call_or_eh_pred_edge_p): New function.
1784 * ira-lives.c (bb_has_abnormal_call_pred): Remove function.
1785 (process_bb_node_lives): Call has_abnormal_call_or_eh_pred_edge_p
1786 rather than bb_has_abnormal_call_pred.
1787 * lra-lives.c (bb_has_abnormal_call_pred): Remove function.
1788 (process_bb_lives): Call has_abnormal_call_or_eh_pred_edge_p
1789 rather than bb_has_abnormal_call_pred.
1790
1791 2015-07-10 Anatoly Sokolov <aesok@post.ru>
1792
1793 * config/v850/v850.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
1794 REG_OK_FOR_BASE_P_STRICT, REG_OK_FOR_INDEX_P_STRICT, STRICT,
1795 RTX_OK_FOR_BASE_P, GO_IF_LEGITIMATE_ADDRESS): Remove macros.
1796 * config/v850/v850.c (v850_reg_ok_for_base_, v850_rtx_ok_for_base_p,
1797 v850_legitimate_address_p): New functions.
1798 (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define.
1799
1800 2015-07-10 H.J. Lu <hongjiu.lu@intel.com>
1801
1802 PR target/66819
1803 * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
1804 indirect sibcall with register arguments if register available
1805 for argument passing.
1806 (init_cumulative_args): Set cfun->machine->arg_reg_available
1807 to (cum->nregs > 0) or to true if function has a variable
1808 argument list.
1809 (function_arg_advance_32): Set cfun->machine->arg_reg_available
1810 to false if cum->nregs <= 0.
1811 * config/i386/i386.h (machine_function): Add arg_reg_available.
1812
1813 2015-07-10 Uros Bizjak <ubizjak@gmail.com>
1814
1815 * config/i386/sse.md (movdi_to_sse): Use gen_lowpart
1816 and gen_higpart instead of gen_rtx_SUBREG.
1817 * config/i386/i386.md
1818 (floatdi<X87MODEF:mode>2_i387_with_xmm splitter): Ditto.
1819 (read-modify peephole2): Use gen_lowpart instead of
1820 gen_rtx_SUBREG for operand 5.
1821
1822 2015-07-10 Andrew MacLeod <amacleod@redhat.com>
1823
1824 * config/tilepro/gen-mul-tables.cc (main): Change include list for
1825 generated files.
1826 * config/tilepro/mul-tables.c: Regenerate.
1827 * config/tilegx/mul-tables.c: Regenerate.
1828
1829 2015-07-10 Richard Biener <rguenther@suse.de>
1830
1831 * fold-const.c (distribute_bit_expr): Remove.
1832 (fold_binary_loc): Move simplifying (A & C1) + (B & C2)
1833 to (A & C1) | (B & C2), distributing (A & B) | (A & C)
1834 to A & (B | C) and simplifying A << C1 << C2 to ...
1835 * match.pd: ... patterns here.
1836
1837 2015-07-10 Jiong Wang <jiong.wang@arm.com>
1838
1839 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
1840 Mark mem as READONLY and NOTRAP for PIC symbol.
1841
1842 2015-07-10 Andrew MacLeod <amacleod@redhat.com>
1843
1844 * gimple-predict.h: New file.
1845 (gimple_predict_predictor, gimple_predict_set_predictor,
1846 gimple_predict_outcome, gimple_predict_set_outcome,
1847 gimple_build_predict): Relocate here.
1848 * gimple.h (gimple_predict_predictor, gimple_predict_set_predictor,
1849 gimple_predict_outcome, gimple_predict_set_outcome): Move to
1850 gimple-predict.h.
1851 * gimple.c (gimple_build_predict): Move to gimple-predict.h
1852 * basic-block.h: Don't include cfghooks.h.
1853 * backend.h: Don't include predict.h.
1854 * cfghooks.h: Include predict.h.
1855 * gimple-pretty-print.c: Include gimple-predict.h.
1856 * gimplify.c: Likwise.
1857 * predict.c: Adjust includes.
1858 * tree-inline.c: Likewise.
1859 * asan.c: Likewise.
1860 * auto-inc-dec.c: Likewise.
1861 * auto-profile.c: Likewise.
1862 * bb-reorder.c: Likewise.
1863 * builtins.c: Likewise.
1864 * caller-save.c: Likewise.
1865 * calls.c: Likewise.
1866 * cfganal.c: Likewise.
1867 * cfgbuild.c: Likewise.
1868 * cfg.c: Likewise.
1869 * cfgcleanup.c: Likewise.
1870 * cfgexpand.c: Likewise.
1871 * cfghooks.c: Likewise.
1872 * cfgloopanal.c: Likewise.
1873 * cfgloop.c: Likewise.
1874 * cfgloopmanip.c: Likewise.
1875 * cfgrtl.c: Likewise.
1876 * cgraph.c: Likewise.
1877 * cgraphunit.c: Likewise.
1878 * combine.c: Likewise.
1879 * cprop.c: Likewise.
1880 * cse.c: Likewise.
1881 * dce.c: Likewise.
1882 * dojump.c: Likewise.
1883 * dse.c: Likewise.
1884 * except.c: Likewise.
1885 * expmed.c: Likewise.
1886 * expr.c: Likewise.
1887 * final.c: Likewise.
1888 * fold-const.c: Likewise.
1889 * function.c: Likewise.
1890 * fwprop.c: Likewise.
1891 * gcc-plugin.h: Likewise.
1892 * gcse.c: Likewise.
1893 * genattrtab.c: Likewise.
1894 * genemit.c: Likewise.
1895 * gengtype.c: Likewise.
1896 * genopinit.c: Likewise.
1897 * genoutput.c: Likewise.
1898 * genpreds.c: Likewise.
1899 * genrecog.c: Likewise.
1900 * gimple-fold.c: Likewise.
1901 * gimple-iterator.c: Likewise.
1902 * gimple-ssa-isolate-paths.c: Likewise.
1903 * gimple-ssa-strength-reduction.c: Likewise.
1904 * graph.c: Likewise.
1905 * graphite-blocking.c: Likewise.
1906 * graphite.c: Likewise.
1907 * graphite-dependences.c: Likewise.
1908 * graphite-interchange.c: Likewise.
1909 * graphite-isl-ast-to-gimple.c: Likewise.
1910 * graphite-optimize-isl.c: Likewise.
1911 * graphite-poly.c: Likewise.
1912 * graphite-scop-detection.c: Likewise.
1913 * graphite-sese-to-poly.c: Likewise.
1914 * haifa-sched.c: Likewise.
1915 * ifcvt.c: Likewise.
1916 * internal-fn.c: Likewise.
1917 * ipa-cp.c: Likewise.
1918 * ipa-profile.c: Likewise.
1919 * ipa-split.c: Likewise.
1920 * ipa-utils.c: Likewise.
1921 * ira-build.c: Likewise.
1922 * ira-color.c: Likewise.
1923 * ira-conflicts.c: Likewise.
1924 * ira-costs.c: Likewise.
1925 * ira-emit.c: Likewise.
1926 * ira-lives.c: Likewise.
1927 * jump.c: Likewise.
1928 * loop-doloop.c: Likewise.
1929 * loop-init.c: Likewise.
1930 * loop-invariant.c: Likewise.
1931 * loop-unroll.c: Likewise.
1932 * lower-subreg.c: Likewise.
1933 * lra-assigns.c: Likewise.
1934 * lra.c: Likewise.
1935 * lra-coalesce.c: Likewise.
1936 * lra-constraints.c: Likewise.
1937 * lra-lives.c: Likewise.
1938 * lto-cgraph.c: Likewise.
1939 * lto-streamer-in.c: Likewise.
1940 * mode-switching.c: Likewise.
1941 * modulo-sched.c: Likewise.
1942 * omp-low.c: Likewise.
1943 * optabs.c: Likewise.
1944 * passes.c: Likewise.
1945 * postreload.c: Likewise.
1946 * postreload-gcse.c: Likewise.
1947 * profile.c: Likewise.
1948 * recog.c: Likewise.
1949 * regstat.c: Likewise.
1950 * reload1.c: Likewise.
1951 * reorg.c: Likewise.
1952 * rtlanal.c: Likewise.
1953 * sched-ebb.c: Likewise.
1954 * sel-sched-ir.c: Likewise.
1955 * sese.c: Likewise.
1956 * shrink-wrap.c: Likewise.
1957 * simplify-rtx.c: Likewise.
1958 * stmt.c: Likewise.
1959 * store-motion.c: Likewise.
1960 * tracer.c: Likewise.
1961 * trans-mem.c: Likewise.
1962 * tree-call-cdce.c: Likewise.
1963 * tree-cfg.c: Likewise.
1964 * tree-cfgcleanup.c: Likewise.
1965 * tree-chkp.c: Likewise.
1966 * tree-complex.c: Likewise.
1967 * tree-eh.c: Likewise.
1968 * tree-if-conv.c: Likewise.
1969 * tree-loop-distribution.c: Likewise.
1970 * tree-outof-ssa.c: Likewise.
1971 * tree-parloops.c: Likewise.
1972 * tree-predcom.c: Likewise.
1973 * tree-pretty-print.c: Likewise.
1974 * tree-profile.c: Likewise.
1975 * tree-sra.c: Likewise.
1976 * tree-ssa.c: Likewise.
1977 * tree-ssa-coalesce.c: Likewise.
1978 * tree-ssa-dce.c: Likewise.
1979 * tree-ssa-dom.c: Likewise.
1980 * tree-ssa-forwprop.c: Likewise.
1981 * tree-ssa-ifcombine.c: Likewise.
1982 * tree-ssa-loop-ch.c: Likewise.
1983 * tree-ssa-loop-im.c: Likewise.
1984 * tree-ssa-loop-ivcanon.c: Likewise.
1985 * tree-ssa-loop-ivopts.c: Likewise.
1986 * tree-ssa-loop-manip.c: Likewise.
1987 * tree-ssa-loop-prefetch.c: Likewise.
1988 * tree-ssa-loop-unswitch.c: Likewise.
1989 * tree-ssa-math-opts.c: Likewise.
1990 * tree-ssa-phiopt.c: Likewise.
1991 * tree-ssa-pre.c: Likewise.
1992 * tree-ssa-reassoc.c: Likewise.
1993 * tree-ssa-sink.c: Likewise.
1994 * tree-ssa-tail-merge.c: Likewise.
1995 * tree-ssa-threadedge.c: Likewise.
1996 * tree-ssa-threadupdate.c: Likewise.
1997 * tree-switch-conversion.c: Likewise.
1998 * tree-tailcall.c: Likewise.
1999 * tree-vect-data-refs.c: Likewise.
2000 * tree-vect-loop.c: Likewise.
2001 * tree-vect-loop-manip.c: Likewise.
2002 * tree-vectorizer.c: Likewise.
2003 * tree-vrp.c: Likewise.
2004 * ubsan.c: Likewise.
2005 * value-prof.c: Likewise.
2006 * varasm.c: Likewise.
2007 * var-tracking.c: Likewise.
2008 * config/aarch64/aarch64-builtins.c: Likewise.
2009 * config/aarch64/aarch64.c: Likewise.
2010 * config/aarch64/cortex-a57-fma-steering.c: Likewise.
2011 * config/alpha/alpha.c: Likewise.
2012 * config/arc/arc.c: Likewise.
2013 * config/arm/arm.c: Likewise.
2014 * config/avr/avr.c: Likewise.
2015 * config/bfin/bfin.c: Likewise.
2016 * config/c6x/c6x.c: Likewise.
2017 * config/cr16/cr16.c: Likewise.
2018 * config/cris/cris.c: Likewise.
2019 * config/darwin.c: Likewise.
2020 * config/darwin-c.c: Likewise.
2021 * config/epiphany/epiphany.c: Likewise.
2022 * config/epiphany/mode-switch-use.c: Likewise.
2023 * config/epiphany/resolve-sw-modes.c: Likewise.
2024 * config/fr30/fr30.c: Likewise.
2025 * config/frv/frv.c: Likewise.
2026 * config/ft32/ft32.c: Likewise.
2027 * config/h8300/h8300.c: Likewise.
2028 * config/i386/i386.c: Likewise.
2029 * config/i386/winnt.c: Likewise.
2030 * config/ia64/ia64.c: Likewise.
2031 * config/iq2000/iq2000.c: Likewise.
2032 * config/lm32/lm32.c: Likewise.
2033 * config/m32c/m32c.c: Likewise.
2034 * config/m32r/m32r.c: Likewise.
2035 * config/m68k/m68k.c: Likewise.
2036 * config/mcore/mcore.c: Likewise.
2037 * config/mep/mep.c: Likewise.
2038 * config/microblaze/microblaze.c: Likewise.
2039 * config/mips/mips.c: Likewise.
2040 * config/mmix/mmix.c: Likewise.
2041 * config/mn10300/mn10300.c: Likewise.
2042 * config/moxie/moxie.c: Likewise.
2043 * config/msp430/msp430.c: Likewise.
2044 * config/nds32/nds32.c: Likewise.
2045 * config/nds32/nds32-cost.c: Likewise.
2046 * config/nds32/nds32-fp-as-gp.c: Likewise.
2047 * config/nds32/nds32-intrinsic.c: Likewise.
2048 * config/nds32/nds32-isr.c: Likewise.
2049 * config/nds32/nds32-md-auxiliary.c: Likewise.
2050 * config/nds32/nds32-memory-manipulation.c: Likewise.
2051 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
2052 * config/nds32/nds32-predicates.c: Likewise.
2053 * config/nios2/nios2.c: Likewise.
2054 * config/nvptx/nvptx.c: Likewise.
2055 * config/pa/pa.c: Likewise.
2056 * config/pdp11/pdp11.c: Likewise.
2057 * config/rl78/rl78.c: Likewise.
2058 * config/rs6000/rs6000.c: Likewise.
2059 * config/rx/rx.c: Likewise.
2060 * config/s390/s390.c: Likewise.
2061 * config/sh/sh.c: Likewise.
2062 * config/sh/sh-mem.cc: Likewise.
2063 * config/sh/sh_optimize_sett_clrt.cc: Likewise.
2064 * config/sh/sh_treg_combine.cc: Likewise.
2065 * config/sparc/sparc.c: Likewise.
2066 * config/spu/spu.c: Likewise.
2067 * config/stormy16/stormy16.c: Likewise.
2068 * config/tilegx/tilegx.c: Likewise.
2069 * config/tilepro/tilepro.c: Likewise.
2070 * config/v850/v850.c: Likewise.
2071 * config/vax/vax.c: Likewise.
2072 * config/visium/visium.c: Likewise.
2073 * config/xtensa/xtensa.c: Likewise.
2074
2075 2015-07-10 Richard Biener <rguenther@suse.de>
2076
2077 * genmatch.c (dt_node::gen_kids_1): Fix indenting of case labels.
2078 (decision_tree::gen_gimple): Likewise.
2079 (decision_tree::gen_generic): Likewise.
2080
2081 2015-07-10 Uros Bizjak <ubizjak@gmail.com>
2082
2083 PR target/66813
2084 * config/i386/i386.c (ix86_md_asm_adjust): Emit movstrictqi
2085 sequence for TARGET_ZERO_EXTEND_WITH_AND targets.
2086
2087 2015-07-10 Jakub Jelinek <jakub@redhat.com>
2088
2089 PR middle-end/66820
2090 * gimplify.c (maybe_fold_stmt): Don't fold in ORT_PARALLEL
2091 or ORT_TASK contexts.
2092 * omp-low.c (lower_omp): Call fold_stmt even if taskreg_nesting_level
2093 is non-zero.
2094
2095 2015-07-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2096
2097 * expr.c (expand_cond_expr_using_cmove): Fix typos in comment
2098 above function.
2099
2100 2015-07-10 Tom de Vries <tom@codesourcery.com>
2101
2102 * tree-parloops.c (try_transform_to_exit_first_loop_alt): If not found,
2103 insert nit + 1 bound.
2104
2105 2015-07-10 Richard Biener <rguenther@suse.de>
2106
2107 * tree-if-conv.c (if_convertible_gimple_assign_stmt_p):
2108 Use ifcvt_could_trap_p also when not flag_tree_loop_if_convert_stores.
2109 (if_convertible_loop_p_1): For this always compute bb predicates.
2110 (if_convertible_loop_p): And free them.
2111
2112 2015-07-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
2113
2114 * ipa-icf.c (sem_item_optimizer::do_congruence_step): Fix typo
2115 in dump message.
2116
2117 2015-07-10 Richard Biener <rguenther@suse.de>
2118
2119 PR tree-optimization/66823
2120 * tree-if-conv.c (memrefs_read_or_written_unconditionally): Fix
2121 inverted predicate.
2122
2123 2015-07-09 Steve Ellcey <sellcey@imgtec.com>
2124
2125 * config/mips/mti-linux.h (MIPS_SYSVERSION_SPEC): Update
2126 to handle mips[32|64]r3 and mips[32|64]r5.
2127
2128 2015-07-09 Jakub Jelinek <jakub@redhat.com>
2129
2130 PR middle-end/66633
2131 * tree-nested.c (get_static_chain): Or in a flag into
2132 info->static_chain_added.
2133 (get_frame_field, get_nonlocal_debug_decl): Likewise.
2134 (convert_nonlocal_omp_clauses, convert_local_omp_clauses): Revert
2135 2015-07-01 changes.
2136 (convert_tramp_reference_stmt): If a frame_decl or chain_decl
2137 is needed newly inside of GIMPLE_OMP_{PARALLEL,TASK,TARGET} body,
2138 add it to clauses.
2139
2140 PR tree-optimization/66718
2141 * tree-vect-stmts.c (struct simd_call_arg_info): Add simd_lane_linear
2142 field.
2143 (vect_simd_lane_linear): New function.
2144 (vectorizable_simd_clone_call): Support using linear arguments for
2145 addresses of arrays elements indexed by GOMP_SIMD_LANE result.
2146
2147 2015-07-09 H.J. Lu <hongjiu.lu@intel.com>
2148
2149 PR target/66821
2150 * config/i386/i386.c (iamcu_cost): Adjust variable shift costs.
2151
2152 2015-07-09 Michael Meissner <meissner@linux.vnet.ibm.com>
2153
2154 * config/rs6000/rs6000-protos.h (rs6000_secondary_reload_memory):
2155 Use machine mode, not enum machine_mode in the prototype.
2156
2157 * config/rs6000/rs6000.h (FLOAT128_IEEE_P): New helper macros to
2158 classify 128-bit floating point support.
2159 (FLOAT128_IBM_P): Likewise.
2160 (FLOAT128_VECTOR_P): Likewise.
2161 (FLOAT128_2REG_P): Likewise.
2162 (SCALAR_FLOAT_MODE_NOT_VECTOR_P): Likewise.
2163 (SLOW_UNALIGNED_ACCESS): Add IEEE 128-bit floating point support.
2164 (HARD_REGNO_CALLER_SAVE_MODE): Likewise.
2165 (HARD_REGNO_CALL_PART_CLOBBERED): Likewise.
2166
2167 * config/rs6000/rs6000.c (rs6000_hard_regno_nregs_internal): Drop
2168 tests against TFmode/TDmode, since those modes do not use VSX
2169 addresses.
2170 (rs6000_hard_regno_mode_ok): Add IEEE 128-bit floating point
2171 support.
2172 (rs6000_init_hard_regno_mode_ok): Use new helper macros instead of
2173 tests against TFmode, etc.
2174 (invalid_e500_subreg): Add tests against IFmode/KFmode.
2175 (reg_offset_addressing_ok_p): Likewise.
2176 (rs6000_legitimate_offset_address_p): Likewise.
2177 (rs6000_legitimize_address): Likewise.
2178 (rs6000_legitimize_reload_address): Likewise.
2179 (rs6000_legitimate_address_p): Clean up tests against TFmode and
2180 TDmode to use the new helper macros, which will include IFmode and
2181 KFmode.
2182 (rs6000_emit_move): Likewise.
2183 (rs6000_darwin64_record_arg_recurse): Likewise.
2184 (print_operand): Likewise.
2185 (rs6000_member_type_forces_blk): Treat IEEE 128-bit floating point
2186 that uses a single vector register as a vector and not as a
2187 floating point register in terms of the calling sequence.
2188 (rs6000_discover_homogeneous_aggregate): Likewise.
2189 (rs6000_return_in_memory): Likewise.
2190 (init_cumulative_args): Likewise.
2191 (rs6000_function_arg_boundary): Likewise.
2192 (rs6000_function_arg_advance_1): Likewise.
2193 (rs6000_function_arg): Likewise.
2194 (rs6000_pass_by_reference): Likewise.
2195 (rs6000_gimplify_va_arg): Likewise.
2196 (rs6000_secondary_reload_memory): Use machine_mode not enum
2197 machine mode.
2198 (rs6000_split_multireg_move): Use new helper macros.
2199 (spe_func_has_64bit_regs_p): Likewise.
2200 (rs6000_output_function_epilogue): Add IFmode/KFmode support.
2201 (output_toc): Use new helper macros.
2202 (rs6000_register_move_cost): Likewise.
2203 (rs6000_function_value): Add IEEE 128-bit floating point calling
2204 sequence support.
2205 (rs6000_libcall_value): Likewise.
2206 (rs6000_scalar_mode_supported_p): Add support for IEEE 128-bit
2207 floating point support.
2208 (rs6000_vector_mode_supported_p): Likewise.
2209
2210 2015-07-09 Vladimir Makarov <vmakarov@redhat.com>
2211
2212 PR rtl-optimization/66782
2213 * lra-int.h (struct lra_insn_recog_data): Add comment about
2214 clobbered hard regs for arg_hard_regs.
2215 * lra.c (lra_set_insn_recog_data): Add clobbered hard regs.
2216 * lra-lives.c (process_bb_lives): Process clobbered hard regs.
2217 Add condition for processing used hard regs.
2218 * lra-constraints.c (update_ebb_live_info, inherit_in_ebb):
2219 Process clobbered hard regs.
2220
2221 2015-07-09 Michael Matz <matz@suse.de>
2222
2223 * genmatch.c (fprintf_indent): New function.
2224 (operand::gen_transform): Add indent parameter.
2225 (expr::gen_transform, c_expr::gen_transform,
2226 capture::gen_transform): Ditto and use fprintf_indent.
2227 (dt_node::gen, dt_node::gen_kids, dt_node::gen_kids_1): Ditto.
2228 (dt_operand::gen, dt_operand::gen_predicate,
2229 dt_operand::gen_match_op, dt_operand::gen_gimple_expr,
2230 dt_operand::gen_generic_expr, dt_simplify::gen): Ditto.
2231 (decision_tree::gen_gimple): Adjust calls and indent generated
2232 code.
2233 (decision_tree::gen_generic): Ditto.
2234 (write_predicate): Ditto.
2235
2236 2015-07-08 Uros Bizjak <ubizjak@gmail.com>
2237
2238 PR target/66814
2239 * config/i386/predicates.md (nonimmediate_gr_operand): New predicate.
2240 * config/i386/i386.md (not peephole2): Use nonimmediate_gr_operand.
2241 (varous peephole2s): Use {GENERAL,SSE,MMX}_REGNO_P instead of
2242 {GENERAL,SSE,MMX}_REG_P where appropriate.
2243
2244 2015-07-09 Andrew MacLeod <amacleod@redhat.com>
2245
2246 * lto-streamer.h: Don't include target.h and alloc-pool.h.
2247 * builtins.c: Adjust includes.
2248 * gimple.c: Likewise.
2249 * ipa-icf.c: Likewise.
2250 * lto-opts.c: Likewise.
2251 * ipa-reference.c: Likewise.
2252 * lto-section-out.c: Likewise.
2253 * lto-streamer-in.c: Likewise.
2254 * lto-streamer-out.c: Likewise.
2255 * opts-global.c: Likewise.
2256 * symtab.c: Likewise.
2257 * tree-chkp.c: Likewise.
2258 * tree-ssa-live.c: Likewise.
2259 * tree-streamer-in.c: Likewise.
2260 * tree-streamer-out.c: Likewise.
2261 * config/darwin.c: Likewise.
2262 * config/i386/winnt.c: Likewise.
2263
2264 2015-07-09 Richard Biener <rguenther@suse.de>
2265
2266 * genmatch.c (struct expr): Add force_single_use flag.
2267 (expr::expr): Add copy constructor.
2268 (capture_info::walk_match): Gather force_single_use captures.
2269 (expr::gen_transform): Use possibly NULLified sequence.
2270 (dt_simplify::gen): Apply single-use restrictions by NULLifying
2271 seq if any constrained expr is not single-use.
2272 (parser::parse_expr): Refactor to allow multiple flags. Handle
2273 's' flag to force an expression have a single-use if the pattern
2274 simplifies to more than one statement.
2275 * match.pd: Convert most single_use conditionals to :s flags.
2276
2277 2015-07-09 H.J. Lu <hongjiu.lu@intel.com>
2278
2279 * config/i386/iamcu.h (ASM_OUTPUT_ALIGNED_BSS): New.
2280 (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
2281 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
2282
2283 2015-07-09 Andrew MacLeod <amacleod@redhat.com>
2284
2285 * flags.h: Don't include flag-types.h or options.h.
2286 * opts-common.c: Adjust includes.
2287 * opts-global.c: Likewise.
2288 * common/config/epiphany/epiphany-common.c: Likewise.
2289
2290 2015-07-09 H.J. Lu <hongjiu.lu@intel.com>
2291
2292 PR target/66818
2293 * config/i386/i386.h (ATTRIBUTE_ALIGNED_VALUE): Defined to 32
2294 for IA MCU.
2295
2296 2015-07-09 H.J. Lu <hongjiu.lu@intel.com>
2297
2298 PR target/66817
2299 * config/i386/i386.c (ix86_return_in_memory): Return true
2300 if int_size_in_bytes returns negative for IA MCU.
2301
2302 2015-07-09 Marek Polacek <polacek@redhat.com>
2303
2304 PR tree-optimization/66718
2305 * Makefile.in (OBJS): Add gimple-laddress.o.
2306 * passes.def: Schedule pass_laddress.
2307 * timevar.def (DEFTIMEVAR): Add TV_GIMPLE_LADDRESS.
2308 * tree-pass.h (make_pass_laddress): Declare.
2309 * gimple-laddress.c: New file.
2310
2311 2015-07-09 Richard Biener <rguenther@suse.de>
2312
2313 * toplev.c (compile_file): Reset maximum_field_alignment after parsing.
2314
2315 2015-07-09 Richard Biener <rguenther@suse.de>
2316
2317 PR tree-optimization/66807
2318 * tree-chkp-opt.c (chkp_opt_fini): Free post dominator info.
2319
2320 2015-07-08 Kito Cheng <kito.cheng@gmail.com>
2321
2322 * function.c (stack_protect_epilogue): Use if rather than switch for
2323 check targetm.have_stack_protect_test.
2324
2325 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2326
2327 * defaults.h: Provide default for WORD_REGISTER_OPERATIONS.
2328 * config/alpha/alpha.h: Define WORD_REGISTER_OPERATIONS to 1.
2329 * config/arc/arc.h: Likewise.
2330 * config/arm/arm.h: Likewise.
2331 * config/bfin/bfin.h: Likewise.
2332 * config/epiphany/epiphany.h: Likewise.
2333 * config/frv/frv.h: Likewise.
2334 * config/ia64/ia64.h: Likewise.
2335 * config/iq2000/iq2000.h: Likewise.
2336 * config/lm32/lm32.h: Likewise.
2337 * config/m32r/m32r.h: Likewise.
2338 * config/mcore/mcore.h: Likewise.
2339 * config/mep/mep.h: Likewise.
2340 * config/microblaze/microblaze.h: Likewise.
2341 * config/mips/mips.h: Likewise.
2342 * config/mmix/mmix.h: Likewise.
2343 * config/mn10300/mn10300.h: Likewise.
2344 * config/nds32/nds32.h: Likewise.
2345 * config/nios2/nios2.h: Likewise.
2346 * config/pa/pa.h: Likewise.
2347 * config/rl78/rl78.h: Likewise.
2348 * config/sh/sh.h: Likewise.
2349 * config/sparc/sparc.h: Likewise.
2350 * config/stormy16/stormy16.h: Likewise.
2351 * config/tilegx/tilegx.h: Likewise.
2352 * config/tilepro/tilepro.h: Likewise.
2353 * config/v850/v850.h: Likewise.
2354 * config/xtensa/xtensa.h: Likewise.
2355 * doc/tm.texi: Regenerate.
2356 * doc/tm.texi.in: Adjust.
2357 * combine.c (simplify_set): Likewise.
2358 (simplify_comparison): Likewise.
2359 * expr.c (store_constructor): Likewise.
2360 * internal-fn.c (expand_arith_overflow): Likewise.
2361 * reload.c (push_reload): Likewise.
2362 (find_reloads): Likewise.
2363 (find_reloads_subreg_address): Likewise.
2364 * reload1.c (eliminate_regs_1): Likewise.
2365 * rtlanal.c (nonzero_bits1): Likewise.
2366 (num_sign_bit_copies1): Likewise.
2367 * simplify-rtx.c (simplify_truncation): Likewise.
2368
2369 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2370
2371 * auto-inc-dec.c (pass_inc_dec::execute): Don't check the value
2372 of AUTO_INC_DEC with the preprocessor.
2373 * combine.c (combine_instructions): Likewise.
2374 (can_combine_p): Likewise.
2375 (try_combine): Likewise.
2376 * emit-rtl.c (try_split): Likewise.
2377 * loop-invariant.c (calculate_loop_reg_pressure): Likewise.
2378 * lower-subreg.c (resolve_simple_move): Likewise.
2379 * lra.c (update_inc_notes): Likewise.
2380 * recog.c (asm_operand_ok): Likewise.
2381 (constrain_operands): Likewise.
2382 * regrename.c (scan_rtx_address): Likewise.
2383 * reload.c (update_auto_inc_notes): Likewise.
2384 (reg_inc_found_and_valid_p): Likewise.
2385 * reload1.c (reload): Likewise.
2386 (emit_input_reload_insns): Likewise.
2387 (delete_output_reload): Likewise.
2388 * sched-deps.c (init_insn_reg_pressure_info): Likewise.
2389 * valtrack.c (cleanup_auto_inc_dec): Likewise.
2390
2391 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2392
2393 * rtl.h: Always define AUTO_INC_DEC.
2394 * auto-inc-dec.c (pass_inc_dec::execute): Adjust.
2395 * combine.c (combine_instructions): Likewise.
2396 (can_combine_p): Likewise.
2397 (try_combine): Likewise.
2398 * emit-rtl.c (try_split): Likewise.
2399 * loop-invariant.c (calculate_loop_reg_pressure): Likewise.
2400 * lower-subreg.c (resolve_simple_move): Likewise.
2401 * lra.c (update_inc_notes): Likewise.
2402 * recog.c (asm_operand_ok): Likewise.
2403 (constrain_operands): Likewise.
2404 * regrename.c (scan_rtx_address): Likewise.
2405 * reload.c (update_auto_inc_notes): Likewise.
2406 (find_equiv_reg): Likewise.
2407 * reload1.c (reload): Likewise.
2408 (reload_as_needed): Likewise.
2409 (choose_reload_regs): Likewise.
2410 (emit_input_reload_insns): Likewise.
2411 (delete_output_reload): Likewise.
2412 * sched-deps.c (init_insn_reg_pressure_info): Likewise.
2413 * valtrack.c (cleanup_auto_inc_dec): Likewise.
2414
2415 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2416
2417 * combine.c (can_combine_def_p): Don't check the value of
2418 HARD_FRAME_POINTER_IS_FRAME_POINTER with the preprocessor.
2419 (combinable_i3pat): Likewise.
2420 (mark_used_regs_combine): Likewise.
2421 * regrename.c (rename_chains): Likewise.
2422 * reload.c (find_reloads_address): Likewise.
2423 * sel-sched.c (mark_unavailable_hard_regs): Likewise.
2424
2425 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2426
2427 * combine.c (update_rsp_from_reg_equal): Don't check if
2428 SHORT_IMMEDIATES_SIGN_EXTEND is defined.
2429 (reg_nonzero_bits_for_combine): Likewise.
2430 * config/alpha/alpha.h: Define SHORT_IMMEDIATES_SIGN_EXTEND to
2431 1.
2432 * config/frv/frv.h: Likewise.
2433 * config/lm32/lm32.h: Likewise.
2434 * config/mep/mep.h: Likewise.
2435 * config/mips/mips.h: Likewise.
2436 * config/rs6000/rs6000.h: Likewise.
2437 * config/sh/sh.h: Likewise.
2438 * config/tilegx/tilegx.h (enum reg_class): Likewise.
2439 * config/tilepro/tilepro.h: Likewise.
2440 * defaults.h: Add default for SHORT_IMMEDIATES_SIGN_EXTEND.
2441 * doc/tm.texi: Regenerate.
2442 * doc/tm.texi.in: Adjust.
2443 * rtlanal.c (nonzero_bits1): Likewise.
2444
2445 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2446
2447 * combine.c (do_SUBST_MODE): Don't check the value of HAVE_cc0
2448 with the preprocessor.
2449 (combine_instructions): Likewise.
2450 (try_combine): Likewise.
2451 (subst): Likewise.
2452 (distribute_notes): Likewise.
2453
2454 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2455
2456 * combine.c (try_combine): Don't check if LOAD_EXTEND_OP is
2457 defined.
2458 (simplify_set): Likewise.
2459 * cse.c (cse_insn): Likewise.
2460 * fold-const.c (fold_single_bit_test): Likewise.
2461 (fold_unary_loc): Likewise.
2462 * postreload.c (reload_cse_simplify_set): Likewise.
2463 (reload_cse_simplify_operands): Likewise.
2464
2465 2015-07-08 Jiong Wang <jiong.wang@arm.com>
2466
2467 * config/aarch64/aarch64.c (aarch64_unspec_may_trap_p): New function.
2468 (TARGET_UNSPEC_MAY_TRAP_P): Define as aarch64_unspec_may_trap_p.
2469
2470 2015-07-08 H.J. Lu <hongjiu.lu@intel.com>
2471
2472 PR target/66746
2473 * config/i386/x86intrin.h: Include <adxintrin.h> even if
2474 __iamcu__ is defined.
2475
2476 2015-07-08 Uros Bizjak <ubizjak@gmail.com>
2477
2478 * config/i386/predicates.md (general_reg_operand): Use GENERAL_REGNO_P.
2479
2480 2015-07-08 Iain Sandoe <iain@codesourcery.com>
2481
2482 PR target/66523
2483 * config/darwin.c (darwin_mark_decl_preserved): Exclude 'L' label
2484 names from preservation.
2485
2486 2015-07-08 H.J. Lu <hongjiu.lu@intel.com>
2487
2488 PR target/66806
2489 * config/i386/i386.c (type_natural_mode): Don't warn vector ABI
2490 change for IAMCU.
2491 (function_arg_advance_32): Don't pass vectors in registers for
2492 IAMCU.
2493 (function_arg_32): Likewise.
2494 (ix86_return_in_memory): Don't return vectors in registers for
2495 IAMCU.
2496
2497 2015-07-08 Vladimir Makarov <vmakarov@redhat.com>
2498
2499 PR middle-end/66334
2500 * ira-lives.c (process_bb_node_lives): Make conflicts with PIC
2501 hard regno live at the start of BB with incoming abnormal edges.
2502 * lra-lives.c (process_bb_lives): Ditto.
2503
2504 2015-07-08 Thomas Schwinge <thomas@codesourcery.com>
2505
2506 PR libgomp/65099
2507 * config/nvptx/mkoffload.c (main): Create an offload image only in
2508 64-bit configurations.
2509
2510 2015-07-08 Martin Liska <mliska@suse.cz>
2511
2512 PR bootstrap/66744
2513 * tree-sra.c (create_access_1): Call ctor without brackets.
2514 (create_artificial_child_access): Likewise.
2515
2516 2015-07-08 Richard Biener <rguenther@suse.de>
2517
2518 PR tree-optimization/66793
2519 * gimple-ssa-isolate-paths.c (insert_trap_and_remove_trailing_statemen):
2520 Properly split the block after stmts ending it.
2521
2522 2015-07-08 Richard Biener <rguenther@suse.de>
2523
2524 PR tree-optimization/66794
2525 * passes.c (execute_function_todo): Assert that post-dominators
2526 are not computed.
2527 * gimple-ssa-isolate-paths.c (gimple_ssa_isolate_erroneous_paths):
2528 Free post-dominators.
2529
2530 2015-07-08 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2531
2532 * config/s390/s390.c (s390_init_frame_layout): Replace assertion
2533 with early exit.
2534
2535 2015-07-08 Uros Bizjak <ubizjak@gmail.com>
2536
2537 * config/i386/i386.md (*jcc_bt<mode>): Only allow const_int values
2538 more than or equal 8 and less than 32 when optimizing for size.
2539
2540 2015-07-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2541
2542 * config/arm/arm.c (arm_new_rtx_costs): Initialise cost to
2543 COSTS_N_INSNS (1) and increment it appropriately throughout the
2544 function.
2545
2546 2015-07-08 Richard Biener <rguenther@suse.de>
2547
2548 * fold-const.c (fold_widened_comparison): Fix inverted comparison.
2549
2550 2015-07-08 Alan Modra <amodra@gmail.com>
2551
2552 * target.def (rtx_costs): Remove "code" param, add "mode".
2553 * rtl.h (rtx_cost, get_full_rtx_cost): Update prototype.
2554 (set_src_cost, get_full_set_src_cost): Likewise. Move later in file.
2555 (set_rtx_cost, get_full_set_rtx_cost): Move later in file.
2556 * rtlanal.c (rtx_cost): Add "mode" parameter. Update targetm.rtx_costs
2557 call. Track mode when given in rtx.
2558 (get_full_rtx_cost): Add "mode" parameter. Update rtx_cost calls.
2559 (default_address_cost): Pass Pmode to rtx_cost.
2560 (insn_rtx_cost): Pass dest mode of set to set_src_cost.
2561 * cprop.c (try_replace_reg): Ensure set_rtx_cost is not called
2562 with NULL set.
2563 * cse.c (COST, COST_IN): Add MODE param. Update all uses.
2564 (notreg_cost): Add mode param. Use it.
2565 * gcse.c (want_to_gcse_p): Delete forward declaration. Add
2566 mode param and pass to set_src_cost. Update all calls.
2567 (hash_scan_set): Formatting.
2568 * hooks.c (hook_bool_rtx_int_int_int_intp_bool_false): Delete.
2569 (hook_bool_rtx_mode_int_int_intp_bool_false): New function.
2570 * hooks.h: Ditto.
2571 * expmed.c (init_expmed_one_conv, init_expmed_one_mode,
2572 init_expmed, expand_mult, mult_by_coeff_cost, expand_smod_pow2,
2573 emit_store_flag): Update set_src_cost and rtx_cost calls.
2574 * auto-inc-dec.c (attempt_change): Likewise.
2575 * calls.c (precompute_register_parameters): Likewise.
2576 * combine.c (expand_compound_operation, make_extraction,
2577 force_to_mode, distribute_and_simplify_rtx): Likewise.
2578 * dojump.c (prefer_and_bit_test): Likewise.
2579 * dse.c (find_shift_sequence): Likewise.
2580 * expr.c (compress_float_constant): Likewise.
2581 * fwprop.c (should_replace_address, try_fwprop_subst): Likewise.
2582 * ifcvt.c (noce_try_sign_mask): Likewise.
2583 * loop-doloop.c (doloop_optimize): Likewise.
2584 * loop-invariant.c (create_new_invariant): Likewise.
2585 * lower-subreg.c (shift_cost, compute_costs): Likewise.
2586 * optabs.c (avoid_expensive_constant, prepare_cmp_insn,
2587 lshift_cheap_p): Likewise.
2588 * postreload.c (reload_cse_simplify_set, reload_cse_simplify_operands,
2589 try_replace_in_use, reload_cse_move2add): Likewise.
2590 * reload1.c (calculate_elim_costs_all_insns, note_reg_elim_costly):
2591 Likewise.
2592 * simplify-rtx.c (simplify_binary_operation_1): Likewise.
2593 * tree-ssa-loop-ivopts.c (computation_cost): Likewise.
2594 * tree-ssa-reassoc.c (optimize_range_tests_to_bit_test): Likewise.
2595 * tree-switch-conversion.c (emit_case_bit_tests): Likewise.
2596 * config/aarch64/aarch64.c (aarch64_rtx_costs): Delete "code" param,
2597 add "mode" param. Use "mode: in place of GET_MODE (x). Pass mode
2598 to rtx_cost calls.
2599 * config/alpha/alpha.c (alpha_rtx_costs): Likewise.
2600 * config/arc/arc.c (arc_rtx_costs): Likewise.
2601 * config/arm/arm.c (arm_rtx_costs): Likewise.
2602 * config/avr/avr.c (avr_rtx_costs, avr_rtx_costs_1): Likewise.
2603 * config/bfin/bfin.c (bfin_rtx_costs): Likewise.
2604 * config/c6x/c6x.c (c6x_rtx_costs): Likewise.
2605 * config/cris/cris.c (cris_rtx_costs): Likewise.
2606 * config/epiphany/epiphany.c (epiphany_rtx_costs): Likewise.
2607 * config/frv/frv.c (frv_rtx_costs): Likewise.
2608 * config/h8300/h8300.c (h8300_rtx_costs): Likewise.
2609 * config/i386/i386.c (ix86_rtx_costs): Likewise.
2610 * config/ia64/ia64.c (ia64_rtx_costs): Likewise.
2611 * config/iq2000/iq2000.c (iq2000_rtx_costs): Likewise.
2612 * config/lm32/lm32.c (lm32_rtx_costs): Likewise.
2613 * config/m32c/m32c.c (m32c_rtx_costs): Likewise.
2614 * config/m32r/m32r.c (m32r_rtx_costs): Likewise.
2615 * config/m68k/m68k.c (m68k_rtx_costs): Likewise.
2616 * config/mcore/mcore.c (mcore_rtx_costs): Likewise.
2617 * config/mep/mep.c (mep_rtx_cost): Likewise.
2618 * config/microblaze/microblaze.c (microblaze_rtx_costs): Likewise.
2619 * config/mips/mips.c (mips_rtx_costs): Likewise.
2620 * config/mmix/mmix.c (mmix_rtx_costs): Likewise.
2621 * config/mn10300/mn10300.c (mn10300_rtx_costs): Likewise.
2622 * config/msp430/msp430.c (msp430_rtx_costs): Likewise.
2623 * config/nds32/nds32-cost.c (nds32_rtx_costs_impl): Likewise.
2624 * config/nds32/nds32-protos.h (nds32_rtx_costs_impl): Likewise.
2625 * config/nds32/nds32.c (nds32_rtx_costs): Likewise.
2626 * config/nios2/nios2.c (nios2_rtx_costs): Likewise.
2627 * config/pa/pa.c (hppa_rtx_costs): Likewise.
2628 * config/pdp11/pdp11.c (pdp11_rtx_costs): Likewise.
2629 * config/rl78/rl78.c (rl78_rtx_costs): Likewise.
2630 * config/rs6000/rs6000.c (rs6000_rtx_costs): Likewise.
2631 * config/s390/s390.c (s390_rtx_costs): Likewise.
2632 * config/sh/sh.c (sh_rtx_costs): Likewise.
2633 * config/sparc/sparc.c (sparc_rtx_costs): Likewise.
2634 * config/spu/spu.c (spu_rtx_costs): Likewise.
2635 * config/stormy16/stormy16.c (xstormy16_rtx_costs): Likewise.
2636 * config/tilegx/tilegx.c (tilegx_rtx_costs): Likewise.
2637 * config/tilepro/tilepro.c (tilepro_rtx_costs): Likewise.
2638 * config/v850/v850.c (v850_rtx_costs): Likewise.
2639 * config/vax/vax.c (vax_rtx_costs): Likewise.
2640 * config/visium/visium.c (visium_rtx_costs): Likewise.
2641 * config/xtensa/xtensa.c (xtensa_rtx_costs): Likewise.
2642 * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Change type of
2643 "code" param, and pass as outer_code to first rtx_cost call. Pass
2644 mode to rtx_cost calls.
2645 (aarch64_address_cost, aarch64_if_then_else_costs): Update rtx_cost
2646 calls.
2647 (aarch64_rtx_costs_wrapper): Update.
2648 * config/arm/arm.c (arm_rtx_costs_1, arm_size_rtx_costs,
2649 arm_unspec_cost, arm_new_rtx_costs, arm_slowmul_rtx_costs): Update
2650 rtx_cost calls.
2651 * config/avr/avr.c (avr_final_prescan_insn): Update set_src_cost
2652 and rtx_cost calls.
2653 (avr_operand_rtx_cost): Similarly.
2654 (avr_rtx_costs_1): Correct mode passed to avr_operand_rtx_cost
2655 for subexpressions of ZERO_EXTEND, SIGN_EXTEND and COMPARE.
2656 * config/mips/mips.c (mips_stack_address_p): Comment typo.
2657 (mips_binary_cost): Update rtx_cost and set_src_cost calls.
2658 (mips_rtx_costs): Use GET_MODE (x) to detect const_int.
2659 * config/mn10300/mn10300.c (mn10300_address_cost): Pass Pmode to
2660 rtx_cost.
2661 (mn10300_rtx_costs): Correct mode passed to mn10300_address_cost.
2662 * config/rs6000/rs6000.c (rs6000_debug_rtx_costs): Update.
2663 * config/sh/sh.c (and_xor_ior_costs): Update rtx_cost call.
2664 * doc/tm.texi: Regenerate.
2665
2666 2015-07-07 Andrew MacLeod <amacleod@redhat.com>
2667
2668 * tree-core.h: Include symtab.h.
2669 * rtl.h: Include hard-reg-set.h but not flags.h.
2670 (HARD_CONST): Remove condition compilation involving HARD_CONST since
2671 hard-reg-set.h is always included.
2672 * regs.h: Don't include hard-reg-set.h or rtl.h.
2673 * cfg.h: Include dominance.h.
2674 * gimple.h: Include tree-ssa-alias.h and gimple-expr.h.
2675 * backend.h: New. Aggregate commonly used backend header files.
2676 * gimple-ssa.h: Don't include tree-hasher.h.
2677 * ssa.h: New. Aggregate commonly used SSA header files.
2678 * regset.h: Remove bitmap.h and hard-reg-set.h #includes.
2679 * sel-sched-ir.h: Flatten includes.
2680 * lra-int.h: Flatten completely.
2681 * sel-sched-dump.h: Flatten includes.
2682 * ira-int.h: Flatten includes.
2683 * gimple-streamer.h: Remove all includes.
2684 * cfgloop.h: Remove all #includes except cfgloopmanip.h.
2685 * resource.h: Flatten hard-reg-set.h and df.h.
2686 * sched-int.h: Flatten insn-arrt.h and df.h.
2687 * valtrack.h: flatten bitmap.h, df.h, and rtl.h
2688 * df.h: Flatten includes, leaving regset.h, alloc-pool.h and timevar.h.
2689 * genattrtab.c (write_header): Adjust generated includes.
2690 * genautomata.c (main): Likewise.
2691 * genconditions.c (write-header): Likewise.
2692 * genemit.c (main): Likewise.
2693 * gengtype.c (open_base_files): Likewise.
2694 * genopinit.c (main): Likewise.
2695 * genoutput.c (output_prologue): Likewise.
2696 * genpeep.c (main): Likewise.
2697 * genpreds.c (write_insn_preds_c): Likewise.
2698 * genrecog.c (write_header): Likewise.
2699 * alias.c: Adjust includes.
2700 * asan.c: Likewise.
2701 * attribs.c: Likewise.
2702 * auto-inc-dec.c: Likewise.
2703 * auto-profile.c: Likewise.
2704 * bb-reorder.c: Likewise.
2705 * bt-load.c: Likewise.
2706 * builtins.c: Likewise.
2707 * caller-save.c: Likewise.
2708 * calls.c: Likewise.
2709 * ccmp.c: Likewise.
2710 * cfg.c: Likewise.
2711 * cfganal.c: Likewise.
2712 * cfgbuild.c: Likewise.
2713 * cfgcleanup.c: Likewise.
2714 * cfgexpand.c: Likewise.
2715 * cfghooks.c: Likewise.
2716 * cfgloop.c: Likewise.
2717 * cfgloopanal.c: Likewise.
2718 * cfgloopmanip.c: Likewise.
2719 * cfgrtl.c: Likewise.
2720 * cgraph.c: Likewise.
2721 * cgraphbuild.c: Likewise.
2722 * cgraphclones.c: Likewise.
2723 * cgraphunit.c: Likewise.
2724 * cilk-common.c: Likewise.
2725 * combine-stack-adj.c: Likewise.
2726 * combine.c: Likewise.
2727 * compare-elim.c: Likewise.
2728 * convert.c: Likewise.
2729 * coverage.c: Likewise.
2730 * cppbuiltin.c: Likewise.
2731 * cprop.c: Likewise.
2732 * cse.c: Likewise.
2733 * cselib.c: Likewise.
2734 * data-streamer-in.c: Likewise.
2735 * data-streamer-out.c: Likewise.
2736 * data-streamer.c: Likewise.
2737 * dbxout.c: Likewise.
2738 * dce.c: Likewise.
2739 * ddg.c: Likewise.
2740 * debug.c: Likewise.
2741 * df-core.c: Likewise.
2742 * df-problems.c: Likewise.
2743 * df-scan.c: Likewise.
2744 * dfp.c: Likewise.
2745 * dojump.c: Likewise.
2746 * dominance.c: Likewise.
2747 * domwalk.c: Likewise.
2748 * double-int.c: Likewise.
2749 * dse.c: Likewise.
2750 * dumpfile.c: Likewise.
2751 * dwarf2asm.c: Likewise.
2752 * dwarf2cfi.c: Likewise.
2753 * dwarf2out.c: Likewise.
2754 * emit-rtl.c: Likewise.
2755 * et-forest.c: Likewise.
2756 * except.c: Likewise.
2757 * explow.c: Likewise.
2758 * expmed.c: Likewise.
2759 * expr.c: Likewise.
2760 * final.c: Likewise.
2761 * fixed-value.c: Likewise.
2762 * fold-const.c: Likewise.
2763 * function.c: Likewise.
2764 * fwprop.c: Likewise.
2765 * gcc-plugin.h: Likewise.
2766 * gcse-common.c: Likewise.
2767 * gcse.c: Likewise.
2768 * generic-match-head.c: Likewise.
2769 * ggc-page.c: Likewise.
2770 * gimple-builder.c: Likewise.
2771 * gimple-expr.c: Likewise.
2772 * gimple-fold.c: Likewise.
2773 * gimple-iterator.c: Likewise.
2774 * gimple-low.c: Likewise.
2775 * gimple-match-head.c: Likewise.
2776 * gimple-pretty-print.c: Likewise.
2777 * gimple-ssa-isolate-paths.c: Likewise.
2778 * gimple-ssa-strength-reduction.c: Likewise.
2779 * gimple-streamer-in.c: Likewise.
2780 * gimple-streamer-out.c: Likewise.
2781 * gimple-walk.c: Likewise.
2782 * gimple.c: Likewise.
2783 * gimplify-me.c: Likewise.
2784 * gimplify.c: Likewise.
2785 * godump.c: Likewise.
2786 * graph.c: Likewise.
2787 * graphite-blocking.c: Likewise.
2788 * graphite-dependences.c: Likewise.
2789 * graphite-interchange.c: Likewise.
2790 * graphite-isl-ast-to-gimple.c: Likewise.
2791 * graphite-optimize-isl.c: Likewise.
2792 * graphite-poly.c: Likewise.
2793 * graphite-scop-detection.c: Likewise.
2794 * graphite-sese-to-poly.c: Likewise.
2795 * graphite.c: Likewise.
2796 * haifa-sched.c: Likewise.
2797 * hw-doloop.c: Likewise.
2798 * ifcvt.c: Likewise.
2799 * init-regs.c: Likewise.
2800 * internal-fn.c: Likewise.
2801 * ipa-chkp.c: Likewise.
2802 * ipa-comdats.c: Likewise.
2803 * ipa-cp.c: Likewise.
2804 * ipa-devirt.c: Likewise.
2805 * ipa-icf-gimple.c: Likewise.
2806 * ipa-icf.c: Likewise.
2807 * ipa-inline-analysis.c: Likewise.
2808 * ipa-inline-transform.c: Likewise.
2809 * ipa-inline.c: Likewise.
2810 * ipa-polymorphic-call.c: Likewise.
2811 * ipa-profile.c: Likewise.
2812 * ipa-prop.c: Likewise.
2813 * ipa-pure-const.c: Likewise.
2814 * ipa-ref.c: Likewise.
2815 * ipa-reference.c: Likewise.
2816 * ipa-split.c: Likewise.
2817 * ipa-utils.c: Likewise.
2818 * ipa-visibility.c: Likewise.
2819 * ipa.c: Likewise.
2820 * ira-build.c: Likewise.
2821 * ira-color.c: Likewise.
2822 * ira-conflicts.c: Likewise.
2823 * ira-costs.c: Likewise.
2824 * ira-emit.c: Likewise.
2825 * ira-lives.c: Likewise.
2826 * ira.c: Likewise.
2827 * jump.c: Likewise.
2828 * langhooks.c: Likewise.
2829 * lcm.c: Likewise.
2830 * loop-doloop.c: Likewise.
2831 * loop-init.c: Likewise.
2832 * loop-invariant.c: Likewise.
2833 * loop-iv.c: Likewise.
2834 * loop-unroll.c: Likewise.
2835 * lower-subreg.c: Likewise.
2836 * lra-assigns.c: Likewise.
2837 * lra-coalesce.c: Likewise.
2838 * lra-constraints.c: Likewise.
2839 * lra-eliminations.c: Likewise.
2840 * lra-lives.c: Likewise.
2841 * lra-remat.c: Likewise.
2842 * lra-spills.c: Likewise.
2843 * lra.c: Likewise.
2844 * lto-cgraph.c: Likewise.
2845 * lto-compress.c: Likewise.
2846 * lto-opts.c: Likewise.
2847 * lto-section-in.c: Likewise.
2848 * lto-section-out.c: Likewise.
2849 * lto-streamer-in.c: Likewise.
2850 * lto-streamer-out.c: Likewise.
2851 * lto-streamer.c: Likewise.
2852 * mcf.c: Likewise.
2853 * mode-switching.c: Likewise.
2854 * modulo-sched.c: Likewise.
2855 * omega.c: Likewise.
2856 * omp-low.c: Likewise.
2857 * optabs.c: Likewise.
2858 * opts-global.c: Likewise.
2859 * passes.c: Likewise.
2860 * plugin.c: Likewise.
2861 * postreload-gcse.c: Likewise.
2862 * postreload.c: Likewise.
2863 * predict.c: Likewise.
2864 * print-rtl.c: Likewise.
2865 * print-tree.c: Likewise.
2866 * profile.c: Likewise.
2867 * real.c: Likewise.
2868 * realmpfr.c: Likewise.
2869 * recog.c: Likewise.
2870 * ree.c: Likewise.
2871 * reg-stack.c: Likewise.
2872 * regcprop.c: Likewise.
2873 * reginfo.c: Likewise.
2874 * regrename.c: Likewise.
2875 * regstat.c: Likewise.
2876 * reload.c: Likewise.
2877 * reload1.c: Likewise.
2878 * reorg.c: Likewise.
2879 * resource.c: Likewise.
2880 * rtl-chkp.c: Likewise.
2881 * rtlanal.c: Likewise.
2882 * rtlhooks.c: Likewise.
2883 * sanopt.c: Likewise.
2884 * sched-deps.c: Likewise.
2885 * sched-ebb.c: Likewise.
2886 * sched-rgn.c: Likewise.
2887 * sched-vis.c: Likewise.
2888 * sdbout.c: Likewise.
2889 * sel-sched-dump.c: Likewise.
2890 * sel-sched-ir.c: Likewise.
2891 * sel-sched.c: Likewise.
2892 * sese.c: Likewise.
2893 * shrink-wrap.c: Likewise.
2894 * simplify-rtx.c: Likewise.
2895 * stack-ptr-mod.c: Likewise.
2896 * stmt.c: Likewise.
2897 * stor-layout.c: Likewise.
2898 * store-motion.c: Likewise.
2899 * stringpool.c: Likewise.
2900 * symtab.c: Likewise.
2901 * target-globals.c: Likewise.
2902 * targhooks.c: Likewise.
2903 * toplev.c: Likewise.
2904 * tracer.c: Likewise.
2905 * trans-mem.c: Likewise.
2906 * tree-affine.c: Likewise.
2907 * tree-browser.c: Likewise.
2908 * tree-call-cdce.c: Likewise.
2909 * tree-cfg.c: Likewise.
2910 * tree-cfgcleanup.c: Likewise.
2911 * tree-chkp-opt.c: Likewise.
2912 * tree-chkp.c: Likewise.
2913 * tree-chrec.c: Likewise.
2914 * tree-complex.c: Likewise.
2915 * tree-data-ref.c: Likewise.
2916 * tree-dfa.c: Likewise.
2917 * tree-diagnostic.c: Likewise.
2918 * tree-dump.c: Likewise.
2919 * tree-eh.c: Likewise.
2920 * tree-emutls.c: Likewise.
2921 * tree-if-conv.c: Likewise.
2922 * tree-inline.c: Likewise.
2923 * tree-into-ssa.c: Likewise.
2924 * tree-iterator.c: Likewise.
2925 * tree-loop-distribution.c: Likewise.
2926 * tree-nested.c: Likewise.
2927 * tree-nrv.c: Likewise.
2928 * tree-object-size.c: Likewise.
2929 * tree-outof-ssa.c: Likewise.
2930 * tree-parloops.c: Likewise.
2931 * tree-phinodes.c: Likewise.
2932 * tree-predcom.c: Likewise.
2933 * tree-pretty-print.c: Likewise.
2934 * tree-profile.c: Likewise.
2935 * tree-scalar-evolution.c: Likewise.
2936 * tree-sra.c: Likewise.
2937 * tree-ssa-address.c: Likewise.
2938 * tree-ssa-alias.c: Likewise.
2939 * tree-ssa-ccp.c: Likewise.
2940 * tree-ssa-coalesce.c: Likewise.
2941 * tree-ssa-copy.c: Likewise.
2942 * tree-ssa-copyrename.c: Likewise.
2943 * tree-ssa-dce.c: Likewise.
2944 * tree-ssa-dom.c: Likewise.
2945 * tree-ssa-dse.c: Likewise.
2946 * tree-ssa-forwprop.c: Likewise.
2947 * tree-ssa-ifcombine.c: Likewise.
2948 * tree-ssa-live.c: Likewise.
2949 * tree-ssa-loop-ch.c: Likewise.
2950 * tree-ssa-loop-im.c: Likewise.
2951 * tree-ssa-loop-ivcanon.c: Likewise.
2952 * tree-ssa-loop-ivopts.c: Likewise.
2953 * tree-ssa-loop-manip.c: Likewise.
2954 * tree-ssa-loop-niter.c: Likewise.
2955 * tree-ssa-loop-prefetch.c: Likewise.
2956 * tree-ssa-loop-unswitch.c: Likewise.
2957 * tree-ssa-loop.c: Likewise.
2958 * tree-ssa-math-opts.c: Likewise.
2959 * tree-ssa-operands.c: Likewise.
2960 * tree-ssa-phiopt.c: Likewise.
2961 * tree-ssa-phiprop.c: Likewise.
2962 * tree-ssa-pre.c: Likewise.
2963 * tree-ssa-propagate.c: Likewise.
2964 * tree-ssa-reassoc.c: Likewise.
2965 * tree-ssa-sccvn.c: Likewise.
2966 * tree-ssa-scopedtables.c: Likewise.
2967 * tree-ssa-sink.c: Likewise.
2968 * tree-ssa-strlen.c: Likewise.
2969 * tree-ssa-structalias.c: Likewise.
2970 * tree-ssa-tail-merge.c: Likewise.
2971 * tree-ssa-ter.c: Likewise.
2972 * tree-ssa-threadedge.c: Likewise.
2973 * tree-ssa-threadupdate.c: Likewise.
2974 * tree-ssa-uncprop.c: Likewise.
2975 * tree-ssa-uninit.c: Likewise.
2976 * tree-ssa.c: Likewise.
2977 * tree-ssanames.c: Likewise.
2978 * tree-stdarg.c: Likewise.
2979 * tree-streamer-in.c: Likewise.
2980 * tree-streamer-out.c: Likewise.
2981 * tree-streamer.c: Likewise.
2982 * tree-switch-conversion.c: Likewise.
2983 * tree-tailcall.c: Likewise.
2984 * tree-vect-data-refs.c: Likewise.
2985 * tree-vect-generic.c: Likewise.
2986 * tree-vect-loop-manip.c: Likewise.
2987 * tree-vect-loop.c: Likewise.
2988 * tree-vect-patterns.c: Likewise.
2989 * tree-vect-slp.c: Likewise.
2990 * tree-vect-stmts.c: Likewise.
2991 * tree-vectorizer.c: Likewise.
2992 * tree-vrp.c: Likewise.
2993 * tree.c: Likewise.
2994 * tsan.c: Likewise.
2995 * ubsan.c: Likewise.
2996 * valtrack.c: Likewise.
2997 * value-prof.c: Likewise.
2998 * var-tracking.c: Likewise.
2999 * varasm.c: Likewise.
3000 * varpool.c: Likewise.
3001 * vmsdbgout.c: Likewise.
3002 * vtable-verify.c: Likewise.
3003 * web.c: Likewise.
3004 * wide-int.cc: Likewise.
3005 * xcoffout.c: Likewise.
3006 * config/aarch64/aarch64-builtins.c: Likewise.
3007 * config/aarch64/aarch64.c: Likewise.
3008 * config/aarch64/cortex-a57-fma-steering.c: Likewise.
3009 * config/alpha/alpha.c: Likewise.
3010 * config/arc/arc.c: Likewise.
3011 * config/arm/aarch-common.c: Likewise.
3012 * config/arm/arm-builtins.c: Likewise.
3013 * config/arm/arm-c.c: Likewise.
3014 * config/arm/arm.c: Likewise.
3015 * config/avr/avr-c.c: Likewise.
3016 * config/avr/avr-log.c: Likewise.
3017 * config/avr/avr.c: Likewise.
3018 * config/bfin/bfin.c: Likewise.
3019 * config/c6x/c6x.c: Likewise.
3020 * config/cr16/cr16.c: Likewise.
3021 * config/cris/cris.c: Likewise.
3022 * config/darwin-c.c: Likewise.
3023 * config/darwin.c: Likewise.
3024 * config/epiphany/epiphany.c: Likewise.
3025 * config/epiphany/mode-switch-use.c: Likewise.
3026 * config/epiphany/resolve-sw-modes.c: Likewise.
3027 * config/fr30/fr30.c: Likewise.
3028 * config/frv/frv.c: Likewise.
3029 * config/ft32/ft32.c: Likewise.
3030 * config/h8300/h8300.c: Likewise.
3031 * config/i386/i386-c.c: Likewise.
3032 * config/i386/i386.c: Likewise.
3033 * config/i386/msformat-c.c: Likewise.
3034 * config/i386/winnt-cxx.c: Likewise.
3035 * config/i386/winnt-stubs.c: Likewise.
3036 * config/i386/winnt.c: Likewise.
3037 * config/ia64/ia64-c.c: Likewise.
3038 * config/ia64/ia64.c: Likewise.
3039 * config/iq2000/iq2000.c: Likewise.
3040 * config/lm32/lm32.c: Likewise.
3041 * config/m32c/m32c-pragma.c: Likewise.
3042 * config/m32c/m32c.c: Likewise.
3043 * config/m32r/m32r.c: Likewise.
3044 * config/m68k/m68k.c: Likewise.
3045 * config/mcore/mcore.c: Likewise.
3046 * config/mep/mep-pragma.c: Likewise.
3047 * config/mep/mep.c: Likewise.
3048 * config/microblaze/microblaze-c.c: Likewise.
3049 * config/microblaze/microblaze.c: Likewise.
3050 * config/mips/mips.c: Likewise.
3051 * config/mmix/mmix.c: Likewise.
3052 * config/mn10300/mn10300.c: Likewise.
3053 * config/moxie/moxie.c: Likewise.
3054 * config/msp430/msp430-c.c: Likewise.
3055 * config/msp430/msp430.c: Likewise.
3056 * config/nds32/nds32-cost.c: Likewise.
3057 * config/nds32/nds32-fp-as-gp.c: Likewise.
3058 * config/nds32/nds32-intrinsic.c: Likewise.
3059 * config/nds32/nds32-isr.c: Likewise.
3060 * config/nds32/nds32-md-auxiliary.c: Likewise.
3061 * config/nds32/nds32-memory-manipulation.c: Likewise.
3062 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
3063 * config/nds32/nds32-predicates.c: Likewise.
3064 * config/nds32/nds32.c: Likewise.
3065 * config/nios2/nios2.c: Likewise.
3066 * config/nvptx/nvptx.c: Likewise.
3067 * config/pa/pa.c: Likewise.
3068 * config/pdp11/pdp11.c: Likewise.
3069 * config/rl78/rl78-c.c: Likewise.
3070 * config/rl78/rl78.c: Likewise.
3071 * config/rs6000/rs6000-c.c: Likewise.
3072 * config/rs6000/rs6000.c: Likewise.
3073 * config/rx/rx.c: Likewise.
3074 * config/s390/s390-c.c: Likewise.
3075 * config/s390/s390.c: Likewise.
3076 * config/sh/sh-c.c: Likewise.
3077 * config/sh/sh-mem.cc: Likewise.
3078 * config/sh/sh.c: Likewise.
3079 * config/sh/sh_optimize_sett_clrt.cc: Likewise.
3080 * config/sh/sh_treg_combine.cc: Likewise.
3081 * config/sol2-c.c: Likewise.
3082 * config/sol2-cxx.c: Likewise.
3083 * config/sol2-stubs.c: Likewise.
3084 * config/sol2.c: Likewise.
3085 * config/sparc/sparc-c.c: Likewise.
3086 * config/sparc/sparc.c: Likewise.
3087 * config/spu/spu-c.c: Likewise.
3088 * config/spu/spu.c: Likewise.
3089 * config/stormy16/stormy16.c: Likewise.
3090 * config/tilegx/mul-tables.c: Likewise.
3091 * config/tilegx/tilegx-c.c: Likewise.
3092 * config/tilegx/tilegx.c: Likewise.
3093 * config/tilepro/mul-tables.c: Likewise.
3094 * config/tilepro/tilepro-c.c: Likewise.
3095 * config/tilepro/tilepro.c: Likewise.
3096 * config/v850/v850-c.c: Likewise.
3097 * config/v850/v850.c: Likewise.
3098 * config/vax/vax.c: Likewise.
3099 * config/visium/visium.c: Likewise.
3100 * config/vms/vms-c.c: Likewise.
3101 * config/vms/vms.c: Likewise.
3102 * config/vxworks.c: Likewise.
3103 * config/xtensa/xtensa.c: Likewise.
3104
3105 2015-07-07 Uros Bizjak <ubizjak@gmail.com>
3106
3107 * config/i386/i386.md (*jcc_bt<mode>): Only split before reload.
3108 Remove operand constraints. Change operand 2 predicate to
3109 nonmemory operand. Limit const_int values to mode bitsize. Only
3110 allow const_int values less than 32 when optimizing for size.
3111 (*jcc_bt<mode>_1, *jcc_bt<mode>_mask): Only split before reload.
3112 Remove operand constraints.
3113 (*bt<mode>): Use SImode for const_int values less than 32.
3114 (regmode): Remove mode attribute.
3115
3116 2015-07-07 Anatoly Sokolov <aesok@post.ru>
3117
3118 * config/moxie/moxie.h (GO_IF_LEGITIMATE_ADDRESS): Remove macros.
3119 * config/moxie/moxie.c (moxie_reg_ok_for_base_p,
3120 moxie_legitimate_address_p): New functions.
3121 (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define.
3122
3123 2015-07-07 Tom de Vries <tom@codesourcery.com>
3124
3125 PR tree-optimization/66642
3126 * tree-parloops.c (transform_to_exit_first_loop_alt): Update function
3127 header comment. Rename split_edge variable to edge_at_split. Split
3128 exit edge to create new loop exit bb. Insert loop exit phis in new
3129 loop exit bb.
3130
3131 2015-07-07 Tom de Vries <tom@codesourcery.com>
3132
3133 * tree-cfg.c (get_virtual_phi): New function.
3134 * tree-cfg.h (get_virtual_phi): Declare.
3135 * tree-ssa-loop-manip.c (replace_uses_in_dominated_bbs)
3136 (rewrite_virtuals_into_loop_closed_ssa): New function.
3137 * tree-ssa-loop-manip.h (rewrite_virtuals_into_loop_closed_ssa):
3138 Declare.
3139 * tree-parloops.c (replace_uses_in_bbs_by): Remove.
3140 (transform_to_exit_first_loop_alt): Use
3141 rewrite_virtuals_into_loop_closed_ssa.
3142
3143 2015-07-07 Richard Biener <rguenther@suse.de>
3144
3145 * fold-const.c (fold_binary_loc): Move
3146 (X & C2) << C1 -> (X << C1) & (C2 << C1) simplification ...
3147 * match.pd: ... here.
3148 Add (X * C1) % C2 -> 0 simplification pattern derived from
3149 extract_muldiv_1.
3150
3151 2015-07-07 Kaz Kojima <kkojima@gcc.gnu.org>
3152
3153 PR target/66780
3154 * config/sh/sh.md (symGOT_load): Revert a part of 2015-03-03
3155 change for target/65249.
3156
3157 2015-07-07 Paulo Matos <pmatos@broadcom.com>
3158
3159 * symtab.c (address_matters_1): Fix typo in comment above.
3160 (can_increase_alignment_p): Likewise.
3161
3162 2015-07-07 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
3163
3164 * function.c (free_after_compilation): Clear PROP_cfg in
3165 f->curr_properties.
3166
3167 2015-07-07 Richard Biener <rguenther@suse.de>
3168
3169 * tree-ssa-propagate.c (add_ssa_edge): Dump what edge list we
3170 add which use to.
3171 (add_control_edge): Remove excessive vertical space in dumping.
3172 (process_ssa_edge_worklist): Simulate at most one statement and
3173 return whether we did. Do not simulate PHIs if they are in a
3174 BB not yet simulated.
3175 (ssa_propagate): Adjust to always drain the BB worklist whenever
3176 a BB is available there, likewise the VARYING edges list before
3177 the interesting edge list.
3178
3179 2015-07-07 Christian Bruel <christian.bruel@st.com>
3180
3181 PR target/52144
3182 * config/arm/elf.h (TARGET_ASM_FILE_START_APP_OFF): Delete.
3183
3184 2015-07-07 Richard Biener <rguenther@suse.de>
3185
3186 PR middle-end/66739
3187 * match.pd: Condition A - B ==/!= 0 -> A ==/!= B on single-use
3188 A - B.
3189
3190 2015-07-06 Uros Bizjak <ubizjak@gmail.com>
3191
3192 * config/i386/i386.md (insv<mode>): Rename from insv. Use SWI48
3193 modes for operands 0 and 3. Use SImode for operands 2 and 3.
3194 Copy operand 0 to a temporary if !ext_register_operand. Remove
3195 ancient extract_bit_field workaround.
3196 (insv<mode>_1): Rename from mov<mode>_insv_1.
3197 (*insvqi): Rename from *movqi_insv_2.
3198 * config/i386/i386.c (emit_i386_cw_initialization): Update calls
3199 for renamed insvsi_1.
3200 (promote_duplicated_reg): Ditto for renamed insv<mode>_1.
3201
3202 2015-07-06 Nathan Sidwell <nathan@codesourcery.com>
3203
3204 * config/nvptx/nvptx.c (nvptx_reorg): Remove unused vars. Fix
3205 call to nvptx_reorg_subreg.
3206
3207 2015-07-06 Jim Wilson <jim.wilson@linaro.org>
3208
3209 * graphite-blocking.c (HAVE_isl): Include <stddef.h>.
3210 * graphite-dependencies.c, graphite-interchange.c,
3211 graphite-isl-ast-to-gimple.c, graphite-optimize-isl.c, graphite-poly.c,
3212 graphite-scop-detection.c, graphite-sese-to-poly.c, graphite.c:
3213 Likewise.
3214
3215 2015-07-06 Marc Glisse <marc.glisse@inria.fr>
3216
3217 * match.pd: Remove element_mode inside HONOR_*.
3218 (~ (-A) -> A - 1, ~ (A - 1) -> -A): Handle complex types.
3219 (~X | X -> -1, ~X ^ X -> -1): Merge.
3220 * tree.c (build_each_one_cst): New function.
3221 * tree.h (build_each_one_cst): Likewise.
3222
3223 2015-07-06 H.J. Lu <hongjiu.lu@intel.com>
3224
3225 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
3226 PROCESSOR_IAMCU.
3227
3228 2015-07-06 Steve Ellcey <sellcey@imgtec.com>
3229
3230 * config.gcc <mips*-*-*>: Add fused-madd.opt.
3231 * config/mips/mips.opt (mfused-madd): Remove.
3232 * config/mips/mips.c (mips_rtx_costs): Update cost calculations.
3233 * config/mips/mips.h (TARGET_MIPS8000): New.
3234 (ISA_HAS_FP_MADD4_MSUB4): Remove.
3235 (ISA_HAS_FP_MADDF_MSUBF): Remove.
3236 (ISA_HAS_FP_MADD3_MSUB3): Remove.
3237 (ISA_HAS_NMADD4_NMSUB4): Remove.
3238 (ISA_HAS_NMADD3_NMSUB3): Remove.
3239 (ISA_HAS_FUSED_MADD4): New.
3240 (ISA_HAS_UNFUSED_MADD4): New.
3241 (ISA_HAS_FUSED_MADDF): New.
3242 (ISA_HAS_FUSED_MADD3): New.
3243 * config/mips/mips.md: (fma<mode>4) Change from insn to expand.
3244 (*fma<mode>4_madd3) New.
3245 (*fma<mode>4_madd4) New.
3246 (*fma<mode>4_maddf) New.
3247 (fms<mode>4) New.
3248 (*fms<mode>4_msub3) New.
3249 (*fms<mode>4_msub4) New.
3250 (fnma<mode>4) New.
3251 (*fnma<mode>4_nmadd3) New.
3252 (*fnma<mode>4_nmadd4) New.
3253 (fnms<mode>4) New.
3254 (*fnms<mode>4_nmsub3) New.
3255 (*fnms<mode>4_nmsub4) New.
3256 (*madd4<mode>) Modify to be unfused only.
3257 (*msub4<mode>) Modify to be unfused only.
3258 (*nmadd4<mode>) Modify to be unfused only.
3259 (*nmsub4<mode>) Modify to be unfused only.
3260 (*madd3<mode>) Remove.
3261 (*msub3<mode>) Remove.
3262 (*nmadd3<mode>) Remove.
3263 (*nmsub3<mode>) Remove.
3264 (*nmadd3<mode>_fastmath) Remove.
3265 (*nmsub3<mode>_fastmath) Remove.
3266 (*nmadd4<mode>_fastmath) Update condition.
3267 (*nmsub4<mode>_fastmath) Update condition.
3268
3269 2015-07-06 Alan Lawrence <alan.lawrence@arm.com>
3270
3271 PR target/65956
3272 * config/arm/arm.c (arm_needs_doubleword_align): Drop any outer
3273 alignment attribute, exploring one level down for records and arrays.
3274
3275 2015-07-06 Uros Bizjak <ubizjak@gmail.com>
3276
3277 * config/i386/i386.md (extv<mode>): Rename from extv. Use SWI24
3278 modes for operands 0 and 1. Use SImode for operands 2 and 3.
3279 Copy operand 1 to a temporary if !ext_register_operand. Remove
3280 ancient extract_bit_field workaround.
3281 (*extv<mode>): Rename from *mov<mode>_extv_1.
3282 (*extvqi): Rename from *movqi_extv_1.
3283 (extzv<mode>): Rename from extzv. Use SWI248 modes for
3284 operands 0 and 1. Use SImode for operands 2 and 3. Copy operand 1
3285 to a temporary if !ext_register_operand. Remove ancient
3286 extract_bit_field workaround.
3287 (*extzv<mode>): Rename from *mov<mode>_extzv_1.
3288 (*extzvqi): Rename from *movqi_extzv_2.
3289 (*testqi_ext_3): Remove modes from const_int_operand predicated
3290 operands. Add "n" constraint.
3291 (*btsq, *btrq, *btcq): Remove mode from const_0_to_63 predicated
3292 operand. Add "J" constraint.
3293 (*btsq, *btrq, *btcq peephole2s): Remove mode from
3294 const_0_to_63 predicated operand.
3295 (regmode): New insn attribute.
3296 (*bt<mode>): Use SImode for operand 1. Change operand 1 predicate
3297 to nonmemory_operand. Use regmode insn attribute.
3298 (*jcc_bt<mode>_1): Convert operand 2 to SImode.
3299 (*jcc_bt<mode>_mask): Remove mode from operand 3.
3300 (*jcc_btsi_1, *jcc_btsi_mask_1): Remove patterns.
3301 (tbm_bextri_<mode>): Remove modes from const_0_to_255 predicated
3302 operands. Use "N" constraint instead of "n".
3303
3304 2015-07-06 Alan Lawrence <alan.lawrence@arm.com>
3305
3306 * config/arm/arm.md (movdi): Avoid odd-number ldrd/strd in ARM state.
3307
3308 2015-07-06 H.J. Lu <hongjiu.lu@intel.com>
3309
3310 PR target/66749
3311 * config/i386/i386.c (iamcu_cost): New.
3312 (m_IAMCU): Likewise.
3313 (initial_ix86_arch_features): Disable X86_ARCH_CMOV for m_IAMCU.
3314 (processor_target_table): Add an entry for "iamcu".
3315 (processor_alias_table): Likewise.
3316 (ix86_issue_rate): Handle PROCESSOR_IAMCU.
3317 (ix86_adjust_cost): Likewise.
3318 (ia32_multipass_dfa_lookahead): Likewise.
3319 * config/i386/i386.h (processor_type): Add PROCESSOR_IAMCU.
3320 * config/i386/x86-tune.def: Updated for m_IAMCU.
3321
3322 2015-07-06 Richard Biener <rguenther@suse.de>
3323
3324 PR tree-optimization/66772
3325 * tree-ssa-ccp.c (ccp_visit_phi_node): Make sure that copy
3326 values are available in the PHI node BB when there are
3327 still unexecutable edges.
3328
3329 2015-07-06 Richard Biener <rguenther@suse.de>
3330
3331 PR tree-optimization/66767
3332 * tree-vect-loop-manip.c (vect_create_cond_for_align_checks):
3333 Make sure to build the alignment test on a SSA name without
3334 final alignment info valid only if the alignment test
3335 evaluates to true.
3336
3337 2015-07-06 Bernd Schmidt <bernds@codesourcery.com>
3338
3339 PR target/66620
3340 * config/bfin/bfin.c (hwloop_optimize): Create new bb between jump and
3341 loop start when inserting LSETUP.
3342
3343 2015-07-06 H.J. Lu <hongjiu.lu@intel.com>
3344
3345 PR target/53383
3346 * config/i386/i386.c (ix86_option_override_internal): Allow
3347 -mincoming-stack-boundary=3 for 64-bit if SSE is disabled.
3348
3349 2015-07-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3350
3351 * read-md.c (decimal_string): Rename to ...
3352 (md_decimal_string): ... this.
3353 (handle_enum): Reflect this.
3354
3355 2015-07-06 Szabolcs Nagy <szabolcs.nagy@arm.com>
3356
3357 PR target/66731
3358 * config/aarch64/aarch64.md (fnmul<mode>3): Handle -frounding-math.
3359
3360 2015-07-06 Richard Biener <rguenther@suse.de>
3361
3362 PR middle-end/66759
3363 * match.pd: Add missing constraint of y to REAL_CST in
3364 REAL_CST - x CMP y to y - CST CMP x simplification.
3365
3366 2015-07-06 Eric Botcazou <ebotcazou@adacore.com>
3367
3368 PR tree-optimization/66757
3369 * match.pd: Add missing condition to ~X ^ C -> X ^ ~C.
3370
3371 2015-07-05 Chung-Lin Tang <cltang@codesourcery.com>
3372 Sandra Loosemore <sandra@codesourcery.com>
3373
3374 * config/nios2/nios2-protos.h (nios2_symbol_ref_in_small_data_p):
3375 Delete extern declaration.
3376 (gprel_constant_p): Add extern declaration.
3377 * config/nios2/constraints.md ("S"): Use gprel_constant_p
3378 instead of nios2_symbol_ref_in_small_data_p.
3379 * config/nios2/nios2.c (nios2_legitimate_address_p): Likewise.
3380 (nios2_symbol_ref_in_small_data_p): Make static.
3381 (gprel_constant_p): Make non-static.
3382
3383 2015-07-05 Gerald Pfeifer <gerald@pfeifer.com>
3384
3385 * doc/fragments.texi (Target Fragment): Convert debian.org
3386 link to use https.
3387 * doc/install.texi (Configuration): Ditto.
3388
3389 2015-07-05 Jakub Jelinek <jakub@redhat.com>
3390
3391 PR tree-optimization/66718
3392 * tree-vect-stmts.c (vectorizable_call): Replace uses of
3393 GOMP_SIMD_LANE outside of loop with vf - 1 rather than 0.
3394
3395 PR tree-optimization/66718
3396 * tree-vect-stmts.c (vectorizable_assignment, vectorizable_store,
3397 vectorizable_load, vectorizable_condition): Move vectype,
3398 nunits, ncopies computation after checking what kind of statement
3399 stmt is.
3400
3401 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
3402
3403 * target-insns.def (extv, extzv, insv): New targetm instruction
3404 patterns.
3405 * optabs.c (get_extraction_insn): Use them instead of HAVE_*/gen_*
3406 interface.
3407 * recog.c (simplify_while_replacing): Likewise.
3408
3409 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
3410
3411 * target-insns.def (doloop_begin, doloop_end): New targetm
3412 instruction patterns.
3413 * loop-init.c: Include target.h.
3414 (pass_loop2::gate): Use the new targetm patterns instead of
3415 HAVE_*/gen_* interface.
3416 (pass_rtl_doloop::gate): Likewise.
3417 (pass_rtl_doloop::execute): Remove preprocessor condition.
3418 * hw-doloop.c: Build unconditionally.
3419 * loop-doloop.c: Likewise.
3420 (doloop_optimize): Use the new targetm patterns instead of
3421 HAVE_*/gen_* interface.
3422 (doloop_modify): Likewise. Change type of doloop_seq to rtx_insn *.
3423 * modulo-sched.c (doloop_register_get): Likewise.
3424
3425 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
3426
3427 * target-insns.def (clear_cache): New targetm instruction pattern.
3428 * builtins.c (expand_builtin___clear_cache): Use it instead of
3429 HAVE_*/gen_* interface.
3430
3431 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
3432
3433 * target-insns.def (allocate_stack, check_stack, probe_stack)
3434 (probe_stack_address, split_stack_prologue, split_stack_space_check):
3435 New targetm instruction patterns.
3436 * explow.c (allocate_dynamic_stack_space): Use them instead of
3437 HAVE_*/gen_* interface.
3438 (emit_stack_probe): Likewise.
3439 (probe_stack_range): Likewise.
3440 * function.c (thread_prologue_and_epilogue_insns): Likewise.
3441
3442 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
3443
3444 * target-insns.def (stack_protect_set, stack_protect_test): New
3445 targetm instruction patterns.
3446 * cfgexpand.c (stack_protect_prologue): Use them instead of
3447 HAVE_*/gen_* interface.
3448 * function.c (stack_protect_epilogue): Likewise.
3449
3450 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
3451
3452 * expr.h (gen_move_insn_uncast): Delete.
3453 * expr.c (gen_move_insn_uncast): Delete.
3454
3455 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
3456
3457 * target-insns.def (restore_stack_block, restore_stack_function)
3458 (restore_stack_nonlocal, save_stack_block, save_stack_function)
3459 (save_stack_nonlocal): New targetm instruction patterns.
3460 * builtins.c (expand_builtin_apply): Use them instead of
3461 HAVE_*/gen_* interface.
3462 * explow.c (emit_stack_save, emit_stack_restore): Likewise.
3463
3464 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
3465
3466 * target-insns.def (trap): New targetm instruction pattern.
3467 * builtins.c (expand_builtin_trap): Use it instead of HAVE_*/gen_*
3468 interface.
3469 * explow.c (allocate_dynamic_stack_space): Likewise.
3470 * ifcvt.c (find_if_header): Likewise.
3471
3472 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
3473
3474 * target-insns.def (prefetch): New targetm instruction pattern.
3475 * tree-ssa-loop-prefetch.c: Include targeth.
3476 (tree_ssa_prefetch_arrays): Use prefetch targetm pattern instead
3477 of HAVE_*/gen_* interface.
3478 * builtins.c (expand_builtin_prefetch): Likewise.
3479 * toplev.c (process_options): Likewise.
3480
3481 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
3482
3483 * target-insns.def (untyped_call, untyped_return): New targetm
3484 instruction patterns.
3485 * builtins.c (expand_builtin_apply): Use them instead of
3486 HAVE_*/gen_* interface.
3487 (result_vector): Define unconditionally.
3488
3489 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
3490
3491 * target-insns.def (builtin_longjmp, builtin_setjmp_receiver)
3492 (builtin_setjmp_setup, exception_receiver, nonlocal_goto)
3493 (nonlocal_goto_receiver): New targetm instruction patterns.
3494 * builtins.c (expand_builtin_setjmp_setup): Use them instead
3495 of HAVE_*/gen_* interface.
3496 (expand_builtin_setjmp_receiver): Likewise.
3497 (expand_builtin_longjmp, expand_builtin_nonlocal_goto): Likewise.
3498 * except.c (expand_dw2_landing_pad_for_region): Likewise.
3499
3500 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
3501
3502 * target.def: Add code_for_* hooks.
3503 * gentarget-def.c (def_target_insn): Add TARGET_CODE_FOR_* macros.
3504 * defaults.h (HAVE_tablejump, gen_tablejump): Delete.
3505 * target-insns.def (casesi, tablejump): New targetm instruction
3506 patterns.
3507 * expr.c (try_casesi): Use them instead of HAVE_*/gen_* interface.
3508 (do_tablejump): Likewise.
3509 * stmt.c (expand_switch_as_decision_tree_p): Likewise.
3510 (expand_sjlj_dispatch_table): Likewise.
3511 * targhooks.c (default_case_values_threshold): Likewise.
3512
3513 2015-07-04 Sandra Loosemore <sandra@codesourcery.com>
3514
3515 * config/nios2/nios2.c (save_reg, restore_reg): Use plus_constant.
3516 Use rtx_insn * instead of rtx.
3517 (nios2_emit_add_constant): Use rtx_insn * instead of rtx.
3518 (nios2_expand_prologue, nios2_expand_epilogue): Likewise.
3519 (nios2_call_tls_get_addr): Likewise.
3520 (nios2_emit_expensive_div): Likewise.
3521 (nios2_emit_move_sequence): Change return type to bool.
3522 * config/nios2/nios2-protos.h (nios2_emit_move_sequence):
3523 Change return type to bool.
3524
3525 2015-07-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
3526
3527 PR target/66747
3528 * config/mips/mips.c (mips_find_gp_ref): Handle instruction sequences.
3529
3530 2015-07-04 John David Anglin <danglin@gcc.gnu.org>
3531
3532 PR target/66114
3533 * config/pa/pa.md (indirect_jump): Use pmode_register_operand instead
3534 of register_operand. Remove constraint.
3535
3536 2015-07-04 Marc Glisse <marc.glisse@inria.fr>
3537
3538 * tree-cfg.c (verify_gimple_assign_ternary) <VEC_COND_EXPR>: Check
3539 the first argument.
3540
3541 2015-07-03 Paolo Carlini <paolo.carlini@oracle.com>
3542
3543 * attribs.c (decl_attributes): Guard inform with the return value
3544 of the preceding warning.
3545
3546 2015-07-03 James Greenhalgh <james.greenhalgh@arm.com>
3547
3548 * doc/invoke.texi (moverride): Move to correct section.
3549
3550 2015-07-03 Richard Biener <rguenther@suse.de>
3551
3552 * genmatch.c (commutative_tree_code, commutative_ternary_tree_code):
3553 Copy from tree.c
3554 (dt_operand::gen_gimple_expr): After valueizing operands
3555 re-canonicalize operand order for commutative tree codes.
3556
3557 2015-07-03 H.J. Lu <hongjiu.lu@intel.com>
3558
3559 PR target/66746.
3560 * config/i386/ia32intrin.h (__crc32b): Don't define if __iamcu__
3561 is defined.
3562 (__crc32w): Likewise.
3563 (__crc32d): Likewise.
3564 (__rdpmc): Likewise.
3565 (__rdtscp): Likewise.
3566 (_rdpmc): Likewise.
3567 (_rdtscp): Likewise.
3568 * config/i386/x86intrin.h: Only include ia32intrin.h if __iamcu__
3569 is defined.
3570
3571 2015-07-03 Richard Biener <rguenther@suse.de>
3572
3573 * fold-const.c (fold_mathfn_compare): Remove.
3574 (fold_inf_compare): Likewise.
3575 (fold_comparison): Move floating point comparison simplifications...
3576 * match.pd: ... to patterns here. Introduce simple_comparisons
3577 operator list and use it for patterns formerly in fold_comparison.
3578
3579 2015-07-03 James Greenhalgh <james.greenhalgh@arm.com>
3580
3581 PR tree-optimization/66119
3582 * toplev.c (process_options): Don't set up default values for
3583 the sra_max_scalarization_size_{speed,size} parameters.
3584 * tree-sra (analyze_all_variable_accesses): If no values
3585 have been set for the sra_max_scalarization_size_{speed,size}
3586 parameters, call get_move_ratio to get target defaults.
3587
3588 2015-07-03 Richard Biener <rguenther@suse.de>
3589
3590 * fold-const.c (fold_binary_loc): Move (T)ptr & CST folding...
3591 * match.pd: ... here.
3592
3593 2015-07-03 Gerald Pfeifer <gerald@pfeifer.com>
3594
3595 PR target/37072
3596 * doc/invoke.texi (i386 and x86-64 Options): -mno-fancy-math-387
3597 is not actually the default on FreeBSD.
3598
3599 2015-07-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3600
3601 * config/rs6000/rs6000-builtin.def (CMPGE_16QI): New built-in
3602 definition.
3603 (CMPGE_8HI): Likewise.
3604 (CMPGE_4SI): Likewise.
3605 (CMPGE_2DI): Likewise.
3606 (CMPGE_U16QI): Likewise.
3607 (CMPGE_U8HI): Likewise.
3608 (CMPGE_U4SI): Likewise.
3609 (CMPGE_U2DI): Likewise.
3610 (CMPLE_16QI): Likewise.
3611 (CMPLE_8HI): Likewise.
3612 (CMPLE_4SI): Likewise.
3613 (CMPLE_2DI): Likewise.
3614 (CMPLE_U16QI): Likewise.
3615 (CMPLE_U8HI): Likewise.
3616 (CMPLE_U4SI): Likewise.
3617 (CMPLE_U2DI): Likewise.
3618 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
3619 overloads for ALTIVEC_BUILTIN_VEC_CMPGE and
3620 ALTIVEC_BUILTIN_VEC_CMPLE.
3621 * config/rs6000/vector.md (vector_ge<mode>): Restrict to
3622 floating-point vector modes.
3623 (vector_nlt<mode>): New define_expand.
3624 (vector_nltu<mode>): Likewise.
3625 (vector_ngt<mode>): Likewise.
3626 (vector_ngtu<mode>): Likewise.
3627
3628 2015-07-02 Segher Boessenkool <segher@kernel.crashing.org>
3629
3630 PR rtl-optimization/66706
3631 * combine.c (make_compound_operation): If an AND of SUBREG of
3632 LSHIFTRT does not simplify, see if just the AND of SUBREG does.
3633
3634 2015-07-02 Alan Lawrence <alan.lawrence@arm.com>
3635
3636 * tree-pass.h (make_pass_ch_vect): New.
3637 * passes.def: Add pass_ch_vect just before pass_if_conversion.
3638
3639 * tree-ssa-loop-ch.c (ch_base, pass_ch_vect, pass_data_ch_vect,
3640 pass_ch::process_loop_p, pass_ch_vect::process_loop_p,
3641 make_pass_ch_vect): New.
3642 (pass_ch): Extend ch_base.
3643
3644 (pass_ch::execute): Move all but loop_optimizer_init/finalize to...
3645 (ch_base::copy_headers): ...here.
3646
3647 2015-07-02 Richard Biener <rguenther@suse.de>
3648
3649 * builtins.c (get_pointer_alignment_1): Handle POINTER_PLUS_EXPR.
3650 * fold-const.c (get_pointer_modulus_and_residue): Remove.
3651 (fold_binary_loc): Implement (T)ptr & CST in terms of
3652 get_pointer_alignment_1.
3653 * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop):
3654 Make sure to build the alignment test on a SSA name without
3655 final alignment info valid only after the prologue.
3656
3657 2015-07-02 Hans-Peter Nilsson <hp@axis.com>
3658
3659 * config/cris/cris.md ("epilogue"): Remove condition.
3660 ("prologue"): Ditto.
3661
3662 2015-07-02 Richard Biener <rguenther@suse.de>
3663
3664 * tree-ssa-dom.c (build_and_record_new_cond): Add optional
3665 parameter to record a condition that is false.
3666 (record_conditions): When recording an extra NE_EXPR that is
3667 true also record a EQ_EXPR that is false.
3668
3669 2015-07-02 Bin Cheng <bin.cheng@arm.com>
3670
3671 * tree-ssa-loop-ivopts.c (struct ivopts_data): New field iv_obstack.
3672 (tree_ssa_iv_optimize_init): Initialize iv_obstack.
3673 (alloc_iv): New parameter. Allocate struct iv using obstack_alloc.
3674 (set_iv, find_interesting_uses_address, add_candidate_1): New
3675 argument to alloc_iv.
3676 (find_interesting_uses_op, find_interesting_uses_cond): Don't
3677 duplicate struct iv.
3678 (free_loop_data): Don't free struct iv explicitly.
3679 (tree_ssa_iv_optimize_finalize): Free iv_obstack.
3680
3681 2015-07-01 DJ Delorie <dj@redhat.com>
3682
3683 * config/s390/tpf.h (LIBSTDCXX): Change to CPP1.
3684 (LIB_SPEC): Add.
3685 (SUPPORTS_DISCRIMINATOR): Define.
3686
3687 2015-07-01 Richard Sandiford <richard.sandiford@arm.com>
3688
3689 PR bootstrap/66685
3690 * rtl.c (classify_insn): Only return JUMP_INSN for parallel returns if
3691 there are no CALLs in the same pattern.
3692
3693 2015-07-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
3694
3695 PR rtl-optimization/61047
3696 * rtlanal.c (get_initial_register_offset): New function.
3697 (rtx_addr_can_trap_p_1): Check offsets of stack references.
3698
3699 2015-07-01 Richard Biener <rguenther@suse.de>
3700
3701 * fold-const.c (fold_comparison): Move X - Y CMP 0 -> X CMP Y,
3702 X * C1 CMP 0 -> X CMP 0, X CMP X, ~X CMP ~Y -> Y CMP X and
3703 ~X CMP C -> X CMP' ~C to ...
3704 * match.pd: ... patterns here.
3705
3706 2015-07-01 Nick Clifton <nickc@redhat.com>
3707
3708 * config/msp430/msp430.md (zero_extendhipsi2): Use MOVX.A to store
3709 a 16-bit value into a 20-bit memory slot.
3710
3711 2015-07-01 Jiong Wang <jiong.wang@arm.com>
3712
3713 * doc/sourcebuild.texi (AArch64-specific attributes): Document
3714 "aarch64_tiny", "aarch64_small", "aarch64_large",
3715 "aarch64_little_endian", "aarch64_big_endian".
3716
3717 2015-07-01 Jiong Wang <jiong.wang@arm.com>
3718
3719 * doc/sourcebuild.texi (AArch64-specific attributes): New subsection.
3720 Document "aarch64_small_fpic".
3721
3722 2015-07-01 Jiong Wang <jiong.wang@arm.com>
3723
3724 * configure.ac: Add check for aarch64 assembler -fpic relocation
3725 modifier support.
3726 * configure: Regenerate.
3727 * config.in: Regenerate.
3728 * config/aarch64/aarch64.c (initialize_aarch64_code_model): Fall back
3729 to -fPIC if not support of -fpic relocation modifier in assembler.
3730
3731 2015-07-01 Richard Sandiford <richard.sandiford@arm.com>
3732
3733 PR bootstrap/66685
3734 * rtl.c (classify_insn): Handle returns in PARALLELs.
3735
3736 2015-07-01 Eric Botcazou <ebotcazou@adacore.com>
3737
3738 PR middle-end/66633
3739 * tree-nested.c (convert_nonlocal_omp_clauses): Initialize need_chain
3740 to true if the function is nested and if not optimizing.
3741 (convert_local_omp_clauses): Initialize need_frame to true if the
3742 function contains nested functions and if not optimizing.
3743
3744 2015-07-01 Richard Biener <rguenther@suse.de>
3745
3746 * fold-const.c (fold_binary_loc): Move ~X ^ X -> -1 and
3747 (X & Y) ^ Y -> ~X & Y transforms to ...
3748 * match.pd: ... here.
3749
3750 2015-07-01 Richard Biener <rguenther@suse.de>
3751
3752 * genmatch.c (expr::gen_transform): Shortcut re-simplifying
3753 of converts to avoid uninteresting noise from the conversion
3754 simplifying patterns.
3755
3756 2015-06-30 Sandra Loosemore <sandra@codesourcery.com>
3757
3758 * config/c6x/c6x.c (try_rename_operands): Do not depend on
3759 gcc_assert evaluating its argument for side-effect.
3760
3761 2015-06-30 Kaz Kojima <kkojima@gcc.gnu.org>
3762
3763 PR target/64833
3764 * config/sh/sh.md (casesi_worker_1): Set length to 8 when
3765 flag_pic is set.
3766
3767 2015-06-30 Eric Botcazou <ebotcazou@adacore.com>
3768
3769 * lto-streamer-out.c (class DFS): Adjust hash_scc method.
3770 (DFS::DFS): Pass this_ref_p and ref_p to hash_scc.
3771 (hash_scc): Add this_ref_p and ref_p parameters and pass them
3772 to the inner DFS walk.
3773
3774 2015-06-30 Richard Sandiford <richard.sandiford@arm.com>
3775
3776 * target-insns.def (jump): New targetm instruction pattern.
3777 * bb-reorder.c (get_uncond_jump_length): Use targetm.gen_jump
3778 instead of gen_jump.
3779 (fix_up_crossing_landing_pad): Likewise.
3780 (add_labels_and_missing_jumps): Likewise.
3781 (fix_crossing_conditional_branches): Likewise.
3782 * cfgrtl.c (try_redirect_by_replacing_jump): Likewise.
3783 (force_nonfallthru_and_redirect): Likewise.
3784 * cse.c (cse_insn): Likewise.
3785 * expmed.c (expand_divmod): Likewise.
3786 * expr.c (store_expr_with_bounds, expand_expr_real_2): Likewise.
3787 * haifa-sched.c (init_before_recovery): Likewise.
3788 (sched_create_recovery_edges): Likewise.
3789 * ifcvt.c (find_cond_trap): Likewise.
3790 * optabs.c (expand_doubleword_shift, expand_doubleword_clz): Likewise.
3791 (expand_float, expand_fix): Likewise.
3792 * stmt.c (emit_jump): Likewise.
3793
3794 2015-06-30 Richard Sandiford <richard.sandiford@arm.com>
3795
3796 * defaults.h (HAVE_load_multiple, gen_load_multiple)
3797 (HAVE_store_multiple, gen_store_multiple): Delete.
3798 * target-insns.def (load_multiple, store_multiple): New targetm
3799 instruction patterns.
3800 * expr.c (move_block_to_reg, move_block_from_reg): Use them instead
3801 of HAVE_*/gen_* interface.
3802
3803 2015-06-30 Richard Sandiford <richard.sandiford@arm.com>
3804
3805 * defaults.h (HAVE_mem_thread_fence, gen_mem_thread_fence)
3806 (HAVE_memory_barrier, gen_memory_barrier, HAVE_mem_signal_fence)
3807 (gen_mem_signal_fence): Delete.
3808 * target-insns.def (mem_signal_fence, mem_thread_fence)
3809 (memory_barrier): New targetm instruction patterns.
3810 * optabs.c (expand_mem_thread_fence): Use them instead of HAVE_*/gen_*
3811 interface.
3812 (expand_mem_signal_fence): Likewise.
3813
3814 2015-06-30 Richard Sandiford <richard.sandiford@arm.com>
3815
3816 * defaults.h (HAVE_epilogue, gen_epilogue): Delete.
3817 * target-insns.def (epilogue, prologue, sibcall_prologue): New
3818 targetm instruction patterns.
3819 * alias.c (init_alias_analysis): Use them instead of HAVE_*/gen_*
3820 interface.
3821 * calls.c (expand_call): Likewise.
3822 * cfgrtl.c (cfg_layout_finalize): Likewise.
3823 * df-scan.c (df_get_entry_block_def_set): Likewise.
3824 (df_get_exit_block_use_set): Likewise.
3825 * dwarf2cfi.c (pass_dwarf2_frame::gate): Likewise.
3826 * final.c (final_start_function): Likewise.
3827 * function.c (thread_prologue_and_epilogue_insns): Likewise.
3828 (reposition_prologue_and_epilogue_notes): Likewise.
3829 * reorg.c (find_end_label): Likewise.
3830 * toplev.c (process_options): Likewise.
3831
3832 2015-06-30 David Malcolm <dmalcolm@redhat.com>
3833
3834 * typed-splay-tree.h: New file.
3835
3836 2015-06-30 Vladimir Makarov <vmakarov@redhat.com>
3837
3838 PR debug/66691
3839 * lra-int.h (lra_substitute_pseudo): Add a parameter.
3840 (lra_substitute_pseudo_within_insn): Ditto.
3841 * lra.c (lra_substitute_pseudo): Add a parameter. Simplify subreg
3842 of constant.
3843 (lra_substitute_pseudo_within_insn): Add a parameter. Transfer it
3844 to lra_substitute_pseudo.
3845 * lra-lives.c (process_bb_lives): Add an argument to
3846 lra_substitute_pseudo_within_insn call.
3847 * lra-constraints.c (inherit_reload_reg, split_reg): Add an
3848 argument to lra_substitute_pseudo and
3849 lra_substitute_pseudo_within_insn calls.
3850 (remove_inheritance_pseudos, undo_optional_reloads): Ditto.
3851
3852 2015-06-30 H.J. Lu <hongjiu.lu@intel.com>
3853
3854 * configure: Regenerated.
3855
3856 2015-06-30 H.J. Lu <hongjiu.lu@intel.com>
3857
3858 * config.gcc: Support i[34567]86-*-elfiamcu target.
3859 * config/i386/iamcu.h: New.
3860 * config/i386/i386.opt: Add -miamcu.
3861 * doc/invoke.texi: Document -miamcu.
3862 * common/config/i386/i386-common.c (ix86_handle_option): Turn
3863 off x87/MMX/SSE/AVX codegen for -miamcu.
3864 * config/i386/i386-c.c (ix86_target_macros_internal): Define
3865 __iamcu/__iamcu__ for -miamcu.
3866 * config/i386/i386.h (PREFERRED_STACK_BOUNDARY_DEFAULT): Set
3867 to MIN_STACK_BOUNDARY if TARGET_IAMCU is true.
3868 (BIGGEST_ALIGNMENT): Set to 32 if TARGET_IAMCU is true.
3869 * config/i386/i386.c (ix86_option_override_internal): Ignore and
3870 warn -mregparm for Intel MCU. Turn on -mregparm=3 for Intel
3871 MCU by default. Default long double to 64-bit for Intel MCU.
3872 Turn on -freg-struct-return for Intel MCU. Issue an error when
3873 -miamcu is used in 64-bit or x32 mode or if x87, MMX, SSE or
3874 AVX is turned on.
3875 (function_arg_advance_32): Pass value whose size is no larger
3876 than 8 bytes in registers for Intel MCU.
3877 (function_arg_32): Likewise.
3878 (ix86_return_in_memory): Return value whose size is no larger
3879 than 8 bytes in registers for Intel MCU.
3880 (iamcu_alignment): New function.
3881 (ix86_data_alignment): Call iamcu_alignment if TARGET_IAMCU is
3882 true.
3883 (ix86_local_alignment): Don't increase alignment for Intel MCU.
3884 (x86_field_alignment): Return iamcu_alignment if TARGET_IAMCU is
3885 true.
3886
3887 2015-06-30 Marek Polacek <polacek@redhat.com>
3888
3889 * match.pd (X - (X / Y) * Y): Use convert1 and convert2. Convert
3890 both operands of the resulting expression.
3891
3892 * match.pd (~x | x): Don't use tree_nop_conversion_p. Build
3893 the final expression with the operand's type and then convert
3894 it to the type of the expression.
3895
3896 2015-06-30 Richard Biener <rguenther@suse.de>
3897
3898 * fold-const.c (fold_binary_loc): Move ~x & ~y -> ~(x | y) and
3899 ~x | ~y -> ~(x & y), (x & CST) ^ (x & CST2) -> (x & CST) | (x & CST2),
3900 (X | Y) ^ X -> Y & ~ X, ~X ^ ~Y to X ^ Y and ~X ^ C to X ^ ~C ...
3901 * match.pd: ... to patterns here.
3902
3903 2015-06-30 Richard Biener <rguenther@suse.de>
3904
3905 PR tree-optimization/66704
3906 * tree-vect-data-refs.c (vect_setup_realignment): Use
3907 make_ssa_name for non-SSA name source.
3908
3909 2015-06-30 Jakub Jelinek <jakub@redhat.com>
3910
3911 PR middle-end/66702
3912 * omp-low.c (simd_clone_adjust): Handle addressable linear
3913 or uniform parameters or non-gimple type uniform parameters.
3914
3915 2015-06-30 Richard Biener <rguenther@suse.de>
3916
3917 * fold-const.c (fold_unary_loc): Move abs(abs(x)) -> abs(x),
3918 ~ (-A) to A - 1, ~ (A - 1) or ~ (A + -1) to -A and some cases of
3919 ~(X ^ Y) to ~X ^ Y or X ^ ~Y if ~X or ~Y simplify to ...
3920 * match.pd: ... here.
3921 Add a few cases of A - B -> A + (-B) when B "easily" negates.
3922 Move (x & y) | x -> x and friends before
3923 (x | CST1) & CST2 -> (x & CST2) | (CST1 & CST2).
3924
3925 2015-06-30 Eric Botcazou <ebotcazou@adacore.com>
3926
3927 * config/sparc/leon.md (leon_load): Enable for all LEON variants if
3928 -mfix-ut699 is not specified.
3929 (leon3_load): Rename into...
3930 (ut699_load): ...this. Enable for all LEON variants if -mfix-ut699
3931 is specified.
3932
3933 2015-06-30 Marek Polacek <polacek@redhat.com>
3934
3935 * fold-const.c (fold_binary_loc): Move ~X | X folding ...
3936 * match.pd: ... here.
3937
3938 2015-06-30 Richard Biener <rguenther@suse.de>
3939
3940 * target-insns.def (canonicalize_funcptr_for_compare): Add.
3941 * fold-const.c (build_range_check): Replace uses of
3942 HAVE_canonicalize_funcptr_for_compare.
3943 (fold_widened_comparison): Likewise.
3944 (fold_sign_changed_comparison): Likewise.
3945 * dojump.c: Include "target.h".
3946 (do_compare_and_jump): Replace uses of
3947 HAVE_canonicalize_funcptr_for_compare and
3948 gen_canonicalize_funcptr_for_compare.
3949 * expr.c (do_store_flag): Likewise.
3950
3951 2015-06-30 Tom de Vries <tom@codesourcery.com>
3952
3953 PR tree-optimization/66652
3954 * tree-parloops.c (try_transform_to_exit_first_loop_alt): Use
3955 max_loop_iterations to determine if nit + 1 overflows.
3956
3957 2015-06-30 Richard Biener <rguenther@suse.de>
3958
3959 * tree-vrp.c (register_edge_assert_for_2): Also register
3960 asserts for dominating conversion results.
3961
3962 2015-06-30 Bin Cheng <bin.cheng@arm.com>
3963
3964 * tree-ssa-loop-ivopts.c (record_sub_use): Don't reset ssa_name
3965 field in struct iv.
3966
3967 2015-06-29 Jack Howarth <howarth.at.gcc@gmail.com>
3968
3969 PR target/66509
3970 * configure.ac: Fix filds and fildq test for 64-bit.
3971 * configure: Regenerated.
3972
3973 2015-06-29 Nathan Sidwell <nathan@codesourcery.com>
3974
3975 * config/nvptx/nvptx.md (nvptx_reorg_subreg): New fn, broken out of ...
3976 (nvptx_reorg): Here. Keep the non-subreg pieces.
3977
3978 2015-06-29 H.J. Lu <hongjiu.lu@intel.com>
3979
3980 * config/gnu-user.h (GNU_USER_TARGET_ENDFILE_SPEC): Use
3981 PIE_SPEC and NO_PIE_SPEC if HAVE_LD_PIE is defined.
3982
3983 2015-06-29 Uros Bizjak <ubizjak@gmail.com>
3984
3985 * config/i386/i386.md (*jcc_1): Use %! in asm template.
3986 Set attribute "length_nobnd" instead of "length".
3987 (*jcc_2): Ditto.
3988 (jump): Ditto.
3989 (*jcc_1_bnd, *jcc_2_bnd, jump_bnd): Remove insn patterns.
3990
3991 2015-06-29 Sandra Loosemore <sandra@codesourcery.com>
3992
3993 * config/nios2/nios2.c (nios2_delegitimize_address): Make
3994 assert less restrictive.
3995
3996 2015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
3997
3998 PR fortran/66605
3999 * cgraphunit.c (cgraph_node::finalize_function): Do not call
4000 do_warn_unused_parameter.
4001 * function.c (do_warn_unused_parameter): Move from here.
4002 * function.h (do_warn_unused_parameter): Do not declare.
4003
4004 2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
4005
4006 PR target/65697
4007 * gcc.target/arm/armv-sync-comp-swap.c: New.
4008 * gcc.target/arm/armv-sync-op-acquire.c: New.
4009 * gcc.target/arm/armv-sync-op-full.c: New.
4010 * gcc.target/arm/armv-sync-op-release.c: New.
4011
4012 2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
4013
4014 PR target/65697
4015 * config/armc/arm.c (arm_split_compare_and_swap): For ARMv8, replace an
4016 initial acquire barrier with final barrier.
4017
4018 2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
4019
4020 PR target/65697
4021 * config/armc/arm.c (arm_split_atomic_op): For ARMv8, replace an
4022 initial acquire barrier with final barrier.
4023
4024 2015-06-29 Richard Henderson <rth@redhat.com>
4025
4026 * config/i386/constraints.md (Bf): New constraint.
4027 * config/i386/i386-c.c (ix86_target_macros): Define
4028 __GCC_ASM_FLAG_OUTPUTS__.
4029 * config/i386/i386.c (ix86_md_asm_adjust): Handle =@cc* constraints
4030 as flags outputs.
4031 * doc/extend.texi (FlagOutputOperands): Document them.
4032
4033 2015-06-29 Jiong Wang <jiong.wang@arm.com>
4034
4035 * config/arch64/aarch64.md (UNSPEC_TLSLE): New enumeration.
4036 * config/arch64/aarch64.md (tlsle_small): Rename to tlsle and use new
4037 unspec name.
4038 (tlsle_small_<mode>): Rename to tlsle_<mode> and use new unspec name.
4039 * config/arch64/aarch64-protos.h (arch64_symbol_type): Rename
4040 SYMBOL_SMALL_TPREL to SYMBOL_TLSLE.
4041 (aarch64_symbol_context): Ditto.
4042 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Ditto
4043 and use new pattern name.
4044 (aarch64_expand_mov_immediate): Ditto.
4045 (aarch64_print_operand): Ditto.
4046 (aarch64_classify_tls_symbol): Ditto.
4047
4048 2015-06-29 Marek Polacek <polacek@redhat.com>
4049 Marc Glisse <marc.glisse@inria.fr>
4050
4051 * fold-const.c (fold_binary_loc): Move X - (X / Y) * Y -> X % Y to ...
4052 * match.pd: ... pattern here.
4053
4054 2015-06-29 Tom de Vries <tom@codesourcery.com>
4055
4056 * tree-parloops.c (try_transform_to_exit_first_loop_alt): Simplify
4057 function structure.
4058
4059 2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
4060
4061 * doc/invoke.texi (Aarch64 Options, -march): Split out arch and
4062 feature description, split out the native option, add a link to
4063 the feature documentation, rearrange and slightly rewrite text.
4064 (Aarch64 options, -mcpu): Likewise.
4065 (Aarch64 options, Feature Modifiers): Add an anchor. Mention
4066 +rdma implies Adv. SIMD.
4067
4068 2015-06-29 Marek Polacek <polacek@redhat.com>
4069
4070 PR c/66322
4071 * function.c (stack_protect_epilogue): Remove a cast to int.
4072 * doc/invoke.texi: Update -Wswitch-bool description.
4073
4074 2015-06-29 Richard Biener <rguenther@suse.de>
4075
4076 * genmatch.c (add_operator): Treat ADDR_EXPR as atom.
4077 * fold-const.c (fold_binary_loc): Move &A - &B simplification
4078 via ptr_difference_const ...
4079 * match.pd: ... here.
4080 When matching (X ^ Y) == Y also match with swapped operands.
4081
4082 2015-06-29 Richard Biener <rguenther@suse.de>
4083
4084 * lto-streamer.h (LTO_major_version): Bump to 5.
4085
4086 2015-06-29 Richard Biener <rguenther@suse.de>
4087
4088 PR tree-optimization/66677
4089 * tree-vect-stmts.c (vect_transform_stmt): Make assert about
4090 STMT_VINFO_VEC_STMT clobbering less strict.
4091
4092 2015-06-29 Kugan Vivekanandarajah <kuganv@linaro.org>
4093
4094 PR middle-end/64130
4095 * tree-vrp.c (extract_range_from_binary_expr_1): For unsigned
4096 division, compute max and min when value ranges for dividend and
4097 divisor are available.
4098
4099 2015-06-28 Chung-Lin Tang <cltang@codesourcery.com>
4100 Sandra Loosemore <sandra@codesourcery.com>
4101
4102 * regrename.h (regrename_do_replace): Change to return bool.
4103 * regrename.c (rename_chains): Check return value of
4104 regname_do_replace.
4105 (regrename_do_replace): Re-validate the modified insns and
4106 return bool status.
4107 * config/aarch64/cortex-a57-fma-steering.c (rename_single_chain):
4108 Update to match rename_chains changes.
4109 * config/c6x/c6x.c (try_rename_operands): Assert that
4110 regrename_do_replace returns true.
4111
4112 2015-06-28 Uros Bizjak <ubizjak@gmail.com>
4113
4114 * config/i386/i386.md (<mode>_ldx): Do not zero-extend non-Pmode
4115 operand 2 here. Use copy_addr_to_reg to copy non-index
4116 register operand 2 to a temporary.
4117 (<mode>_stx): Ditto for operand 1.
4118 (*<mode>_ldx, *<mode>_stx): Remove enclosing parallel.
4119 * config/i386/i386.c (ix86_load_bounds): Zero-extend non-Pmode ptr here.
4120 (ix86_store_bounds): Ditto.
4121
4122 2015-06-27 Patrick Palka <ppalka@gcc.gnu.org>
4123
4124 * print-tree.c (print_node) [TREE_VEC]: Print its length.
4125
4126 2015-06-26 Andrew MacLeod <amacleod@redhat.com>
4127
4128 * gimple.c (gimple_call_set_fndecl): Remove.
4129 * gimple.h (gimple_call_set_fndecl): Relocate to gimple.h and call
4130 build1_loc directly instead of build_fold_addr_expr_loc.
4131
4132 2015-06-26 Richard Sandiford <richard.sandiford@arm.com>
4133
4134 * hash-map.h (hash_map::traverse): Use the definition of the
4135 Key typedef rather than the typedef itself.
4136
4137 2015-06-26 Martin Jambor <mjambor@suse.cz>
4138
4139 PR debug/66301
4140 * tree-ssa-pre.c (before_dom_children): Check that dump_file is not
4141 NULL instead of calling dump_enabled_p.
4142
4143 2015-06-26 James Greenhalgh <james.greenhalgh@arm.com>
4144
4145 * config/aarch64/aarch64.opt: (override): New.
4146 * doc/invoke.texi (override): Document.
4147 * config/aarch64/aarch64.c (aarch64_flag_desc): New
4148 (aarch64_fusible_pairs): Likewise.
4149 (aarch64_tuning_flags): Likewise.
4150 (aarch64_tuning_override_function): Likewise.
4151 (aarch64_tuning_override_functions): Likewise.
4152 (aarch64_parse_one_option_token): Likewise.
4153 (aarch64_parse_boolean_options): Likewise.
4154 (aarch64_parse_fuse_string): Likewise.
4155 (aarch64_parse_tune_string): Likewise.
4156 (aarch64_parse_one_override_token): Likewise.
4157 (aarch64_parse_override_string): Likewise.
4158 (aarch64_override_options): Parse the -override string if it
4159 is present.
4160
4161 2015-06-26 James Greenhalgh <james.greenhalgh@arm.com>
4162
4163 * config/aarch64/aarch64-protos.h (tune_params): Remove
4164 const from members.
4165 (aarch64_tune_params): Remove const, change to no longer be
4166 a pointer.
4167 * config/aarch64/aarch64.c (aarch64_tune_params): Remove const,
4168 change to no longer be a pointer, initialize to generic_tunings.
4169 (aarch64_min_divisions_for_recip_mul): Change dereference of
4170 aarch64_tune_params to member access.
4171 (aarch64_reassociation_width): Likewise.
4172 (aarch64_rtx_mult_cost): Likewise.
4173 (aarch64_address_cost): Likewise.
4174 (aarch64_branch_cost): Likewise.
4175 (aarch64_rtx_costs): Likewise.
4176 (aarch64_register_move_cost): Likewise.
4177 (aarch64_memory_move_cost): Likewise.
4178 (aarch64_sched_issue_rate): Likewise.
4179 (aarch64_builtin_vectorization_cost): Likewise.
4180 (aarch64_override_options): Take a copy of the selected tuning
4181 struct in to aarch64_tune_params, rather than just setting
4182 a pointer, change dereferences of aarch64_tune_params to member
4183 accesses.
4184 (aarch64_override_options_after_change): Change dereferences of
4185 aarch64_tune_params to member access.
4186 (aarch64_macro_fusion_p): Likewise.
4187 (aarch_macro_fusion_pair_p): Likewise.
4188 * config/aarch64/cortex-a57-fma-steering.c (gate): Likewise.
4189
4190 2015-06-26 James Greenhalgh <james.greenhalgh@arm.com>
4191
4192 * config/aarch64/aarch64.h (AARCH64_FL_USE_FMA_STEERING_PASS): Delete.
4193 (aarch64_tune_flags): Likewise.
4194 (AARCH64_TUNE_FMA_STEERING): Likewise.
4195 * config/aarch64/aarch64-cores.def (cortex-a57): Remove reference
4196 to AARCH64_FL_USE_FMA_STEERING_PASS.
4197 (cortex-a57.cortex-a53): Likewise.
4198 (cortex-a72): Use cortexa72_tunings.
4199 (cortex-a72.cortex-a53): Likewise.
4200 (exynos-m1): Likewise.
4201 * config/aarch64/aarch64-protos.h (tune_params): Add
4202 a field: extra_tuning_flags.
4203 * config/aarch64/aarch64-tuning-flags.def: New.
4204 * config/aarch64/aarch64-protos.h (AARCH64_EXTRA_TUNING_OPTION): New.
4205 (aarch64_extra_tuning_flags): Likewise.
4206 (aarch64_tune_params): Declare here.
4207 * config/aarch64/aarch64.c (generic_tunings): Set extra_tuning_flags.
4208 (cortexa53_tunings): Likewise.
4209 (cortexa57_tunings): Likewise.
4210 (thunderx_tunings): Likewise.
4211 (xgene1_tunings): Likewise.
4212 (cortexa72_tunings): New.
4213 * config/aarch64/cortex-a57-fma-steering.c: Include aarch64-protos.h.
4214 (gate): Check against aarch64_tune_params.
4215 * config/aarch64/t-aarch64 (cortex-a57-fma-steering.o): Depend on
4216 aarch64-protos.h.
4217
4218 2015-06-26 James Greenhalgh <james.greenhalgh@arm.com>
4219
4220 * config/aarch64/aarch64-fusion-pairs.def: New.
4221 * config/aarch64/aarch64-protos.h (aarch64_fusion_pairs): New.
4222 * config/aarch64/aarch64.c (AARCH64_FUSE_NOTHING): Move to
4223 aarch64_fusion_pairs.
4224 (AARCH64_FUSE_MOV_MOVK): Likewise.
4225 (AARCH64_FUSE_ADRP_ADD): Likewise.
4226 (AARCH64_FUSE_MOVK_MOVK): Likewise.
4227 (AARCH64_FUSE_ADRP_LDR): Likewise.
4228 (AARCH64_FUSE_CMP_BRANCH): Likewise.
4229
4230 2015-06-26 Jiong Wang <jiong.wang@arm.com>
4231
4232 * config/aarch64/aarch64-protos.h (aarch64_symbol_type): New type
4233 SYMBOL_SMALL_GOT_28K.
4234 * config/aarch64/aarch64.md: (ldr_got_small_<mode>): Support new GOT
4235 relocation modifiers.
4236 (unspec): New enum "UNSPEC_GOTMALLPIC28K.
4237 (ldr_got_small_28k_<mode>): New.
4238 (ldr_got_small_28k_sidi): New.
4239 * config/aarch64/iterators.md (got_modifier): New mode iterator.
4240 * config/aarch64/aarch64-otps.h (aarch64_code_model): New model.
4241 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Support
4242 SYMBOL_SMALL_GOT_28K.
4243 (aarch64_rtx_costs): Add costs for new instruction sequences.
4244 (initialize_aarch64_code_model): Initialize new model.
4245 (aarch64_classify_symbol): Recognize new model and new symbol classification.
4246 (aarch64_asm_preferred_eh_data_format): Support new model.
4247 (aarch64_load_symref_appropriately): Generate new instruction
4248 sequences for -fpic.
4249 (TARGET_USE_PSEUDO_PIC_REG): New definition.
4250 (aarch64_use_pseudo_pic_reg): New function.
4251
4252 2015-06-26 Jiong Wang <jiong.wang@arm.com>
4253
4254 * config/aarch64/aarch64-protos.h (aarch64_symbol_type): Rename
4255 SYMBOL_SMALL_GOT to SYMBOL_SMALL_GOT_4G.
4256 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Ditto.
4257 (aarch64_expand_mov_immediate): Ditto.
4258 (aarch64_print_operand): Ditto.
4259 (aarch64_classify_symbol): Ditto.
4260
4261 2015-06-26 Nathan Sidwell <nathan@codesourcery.com>
4262
4263 * config/nvptx/nvptx.md (call_operation): Remove unused variables.
4264
4265 2015-06-26 Bin Cheng <bin.cheng@arm.com>
4266
4267 PR bootstrap/66638
4268 * tree-ssa-loop-niter.c (loop_exits_before_overflow): Skip if
4269 assertion failed. Remove assertion itself.
4270
4271 2015-06-26 Richard Biener <rguenther@suse.de>
4272
4273 * fold-const.c (fold_binary_loc): Remove -A CMP -B -> A CMP B
4274 and -A CMP CST -> A CMP -CST which is redundant with a pattern
4275 in match.pd.
4276 Move (A | C) == D where C & ~D != 0 -> 0, (X ^ Y) ==/!= 0 -> X ==/!= Y,
4277 (X ^ Y) ==/!= {Y,X} -> {X,Y} ==/!= 0 and
4278 (X ^ C1) op C2 -> X op (C1 ^ C2) to ...
4279 * match.pd: ... patterns here.
4280
4281 2015-06-26 Marek Polacek <polacek@redhat.com>
4282
4283 * match.pd ((x | y) & ~(x & y) -> x ^ y,
4284 (x | y) & (~x ^ y) -> x & y): New patterns.
4285
4286 2015-06-26 Richard Sandiford <richard.sandiford@arm.com>
4287
4288 * rtl.h (emit): Add an optional boolean parameter to control
4289 whether barriers are emitted.
4290 * emit-rtl.c (emit): Likewise.
4291 * gensupport.c (get_emit_function): Return null rather than "emit".
4292 * genemit.c (gen_emit_seq): Handle the null return value.
4293 Don't emit barriers after the final instruction in the sequence.
4294 * gentarget-def.c (main): Don't emit barriers after the instruction.
4295
4296 2015-06-26 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
4297
4298 * config/arm/arm.c (arm_output_multireg_pop): Fix use of
4299 TARGET_UNIFIED_ASM.
4300
4301 2015-06-26 Richard Biener <rguenther@suse.de>
4302
4303 * match.pd: Allow associating FLOAT_TYPE_P when flag_associative_math.
4304
4305 2015-06-26 Richard Biener <rguenther@suse.de>
4306
4307 * match.pd: Allow (p +p off1) +p off2 to (p +p (off1 + off2))
4308 irrespective on whether the inner operation has a single use
4309 of both off are constant.
4310
4311 2015-06-26 Uros Bizjak <ubizjak@gmail.com>
4312 Segher Boessenkool <segher@kernel.crashing.org>
4313
4314 PR target/66412
4315 * config/i386/i386.md (various splitters): Use shallow_copy_rtx
4316 before doing PUT_MODE or PUT_CODE on operands to avoid
4317 in-place RTX modification.
4318
4319 2015-06-25 H.J. Lu <hongjiu.lu@intel.com>
4320
4321 * gentarget-def.c (def_target_insn): Cast return of strtol to
4322 unsigned int.
4323
4324 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
4325
4326 * gimple.h (gimple_call_set_fn): Move inline function.
4327 * gimple.c (gimple_call_set_fn): Relocate here.
4328
4329 2015-06-25 Oleg Endo <olegendo@gcc.gnu.org>
4330
4331 PR target/65979
4332 PR target/66611
4333 * config/sh/sh.md (tstsi_t peephole2): Use insn_invalid_p to check if
4334 the replacement insn will work.
4335
4336 2015-06-25 H.J. Lu <hongjiu.lu@intel.com>
4337
4338 * gcc.c (driver_handle_option): Validate -pie if PIE is enabled
4339 by default.
4340
4341 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
4342
4343 * function.h (ipa_opt_pass, ipa_opt_pass_d): Move forward declarations.
4344 * cgraph.h: Include ipa-ref.h and plugin-api.h.
4345 (ipa_opt_pass, ipa_opt_pass_d)): Relocate forward declarations here.
4346 (symtab_node::address_can_be_compared_p): Move function.
4347 * cgraph.c (symtab_node::address_can_be_compared_p): Relocate function
4348 definition here.
4349 * asan.c: Remove ipa-ref.h and plugin-api.h from include list.
4350 * auto-profile.c: Likewise.
4351 * bb-reorder.c: Likewise.
4352 * builtins.c: Likewise.
4353 * calls.c: Likewise.
4354 * cfgexpand.c: Likewise.
4355 * cgraphbuild.c: Likewise.
4356 * cgraphclones.c: Likewise.
4357 * cgraphunit.c: Likewise.
4358 * combine.c: Likewise.
4359 * coverage.c: Likewise.
4360 * data-streamer-in.c: Likewise.
4361 * data-streamer-out.c: Likewise.
4362 * data-streamer.c: Likewise.
4363 * dbxout.c: Likewise.
4364 * dwarf2out.c: Likewise.
4365 * except.c: Likewise.
4366 * expr.c: Likewise.
4367 * final.c: Likewise.
4368 * fold-const.c: Likewise.
4369 * ggc-page.c: Likewise.
4370 * gimple-fold.c: Likewise.
4371 * gimple-iterator.c: Likewise.
4372 * gimple-pretty-print.c: Likewise.
4373 * gimple-streamer-in.c: Likewise.
4374 * gimple-streamer-out.c: Likewise.
4375 * gimple.c: Likewise.
4376 * gimplify.c: Likewise.
4377 * ipa-chkp.c: Likewise.
4378 * ipa-comdats.c: Likewise.
4379 * ipa-cp.c: Likewise.
4380 * ipa-devirt.c: Likewise.
4381 * ipa-icf-gimple.c: Likewise.
4382 * ipa-icf.c: Likewise.
4383 * ipa-inline-analysis.c: Likewise.
4384 * ipa-inline-transform.c: Likewise.
4385 * ipa-inline.c: Likewise.
4386 * ipa-polymorphic-call.c: Likewise.
4387 * ipa-profile.c: Likewise.
4388 * ipa-prop.c: Likewise.
4389 * ipa-pure-const.c: Likewise.
4390 * ipa-ref.c: Likewise.
4391 * ipa-reference.c: Likewise.
4392 * ipa-split.c: Likewise.
4393 * ipa-utils.c: Likewise.
4394 * ipa-visibility.c: Likewise.
4395 * ipa.c: Likewise.
4396 * langhooks.c: Likewise.
4397 * lto-cgraph.c: Likewise.
4398 * lto-compress.c: Likewise.
4399 * lto-opts.c: Likewise.
4400 * lto-section-in.c: Likewise.
4401 * lto-section-out.c: Likewise.
4402 * lto-streamer-in.c: Likewise.
4403 * lto-streamer-out.c: Likewise.
4404 * lto-streamer.c: Likewise.
4405 * omp-low.c: Likewise.
4406 * opts-global.c: Likewise.
4407 * passes.c: Likewise.
4408 * predict.c: Likewise.
4409 * print-tree.c: Likewise.
4410 * profile.c: Likewise.
4411 * ree.c: Likewise.
4412 * sanopt.c: Likewise.
4413 * stor-layout.c: Likewise.
4414 * symtab.c: Likewise.
4415 * toplev.c: Likewise.
4416 * trans-mem.c: Likewise.
4417 * tree-cfg.c: Likewise.
4418 * tree-chkp.c: Likewise.
4419 * tree-eh.c: Likewise.
4420 * tree-emutls.c: Likewise.
4421 * tree-inline.c: Likewise.
4422 * tree-nested.c: Likewise.
4423 * tree-parloops.c: Likewise.
4424 * tree-pretty-print.c: Likewise.
4425 * tree-profile.c: Likewise.
4426 * tree-sra.c: Likewise.
4427 * tree-ssa-alias.c: Likewise.
4428 * tree-ssa-live.c: Likewise.
4429 * tree-ssa-loop-ivcanon.c: Likewise.
4430 * tree-ssa-loop-ivopts.c: Likewise.
4431 * tree-ssa-pre.c: Likewise.
4432 * tree-ssa-sccvn.c: Likewise.
4433 * tree-ssa-strlen.c: Likewise.
4434 * tree-ssa-structalias.c: Likewise.
4435 * tree-streamer-in.c: Likewise.
4436 * tree-streamer-out.c: Likewise.
4437 * tree-streamer.c: Likewise.
4438 * tree-switch-conversion.c: Likewise.
4439 * tree-tailcall.c: Likewise.
4440 * tree-vect-data-refs.c: Likewise.
4441 * tree-vect-stmts.c: Likewise.
4442 * tree-vectorizer.c: Likewise.
4443 * tree.c: Likewise.
4444 * tsan.c: Likewise.
4445 * ubsan.c: Likewise.
4446 * value-prof.c: Likewise.
4447 * varasm.c: Likewise.
4448 * varpool.c: Likewise.
4449 * config/arm/arm.c: Likewise.
4450 * config/bfin/bfin.c: Likewise.
4451 * config/c6x/c6x.c: Likewise.
4452 * config/cris/cris.c: Likewise.
4453 * config/darwin-c.c: Likewise.
4454 * config/darwin.c: Likewise.
4455 * config/i386/i386.c: Likewise.
4456 * config/i386/winnt.c: Likewise.
4457 * config/microblaze/microblaze.c: Likewise.
4458 * config/mips/mips.c: Likewise.
4459 * config/rs6000/rs6000.c: Likewise.
4460 * config/rx/rx.c: Likewise.
4461 * config/s390/s390.c: Likewise.
4462 * config/tilegx/mul-tables.c: Likewise.
4463
4464 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4465
4466 * config/aarch64/aarch64.c, config/alpha/alpha.c,
4467 config/arm/arm.c, config/avr/avr.c, config/bfin/bfin.c,
4468 config/c6x/c6x.c, config/cr16/cr16.c, config/cris/cris.c,
4469 config/fr30/fr30.c, config/frv/frv.c, config/h8300/h8300.c,
4470 config/i386/i386.c, config/ia64/ia64.c, config/iq2000/iq2000.c,
4471 config/lm32/lm32.c, config/m32c/m32c.c, config/m32r/m32r.c,
4472 config/m68k/m68k.c, config/mcore/mcore.c, config/mep/mep.c,
4473 config/microblaze/microblaze.c, config/mips/mips.c,
4474 config/mmix/mmix.c, config/mn10300/mn10300.c,
4475 config/moxie/moxie.c, config/msp430/msp430.c,
4476 config/nds32/nds32.c, config/nios2/nios2.c, config/nvptx/nvptx.c,
4477 config/pa/pa.c, config/pdp11/pdp11.c, config/rl78/rl78.c,
4478 config/rs6000/rs6000.c, config/rx/rx.c, config/s390/s390.c,
4479 config/sh/sh.c, config/sparc/sparc.c, config/spu/spu.c,
4480 config/stormy16/stormy16.c, config/tilegx/tilegx.c,
4481 config/tilepro/tilepro.c, config/v850/v850.c, config/vax/vax.c,
4482 config/visium/visium.c, config/xtensa/xtensa.c: Add comment above
4483 target-def.h include.
4484 * config/ft32/ft32.c: Likewise. Fix misapplied hunk.
4485
4486 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4487
4488 * Makefile.in (TARGET_DEF): Add target-insns.def.
4489 (.PRECIOUS, simple_rtl_generated_h): Add insn-target-def.h.
4490 (build/gentarget-def.o): New rule.
4491 (genprogrtl): Add target-def.
4492 * target-insns.def, gentarget-def.c: New files.
4493 * target.def: Add targetm.have_* and targetm.gen_* hooks,
4494 based on the contents of target-insns.def.
4495 * defaults.h (HAVE_simple_return, gen_simple_return): Delete.
4496 (HAVE_return, gen_return): Delete.
4497 * target-def.h: Include insn-target-def.h.
4498 * cfgrtl.c (force_nonfallthru_and_redirect): Use targetm interface
4499 instead of direct calls. Rely on them to do the appropriate assertions.
4500 * function.c (gen_return_pattern): Likewise. Return an rtx_insn *.
4501 (convert_jumps_to_returns): Use targetm interface instead of
4502 direct calls.
4503 (thread_prologue_and_epilogue_insns): Likewise.
4504 * reorg.c (find_end_label, dbr_schedule): Likewise.
4505 * shrink-wrap.h (SHRINK_WRAPPING_ENABLED): Likewise.
4506 * shrink-wrap.c (convert_to_simple_return): Likewise.
4507 (try_shrink_wrapping): Use SHRINK_WRAPPING_ENABLED.
4508
4509 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4510
4511 * config/aarch64/aarch64.c, config/alpha/alpha.c, config/arm/arm.c,
4512 config/avr/avr.c, config/bfin/bfin.c, config/c6x/c6x.c,
4513 config/cr16/cr16.c, config/cris/cris.c, config/fr30/fr30.c,
4514 config/frv/frv.c, config/ft32/ft32.c, config/h8300/h8300.c,
4515 config/i386/i386.c, config/ia64/ia64.c, config/iq2000/iq2000.c,
4516 config/lm32/lm32.c, config/m32c/m32c.c, config/m32r/m32r.c,
4517 config/m68k/m68k.c, config/mcore/mcore.c, config/mep/mep.c,
4518 config/microblaze/microblaze.c, config/mips/mips.c, config/mmix/mmix.c,
4519 config/mn10300/mn10300.c, config/moxie/moxie.c, config/msp430/msp430.c,
4520 config/nds32/nds32.c, config/nios2/nios2.c, config/nvptx/nvptx.c,
4521 config/pa/pa.c, config/pdp11/pdp11.c, config/rl78/rl78.c,
4522 config/rs6000/rs6000.c, config/rx/rx.c, config/s390/s390.c,
4523 config/sh/sh.c, config/sparc/sparc.c, config/spu/spu.c,
4524 config/stormy16/stormy16.c, config/tilegx/tilegx.c,
4525 config/tilepro/tilepro.c, config/v850/v850.c, config/vax/vax.c,
4526 config/visium/visium.c, config/xtensa/xtensa.c: Move target-def.h
4527 includes to end.
4528
4529 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4530
4531 * hash-map-traits.h (simple_hashmap_traits::key_type): New typedef.
4532 (unbounded_int_hashmap_traits::key_type): Likewise.
4533 * hash-map.h (hash_map): Get the key type from the traits.
4534 * hash-traits.h (default_hash_traits): By default, inherit from the
4535 template parameter.
4536 * alias.c (alias_set_traits): Delete.
4537 (alias_set_entry_d::children): Use alias_set_hash as the first
4538 template parameter.
4539 (record_alias_subset): Update accordingly.
4540 * except.c (tree_hash_traits): Delete.
4541 (type_to_runtime_map): Use tree_hash as the first template parameter.
4542 (init_eh): Update accordingly.
4543 * genmatch.c (capture_id_map_hasher): Delete.
4544 (cid_map_t): Use nofree_string_hash as first template parameter.
4545 * ipa-icf.h (symbol_compare_hashmap_traits): Delete.
4546 * ipa-icf.c (sem_item_optimizer::subdivide_classes_by_sensitive_refs):
4547 Use symbol_compare_hash as the first template parameter in
4548 subdivide_hash_map.
4549 * mem-stats.h (mem_usage_pair::mem_alloc_hashmap_traits): Delete.
4550 (mem_usage_pair::mem_map_t): Use mem_location_hash as the first
4551 template parameter.
4552 * passes.c (pass_registry_hasher): Delete.
4553 (name_to_pass_map): Use nofree_string_hash as the first template
4554 parameter.
4555 (register_pass_name): Update accordingly.
4556 * sanopt.c (sanopt_tree_map_traits): Delete.
4557 (sanopt_tree_triplet_map_traits): Delete.
4558 (sanopt_ctx::asan_check_map): Use tree_operand_hash as the first
4559 template parameter.
4560 (sanopt_ctx::vptr_check_map): Use sanopt_tree_triplet_hash as
4561 the first template parameter.
4562 * sese.c (rename_map_hasher): Delete.
4563 (rename_map_type): Use tree_ssa_name_hash as the first template
4564 parameter.
4565 * symbol-summary.h (function_summary::summary_hashmap_traits): Delete.
4566 (function_summary::m_map): Use map_hash as the first template
4567 parameter.
4568 (function_summary::release): Update accordingly.
4569 * tree-if-conv.c (phi_args_hash_traits): Delete.
4570 (predicate_scalar_phi): Use tree_operand_hash as the first template
4571 parameter to phi_arg_map.
4572 * tree-inline.h (dependence_hasher): Delete.
4573 (copy_body_data::dependence_map): Use dependence_hash as the first
4574 template parameter.
4575 * tree-inline.c (remap_dependence_clique): Update accordingly.
4576 * tree-ssa-strlen.c (stridxlist_hash_traits): Delete.
4577 (decl_to_stridxlist_htab): Use tree_decl_hash as the first template
4578 parameter.
4579 (addr_stridxptr): Update accordingly.
4580 * value-prof.c (profile_id_traits): Delete.
4581 (cgraph_node_map): Use profile_id_hash as the first template
4582 parameter.
4583 (init_node_map): Update accordingly.
4584 * config/alpha/alpha.c (string_traits): Delete.
4585 (machine_function::links): Use nofree_string_hash as the first
4586 template parameter.
4587 (alpha_use_linkage, alpha_write_linkage): Update accordingly.
4588 * config/m32c/m32c.c (pragma_traits): Delete.
4589 (pragma_htab): Use nofree_string_hash as the first template parameter.
4590 (m32c_note_pragma_address): Update accordingly.
4591 * config/mep/mep.c (pragma_traits): Delete.
4592 (pragma_htab): Use nofree_string_hash as the first template parameter.
4593 (mep_note_pragma_flag): Update accordingly.
4594 * config/mips/mips.c (mips16_flip_traits): Delete.
4595 (mflip_mips16_htab): Use nofree_string_hash as the first template
4596 parameter.
4597 (mflip_mips16_use_mips16_p): Update accordingly.
4598 (local_alias_traits): Delete.
4599 (mips16_local_aliases): Use nofree_string_hash as the first template
4600 parameter.
4601 (mips16_local_alias): Update accordingly.
4602
4603 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4604
4605 * hash-map-traits.h (default_hashmap_traits): Delete.
4606
4607 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4608
4609 * hash-map-traits.h (unbounded_hashmap_traits): New class.
4610 (unbounded_int_hashmap_traits): Likewise.
4611 * cfgexpand.c (part_traits): Use unbounded_int_hashmap_traits.
4612
4613 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4614
4615 * ipa-icf.h (symbol_compare_hash): New class.
4616 (symbol_compare_hashmap_traits): Use it.
4617 * mem-stats.h (mem_alloc_description::mem_location_hash): New class.
4618 (mem_alloc_description::mem_alloc_hashmap_traits): Use it.
4619 (mem_alloc_description::reverse_mem_map_t): Remove redundant
4620 default_hashmap_traits.
4621 * sanopt.c (sanopt_tree_triplet_hash): New class.
4622 (sanopt_tree_triplet_map_traits): Use it.
4623
4624 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4625
4626 * gengtype-parse.c (require_template_declaration): Allow '+' in
4627 template parameters. Consolidate cases.
4628 * hash-traits.h (int_hash): New class.
4629 * alias.c (alias_set_hash): New structure.
4630 (alias_set_traits): Use it.
4631 * symbol-summary.h (function_summary::map_hash): New class.
4632 (function_summary::summary_hashmap_traits): Use it.
4633 * tree-inline.h (dependence_hash): New class.
4634 (dependence_hasher): Use it.
4635 * tree-ssa-reassoc.c (oecount_hasher): Use int_hash.
4636 * value-prof.c (profile_id_hash): New class.
4637 (profile_id_traits): Use it.
4638
4639 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4640
4641 * config/mips/mips.c (mips16_flip_traits): Use it.
4642 (local_alias_traits, mips16_local_aliases): Convert from a map of
4643 rtxes to a map of symbol names.
4644 (mips16_local_alias): Update accordingly.
4645
4646 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4647
4648 * hash-traits.h (string_hash, nofree_string_hash): New classes.
4649 * genmatch.c (capture_id_map_hasher): Use nofree_string_hash.
4650 * passes.c (pass_registry_hasher): Likewise.
4651 * config/alpha/alpha.c (string_traits): Likewise.
4652 * config/i386/winnt.c (i386_find_on_wrapper_list): Likewise.
4653 * config/m32c/m32c.c (pragma_traits): Likewise.
4654 * config/mep/mep.c (pragma_traits): Likewise.
4655
4656 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4657
4658 * tree-hash-traits.h (tree_hash): New class.
4659 * except.c: Include tree-hash-traits.h.
4660 (tree_hash_traits): Use tree_hash.
4661
4662 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4663
4664 * tree-hash-traits.h (tree_ssa_name_hasher): New class.
4665 * sese.c: Include tree-hash-traits.h.
4666 (rename_map_hasher): Use tree_ssa_name_hasher.
4667
4668 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4669
4670 * tree-hash-traits.h (tree_decl_hash): New class.
4671 * tree-ssa-strlen.c: Include tree-hash-traits.h.
4672 (stridxlist_hash_traits): Use tree_decl_hash.
4673
4674 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4675
4676 * tree-hash-traits.h: New file.
4677 (tree_operand_hash): New class.
4678 * sanopt.c: Include tree-hash-traits.h.
4679 (sanopt_tree_map_traits): Use tree_operand_hash.
4680 * tree-if-conv.c: Include tree-hash-traits.h.
4681 (phi_args_hash_traits): Use tree_operand_hash.
4682 * tree-ssa-uncprop.c: Include tree-hash-traits.h.
4683 (val_ssa_equiv_hash_traits): Use tree_operand_hash.
4684
4685 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4686
4687 * hash-map-traits.h: Include hash-traits.h.
4688 (simple_hashmap_traits): New class.
4689 * mem-stats.h (hash_map): Change the default traits to
4690 simple_hashmap_traits<default_hash_traits<Key> >.
4691
4692 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4693
4694 * hash-table.h: Update comments.
4695
4696 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4697
4698 * hash-traits.h (default_hash_traits): New structure.
4699 * hash-set.h (default_hashset_traits): Delete.
4700 (hash_set): Use default_hash_traits<Key> instead of
4701 default_hashset_traits. Delete hash_entry type and use Key directly.
4702 * ipa-devirt.c (pair_traits): Delete.
4703 (default_hash_traits <type_pair>): Override.
4704 (odr_subtypes_equivalent_p): Remove pair_types template parameter.
4705 (odr_types_equivalent_p, add_type_duplicate): Likewise.
4706
4707 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4708
4709 * hash-traits.h (typed_noop_remove): Don't require a pointer type.
4710
4711 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4712
4713 * hash-table.h (has_is_deleted, is_deleted_helper): Delete.
4714 (has_is_empty, is_empty_helper): Delete.
4715 (has_mark_deleted, mark_deleted_helper): Delete.
4716 (has_mark_empty, mark_empty_helper): Delete.
4717 (hash_table::is_deleted): Call the Descriptor unconditionally.
4718 (hash_table::is_empty): Likewise.
4719 (hash_table::mark_deleted): Likewise.
4720 (hash_table::mark_empty): Likewise.
4721
4722 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4723
4724 * cgraph.h (asmname_hasher): Inherit from ggc_ptr_hash. Remove
4725 redundant typedefs and members.
4726 * coverage.c (counts_entry): Inherit from pointer_hash. Remove
4727 redundant typedefs.
4728 * dwarf2out.c (cu_hash_table_entry_hasher): Likewise.
4729 * ipa-devirt.c (odr_name_hasher): Likewise.
4730 (polymorphic_call_target_hasher): Likewise.
4731 * ira-costs.c (cost_classes_hasher): Likewise.
4732 * statistics.c (stats_counter_hasher): Likewise.
4733 * trans-mem.c (log_entry_hasher): Likewise.
4734 * tree-ssa-dom.c (expr_elt_hasher): Likewise.
4735 * tree-ssa-sccvn.c (vn_phi_hasher, vn_reference_hasher): Likewise.
4736 * tree-ssa-tail-merge.c (same_succ_def): Likewise.
4737 * var-tracking.c (variable_hasher): Likewise.
4738 * valtrack.h (dead_debug_hash_descr): Inherit from free_ptr_hash.
4739 Remove redundant typedefs and members.
4740
4741 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4742
4743 * hash-traits.h (ggc_cache_hasher): Rename to...
4744 (ggc_cache_remove): ...this and remove typedefs.
4745 (ggc_cache_ptr_hash): New class.
4746 * hash-table.h: Update commentary.
4747 * emit-rtl.c (const_int_hasher): Inherit from ggc_cache_ptr_hash
4748 rather than ggc_cache_hasher.
4749 (const_wide_int_hasher, reg_attr_hasher): Likewise.
4750 (const_double_hasher, const_fixed_hasher): Likewise.
4751 * function.c (insn_cache_hasher): Likewise.
4752 * trans-mem.c (tm_wrapper_hasher): Likewise.
4753 * tree.h (tree_decl_map_cache_hasher): Likewise.
4754 * tree.c (type_cache_hasher, int_cst_hasher): Likewise.
4755 (cl_option_hasher, tree_vec_map_cache_hasher): Likewise.
4756 * ubsan.c (tree_type_map_cache_hasher): Likewise.
4757 * varasm.c (tm_clone_hasher): Likewise.
4758 * config/i386/i386.c (dllimport_hasher): Likewise.
4759 * config/nvptx/nvptx.c (declared_libfunc_hasher): Likewise.
4760 (tree_hasher): Likewise.
4761
4762 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4763
4764 * hash-traits.h (ggc_hasher): Rename to...
4765 (ggc_remover): ...this and remove typedefs.
4766 (ggc_cache_hasher): Update accordingly. Add typedefs.
4767 (ggc_ptr_hash): New class.
4768 * hash-table.h: Update comment.
4769 * cfgloop.h (loop_exit_hasher): Inherit from ggc_ptr_hash rather than
4770 ggc_hasher.
4771 * cgraph.h (section_name_hasher, cgraph_edge_hasher): Likewise.
4772 (tree_descriptor_hasher): Likewise.
4773 * cgraph.c (function_version_hasher): Likewise.
4774 * dwarf2out.c (indirect_string_hasher, dwarf_file_hasher): Likewise.
4775 (decl_die_hasher, block_die_hasher, decl_loc_hasher): Likewise.
4776 (dw_loc_list_hasher, addr_hasher): Likewise.
4777 * function.h (used_type_hasher): Likewise.
4778 * function.c (temp_address_hasher): Likewise.
4779 * gimple-ssa.h (tm_restart_hasher, ssa_name_hasher): Likewise.
4780 * libfuncs.h (libfunc_hasher): Likewise.
4781 * lto-streamer.h (decl_state_hasher): Likewise.
4782 * optabs.c (libfunc_decl_hasher): Likewise.
4783 * tree-scalar-evolution.c (scev_info_hasher): Likewise.
4784 * varasm.c (section_hasher, object_block_hasher): Likewise.
4785 (const_rtx_desc_hasher): Likewise.
4786 * config/darwin.c (indirection_hasher, cfstring_hasher): Likewise.
4787 * config/rs6000/rs6000.c (toc_hasher, builtin_hasher): Likewise.
4788
4789 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4790
4791 * hash-traits.h (free_ptr_hash): New class.
4792 * dwarf2out.c (decl_table_entry_hasher): Inherit from free_ptr_hash
4793 rather than typed_free_remove. Remove redudant typedefs.
4794 (external_ref_hasher): Likewise.
4795 * except.c (action_record_hasher, ttypes_filter_hasher): Likewise.
4796 (ehspec_hasher): Likewise.
4797 * ggc-common.c (saving_hasher): Likewise.
4798 * gimplify.c (gimplify_hasher): Likewise.
4799 * haifa-sched.c (delay_i2_hasher): Likewise.
4800 * loop-invariant.c (invariant_expr_hasher): Likewise.
4801 * loop-iv.c (biv_entry_hasher): Likewise.
4802 * loop-unroll.c (iv_split_hasher, var_expand_hasher): Likewise.
4803 * trans-mem.c (tm_mem_map_hasher, tm_memop_hasher): Likewise.
4804 * tree-cfg.c (locus_discrim_hasher): Likewise.
4805 * tree-eh.c (finally_tree_hasher): Likewise.
4806 * tree-into-ssa.c (var_info_hasher): Likewise.
4807 * tree-parloops.c (reduction_hasher, name_to_copy_hasher): Likewise.
4808 * tree-ssa-loop-ivopts.c (iv_inv_expr_hasher): Likewise.
4809 * tree-ssa-phiopt.c (ssa_names_hasher): Likewise.
4810 * tree-ssa-pre.c (expr_pred_trans_d): Likewise.
4811 * tree-ssa-sccvn.c (vn_constant_hasher): Likewise.
4812 * tree-ssa-structalias.c (equiv_class_hasher): Likewise.
4813 (shared_bitmap_hasher): Likewise.
4814 * tree-ssa-threadupdate.c (redirection_data): Likewise.
4815 * tree-vectorizer.h (peel_info_hasher): Likewise.
4816 * tree-vectorizer.c (simduid_to_vf, simd_array_to_simduid): Likewise.
4817 * config/mips/mips.c (mips_lo_sum_offset_hasher): Likewise.
4818
4819 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4820
4821 * hash-table.h: Update comments.
4822 * hash-traits.h (pointer_hash): Don't inherit from typed_noop_remove.
4823 (nofree_ptr_hash): New class.
4824 * asan.c (asan_mem_ref_hasher): Inherit from nofree_ptr_hash rather
4825 than typed_noop_remove. Remove redudant typedefs.
4826 * attribs.c (attribute_hasher): Likewise.
4827 * cfg.c (bb_copy_hasher): Likewise.
4828 * cselib.c (cselib_hasher): Likewise.
4829 * dse.c (invariant_group_base_hasher): Likewise.
4830 * dwarf2cfi.c (trace_info_hasher): Likewise.
4831 * dwarf2out.c (macinfo_entry_hasher): Likewise.
4832 (comdat_type_hasher, loc_list_hasher): Likewise.
4833 * gcse.c (pre_ldst_expr_hasher): Likewise.
4834 * genmatch.c (id_base): Likewise.
4835 * genrecog.c (test_pattern_hasher): Likewise.
4836 * gimple-ssa-strength-reduction.c (cand_chain_hasher): Likewise.
4837 * haifa-sched.c (delay_i1_hasher): Likewise.
4838 * hard-reg-set.h (simplifiable_subregs_hasher): Likewise.
4839 * ipa-icf.h (congruence_class_group_hash): Likewise.
4840 * ipa-profile.c (histogram_hash): Likewise.
4841 * ira-color.c (allocno_hard_regs_hasher): Likewise.
4842 * lto-streamer.h (string_slot_hasher): Likewise.
4843 * lto-streamer.c (tree_entry_hasher): Likewise.
4844 * plugin.c (event_hasher): Likewise.
4845 * postreload-gcse.c (expr_hasher): Likewise.
4846 * store-motion.c (st_expr_hasher): Likewise.
4847 * tree-sra.c (uid_decl_hasher): Likewise.
4848 * tree-ssa-coalesce.c (coalesce_pair_hasher): Likewise.
4849 (ssa_name_var_hash): Likewise.
4850 * tree-ssa-live.c (tree_int_map_hasher): Likewise.
4851 * tree-ssa-loop-im.c (mem_ref_hasher): Likewise.
4852 * tree-ssa-pre.c (pre_expr_d): Likewise.
4853 * tree-ssa-sccvn.c (vn_nary_op_hasher): Likewise.
4854 * vtable-verify.h (registration_hasher): Likewise.
4855 * vtable-verify.c (vtbl_map_hasher): Likewise.
4856 * config/arm/arm.c (libcall_hasher): Likewise.
4857 * config/i386/winnt.c (wrapped_symbol_hasher): Likewise.
4858 * config/ia64/ia64.c (bundle_state_hasher): Likewise.
4859 * config/sol2.c (comdat_entry_hasher): Likewise.
4860 * fold-const.c (fold): Use nofree_ptr_hash instead of pointer_hash.
4861 (print_fold_checksum, fold_checksum_tree): Likewise.
4862 (debug_fold_checksum, fold_build1_stat_loc): Likewise.
4863 (fold_build2_stat_loc, fold_build3_stat_loc): Likewise.
4864 (fold_build_call_array_loc): Likewise.
4865 * tree-ssa-ccp.c (gimple_htab): Likewise.
4866 * tree-browser.c (tree_upper_hasher): Inherit from nofree_ptr_hash
4867 rather than pointer_type.
4868
4869 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4870
4871 * hash-traits.h (pointer_hash::mark_deleted, pointer_hash::mark_empty)
4872 (pointer_hash::is_deleted, pointer_hash::is_empty): New functions.
4873
4874 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4875
4876 * hash-traits.h (ggc_hasher::remove): Take a reference parameter.
4877 (ggc_hasher::ggc_mx): Likewise.
4878 (ggc_cache_hasher): Inherit from ggc_hasher. Remove definitions
4879 that duplicate ggc_hasher ones.
4880
4881 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4882
4883 * hash-table.h (hash_table): Add gt_cleare_cache as a friend.
4884 (gt_cleare_cache): Check here for deleted and empty entries.
4885 Replace handle_cache_entry with a call to keep_cache_entry.
4886 * hash-traits.h (ggc_cache_hasher::handle_cache_entry): Delete.
4887 (ggc_cache_hasher::keep_cache_entry): New function.
4888 * trans-mem.c (tm_wrapper_hasher::handle_cache_entry): Delete.
4889 (tm_wrapper_hasher::keep_cache_entry): New function.
4890 * tree.h (tree_decl_map_cache_hasher::handle_cache_entry): Delete.
4891 (tree_vec_map_cache_hasher::keep_cache_entry): New function.
4892 * tree.c (type_cache_hasher::handle_cache_entry): Delete.
4893 (type_cache_hasher::keep_cache_entry): New function.
4894 (tree_vec_map_cache_hasher::handle_cache_entry): Delete.
4895 (tree_vec_map_cache_hasher::keep_cache_entry): New function.
4896 * ubsan.c (tree_type_map_cache_hasher::handle_cache_entry): Delete.
4897 (tree_type_map_cache_hasher::keep_cache_entry): New function.
4898 * varasm.c (tm_clone_hasher::handle_cache_entry): Delete.
4899 (tm_clone_hasher::keep_cache_entry): New function.
4900 * config/i386/i386.c (dllimport_hasher::handle_cache_entry): Delete.
4901 (dllimport_hasher::keep_cache_entry): New function.
4902
4903 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4904
4905 * hash-table.h: Include hash-traits.h.
4906 (typed_free_remove, typed_noop_remove, pointer_hash, ggc_hasher)
4907 (ggc_cache_hasher): Move to...
4908 * hash-traits.h: ...this new file.
4909
4910 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
4911
4912 * tree-core.h (struct tree_optimization_option): Make opts a pointer to
4913 struct cl_optimization.
4914 * tree.h (TREE_OPTIMIZATION): Return the pointer, not the address of it.
4915 * tree.c (make_node_stat): Allocate cl_optimization struct.
4916 (copy_node_stat): Allocate and copy cl_optimization struct.
4917
4918 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
4919
4920 * function.h (struct incoming_args): Move struct.
4921 (pass_by_reference, reference_callee_copied): Remove prototypes.
4922 * emit-rtl.h (struct incoming_args): Relocate struct here.
4923 * calls.h (pass_by_reference, reference_callee_copied): Relocate
4924 prototypes here.
4925 * function.c (pass_by_reference, reference_callee_copied): Move.
4926 * calls.c (pass_by_reference, reference_callee_copied): Relocate here.
4927 * cfgloop.h: Don't include tm.h or hard-reg-set.h.
4928 * ipa-chkp.c: Include calls.h.
4929
4930 2015-06-25 Andrew Macleod <amacleod@redhat.com>
4931
4932 * alias.h (alias_set_type): Move typedef.
4933 * coretypes.h (alias_set_type): Relocate typedef here.
4934 * rtl.h: Don't include alias.h.
4935
4936 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
4937
4938 * cgraph.h (cgraph_rtl_info): Move to rtl.h
4939 (cgraph_node): Maintain pointer to struct cgraph_rtl_info instead of
4940 and instance.
4941 * rtl.h (struct cgraph_rtl_info): Define when HARD_REG_SET available.
4942 * cgraph.c (cgraph_node::rtl_info): Allocate cgraph_rtl_info if one
4943 doesn't exist.
4944 * calls.c: Include hard-reg-set.h before rtl.h.
4945 * ira.c: Likewise.
4946
4947 2015-06-25 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
4948 Vladimir Makarov <vmakarov@redhat.com>
4949
4950 * ira-color.c (assign_hard_reg): Remove unecessary bitmap check.
4951 Add assert.
4952
4953 2015-06-25 Richard Biener <rguenther@suse.de>
4954
4955 * fold-const.c (fold_binary_loc): Move simplification of
4956 (X <<>> C1) & C2 ...
4957 * match.pd: ... here.
4958
4959 2015-06-25 Eric Botcazou <ebotcazou@adacore.com>
4960
4961 * lto-streamer-out.c (DFS::hash_scc): Fix typos & formatting glitches.
4962
4963 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4964
4965 * match.pd: Add patterns for vec_conds between 1 and 0.
4966
4967 2015-06-25 Richard Biener <rguenther@suse.de>
4968
4969 * tree-vect-stmts.c (vectorizable_conversion): Do not set
4970 STMT_VINFO_VEC_STMT for SLP.
4971 (vectorizable_store): Likewise.
4972 (vectorizable_load): Likewise.
4973 (vect_transform_stmt): Catch SLP vectorization clobbering
4974 STMT_VINFO_VEC_STMT.
4975
4976 2015-06-25 Richard Biener <rguenther@suse.de>
4977
4978 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Improve debug
4979 dumping.
4980 (vect_create_mask_and_perm): Do not set STMT_VINFO_VEC_STMT and
4981 cleanup resulting dead code and parameters.
4982 (vect_transform_slp_perm_load): Adjust.
4983
4984 2015-06-25 Nick Clifton <nickc@redhat.com>
4985
4986 * config/bfin/bfin.c (bfin_expand_prologue): Set
4987 current_function_static_stack_size if flag_stack_usage_info is set.
4988 * config/ft32/ft32.c (ft32_expand_prologue): Likewise.
4989 * config/h8300/h8300.c (h8300_expand_prologue): Likewise.
4990 * config/iq2000/iq2000.c (iq2000_expand_prologue): Likewise.
4991 * config/m32c/m32c.c (m32c_emit_prologue): Likewise.
4992
4993 2015-06-25 Tom de Vries <tom@codesourcery.com>
4994
4995 * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Don't claim in header
4996 comment that the generated IV is unsigned.
4997
4998 2015-06-25 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
4999
5000 PR target/29693
5001 * config/arm/arm.c (arm_dbx_register_number): Return
5002 DWARF_FRAME_REGISTERS by default.
5003
5004 2015-06-25 Tom de Vries <tom@codesourcery.com>
5005
5006 * dominance.c (calculate_dominance_info): Fix verify_dominators call
5007 argument. Call verify_dominator when reusing dominator info.
5008
5009 2015-06-24 Kaz Kojima <kkojima@gcc.gnu.org>
5010
5011 PR target/66563
5012 * config/sh/sh.md (GOTaddr2picreg): Add a new operand for
5013 an additional element of the unspec vector. Modify indices
5014 of operands.
5015 (builtin_setjmp_receiver): Pass const0_rtx to gen_GOTaddr2picreg.
5016 * config/sh/sh.c (prepare_move_operands): Pass incremented
5017 const_int to gen_GOTaddr2picreg.
5018 (sh_expand_prologue): Pass const0_rtx to gen_GOTaddr2picreg.
5019
5020 2015-06-24 Alan Lawrence <alan.lawrence@arm.com>
5021
5022 * config/aarch64/aarch64.md (<optab><fcvt_target><GPF:mode>2):
5023 Condition on TARGET_FLOAT.
5024
5025 2015-06-24 Alan Lawrence <alan.lawrence@arm.com>
5026
5027 * doc/invoke.texi: Clarify AArch64 feature modifiers (no)fp, (no)simd
5028 and (no)crypto.
5029
5030 2015-06-24 Alan Lawrence <alan.lawrence@arm.com>
5031
5032 * config/aarch64/aarch64-protos.h (aarch64_err_no_fpadvsimd): New.
5033
5034 * config/aarch64/aarch64.md (mov<mode>/GPF, movtf): Use
5035 aarch64_err_no_fpadvsimd.
5036
5037 * config/aarch64/aarch64.c (aarch64_err_no_fpadvsimd): New.
5038 (aarch64_layout_arg, aarch64_init_cumulative_args): Use
5039 aarch64_err_no_fpadvsimd if !TARGET_FLOAT and we need FP regs.
5040 (aarch64_expand_builtin_va_start, aarch64_setup_incoming_varargs):
5041 Turn error into assert, test TARGET_FLOAT.
5042 (aarch64_gimplify_va_arg_expr): Use aarch64_err_no_fpadvsimd, test
5043 TARGET_FLOAT.
5044
5045 2015-06-24 Aldy Hernandez <aldyh@redhat.com>
5046
5047 PR debug/66482
5048 * dwarf2out.c (gen_formal_parameter_die): Remove assert.
5049
5050 2015-06-24 Ilya Enkovich <enkovich.gnu@gmail.com>
5051
5052 * tree-vect-slp.c (vect_build_slp_tree_1): Init vectype.
5053
5054 2015-06-24 Renlin Li <renlin.li@arm.com>
5055
5056 * config/aarch64/aarch64.h(TARGET_CPU_CPP_BUILTINS): Add
5057 __ARM_ALIGN_MAX_PWR, __ARM_ALIGN_MAX_STACK_PWR.
5058
5059 2015-06-24 Richard Biener <rguenther@suse.de>
5060
5061 * genmatch.c (enum tree_code): Add VIEW_CONVERT[012].
5062 (main): Likewise.
5063 (lower_opt_convert): Support lowering of conditional view_convert.
5064 (parser::parse_operation): Likewise.
5065 (parser::parse_for): Likewise.
5066
5067 2015-06-24 Renlin Li <renlin.li@arm.com>
5068
5069 * varasm.c (emit_local): Use unsigned int for align variable.
5070
5071 2015-06-24 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
5072
5073 PR target/63408
5074 * config/arm/arm.c (vfp3_const_double_for_fract_bits): Disable
5075 for negative numbers.
5076
5077 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5078
5079 PR rtl-optimization/66306
5080 * reload.c (find_reloads): Swap the match_dup info for
5081 commutative operands.
5082
5083 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5084
5085 * config/s390/vx-builtins.md
5086 ("vec_scatter_element<mode>_<non_vec_int>")
5087 ("vec_scatter_element<V_HW_64:mode>_SI"): Replace gf mode
5088 attribute with bhfgq.
5089
5090 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5091
5092 * config/s390/s390-builtins.def: Fix vpopct instruction comments.
5093
5094 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5095
5096 * config/s390/s390-builtin-types.def: Add flag to indicate the
5097 options under which the function type is needed.
5098 * config/s390/s390-builtins.def: Add flag to indicate the options
5099 under which the builtin is enabled.
5100 * config/s390/s390-builtins.h: Add flags parameter to macro
5101 definitions.
5102 (bflags_for_builtin): New function.
5103 (flags_for_builtin): Renamed to ...
5104 (opflags_for_builtin): ... this.
5105 * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Rename
5106 flags_for_builtin to bflags_for_builtin and
5107 flags_overloaded_builtin_var to opflags_overloaded_builtin_var.
5108 * config/s390/s390.c: Add initialization of bflags_builtin and
5109 opflags_builtin arrays.
5110 Remove code for flags_builtin.
5111 (s390_init_builtins): Only create builtin function types if one of
5112 their flags is active.
5113 Only create builtins if all of their flags are active.
5114 (s390_expand_builtin): Rename flags_for_builtin to
5115 opflags_for_builtin.
5116
5117 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5118
5119 * config/s390/vecintrin.h: Remove internal builtins.
5120
5121 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5122
5123 * config/s390/s390.c (s390_secondary_reload): Fix check for
5124 GENERAL_REGS register class.
5125
5126 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5127
5128 * config/s390/s390.c (s390_support_vector_misalignment): Call
5129 default implementation for !TARGET_VX.
5130
5131 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5132
5133 * config/s390/s390.c (s390_legitimate_constant_p): Add
5134 TARGET_VX check.
5135
5136 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5137
5138 * config/s390/s390.c (s390_vector_abi): New variable definition.
5139 (s390_check_type_for_vector_abi): New function.
5140 (TARGET_ASM_FILE_END): New macro definition.
5141 (s390_asm_file_end): New function.
5142 (s390_function_arg): Call s390_check_type_for_vector_abi.
5143 (s390_gimplify_va_arg): Likewise.
5144 * configure: Regenerate.
5145 * configure.ac: Check for .gnu_attribute Binutils feature.
5146
5147 2015-06-23 Chen Gang <gang.chen.5i5j@gmail.com>
5148
5149 PR target/65803
5150 * config/bfin/bfin.c (hwloop_optimize): Initialize
5151 JUMP_LABEL for newly created jump.
5152
5153 2015-06-23 Tristan Gingold <gingold@adacore.com>
5154
5155 * collect-utils.c (collect_wait): Unlink the response file here
5156 instead of...
5157 (do_wait): ...here.
5158 (utils_cleanup): ...and here.
5159
5160 2015-06-23 Richard Sandiford <richard.sandiford@arm.com>
5161
5162 * df-scan.c: Don't include target-def.h.
5163 * targhooks.c: Likewise.
5164 * config/arm/arm-c.c: Likewise.
5165 * config/i386/i386-c.c: Likewise.
5166 * config/nds32/nds32-cost.c: Likewise.
5167 * config/nds32/nds32-fp-as-gp.c: Likewise.
5168 * config/nds32/nds32-intrinsic.c: Likewise.
5169 * config/nds32/nds32-isr.c: Likewise.
5170 * config/nds32/nds32-md-auxiliary.c: Likewise.
5171 * config/nds32/nds32-memory-manipulation.c: Likewise.
5172 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
5173 * config/nds32/nds32-predicates.c: Likewise.
5174
5175 2015-06-23 Richard Biener <rguenther@suse.de>
5176
5177 PR tree-optimization/66636
5178 * tree-vect-stmts.c (vectorizable_store): Properly compute the
5179 def type for further defs for strided stores.
5180
5181 2015-06-23 Nathan Sidwell <nathan@codesourcery.com>
5182
5183 * config/nvptx/nvptx.md (sel_true<mode>, sel_false<mode>): New
5184 conditional selects.
5185 (setcc_int<mode>, setcc_float<mode>): Reformat.
5186
5187 2015-06-23 Marek Polacek <polacek@redhat.com>
5188
5189 * match.pd ((x + y) - (x | y) -> x & y,
5190 (x + y) - (x & y) -> x | y): New patterns.
5191
5192 2015-06-23 Ludovic Courtès <ludo@gnu.org>
5193
5194 PR 65711
5195 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Move
5196 '-dynamic-linker' within %{!shared: ...}.
5197
5198 2015-06-23 Uros Bizjak <ubizjak@gmail.com>
5199
5200 PR target/66560
5201 * config/i386/predicates.md (addsub_vm_operator): New predicate.
5202 (addsub_vs_operator): Ditto.
5203 (addsub_vs_parallel): Ditto.
5204 * config/i386/sse.md (ssedoublemode): Add V4SF and V2DF modes.
5205 (avx_addsubv4df3, avx_addsubv8sf3, sse3_addsubv2df3, sse3_addsubv4sf3):
5206 Put minus RTX before plus and adjust vec_merge selector.
5207 (*avx_addsubv4df3_1, *avx_addsubv4df3_1s, *sse3_addsubv2df3_1)
5208 (*sse_addsubv2df3_1s, *avx_addsubv8sf3_1, *avx_addsubv8sf3_1s)
5209 (*sse3_addsubv4sf3_1, *sse_addsubv4sf3_1s): Remove insn patterns.
5210 (addsub vec_merge splitters): New combiner splitters.
5211 (addsub vec_select/vec_concat splitters): Ditto.
5212
5213 2015-06-23 Bin Cheng <bin.cheng@arm.com>
5214
5215 PR tree-optimization/66449
5216 * tree-ssa-loop-niter.c (loop_exits_before_overflow): Use
5217 POINTER_PLUS_EXPR for pointers.
5218
5219 2015-06-23 Alan Modra <amodra@gmail.com>
5220
5221 * rtlanal.c (commutative_operand_precedence): Correct comments.
5222 * simplify-rtx.c (simplify_plus_minus_op_data_cmp): Delete forward
5223 declaration. Return an int. Distinguish REG,REG return from
5224 others.
5225 (struct simplify_plus_minus_op_data): Make local to function.
5226 (simplify_plus_minus): Don't set canonicalized if merely sorting
5227 registers. Avoid packing ops if nothing changes. White space fixes.
5228
5229 2015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
5230
5231 * gcc.c (default_compilers): Pass "-o %g.s" to cc1 for headers even if
5232 -fdump-ada-spec is passed but not if -fsyntax-only is.
5233
5234 2015-06-22 Vladimir Makarov <vmakarov@redhat.com>
5235
5236 PR bootstrap/63740
5237 * lra-lives.c (process_bb_lives): Check insn copying the same
5238 reload pseudo and don't create a copy for it.
5239
5240 2015-06-22 Tom de Vries <tom@codesourcery.com>
5241
5242 * tree-parloops.c (transform_to_exit_first_loop_alt): Add update_stmt
5243 for cond_stmt.
5244
5245 2015-06-22 Tom de Vries <tom@codesourcery.com>
5246
5247 * builtins.def (DEF_GOMP_BUILTIN): Test
5248 'flag_tree_parallelize_loops > 1' instead of
5249 'flag_tree_parallelize_loops'. Test flag_cilkplus.
5250
5251 2015-06-22 Tom de Vries <tom@codesourcery.com>
5252
5253 * dominance.c (calculate_dominance_info): Verify dominators if
5254 early-out.
5255
5256 2015-06-22 Marek Polacek <polacek@redhat.com>
5257
5258 * match.pd ((x ^ y) ^ (x | y) -> x & y,
5259 (x & y) + (x ^ y) -> x | y, (x & y) | (x ^ y) -> x | y,
5260 (x & y) ^ (x ^ y) -> x | y, (x & y) + (x | y) -> x + y,
5261 (x | y) - (x ^ y) -> x & y, (x | y) - (x & y) -> x ^ y): New patterns.
5262
5263 2015-06-22 Uros Bizjak <ubizjak@gmail.com>
5264
5265 PR target/65871
5266 * config/i386/i386.c (ix86_rtx_costs) <case COMPARE>: Ignore the
5267 cost of embedded comparison.
5268
5269 2015-06-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
5270
5271 PR target/65914
5272 * config/rs6000/predicates.md (altivec_register_operand): Permit
5273 virtual stack registers.
5274 (vsx_register_operand): Likewise.
5275 (vfloat_operand): Likewise.
5276 (vint_operand): Likewise.
5277 (vlogical_operand): Likewise.
5278
5279 2015-06-22 Richard Biener <rguenther@suse.de>
5280
5281 * tree-vectorizer.h (_loop_vec_info): Add scalar_cost_vec
5282 and single_scalar_iteration_cost members.
5283 (LOOP_VINFO_SCALAR_ITERATION_COST): New.
5284 (LOOP_VINFO_SINGLE_SCALAR_ITERATION_COST): Likewise.
5285 (vect_get_single_scalar_iteration_cost): Remove.
5286 * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost):
5287 Use LOOP_VINFO_SCALAR_ITERATION_COST.
5288 * tree-vect-loop.c (destroy_loop_vec_info): Free
5289 scalar_cost_vec.
5290 (vect_get_single_scalar_iteration_cost): Compute result into
5291 LOOP_VINFO_SINGLE_SCALAR_ITERATION_COST and
5292 LOOP_VINFO_SCALAR_ITERATION_COST. Make static.
5293 (vect_analyze_loop_2): Call vect_get_single_scalar_iteration_cost.
5294 (vect_estimate_min_profitable_iters): Use them.
5295
5296 2015-06-22 Christian Bruel <christian.bruel@st.com>
5297
5298 PR target/52144
5299 * config/arm/arm.c (add_attribute, arm_insert_attributes): New functions
5300 (TARGET_INSERT_ATTRIBUTES): Define.
5301 (thumb_flipper): New var.
5302 * config/arm/arm.opt (-mflip-thumb): New switch.
5303
5304 2015-06-22 Jan Hubicka <hubicka@ucw.cz>
5305 Martin Liska <mliska@suse.cz>
5306
5307 PR ipa/65908
5308 * ipa-icf.c (sem_item::target_supports_symbol_aliases): Remove
5309 construction of arg_types.
5310 (sem_function::sem_function): Likewise.
5311 (sem_function::~sem_function): Remove destruction of arg_types.
5312 (sem_function::compatible_parm_types_p): New function.
5313 (sem_function::equals_wpa): Reorg matching of return values
5314 and parameter types.
5315 (sem_function::equals_private): Reorg mathcing of argument types.
5316 (sem_function::parse_tree_args): Remove.
5317 * ipa-icf.h (init_wpa): Do not call it.
5318 (parse_tree_args): Remove.
5319 (compatible_parm_types_p): Declare.
5320 (result_type): Remove.
5321 (arg_types): Remove.
5322
5323 2015-06-22 Jan Hubicka <hubicka@ucw.cz>
5324
5325 PR ipa/66351
5326 * ipa-polymorphic-call.c
5327 (ipa_polymorphic_call_context::get_dynamic_type): Fix thinko when
5328 initializing alias oracle; fix formating; set base_alias_set if it
5329 is known.
5330
5331 2015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
5332
5333 * auto-inc-dec.c (reverse_mem, reverse_inc): Remove.
5334 (parse_add_or_inc): Use std::swap instead of reverse_{mem,inc}.
5335 (find_inc): Likewise.
5336 * combine.c (combine_simplify_rtx): Use std::swap instead of manually
5337 swapping.
5338 * df-core.c (df_worklist_dataflow_doublequeue): Likewise.
5339 * df-scan.c (df_swap_refs): Remove.
5340 (df_sort_and_compress_refs): Use std::swap instead of df_swap_refs.
5341 * dominance.c (link_roots): Use std::swap instead of manually swapping.
5342 * expr.c (expand_expr_real_2, do_store_flag): Likewise.
5343 * fold-const.c (fold_relational_const): Likewise.
5344 * genattrtab.c (simplify_test_exp): Likewise.
5345 * gimple-match-head.c (gimple_resimplify2, gimple_resimplify3,
5346 gimple_simplify): Likewise.
5347 * ifcvt.c (noce_try_abs, find_if_header): Likewise.
5348 * internal-fn.c (expand_addsub_overflow, expand_mul_overflow): Likewise.
5349 * ipa-devirt.c (add_type_duplicate): Likewise.
5350 * loop-iv.c (get_biv_step_1, iv_number_of_iterations): Likewise.
5351 * lra-lives.c (lra_setup_reload_pseudo_preferenced_hard_reg): Likewise.
5352 * lra.c (lra_create_copy): Likewise.
5353 * lto-streamer-out.c (DFS::DFS): Likewise.
5354 * modulo-sched.c (get_sched_window): Likewise.
5355 * omega.c (omega_pretty_print_problem): Likewise.
5356 * optabs.c (prepare_float_lib_cmp, expand_mult_highpart): Likewise.
5357 * reload1.c (reloads_unique_chain_p): Likewise.
5358 * sel-sched-ir.c (exchange_lv_sets, exchange_av_sets): Remove.
5359 (exchange_data_sets): Move logic from exchange_{av,lv}_sets here and
5360 use std::swap.
5361 * simplify-rtx.c (simplify_unary_operation_1): Use std::swap instead of
5362 manually swapping.
5363 * tree-if-conv.c (is_cond_scalar_reduction, predicate_scalar_phi,
5364 predicate_mem_writes): Likewise.
5365 * tree-loop-distribution.c (pg_add_dependence_edges): Likewise.
5366 * tree-predcom.c (combine_chains): Likewise.
5367 * tree-ssa-alias.c (nonoverlapping_component_refs_p,
5368 refs_may_alias_p_1): Likewise.
5369 * tree-ssa-ifcombine.c (recognize_if_then_else): Likewise.
5370 * tree-ssa-loop-ivopts.c (extract_cond_operands): Likewise.
5371 * tree-ssa-loop-niter.c (refine_bounds_using_guard,
5372 number_of_iterations_cond): Likewise.
5373 * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Likewise.
5374 * tree-ssa-sccvn.c (vn_nary_op_compute_hash): Likewise.
5375 * tree-vect-slp.c (vect_build_slp_tree): Likewise.
5376 * tree-vect-stmts.c (supportable_widening_operation): Likewise.
5377 * tree-vrp.c (extract_range_from_binary_expr_1,
5378 extract_range_from_unary_expr_1): Likewise.
5379
5380 2015-06-20 Marek Polacek <polacek@redhat.com>
5381
5382 * common.opt (fsanitize-undefined-trap-on-error): Add Driver.
5383
5384 2015-06-19 Kaz Kojima <kkojima@gcc.gnu.org>
5385
5386 PR target/66591
5387 * config/sh/sh.c (prepare_move_operands): Replace subreg
5388 index term with R0 for base and index addressing.
5389
5390 2015-06-19 Jim Wilson <jim.wilson@linaro.org>
5391
5392 * config/aarch64/aarch64.md (mov<mode>:GPF): Don't call force_reg if
5393 op1 is an fp zero.
5394 (movsf_aarch64): Change condition from register_operand to
5395 aarch64_reg_or_fp_zero for op1. Change type for alternative 6 to
5396 load1. Change type for alternative 7 to store1.
5397 (movdf_aarch64): Likewise.
5398
5399 2015-06-19 James Greenhalgh <james.greenhalgh@arm.com>
5400
5401 * config/vax/vax.md: Adjust sign/zero extend patterns to
5402 handle SUBREGs in operands[1].
5403
5404 2015-06-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5405
5406 * config/i386/i386.c (ix86_function_versions): Use std::swap instead
5407 of manually swapping.
5408 (expand_vec_perm_interleave2): Likewise.
5409
5410 2015-06-19 Ilya Enkovich <enkovich.gnu@gmail.com>
5411
5412 * tree-chkp.c (chkp_compute_bounds_for_assignment): Don't
5413 reuse bounds created for abnormal ssa names.
5414
5415 2015-06-19 Jakub Jelinek <jakub@redhat.com>
5416
5417 * config/nvptx/nvptx.md (allocate_stack): Rename to...
5418 (allocate_stack_<mode>): ... this, and add :P on both
5419 match_operand and unspec.
5420 (allocate_stack): New expander.
5421
5422 2015-06-19 Christian Bruel <christian.bruel@st.com>
5423
5424 PR target/66541
5425 PR target/52144
5426 * config/arm/arm.c (arm_set_current_function): Handle
5427 explicit default options.
5428
5429 2015-06-18 Uros Bizjak <ubizjak@gmail.com>
5430
5431 * config/i386/i386.md (*movsicc_noc_zext): New insn.
5432 (zero-extended cmove with mem peephole2): New pattern.
5433 (cmove with mem peephole2): Merge patterns.
5434
5435 2015-06-18 Segher Boessenkool <segher@kernel.crashing.org>
5436
5437 * config/rs6000/rs6000.h (WORD_REGISTER_OPERATIONS): Delete.
5438
5439 2015-06-18 Steve Ellcey <sellcey@imgtec.com>
5440
5441 * config/mips/mips.c (mips_rtx_costs): Remove HONOR_NAN check.
5442 * config/mips/mips.md (*madd4<mode>): Ditto.
5443 (*nmadd3<mode>) Ditto.
5444 (*nmadd4<mode>_fastmath): Ditto.
5445 (*nmadd3<mode>_fastmath): Ditto.
5446 (*nmsub4<mode>): Ditto.
5447 (*nmsub3<mode>): Ditto.
5448 (*nmsub4<mode>_fastmath): Ditto.
5449 (*nmsub3<mode>_fastmath): Ditto.
5450
5451 2015-06-18 Michael Matz <matz@suse.de>
5452
5453 PR middle-end/66253
5454 * tree-vect-stmts.c (vectorizable_store): Implement non-SLP
5455 grouped strided stores.
5456 (vectorizable_load): Don't use the DR from first_stmt in
5457 the non-SLP grouped strided case.
5458
5459 2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com>
5460
5461 PR target/66569
5462 * function.c (assign_bounds): Add arguments assign_regs,
5463 assign_special, assign_bt.
5464 (assign_parms): For vararg functions handle bounds in BT
5465 and special slots after incoming vararg bounds.
5466
5467 2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com>
5468
5469 PR middle-end/66568
5470 * cfgexpand.c (expand_return): Handle missing bounds.
5471 (expand_gimple_stmt_1): Likewise.
5472 * tree-chkp.c (chkp_expand_zero_bounds): New.
5473 * tree-chkp.h (chkp_expand_zero_bounds): New.
5474
5475 2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com>
5476
5477 PR middle-end/66567
5478 * ipa-chkp.c (chkp_maybe_create_clone): Require
5479 functions to be instrumentable.
5480 * tree-chkp.c (chkp_replace_function_pointer): Use
5481 chkp_instrumentable_p instead of attribute check.
5482
5483 2015-06-18 Richard Biener <rguenther@suse.de>
5484
5485 PR tree-optimization/66510
5486 * tree-vect-stmts.c (vectorizable_load): Properly compute the
5487 number of vector loads for SLP permuted loads.
5488 * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Also
5489 check the stride for loop vectorization.
5490 (vect_enhance_data_refs_alignment): Deal with SLP adjusted
5491 vectorization factor.
5492 (vect_analyze_group_access): If the group size is not a power
5493 of two require a epilogue loop.
5494 * tree-vect-loop.c (vect_analyze_loop_2): Move alignment
5495 compute and optimizing and alias test pruning after final
5496 vectorization factor computation.
5497 * tree-vect-slp.c (vect_build_slp_tree_1): Remove check on
5498 vector alignment.
5499 (vect_transform_slp_perm_load): Properly compute the original
5500 number of vector load stmts.
5501
5502 2015-06-18 Uros Bizjak <ubizjak@gmail.com>
5503
5504 * doc/invoke.texi (-fsanitize-sections): Split @var to avoid
5505 "unlikely character , in @var" warning.
5506
5507 2015-06-17 Uros Bizjak <ubizjak@gmail.com>
5508
5509 * config/i386/i386.c (ix86_function_arg): Nest TARGET_64BIT code.
5510 (ix86_function_arg_advance): Ditto.
5511 (ix86_pass_by_reference): Ditto. Rewrite MS_ABI part.
5512
5513 2015-06-17 Andrew MacLeod <amacleod@redhat.com>
5514
5515 * function.h (struct rtl_data): Remove struct and accessor macros.
5516 * emit-rtl.h (struct rtl_data): Relocate to here.
5517 * Makefile.in (GTFILES): Add emit-rtl.h.
5518 * df-core.c: Include emit-rtl.h.
5519 * genattrtab.c: Likewise.
5520 * genconditions.c: Likewise.
5521 * genpreds.c: Likewise.
5522 * genrecog.c: Likewise.
5523 * regcprop.c: Likewise.
5524 * resource.c: Likewise.
5525 * sched-rgn.c: Likewise.
5526 * config/aarch64/cortex-a57-fma-steering.c: Likewise.
5527 * config/i386/winnt.c: Likewise.
5528
5529 2015-06-17 Jakub Jelinek <jakub@redhat.com>
5530
5531 PR middle-end/66429
5532 * omp-low.c (expand_omp_taskreg, expand_omp_target): Use child_cfun
5533 instead of DECL_STRUCT_FUNCTION (child_fn). Or in has_simduid_loops
5534 and has_force_vectorize_loops flags from cfun into
5535 child_cfun.
5536 (expand_omp_simd): For broken loop, set cfun->has_simduid_loops
5537 if simduid is non-NULL.
5538 * tree-pass.h (make_pass_simduid_cleanup): New prototype.
5539 * passes.def (pass_simduid_cleanup): Add new pass after loop
5540 passes.
5541 * tree-vectorizer.c (adjust_simduid_builtins): Remove one unnecessary
5542 indirection from htab argument's type.
5543 (shrink_simd_arrays): New function.
5544 (vectorize_loops): Use it. Adjust adjust_simduid_builtins caller.
5545 Don't call adjust_simduid_builtins if there are no loops.
5546 (pass_data_simduid_cleanup, pass_simduid_cleanup): New variables.
5547 (pass_simduid_cleanup::execute): New method.
5548 (make_pass_simduid_cleanup): New function.
5549
5550 2017-06-17 Andrew MacLeod <amacleod@redhat.com>
5551
5552 * tree-core.h (tree_target_option): Make opts field a pointer to a
5553 cl_target_option instead of an instance of the struct.
5554 * tree.h (TREE_TARGET_OPTION): Return the pointer, not an address of
5555 the structure.
5556 * tree.c (make_node_stat ): Allocate a cl_target_option struct for
5557 TARGET_OPTION_NODE.
5558 (copy_node_stat): Allocate and copy struct cl_target_option.
5559
5560 2015-06-17 Andrew MacLeod <amacleod@redhat.com>
5561
5562 * tree.h (merge_dllimport_decl_attributes, handle_dll_attribute):
5563 Remove conditional exposure of prototypes.
5564 (ANON_AGGRNAME_FORMAT, ANON_AGGRNAME_P): Delete.
5565 * tree.c (anon_aggrname_format, anon_aggrname_p): New. Replace macro
5566 definitions in tree.h with functions.
5567 * lto-streamer-out.c (DFS_write_tree_body, hash_tree): Use
5568 anon_aggrname_p.
5569 * tree-streamer-out.c (write_ts_decl_minimal_tree_pointers): Likewise.
5570
5571 2015-06-17 Segher Boessenkool <segher@kernel.crashing.org>
5572
5573 * config/rs6000/rs6000.md (*cmp<mode>_internal1): Rename to...
5574 (*cmp<mode>_signed): ... this.
5575 (*cmpsi_internal2, *cmpdi_internal2): Merge, rename to...
5576 (*cmp<mode>_unsigned): ... this. Remove %b.
5577
5578 2015-06-17 Andrew MacLeod <amacleod@redhat.com>
5579
5580 * coretypes.h: Include input.h and as-a.h.
5581 * rtl.h: Include input.h and as-a.h for generator files.
5582 * hwint.c: Include coretypes.h, don't include diagnostic-core.h.
5583 * vec.c: Don't include diagnostic-core.h.
5584 * alias.c: Do not include input.h, line-map.h or is-a.h.
5585 * asan.c: Likewise.
5586 * attribs.c: Likewise.
5587 * auto-inc-dec.c: Likewise.
5588 * auto-profile.c: Likewise.
5589 * bb-reorder.c: Likewise.
5590 * bt-load.c: Likewise.
5591 * builtins.c: Likewise.
5592 * caller-save.c: Likewise.
5593 * calls.c: Likewise.
5594 * ccmp.c: Likewise.
5595 * cfg.c: Likewise.
5596 * cfganal.c: Likewise.
5597 * cfgbuild.c: Likewise.
5598 * cfgcleanup.c: Likewise.
5599 * cfgexpand.c: Likewise.
5600 * cfghooks.c: Likewise.
5601 * cfgloop.c: Likewise.
5602 * cfgloop.h: Likewise.
5603 * cfgloopanal.c: Likewise.
5604 * cfgloopmanip.c: Likewise.
5605 * cfgrtl.c: Likewise.
5606 * cgraph.c: Likewise.
5607 * cgraphbuild.c: Likewise.
5608 * cgraphclones.c: Likewise.
5609 * cgraphunit.c: Likewise.
5610 * cilk-common.c: Likewise.
5611 * combine-stack-adj.c: Likewise.
5612 * combine.c: Likewise.
5613 * compare-elim.c: Likewise.
5614 * convert.c: Likewise.
5615 * coverage.c: Likewise.
5616 * cppbuiltin.c: Likewise.
5617 * cprop.c: Likewise.
5618 * cse.c: Likewise.
5619 * cselib.c: Likewise.
5620 * data-streamer-in.c: Likewise.
5621 * data-streamer-out.c: Likewise.
5622 * data-streamer.c: Likewise.
5623 * dbxout.c: Likewise.
5624 * dce.c: Likewise.
5625 * ddg.c: Likewise.
5626 * debug.c: Likewise.
5627 * df-core.c: Likewise.
5628 * df-problems.c: Likewise.
5629 * df-scan.c: Likewise.
5630 * df.h: Likewise.
5631 * dfp.c: Likewise.
5632 * diagnostic-core.h: Likewise.
5633 * diagnostic.c: Likewise.
5634 * dojump.c: Likewise.
5635 * dominance.c: Likewise.
5636 * domwalk.c: Likewise.
5637 * double-int.c: Likewise.
5638 * dse.c: Likewise.
5639 * dumpfile.c: Likewise.
5640 * dumpfile.h: Likewise.
5641 * dwarf2asm.c: Likewise.
5642 * dwarf2cfi.c: Likewise.
5643 * dwarf2out.c: Likewise.
5644 * emit-rtl.c: Likewise.
5645 * et-forest.c: Likewise.
5646 * except.c: Likewise.
5647 * explow.c: Likewise.
5648 * expmed.c: Likewise.
5649 * expr.c: Likewise.
5650 * final.c: Likewise.
5651 * fixed-value.c: Likewise.
5652 * fold-const.c: Likewise.
5653 * function.c: Likewise.
5654 * fwprop.c: Likewise.
5655 * gcc-plugin.h: Likewise.
5656 * gcse.c: Likewise.
5657 * generic-match-head.c: Likewise.
5658 * ggc-page.c: Likewise.
5659 * gimple-builder.c: Likewise.
5660 * gimple-expr.c: Likewise.
5661 * gimple-fold.c: Likewise.
5662 * gimple-iterator.c: Likewise.
5663 * gimple-low.c: Likewise.
5664 * gimple-match-head.c: Likewise.
5665 * gimple-pretty-print.c: Likewise.
5666 * gimple-ssa-isolate-paths.c: Likewise.
5667 * gimple-ssa-strength-reduction.c: Likewise.
5668 * gimple-streamer-in.c: Likewise.
5669 * gimple-streamer-out.c: Likewise.
5670 * gimple-streamer.h: Likewise.
5671 * gimple-walk.c: Likewise.
5672 * gimple.c: Likewise.
5673 * gimplify-me.c: Likewise.
5674 * gimplify.c: Likewise.
5675 * godump.c: Likewise.
5676 * graph.c: Likewise.
5677 * graphite-blocking.c: Likewise.
5678 * graphite-dependences.c: Likewise.
5679 * graphite-interchange.c: Likewise.
5680 * graphite-isl-ast-to-gimple.c: Likewise.
5681 * graphite-optimize-isl.c: Likewise.
5682 * graphite-poly.c: Likewise.
5683 * graphite-scop-detection.c: Likewise.
5684 * graphite-sese-to-poly.c: Likewise.
5685 * graphite.c: Likewise.
5686 * haifa-sched.c: Likewise.
5687 * hw-doloop.c: Likewise.
5688 * ifcvt.c: Likewise.
5689 * init-regs.c: Likewise.
5690 * input.c: Likewise.
5691 * internal-fn.c: Likewise.
5692 * ipa-chkp.c: Likewise.
5693 * ipa-comdats.c: Likewise.
5694 * ipa-cp.c: Likewise.
5695 * ipa-devirt.c: Likewise.
5696 * ipa-icf-gimple.c: Likewise.
5697 * ipa-icf.c: Likewise.
5698 * ipa-inline-analysis.c: Likewise.
5699 * ipa-inline-transform.c: Likewise.
5700 * ipa-inline.c: Likewise.
5701 * ipa-polymorphic-call.c: Likewise.
5702 * ipa-profile.c: Likewise.
5703 * ipa-prop.c: Likewise.
5704 * ipa-pure-const.c: Likewise.
5705 * ipa-ref.c: Likewise.
5706 * ipa-reference.c: Likewise.
5707 * ipa-split.c: Likewise.
5708 * ipa-utils.c: Likewise.
5709 * ipa-visibility.c: Likewise.
5710 * ipa.c: Likewise.
5711 * ira-build.c: Likewise.
5712 * ira-color.c: Likewise.
5713 * ira-conflicts.c: Likewise.
5714 * ira-costs.c: Likewise.
5715 * ira-emit.c: Likewise.
5716 * ira-lives.c: Likewise.
5717 * ira.c: Likewise.
5718 * jump.c: Likewise.
5719 * langhooks.c: Likewise.
5720 * lcm.c: Likewise.
5721 * loop-doloop.c: Likewise.
5722 * loop-init.c: Likewise.
5723 * loop-invariant.c: Likewise.
5724 * loop-iv.c: Likewise.
5725 * loop-unroll.c: Likewise.
5726 * lower-subreg.c: Likewise.
5727 * lra-assigns.c: Likewise.
5728 * lra-coalesce.c: Likewise.
5729 * lra-constraints.c: Likewise.
5730 * lra-eliminations.c: Likewise.
5731 * lra-lives.c: Likewise.
5732 * lra-remat.c: Likewise.
5733 * lra-spills.c: Likewise.
5734 * lra.c: Likewise.
5735 * lto-cgraph.c: Likewise.
5736 * lto-compress.c: Likewise.
5737 * lto-opts.c: Likewise.
5738 * lto-section-in.c: Likewise.
5739 * lto-section-out.c: Likewise.
5740 * lto-streamer-in.c: Likewise.
5741 * lto-streamer-out.c: Likewise.
5742 * lto-streamer.c: Likewise.
5743 * mcf.c: Likewise.
5744 * mode-switching.c: Likewise.
5745 * modulo-sched.c: Likewise.
5746 * omega.c: Likewise.
5747 * omp-low.c: Likewise.
5748 * optabs.c: Likewise.
5749 * opts-global.c: Likewise.
5750 * opts.h: Likewise.
5751 * passes.c: Likewise.
5752 * plugin.c: Likewise.
5753 * postreload-gcse.c: Likewise.
5754 * postreload.c: Likewise.
5755 * predict.c: Likewise.
5756 * pretty-print.h: Likewise.
5757 * print-rtl.c: Likewise.
5758 * print-tree.c: Likewise.
5759 * profile.c: Likewise.
5760 * real.c: Likewise.
5761 * realmpfr.c: Likewise.
5762 * recog.c: Likewise.
5763 * ree.c: Likewise.
5764 * reg-stack.c: Likewise.
5765 * regcprop.c: Likewise.
5766 * reginfo.c: Likewise.
5767 * regrename.c: Likewise.
5768 * regstat.c: Likewise.
5769 * reload.c: Likewise.
5770 * reload1.c: Likewise.
5771 * reorg.c: Likewise.
5772 * resource.c: Likewise.
5773 * rtl-chkp.c: Likewise.
5774 * rtl-error.c: Likewise.
5775 * rtlanal.c: Likewise.
5776 * rtlhooks.c: Likewise.
5777 * sanopt.c: Likewise.
5778 * sched-deps.c: Likewise.
5779 * sched-ebb.c: Likewise.
5780 * sched-rgn.c: Likewise.
5781 * sched-vis.c: Likewise.
5782 * sdbout.c: Likewise.
5783 * sel-sched-dump.c: Likewise.
5784 * sel-sched-ir.c: Likewise.
5785 * sel-sched.c: Likewise.
5786 * sese.c: Likewise.
5787 * shrink-wrap.c: Likewise.
5788 * simplify-rtx.c: Likewise.
5789 * stack-ptr-mod.c: Likewise.
5790 * statistics.c: Likewise.
5791 * stmt.c: Likewise.
5792 * stor-layout.c: Likewise.
5793 * store-motion.c: Likewise.
5794 * streamer-hooks.c: Likewise.
5795 * stringpool.c: Likewise.
5796 * symtab.c: Likewise.
5797 * target-globals.c: Likewise.
5798 * targhooks.c: Likewise.
5799 * toplev.c: Likewise.
5800 * tracer.c: Likewise.
5801 * trans-mem.c: Likewise.
5802 * tree-affine.c: Likewise.
5803 * tree-browser.c: Likewise.
5804 * tree-call-cdce.c: Likewise.
5805 * tree-cfg.c: Likewise.
5806 * tree-cfgcleanup.c: Likewise.
5807 * tree-chkp-opt.c: Likewise.
5808 * tree-chkp.c: Likewise.
5809 * tree-chrec.c: Likewise.
5810 * tree-complex.c: Likewise.
5811 * tree-data-ref.c: Likewise.
5812 * tree-dfa.c: Likewise.
5813 * tree-diagnostic.c: Likewise.
5814 * tree-dump.c: Likewise.
5815 * tree-eh.c: Likewise.
5816 * tree-emutls.c: Likewise.
5817 * tree-if-conv.c: Likewise.
5818 * tree-inline.c: Likewise.
5819 * tree-into-ssa.c: Likewise.
5820 * tree-iterator.c: Likewise.
5821 * tree-loop-distribution.c: Likewise.
5822 * tree-nested.c: Likewise.
5823 * tree-nrv.c: Likewise.
5824 * tree-object-size.c: Likewise.
5825 * tree-outof-ssa.c: Likewise.
5826 * tree-parloops.c: Likewise.
5827 * tree-phinodes.c: Likewise.
5828 * tree-predcom.c: Likewise.
5829 * tree-pretty-print.c: Likewise.
5830 * tree-profile.c: Likewise.
5831 * tree-scalar-evolution.c: Likewise.
5832 * tree-sra.c: Likewise.
5833 * tree-ssa-address.c: Likewise.
5834 * tree-ssa-alias.c: Likewise.
5835 * tree-ssa-ccp.c: Likewise.
5836 * tree-ssa-coalesce.c: Likewise.
5837 * tree-ssa-copy.c: Likewise.
5838 * tree-ssa-copyrename.c: Likewise.
5839 * tree-ssa-dce.c: Likewise.
5840 * tree-ssa-dom.c: Likewise.
5841 * tree-ssa-dse.c: Likewise.
5842 * tree-ssa-forwprop.c: Likewise.
5843 * tree-ssa-ifcombine.c: Likewise.
5844 * tree-ssa-live.c: Likewise.
5845 * tree-ssa-loop-ch.c: Likewise.
5846 * tree-ssa-loop-im.c: Likewise.
5847 * tree-ssa-loop-ivcanon.c: Likewise.
5848 * tree-ssa-loop-ivopts.c: Likewise.
5849 * tree-ssa-loop-manip.c: Likewise.
5850 * tree-ssa-loop-niter.c: Likewise.
5851 * tree-ssa-loop-prefetch.c: Likewise.
5852 * tree-ssa-loop-unswitch.c: Likewise.
5853 * tree-ssa-loop.c: Likewise.
5854 * tree-ssa-math-opts.c: Likewise.
5855 * tree-ssa-operands.c: Likewise.
5856 * tree-ssa-phiopt.c: Likewise.
5857 * tree-ssa-phiprop.c: Likewise.
5858 * tree-ssa-pre.c: Likewise.
5859 * tree-ssa-propagate.c: Likewise.
5860 * tree-ssa-reassoc.c: Likewise.
5861 * tree-ssa-sccvn.c: Likewise.
5862 * tree-ssa-scopedtables.c: Likewise.
5863 * tree-ssa-sink.c: Likewise.
5864 * tree-ssa-strlen.c: Likewise.
5865 * tree-ssa-structalias.c: Likewise.
5866 * tree-ssa-tail-merge.c: Likewise.
5867 * tree-ssa-ter.c: Likewise.
5868 * tree-ssa-threadedge.c: Likewise.
5869 * tree-ssa-threadupdate.c: Likewise.
5870 * tree-ssa-uncprop.c: Likewise.
5871 * tree-ssa-uninit.c: Likewise.
5872 * tree-ssa.c: Likewise.
5873 * tree-ssanames.c: Likewise.
5874 * tree-stdarg.c: Likewise.
5875 * tree-streamer-in.c: Likewise.
5876 * tree-streamer-out.c: Likewise.
5877 * tree-streamer.c: Likewise.
5878 * tree-switch-conversion.c: Likewise.
5879 * tree-tailcall.c: Likewise.
5880 * tree-vect-data-refs.c: Likewise.
5881 * tree-vect-generic.c: Likewise.
5882 * tree-vect-loop-manip.c: Likewise.
5883 * tree-vect-loop.c: Likewise.
5884 * tree-vect-patterns.c: Likewise.
5885 * tree-vect-slp.c: Likewise.
5886 * tree-vect-stmts.c: Likewise.
5887 * tree-vectorizer.c: Likewise.
5888 * tree-vrp.c: Likewise.
5889 * tree.c: Likewise.
5890 * tsan.c: Likewise.
5891 * ubsan.c: Likewise.
5892 * valtrack.c: Likewise.
5893 * value-prof.c: Likewise.
5894 * var-tracking.c: Likewise.
5895 * varasm.c: Likewise.
5896 * varpool.c: Likewise.
5897 * vmsdbgout.c: Likewise.
5898 * vtable-verify.c: Likewise.
5899 * web.c: Likewise.
5900 * wide-int.cc: Likewise.
5901 * xcoffout.c: Likewise.
5902 * common/common-target.h: Do not include input.h, line-map.h or is-a.h.
5903 * common/common-targhooks.c: Likewise.
5904 * config/aarch64/aarch64-builtins.c: Likewise.
5905 * config/aarch64/aarch64.c: Likewise.
5906 * config/alpha/alpha.c: Likewise.
5907 * config/arc/arc.c: Likewise.
5908 * config/arm/aarch-common.c: Likewise.
5909 * config/arm/arm-builtins.c: Likewise.
5910 * config/arm/arm-c.c: Likewise.
5911 * config/arm/arm.c: Likewise.
5912 * config/avr/avr-c.c: Likewise.
5913 * config/avr/avr-log.c: Likewise.
5914 * config/avr/avr.c: Likewise.
5915 * config/bfin/bfin.c: Likewise.
5916 * config/c6x/c6x.c: Likewise.
5917 * config/cr16/cr16.c: Likewise.
5918 * config/cris/cris.c: Likewise.
5919 * config/darwin-c.c: Likewise.
5920 * config/darwin.c: Likewise.
5921 * config/default-c.c: Likewise.
5922 * config/epiphany/epiphany.c: Likewise.
5923 * config/epiphany/mode-switch-use.c: Likewise.
5924 * config/epiphany/resolve-sw-modes.c: Likewise.
5925 * config/fr30/fr30.c: Likewise.
5926 * config/frv/frv.c: Likewise.
5927 * config/ft32/ft32.c: Likewise.
5928 * config/glibc-c.c: Likewise.
5929 * config/h8300/h8300.c: Likewise.
5930 * config/i386/i386-c.c: Likewise.
5931 * config/i386/i386.c: Likewise.
5932 * config/i386/msformat-c.c: Likewise.
5933 * config/i386/winnt-cxx.c: Likewise.
5934 * config/i386/winnt-stubs.c: Likewise.
5935 * config/i386/winnt.c: Likewise.
5936 * config/ia64/ia64-c.c: Likewise.
5937 * config/ia64/ia64.c: Likewise.
5938 * config/iq2000/iq2000.c: Likewise.
5939 * config/lm32/lm32.c: Likewise.
5940 * config/m32c/m32c-pragma.c: Likewise.
5941 * config/m32c/m32c.c: Likewise.
5942 * config/m32r/m32r.c: Likewise.
5943 * config/m68k/m68k.c: Likewise.
5944 * config/mcore/mcore.c: Likewise.
5945 * config/mep/mep-pragma.c: Likewise.
5946 * config/mep/mep.c: Likewise.
5947 * config/microblaze/microblaze-c.c: Likewise.
5948 * config/microblaze/microblaze.c: Likewise.
5949 * config/mips/mips.c: Likewise.
5950 * config/mmix/mmix.c: Likewise.
5951 * config/mn10300/mn10300.c: Likewise.
5952 * config/moxie/moxie.c: Likewise.
5953 * config/msp430/msp430-c.c: Likewise.
5954 * config/msp430/msp430.c: Likewise.
5955 * config/nds32/nds32-cost.c: Likewise.
5956 * config/nds32/nds32-fp-as-gp.c: Likewise.
5957 * config/nds32/nds32-intrinsic.c: Likewise.
5958 * config/nds32/nds32-isr.c: Likewise.
5959 * config/nds32/nds32-md-auxiliary.c: Likewise.
5960 * config/nds32/nds32-memory-manipulation.c: Likewise.
5961 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
5962 * config/nds32/nds32-predicates.c: Likewise.
5963 * config/nds32/nds32.c: Likewise.
5964 * config/nios2/nios2.c: Likewise.
5965 * config/nvptx/nvptx.c: Likewise.
5966 * config/pa/pa.c: Likewise.
5967 * config/pdp11/pdp11.c: Likewise.
5968 * config/rl78/rl78-c.c: Likewise.
5969 * config/rl78/rl78.c: Likewise.
5970 * config/rs6000/rs6000-c.c: Likewise.
5971 * config/rs6000/rs6000.c: Likewise.
5972 * config/rx/rx.c: Likewise.
5973 * config/s390/s390-c.c: Likewise.
5974 * config/s390/s390.c: Likewise.
5975 * config/sh/sh-c.c: Likewise.
5976 * config/sh/sh-mem.cc: Likewise.
5977 * config/sh/sh.c: Likewise.
5978 * config/sh/sh_optimize_sett_clrt.cc: Likewise.
5979 * config/sh/sh_treg_combine.cc: Likewise.
5980 * config/sol2-c.c: Likewise.
5981 * config/sol2-cxx.c: Likewise.
5982 * config/sol2-stubs.c: Likewise.
5983 * config/sol2.c: Likewise.
5984 * config/sparc/sparc-c.c: Likewise.
5985 * config/sparc/sparc.c: Likewise.
5986 * config/spu/spu-c.c: Likewise.
5987 * config/spu/spu.c: Likewise.
5988 * config/stormy16/stormy16.c: Likewise.
5989 * config/tilegx/mul-tables.c: Likewise.
5990 * config/tilegx/tilegx-c.c: Likewise.
5991 * config/tilegx/tilegx.c: Likewise.
5992 * config/tilepro/mul-tables.c: Likewise.
5993 * config/tilepro/tilepro-c.c: Likewise.
5994 * config/tilepro/tilepro.c: Likewise.
5995 * config/v850/v850-c.c: Likewise.
5996 * config/v850/v850.c: Likewise.
5997 * config/vax/vax.c: Likewise.
5998 * config/visium/visium.c: Likewise.
5999 * config/vms/vms-c.c: Likewise.
6000 * config/vms/vms.c: Likewise.
6001 * config/vxworks.c: Likewise.
6002 * config/winnt-c.c: Likewise.
6003 * config/xtensa/xtensa.c: Likewise.
6004
6005 2015-06-17 Robert Suchanek <robert.suchanek@imgtec.com>
6006
6007 * config/mips/mips.c (mips_ira_change_pseudo_allocno_class): New
6008 function.
6009 (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): Define macro.
6010
6011 2015-06-17 Richard Biener <rguenther@suse.de>
6012
6013 PR tree-optimization/66251
6014 * tree-vect-stmts.c (vectorizable_store): Fix gathering of vectorized
6015 stmts for SLP strided stores.
6016
6017 Revert
6018 2015-05-22 Richard Biener <rguenther@suse.de>
6019
6020 PR tree-optimization/66251
6021 * tree-vect-stmts.c (vectorizable_conversion): Properly
6022 set STMT_VINFO_VEC_STMT even for the SLP case.
6023
6024 2015-05-26 Michael Matz <matz@suse.de>
6025
6026 PR middle-end/66251
6027 * tree-vect-stmts.c (vect_create_vectorized_demotion_stmts): Always set
6028 STMT_VINFO_VEC_STMT, also with SLP.
6029
6030 2015-06-16 Uros Bizjak <ubizjak@gmail.com>
6031
6032 PR target/56766
6033 * config/i386/sse.md (*avx_addsubv4df3_1): New insn pattern.
6034 (*avx_addsubv4df3_1s): Ditto.
6035 (*sse3_addsubv2df3_1): Ditto.
6036 (*sse3_addsubv2df3_1s): Ditto.
6037 (*avx_addsubv8sf3_1): Ditto.
6038 (*avx_addsubv8sf3_1s): Ditto.
6039 (*sse3_addsubv4sf3_1): Ditto.
6040 (*sse3_addsubv4sf3_1s): Ditto.
6041
6042 2015-06-16 Steve Ellcey <sellcey@imgtec.com>
6043
6044 * config/mips/mti-linux.h (MIPS_SYSVERSION_SPEC): New.
6045 (SYSROOT_SUFFIX_SPEC): Update.
6046 (SYSROOT_HEADERS_SUFFIX_SPEC): New.
6047 (STARTFILE_PREFIX_SPEC): Update.
6048 * config/mips/t-mti-linux (MULTILIB_EXCEPTIONS): Remove.
6049 (MULTILIB_REQUIRED): New.
6050 (MULTILIB_OSDIRNAMES): New.
6051 * config/mips/t-img-linux (MULTILIB_EXCEPTIONS): Remove.
6052 (MULTILIB_REQUIRED): New.
6053 (MULTILIB_OSDIRNAMES): New.
6054
6055 2015-06-16 Matthew Wahab <matthew.wahab@arm.com>
6056
6057 * config/aarch64/aarch64-arches.def: Add "armv8.1-a".
6058 * config/aarch64/aarch64-options-extensions.def: Update "fP",
6059 "simd" and "crypto". Add "lse", "pan", "lor" and "rdma".
6060 * gcc/config/aarch64/aarch64.h (AARCH64_FL_LSE): New.
6061 (AARCH64_FL_PAN): New.
6062 (AARCH64_FL_LOR): New.
6063 (AARCH64_FL_RDMA): New.
6064 (AARCH64_FL_FOR_ARCH8_1): New.
6065 * doc/invoke.texi (AArch64 Options): Add "armv8.1-a" to
6066 -march. Add "lse", "pan", "lor", "rdma" to feature modifiers.
6067
6068 2015-06-16 Martin Liska <mliska@suse.cz>
6069
6070 * bitmap.c (dump_bitmap_statistics): Fix GNU coding style.
6071 * hash-table.c (void dump_hash_table_loc_statistics): Add missing
6072 guard.
6073
6074 2015-06-16 Richard Biener <rguenther@suse.de>
6075
6076 * tree-vect-stmts.c (vectorizable_store): Adjust.
6077 (vectorizable_load): Likewise.
6078 * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
6079 Simplify.
6080 (vect_create_data_ref_ptr): Likewise.
6081 (bump_vector_ptr): Adjust.
6082
6083 2015-06-16 Richard Biener <rguenther@suse.de>
6084
6085 * tree-vect-stmts.c (vectorizable_load): Properly start loads
6086 with the first element if this is grouped loads.
6087
6088 2015-06-16 James Greenhalgh <james.greenhalgh@arm.com>
6089
6090 * config/arm/arm-protos.h (struct tune_params): Rename
6091 log_op_non_sc to log_op_non_short_circuit, and rename enum
6092 values to expand SC to SHORT_CIRCUIT.
6093 * config/arm/arm.c (arm_slowmul_tune): Expand LOG_OP_NON_SC
6094 to LOG_OP_NON_SHORT_CIRCUIT.
6095 (arm_fastmul_tune):Likewise
6096 (arm_strongarm_tune): Likewise.
6097 (arm_xscale_tune): Likewise.
6098 (arm_9e_tune): Likewise.
6099 (arm_marvell_pj4_tune): Likewise.
6100 (arm_v6t2_tune): Likewise.
6101 (arm_cortex_tune): Likewise.
6102 (arm_cortex_a8_tune): Likewise.
6103 (arm_cortex_a7_tune): Likewise.
6104 (arm_cortex_a15_tune): Likewise.
6105 (arm_cortex_a53_tune): Likewise.
6106 (arm_cortex_a57_tune): Likewise.
6107 (arm_xgene1_tune): Likewise.
6108 (arm_cortex_a5_tune): Likewise.
6109 (arm_cortex_a9_tune): Likewise.
6110 (arm_cortex_a12_tune): Likewise.
6111 (arm_v7m_tune): Likewise.
6112 (arm_cortex_m7_tune): Likewise.
6113 (arm_v6m_tune): Likewise.
6114 (arm_fa726te_tune): Likewise.
6115
6116 2015-06-15 David Edelsohn <dje.gcc@gmail.com>
6117
6118 * altivec.md: Delete UNSPEC_VMLADDUHM.
6119 (mulv4si3_p8): New pattern.
6120 (mulv4si3): Use it for POWER8.
6121 (mulv8hi3): Use vmladduhm with zero addend.
6122 (altivec_vmladduhm): Descriptive RTL.
6123
6124 2015-06-15 Jim Wilson <jim.wilson@linaro.org>
6125
6126 * config/aarch64/aarch64.md (mov<mode>_aarch64): Change alternative 2
6127 to use neon_move instead of mov_imm.
6128 (movdi_aarch64): Change alternative 14 to use neon_move not fmov.
6129 (movtf_aarch64): Change alternative 4 to use neon_move_q not fconstd.
6130
6131 * config/aarch64/aarch64.c (aarch64_valid_floating_const): Move
6132 aarch64_float_const_zero_rtx_p check before TFmode check.
6133 * config/aarch64/aarch64.md (movtf): Don't call force_reg if op1 is
6134 an fp zero.
6135 (movtf_aarch64): Separate ?rY alternative into two. Adjust assembly
6136 code and attributes to match. Change condition from register_operand
6137 to aarch64_reg_or_fp_zero for op1. Change type for ldp from
6138 neon_load1_2reg to load2. Change type for stp from neon_store1_2reg
6139 to store2.
6140
6141 2015-06-15 Aldy Hernandez <aldyh@redhat.com>
6142
6143 PR debug/66535
6144 * dwarf2out.c (gen_subprogram_die): Do not check a parent's tag if
6145 there is no parent.
6146
6147 2015-06-14 Shiva Chen <shiva0217@gmail.com>
6148
6149 * aarch64.c (aarch64_simd_lane_bounds): Change %ld to %wd for
6150 HOST_WIDE_INT parameter.
6151
6152 2015-06-14 Jan Hubicka <hubicka@ucw.cz>
6153
6154 PR ipa/66181
6155 * lto-streamer-out.c (hash_tree): Do not hash TYPE_NO_FORCE_BLK.
6156 * tree-streamer-out.c (pack_ts_type_common_value_fields): Do not stream
6157 TYPE_NO_FORCE_BLK.
6158 * tree-streamer-in.c (unpack_ts_type_common_value_fields): Likewise.
6159
6160 2015-06-14 Richard Sandiford <richard.sandiford@arm.com>
6161
6162 * rtl.h (classify_insn): Declare.
6163 * emit-rtl.c (classify_insn): Move to...
6164 * rtl.c: ...here and add generator support.
6165 * gensupport.h (get_emit_function, needs_barrier_p): Declare.
6166 * gensupport.c (get_emit_function, needs_barrier_p): New functions.
6167 * genemit.c (gen_emit_seq): New function.
6168 (gen_expand, gen_split): Use it.
6169
6170 2015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
6171
6172 * tree.c (make_vector_stat): Fix comment to state that the
6173 function returns a VECTOR_CST.
6174
6175 2015-06-13 Richard Sandiford <richard.sandiford@arm.com>
6176
6177 * gensupport.h (add_implicit_parallel): Declare.
6178 * genrecog.c (add_implicit_parallel): Move to...
6179 * gensupport.c (add_implicit_parallel): ...here.
6180 (process_one_cond_exec): Use it.
6181 * genemit.c (gen_insn): Likewise.
6182
6183 2015-06-13 Iain Sandoe <iain@codesourcery.com>
6184
6185 PR bootstrap/66448
6186 * passes.c (rest_of_decl_compilation): Do not register globals for
6187 early debug if they are declared in built-ins.
6188
6189 2015-06-12 Aldy Hernandez <aldyh@redhat.com>
6190
6191 * dwarf2out.c (check_die): Protect with ENABLE_CHECKING.
6192
6193 2015-06-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6194
6195 * ifcvt.c (noce_try_store_flag_constants): Use std::swap instead of
6196 manually swapping.
6197 (noce_try_cmove_arith): Likewise.
6198 (noce_get_alt_condition): Likewise.
6199
6200 2015-06-12 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
6201
6202 * common/config/i386/i386-common.c
6203 (OPTION_MASK_ISA_MWAITX_SET): New.
6204 (ix86_handle_option): Handle mwaitx.
6205 * config.gcc (i[34567]86-*-*): Add mwaitxintrin.h,
6206 (x86_64-*-*): Likewise.
6207 * config/i386/mwaitxintrin.h: New header.
6208 * config/i386/cpuid.h (bit_MWAITX): Define.
6209 * config/i386/driver-i386.c (host_detect_local_cpu): Detect
6210 MWAITX support.
6211 * config/i386/i386.opt (mwaitx): New.
6212 * config/i386/i386-builtin-types.def
6213 (VOID_FTYPE_UNSIGNED_ UNSIGNED_UNSIGNED): New function type.
6214 * config/i386/i386-c.c: Define __MWAITX__ if needed.
6215 * config/i386/i386.c (ix86_target_string): Define -mmwaitx option.
6216 (PTA_MWAITX): New.
6217 (ix86_option_override_internal): Handle new option.
6218 (processor_alias_table): Added PTA_MWAITX.
6219 (ix86_valid_target_attribute_inner_p): Add OPT_mmwaitx.
6220 (ix86_builtins): Add IX86_BUILTIN_MWAITX, IX86_BUILTIN_MONITORX.
6221 (ix86_expand_builtin): Handle IX86_BUILTIN_MWAITX and
6222 IX86_BUILTIN_MONITORX built-ins.
6223 * config/i386/i386.h (TARGET_MWAITX): New.
6224 * config/i386/i386.md (unspecv): Add UNSPEC_MWAITX and
6225 UNSPEC_MONITORX.
6226 (mwaitx): New pattern.
6227 (monitorx_<mode>): New pattern.
6228 * config/i386/x86intrin.h: Include mwaitxintrin.h.
6229 * doc/extend.texi: Document monitorx and mwaitx builtins.
6230 * doc/invoke.texi: Document -mmwaitx option.
6231
6232 2015-06-12 Uros Bizjak <ubizjak@gmail.com>
6233
6234 * emit-rtl.c (need_atomic_barrier_p): Mask model with
6235 MEMMODEL_BASE_MASK. Remove MEMMODEL_SYNC_* cases.
6236
6237 2015-06-11 David Edelsohn <dje.gcc@gmail.com>
6238
6239 * dbxout.c (xcoff_debug_hooks): Provide a function for
6240 register_main_translation_unit hook.
6241
6242 2015-06-11 David Edelsohn <dje.gcc@gmail.com>
6243
6244 * config/rs6000/rs6000.c (rs6000_pre_atomic_barrier): Remove SYNC
6245 variants cases from switch.
6246 (rs6000_post_atomic_barrier): Same.
6247 (rs6000_expand_atomic_compare_and_swap): Use memmodel_base.
6248 (rs6000_expand_atomic_exchange): Same.
6249 (rs6000_expand_atomic_op): Same.
6250 * config/rs6000/sync.md (mem_thread_fence): Use memodel_base. Remove
6251 SYNC variants cases from switch.
6252 (atomic_load): Same.
6253 (atomic_store): Same.
6254
6255 2015-06-11 John David Anglin <danglin@gcc.gnu.org>
6256
6257 * config/pa/pa.c (pa_output_global_address): Handle LABEL_REF plus
6258 CONST_INT for goto.
6259
6260 2015-06-11 Aldy Hernandez <aldyh@redhat.com>
6261
6262 PR bootstrap/66448
6263 * dwarf2out.c (check_die): Check for common duplicate attributes.
6264 (add_location_or_const_value_attribute): Do not add duplicate
6265 attributes.
6266 (gen_formal_parameter_die): Do not add DW_AT_artificial the second
6267 time around.
6268 (gen_struct_or_union_type_die): Bail early if TREE_ASM_WRITTEN.
6269 (gen_type_die_with_usage): Call check_die.
6270 (dwarf2out_decl): Only call check_die() when ENABLE_CHECKING.
6271
6272 2015-06-11 Jason Merrill <jason@redhat.com>
6273
6274 * dwarf2out.c (prune_unused_types): Handle unused top-level limbo
6275 dies.
6276
6277 2015-06-11 Marek Polacek <polacek@redhat.com>
6278
6279 * match.pd ((x & y) ^ (x | y)): Don't check for single_use.
6280
6281 2015-06-11 Eric Botcazou <ebotcazou@adacore.com>
6282
6283 PR bootstrap/66252
6284 * config/sparc/sparc.c (hard_regno_mode_classes): Add ??? comment.
6285 * config/sparc/sparc.md (zero_extendsidi2_insn_sp32): Use single order.
6286 (*addx_extend_sp32): Fix pasto.
6287 (*subx_extend): Rename into...
6288 (*subx_extend_sp32): ...this.
6289 (*adddi3_extend_sp32): Add earlyclobber.
6290 (*subdi3_insn_sp32): Likewise.
6291 (*subdi3_extend_sp32): Likewise.
6292 (*and_not_di_sp32): Likewise.
6293 (*or_not_di_sp32): Likewise.
6294 (*xor_not_di_sp32): Likewise.
6295 (*negdi2_sp32): Likewise.
6296 (*one_cmpldi2_sp32): Likewise.
6297
6298 2015-06-11 Pierre-Marie de Rodat <derodat@adacore.com>
6299
6300 * debug.h (struct gcc_debug_hooks): Add a
6301 register_main_translation_unit hook.
6302 * debug.c (do_nothing_debug_hooks): Provide a function for this
6303 new hook.
6304 * dbxout.c (dbx_debug_hooks): Likewise.
6305 * sdbout.c (sdb_debug_hooks): Likewise.
6306 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
6307 * dwarf2out.c (main_translation_unit): New global variable.
6308 (dwarf2out_register_main_translation_unit): New function
6309 implementing the new hook.
6310 (dwarf2_debug_hooks): Assign
6311 dwarf2out_register_main_translation_unit to this new hook.
6312 (dwarf2out_init): Associate any main translation unit to
6313 comp_unit_die ().
6314
6315 2015-06-11 Marek Polacek <polacek@redhat.com>
6316
6317 * match.pd ((x & y) ^ (x | y) -> x ^ y): New pattern.
6318
6319 2015-06-11 Marek Polacek <polacek@redhat.com>
6320
6321 * match.pd: Use single_use throughout.
6322
6323 2015-06-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6324
6325 * config/arm/arm.c (arm_option_params_internal): When optimising
6326 for speed set max_insns_skipped when arm_restrict_it.
6327
6328 2015-06-11 Christian Bruel <christian.bruel@st.com>
6329
6330 PR target/52144
6331 * config/arm/arm-c.c (arm_cpu_cpp_builtins): Conditionally define
6332 macros in ...
6333 (arm_cpu_builtins): New function.
6334 (arm_pragma_target_parse): Call arm_cpu_builtins.
6335 * config/arm/arm-protos.h (arm_cpu_builtins): Declare.
6336 (arm_register_target_pragmas): Likewise.
6337 * config/arm/arm.h (REGISTER_TARGET_PRAGMAS):
6338 Call arm_register_target_pragmas.
6339 * config/arm/arm-c.c (arm_register_target_pragmas): New function.
6340 (arm_pragma_target_parse): Likewise.
6341
6342 2015-06-10 Kaz Kojima <kkojima@gcc.gnu.org>
6343
6344 * config/sh/sh.md (tstsi_t): Add '?' modifier to 'r' alternative
6345 of the second operand.
6346
6347 2015-06-10 Uros Bizjak <ubizjak@gmail.com>
6348
6349 PR target/66473
6350 * config/i386/i386.c (ix86_expand_vector_set): Use gen_int_mode
6351 to prepare mask operand for AVX512 modes.
6352
6353 2015-06-10 Michael Meissner <meissner@linux.vnet.ibm.com>
6354
6355 PR target/66474
6356 * doc/md.texi (Machine Constraints): Document that on the PowerPC
6357 if you use a constraint that targets a VSX register, you must use
6358 %x<n> in the template.
6359
6360 2015-06-10 Max Filippov <jcmvbkbc@gmail.com>
6361
6362 * config/xtensa/xtensa.h (TARGET_DEBUG): New definition.
6363 * config/xtensa/xtensa.md (define_attr "type"): New type "trap".
6364 (define_insn "trap"): New definition.
6365
6366 2015-06-10 Richard Biener <rguenther@suse.de>
6367
6368 * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Split
6369 out from ...
6370 (vect_supported_load_permutation_p): ... here. Handle
6371 supportable permutations in reductions.
6372 * tree-vect-stmts.c (vectorizable_load): Handle SLP permutations
6373 for vectorizing strided group loads.
6374
6375 2015-06-10 Jakub Jelinek <jakub@redhat.com>
6376
6377 PR target/66470
6378 * config/i386/i386.c (ix86_split_long_move): For collisions
6379 involving direct tls segment refs, move the UNSPEC_TP possibly
6380 wrapped in ZERO_EXTEND out of the address for lea, to each of
6381 the memory loads.
6382
6383 2015-06-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
6384
6385 * config/arm/sync.md (*memory_barrier): Use dmb ish instead of
6386 dmb sy. Adjust tabs.
6387
6388 2015-06-10 Tom de Vries <tom@codesourcery.com>
6389
6390 * omp-low.c (expand_omp_target): Remove duplicate declaration of node.
6391
6392 2015-06-10 Martin Liska <mliska@suse.cz>
6393
6394 PR bootstrap/66471
6395 * mem-stats-traits.h (enum mem_alloc_origin): Add _ORIGIN suffix for
6396 all enum values in mem_alloc_origin.
6397 * alloc-pool.c (dump_alloc_pool_statistics): Use newly changed enum
6398 name.
6399 * alloc-pool.h (pool_allocator::pool_allocator): Likewise.
6400 * bitmap.c (bitmap_register): Likewise.
6401 (dump_bitmap_statistics): Likewise.
6402 * ggc-common.c (dump_ggc_loc_statistics): Likewise.
6403 (ggc_record_overhead): Likewise.
6404 * hash-map.h: Likewise.
6405 * hash-set.h: Likewise.
6406 * hash-table.c (void dump_hash_table_loc_statistics): Likewise.
6407 * hash-table.h: Likewise.
6408 * vec.c (vec_prefix::register_overhead): Likewise.
6409 (vec_prefix::release_overhead): Likewise.
6410 (dump_vec_loc_statistics): Likewise.
6411
6412 2015-06-09 Christian Bruel <christian.bruel@st.com>
6413
6414 PR target/52144
6415 * config/arm/arm.opt (THUMB, arm_restrict_it, inline_asm_unified): Save.
6416 * config/arm/arm-protos.h (arm_valid_target_attribute_tree): Declare.
6417 (arm_reset_previous_fndecl, arm_change_mode_p): Likewise.
6418 * config/arm/arm.h (SWITCHABLE_TARGET): Define.
6419 * config/arm/arm.c (arm_reset_previous_fndecl): New functions.
6420 (arm_valid_target_attribute_tree, arm_change_mode_p): Likewise.
6421 (arm_valid_target_attribute_p): Likewise.
6422 (arm_set_current_function, arm_can_inline_p): Likewise.
6423 (arm_valid_target_attribute_rec): Likewise.
6424 (arm_previous_fndecl): New variable.
6425 (TARGET_SET_CURRENT_FUNCTION, TARGET_OPTION_VALID_ATTRIBUTE_P): Define.
6426 (TARGET_CAN_INLINE_P): Define.
6427 (arm_asm_trampoline_template): Emit mode.
6428 (arm_file_start): Don't set unified syntax.
6429 (arm_declare_function_name): Set unified syntax and mode.
6430 (arm_option_override): Init target_option_default_node.
6431 and target_option_current_node.
6432 * config/arm/arm.md (*call_value_symbol): Set mode when possible.
6433 (*call_symbol): Likewise.
6434 * doc/extend.texi: Document ARM/Thumb target attribute.
6435 * doc/invoke.texi: Likewise.
6436
6437 2015-06-09 Alexandre Oliva <aoliva@redhat.com>
6438
6439 Revert:
6440 2015-06-09 Alexandre Oliva <aoliva@redhat.com>
6441 PR rtl-optimization/64164
6442 * Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
6443 * tree-ssa-copyrename.c: Removed.
6444 * opts.c (default_options_table): Drop -ftree-copyrename. Add
6445 -ftree-coalesce-vars.
6446 * passes.def: Drop all occurrences of pass_rename_ssa_copies.
6447 * common.opt (ftree-copyrename): Ignore.
6448 (ftree-coalesce-inlined-vars): Likewise.
6449 * doc/invoke.texi: Remove the ignored options above.
6450 * gimple-expr.h (gimple_can_coalesce_p): Move declaration
6451 * tree-ssa-coalesce.h: ... here.
6452 * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
6453 headers required by it.
6454 * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
6455 across variables when flag_tree_coalesce_vars. Check register
6456 use and promoted modes to allow coalescing. Moved to
6457 tree-ssa-coalesce.c.
6458 * tree-ssa-live.c (struct tree_int_map_hasher): Move along
6459 with its member functions to tree-ssa-coalesce.c.
6460 (var_map_base_init): Likewise. Renamed to
6461 compute_samebase_partition_bases.
6462 (partition_view_normal): Drop want_bases parameter.
6463 (partition_view_bitmap): Likewise.
6464 * tree-ssa-live.h: Adjust declarations.
6465 * tree-ssa-coalesce.c: Include explow.h.
6466 (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
6467 default defs at the entry point.
6468 (dump_part_var_map): New.
6469 (compute_optimized_partition_bases): New, called by...
6470 (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
6471 of compute_samebase_partition_bases. Adjust.
6472 * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
6473 * cfgexpand.c (leader_merge): New.
6474 (get_rtl_for_parm_ssa_default_def): New.
6475 (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
6476 vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
6477 (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
6478 redundant MEM attr setting.
6479 (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
6480 from...
6481 (expand_one_stack_var): ... this. New wrapper to check and
6482 skip already expanded SSA partitions.
6483 (record_alignment_for_reg_var): New, factored out of...
6484 (expand_one_var): ... this.
6485 (expand_one_ssa_partition): New.
6486 (adjust_one_expanded_partition_var): New.
6487 (expand_one_register_var): Check and skip already expanded SSA
6488 partitions.
6489 (expand_used_vars): Don't create DECLs for anonymous SSA
6490 names. Expand all SSA partitions, then adjust all SSA names.
6491 (pass::execute): Replace the loops that set
6492 SA.partition_to_pseudo from partition leaders and cleared
6493 DECL_RTL for multi-location variables, and that which used to
6494 rename vars and set attrs, with one that clears DECL_RTL and
6495 checks that PARMs and RESULTs default_defs match DECL_RTL.
6496 * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
6497 * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl.
6498 * explow.c (promote_ssa_mode): New.
6499 * explow.h (promote_ssa_mode): Declare.
6500 * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
6501 * function.c: Include cfgexpand.h.
6502 (use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
6503 (use_register_for_parm_decl): Wrapper for the above to
6504 special-case the result_ptr.
6505 (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
6506 (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
6507 multiple locations.
6508 (assign_parm_adjust_stack_rtl): Add all and parm arguments,
6509 for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
6510 (assign_parm_setup_block): Prefer SSA-assigned location.
6511 (assign_parm_setup_reg): Likewise. Use entry_parm for equiv
6512 if stack_parm is NULL.
6513 (assign_parm_setup_stack): Prefer SSA-assigned location.
6514 (assign_parms): Maybe reset DECL_RTL of params. Adjust stack
6515 rtl before testing for pointer bounds. Special-case result_ptr.
6516 (expand_function_start): Maybe reset DECL_RTL of result.
6517 Prefer SSA-assigned location for result and static chain.
6518 Factor out DECL_RESULT and SET_DECL_RTL.
6519 * tree-outof-ssa.c (insert_value_copy_on_edge): Handle
6520 anonymous SSA names. Use promote_ssa_mode.
6521 (get_temp_reg): Likewise.
6522 (remove_ssa_form): Adjust.
6523 * var-tracking.c (dataflow_set_clear_at_call): Take call_insn
6524 and get its reg_usage for reg invalidation.
6525 (compute_bb_dataflow): Pass it insn.
6526 (emit_notes_in_bb): Likewise.
6527 * tree-ssa-loop-niter.c (loop_exits_before_overflow): Don't
6528 fail assert on conversion between unsigned types.
6529
6530 2015-06-09 Tom de Vries <tom@codesourcery.com>
6531
6532 PR tree-optimization/65460
6533 * omp-low.c (expand_omp_target): Set parallelized_function on
6534 cgraph_node for child_fn.
6535
6536 2015-06-09 Tom de Vries <tom@codesourcery.com>
6537
6538 * omp-low.c (finalize_task_copyfn, expand_omp_taskreg): Mark function
6539 parallelized_function before add_new_function.
6540
6541 2015-06-09 Andrew MacLeod <amacleod@redhat.com>
6542
6543 * gcc-plugin.h: Move decls to plugin.h and include it.
6544 * plugin.h: Relocate decls from gcc-plugin.h
6545 * ggc-page.c: Include required header files.
6546 * passes.c: Likewise.
6547 * cgraphunit.c: Likewise.
6548
6549 2015-06-09 Tom de Vries <tom@codesourcery.com>
6550
6551 * tree-stdarg.c (expand_ifn_va_arg_1): Handle location.
6552
6553 2015-06-09 Jason Merrill <jason@redhat.com>
6554
6555 PR bootstrap/66448
6556 * toplev.c (check_global_declaration): Don't warn about a clone.
6557
6558 2015-06-09 Marek Polacek <polacek@redhat.com>
6559
6560 PR tree-optimization/66299
6561 * match.pd ((CST1 << A) == CST2 -> A == ctz (CST2) - ctz (CST1)
6562 ((CST1 << A) != CST2 -> A != ctz (CST2) - ctz (CST1)): New
6563 patterns.
6564
6565 2015-06-09 Richard Biener <rguenther@suse.de>
6566
6567 * tree-vect-slp.c (vect_build_slp_tree_1): Remove bailout on gaps.
6568 (vect_analyze_slp_instance): Instead do not falsely drop
6569 load permutations.
6570
6571 2015-06-09 Richard Biener <rguenther@suse.de>
6572
6573 PR middle-end/66423
6574 * match.pd: Handle A % (unsigned)(1 << B).
6575
6576 2015-06-09 Aldy Hernandez <aldyh@redhat.com>
6577
6578 * varasm.c (output_object_block_htab): Remove.
6579 (output_object_block_compare): New.
6580 (output_object_blocks): Sort named object_blocks before outputting
6581 them.
6582
6583 2015-06-09 Richard Biener <rguenther@suse.de>
6584
6585 PR tree-optimization/66419
6586 * tree-vect-slp.c (vect_supported_load_permutation_p): Properly
6587 consider GROUP_GAP when detecting a perfect subchain.
6588
6589 2015-06-09 Nick Clifton <nickc@redhat.com>
6590
6591 * config/rl78/rl78.c (rl78_select_section): When -mes0 is active
6592 place read only data in the .frodata section.
6593
6594 2015-06-09 Shiva Chen <shiva0217@gmail.com>
6595
6596 * sync.md (atomic_load<mode>): Add conditional code for lda/ldr
6597 (atomic_store<mode>): Likewise.
6598
6599 2015-06-09 Richard Biener <rguenther@suse.de>
6600
6601 * cfgloop.c (get_loop_body_in_bfs_order): Fix assert.
6602
6603 2015-06-09 Richard Biener <rguenther@suse.de>
6604
6605 PR middle-end/66413
6606 * tree-inline.c (insert_init_debug_bind): Unshare value.
6607
6608 2015-06-09 Richard Biener <rguenther@suse.de>
6609
6610 PR tree-optimization/66396
6611 * graphite-isl-ast-to-gimple.c (graphite_regenerate_ast_isl):
6612 Rename virtual operands.
6613
6614 2015-06-09 Tom de Vries <tom@codesourcery.com>
6615
6616 * gimple-iterator.h (gimple_seq_nondebug_singleton_p): Don't
6617 always return false.
6618
6619 2015-06-09 Alexandre Oliva <aoliva@redhat.com>
6620
6621 PR rtl-optimization/64164
6622 * Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
6623 * tree-ssa-copyrename.c: Removed.
6624 * opts.c (default_options_table): Drop -ftree-copyrename. Add
6625 -ftree-coalesce-vars.
6626 * passes.def: Drop all occurrences of pass_rename_ssa_copies.
6627 * common.opt (ftree-copyrename): Ignore.
6628 (ftree-coalesce-inlined-vars): Likewise.
6629 * doc/invoke.texi: Remove the ignored options above.
6630 * gimple-expr.h (gimple_can_coalesce_p): Move declaration
6631 * tree-ssa-coalesce.h: ... here.
6632 * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
6633 headers required by it.
6634 * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
6635 across variables when flag_tree_coalesce_vars. Check register
6636 use and promoted modes to allow coalescing. Moved to
6637 tree-ssa-coalesce.c.
6638 * tree-ssa-live.c (struct tree_int_map_hasher): Move along
6639 with its member functions to tree-ssa-coalesce.c.
6640 (var_map_base_init): Likewise. Renamed to
6641 compute_samebase_partition_bases.
6642 (partition_view_normal): Drop want_bases parameter.
6643 (partition_view_bitmap): Likewise.
6644 * tree-ssa-live.h: Adjust declarations.
6645 * tree-ssa-coalesce.c: Include explow.h.
6646 (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
6647 default defs at the entry point.
6648 (dump_part_var_map): New.
6649 (compute_optimized_partition_bases): New, called by...
6650 (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
6651 of compute_samebase_partition_bases. Adjust.
6652 * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
6653 * cfgexpand.c (leader_merge): New.
6654 (get_rtl_for_parm_ssa_default_def): New.
6655 (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
6656 vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
6657 (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
6658 redundant MEM attr setting.
6659 (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
6660 from...
6661 (expand_one_stack_var): ... this. New wrapper to check and
6662 skip already expanded SSA partitions.
6663 (record_alignment_for_reg_var): New, factored out of...
6664 (expand_one_var): ... this.
6665 (expand_one_ssa_partition): New.
6666 (adjust_one_expanded_partition_var): New.
6667 (expand_one_register_var): Check and skip already expanded SSA
6668 partitions.
6669 (expand_used_vars): Don't create DECLs for anonymous SSA
6670 names. Expand all SSA partitions, then adjust all SSA names.
6671 (pass::execute): Replace the loops that set
6672 SA.partition_to_pseudo from partition leaders and cleared
6673 DECL_RTL for multi-location variables, and that which used to
6674 rename vars and set attrs, with one that clears DECL_RTL and
6675 checks that PARMs and RESULTs default_defs match DECL_RTL.
6676 * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
6677 * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl.
6678 * explow.c (promote_ssa_mode): New.
6679 * explow.h (promote_ssa_mode): Declare.
6680 * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
6681 * function.c: Include cfgexpand.h.
6682 (use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
6683 (use_register_for_parm_decl): Wrapper for the above to
6684 special-case the result_ptr.
6685 (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
6686 (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
6687 multiple locations.
6688 (assign_parm_adjust_stack_rtl): Add all and parm arguments,
6689 for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
6690 (assign_parm_setup_block): Prefer SSA-assigned location.
6691 (assign_parm_setup_reg): Likewise. Use entry_parm for equiv
6692 if stack_parm is NULL.
6693 (assign_parm_setup_stack): Prefer SSA-assigned location.
6694 (assign_parms): Maybe reset DECL_RTL of params. Adjust stack
6695 rtl before testing for pointer bounds. Special-case result_ptr.
6696 (expand_function_start): Maybe reset DECL_RTL of result.
6697 Prefer SSA-assigned location for result and static chain.
6698 Factor out DECL_RESULT and SET_DECL_RTL.
6699 * tree-outof-ssa.c (insert_value_copy_on_edge): Handle
6700 anonymous SSA names. Use promote_ssa_mode.
6701 (get_temp_reg): Likewise.
6702 (remove_ssa_form): Adjust.
6703 * var-tracking.c (dataflow_set_clear_at_call): Take call_insn
6704 and get its reg_usage for reg invalidation.
6705 (compute_bb_dataflow): Pass it insn.
6706 (emit_notes_in_bb): Likewise.
6707 * tree-ssa-loop-niter.c (loop_exits_before_overflow): Don't
6708 fail assert on conversion between unsigned types.
6709
6710 2015-06-09 Alexandre Oliva <aoliva@redhat.com>
6711
6712 PR debug/58315
6713 * tree-inline.c (reset_debug_binding): New.
6714 (reset_debug_bindings): Likewise.
6715 (expand_call_inline): Call it.
6716
6717 2015-06-08 Jan Hubicka <hubicka@ucw.cz>
6718
6719 * tree.c (gimple_canonical_types_compatible_p): Drop comparsion of
6720 TYPE_STRING_FLAG.
6721
6722 2015-06-08 Jan Hubicka <hubicka@ucw.cz>
6723
6724 * lto-streamer-out.c (lto_output_location): Stream
6725 reserved locations correctly.
6726 * lto-streamer-in.c (lto_output_location): Likewise.
6727
6728 2015-06-08 Andrew MacLeod <amacleod@redhat.com>
6729
6730 * coretypes.h: Include hash-table.h and hash-set.h for host files.
6731 * ggc.h: Don't include statistics.h>
6732 * hash-map.h: Remove all includes.
6733 * hash-set.h: Likewise.
6734 * hash-table.h: Add statistics.h, inchash.h and hash-map-traits.h to
6735 the include list. Remove <new>.
6736 * inchash.h: Remove all includes.
6737 * mem-stats.h: Likewise.
6738 * vec.h: No special processing for generators or ggc.
6739 * alias.c : Adjust include files.
6740 * alloc-pool.c : Likewise.
6741 * alloc-pool.h : Likewise.
6742 * asan.c : Likewise.
6743 * attribs.c : Likewise.
6744 * auto-inc-dec.c : Likewise.
6745 * auto-profile.c : Likewise.
6746 * bb-reorder.c : Likewise.
6747 * bitmap.c : Likewise.
6748 * bitmap.h : Likewise.
6749 * bt-load.c : Likewise.
6750 * builtins.c : Likewise.
6751 * caller-save.c : Likewise.
6752 * calls.c : Likewise.
6753 * ccmp.c : Likewise.
6754 * cfg.c : Likewise.
6755 * cfganal.c : Likewise.
6756 * cfgbuild.c : Likewise.
6757 * cfgcleanup.c : Likewise.
6758 * cfgexpand.c : Likewise.
6759 * cfghooks.c : Likewise.
6760 * cfgloop.c : Likewise.
6761 * cfgloop.h : Likewise.
6762 * cfgloopanal.c : Likewise.
6763 * cfgloopmanip.c : Likewise.
6764 * cfgrtl.c : Likewise.
6765 * cgraph.c : Likewise.
6766 * cgraphbuild.c : Likewise.
6767 * cgraphclones.c : Likewise.
6768 * cgraphunit.c : Likewise.
6769 * cilk-common.c : Likewise.
6770 * combine-stack-adj.c : Likewise.
6771 * combine.c : Likewise.
6772 * compare-elim.c : Likewise.
6773 * context.c : Likewise.
6774 * convert.c : Likewise.
6775 * coverage.c : Likewise.
6776 * cppbuiltin.c : Likewise.
6777 * cprop.c : Likewise.
6778 * cse.c : Likewise.
6779 * cselib.c : Likewise.
6780 * data-streamer-in.c : Likewise.
6781 * data-streamer-out.c : Likewise.
6782 * data-streamer.c : Likewise.
6783 * data-streamer.h : Likewise.
6784 * dbxout.c : Likewise.
6785 * dce.c : Likewise.
6786 * ddg.c : Likewise.
6787 * debug.c : Likewise.
6788 * df-core.c : Likewise.
6789 * df-problems.c : Likewise.
6790 * df-scan.c : Likewise.
6791 * df.h : Likewise.
6792 * dfp.c : Likewise.
6793 * dojump.c : Likewise.
6794 * dominance.c : Likewise.
6795 * domwalk.c : Likewise.
6796 * double-int.c : Likewise.
6797 * dse.c : Likewise.
6798 * dumpfile.c : Likewise.
6799 * dwarf2asm.c : Likewise.
6800 * dwarf2cfi.c : Likewise.
6801 * dwarf2out.c : Likewise.
6802 * emit-rtl.c : Likewise.
6803 * et-forest.c : Likewise.
6804 * except.c : Likewise.
6805 * except.h : Likewise.
6806 * explow.c : Likewise.
6807 * expmed.c : Likewise.
6808 * expr.c : Likewise.
6809 * final.c : Likewise.
6810 * fixed-value.c : Likewise.
6811 * fold-const.c : Likewise.
6812 * function.c : Likewise.
6813 * fwprop.c : Likewise.
6814 * gcc-plugin.h : Likewise.
6815 * gcc.c : Likewise.
6816 * gcse-common.c : Likewise.
6817 * gcse.c : Likewise.
6818 * genattrtab.c : Likewise.
6819 * genautomata.c : Likewise.
6820 * genconditions.c : Likewise.
6821 * genemit.c : Likewise.
6822 * generic-match-head.c : Likewise.
6823 * genextract.c : Likewise.
6824 * gengtype-state.c : Likewise.
6825 * gengtype.c : Likewise.
6826 * genhooks.c : Likewise.
6827 * genmatch.c : Likewise.
6828 * genmodes.c : Likewise.
6829 * genrecog.c : Likewise.
6830 * gensupport.c : Likewise.
6831 * ggc-common.c : Likewise.
6832 * ggc-internal.h : Likewise.
6833 * ggc-none.c : Likewise.
6834 * ggc-page.c : Likewise.
6835 * gimple-builder.c : Likewise.
6836 * gimple-expr.c : Likewise.
6837 * gimple-fold.c : Likewise.
6838 * gimple-iterator.c : Likewise.
6839 * gimple-low.c : Likewise.
6840 * gimple-match-head.c : Likewise.
6841 * gimple-pretty-print.c : Likewise.
6842 * gimple-ssa-isolate-paths.c : Likewise.
6843 * gimple-ssa-strength-reduction.c : Likewise.
6844 * gimple-ssa.h : Likewise.
6845 * gimple-streamer-in.c : Likewise.
6846 * gimple-streamer-out.c : Likewise.
6847 * gimple-streamer.h : Likewise.
6848 * gimple-walk.c : Likewise.
6849 * gimple.c : Likewise.
6850 * gimplify-me.c : Likewise.
6851 * gimplify.c : Likewise.
6852 * godump.c : Likewise.
6853 * graph.c : Likewise.
6854 * graphds.c : Likewise.
6855 * graphite-blocking.c : Likewise.
6856 * graphite-dependences.c : Likewise.
6857 * graphite-interchange.c : Likewise.
6858 * graphite-isl-ast-to-gimple.c : Likewise.
6859 * graphite-optimize-isl.c : Likewise.
6860 * graphite-poly.c : Likewise.
6861 * graphite-scop-detection.c : Likewise.
6862 * graphite-sese-to-poly.c : Likewise.
6863 * graphite.c : Likewise.
6864 * haifa-sched.c : Likewise.
6865 * hard-reg-set.h : Likewise.
6866 * hw-doloop.c : Likewise.
6867 * ifcvt.c : Likewise.
6868 * inchash.c : Likewise.
6869 * incpath.c : Likewise.
6870 * init-regs.c : Likewise.
6871 * input.c : Likewise.
6872 * internal-fn.c : Likewise.
6873 * ipa-chkp.c : Likewise.
6874 * ipa-comdats.c : Likewise.
6875 * ipa-cp.c : Likewise.
6876 * ipa-devirt.c : Likewise.
6877 * ipa-icf-gimple.c : Likewise.
6878 * ipa-icf.c : Likewise.
6879 * ipa-inline-analysis.c : Likewise.
6880 * ipa-inline-transform.c : Likewise.
6881 * ipa-inline.c : Likewise.
6882 * ipa-polymorphic-call.c : Likewise.
6883 * ipa-profile.c : Likewise.
6884 * ipa-prop.c : Likewise.
6885 * ipa-pure-const.c : Likewise.
6886 * ipa-ref.c : Likewise.
6887 * ipa-reference.c : Likewise.
6888 * ipa-split.c : Likewise.
6889 * ipa-utils.c : Likewise.
6890 * ipa-visibility.c : Likewise.
6891 * ipa.c : Likewise.
6892 * ira-build.c : Likewise.
6893 * ira-color.c : Likewise.
6894 * ira-conflicts.c : Likewise.
6895 * ira-costs.c : Likewise.
6896 * ira-emit.c : Likewise.
6897 * ira-lives.c : Likewise.
6898 * ira.c : Likewise.
6899 * jump.c : Likewise.
6900 * langhooks.c : Likewise.
6901 * lcm.c : Likewise.
6902 * libfuncs.h : Likewise.
6903 * lists.c : Likewise.
6904 * loop-doloop.c : Likewise.
6905 * loop-init.c : Likewise.
6906 * loop-invariant.c : Likewise.
6907 * loop-iv.c : Likewise.
6908 * loop-unroll.c : Likewise.
6909 * lower-subreg.c : Likewise.
6910 * lra-assigns.c : Likewise.
6911 * lra-coalesce.c : Likewise.
6912 * lra-constraints.c : Likewise.
6913 * lra-eliminations.c : Likewise.
6914 * lra-lives.c : Likewise.
6915 * lra-remat.c : Likewise.
6916 * lra-spills.c : Likewise.
6917 * lra.c : Likewise.
6918 * lto-cgraph.c : Likewise.
6919 * lto-compress.c : Likewise.
6920 * lto-opts.c : Likewise.
6921 * lto-section-in.c : Likewise.
6922 * lto-section-out.c : Likewise.
6923 * lto-streamer-in.c : Likewise.
6924 * lto-streamer-out.c : Likewise.
6925 * lto-streamer.c : Likewise.
6926 * lto-streamer.h : Likewise.
6927 * mcf.c : Likewise.
6928 * mode-switching.c : Likewise.
6929 * modulo-sched.c : Likewise.
6930 * omega.c : Likewise.
6931 * omp-low.c : Likewise.
6932 * optabs.c : Likewise.
6933 * opts-global.c : Likewise.
6934 * opts.h : Likewise.
6935 * passes.c : Likewise.
6936 * plugin.c : Likewise.
6937 * postreload-gcse.c : Likewise.
6938 * postreload.c : Likewise.
6939 * predict.c : Likewise.
6940 * print-rtl.c : Likewise.
6941 * print-tree.c : Likewise.
6942 * profile.c : Likewise.
6943 * read-md.c : Likewise.
6944 * read-md.h : Likewise.
6945 * read-rtl.c : Likewise.
6946 * real.c : Likewise.
6947 * realmpfr.c : Likewise.
6948 * recog.c : Likewise.
6949 * ree.c : Likewise.
6950 * reg-stack.c : Likewise.
6951 * regcprop.c : Likewise.
6952 * reginfo.c : Likewise.
6953 * regrename.c : Likewise.
6954 * regstat.c : Likewise.
6955 * reload.c : Likewise.
6956 * reload1.c : Likewise.
6957 * reorg.c : Likewise.
6958 * resource.c : Likewise.
6959 * rtl-chkp.c : Likewise.
6960 * rtl.c : Likewise.
6961 * rtl.h : Likewise.
6962 * rtlanal.c : Likewise.
6963 * rtlhash.c : Likewise.
6964 * rtlhash.h : Likewise.
6965 * rtlhooks.c : Likewise.
6966 * sanopt.c : Likewise.
6967 * sched-deps.c : Likewise.
6968 * sched-ebb.c : Likewise.
6969 * sched-rgn.c : Likewise.
6970 * sched-vis.c : Likewise.
6971 * sdbout.c : Likewise.
6972 * sel-sched-dump.c : Likewise.
6973 * sel-sched-ir.c : Likewise.
6974 * sel-sched-ir.h : Likewise.
6975 * sel-sched.c : Likewise.
6976 * sese.c : Likewise.
6977 * shrink-wrap.c : Likewise.
6978 * shrink-wrap.h : Likewise.
6979 * simplify-rtx.c : Likewise.
6980 * stack-ptr-mod.c : Likewise.
6981 * statistics.c : Likewise.
6982 * stmt.c : Likewise.
6983 * stor-layout.c : Likewise.
6984 * store-motion.c : Likewise.
6985 * stringpool.c : Likewise.
6986 * symtab.c : Likewise.
6987 * target-globals.c : Likewise.
6988 * targhooks.c : Likewise.
6989 * tlink.c : Likewise.
6990 * toplev.c : Likewise.
6991 * tracer.c : Likewise.
6992 * trans-mem.c : Likewise.
6993 * tree-affine.c : Likewise.
6994 * tree-affine.h : Likewise.
6995 * tree-browser.c : Likewise.
6996 * tree-call-cdce.c : Likewise.
6997 * tree-cfg.c : Likewise.
6998 * tree-cfgcleanup.c : Likewise.
6999 * tree-chkp-opt.c : Likewise.
7000 * tree-chkp.c : Likewise.
7001 * tree-chrec.c : Likewise.
7002 * tree-complex.c : Likewise.
7003 * tree-data-ref.c : Likewise.
7004 * tree-dfa.c : Likewise.
7005 * tree-diagnostic.c : Likewise.
7006 * tree-dump.c : Likewise.
7007 * tree-eh.c : Likewise.
7008 * tree-eh.h : Likewise.
7009 * tree-emutls.c : Likewise.
7010 * tree-hasher.h : Likewise.
7011 * tree-if-conv.c : Likewise.
7012 * tree-inline.c : Likewise.
7013 * tree-inline.h : Likewise.
7014 * tree-into-ssa.c : Likewise.
7015 * tree-iterator.c : Likewise.
7016 * tree-loop-distribution.c : Likewise.
7017 * tree-nested.c : Likewise.
7018 * tree-nrv.c : Likewise.
7019 * tree-object-size.c : Likewise.
7020 * tree-outof-ssa.c : Likewise.
7021 * tree-parloops.c : Likewise.
7022 * tree-phinodes.c : Likewise.
7023 * tree-predcom.c : Likewise.
7024 * tree-pretty-print.c : Likewise.
7025 * tree-profile.c : Likewise.
7026 * tree-scalar-evolution.c : Likewise.
7027 * tree-sra.c : Likewise.
7028 * tree-ssa-address.c : Likewise.
7029 * tree-ssa-alias.c : Likewise.
7030 * tree-ssa-ccp.c : Likewise.
7031 * tree-ssa-coalesce.c : Likewise.
7032 * tree-ssa-copy.c : Likewise.
7033 * tree-ssa-copyrename.c : Likewise.
7034 * tree-ssa-dce.c : Likewise.
7035 * tree-ssa-dom.c : Likewise.
7036 * tree-ssa-dse.c : Likewise.
7037 * tree-ssa-forwprop.c : Likewise.
7038 * tree-ssa-ifcombine.c : Likewise.
7039 * tree-ssa-live.c : Likewise.
7040 * tree-ssa-loop-ch.c : Likewise.
7041 * tree-ssa-loop-im.c : Likewise.
7042 * tree-ssa-loop-ivcanon.c : Likewise.
7043 * tree-ssa-loop-ivopts.c : Likewise.
7044 * tree-ssa-loop-manip.c : Likewise.
7045 * tree-ssa-loop-niter.c : Likewise.
7046 * tree-ssa-loop-prefetch.c : Likewise.
7047 * tree-ssa-loop-unswitch.c : Likewise.
7048 * tree-ssa-loop.c : Likewise.
7049 * tree-ssa-math-opts.c : Likewise.
7050 * tree-ssa-operands.c : Likewise.
7051 * tree-ssa-phiopt.c : Likewise.
7052 * tree-ssa-phiprop.c : Likewise.
7053 * tree-ssa-pre.c : Likewise.
7054 * tree-ssa-propagate.c : Likewise.
7055 * tree-ssa-reassoc.c : Likewise.
7056 * tree-ssa-sccvn.c : Likewise.
7057 * tree-ssa-scopedtables.c : Likewise.
7058 * tree-ssa-sink.c : Likewise.
7059 * tree-ssa-strlen.c : Likewise.
7060 * tree-ssa-structalias.c : Likewise.
7061 * tree-ssa-tail-merge.c : Likewise.
7062 * tree-ssa-ter.c : Likewise.
7063 * tree-ssa-threadedge.c : Likewise.
7064 * tree-ssa-threadupdate.c : Likewise.
7065 * tree-ssa-uncprop.c : Likewise.
7066 * tree-ssa-uninit.c : Likewise.
7067 * tree-ssa.c : Likewise.
7068 * tree-ssanames.c : Likewise.
7069 * tree-stdarg.c : Likewise.
7070 * tree-streamer-in.c : Likewise.
7071 * tree-streamer-out.c : Likewise.
7072 * tree-streamer.c : Likewise.
7073 * tree-streamer.h : Likewise.
7074 * tree-switch-conversion.c : Likewise.
7075 * tree-tailcall.c : Likewise.
7076 * tree-vect-data-refs.c : Likewise.
7077 * tree-vect-generic.c : Likewise.
7078 * tree-vect-loop-manip.c : Likewise.
7079 * tree-vect-loop.c : Likewise.
7080 * tree-vect-patterns.c : Likewise.
7081 * tree-vect-slp.c : Likewise.
7082 * tree-vect-stmts.c : Likewise.
7083 * tree-vectorizer.c : Likewise.
7084 * tree-vectorizer.h : Likewise.
7085 * tree-vrp.c : Likewise.
7086 * tree.c : Likewise.
7087 * tsan.c : Likewise.
7088 * ubsan.c : Likewise.
7089 * valtrack.c : Likewise.
7090 * valtrack.h : Likewise.
7091 * value-prof.c : Likewise.
7092 * var-tracking.c : Likewise.
7093 * varasm.c : Likewise.
7094 * varpool.c : Likewise.
7095 * vec.c: Likewise.
7096 * vmsdbgout.c : Likewise.
7097 * vtable-verify.c : Likewise.
7098 * vtable-verify.h : Likewise.
7099 * web.c : Likewise.
7100 * wide-int.cc : Likewise.
7101 * xcoffout.c : Likewise.
7102 * config/aarch64/aarch64-builtins.c : Likewise.
7103 * config/aarch64/aarch64.c : Likewise.
7104 * config/aarch64/cortex-a57-fma-steering.c : Likewise.
7105 * config/alpha/alpha.c : Likewise.
7106 * config/arc/arc.c : Likewise.
7107 * config/arm/aarch-common.c : Likewise.
7108 * config/arm/arm-builtins.c : Likewise.
7109 * config/arm/arm-c.c : Likewise.
7110 * config/arm/arm.c : Likewise.
7111 * config/avr/avr-c.c : Likewise.
7112 * config/avr/avr-log.c : Likewise.
7113 * config/avr/avr.c : Likewise.
7114 * config/bfin/bfin.c : Likewise.
7115 * config/c6x/c6x.c : Likewise.
7116 * config/cr16/cr16.c : Likewise.
7117 * config/cris/cris.c : Likewise.
7118 * config/darwin-c.c : Likewise.
7119 * config/darwin.c : Likewise.
7120 * config/default-c.c : Likewise.
7121 * config/epiphany/epiphany.c : Likewise.
7122 * config/epiphany/mode-switch-use.c : Likewise.
7123 * config/epiphany/resolve-sw-modes.c : Likewise.
7124 * config/fr30/fr30.c : Likewise.
7125 * config/frv/frv.c : Likewise.
7126 * config/ft32/ft32.c : Likewise.
7127 * config/glibc-c.c : Likewise.
7128 * config/h8300/h8300.c : Likewise.
7129 * config/i386/i386-c.c : Likewise.
7130 * config/i386/i386.c : Likewise.
7131 * config/i386/msformat-c.c : Likewise.
7132 * config/i386/winnt-cxx.c : Likewise.
7133 * config/i386/winnt-stubs.c : Likewise.
7134 * config/i386/winnt.c : Likewise.
7135 * config/ia64/ia64-c.c : Likewise.
7136 * config/ia64/ia64.c : Likewise.
7137 * config/iq2000/iq2000.c : Likewise.
7138 * config/lm32/lm32.c : Likewise.
7139 * config/m32c/m32c-pragma.c : Likewise.
7140 * config/m32c/m32c.c : Likewise.
7141 * config/m32r/m32r.c : Likewise.
7142 * config/m68k/m68k.c : Likewise.
7143 * config/mcore/mcore.c : Likewise.
7144 * config/mep/mep-pragma.c : Likewise.
7145 * config/mep/mep.c : Likewise.
7146 * config/microblaze/microblaze-c.c : Likewise.
7147 * config/microblaze/microblaze.c : Likewise.
7148 * config/mips/mips.c : Likewise.
7149 * config/mmix/mmix.c : Likewise.
7150 * config/mn10300/mn10300.c : Likewise.
7151 * config/moxie/moxie.c : Likewise.
7152 * config/msp430/msp430-c.c : Likewise.
7153 * config/msp430/msp430.c : Likewise.
7154 * config/nds32/nds32-cost.c : Likewise.
7155 * config/nds32/nds32-fp-as-gp.c : Likewise.
7156 * config/nds32/nds32-intrinsic.c : Likewise.
7157 * config/nds32/nds32-isr.c : Likewise.
7158 * config/nds32/nds32-md-auxiliary.c : Likewise.
7159 * config/nds32/nds32-memory-manipulation.c : Likewise.
7160 * config/nds32/nds32-pipelines-auxiliary.c : Likewise.
7161 * config/nds32/nds32-predicates.c : Likewise.
7162 * config/nds32/nds32.c : Likewise.
7163 * config/nios2/nios2.c : Likewise.
7164 * config/nvptx/nvptx.c : Likewise.
7165 * config/pa/pa.c : Likewise.
7166 * config/pdp11/pdp11.c : Likewise.
7167 * config/rl78/rl78-c.c : Likewise.
7168 * config/rl78/rl78.c : Likewise.
7169 * config/rs6000/rs6000-c.c : Likewise.
7170 * config/rs6000/rs6000.c : Likewise.
7171 * config/rx/rx.c : Likewise.
7172 * config/s390/s390-c.c : Likewise.
7173 * config/s390/s390.c : Likewise.
7174 * config/sh/sh-c.c : Likewise.
7175 * config/sh/sh-mem.cc : Likewise.
7176 * config/sh/sh.c : Likewise.
7177 * config/sh/sh_optimize_sett_clrt.cc : Likewise.
7178 * config/sh/sh_treg_combine.cc : Likewise.
7179 * config/sol2-c.c : Likewise.
7180 * config/sol2-cxx.c : Likewise.
7181 * config/sol2-stubs.c : Likewise.
7182 * config/sol2.c : Likewise.
7183 * config/sparc/sparc-c.c : Likewise.
7184 * config/sparc/sparc.c : Likewise.
7185 * config/spu/spu-c.c : Likewise.
7186 * config/spu/spu.c : Likewise.
7187 * config/stormy16/stormy16.c : Likewise.
7188 * config/tilegx/mul-tables.c : Likewise.
7189 * config/tilegx/tilegx-c.c : Likewise.
7190 * config/tilegx/tilegx.c : Likewise.
7191 * config/tilepro/mul-tables.c : Likewise.
7192 * config/tilepro/tilepro-c.c : Likewise.
7193 * config/tilepro/tilepro.c : Likewise.
7194 * config/v850/v850-c.c : Likewise.
7195 * config/v850/v850.c : Likewise.
7196 * config/vax/vax.c : Likewise.
7197 * config/visium/visium.c : Likewise.
7198 * config/vms/vms-c.c : Likewise.
7199 * config/vms/vms.c : Likewise.
7200 * config/vxworks.c : Likewise.
7201 * config/winnt-c.c : Likewise.
7202 * config/xtensa/xtensa.c : Likewise.
7203
7204 2015-06-08 Jan Hubicka <hubicka@ucw.cz>
7205
7206 PR lto/65378
7207 * ipa-utils.h (warn_types_mismatch): Update prototype.
7208 * ipa-devirt.c (odr_types_equivalent_p): Add loc1/loc2
7209 parameters.
7210 (type_mismatch_p): New function.
7211 (warn_types_mismatch): Reorg to work better on non-C++ types.
7212 (odr_types_equivalent_p): Add loc1/loc2 parameters.
7213 (add_type_duplicate): Update.
7214
7215 2015-06-08 Tom de Vries <tom@codesourcery.com>
7216
7217 PR rtl-optimization/66444
7218 * postreload.c (reload_combine): Use get_call_reg_set_usage instead of
7219 call_used_regs.
7220
7221 2015-06-08 Richard Biener <rguenther@suse.de>
7222
7223 PR tree-optimization/66422
7224 * tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Split
7225 block after inserted gcc_unreachable.
7226
7227 2015-06-08 Nick Clifton <nickc@redhat.com>
7228
7229 * config/rx/rx.c (rx_function_value): Do not promote vector types.
7230 (rx_promote_function_mode): Likewise.
7231 * config/rx/rx.h (LIBCALL_VALUE): Likewise.
7232
7233 2015-06-08 Jakub Jelinek <jakub@redhat.com>
7234
7235 * genattrtab.c (insn_alternatives): Change type from int *
7236 to uint64_t *.
7237 (check_attr_test): Shift ((uint64_t) 1) instead of 1 up.
7238 (get_attr_value): Change type of num_alt to uint64_t.
7239 (compute_alternative_mask): Change return type from
7240 int to uint64_t, shift ((uint64_t) 1) instead of 1 up.
7241 (make_alternative_compare, mk_attr_alt): Change argument type
7242 from int to uint64_t.
7243 (simplify_test_exp): Change type of i from int to uint64_t.
7244 Shift ((uint64_t) 1) instead of 1 up.
7245 (main): Adjust oballocvec first argument from int to uint64_t.
7246 Shift ((uint64_t) 1) instead of 1 up.
7247
7248 2015-06-08 Jan Kratochvil <jan.kratochvil@redhat.com>
7249
7250 PR other/65366
7251 * gdbhooks.py: Import sys.
7252 (intptr): New function. Replace int(...) by intptr(...).
7253
7254 2015-06-08 Richard Biener <rguenther@suse.de>
7255
7256 * tree-vect-stmts.c (vectorizable_load): Compute the pointer
7257 adjustment for gaps at the end of a SLP load group properly.
7258 * tree-vect-slp.c (vect_supported_load_permutation_p): Allow
7259 all permutations we can generate.
7260 (vect_transform_slp_perm_load): Use the correct group-size.
7261
7262 2015-06-08 Marc Glisse <marc.glisse@inria.fr>
7263
7264 * genmatch.c (expr::gen_transform): For conditions, guess the type
7265 from the second operand.
7266
7267 2015-06-08 Tom de Vries <tom@codesourcery.com>
7268
7269 PR tree-optimization/66442
7270 * gimple-iterator.h (gimple_seq_nondebug_singleton_p): Add function.
7271 * tree-parloops.c (try_transform_to_exit_first_loop_alt): Return false
7272 if the loop latch is not a singleton. Use
7273 gimple_seq_nondebug_singleton_p instead of gimple_seq_singleton_p.
7274
7275 2015-06-08 Marek Polacek <polacek@redhat.com>
7276
7277 PR sanitizer/66452
7278 * toplev.c (check_global_declaration): Don't warn about artificial
7279 decls.
7280
7281 2015-06-08 Tom de Vries <tom@codesourcery.com>
7282
7283 PR tree-optimization/66436
7284 * cgraphunit.c (cgraph_node::analyze): Don't dump function to gimple
7285 dump file.
7286 * gimplify.c: Add tree-dump.h include.
7287 (gimplify_function_tree): Dump function to gimple dump file.
7288 * stor-layout.c (finalize_size_functions): Don't dump function to gimple
7289 dump file.
7290
7291 2015-06-08 Tom de Vries <tom@codesourcery.com>
7292
7293 PR tree-optimization/66435
7294 * cgraphunit.c (cgraph_node::add_new_function): Dump message on new
7295 function.
7296
7297 2015-06-06 Jan Hubicka <hubicka@ucw.cz>
7298
7299 * alias.c (get_alias_set): Be ready for TYPE_CANONICAL
7300 of ptr_type_node to not be ptr_to_node.
7301 * tree.c (gimple_types_compatible_p): Do not match TREE_CODE of
7302 TREE_TYPE of pointers.
7303 * gimple-expr.c (useless_type_conversion): Reorder the check for
7304 function pointers and TYPE_CANONICAL.
7305
7306 2015-06-06 John David Anglin <danglin@gcc.gnu.org>
7307
7308 PR bootstrap/66319
7309 * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Rearrange builtin
7310 defines. Define _LARGEFILE_SOURCE and _LARGEFILE64_SOURCE for c++.
7311 Define _XOPEN_UNIX and _XOPEN_SOURCE_EXTENDED for c++ if unix95 or
7312 later.
7313 * config/pa/pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Likewise.
7314 Define _INCLUDE_STDC_SOURCE_PRE_199901, _INCLUDE_STDC_SOURCE_199901,
7315 _INCLUDE_XOPEN_SOURCE_PRE_500, _INCLUDE_XOPEN_SOURCE_520,
7316 _INCLUDE_XOPEN_SOURCE_PRE_600 and _INCLUDE_XOPEN_SOURCE_600 for c++
7317 and non iso if unix2003.
7318
7319 2015-06-06 Aldy Hernandez <aldyh@redhat.com>
7320
7321 * dwarf2out.c (gen_lexical_block_die): Initialize stmt_die.
7322
7323 2015-06-06 Richard Sandiford <richard.sandiford@arm.com>
7324
7325 * emit-rtl.c, expr.c, gcse.c, optabs.c, optabs.h, print-rtl.c,
7326 rtl.h, bb-reorder.c, builtins.c, calls.c, cfgbuild.c, cfgexpand.c,
7327 cfgrtl.c, cilk-common.c, config/i386/i386.md, cse.c, dwarf2cfi.c,
7328 except.c, final.c, function.c, gcse-common.c, genemit.c,
7329 haifa-sched.c, ifcvt.c, jump.c, loop-invariant.c, loop-iv.c,
7330 lra-constraints.c, lra.c, reload1.c, resource.c, rtlanal.c,
7331 sched-deps.c, sched-ebb.c, sel-sched-ir.c, sel-sched.c,
7332 shrink-wrap.c, stmt.c, store-motion.c: Replace rtx base types with
7333 more derived ones.
7334
7335 2015-06-06 Mikhail Maltsev <maltsevm@gmail.com>
7336
7337 * combine.c (combine_split_insns): Remove cast.
7338 * config/bfin/bfin.c (hwloop_fail): Add cast in try_split call.
7339 * config/sh/sh.c (sh_try_split_insn_simple): Remove cast.
7340 * config/sh/sh_treg_combine.cc (sh_treg_combine::execute): Add cast.
7341 * emit-rtl.c (try_split): Promote type of trial argument to rtx_insn.
7342 * genemit.c (gen_split): Change return type of generated functions to
7343 rtx_insn.
7344 * genrecog.c (get_failure_return): Use NULL instead of NULL_RTX.
7345 (print_subroutine_start): Promote rtx to rtx_insn in gen_split_* and
7346 gen_peephole2_* functions.
7347 (print_subroutine, main): Likewise.
7348 * recog.c (peephole2_optimize): Remove cast.
7349 (peep2_next_insn): Promote return type to rtx_insn.
7350 * recog.h (peep2_next_insn): Fix prototype.
7351 * rtl.h (try_split, split_insns): Likewise.
7352
7353 2015-06-06 DJ Delorie <dj@redhat.com>
7354
7355 * config/msp430/msp430.c (msp430_asm_integer): Support addition
7356 and subtraction too.
7357
7358 2015-06-05 Kaz Kojima <kkojima@gcc.gnu.org>
7359
7360 PR target/66410
7361 * config/sh/constraints.md (Sid, Ssd): New memory constraints.
7362 * config/sh/sh.md (*mov<mode>): Use Sid and Ssd alternatives
7363 instead of Snd. Disparage Sid/z alternative with '^'.
7364
7365 2015-06-05 Aldy Hernandez <aldyh@redhat.com>
7366
7367 * dwarf2out.c: Remove deferred_locations*.
7368 (dwarf2_debug_hooks): Add early_finish hook.
7369 Remove global_decl hook.
7370 Add early_global_decl and late_global_decl hook.
7371 New global early_dwarf.
7372 New structure set_early_dwarf.
7373 (output_die): Indicate whether a DIE was generated early
7374 when generating assembly with -dA.
7375 (struct limbo_die_struct): Document created_for field.
7376 Remove file_table_last_lookup.
7377 (remove_AT): Return TRUE if successful.
7378 (remove_child_TAG): Clear die_parent.
7379 (reparent_child): New function abstracted from...
7380 (splice_child_die): ...here.
7381 (new_die): ICE if a DIE ends up in limbo too late.
7382 (check_die): New.
7383 (defer_location): Remove.
7384 (add_subscript_info): Reuse DW_TAG_subrange_type if available.
7385 (fill_variable_array_bounds): New.
7386 (decl_start_label): Call fill_variable_array_bounds.
7387 (gen_formal_parameter_die): Rewrite to reuse previously generated
7388 DIEs.
7389 (gen_subprogram_die): Same.
7390 (gen_variable_die): Same.
7391 (gen_const_die): Same.
7392 (gen_label_die): Same.
7393 (gen_lexical_block_die): Same.
7394 (decl_will_get_specification_p): New.
7395 (local_function_static): New.
7396 (gen_struct_or_union_type_die): Fill in variable-length fields.
7397 (gen_typedef_die): Fill in variable-length typedefs.
7398 (gen_tagged_type_die): Gracefully return on error_mark_node.
7399 Handle re-entrancy.
7400 (gen_type_die_with_usage): Handle variable-length types.
7401 Remove duplicate code for ARRAY_TYPE case.
7402 (process_scope_var): Only process imported modules during early
7403 dwarf.
7404 (dwarf2out_early_global_decl): New.
7405 (dwarf2out_late_global_decl): Rename from dwarf2out_global_decl.
7406 (dwarf2out_type_decl): Set early_dwarf while calling
7407 dwarf2out_decl.
7408 (dwarf2out_decl): Verify that we did not recreate a previously
7409 generated DIE.
7410 Do not return on DECL_EXTERNALs in VAR_DECLs.
7411 Abstract some code to local_function_static.
7412 (lookup_filename): Remove use of file_table_last_lookup.
7413 Gracefully exit on missing file_name.
7414 (dwarf2out_finish): Verify limbo list.
7415 Remove deferred_locations_list use.
7416 Move deferred_asm_name and limbo flushing to...
7417 (dwarf2out_early_finish): ...here. New.
7418 (dwarf2out_c_finalize): Remove set of deferred_location_list,
7419 deferred_asm_name, and file_table_last_lookup.
7420 * cgraph.h (referred_to_p): Add default argument.
7421 * cgraphunit.c (referred_to_p): Add and handle include_self
7422 argument.
7423 (analyze_functions): Add first_time argument.
7424 Call check_global_declaration for all symbols.
7425 Call late_global_decl for nodes for moribund nodes.
7426 (finalize_compilation_unit): Add new argument to
7427 analyze_functions.
7428 Call early_global_decl for functions.
7429 Call early_finish debug hook.
7430 * dbxout.c (dbxout_early_global_decl): New.
7431 (dbxout_late_global_decl): New. Adapted from dbxout_global_decl.
7432 (dbx_debug_hooks): Add new hooks.
7433 (xcoff_debug_hooks): Same.
7434 * debug.c (do_nothing_debug_hooks): Add early_finish field.
7435 Add early and late debug hooks.
7436 Remove global_decl hook.
7437 * debug.h (struct gcc_debug_hooks): Add early_finish,
7438 early_global_decl, and late_global_decl fields.
7439 Remove global_decl field.
7440 Document gcc_debug_hooks.
7441 * gengtype.c (output_typename): Remove.
7442 * godump.c (go_early_global_decl): New.
7443 (go_late_global_decl): New.
7444 (go_global_decl): Remove.
7445 (dump_go_spec_init): Remove global_decl. Add
7446 {early,late}_global_decl.
7447 * langhooks-def.h (LANG_HOOKS_WRITE_GLOBALS): Remove.
7448 (LANG_HOOKS_POST_COMPILATION_PARSING_CLEANUPS): New.
7449 * langhooks.c (lhd_warn_unused_global_decl): Adjust comment.
7450 (write_global_declarations): Remove.
7451 (global_decl_processing): New.
7452 * langhooks.h (struct lang_hooks_for_decls): Remove
7453 final_write_globals field.
7454 Add post_compilation_parsing_cleanups field.
7455 * passes.c (rest_of_decl_compilation): Call early_global_decl.
7456 * sdbout.c: Add early and late_global_decl hooks. Remove
7457 sdbout_global_decl hook.
7458 Add early_finish field for sdb_debug_hooks.
7459 (sdbout_global_decl): Remove.
7460 (sdbout_early_global_decl): New.
7461 (sdbout_late_global_decl): New.
7462 * timevar.def (TV_PHASE_LATE_PARSING_CLEANUPS): New.
7463 * toplev.c (check_global_declaration): Rename from
7464 check_global_declaration_1.
7465 Adapt to use symtab infrastructure.
7466 (check_global_declarations): Remove.
7467 (emit_debug_global_declarations): Remove.
7468 (compile_file): Remove call to final_write_globals langhook.
7469 Run the actual compilation process.
7470 Perform any post compilation parser cleanups.
7471 Generate late debug info.
7472 * toplev.h (check_global_declaration): New.
7473 (check_global_declaration_1): Remove.
7474 (check_global_declarations): Remove.
7475 (write_global_declarations): Remove.
7476 (emit_debug_global_declarations): Remove.
7477 (global_decl_processing): New.
7478 * tree-core.h (struct tree_block): Add DIE field.
7479 * tree.h (BLOCK_DIE): New.
7480 * vmsdbgout.c (vmsdbgout_global_decl): Remove function and its use
7481 throughout.
7482 (vmsdbgout_early_global_decl): New.
7483 (vmsdbgout_late_global_decl): New.
7484 Add early_finish debug hook field to vmsdbg_debug_hooks.
7485 Remove vmsdbgout_decl to vmsdbgout_function_decl.
7486 Add early and late_global_decl debug hooks.
7487
7488 2015-06-05 Julian Brown <julian@codesourcery.com>
7489 Sandra Loosemore <sandra@codesourcery.com>
7490
7491 * config/print-sysroot-suffix.sh: Handle MULTILIB_REUSE settings.
7492 * config/t-sysroot-suffix (sysroot-suffix.h): Pass MULTILIB_REUSE
7493 to print-sysroot-suffix.sh script.
7494
7495 2015-06-05 Tom de Vries <tom@codesourcery.com>
7496
7497 merge from gomp4 branch:
7498 2015-05-28 Tom de Vries <tom@codesourcery.com>
7499
7500 PR tree-optimization/65443
7501 * tree-parloops.c (replace_imm_uses, replace_uses_in_bb_by)
7502 (replace_uses_in_bbs_by, transform_to_exit_first_loop_alt)
7503 (try_transform_to_exit_first_loop_alt): New function.
7504 (transform_to_exit_first_loop): Use
7505 try_transform_to_exit_first_loop_alt.
7506
7507 2015-06-05 James Greenhalgh <james.greenhalgh@arm.com>
7508
7509 * builtins.c (expand_builtin_atomic_compare_exchange): Call
7510 emit_cmp_and_jump_insns with the mode of target.
7511
7512 2015-06-05 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
7513
7514 * config/i386/sse.md (sse3_mwait): Swap the operand constriants.
7515
7516 2015-06-04 DJ Delorie <dj@redhat.com>
7517
7518 * config/msp430/msp430.md (movsi_s): New. Special case for
7519 storing a 20-bit symbol into a 32-bit register.
7520 * config/msp430/msp430.c (msp430_subreg): Add support for it.
7521 * config/msp430/predicates.md (msp430_symbol_operand): New.
7522
7523 2015-06-04 Sriraman Tallam <tmsriram@google.com>
7524
7525 * c-family/c-common.c (noplt): New attribute.
7526 (handle_noplt_attribute): New handler.
7527 * calls.c (prepare_call_address): Check for noplt
7528 attribute.
7529 * config/i386/i386.c (ix86_expand_call): Check
7530 for noplt attribute.
7531 (ix86_nopic_noplt_attribute_p): New function.
7532 (ix86_output_call_insn): Output indirect call for non-pic
7533 no plt calls.
7534 * doc/extend.texi (noplt): Document new attribute.
7535 * doc/invoke.texi: Document new attribute.
7536
7537 2015-06-04 Andrew MacLeod <amacleod@redhat.com>
7538
7539 * coretypes.h: Include machmode.h, signop.h, wide-int.h, double-int.h,
7540 real.h, and fixed-value.h when included in host source files.
7541 * double-int.h: Remove redundant #includes listed above.
7542 * fixed-value.h: Likewise.
7543 * real.h: Likewise.
7544 * wide-int.h: Likewise.
7545 * inchash.h: Likewise.
7546 * rtl.h: Add some include files When included from a generator file.
7547 * target.h: Remove wide-int.h and insn-modes.h from the include list.
7548 * internal-fn.h: Don't include coretypes.h.
7549 * alias.c: Adjust includes for restructured coretypes.h.
7550 * asan.c: Likewise.
7551 * attribs.c: Likewise.
7552 * auto-inc-dec.c: Likewise.
7553 * auto-profile.c: Likewise.
7554 * bb-reorder.c: Likewise.
7555 * bt-load.c: Likewise.
7556 * builtins.c: Likewise.
7557 * caller-save.c: Likewise.
7558 * calls.c: Likewise.
7559 * ccmp.c: Likewise.
7560 * cfg.c: Likewise.
7561 * cfganal.c: Likewise.
7562 * cfgbuild.c: Likewise.
7563 * cfgcleanup.c: Likewise.
7564 * cfgexpand.c: Likewise.
7565 * cfghooks.c: Likewise.
7566 * cfgloop.c: Likewise.
7567 * cfgloop.h: Likewise.
7568 * cfgloopanal.c: Likewise.
7569 * cfgloopmanip.c: Likewise.
7570 * cfgrtl.c: Likewise.
7571 * cgraph.c: Likewise.
7572 * cgraphbuild.c: Likewise.
7573 * cgraphclones.c: Likewise.
7574 * cgraphunit.c: Likewise.
7575 * cilk-common.c: Likewise.
7576 * combine-stack-adj.c: Likewise.
7577 * combine.c: Likewise.
7578 * compare-elim.c: Likewise.
7579 * convert.c: Likewise.
7580 * coverage.c: Likewise.
7581 * cppbuiltin.c: Likewise.
7582 * cprop.c: Likewise.
7583 * cse.c: Likewise.
7584 * cselib.c: Likewise.
7585 * data-streamer-in.c: Likewise.
7586 * data-streamer-out.c: Likewise.
7587 * data-streamer.c: Likewise.
7588 * dbxout.c: Likewise.
7589 * dce.c: Likewise.
7590 * ddg.c: Likewise.
7591 * debug.c: Likewise.
7592 * df-core.c: Likewise.
7593 * df-problems.c: Likewise.
7594 * df-scan.c: Likewise.
7595 * df.h: Likewise.
7596 * dfp.c: Likewise.
7597 * dojump.c: Likewise.
7598 * dominance.c: Likewise.
7599 * domwalk.c: Likewise.
7600 * double-int.c: Likewise.
7601 * dse.c: Likewise.
7602 * dumpfile.c: Likewise.
7603 * dwarf2asm.c: Likewise.
7604 * dwarf2cfi.c: Likewise.
7605 * dwarf2out.c: Likewise.
7606 * dwarf2out.h: Likewise.
7607 * emit-rtl.c: Likewise.
7608 * et-forest.c: Likewise.
7609 * except.c: Likewise.
7610 * explow.c: Likewise.
7611 * expmed.c: Likewise.
7612 * expr.c: Likewise.
7613 * final.c: Likewise.
7614 * fixed-value.c: Likewise.
7615 * fold-const.c: Likewise.
7616 * function.c: Likewise.
7617 * fwprop.c: Likewise.
7618 * gcc-plugin.h: Likewise.
7619 * gcse.c: Likewise.
7620 * generic-match-head.c: Likewise.
7621 * ggc-page.c: Likewise.
7622 * gimple-builder.c: Likewise.
7623 * gimple-expr.c: Likewise.
7624 * gimple-fold.c: Likewise.
7625 * gimple-iterator.c: Likewise.
7626 * gimple-low.c: Likewise.
7627 * gimple-match-head.c: Likewise.
7628 * gimple-pretty-print.c: Likewise.
7629 * gimple-ssa-isolate-paths.c: Likewise.
7630 * gimple-ssa-strength-reduction.c: Likewise.
7631 * gimple-streamer-in.c: Likewise.
7632 * gimple-streamer-out.c: Likewise.
7633 * gimple-streamer.h: Likewise.
7634 * gimple-walk.c: Likewise.
7635 * gimple.c: Likewise.
7636 * gimplify-me.c: Likewise.
7637 * gimplify.c: Likewise.
7638 * godump.c: Likewise.
7639 * graph.c: Likewise.
7640 * graphite-blocking.c: Likewise.
7641 * graphite-dependences.c: Likewise.
7642 * graphite-interchange.c: Likewise.
7643 * graphite-isl-ast-to-gimple.c: Likewise.
7644 * graphite-optimize-isl.c: Likewise.
7645 * graphite-poly.c: Likewise.
7646 * graphite-scop-detection.c: Likewise.
7647 * graphite-sese-to-poly.c: Likewise.
7648 * graphite.c: Likewise.
7649 * haifa-sched.c: Likewise.
7650 * hooks.h: Likewise.
7651 * hw-doloop.c: Likewise.
7652 * ifcvt.c: Likewise.
7653 * incpath.c: Likewise.
7654 * init-regs.c: Likewise.
7655 * internal-fn.c: Likewise.
7656 * ipa-chkp.c: Likewise.
7657 * ipa-comdats.c: Likewise.
7658 * ipa-cp.c: Likewise.
7659 * ipa-devirt.c: Likewise.
7660 * ipa-icf-gimple.c: Likewise.
7661 * ipa-icf.c: Likewise.
7662 * ipa-inline-analysis.c: Likewise.
7663 * ipa-inline-transform.c: Likewise.
7664 * ipa-inline.c: Likewise.
7665 * ipa-polymorphic-call.c: Likewise.
7666 * ipa-profile.c: Likewise.
7667 * ipa-prop.c: Likewise.
7668 * ipa-pure-const.c: Likewise.
7669 * ipa-ref.c: Likewise.
7670 * ipa-reference.c: Likewise.
7671 * ipa-split.c: Likewise.
7672 * ipa-utils.c: Likewise.
7673 * ipa-visibility.c: Likewise.
7674 * ipa.c: Likewise.
7675 * ira-build.c: Likewise.
7676 * ira-color.c: Likewise.
7677 * ira-conflicts.c: Likewise.
7678 * ira-costs.c: Likewise.
7679 * ira-emit.c: Likewise.
7680 * ira-lives.c: Likewise.
7681 * ira.c: Likewise.
7682 * jump.c: Likewise.
7683 * langhooks.c: Likewise.
7684 * lcm.c: Likewise.
7685 * loop-doloop.c: Likewise.
7686 * loop-init.c: Likewise.
7687 * loop-invariant.c: Likewise.
7688 * loop-iv.c: Likewise.
7689 * loop-unroll.c: Likewise.
7690 * lower-subreg.c: Likewise.
7691 * lra-assigns.c: Likewise.
7692 * lra-coalesce.c: Likewise.
7693 * lra-constraints.c: Likewise.
7694 * lra-eliminations.c: Likewise.
7695 * lra-lives.c: Likewise.
7696 * lra-remat.c: Likewise.
7697 * lra-spills.c: Likewise.
7698 * lra.c: Likewise.
7699 * lto-cgraph.c: Likewise.
7700 * lto-compress.c: Likewise.
7701 * lto-opts.c: Likewise.
7702 * lto-section-in.c: Likewise.
7703 * lto-section-out.c: Likewise.
7704 * lto-streamer-in.c: Likewise.
7705 * lto-streamer-out.c: Likewise.
7706 * lto-streamer.c: Likewise.
7707 * mcf.c: Likewise.
7708 * mode-switching.c: Likewise.
7709 * modulo-sched.c: Likewise.
7710 * omega.c: Likewise.
7711 * omp-low.c: Likewise.
7712 * optabs.c: Likewise.
7713 * opts-global.c: Likewise.
7714 * passes.c: Likewise.
7715 * plugin.c: Likewise.
7716 * postreload-gcse.c: Likewise.
7717 * postreload.c: Likewise.
7718 * predict.c: Likewise.
7719 * print-rtl.c: Likewise.
7720 * print-tree.c: Likewise.
7721 * profile.c: Likewise.
7722 * real.c: Likewise.
7723 * realmpfr.c: Likewise.
7724 * realmpfr.h: Likewise.
7725 * recog.c: Likewise.
7726 * ree.c: Likewise.
7727 * reg-stack.c: Likewise.
7728 * regcprop.c: Likewise.
7729 * reginfo.c: Likewise.
7730 * regrename.c: Likewise.
7731 * regs.h: Likewise.
7732 * regstat.c: Likewise.
7733 * reload.c: Likewise.
7734 * reload1.c: Likewise.
7735 * reorg.c: Likewise.
7736 * resource.c: Likewise.
7737 * rtl-chkp.c: Likewise.
7738 * rtlanal.c: Likewise.
7739 * rtlhooks.c: Likewise.
7740 * sanopt.c: Likewise.
7741 * sched-deps.c: Likewise.
7742 * sched-ebb.c: Likewise.
7743 * sched-rgn.c: Likewise.
7744 * sched-vis.c: Likewise.
7745 * sdbout.c: Likewise.
7746 * sel-sched-dump.c: Likewise.
7747 * sel-sched-ir.c: Likewise.
7748 * sel-sched.c: Likewise.
7749 * sese.c: Likewise.
7750 * shrink-wrap.c: Likewise.
7751 * shrink-wrap.h: Likewise.
7752 * simplify-rtx.c: Likewise.
7753 * stack-ptr-mod.c: Likewise.
7754 * statistics.c: Likewise.
7755 * stmt.c: Likewise.
7756 * stor-layout.c: Likewise.
7757 * store-motion.c: Likewise.
7758 * stringpool.c: Likewise.
7759 * symtab.c: Likewise.
7760 * target-globals.c: Likewise.
7761 * targhooks.c: Likewise.
7762 * toplev.c: Likewise.
7763 * tracer.c: Likewise.
7764 * trans-mem.c: Likewise.
7765 * tree-affine.c: Likewise.
7766 * tree-affine.h: Likewise.
7767 * tree-browser.c: Likewise.
7768 * tree-call-cdce.c: Likewise.
7769 * tree-cfg.c: Likewise.
7770 * tree-cfgcleanup.c: Likewise.
7771 * tree-chkp-opt.c: Likewise.
7772 * tree-chkp.c: Likewise.
7773 * tree-chrec.c: Likewise.
7774 * tree-complex.c: Likewise.
7775 * tree-data-ref.c: Likewise.
7776 * tree-dfa.c: Likewise.
7777 * tree-diagnostic.c: Likewise.
7778 * tree-dump.c: Likewise.
7779 * tree-eh.c: Likewise.
7780 * tree-emutls.c: Likewise.
7781 * tree-if-conv.c: Likewise.
7782 * tree-inline.c: Likewise.
7783 * tree-into-ssa.c: Likewise.
7784 * tree-iterator.c: Likewise.
7785 * tree-loop-distribution.c: Likewise.
7786 * tree-nested.c: Likewise.
7787 * tree-nrv.c: Likewise.
7788 * tree-object-size.c: Likewise.
7789 * tree-outof-ssa.c: Likewise.
7790 * tree-parloops.c: Likewise.
7791 * tree-phinodes.c: Likewise.
7792 * tree-predcom.c: Likewise.
7793 * tree-pretty-print.c: Likewise.
7794 * tree-pretty-print.h: Likewise.
7795 * tree-profile.c: Likewise.
7796 * tree-scalar-evolution.c: Likewise.
7797 * tree-sra.c: Likewise.
7798 * tree-ssa-address.c: Likewise.
7799 * tree-ssa-alias.c: Likewise.
7800 * tree-ssa-ccp.c: Likewise.
7801 * tree-ssa-coalesce.c: Likewise.
7802 * tree-ssa-copy.c: Likewise.
7803 * tree-ssa-copyrename.c: Likewise.
7804 * tree-ssa-dce.c: Likewise.
7805 * tree-ssa-dom.c: Likewise.
7806 * tree-ssa-dse.c: Likewise.
7807 * tree-ssa-forwprop.c: Likewise.
7808 * tree-ssa-ifcombine.c: Likewise.
7809 * tree-ssa-live.c: Likewise.
7810 * tree-ssa-loop-ch.c: Likewise.
7811 * tree-ssa-loop-im.c: Likewise.
7812 * tree-ssa-loop-ivcanon.c: Likewise.
7813 * tree-ssa-loop-ivopts.c: Likewise.
7814 * tree-ssa-loop-manip.c: Likewise.
7815 * tree-ssa-loop-niter.c: Likewise.
7816 * tree-ssa-loop-prefetch.c: Likewise.
7817 * tree-ssa-loop-unswitch.c: Likewise.
7818 * tree-ssa-loop.c: Likewise.
7819 * tree-ssa-loop.h: Likewise.
7820 * tree-ssa-math-opts.c: Likewise.
7821 * tree-ssa-operands.c: Likewise.
7822 * tree-ssa-phiopt.c: Likewise.
7823 * tree-ssa-phiprop.c: Likewise.
7824 * tree-ssa-pre.c: Likewise.
7825 * tree-ssa-propagate.c: Likewise.
7826 * tree-ssa-reassoc.c: Likewise.
7827 * tree-ssa-sccvn.c: Likewise.
7828 * tree-ssa-scopedtables.c: Likewise.
7829 * tree-ssa-sink.c: Likewise.
7830 * tree-ssa-strlen.c: Likewise.
7831 * tree-ssa-structalias.c: Likewise.
7832 * tree-ssa-tail-merge.c: Likewise.
7833 * tree-ssa-ter.c: Likewise.
7834 * tree-ssa-threadedge.c: Likewise.
7835 * tree-ssa-threadupdate.c: Likewise.
7836 * tree-ssa-uncprop.c: Likewise.
7837 * tree-ssa-uninit.c: Likewise.
7838 * tree-ssa.c: Likewise.
7839 * tree-ssanames.c: Likewise.
7840 * tree-stdarg.c: Likewise.
7841 * tree-streamer-in.c: Likewise.
7842 * tree-streamer-out.c: Likewise.
7843 * tree-streamer.c: Likewise.
7844 * tree-switch-conversion.c: Likewise.
7845 * tree-tailcall.c: Likewise.
7846 * tree-vect-data-refs.c: Likewise.
7847 * tree-vect-generic.c: Likewise.
7848 * tree-vect-loop-manip.c: Likewise.
7849 * tree-vect-loop.c: Likewise.
7850 * tree-vect-patterns.c: Likewise.
7851 * tree-vect-slp.c: Likewise.
7852 * tree-vect-stmts.c: Likewise.
7853 * tree-vectorizer.c: Likewise.
7854 * tree-vrp.c: Likewise.
7855 * tree.c: Likewise.
7856 * tsan.c: Likewise.
7857 * ubsan.c: Likewise.
7858 * valtrack.c: Likewise.
7859 * value-prof.c: Likewise.
7860 * var-tracking.c: Likewise.
7861 * varasm.c: Likewise.
7862 * varpool.c: Likewise.
7863 * vmsdbgout.c: Likewise.
7864 * vtable-verify.c: Likewise.
7865 * web.c: Likewise.
7866 * wide-int-print.cc: Likewise.
7867 * wide-int-print.h: Likewise.
7868 * wide-int.cc: Likewise.
7869 * xcoffout.c: Likewise.
7870 * config/aarch64/aarch64-builtins.c: Likewise.
7871 * config/aarch64/aarch64.c: Likewise.
7872 * config/aarch64/cortex-a57-fma-steering.c: Likewise.
7873 * config/alpha/alpha.c: Likewise.
7874 * config/arc/arc.c: Likewise.
7875 * config/arm/aarch-common.c: Likewise.
7876 * config/arm/arm-builtins.c: Likewise.
7877 * config/arm/arm-c.c: Likewise.
7878 * config/arm/arm.c: Likewise.
7879 * config/avr/avr-c.c: Likewise.
7880 * config/avr/avr-log.c: Likewise.
7881 * config/avr/avr.c: Likewise.
7882 * config/bfin/bfin.c: Likewise.
7883 * config/c6x/c6x.c: Likewise.
7884 * config/cr16/cr16.c: Likewise.
7885 * config/cris/cris.c: Likewise.
7886 * config/darwin-c.c: Likewise.
7887 * config/darwin.c: Likewise.
7888 * config/default-c.c: Likewise.
7889 * config/epiphany/epiphany.c: Likewise.
7890 * config/epiphany/mode-switch-use.c: Likewise.
7891 * config/epiphany/resolve-sw-modes.c: Likewise.
7892 * config/fr30/fr30.c: Likewise.
7893 * config/frv/frv.c: Likewise.
7894 * config/ft32/ft32.c: Likewise.
7895 * config/glibc-c.c: Likewise.
7896 * config/h8300/h8300.c: Likewise.
7897 * config/i386/i386-c.c: Likewise.
7898 * config/i386/i386.c: Likewise.
7899 * config/i386/msformat-c.c: Likewise.
7900 * config/i386/winnt-cxx.c: Likewise.
7901 * config/i386/winnt-stubs.c: Likewise.
7902 * config/i386/winnt.c: Likewise.
7903 * config/ia64/ia64-c.c: Likewise.
7904 * config/ia64/ia64.c: Likewise.
7905 * config/iq2000/iq2000.c: Likewise.
7906 * config/lm32/lm32.c: Likewise.
7907 * config/m32c/m32c-pragma.c: Likewise.
7908 * config/m32c/m32c.c: Likewise.
7909 * config/m32r/m32r.c: Likewise.
7910 * config/m68k/m68k.c: Likewise.
7911 * config/mcore/mcore.c: Likewise.
7912 * config/mep/mep-pragma.c: Likewise.
7913 * config/mep/mep.c: Likewise.
7914 * config/microblaze/microblaze-c.c: Likewise.
7915 * config/microblaze/microblaze.c: Likewise.
7916 * config/mips/mips.c: Likewise.
7917 * config/mmix/mmix.c: Likewise.
7918 * config/mn10300/mn10300.c: Likewise.
7919 * config/moxie/moxie.c: Likewise.
7920 * config/msp430/msp430-c.c: Likewise.
7921 * config/msp430/msp430.c: Likewise.
7922 * config/nds32/nds32-cost.c: Likewise.
7923 * config/nds32/nds32-fp-as-gp.c: Likewise.
7924 * config/nds32/nds32-intrinsic.c: Likewise.
7925 * config/nds32/nds32-isr.c: Likewise.
7926 * config/nds32/nds32-md-auxiliary.c: Likewise.
7927 * config/nds32/nds32-memory-manipulation.c: Likewise.
7928 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
7929 * config/nds32/nds32-predicates.c: Likewise.
7930 * config/nds32/nds32.c: Likewise.
7931 * config/nios2/nios2.c: Likewise.
7932 * config/nvptx/nvptx.c: Likewise.
7933 * config/pa/pa.c: Likewise.
7934 * config/pdp11/pdp11.c: Likewise.
7935 * config/rl78/rl78-c.c: Likewise.
7936 * config/rl78/rl78.c: Likewise.
7937 * config/rs6000/rs6000-c.c: Likewise.
7938 * config/rs6000/rs6000.c: Likewise.
7939 * config/rx/rx.c: Likewise.
7940 * config/s390/s390-c.c: Likewise.
7941 * config/s390/s390.c: Likewise.
7942 * config/sh/sh-c.c: Likewise.
7943 * config/sh/sh-mem.cc: Likewise.
7944 * config/sh/sh.c: Likewise.
7945 * config/sh/sh_optimize_sett_clrt.cc: Likewise.
7946 * config/sh/sh_treg_combine.cc: Likewise.
7947 * config/sol2-c.c: Likewise.
7948 * config/sol2-cxx.c: Likewise.
7949 * config/sol2-stubs.c: Likewise.
7950 * config/sol2.c: Likewise.
7951 * config/sparc/sparc-c.c: Likewise.
7952 * config/sparc/sparc.c: Likewise.
7953 * config/spu/spu-c.c: Likewise.
7954 * config/spu/spu.c: Likewise.
7955 * config/stormy16/stormy16.c: Likewise.
7956 * config/tilegx/mul-tables.c: Likewise.
7957 * config/tilegx/tilegx-c.c: Likewise.
7958 * config/tilegx/tilegx.c: Likewise.
7959 * config/tilepro/mul-tables.c: Likewise.
7960 * config/tilepro/tilepro-c.c: Likewise.
7961 * config/tilepro/tilepro.c: Likewise.
7962 * config/v850/v850-c.c: Likewise.
7963 * config/v850/v850.c: Likewise.
7964 * config/vax/vax.c: Likewise.
7965 * config/visium/visium.c: Likewise.
7966 * config/vms/vms-c.c: Likewise.
7967 * config/vms/vms.c: Likewise.
7968 * config/vxworks.c: Likewise.
7969 * config/winnt-c.c: Likewise.
7970 * config/xtensa/xtensa.c: Likewise.
7971 * common/config/bfin/bfin-common.c: Likewise.
7972
7973 2015-06-04 Jan Hubicka <hubicka@ucw.cz>
7974
7975 * tree.h (tree_code_for_canonical_type_merging): New function.
7976 * tree.c (gimple_canonical_types_compatible_p): Use
7977 tree_code_for_canonical_type_merging..
7978
7979 2015-06-04 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7980
7981 PR c++/66192
7982 PR target/66200
7983 * doc/tm.texi: Regenerate.
7984 * doc/tm.texi.in (TARGET_RELAXED_ORDERING): Delete.
7985 * target.def (TARGET_RELAXED_ORDERING): Likewise.
7986 * config/alpha/alpha.c (TARGET_RELAXED_ORDERING): Likewise.
7987 * config/ia64/ia64.c (TARGET_RELAXED_ORDERING): Likewise.
7988 * config/rs6000/rs6000.c (TARGET_RELAXED_ORDERING): Likewise.
7989 * config/sparc/linux.h (SPARC_RELAXED_ORDERING): Likewise.
7990 * config/sparc/linux64.h (SPARC_RELAXED_ORDERING): Likewise.
7991 * config/sparc/sparc.c (TARGET_RELAXED_ORDERING): Likewise.
7992 * config/sparc/sparc.h (SPARC_RELAXED_ORDERING): Likewise.
7993
7994 2015-06-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7995
7996 * config/aarch64/aarch64.c (aarch64_override_options): Unconditionally
7997 register fma steering pass.
7998 * config/aarch64/cortex-a57-fma-steering.c (gate): Add gating on
7999 AARCH64_TUNE_FMA_STEERING.
8000
8001 2015-06-03 Jan Hubicka <hubicka@ucw.cz>
8002
8003 * tree.c (verify_type_variant): Verify that type and variant is
8004 compatible.
8005 (gimple_canonical_types_compatible_p): Look for main variants.
8006
8007 2015-06-03 Michael Meissner <meissner@linux.vnet.ibm.com>
8008
8009 * config.gcc (powerpc*-*-*): Add support for a new configure
8010 option --with-advance-toolchain=<xxx> which overrides using the
8011 default header files, libraries and dynamic linker.
8012
8013 * config/rs6000/linux64.h (SUBSUBTARGET_EXTRA_SPECS): Add new
8014 specs to support the configure --with-advance-toolchain=<xxx>
8015 option.
8016 (INCLUDE_EXTRA_SPEC): Likewise.
8017 (LINK_OS_EXTRA_SPEC32): Likewise.
8018 (LINK_OK_EXTRA_SPEC64): Likewise.
8019 (LINK_OS_NEW_DTAGS_SPEC): Likewise.
8020 (DYNAMIC_LINKER_PREFIX): Likewise.
8021 (CPP_OS_DEFAULT_SPEC): Use the new specs for providing advance
8022 toolchain support.
8023 (GLIBC_DYNAMIC_LINKER32): Likewise.
8024 (GLIBC_DYNAMIC_LINKER64): Likewise.
8025 (LINK_OS_LINUX_SPEC32): Likewise.
8026 (LINK_OS_LINUX_SPEC64): Likewise.
8027
8028 * doc/install.texi (--enable-advance-toolchain=<xx>): Document new
8029 configuration option.
8030
8031 2015-06-03 Uros Bizjak <ubizjak@gmail.com>
8032
8033 PR target/66275
8034 * config/i386/i386.c (ix86_function_arg_regno): Use ix86_cfun_abi
8035 to determine current function ABI.
8036 (ix86_function_value_regno_p): Ditto.
8037
8038 2015-06-03 Martin Liska <mliska@suse.cz>
8039
8040 * alloc-pool.h (struct pool_usage): Correct GNU coding style.
8041 * bitmap.h (struct bitmap_usage): Likewise.
8042 * ggc-common.c (struct ggc_usage): Likewise.
8043 * mem-stats.h (struct mem_location): Likewise.
8044 (struct mem_usage): Likewise.
8045 * vec.c (struct vec_usage): Likewise.
8046
8047 2015-06-03 Benigno B. Junior <bbj@gentoo.org>
8048
8049 * config/netbsd-elf.h (NETBSD_LINK_SPEC_ELF): Turn -symbolic into
8050 -Bsymbolic.
8051
8052 2015-06-02 Andres Tiraboschi <andres.tiraboschi@tallertechnologies.com>
8053
8054 * doc/plugins.texi (enum plugin_event): New event.
8055 * plugin.c (register_callback): Handle PLUGIN_START_PARSE_FUNCTION
8056 and PLUGIN_FINISH_FUNCTION.
8057 * plugin.def (PLUGIN_START_PARSE_FUNCTION): Add plugin event
8058 (PLUGIN_FINISH_PARSE_FUNCTION): Likewise.
8059
8060 2015-06-03 Richard Biener <rguenther@suse.de>
8061
8062 * tree-vect-data-refs.c (vect_analyze_group_access): Properly
8063 compute GROUP_GAP for the first element.
8064 * tree-vect-slp.c (vect_build_slp_tree_1): Remove restriction
8065 on in-group gaps.
8066
8067 2015-06-03 Nick Clifton <nickc@redhat.com>
8068
8069 * config/rl78/rl78-real.md: Add peepholes to avoid a register
8070 copy when calling a function.
8071 * config/rl78/rl78.c (need_to_save): Do not push the frame
8072 pointer in an interrupt handler prologue if it is never used.
8073
8074 2015-06-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8075
8076 * ifcvt (end_ifcvt_sequence): Fix typo in comment above.
8077
8078 2015-06-03 Ilya Enkovich <ilya.enkovich@intel.com>
8079
8080 * ipa-chkp.c (chkp_maybe_create_clone): Create alias
8081 reference when cloning alias node.
8082
8083 2015-06-03 Martin Liska <mliska@suse.cz>
8084
8085 * alloc-pool.h (struct pool_usage): Correct space padding.
8086 * ggc-page.c (ggc_print_statistics): Align columns in a report.
8087 * mem-stats.h (struct mem_usage): Add argument to print_dash_line.
8088 * tree.c (dump_tree_statistics): Align columns in a report.
8089
8090 2015-06-03 Martin Liska <mliska@suse.cz>
8091
8092 * alloc-pool.c (allocate_pool_descriptor): Remove.
8093 (struct pool_output_info): Likewise.
8094 (print_alloc_pool_statistics): Likewise.
8095 (dump_alloc_pool_statistics): Likewise.
8096 * alloc-pool.h (struct pool_usage): New struct.
8097 (pool_allocator::initialize): Change usage of memory statistics
8098 to a new interface.
8099 (pool_allocator::release): Likewise.
8100 (pool_allocator::allocate): Likewise.
8101 (pool_allocator::remove): Likewise.
8102 * mem-stats-traits.h (enum mem_alloc_origin): Add new enum value
8103 for a pool allocator.
8104 * mem-stats.h (struct mem_location): Add new ctor.
8105 (struct mem_usage): Add counter for number of
8106 instances.
8107 (mem_alloc_description::register_descriptor): New overload of
8108 * mem-stats.h (mem_location::to_string): New function.
8109 * bitmap.h (struct bitmap_usage): Use this new function.
8110 * ggc-common.c (struct ggc_usage): Likewise.
8111 the function.
8112
8113 2015-06-03 Richard Sandiford <richard.sandiford@arm.com>
8114
8115 * defaults.h (SWITCHABLE_TARGET, TARGET_SUPPORTS_WIDE_INT): Move out
8116 of GCC_INSN_FLAGS_H block.
8117
8118 2015-06-03 Andrew Bennett <andrew.bennett@imgtec.com>
8119
8120 * explow.c (plus_constant): Update check after force_const_mem call
8121 to see if the value returned is not a NULL_RTX.
8122
8123 2015-06-03 Ilya Enkovich <ilya.enkovich@intel.com>
8124
8125 * ipa.c (symbol_table::remove_unreachable_nodes): Don't
8126 remove instumentation thunks calling reachable functions.
8127 * lto-cgraph.c (output_refs): Always output IPA_REF_CHKP.
8128 * lto/lto-partition.c (privatize_symbol_name_1): New.
8129 (privatize_symbol_name): Privatize both decl and orig_decl
8130 names for instrumented functions.
8131 * cgraph.c (cgraph_node::verify_node): Add transparent
8132 alias chain check for instrumented node.
8133
8134 2015-06-03 Marek Polacek <polacek@redhat.com>
8135
8136 PR c/64223
8137 PR c/29358
8138 * tree.c (attribute_value_equal): Handle attribute format.
8139 (cmp_attrib_identifiers): Factor out of lookup_ident_attribute.
8140
8141 2015-06-03 Richard Biener <rguenther@suse.de>
8142
8143 PR tree-optimization/63916
8144 * tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address):
8145 Forward-propagate non-invariant addresses by splicing their
8146 reference ops if the result isn't going to be used by PRE.
8147 (vn_reference_lookup_3): Remove pointless assert.
8148
8149 2015-06-03 Richard Biener <rguenther@suse.de>
8150
8151 PR tree-optimization/66375
8152 * tree-scalar-evolution.c (follow_ssa_edge_binary): First
8153 add to the evolution before following SSA edges.
8154
8155 2015-06-03 Bin Cheng <bin.cheng@arm.com>
8156
8157 * tree-ssa-loop-ivopts.c (dump_iv): New parameter.
8158 (dump_use, dump_cand, find_induction_variables): Pass new argument
8159 to dump_iv.
8160 (record_use): Preserve the ssa name information in IV.
8161
8162 2015-06-03 Richard Sandiford <richard.sandiford@arm.com>
8163
8164 * genpreds.c (mark_mode_tests): Mark all MATCH_CODEs as
8165 NO_MODE_TEST.
8166 (add_mode_tests): Don't add mode tests if the predicate only
8167 accepts scalar constant integers. Otherwise, allow the mode
8168 of "op" to be VOIDmode if the predicate does accept such integers.
8169
8170 2015-06-02 Jim Wilson <jim.wilson@linaro.org>
8171
8172 PR target/66258
8173 * config/aarch64/aarch64.c (aarch64_function_value_regno_p): Change
8174 !TARGET_GENERAL_REGS_ONLY to TARGET_FLOAT.
8175 (aarch64_secondary_reload): Likewise
8176 (aarch64_expand_builtin_va_start): Change TARGET_GENERAL_REGS_ONLY
8177 to !TARGET_FLOAT.
8178 (aarch64_gimplify_va_arg_expr, aarch64_setup_incoming_varargs):
8179 Likewise.
8180
8181 2015-06-03 Kugan Vivekanandarajah <kuganv@linaro.org>
8182 Zhenqiang Chen <zhenqiang.chen@linaro.org>
8183
8184 PR target/65768
8185 * cprop.c (try_replace_reg): Check cost of constants before propagating.
8186
8187 2015-06-02 Michael Meissner <meissner@linux.vnet.ibm.com>
8188
8189 * config/rs6000/rs6000-modes.def (IFmode): Define IFmode to
8190 provide access to the IBM extended double floating point mode if
8191 long double is IEEE 128-bit floating point.
8192 (KFmode): Define KFmode to provide access to IEEE 128-bit floating
8193 point if long double is the IBM extended double type.
8194
8195 * config/rs6000/rs6000.opt (-mfloat128-none): New switches to
8196 enable adding IEEE 128-bit floating point support.
8197 (-mfloat128-software): Likewise.
8198 (-mfloat128-sw): Likewise.
8199
8200 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Do not allow
8201 128-bit floating point types to occupy any register if
8202 -mlong-double-64. Do not allow use of IFmode/KFmode unless
8203 -mfloat128-software is enabled.
8204 (rs6000_debug_reg_global): Add IEEE 128-bit floating point debug
8205 support.
8206 (rs6000_option_override_internal): Add -mfloat128-* support.
8207 (rs6000_init_builtins): Setup __ibm128 and __float128 type modes.
8208
8209 * config/rs6000/rs6000.h (rs6000_builtin_type_index): Add ibm128
8210 and float128 type nodes.
8211 (ieee128_float_type_node): Likewise.
8212 (ibm128_float_type_node): Likewise.
8213
8214 2015-06-02 Szabolcs Nagy <szabolcs.nagy@arm.com>
8215
8216 PR target/66136
8217 * config/aarch64/geniterators.sh: Rewrite in awk.
8218
8219 2015-06-02 Martin Liska <mliska@suse.cz>
8220
8221 * alloc-pool.h (pool_allocator::pool_allocator): Set implicit
8222 values to avoid -Wmaybe-uninitialized errors.
8223
8224 2015-06-02 Richard Biener <rguenther@suse.de>
8225
8226 PR debug/65549
8227 * dwarf2out.c (lookup_context_die): New function.
8228 (resolve_addr): Avoid forcing a full DIE for the
8229 target of a DW_TAG_GNU_call_site during late compilation.
8230 Instead create a stub DIE without a type if we have a
8231 context DIE present.
8232
8233 2015-06-02 Uros Bizjak <ubizjak@gmail.com>
8234
8235 * df-scan.c (df_scan_start_dump): Add space between regno and regname.
8236
8237 2015-06-02 Bin Cheng <bin.cheng@arm.com>
8238
8239 PR tree-optimization/48052
8240 * cfgloop.h (struct control_iv): New.
8241 (struct loop): New field control_ivs.
8242 * tree-ssa-loop-niter.c : Include "stor-layout.h".
8243 (number_of_iterations_lt): Set no_overflow information.
8244 (number_of_iterations_exit): Init control iv in niter struct.
8245 (record_control_iv): New.
8246 (estimate_numbers_of_iterations_loop): Call record_control_iv.
8247 (loop_exits_before_overflow): New. Interface factored out of
8248 scev_probably_wraps_p.
8249 (scev_probably_wraps_p): Factor loop niter related code into
8250 loop_exits_before_overflow.
8251 (free_numbers_of_iterations_estimates_loop): Free control ivs.
8252 * tree-ssa-loop-niter.h (free_loop_control_ivs): New.
8253
8254 2015-06-02 Eric Botcazou <ebotcazou@adacore.com>
8255
8256 * gimplify.c (gimplify_modify_expr): Do not create a DECL_DEBUG_EXPR if
8257 the target doesn't belong to the current function.
8258
8259 2015-06-02 Marek Polacek <polacek@redhat.com>
8260
8261 PR middle-end/66345
8262 * gimple-fold.c (gimple_fold_builtin_snprintf): Return false if
8263 get_maxval_strlen does not produce an INTEGER_CST.
8264
8265 2015-06-02 Richard Sandiford <richard.sandiford@arm.com>
8266
8267 * config/arc/constraints.md: Use lower-case names in match_code.
8268 * config/mmix/constraints.md: Likewise.
8269
8270 2015-06-02 Richard Biener <rguenther@suse.de>
8271
8272 PR tree-optimization/65961
8273 * tree-vect-slp.c (vect_get_and_check_slp_defs): Remove bogus
8274 check and clarify dump message.
8275 (vect_build_slp_tree): If all children are built up from scalars
8276 build up the parent from scalars instead.
8277 * tree-vect-stmts.c (vect_is_simple_use): Cleanup.
8278
8279 2015-06-02 Jan Kratochvil <jan.kratochvil@redhat.com>
8280
8281 PR other/65366
8282 * gdbhooks.py: Use int(...) instead of long(...). Use print(...)
8283 instead of print ... .
8284
8285 2015-06-02 Alan Modra <amodra@gmail.com>
8286
8287 * config/rs6000/vsx.md (vsx_extract_v4sf): Revert accidental
8288 2014-08-11 change.
8289
8290 2015-06-02 Bin Cheng <bin.cheng@arm.com>
8291
8292 PR tree-optimization/52563
8293 PR tree-optimization/62173
8294 * tree-ssa-loop-ivopts.c (struct iv): New field. Reorder fields.
8295 (alloc_iv, set_iv): New parameter.
8296 (determine_biv_step): Delete.
8297 (find_bivs): Inline original determine_biv_step. Pass new
8298 argument to set_iv.
8299 (idx_find_step): Use no_overflow information for conversion.
8300 * tree-scalar-evolution.c (analyze_scalar_evolution_in_loop): Let
8301 resolve_mixers handle folded_casts.
8302 (instantiate_scev_name): Change bool parameter to bool pointer.
8303 (instantiate_scev_poly, instantiate_scev_binary): Ditto.
8304 (instantiate_array_ref, instantiate_scev_not): Ditto.
8305 (instantiate_scev_3, instantiate_scev_2): Ditto.
8306 (instantiate_scev_1, instantiate_scev_r): Ditto.
8307 (instantiate_scev_convert, ): Change parameter. Pass argument
8308 to chrec_convert_aggressive.
8309 (instantiate_scev): Change argument.
8310 (resolve_mixers): New parameter and set it.
8311 (scev_const_prop): New argument.
8312 * tree-scalar-evolution.h (resolve_mixers): New parameter.
8313 * tree-chrec.c (convert_affine_scev): Call chrec_convert instead
8314 of chrec_conert_1.
8315 (chrec_convert): New parameter. Move definition below.
8316 (chrec_convert_aggressive): New parameter and set it. Call
8317 convert_affine_scev.
8318 * tree-chrec.h (chrec_convert): New parameter.
8319 (chrec_convert_aggressive): Ditto.
8320
8321 2015-06-01 Eric Botcazou <ebotcazou@adacore.com>
8322
8323 * gimplify.c (gimplify_modify_expr_rhs): Use simple test on the size.
8324 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Do not remove
8325 the LHS of a no-return call if its type has variable size.
8326 * tree-cfgcleanup.c (fixup_noreturn_call): Likewise.
8327 * tree-cfg.c (verify_gimple_call): Accept these no-return calls.
8328
8329 2015-06-01 Andreas Tobler <andreast@gcc.gnu.org>
8330
8331 * read-rtl.c: Adapt to use HAVE_DECL_ATOLL instead of HAVE_ATOLL.
8332 * config.in: Regenerate.
8333
8334 2015-06-01 Yuri Rumyantsev <ysrumyan@gmail.com>
8335
8336 * tree-vect-data-refs.c (vect_analyze_data_ref_access): Allow
8337 consecutive accesses within outer-loop with force_vectorize
8338 for references with zero step in inner-loop.
8339
8340 2015-06-01 Vidya Praveen <vidyapraveen@arm.com>
8341
8342 * Makefile.in: Pick up gcov-dump dependencies from gcc/ directory
8343 rather than from gcc/build directory.
8344
8345 2015-06-01 Matthew Wahab <matthew.wahab@arm.com>
8346
8347 PR target/65697
8348 * config/aarch64/aarch64.c (aarch64_split_compare_and_swap): Check
8349 for __sync memory models, emit initial loads and final barriers as
8350 appropriate.
8351
8352 2015-06-01 Matthew Wahab <matthew.wahab@arm.com>
8353
8354 PR target/65697
8355 * config/aarch64/aarch64.c (aarch64_emit_post_barrier):New.
8356 (aarch64_split_atomic_op): Check for __sync memory models, emit
8357 appropriate initial loads and final barriers.
8358
8359 2015-06-01 Vidya Praveen <vidyapraveen@arm.com>
8360
8361 * Makefile.in: Fix gcov dependencies that should
8362 not point to a build folder.
8363
8364 2015-06-01 Richard Biener <rguenther@suse.de>
8365
8366 Revert
8367 2015-05-29 Richard Biener <rguenther@suse.de>
8368
8369 PR tree-optimization/66314
8370 * tree-ssa-threadupdate.c (create_block_for_threading): Add
8371 parameter that says which loop the new block belongs to.
8372 (ssa_create_duplicates): Blocks duplicated for the threaded
8373 path belong to the loop of the thread destination.
8374
8375 2015-06-01 Martin Liska <mliska@suse.cz>
8376
8377 * sched-deps.c: Include pool-alloc.h before
8378 cselib.h header file is included.
8379
8380 2015-06-01 Richard Biener <rguenther@suse.de>
8381
8382 * tree-ssa-structalias.c (ipa_pta_execute): Handle address-taken
8383 functions.
8384
8385 2015-06-01 Martin Liska <mliska@suse.cz>
8386
8387 * alloc-pool.h: Add ATTRIBUTE_UNUSED for
8388 a function local variable.
8389
8390 2015-06-01 Martin Liska <mliska@suse.cz>
8391
8392 * alloc-pool.c (create_alloc_pool): Remove.
8393 (empty_alloc_pool): Likewise.
8394 (free_alloc_pool): Likewise.
8395 (free_alloc_pool_if_empty): Likewise.
8396 (pool_alloc): Likewise.
8397 (pool_free): Likewise.
8398 * alloc-pool.h: Remove old declarations.
8399
8400 2015-06-01 Martin Liska <mliska@suse.cz>
8401
8402 * ira-build.c (initiate_allocnos): Use new type-based pool allocator.
8403 (ira_create_object): Likewise.
8404 (ira_create_allocno): Likewise.
8405 (ira_create_live_range): Likewise.
8406 (copy_live_range): Likewise.
8407 (ira_finish_live_range): Likewise.
8408 (ira_free_allocno_costs): Likewise.
8409 (finish_allocno): Likewise.
8410 (finish_allocnos): Likewise.
8411 (initiate_prefs): Likewise.
8412 (ira_create_pref): Likewise.
8413 (finish_pref): Likewise.
8414 (finish_prefs): Likewise.
8415 (initiate_copies): Likewise.
8416 (ira_create_copy): Likewise.
8417 (finish_copy): Likewise.
8418 (finish_copies): Likewise.
8419 (finish_prefs): Likewise.
8420
8421 2015-06-01 Martin Liska <mliska@suse.cz>
8422
8423 * ipa-cp.c (ipcp_value::add_source): Use new type-based pool allocator.
8424 (allocate_and_init_ipcp_value): Likewise.
8425 (ipcp_lattice::add_value): Likewise.
8426 (merge_agg_lats_step): Likewise.
8427 (ipcp_driver): Likewise.
8428 * ipa-prop.c (ipa_free_all_structures_after_ipa_cp): Likewise.
8429 (ipa_free_all_structures_after_iinln): Likewise.
8430 * ipa-prop.h: Likewise.
8431
8432 2015-06-01 Martin Liska <mliska@suse.cz>
8433
8434 * ipa-inline-analysis.c (edge_set_predicate): Use new type-based
8435 pool allocator.
8436 (set_hint_predicate): Likewise.
8437 (inline_summary_alloc): Likewise.
8438 (reset_inline_edge_summary): Likewise.
8439 (reset_inline_summary): Likewise.
8440 (set_cond_stmt_execution_predicate): Likewise.
8441 (set_switch_stmt_execution_predicate): Likewise.
8442 (compute_bb_predicates): Likewise.
8443 (estimate_function_body_sizes): Likewise.
8444 (inline_free_summary): Likewise.
8445
8446 2015-06-01 Martin Liska <mliska@suse.cz>
8447
8448 * ipa-prop.c (ipa_set_jf_constant): Use new type-based pool allocator.
8449 (ipa_edge_duplication_hook): Likewise.
8450 (ipa_free_all_structures_after_ipa_cp): Likewise.
8451 (ipa_free_all_structures_after_iinln): Likewise.
8452
8453 2015-06-01 Martin Liska <mliska@suse.cz>
8454
8455 * ipa-profile.c (account_time_size): Use new type-based pool allocator.
8456 (ipa_profile_generate_summary): Likewise.
8457 (ipa_profile_read_summary): Likewise.
8458 (ipa_profile): Likewise.
8459
8460 2015-06-01 Martin Liska <mliska@suse.cz>
8461
8462 * tree-ssa-structalias.c (new_var_info): Use new type-based
8463 pool allocator.
8464 (new_constraint): Likewise.
8465 (init_alias_vars): Likewise.
8466 (delete_points_to_sets): Likewise.
8467
8468 2015-06-01 Martin Liska <mliska@suse.cz>
8469
8470 * tree-ssa-strlen.c (new_strinfo): Use new type-based pool allocator.
8471 (free_strinfo): Likewise.
8472 (pass_strlen::execute): Likewise.
8473
8474 2015-06-01 Martin Liska <mliska@suse.cz>
8475
8476 * tree-ssa-sccvn.c (vn_reference_insert): Use new type-based
8477 pool allocator.
8478 (vn_reference_insert_pieces): Likewise.
8479 (vn_phi_insert): Likewise.
8480 (visit_reference_op_call): Likewise.
8481 (copy_phi): Likewise.
8482 (copy_reference): Likewise.
8483 (process_scc): Likewise.
8484 (allocate_vn_table): Likewise.
8485 (free_vn_table): Likewise.
8486
8487 2015-06-01 Martin Liska <mliska@suse.cz>
8488
8489 * tree-ssa-reassoc.c (add_to_ops_vec): Use new type-based
8490 pool allocator.
8491 (add_repeat_to_ops_vec): Likewise.
8492 (get_ops): Likewise.
8493 (maybe_optimize_range_tests): Likewise.
8494 (init_reassoc): Likewise.
8495 (fini_reassoc): Likewise.
8496
8497 2015-06-01 Martin Liska <mliska@suse.cz>
8498
8499 * tree-ssa-pre.c (get_or_alloc_expr_for_name): Use new type-based
8500 pool allocator.
8501 (bitmap_set_new): Likewise.
8502 (get_or_alloc_expr_for_constant): Likewise.
8503 (get_or_alloc_expr_for): Likewise.
8504 (phi_translate_1): Likewise.
8505 (compute_avail): Likewise.
8506 (init_pre): Likewise.
8507 (fini_pre): Likewise.
8508
8509 2015-06-01 Martin Liska <mliska@suse.cz>
8510
8511 * sched-deps.c (create_dep_node): Use new type-based pool allocator.
8512 (delete_dep_node): Likewise.
8513 (create_deps_list): Likewise.
8514 (free_deps_list): Likewise.
8515 (sched_deps_init): Likewise.
8516 (sched_deps_finish): Likewise.
8517
8518 2015-06-01 Martin Liska <mliska@suse.cz>
8519
8520 * regcprop.c (free_debug_insn_changes): Use new type-based
8521 pool allocator.
8522 (replace_oldest_value_reg): Likewise.
8523 (pass_cprop_hardreg::execute): Likewise.
8524
8525 2015-06-01 Martin Liska <mliska@suse.cz>
8526
8527 * ira-build.c (initiate_cost_vectors): Use new type-based
8528 pool allocator.
8529 (ira_allocate_cost_vector): Likewise.
8530 (ira_free_cost_vector): Likewise.
8531 (finish_cost_vectors): Likewise.
8532
8533 2015-06-01 Martin Liska <mliska@suse.cz>
8534
8535 * sel-sched-ir.c (alloc_sched_pools): Use new type-based
8536 pool allocator.
8537 (free_sched_pools): Likewise.
8538 * sel-sched-ir.h (_list_alloc): Likewise.
8539 (_list_remove): Likewise.
8540
8541 2015-06-01 Martin Liska <mliska@suse.cz>
8542
8543 * stmt.c (add_case_node): Use new type-based pool allocator.
8544 (expand_case): Likewise.
8545 (expand_sjlj_dispatch_table): Likewise.
8546
8547 2015-06-01 Martin Liska <mliska@suse.cz>
8548
8549 * tree-ssa-math-opts.c (occ_new): Use new type-based pool allocator.
8550 (free_bb): Likewise.
8551 (pass_cse_reciprocals::execute): Likewise.
8552
8553 2015-06-01 Martin Liska <mliska@suse.cz>
8554
8555 * tree-sra.c (sra_initialize): Use new type-based pool allocator.
8556 (sra_deinitialize) Likewise.
8557 (create_access_1) Likewise.
8558 (build_accesses_from_assign) Likewise.
8559 (create_artificial_child_access) Likewise.
8560
8561 2015-06-01 Martin Liska <mliska@suse.cz>
8562
8563 * dse.c (get_group_info):Use new type-based pool allocator.
8564 (dse_step0) Likewise.
8565 (free_store_info) Likewise.
8566 (delete_dead_store_insn) Likewise.
8567 (free_read_records) Likewise.
8568 (record_store) Likewise.
8569 (replace_read) Likewise.
8570 (check_mem_read_rtx) Likewise.
8571 (scan_insn) Likewise.
8572 (dse_step1) Likewise.
8573 (dse_step7) Likewise.
8574
8575 2015-06-01 Martin Liska <mliska@suse.cz>
8576
8577 * df-scan.c (struct df_scan_problem_data):Use new type-based
8578 pool allocator.
8579 (df_scan_free_internal) Likewise.
8580 (df_scan_alloc) Likewise.
8581 (df_grow_reg_info) Likewise.
8582 (df_free_ref) Likewise.
8583 (df_insn_create_insn_record) Likewise.
8584 (df_mw_hardreg_chain_delete) Likewise.
8585 (df_insn_info_delete) Likewise.
8586 (df_free_collection_rec) Likewise.
8587 (df_mw_hardreg_chain_delete_eq_uses) Likewise.
8588 (df_sort_and_compress_mws) Likewise.
8589 (df_ref_create_structure) Likewise.
8590 (df_ref_record) Likewise.
8591
8592 2015-06-01 Martin Liska <mliska@suse.cz>
8593
8594 * df-problems.c (df_chain_create):Use new type-based pool allocator.
8595 (df_chain_unlink_1) Likewise.
8596 (df_chain_unlink) Likewise.
8597 (df_chain_remove_problem) Likewise.
8598 (df_chain_alloc) Likewise.
8599 (df_chain_free) Likewise.
8600 * df.h (struct dataflow) Likewise.
8601
8602 2015-06-01 Martin Liska <mliska@suse.cz>
8603
8604 * cselib.c (new_elt_list):Use new type-based pool allocator.
8605 (new_elt_loc_list) Likewise.
8606 (unchain_one_elt_list) Likewise.
8607 (unchain_one_elt_loc_list) Likewise.
8608 (unchain_one_value) Likewise.
8609 (new_cselib_val) Likewise.
8610 (cselib_init) Likewise.
8611 (cselib_finish) Likewise.
8612
8613 2015-06-01 Martin Liska <mliska@suse.cz>
8614
8615 * config/sh/sh.c (add_constant):Use new type-based pool allocator.
8616 (sh_reorg) Likewise.
8617
8618 2015-06-01 Martin Liska <mliska@suse.cz>
8619
8620 * cfg.c (initialize_original_copy_tables):Use new type-based
8621 pool allocator.
8622 (free_original_copy_tables) Likewise.
8623 (copy_original_table_clear) Likewise.
8624 (copy_original_table_set) Likewise.
8625
8626 2015-06-01 Martin Liska <mliska@suse.cz>
8627
8628 * asan.c (asan_mem_ref_get_alloc_pool):Use new type-based
8629 pool allocator.
8630 (asan_mem_ref_new) Likewise.
8631 (free_mem_ref_resources) Likewise.
8632
8633 2015-06-01 Martin Liska <mliska@suse.cz>
8634
8635 * var-tracking.c (variable_htab_free):Use new type-based
8636 pool allocator.
8637 (attrs_list_clear) Likewise.
8638 (attrs_list_insert) Likewise.
8639 (attrs_list_copy) Likewise.
8640 (shared_hash_unshare) Likewise.
8641 (shared_hash_destroy) Likewise.
8642 (unshare_variable) Likewise.
8643 (var_reg_delete_and_set) Likewise.
8644 (var_reg_delete) Likewise.
8645 (var_regno_delete) Likewise.
8646 (drop_overlapping_mem_locs) Likewise.
8647 (variable_union) Likewise.
8648 (insert_into_intersection) Likewise.
8649 (canonicalize_values_star) Likewise.
8650 (variable_merge_over_cur) Likewise.
8651 (dataflow_set_merge) Likewise.
8652 (remove_duplicate_values) Likewise.
8653 (variable_post_merge_new_vals) Likewise.
8654 (dataflow_set_preserve_mem_locs) Likewise.
8655 (dataflow_set_remove_mem_locs) Likewise.
8656 (variable_from_dropped) Likewise.
8657 (variable_was_changed) Likewise.
8658 (set_slot_part) Likewise.
8659 (clobber_slot_part) Likewise.
8660 (delete_slot_part) Likewise.
8661 (loc_exp_insert_dep) Likewise.
8662 (notify_dependents_of_changed_value) Likewise.
8663 (emit_notes_for_differences_1) Likewise.
8664 (vt_emit_notes) Likewise.
8665 (vt_initialize) Likewise.
8666 (vt_finalize) Likewise.
8667
8668 2015-06-01 Martin Liska <mliska@suse.cz>
8669
8670 * ira-color.c (init_update_cost_records):Use new type-based
8671 pool allocator.
8672 (get_update_cost_record) Likewise.
8673 (free_update_cost_record_list) Likewise.
8674 (finish_update_cost_records) Likewise.
8675 (initiate_cost_update) Likewise.
8676
8677 2015-06-01 Martin Liska <mliska@suse.cz>
8678
8679 * lra.c (init_insn_regs): Use new type-based pool allocator.
8680 (new_insn_reg) Likewise.
8681 (free_insn_reg) Likewise.
8682 (free_insn_regs) Likewise.
8683 (finish_insn_regs) Likewise.
8684 (init_insn_recog_data) Likewise.
8685 (init_reg_info) Likewise.
8686 (finish_reg_info) Likewise.
8687 (lra_free_copies) Likewise.
8688 (lra_create_copy) Likewise.
8689 (invalidate_insn_data_regno_info) Likewise.
8690
8691 2015-06-01 Martin Liska <mliska@suse.cz>
8692
8693 * lra-lives.c (free_live_range): Use new type-based pool allocator.
8694 (free_live_range_list) Likewise.
8695 (create_live_range) Likewise.
8696 (copy_live_range) Likewise.
8697 (lra_merge_live_ranges) Likewise.
8698 (remove_some_program_points_and_update_live_ranges) Likewise.
8699 (lra_live_ranges_init) Likewise.
8700 (lra_live_ranges_finish) Likewise.
8701
8702 2015-06-01 Martin Liska <mliska@suse.cz>
8703
8704 * et-forest.c (et_new_occ): Use new type-based pool allocator.
8705 (et_new_tree): Likewise.
8706 (et_free_tree): Likewise.
8707 (et_free_tree_force): Likewise.
8708 (et_free_pools): Likewise.
8709 (et_split): Likewise.
8710
8711 2015-06-01 Martin Liska <mliska@suse.cz>
8712
8713 * alloc-pool.c (struct alloc_pool_descriptor): Move definition
8714 to header file.
8715 * alloc-pool.h (pool_allocator::pool_allocator): New function.
8716 (pool_allocator::release): Likewise.
8717 (inline pool_allocator::release_if_empty): Likewise.
8718 (inline pool_allocator::~pool_allocator): Likewise.
8719 (pool_allocator::allocate): Likewise.
8720 (pool_allocator::remove): Likewise.
8721
8722 2015-06-01 James Greenhalgh <james.greenhalgh@arm.com>
8723
8724 * sched-deps.c (sched_analyze_2): Replace fuseable with fusible
8725 in comment.
8726
8727 2015-06-01 James Greenhalgh <james.greenhalgh@arm.com>
8728
8729 * gcc/config/arm/arm-protos.h (tune_params): Rename fuseable_ops
8730 to fusible_ops.
8731 * gcc/config/arm/arm.c (arm_print_tune_info): Likewise.
8732 (arm_macro_fusion_p): Likewise.
8733 (arm_macro_fusion_pair_p): Likewise.
8734
8735 2015-06-01 James Greenhalgh <james.greenhalgh@arm.com>
8736
8737 * config/aarch64/aarch64-protos.h (tune_params): Rename
8738 fuseable_ops to fusible_ops.
8739 * config/aarch64/aarch64.c (generic_tunings): Rename
8740 fuseable_ops to fusible_ops.
8741 (cortexa53_tunings): Likewise.
8742 (cortexa57_tunings): Likewise.
8743 (thunderx_tunings): Likewise.
8744 (xgene1_tunings): Likewise.
8745 (aarch64_macro_fusion_p): Likewise.
8746 (aarch64_macro_fusion_pair_p): Likewise.
8747
8748 2015-06-01 Dominik Vogt <vogt@linux.vnet.ibm.com>
8749
8750 * config/s390/driver-native.c: New file.
8751 * config/s390/x-native: New file.
8752 * config.host: Add new files for s390.
8753 * config/s390/s390.h (DRIVER_SELF_SPECS): Add support for -mtune=native
8754 and -march=native
8755 * config.gcc: Likewise.
8756 * config/s390/s390.opt (march): Likewise; add PROCESSOR_NATIVE
8757 * config/s390/s390-opts.h (enum processor_type): Ditto.
8758 * config/s390/s390.c (s390_option_override): Catch unhandled
8759 PROCESSOR_NATIVE
8760
8761 2015-06-01 Ilya Enkovich <ilya.enkovich@intel.com>
8762
8763 PR target/65527
8764 * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Add
8765 redirection for instrumented calls.
8766 * lto-wrapper.c (merge_and_complain): Merge -fcheck-pointer-bounds.
8767 (append_compiler_options): Append -fcheck-pointer-bounds.
8768 * tree-chkp.h (chkp_copy_call_skip_bounds): New.
8769 (chkp_redirect_edge): New.
8770 * tree-chkp.c (chkp_copy_call_skip_bounds): New.
8771 (chkp_redirect_edge): New.
8772
8773 2015-06-01 Richard Biener <rguenther@suse.de>
8774
8775 PR tree-optimization/66280
8776 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Fix pattern
8777 def-use walking.
8778
8779 2015-06-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8780
8781 * config/aarch64/aarch64.md
8782 (*<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3): Change type to
8783 logic_shift_imm.
8784
8785 2015-06-01 Eric Botcazou <ebotcazou@adacore.com>
8786
8787 * config/i386/winnt.c (i386_pe_encode_section_info) <FUNCTION_DECL>:
8788 Remove obsolete kludge.
8789
8790 2015-06-01 Richard Biener <rguenther@suse.de>
8791
8792 * tree-ssa-reassoc.c (get_rank): Simplify.
8793
8794 2015-05-31 H.J. Lu <hongjiu.lu@intel.com>
8795
8796 * configure.ac (NO_PIE_CFLAGS): Check CXXFLAGS instead of CFLAGS.
8797 * configure: Regenerated.
8798
8799 2015-05-31 Mikhail Maltsev <maltsevm@gmail.com>
8800
8801 * config/cris/cris.h (CRIS_ARCH_CPP_DEFAULT): Fix C++11 compatibility
8802 issue (add space between string literal and macro).
8803 * config/i386/mingw32.h (REAL_LIBGCC_SPEC): Likewise.
8804
8805 2015-05-30 Andreas Schwab <schwab@linux-m68k.org>
8806
8807 * config/m68k/m68k.h (ASM_PCREL_SPEC): Pass --pcrel also for
8808 implict or explicit -fPIE or -fpie.
8809
8810 2015-05-30 Mike Frysinger <vapier@gentoo.org>
8811
8812 * gcc/config/alpha/elf.h (ASM_SPEC): Add %{mcpu=*:-m%*}.
8813
8814 2015-05-28 DJ Delorie <dj@redhat.com>
8815
8816 * expmed.c (extract_bit_field_1): Avoid clobbering a
8817 yet-to-be-used base/index register.
8818
8819 2015-05-30 Jan Hubicka <hubicka@ucw.cz>
8820
8821 * alias.c (alias_set_entry_d): Add is_pointer and has_pointer.
8822 (alias_stats): Add num_universal.
8823 (alias_set_subset_of): Special case pointers; be ready for NULL
8824 children.
8825 (alias_sets_conflict_p): Special case pointers; be ready for NULL
8826 children.
8827 (init_alias_set_entry): Break out from ...
8828 (record_alias_subset): ... here; propagate new fields;
8829 allocate children only when really needed.
8830 (get_alias_set): Do less generous pointer globbing.
8831 (dump_alias_stats_in_alias_c): Update statistics.
8832
8833 2015-05-30 Alan Modra <amodra@gmail.com>
8834
8835 * config/rs6000/rs6000.c (split_stack_arg_pointer_used_p): Scan
8836 correct block for use of r12.
8837 (rs6000_expand_split_stack_prologue): Error on r29 asm global reg.
8838
8839 2015-05-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
8840
8841 PR target/66215
8842 * config/s390/s390.c (s390_reorg): Fix placement of post-label NOPs
8843 with -mhotpatch=.
8844
8845 2015-05-29 Jakub Jelinek <jakub@redhat.com>
8846
8847 PR tree-optimization/66142
8848 * tree-if-conv.c (if_convertible_phi_p): Don't give up on
8849 virtual phis that feed themselves.
8850
8851 2015-05-29 Richard Biener <rguenther@suse.de>
8852
8853 PR tree-optimization/66314
8854 * tree-ssa-threadupdate.c (create_block_for_threading): Add
8855 parameter that says which loop the new block belongs to.
8856 (ssa_create_duplicates): Blocks duplicated for the threaded
8857 path belong to the loop of the thread destination.
8858
8859 2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
8860
8861 * config/arm/neon-testgen.ml (emit_epilogue): Remove manual call
8862 to cleanup-saved-temps.
8863 * doc/sourcebuild.texi (Clean up generated test files): Expand
8864 introduction.
8865 (dg-keep-saved-temps): Document new proc.
8866 (cleanup-ipa-dump, cleanup-rtl-dump, cleanup-tree-dump,
8867 cleanup-saved-temps): Remove.
8868
8869 2015-05-28 Andreas Tobler <andreast@gcc.gnu.org>
8870
8871 * configure.ac: Move the atoll check from AC_CHECK_FUNCS to
8872 gcc_AC_CHECK_DECLS.
8873 * configure: Regenerate.
8874
8875 2015-05-28 Mike Frysinger <vapier@gentoo.org>
8876
8877 * config/nios2/linux.h (CPP_SPEC): Define.
8878
8879 2015-05-28 Mike Frysinger <vapier@gentoo.org>
8880
8881 * config/microblaze/linux.h (CPP_SPEC): Define.
8882
8883 2015-05-28 Mike Frysinger <vapier@gentoo.org>
8884
8885 * config/pa/pa-linux.h (CPP_SPEC): Change so -D_REENTRANT is used when
8886 -pthread is specified.
8887
8888 2015-05-28 Richard Biener <rguenther@suse.de>
8889
8890 * tree-vect-loop.c (vect_fixup_reduc_chain): New function.
8891 (vect_fixup_scalar_cycles_with_patterns): Likewise.
8892 (vect_analyze_loop_2): Call vect_fixup_scalar_cycles_with_patterns
8893 after pattern recog.
8894 (vect_create_epilog_for_reduction): Properly handle reductions
8895 with patterns.
8896 (vectorizable_reduction): Likewise.
8897 * tree-vect-slp.c (vect_analyze_slp_instance): Properly mark
8898 reduction chains.
8899 (vect_get_constant_vectors): Create the correct number of
8900 initial values for reductions.
8901 (vect_schedule_slp_instance): Handle reduction chains that are
8902 type changing properly.
8903 * tree-vect-stmts.c (vect_analyze_stmt): Adjust.
8904
8905 2015-05-28 Richard Biener <rguenther@suse.de>
8906
8907 PR tree-optimization/66142
8908 * tree-ssa-sccvn.c (vn_reference_lookup_3): Handle non-GIMPLE
8909 values better in memcpy destination handling. Handle non-aliasing
8910 we discover here.
8911
8912 2015-05-28 Lawrence Velázquez <vq@larryv.me>
8913
8914 PR target/63810
8915 * config/darwin-c.c (version_components): New global enum.
8916 (parse_version, version_as_legacy_macro)
8917 (version_as_modern_macro, macosx_version_as_macro): New functions.
8918 (version_as_macro): Remove.
8919 (darwin_cpp_builtins): Use new function.
8920
8921 2015-05-28 H.J. Lu <hongjiu.lu@intel.com>
8922
8923 * builtins.c (expand_builtin_acc_on_device): Mark parameters
8924 with ATTRIBUTE_UNUSED.
8925
8926 2015-05-28 Julian Brown <julian@codesourcery.com>
8927
8928 PR libgomp/65742
8929
8930 * builtins.c (expand_builtin_acc_on_device): Don't use open-coded
8931 sequence for !ACCEL_COMPILER.
8932
8933 2015-05-28 Nick Clifton <nickc@redhat.com>
8934
8935 * config/rx/rx.c (push_regs): New function. Extracts code from...
8936 (rx_expand_prologue): ... here. Use push_regs to push even small
8937 spans of registers.
8938 (pop_regs): New function.
8939 (rx_expand_epilogue): Use pop_regs to pop even small spans of
8940 registers.
8941
8942 2015-05-28 Richard Biener <rguenther@suse.de>
8943
8944 * tree-vectorizer.h (struct _slp_instance): Remove body_cost_vec
8945 member.
8946 (SLP_INSTANCE_BODY_COST_VEC): Remove.
8947 (vect_update_slp_costs_according_to_vf): Likewise.
8948 (vect_slp_analyze_operations): Update prototype.
8949 * tree-vect-loop.c (vect_analyze_loop_2): Remove call to
8950 vect_update_slp_costs_according_to_vf, adjust.
8951 * tree-vect-slp.c (vect_free_slp_instance): Adjust.
8952 (vect_analyze_slp_cost_1): Likewise.
8953 (vect_analyze_slp_cost): Likewise. Properly deal with
8954 widening reduction ops. Commit body costs.
8955 (vect_analyze_slp_instance): Adjust. Do not analyze SLP
8956 cost for loops from here.
8957 (vect_slp_analyze_operations): But do it from here when
8958 the vectorization factor is known and stmts are analyzed.
8959 (vect_bb_vectorization_profitable_p): Simplify.
8960 (vect_slp_analyze_bb_1): Do not compute SLP cost here.
8961 (vect_update_slp_costs_according_to_vf): Remove.
8962
8963 2015-05-27 Magnus Granberg <zorry@gentoo.org>
8964 H.J. Lu <hongjiu.lu@intel.com>
8965
8966 * Makefile.in (COMPILER): Add @NO_PIE_CFLAGS@.
8967 (BUILD_CFLAGS): Likewise.
8968 (BUILD_CXXFLAGS): Likewise.
8969 (LINKER): Add @NO_PIE_FLAG@.
8970 (BUILD_LDFLAGS): Likewise.
8971 (libgcc.mvars): Set NO_PIE_CFLAGS to -fno-PIE for
8972 --enable-default-pie.
8973 * common.opt (fPIE): Initialize to -1.
8974 (fpie): Likewise.
8975 (no-pie): New option.
8976 (pie): Replace "Negative(shared)" with "Negative(no-pie)".
8977 * configure.ac: Add --enable-default-pie.
8978 (NO_PIE_CFLAGS): New. Check if -fno-PIE works. AC_SUBST.
8979 (NO_PIE_FLAG): New. Check if -no-pie works. AC_SUBST.
8980 * defaults.h (DEFAULT_FLAG_PIE): New. Default PIE to -fPIE.
8981 * gcc.c (NO_PIE_SPEC): New.
8982 (PIE_SPEC): Likewise.
8983 (NO_FPIE1_SPEC): Likewise.
8984 (FPIE1_SPEC): Likewise.
8985 (NO_FPIE2_SPEC): Likewise.
8986 (FPIE2_SPEC): Likewise.
8987 (NO_FPIE2_SPEC): Likewise.
8988 (FPIE_SPEC): Likewise.
8989 (NO_FPIE_SPEC): Likewise.
8990 (NO_FPIC1_SPEC): Likewise.
8991 (FPIC1_SPEC): Likewise.
8992 (NO_FPIC2_SPEC): Likewise.
8993 (FPIC2_SPEC): Likewise.
8994 (NO_FPIC2_SPEC): Likewise.
8995 (FPIC_SPEC): Likewise.
8996 (NO_FPIC_SPEC): Likewise.
8997 (NO_FPIE1_AND_FPIC1_SPEC): Likewise.
8998 (FPIE1_OR_FPIC1_SPEC): Likewise.
8999 (NO_FPIE2_AND_FPIC2_SPEC): Likewise.
9000 (FPIE2_OR_FPIC2_SPEC): Likewise.
9001 (NO_FPIE_AND_FPIC_SPEC): Likewise.
9002 (FPIE_OR_FPIC_SPEC): Likewise.
9003 (LD_PIE_SPEC): Likewise.
9004 (LINK_PIE_SPEC): Handle -no-pie. Use PIE_SPEC and LD_PIE_SPEC.
9005 * opts.c (finish_options): Update opts->x_flag_pie if it is -1.
9006 * config/darwin.h (PIE_SPEC): Renamed to ...
9007 (DARWIN_PIE_SPEC): This.
9008 (LINK_SPEC): Replace PIE_SPEC with DARWIN_PIE_SPEC.
9009 * config/darwin9.h (PIE_SPEC): Renamed to ...
9010 (DARWIN_PIE_SPEC): This.
9011 * config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Use
9012 PIE_SPEC and NO_PIE_SPEC if HAVE_LD_PIE is defined.
9013 * config/openbsd.h (ASM_SPEC): Use FPIE1_OR_FPIC1_SPEC and
9014 FPIE2_OR_FPIC2_SPEC.
9015 * config/m68k/netbsd-elf.h (ASM_SPEC): Likewise.
9016 * config/m68k/openbsd.h (ASM_SPEC): Likewise.
9017 * gcc/config/sol2.h (ASM_PIC_SPEC): Likewise.
9018 * config/arm/freebsd.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
9019 * config/arm/netbsd-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
9020 * config/arm/semi.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
9021 * config/cris/linux.h (CRIS_ASM_SUBTARGET_SPEC): Likewise.
9022 * config/m32r/m32r.h (ASM_SPEC): Likewise.
9023 * config/m68k/uclinux.h (DRIVER_SELF_SPECS): Likewise.
9024 * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
9025 * config/rs6000/sysv4.h (ASM_SPEC): Likewise.
9026 * config/sparc/freebsd.h (ASM_SPEC): Likewise.
9027 * config/sparc/linux.h (ASM_SPEC): Likewise.
9028 * config/sparc/linux64.h (ASM_SPEC): Likewise.
9029 * config/sparc/netbsd-elf.h (ASM_SPEC): Likewise.
9030 * config/sparc/openbsd64.h (ASM_SPEC): Likewise.
9031 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
9032 * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
9033 * config/sparc/sparc.h (ASM_SPEC): Likewise.
9034 * config/sparc/sysv4.h (ASM_SPEC): Likewise.
9035 * config/sparc/vxworks.h (ASM_SPEC): Likewise.
9036 * config/c6x/elf-common.h (ASM_SPEC): Use NO_FPIC2_SPEC,
9037 FPIC2_SPEC, FPIC1_SPEC and FPIC2_SPEC.
9038 * config/c6x/uclinux-elf.h (LINK_SPEC): Use FPIE_SPEC.
9039 * config/frv/frv.h (DRIVER_SELF_SPECS): Use FPIC_SPEC,
9040 NO_FPIC_SPEC and NO_FPIE1_AND_FPIC1_SPEC.
9041 (ASM_SPEC): Use FPIE1_OR_FPIC1_SPEC and FPIE2_OR_FPIC2_SPEC.
9042 * config/m68k/m68k.h (ASM_PCREL_SPEC): Use FPIC_SPEC and NO_FPIC_SPEC.
9043 * config/mips/gnu-user.h (NO_SHARED_SPECS): Use NO_FPIE_AND_FPIC_SPEC.
9044 * config/mips/vxworks.h (SUBTARGET_ASM_SPEC): Use FPIC_SPEC.
9045 * config/rs6000/freebsd64.h (ASM_SPEC32): Likewise.
9046 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
9047 * config/vax/linux.h (ASM_SPEC): Likewise.
9048 * doc/install.texi: Document --enable-default-pie.
9049 * doc/invoke.texi: Document -no-pie.
9050 * config.in: Regenerated.
9051 * configure: Likewise.
9052
9053 2015-05-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
9054
9055 PR rtl-optimization/66168
9056 * loop-invariant.c (move_invariant_reg): Pass dest rather than reg to
9057 can_move_invariant_reg.
9058
9059 2015-05-27 John David Anglin <danglin@gcc.gnu.org>
9060
9061 PR target/66148
9062 * config/pa/pa.c (pa_emit_move_sequence): Correct placement of
9063 REG_EQUAL note when doing insert.
9064
9065 * config/pa/pa.c (pa_print_operand): Use HOST_WIDE_INT_PRINT_DEC
9066 instead of "%d" for 'o' operand.
9067
9068 2015-05-27 Nathan Sidwell <nathan@acm.org>
9069
9070 PR c++/66270
9071 * tree.c (build_pointer_type_for_mode): Canonical type does not
9072 inherit can_alias_all.
9073 (build_reference_type_for_mode): Likewise.
9074
9075 2015-05-27 Eric Botcazou <ebotcazou@adacore.com>
9076
9077 * expr.h (array_at_struct_end_p): Move to...
9078 (array_ref_element_size): Likewise.
9079 (component_ref_field_offset): Likewise.
9080 * tree.h (array_ref_element_size): ...here.
9081 (array_at_struct_end_p): Likewise.
9082 (component_ref_field_offset): Likewise.
9083 * expr.c (array_ref_element_size): Move to...
9084 (array_ref_low_bound): Likewise.
9085 (array_at_struct_end_p): Likewise.
9086 (array_ref_up_bound): Likewise.
9087 (component_ref_field_offset): Likewise.
9088 * tree.c (array_ref_element_size): ...here.
9089 (array_ref_low_bound): Likewise.
9090 (array_ref_up_bound): Likewise.
9091 (array_at_struct_end_p): Likewise.
9092 (component_ref_field_offset): Likewise.
9093
9094 2015-05-27 Gregor Richards <gregor.richards@uwaterloo.ca>
9095 Szabolcs Nagy <szabolcs.nagy@arm.com>
9096
9097 * config/aarch64/aarch64-linux.h (MUSL_DYNAMIC_LINKER): Define.
9098
9099 2015-05-27 Jason Merrill <jason@redhat.com>
9100
9101 PR bootstrap/66304
9102 * configure.ac: Use ACX_PROG_CXX_WARNING_OPTS,
9103 ACX_PROG_CXX_WARNING_ALMOST_PEDANTIC, and
9104 ACX_PROG_CXX_WARNINGS_ARE_ERRORS.
9105
9106 2015-05-22 Aditya Kumar <hiraditya@msn.com>
9107
9108 * auto-profile.c (afdo_calculate_branch_prob): Break once has_sample
9109 is true.
9110
9111 * statistics.c (statistics_fini_pass): Print pass name.
9112
9113 2015-05-27 Richard Biener <rguenther@suse.de>
9114
9115 PR tree-optimization/66272
9116 Revert parts of
9117 2014-08-15 Richard Biener <rguenther@suse.de>
9118
9119 PR tree-optimization/62031
9120 * tree-data-ref.c (dr_analyze_indices): Do not set
9121 DR_UNCONSTRAINED_BASE.
9122 (dr_may_alias_p): All indirect accesses have to go the
9123 formerly DR_UNCONSTRAINED_BASE path.
9124 * tree-data-ref.h (struct indices): Remove
9125 unconstrained_base member.
9126 (DR_UNCONSTRAINED_BASE): Remove.
9127
9128 2015-05-27 Aldy Hernandez <aldyh@redhat.com>
9129
9130 * dwarf2out.c: Remove block_map.
9131 (gen_call_site_die): Replace block_map use with BLOCK_DIE.
9132 (gen_lexical_block_die): Same.
9133 (dwarf2out_function_decl): Remove block_map use.
9134 (dwarf2out_c_finalize): Same.
9135 * tree-core.h (struct tree_block): Add die field.
9136 * tree.h (BLOCK_DIE): New.
9137
9138 2015-05-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9139
9140 PR target/65358
9141 * expr.c (memory_load_overlap): New function.
9142 (emit_push_insn): When pushing partial args to the stack would
9143 clobber the register part load the overlapping part into a pseudo
9144 and put it into the hard reg after pushing. Change return type
9145 to bool. Add bool argument.
9146 * expr.h (emit_push_insn): Change return type to bool.
9147 Add bool argument.
9148 * calls.c (expand_call): Cancel sibcall optimization when encountering
9149 partial argument on targets with ARGS_GROW_DOWNWARD and
9150 !STACK_GROWS_DOWNWARD.
9151 (emit_library_call_value_1): Update callsite of emit_push_insn.
9152 (store_one_arg): Likewise.
9153
9154 2015-05-27 Gregor Richards <gregor.richards@uwaterloo.ca>
9155
9156 * config/arm/linux-eabi.h (MUSL_DYNAMIC_LINKER): Define.
9157
9158 2015-05-27 Martin Liska <mliska@suse.cz>
9159
9160 * Makefile.in: Add additional dependencies related to memory report
9161 enhancement.
9162 * alloc-pool.c (allocate_pool_descriptor): Use new ctor.
9163 * bitmap.c (struct bitmap_descriptor_d): Remove.
9164 (struct loc): Likewise.
9165 (struct bitmap_desc_hasher): Likewise.
9166 (bitmap_desc_hasher::hash): Likewise.
9167 (bitmap_desc_hasher::equal): Likewise.
9168 (get_bitmap_descriptor): Likewise.
9169 (bitmap_register): User new memory descriptor API.
9170 (register_overhead): Likewise.
9171 (bitmap_find_bit): Register nsearches and search_iter statistics.
9172 (struct bitmap_output_info): Remove.
9173 (print_statistics): Likewise.
9174 (dump_bitmap_statistics): Use new memory descriptor.
9175 * bitmap.h (struct bitmap_usage): New class.
9176 * genmatch.c: Extend header file inclusion.
9177 * genpreds.c: Likewise.
9178 * ggc-common.c (struct ggc_usage): New class.
9179 (struct ggc_loc_desc_hasher): Remove.
9180 (ggc_loc_desc_hasher::hash): Likewise.
9181 (ggc_loc_desc_hasher::equal): Likewise.
9182 (struct ggc_ptr_hash_entry): Likewise.
9183 (struct ptr_hash_hasher): Likewise.
9184 (ptr_hash_hasher::hash): Likewise.
9185 (ptr_hash_hasher::equal): Likewise.
9186 (make_loc_descriptor): Likewise.
9187 (ggc_prune_ptr): Likewise.
9188 (dump_ggc_loc_statistics): Use new memory descriptor.
9189 (ggc_record_overhead): Likewise.
9190 (ggc_free_overhead): Likewise.
9191 (final_cmp_statistic): Remove.
9192 (cmp_statistic): Likewise.
9193 (ggc_add_statistics): Liekwise.
9194 (ggc_prune_overhead_list): Likewise.
9195 * hash-map-traits.h: New file.
9196 * hash-map.h (struct default_hashmap_traits): Move the traits to a
9197 separate header file.
9198 * hash-set.h: Pass memory statistics info to ctor.
9199 * hash-table.c (void dump_hash_table_loc_statistics): New function.
9200 * hash-table.h (hash_table::hash_table): Add new ctor arguments.
9201 (hash_table::~hash_table): Register memory release operation.
9202 (hash_table::alloc_entries): Handle memory allocation operation.
9203 (hash_table::expand): Likewise.
9204 * inchash.c (iterative_hash_hashval_t): Move implementation to header
9205 file.
9206 (iterative_hash_host_wide_int): Likewise.
9207 * inchash.h (class hash): Likewise.
9208 * mem-stats-traits.h: New file.
9209 * mem-stats.h: New file.
9210 (mem_location): Add new class.
9211 (mem_usage): Likewise.
9212 (mem_alloc_description): Likewise.
9213 * sese.c: Add new header file inclusision.
9214 * toplev.c (dump_memory_report): Add report for hash_table, hash_map
9215 and hash_set.
9216 * tree-sra.c: Add new header file inclusision.
9217 * vec.c (struct vec_descriptor): Remove.
9218 (hash_descriptor): Likewise.
9219 (struct vec_usage): Likewise.
9220 (struct ptr_hash_entry): Likewise.
9221 (hash_ptr): Likewise.
9222 (eq_ptr): Likewise.
9223 (vec_prefix::register_overhead): Use new memory descriptor API.
9224 (vec_prefix::release_overhead): Likewise.
9225 (add_statistics): Remove.
9226 (dump_vec_loc_statistics): Use new memory descriptor API.
9227 * vec.h (struct vec_prefix): Likewise.
9228 (va_heap::reserve): Likewise.
9229 (va_heap::release): Likewise.
9230 * emit-rtl.c (gen_raw_REG): Fix passing MEM_STAT.
9231
9232 2015-05-27 Richard Biener <rguenther@suse.de>
9233
9234 * tree-vect-stmts.c (vectorizable_load): Initialize slp_perm
9235 earlier and remove ??? comment.
9236 (vect_analyze_stmt): If we are analyzing a pure SLP stmt
9237 and got called from loop analysis bail out. Always pass the SLP
9238 node to the vectorizable_* functions.
9239 * tree-vect-loop.c (vect_analyze_loop_operations): Remove
9240 the premature SLP check here.
9241 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Dump hybrid
9242 detected SLP stmts.
9243 (vect_detect_hybrid_slp_1): Likewise.
9244
9245 2015-05-26 Jeff Law <law@redhat.com>
9246
9247 * combine.c (find_split_point): Verify that the shift count is a
9248 constant when choosing (plus (ashift ...)) as a split point.
9249
9250 * tree-ssa-threadupdate.c: Replace 8 space sequences with tabs.
9251 No functional changes.
9252
9253 2015-05-26 Jan Hubicka <hubicka@ucw.cz>
9254
9255 * ipa-polymorphic-call.c
9256 (ipa_polymorphic_call_context::get_dynamic_type): Short circuit the
9257 case when call target is already known.
9258
9259 2015-05-26 Oleg Endo <olegendo@gcc.gnu.org>
9260
9261 PR target/65979
9262 * config/sh/sh.md (tstsi_t peephole2): Use gen_rtx_SET and
9263 take into account the case that operands[1] and operands[2]
9264 are the same register.
9265
9266 2015-05-26 Michael Matz <matz@suse.de>
9267
9268 PR middle-end/66251
9269
9270 * tree-vect-stmts.c (vect_model_store_cost): Handled strided group
9271 stores.
9272 (vect_create_vectorized_demotion_stmts): Always set
9273 STMT_VINFO_VEC_STMT, also with SLP.
9274 (vectorizable_store): Handle strided group stores.
9275
9276 2015-05-26 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
9277
9278 PR target/66049
9279 * config/aarch64/aarch64.md
9280 (*adds_shift_imm_<mode>): New pattern.
9281 (*subs_shift_imm_<mode>): Likewise.
9282 (*adds_<optab><ALLX:mode>_shift_<GPI:mode>): Likewise.
9283 (*subs_<optab><ALLX:mode>_shift_<GPI:mode>): Likewise.
9284 (*add_uxt<mode>_shift2): Likewise.
9285 (*add_uxtsi_shift2_uxtw): Likewise.
9286 (*sub_uxt<mode>_shift2): Likewise.
9287 (*sub_uxtsi_shift2_uxtw): Likewise.
9288
9289 2015-05-26 David Edelsohn <dje.gcc@gmail.com>
9290
9291 * config/rs6000/constraints.md (Y, U): Use match_test.
9292
9293 2015-05-26 Christian Bruel <christian.bruel@st.com>
9294
9295 PR target/52144
9296 * config/arm/arm.c (arm_option_check_internal)
9297 (arm_option_params_internal): Check opts->target_flags to set macros.
9298 (TREE_TARGET_ARM, TREE_TARGET_THUMB)
9299 (TREE_TARGET_THUMB1, TREE_TARGET_THUMB2) Replace with...
9300 (TARGET_ARM_P, TARGET_THUMB_P, TARGET_THUMB1_P, TARGET_THUMB2_P)
9301 (builtin_define): Replaced with def_or_undef_macro.
9302 * config/arm/arm.h (TREE_TARGET_ARM, TREE_TARGET_THUMB)
9303 TREE_TARGET_THUMB1, TREE_TARGET_THUMB2) Redefine with...
9304 (TARGET_ARM_P, TARGET_THUMB_P, TARGET_THUMB1_P, TARGET_THUMB2_P)
9305 (TARGET_32BIT_P, TARGET_ARM_QBIT_P, TARGET_ARM_SAT_P, TARGET_IDIV_P)
9306 (TARGET_HAVE_LDREX_P, TARGET_HAVE_LDREXBH_P, TARGET_HAVE_LDREXD_P)
9307 (TARGET_ARM_FEATURE_LDREX_P)
9308 (TARGET_DSP_MULTIPLY_P, TARGET_INT_SIMD_P): New macros.
9309 * config/arm/arm-c.c (def_or_undef_macro): New function.
9310 (arm_cpu_cpp_builtins): Use def_or_undef_macro for macros definition.
9311
9312 2015-05-26 Christian Bruel <christian.bruel@st.com>
9313
9314 * c-common.h (builtin_define_with_int_value)
9315 (builtin_define_type_sizeof): Declare.
9316 * c-cppbuiltin.c (builtin_define_with_int_value)
9317 (builtin_define_type_sizeof): Externalize.
9318 (builtin_define_std): Cleanup declaration.
9319 * config/arm/arm-protos.h (arm_cpu_cpp_builtins): Declare.
9320 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Move macro defines into...
9321 * config/arm/arm-c.c (arm_cpu_cpp_builtins): New function.
9322 (builtin_define, builtin_assert): New macros.
9323
9324 2015-05-26 Richard Biener <rguenther@suse.de>
9325
9326 PR tree-optimization/66142
9327 * tree-ssa-sccvn.c (vn_reference_lookup_3): Manually compare
9328 MEM_REFs for the same base address.
9329
9330 2015-05-26 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
9331
9332 PR ipa/66181
9333 * tree.c (verify_type_variant): Do not check TYPE_NO_FORCE_BLK.
9334
9335 2015-05-26 Jason Merrill <jason@redhat.com>
9336
9337 * configure.ac: Set CXXFLAGS for ISL test.
9338 * configure: Regenerate.
9339
9340 * configure.ac: Use C++ for all tests. Use AC_CHECK_DECLS for
9341 strstr and basename.
9342 * configure: Regenerate.
9343
9344 2015-05-26 Richard Biener <rguenther@suse.de>
9345
9346 * fold-const.c (fold_binary_loc): Move X % -Y -> X % Y and
9347 X % C -> X & (C - 1) for C being a power-of two to ...
9348 * match.pd: ... patterns.
9349
9350 2015-05-26 Marc Glisse <marc.glisse@inria.fr>
9351
9352 * match.pd (swapped_tcc_comparison): New operator list.
9353 (-A CMP -B): New simplification.
9354 * fold-const.c (fold_comparison): Remove corresponding code.
9355
9356 2015-05-26 Richard Sandiford <richard.sandiford@arm.com>
9357
9358 * caller-save.c (init_caller_save): Base temporary register numbers
9359 on LAST_VIRTUAL_REGISTER + 1 rather than FIRST_PSEUDO_REGISTER.
9360 * cfgloopanal.c (init_set_costs): Likewise.
9361 * dojump.c (prefer_and_bit_test): Likewise.
9362 * expr.c (init_expr_target): Likewise.
9363 * ira.c (setup_prohibited_mode_move_regs): Likewise.
9364 * lower-subreg.c (init_lower_subreg): Likewise.
9365 * postreload.c (reload_cse_regs_1): Likewise.
9366
9367 2015-05-26 Richard Sandiford <richard.sandiford@arm.com>
9368
9369 * gensupport.h (compute_test_codes): Declare.
9370 * gensupport.c (compute_predicate_codes): Rename to...
9371 (compute_test_codes): ...this. Generalize error message.
9372 (process_define_predicate): Update accordingly.
9373 * genpreds.c (compute_maybe_allows): Delete.
9374 (add_constraint): Use compute_test_codes to determine whether
9375 something can accept a SUBREG, REG or MEM.
9376
9377 2015-05-26 Torvald Riegel <triegel@redhat.com>
9378
9379 * doc/extend.texi (__atomic Builtins): Use 'memory order' instead of
9380 'memory model' to align with C++11; fix description of memory orders;
9381 fix a few typos.
9382
9383 2015-05-26 Richard Biener <rguenther@suse.de>
9384
9385 * tree-vect-loop.c (vect_update_vf_for_slp): Split out from ...
9386 (vect_analyze_loop_operations): ... here. Remove slp parameter,
9387 detect whether we apply SLP. Remove call to
9388 vect_update_slp_costs_according_to_vf.
9389 (vect_analyze_loop_2): Call vect_update_vf_for_slp and
9390 vect_update_slp_costs_according_to_vf from here. Dispatch
9391 to vect_slp_analyze_operations to analyze SLP stmts.
9392 * tree-vect-slp.c (vect_slp_analyze_node_operations): Drop
9393 unused bb_vec_info parameter, adjust assert.
9394 (vect_slp_analyze_operations): Pass in the slp instance tree
9395 instead of bb_vec_info.
9396 (vect_slp_analyze_bb_1): Adjust call to vect_slp_analyze_operations.
9397 * tree-vectorizer.h (vect_slp_analyze_operations): Declare.
9398
9399 2015-05-25 Alexander Monakov <amonakov@ispras.ru>
9400
9401 * config/i386/i386.h (enum reg_class): Move CLOBBERED_REGS prior to
9402 Q_REGS. Expand comment.
9403 (REG_CLASS_NAMES): Ditto.
9404 (REG_CLASS_CONTENTS): Ditto.
9405
9406 2015-05-25 Uros Bizjak <ubizjak@gmail.com>
9407
9408 PR target/66274
9409 * config/i386/i386.c (print_reg): Only print "r" for TARGET_64BIT
9410 when LEGACY_INT_REGNO_P is processed.
9411
9412 2015-05-25 Alexander Monakov <amonakov@ispras.ru>
9413
9414 * config/i386/i386.c (ix86_function_ok_for_sibcall): Check flag_plt.
9415
9416 2015-05-25 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
9417
9418 * config/avr/avr.c (avr_out_load_psi_reg_no_disp_tiny): Restore base
9419 register if not marked dead/unused, before return.
9420
9421 2015-05-24 Jan Hubicka <hubicka@ucw.cz>
9422
9423 PR lto/66180
9424 * ipa-devirt.c (type_with_linkage): Check that TYPE_STUB_DECL
9425 is set; check for assembler name at LTO time.
9426 (type_in_anonymous_namespace): Remove hacks, check that all
9427 anonymous types are called "<anon>"
9428 (odr_type_p): Simplify; add check for "<anon>"
9429 (odr_subtypes_equivalent): Add odr_type_p check.
9430 * tree.c (need_assembler_name_p): Even anonymous namespace needs
9431 assembler name.
9432
9433 2015-05-24 Jan Hubicka <hubicka@ucw.cz>
9434
9435 * ipa-utils.h (method_class_type): Remove.
9436 * cgraphunit.c (walk_polymorphic_call_targets): Use
9437 TYPE_METHOD_BASETYPE.
9438 * ipa-devirt.c (type_in_anonymous_namespace_p): Check that it is called
9439 on main variants only.
9440 (method_class_type): Remove.
9441 (update_type_inheritance_graph): Use TYPE_METHOD_BASETYPE.
9442 (build_type_inheritance_graph): Likewise.
9443 * ipa-icf.c (sem_function::equals_wpa): Likewise.
9444 * pa-polymorphic-call.c (decl_maybe_in_construction_p,
9445 check_stmt_for_type_change): Use TYPE_METHOD_BASETYPE.
9446
9447 2015-05-24 Jan Hubicka <hubicka@ucw.cz>
9448
9449 * tree.c (prototype_p, virtual_method_call_p, obj_type_ref_class,
9450 is_typedef_decl, typedef_variant_p): Constify.
9451 * tree.h (prototype_p, virtual_method_call_p, obj_type_ref_class,
9452 is_typedef_decl, typedef_variant_p): Constify.
9453
9454 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9455
9456 * defaults.h (gen_tablejump): New function.
9457 (HAVE_tablejump): Add default value.
9458 * expr.c: Adjust.
9459 * stmt.c: Likewise.
9460
9461 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9462
9463 * defaults.h (gen_store_multiple): New function.
9464 (HAVE_store_multiple): Add default value.
9465 * expr.c (move_block_from_reg): Adjust.
9466
9467 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9468
9469 * defaults.h (gen_load_multiple): New function.
9470 (HAVE_load_multiple): Add default value.
9471 * expr.c (move_block_to_reg): Adjust.
9472
9473 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9474
9475 * defaults.h (gen_mem_signal_fence): New function.
9476 (HAVE_mem_signal_fence): Add default value.
9477 * optabs.c: Adjust.
9478
9479 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9480
9481 * defaults.h (gen_memory_barrier): New function.
9482 (HAVE_memory_barrier): Add default value.
9483 * optabs.c: Adjust.
9484
9485 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9486
9487 * defaults.h (gen_mem_thread_fence): New function.
9488 (HAVE_mem_thread_fence): Add default definition.
9489 * optabs.c: Adjust.
9490
9491 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9492
9493 * combine.c (find_split_point): Check the value of HAVE_lo_sum
9494 instead of if it is defined.
9495 (combine_simplify_rtx): Likewise.
9496 * lra-constraints.c (process_address_1): Likewise.
9497 * config/darwin.c: Adjust.
9498 * genconfig.c (main): Always define HAVE_lo_sum.
9499
9500 2015-05-23 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
9501
9502 * genmatch.c (parser::parse_operation): Reject expanding
9503 operator-list inside 'for'.
9504
9505 2015-05-23 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
9506
9507 * genmatch.c (parser::parse_for): Reject iterator if used as
9508 operator-list.
9509
9510 2015-05-23 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
9511
9512 * genmatch.c (parser::parse_operator_list): Check for CPP_CLOSE_PAREN
9513 after end of id-list.
9514
9515 2015-05-22 Jan Hubicka <hubicka@ucw.cz>
9516
9517 * tree.c (gimple_canonical_types_compatible_p): Sanity check that
9518 we do not try to compute canonical type for type that does not need
9519 alias set.
9520 (verify_type): Drop FIXME for METHOD_TYPE, update FIXME for
9521 FUNCITON_TYPE.
9522 * tree.h (type_with_alias_set_p): New.
9523
9524 2015-05-22 Jan Hubicka <hubicka@ucw.cz>
9525
9526 * tree.c (gimple_canonical_types_compatible_p): Do not compare
9527 function attributes.
9528 (verify_type): Remove METHOD_TYPE FIXME; update FUNCTION_TYPE.
9529
9530 2015-05-22 Jim Wilson <jim.wilson@linaro.org>
9531
9532 * Makefile.in (check_gcc_parallelize): Delete.
9533 (lang_checks_parallelized): Update comment.
9534
9535 2015-05-22 Mikhail Maltsev <maltsevm@gmail.com>
9536
9537 PR rtl-optimization/66237
9538 * bb-reorder.c (fix_crossing_conditional_branches): Fix wrong
9539 location of an "as_a" cast.
9540
9541 2015-05-22 Jeff Law <law@redhat.com>
9542
9543 * config/pa/pa.md (non-canonical shift-add insns): Remove.
9544 (peepholes with non-canonical RTL sources): Remove.
9545 (peepholes for indexed stores of FP regs in integer modes): Match and
9546 generate canonical RTL.
9547
9548 2015-05-22 Marc Glisse <marc.glisse@inria.fr>
9549
9550 PR tree-optimization/63387
9551 * match.pd ((X /[ex] A) * A -> X): Remove unnecessary condition.
9552 ((x ord x) & (y ord y) -> (x ord y),
9553 (x ord x) & (x ord y) -> (x ord y)): New simplifications.
9554 * fold-const.c (tree_unary_nonnegative_warnv_p) <ABS_EXPR>: Handle
9555 vectors like scalars.
9556
9557 2015-05-22 Marc Glisse <marc.glisse@inria.fr>
9558
9559 * convert.c (convert_to_integer, convert_to_vector): Include the
9560 types in the error message.
9561
9562 2015-05-22 Marc Glisse <marc.glisse@inria.fr>
9563
9564 * match.pd ((x | y) & ~x -> y & ~x, (x & y) | ~x -> y | ~x): New
9565 simplifications.
9566
9567 2015-05-22 Jeff Law <law@redhat.com>
9568
9569 * config/pa/pa.md (integer_indexed_store splitters): Use
9570 mem_shadd_operand. Use ASHIFT rather than MULT in the resulting
9571 insns -- adjusting the constant 2nd operand accordingly.
9572
9573 * combine.c (try_combine): Canonicalize (plus (mult X pow2) Y) into
9574 (plus (ashift X log2) Y) if it is a split point.
9575
9576 * config/pa/pa.c (mem_shadd_or_shadd_rtx_p): New function factoredx
9577 out of hppa_legitimize_address to handle both forms of a multiply
9578 by 2, 4 or 8.
9579 (hppa_legitimize_address): Use mem_shadd_or_shadd_rtx_p.
9580 Always generate the ASHIFT variant as the result is not directly
9581 used in a MEM. Update comments and refactor slightly to improve
9582 readability.
9583
9584 2015-05-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9585
9586 PR target/65491
9587 * config/aarch64/aarch64.c (aarch64_short_vector_p): Move above
9588 aarch64_composite_type_p. Remove check for aarch64_composite_type_p.
9589 (aarch64_composite_type_p): Return false if given type and mode are
9590 for a short vector.
9591
9592 2015-05-22 Richard Biener <rguenther@suse.de>
9593
9594 * tree-vectorizer.h (struct _slp_oprnd_info): Add second_pattern
9595 member.
9596 * tree-vect-loop.c (vect_analyze_loop_operations): Look at
9597 patterns when determining whether SLP is pure.
9598 (vect_is_slp_reduction): Remove check for pattern stmts.
9599 (vect_is_simple_reduction_1): Remove dead code.
9600 * tree-vect-slp.c (vect_create_oprnd_info): Initialize second_pattern.
9601 (vect_get_and_check_slp_defs): Pass in the stmt number.
9602 Allow the first def in a reduction to be not a pattern stmt when
9603 the rest of the stmts def are patterns.
9604 (vect_build_slp_tree_1): Allow tcc_expression codes like
9605 SAD_EXPR and DOT_PROD_EXPR.
9606 (vect_build_slp_tree): Adjust.
9607 (vect_analyze_slp): Refactor and move BB vect error message ...
9608 (vect_slp_analyze_bb_1): ... here.
9609
9610 2015-05-22 Aldy Hernandez <aldyh@redhat.com>
9611
9612 * tree-switch-conversion.c (build_one_array): Set DECL_IGNORED_P
9613 for CSWTCH temporary.
9614
9615 2015-05-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9616
9617 * config/arm/arm.c (arm_new_rtx_costs): Handle UNSPEC_VOLATILE.
9618 (arm_unspec_cost): Allow UNSPEC_VOLATILE. Do not recurse inside
9619 unknown unspecs.
9620
9621 2015-05-22 Richard Biener <rguenther@suse.de>
9622
9623 PR tree-optimization/66251
9624 * tree-vect-stmts.c (vectorizable_conversion): Properly
9625 set STMT_VINFO_VEC_STMT even for the SLP case.
9626
9627 2015-05-22 Marek Polacek <polacek@redhat.com>
9628
9629 * doc/extend.texi: Use @pxref instead of @xref.
9630
9631 2015-05-22 hiraditya <hiraditya@msn.com>
9632
9633 * gimple.h (gimple_expr_type): Refactor to make it concise. Remove
9634 redundant if.
9635
9636 2015-05-22 Richard Biener <rguenther@suse.de>
9637
9638 PR tree-optimization/65701
9639 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
9640 Move peeling cost models into one place. Peel for alignment
9641 for single loads only if an aligned load is cheaper than
9642 an unaligned load.
9643
9644 2015-05-22 Marek Polacek <polacek@redhat.com>
9645
9646 PR c/47043
9647 * doc/extend.texi (Enumerator Attributes): New section.
9648 Document syntax of enumerator attributes.
9649
9650 2015-05-22 Richard Biener <rguenther@suse.de>
9651
9652 * tree-vect-loop.c (get_reduction_op): New function.
9653 (vect_model_reduction_cost): Use it, add reduc_index parameter.
9654 Make ready for BB reductions.
9655 (vect_create_epilog_for_reduction): Use get_reduction_op.
9656 (vectorizable_reduction): Init reduc_index to a valid value.
9657 Adjust vect_model_reduction_cost call.
9658 * tree-vect-slp.c (vect_get_constant_vectors): Use the proper
9659 operand for reduction defaults. Add SAD_EXPR support.
9660 Assert we have a neutral op for SLP reductions.
9661 * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): When
9662 walking pattern stmt ops only recurse to SSA names.
9663
9664 2015-05-22 Richard Biener <rguenther@suse.de>
9665
9666 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Replace
9667 assert with guard, remove check on detected reduction.
9668 (vect_recog_sad_pattern): Likewise.
9669 (vect_recog_widen_sum_pattern): Likewise.
9670
9671 2015-05-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9672
9673 * config/aarch64/arm_neon.h (vaeseq_u8): Add __extension__ and
9674 __always_inline__ attribute.
9675 (vaesdq_u8): Likewise.
9676 (vaesmcq_u8): Likewise.
9677 (vaesimcq_u8): Likewise.
9678 (vsha1cq_u32): Likewise.
9679 (vsha1mq_u32): Likewise.
9680 (vsha1pq_u32): Likewise.
9681 (vsha1h_u32): Likewise.
9682 (vsha1su0q_u32): Likewise.
9683 (vsha1su1q_u32): Likewise.
9684 (vsha256hq_u32): Likewise.
9685 (vsha256h2q_u32): Likewise.
9686 (vsha256su0q_u32): Likewise.
9687 (vsha256su1q_u32): Likewise.
9688 (vmull_p64): Likewise.
9689 (vmull_high_p64): Likewise.
9690
9691 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9692
9693 * final.c (final_scan_insn): Don't check HAVE_peephole with the
9694 preprocessor.
9695 * output.h: Likewise.
9696 * genconfig.c (main): Alwways define HAVE_peephole.
9697 * genpeep.c: Don't emit checks of HAVE_peephole.
9698
9699 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9700
9701 * combine.c, expmed.c, expr.c, optabs.c optabs.h, toplev.c: DOn't
9702 check HAVE_conditional_move with the preprocessor.
9703
9704 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9705
9706 * genconfig.c (main): Always define HAVE_conditional_move.
9707 * combine.c, expmed.c, expr.c, ifcvt.c, optabs.c, optabs.h,
9708 toplev.c, tree-ssa-phiopt.c: Don't check if HAVE_conditional_move
9709 is defined.
9710
9711 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9712
9713 * combine.c, df-problems.c, df-scan.c, emit-rtl.c, reginfo.c,
9714 reload.c, rtlanal.c: Remove comparison of ARG_FRAME_POINTER_REGNUM
9715 and FRAME_POINTER_REGNUM with the preprocessor.
9716
9717 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9718
9719 * defaults.h: Add default for STACK_PUSH_CODE.
9720 * expr.c: Don't redefine STACK_PUSH_CODE.
9721 * recog.c: Likewise.
9722
9723 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9724
9725 * builtins.c, dwarf2cfi.c, explow.c, expr.c, recog.c,
9726 sched-deps.c: Use if instead of preprocessor checks with
9727 STACK_GROWS_DOWNWARD.
9728
9729 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9730
9731 * *.c: Check the value of STACK_GROWS_DOWNWARD rather than if it
9732 is defined.
9733 * config/**/*.h: Define STACK_GROWS_DOWNWARD to an integer.
9734 * defaults.h: Provide default for STACK_GROWS_DOWNWARD.
9735 * doc/tm.texi.in: Update references to STACK_GROWS_DOWNWARD.
9736 * doc/tm.texi: Regenerate.
9737
9738 2015-05-21 H.J. Lu <hongjiu.lu@intel.com>
9739
9740 PR target/66232
9741 * config/i386/constraints.md (Bg): New constraint for GOT memory
9742 operand.
9743 * config/i386/i386.md (*call_got_x32): New pattern.
9744 (*call_value_got_x32): Likewise.
9745 * config/i386/predicates.md (GOT_memory_operand): New predicate.
9746
9747 2015-05-21 Jakub Jelinek <jakub@redhat.com>
9748
9749 PR tree-optimization/66233
9750 * match.pd (ocvt (icvt@1 @0)): Don't handle vector types.
9751 Simplify.
9752
9753 2015-05-21 Jeff Law <law@redhat.com>
9754
9755 * config/pa/pa.md (add-with-constant splitter): Use ASHIFT rather
9756 than MULT for shadd sequences.
9757
9758 2015-05-08 Jan Hubicka <hubicka@ucw.cz>
9759
9760 * alias.c (alias_stats): New static var.
9761 (alias_sets_conflict_p, alias_sets_must_conflict_p): Update stats.
9762 (dump_alias_stats_in_alias_c): New function.
9763 * alias.h (dump_alias_stats_in_alias_c): Declare.
9764 * tree-ssa-alias.c (dump_alias_stats): Call it.
9765
9766 2015-05-08 Michael Matz <matz@suse.de>
9767
9768 * tree-vectorizer.h (struct _stmt_vec_info): Rename stride_load_p
9769 to strided_p.
9770 (STMT_VINFO_STRIDE_LOAD_P): Rename to ...
9771 (STMT_VINFO_STRIDED_P): ... this.
9772 * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Adjust.
9773 (vect_verify_datarefs_alignment): Likewise.
9774 (vect_enhance_data_refs_alignment): Likewise.
9775 (vect_analyze_data_ref_access): Likewise.
9776 (vect_analyze_data_refs): Accept strided stores.
9777 * tree-vect-stmts.c (vect_model_store_cost): Count strided stores.
9778 (vect_model_load_cost): Adjust for macro rename.
9779 (vectorizable_mask_load_store): Likewise.
9780 (vectorizable_load): Likewise.
9781 (vectorizable_store): Open code strided stores.
9782
9783 2015-05-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9784
9785 * doc/sourcebuild.texi (7.2.3.9 Other hardware attributes):
9786 Document sqrt_insn.
9787
9788 2015-05-21 Richard Biener <rguenther@suse.de>
9789
9790 PR c++/66211
9791 * match.pd: Guard pattern optimzing (int)(float)int
9792 conversions to apply only on GIMPLE.
9793
9794 2015-05-21 Jeff Law <law@redhat.com>
9795
9796 * combine.c (find_split_point): Handle ASHIFT like MULT to encourage
9797 multiply-accumulate/shift-add insn generation.
9798
9799 2015-05-21 Oleg Endo <olegendo@gcc.gnu.org>
9800
9801 PR target/54236
9802 * config/sh/sh.md (*round_int_even): Reject pattern if operands[0] and
9803 operands[1] are the same.
9804
9805 2015-05-21 Ilya Enkovich <enkovich.gnu@gmail.com>
9806
9807 PR middle-end/66221
9808 * ipa-chkp.c (chkp_copy_function_type_adding_bounds): Use
9809 build_distinct_type_copy to copy bounds.
9810
9811 2015-05-21 Thomas Schwinge <thomas@codesourcery.com>
9812
9813 * genrecog.c (MAX_DEPTH, MIN_NUM_STATEMENTS, MAX_NUM_STATEMENTS):
9814 Change to unsigned int.
9815
9816 2015-05-20 Jeff Law <law@redhat.com>
9817
9818 * config/pa/pa.c (pa_print_operand): New 'o' output modifier.
9819 (pa_mem_shadd_constant_p): Renamed from pa_shadd_constant_p.
9820 (pa_shadd_constant_p): Allow constants for shadd insns rather
9821 than valid scaling constants for memory addresses.
9822 * config/pa/pa-protos.h (pa_mem_shadd_constant_p): Add prototype.
9823 * config/pa/predicates.md (mem_shadd_operand): New predicate.
9824 * config/pa/pa.md (shift-add insns using MULT): Use mem_shadd_operand.
9825 (shift-add insns using ASHIFT): New patterns.
9826
9827 2015-05-20 Mikhail Maltsev <maltsevm@gmail.com>
9828
9829 * bb-reorder.c (set_edge_can_fallthru_flag): Use rtx_jump_insn where
9830 feasible.
9831 (fix_up_fall_thru_edges): Likewise.
9832 (fix_crossing_conditional_branches): Likewise. Promote jump targets
9833 from to rtx_insn to rtx_code_label where feasible.
9834 * bt-load.c (move_btr_def): Remove as-a cast of the value returned by
9835 gen_move_insn (returned type changed to rtx_insn).
9836 * builtins.c (expand_errno_check): Fix arguments of
9837 do_compare_rtx_and_jump (now expects rtx_code_label).
9838 (expand_builtin_acc_on_device): Likewise.
9839 * cfgcleanup.c (try_simplify_condjump): Add cast when calling
9840 invert_jump (now exprects rtx_jump_insn).
9841 * cfgexpand.c (label_rtx_for_bb): Promote return type to rtx_code_label.
9842 (construct_init_block): Use rtx_code_label.
9843 * cfgrtl.c (block_label): Promote return type to rtx_code_label.
9844 (try_redirect_by_replacing_jump): Use cast to rtx_jump_insn when
9845 calling redirect_jump.
9846 (patch_jump_insn): Likewise.
9847 (redirect_branch_edge): Likewise.
9848 (force_nonfallthru_and_redirect): Likewise.
9849 (fixup_reorder_chain): Explicitly use rtx_jump_insn instead of rtx_insn
9850 when suitable.
9851 (rtl_lv_add_condition_to_bb): Update call of do_compare_rtx_and_jump.
9852 * cfgrtl.h: Promote return type of block_label to rtx_code_label.
9853 * config/bfin/bfin.c (hwloop_optimize): Fix call of emit_label_before.
9854 * config/i386/i386.c (ix86_emit_cmove): Explicitly use rtx_code_label
9855 to store the value retured by gen_label_rtx.
9856 * config/mips/mips.c (mips16_split_long_branches): Promote rtx_insn to
9857 rtx_jump_insn.
9858 * config/sh/sh.c (gen_far_branch): Likewise. Fix call of invert_jump.
9859 (split_branches): Fix calls of redirect_jump.
9860 * dojump.c (jumpifnot): Promote argument type from rtx to
9861 rtx_code_label.
9862 (jumpifnot_1): Likewise.
9863 (jumpif): Likewise.
9864 (jumpif_1): Likewise.
9865 (do_jump_1): Likewise.
9866 (do_jump): Likewise. Use rtx_code_label when feasible.
9867 (do_jump_by_parts_greater_rtx): Likewise.
9868 (do_jump_by_parts_zero_rtx): Likewise.
9869 (do_jump_by_parts_equality_rtx): Likewise.
9870 (do_compare_rtx_and_jump): Likewise.
9871 * dojump.h: Update function prototypes.
9872 * dse.c (emit_inc_dec_insn_before): Remove case (gen_move_insn now
9873 returns rtx_insn).
9874 * emit-rtl.c (emit_jump_insn_before_noloc): Promote return type to
9875 rtx_jump_insn.
9876 (emit_label_before): Likewise.
9877 (emit_jump_insn_after_noloc): Likewise.
9878 (emit_jump_insn_after_setloc): Likewise.
9879 (emit_jump_insn_after): Likewise
9880 (emit_jump_insn_before_setloc): Likewise.
9881 (emit_jump_insn_before): Likewise.
9882 (emit_label_before): Promote return type to rtx_code_label.
9883 (emit_label): Likewise.
9884 * except.c (sjlj_emit_dispatch_table): Use jump_target_rtx.
9885 * explow.c (emit_stack_save): Use gen_move_insn_uncast instead of
9886 gen_move_insn.
9887 (emit_stack_restore): Likewise.
9888 * expmed.c (emit_store_flag_force): Fix calls of do_compare_rtx_and_jump.
9889 (do_cmp_and_jump): Likewise.
9890 * expr.c (expand_expr_real_2): Likewise. Promote some local variables
9891 from rtx to rtx_code_label.
9892 (gen_move_insn_uncast): New function.
9893 * expr.h: Update return type of gen_move_insn (promote to rtx_insn).
9894 * function.c (convert_jumps_to_returns): Fix call of redirect_jump.
9895 * gcse.c (pre_insert_copy_insn): Use rtx_insn instead of rtx.
9896 * ifcvt.c (dead_or_predicable): Use rtx_jump_insn when calling
9897 invert_jump_1 and redirect_jump_1.
9898 * internal-fn.c (expand_arith_overflow_result_store): Fix call of
9899 do_compare_rtx_and_jump.
9900 (expand_addsub_overflow): Likewise.
9901 (expand_neg_overflow): Likewise.
9902 (expand_mul_overflow): Likewise.
9903 * ira.c (split_live_ranges_for_shrink_wrap): Use rtx_insn for
9904 return value of gen_move_insn.
9905 * jump.c (redirect_jump): Promote argument from rtx to rtx_jump_insn.
9906 * loop-doloop.c (add_test): Use rtx_code_label.
9907 (doloop_modify): Likewise.
9908 (doloop_optimize): Likewise.
9909 * loop-unroll.c (compare_and_jump_seq): Promote rtx to rtx_code_label.
9910 * lra-constraints.c (emit_spill_move): Remove cast of value returned
9911 by gen_move_insn.
9912 (inherit_reload_reg): Add cast when calling dump_insn_slim.
9913 (split_reg): Likewise.
9914 * modulo-sched.c (schedule_reg_moves): Remove cast of value returned by
9915 gen_move_insn.
9916 * optabs.c (expand_binop_directly): Remove casts of values returned by
9917 maybe_gen_insn.
9918 (expand_unop_direct): Likewise.
9919 (expand_abs): Likewise.
9920 (maybe_emit_unop_insn): Likewise.
9921 (maybe_gen_insn): Promote return type to rtx_insn.
9922 * optabs.h: Update prototype of maybe_gen_insn.
9923 * postreload-gcse.c (eliminate_partially_redundant_load): Remove
9924 redundant cast.
9925 * recog.c (struct peep2_insn_data): Promote type of insn field to
9926 rtx_insn.
9927 (peep2_reinit_state): Use NULL instead of NULL_RTX.
9928 (peep2_attempt): Remove casts of insn in peep2_insn_data.
9929 (peep2_fill_buffer): Promote argument from rtx to rtx_insn
9930 * recog.h (struct insn_gen_fn): Promote return types of function
9931 pointers and operator ().from rtx to rtx_insn.
9932 * reorg.c (fill_simple_delay_slots): Promote rtx_insn to rtx_jump_insn.
9933 (fill_eager_delay_slots): Likewise.
9934 (relax_delay_slots): Likewise.
9935 (make_return_insns): Likewise.
9936 (dbr_schedule): Likewise.
9937 (optimize_skips): Likewise.
9938 (reorg_redirect_jump): Likewise.
9939 (fill_slots_from_thread): Likewise.
9940 * reorg.h: Update prototypes.
9941 * resource.c (find_dead_or_set_registers): Use dyn_cast to
9942 rtx_jump_insn instead of check. Use it's jump_target method.
9943 * rtl.h (rtx_jump_insn::jump_label): Define new method.
9944 (rtx_jump_insn::jump_target): Define new method.
9945 (rtx_jump_insn::set_jump_target): Define new method.
9946 * rtlanal.c (tablejump_p): Promote type of one local variable.
9947 * sched-deps.c (sched_analyze_2): Promote rtx to rtx_insn_list.
9948 (sched_analyze_insn): Likewise.
9949 * sched-vis.c (print_insn_with_notes): Promote rtx to rtx_insn.
9950 (print_insn): Likewise.
9951 * stmt.c (label_rtx): Promote return type to rtx_insn.
9952 (force_label_rtx): Likewise.
9953 (jump_target_rtx): Define new function.
9954 (expand_label): Use it, get rid of one cast.
9955 (expand_naked_return): Promote rtx to rtx_code_label.
9956 (do_jump_if_equal): Fix do_compare_rtx_and_jump call.
9957 (expand_case): Use rtx_code_label instread of rtx where feasible.
9958 (expand_sjlj_dispatch_table): Likewise.
9959 (emit_case_nodes): Likewise.
9960 * stmt.h: Declare jump_target_rtx. Update prototypes. Fix comments.
9961 * store-motion.c (insert_store): Make use of new return type of
9962 gen_move_insn and remove a cast.
9963 (replace_store_insn): Likewise.
9964
9965 2015-05-20 Max Filippov <jcmvbkbc@gmail.com>
9966
9967 * config/xtensa/xtensa.c (init_alignment_context): Replace MULT
9968 by BITS_PER_UNIT with ASHIFT by exact_log2 (BITS_PER_UNIT).
9969
9970 2015-05-20 Jeff Law <law@redhat.com>
9971
9972 * tree-ssa-threadupdate.c (mark_threaded_blocks): Properly
9973 dispose of the jump thread path when the jump threading
9974 opportunity is cancelled.
9975
9976 2015-05-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
9977
9978 * diagnostic.c (diagnostic_print_caret_line): Fix off-by-one error
9979 when printing the caret character.
9980
9981 2015-05-20 Marek Polacek <polacek@redhat.com>
9982
9983 * cfgexpand.c (expand_debug_expr): Use UNARY_CLASS_P.
9984
9985 2015-05-20 Marek Polacek <polacek@redhat.com>
9986
9987 * expr.c (expand_cond_expr_using_cmove): Use COMPARISON_CLASS_P.
9988 * gimple-expr.c (gimple_cond_get_ops_from_tree): Likewise.
9989 * gimple-fold.c (canonicalize_bool): Likewise.
9990 (same_bool_result_p): Likewise.
9991 * tree-if-conv.c (parse_predicate): Likewise.
9992
9993 2015-05-20 Marek Polacek <polacek@redhat.com>
9994
9995 * gimple-fold.c (fold_const_aggregate_ref_1): Use DECL_P.
9996 * gimplify.c (gimplify_modify_expr_rhs): Likewise.
9997
9998 2015-05-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9999
10000 * config/aarch64/aarch64.c (aarch64_class_max_nregs):
10001 Use UNITS_PER_VREG and UNITS_PER_WORD instead of their direct
10002 values.
10003
10004 2015-05-20 Robert Suchanek <robert.suchanek@imgtec.com>
10005
10006 * config/mips/mips.h (micromips_globals): Declare.
10007
10008 2015-05-20 David Malcolm <dmalcolm@redhat.com>
10009
10010 * timevar.def (TV_INITIALIZE_RTL): New.
10011 * toplev.c (initialize_rtl): Use an auto_timevar to account this
10012 function's time to TV_INITIALIZE_RTL.
10013
10014 2015-05-20 Ilya Enkovich <enkovich.gnu@gmail.com>
10015
10016 * tree-chkp.c (chkp_maybe_copy_and_register_bounds): Remove useless
10017 gimple_build_nop calls.
10018 (chkp_find_bounds_for_elem): Likewise.
10019 (chkp_get_zero_bounds): Likewise.
10020 (chkp_get_none_bounds): Likewise.
10021 (chkp_get_bounds_by_definition): Likewise.
10022 (chkp_generate_extern_var_bounds): Likewise.
10023 (chkp_get_bounds_for_decl_addr): Likewise.
10024 (chkp_get_bounds_for_string_cst): Likewise.
10025
10026 2015-05-20 Bin Cheng <bin.cheng@arm.com>
10027
10028 PR tree-optimization/65447
10029 * tree-ssa-loop-ivopts.c (struct iv_use): New fields.
10030 (dump_use, dump_uses): Support to dump sub use.
10031 (record_use): New parameters to support sub use. Remove call to
10032 dump_use.
10033 (record_sub_use, record_group_use): New functions.
10034 (compute_max_addr_offset, split_all_small_groups): New functions.
10035 (group_address_uses, rewrite_use_address): New functions.
10036 (strip_offset): New declaration.
10037 (find_interesting_uses_address): Call record_group_use.
10038 (add_candidate): New assertion.
10039 (infinite_cost_p): Move definition forward.
10040 (add_costs): Check INFTY cost and return immediately.
10041 (get_computation_cost_at): Clear setup cost and dependent bitmap
10042 for sub uses.
10043 (determine_use_iv_cost_address): Compute cost for sub uses.
10044 (rewrite_use_address_1): Rename from old rewrite_use_address.
10045 (free_loop_data): Free sub uses.
10046 (tree_ssa_iv_optimize_loop): Call group_address_uses.
10047
10048 2015-05-20 Kugan Vivekanandarajah <kuganv@linaro.org>
10049 Jim Wilson <jim.wilson@linaro.org>
10050
10051 * config/arm/aarch-common-protos.h (struct mem_cost_table): Added
10052 new fields loadv and storev.
10053 * config/aarch64/aarch64-cost-tables.h (thunderx_extra_costs):
10054 Initialize loadv and storev.
10055 * config/arm/aarch-cost-tables.h (generic_extra_costs): Likewise.
10056 (cortexa53_extra_costs): Likewise.
10057 (cortexa57_extra_costs): Likewise.
10058 (xgene1_extra_costs): Likewise.
10059 * config/aarch64/aarch64.c (aarch64_rtx_costs): Update vector
10060 rtx_costs.
10061
10062 2015-05-20 Kugan Vivekanandarajah <kuganv@linaro.org>
10063
10064 * config/arm/arm.c (cortexa9_extra_costs): Initialize loadv and
10065 storev.
10066 (cortexa8_extra_costs): Likewise.
10067 (cortexa5_extra_costs): Likewise.
10068 (cortexa7_extra_costs): Likewise.
10069 (cortexa12_extra_costs): Likewise.
10070 (cortexa15_extra_costs): Likewise.
10071 (v7m_extra_costs): Likewise.
10072
10073 2015-05-20 Jeff Law <law@redhat.com>
10074
10075 * tree-ssa-threadupdate.c (thread_single_edge): Use delete_jump_thread
10076 instead of open-coded version. Also delete the jump thread created
10077 within this function.
10078
10079 2015-05-20 Alan Modra <amodra@gmail.com>
10080
10081 * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Return
10082 stack adjusting insn. Formatting.
10083 (rs6000_emit_prologue): Track stack adjusting insn, and use of
10084 r12. If possible, emit first -fsplit-stack arg pointer insn
10085 before stack adjust. Don't use r12 to save cr if split-stack.
10086
10087 2015-05-20 Alan Modra <amodra@gmail.com>
10088
10089 * common/config/rs6000/rs6000-common.c (TARGET_SUPPORTS_SPLIT_STACK):
10090 Define.
10091 (rs6000_supports_split_stack): New function.
10092 * gcc/config/rs6000/rs6000.c (machine_function): Add
10093 split_stack_arg_pointer.
10094 (TARGET_EXTRA_LIVE_ON_ENTRY, TARGET_INTERNAL_ARG_POINTER): Define.
10095 (setup_incoming_varargs): Use crtl->args.internal_arg_pointer
10096 rather than virtual_incoming_args_rtx.
10097 (rs6000_va_start): Likewise.
10098 (split_stack_arg_pointer_used_p): New function.
10099 (rs6000_emit_prologue): Set up arg pointer for -fsplit-stack.
10100 (morestack_ref): New var.
10101 (gen_add3_const, rs6000_expand_split_stack_prologue,
10102 rs6000_internal_arg_pointer, rs6000_live_on_entry,
10103 rs6000_split_stack_space_check): New functions.
10104 (rs6000_elf_file_end): Call file_end_indicate_split_stack.
10105 * gcc/config/rs6000/rs6000.md (UNSPEC_STACK_CHECK): Define.
10106 (UNSPECV_SPLIT_STACK_RETURN): Define.
10107 (split_stack_prologue, load_split_stack_limit,
10108 load_split_stack_limit_di, load_split_stack_limit_si,
10109 split_stack_return, split_stack_space_check): New expands and insns.
10110 * gcc/config/rs6000/rs6000-protos.h
10111 (rs6000_expand_split_stack_prologue): Declare.
10112 (rs6000_split_stack_space_check): Declare.
10113
10114 2015-05-20 Alan Modra <amodra@gmail.com>
10115
10116 * config/rs6000/rs6000.c (struct rs6000_stack): Correct comments.
10117 (direct_return): Test vrsave_size rather than vrsave_mask.
10118 (rs6000_emit_prologue): Likewise. Remove redundant altivec tests.
10119 (rs6000_emit_epilogue): Likewise.
10120
10121 2015-05-20 Alan Modra <amodra@gmail.com>
10122
10123 * config/rs6000/rs6000.c (rs6000_stack_info): Don't zero offsets
10124 when not saving registers.
10125 (debug_stack_info): Adjust to omit printing unused offsets,
10126 as before.
10127 (rs6000_emit_epilogue): Adjust use_backchain_to_restore_sp
10128 expression.
10129
10130 2015-05-19 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
10131
10132 PR c++/65835
10133 * config/i386/winnt.c (struct wrapped_symbol_hasher): Change
10134 value_type to const char *.
10135
10136 2015-05-19 Sandra Loosemore <sandra@codesourcery.com>
10137
10138 * config.gcc [powerpc*-*-linux*]: Allow --enable-targets=all
10139 to build a biarch toolchain again.
10140
10141 2015-05-19 Jan Hubicka <hubicka@ucw.cz>
10142
10143 * ipa-devirt.c (type_in_anonymous_namespace_p): Return true
10144 or implicit declarations.
10145 (odr_type_p): Check that TYPE_NAME is TYPE_DECL before looking
10146 into it.
10147 (get_odr_type): Check type has linkage before adding bases.
10148 (register_odr_type): Check that type has linkage before adding it.
10149 (type_known_to_have_no_deriavations_p): Rename to ..
10150 (type_known_to_have_no_derivations_p): This one.
10151 * ipa-utils.h (type_known_to_have_no_deriavations_p): Rename to ..
10152 (type_known_to_have_no_derivations_p): This one.
10153 * ipa-polymorphic-call.c
10154 (ipa_polymorphic_call_context::restrict_to_inner_type): Check that
10155 type has linkage.
10156
10157 2015-05-19 Eric Botcazou <ebotcazou@adacore.com>
10158
10159 * stor-layout.c (finalize_type_size): Use AGGREGATE_TYPE_P.
10160 (layout_type): Use RECORD_OR_UNION_TYPE_P.
10161
10162 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
10163
10164 * config/s390/s390.c (s390_vector_bool_type_p): New function.
10165 (s390_invalid_binary_op): New function.
10166 (TARGET_INVALID_BINARY_OP): Define macro.
10167
10168 2015-05-19 David Sherwood <david.sherwood@arm.com>
10169
10170 * loop-invariant.c (create_new_invariant): Don't calculate address cost
10171 if mode is not a scalar integer.
10172 (get_inv_cost): Increase computational cost for unused invariants.
10173
10174 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
10175
10176 * config.gcc: Add vecintrin.h to extra_headers. Add s390-c.o to
10177 c_target_objs and cxx_target_objs. Add t-s390 to tmake_file.
10178 * config/s390/s390-builtin-types.def: New file.
10179 * config/s390/s390-builtins.def: New file.
10180 * config/s390/s390-builtins.h: New file.
10181 * config/s390/s390-c.c: New file.
10182 * config/s390/s390-modes.def: Add modes CCVEQANY, CCVH,
10183 CCVHANY, CCVHU, CCVHUANY, CCVFHANY, CCVFHEANY.
10184 * config/s390/s390-protos.h (s390_expand_vec_compare_cc)
10185 (s390_cpu_cpp_builtins, s390_register_target_pragmas): Add
10186 prototypes.
10187 * config/s390/s390.c (s390-builtins.h, s390-builtins.def):
10188 Include.
10189 (flags_builtin, flags_overloaded_builtin_var, s390_builtin_types)
10190 (s390_builtin_fn_types, s390_builtin_decls, code_for_builtin): New
10191 variable definitions.
10192 (s390_const_operand_ok): New function.
10193 (s390_expand_builtin): Rewrite.
10194 (s390_init_builtins): New function.
10195 (s390_handle_vectorbool_attribute): New function.
10196 (s390_attribute_table): Add s390_vector_bool attribute.
10197 (s390_match_ccmode_set): Handle new cc modes CCVH, CCVHU.
10198 (s390_branch_condition_mask): Generate masks for new modes.
10199 (s390_expand_vec_compare_cc): New function.
10200 (s390_mangle_type): Add mangling for vector bool types.
10201 (enum s390_builtin): Remove.
10202 (s390_atomic_assign_expand_fenv): Rename constants for sfpc and
10203 efpc builtins.
10204 * config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): Call
10205 s390_cpu_cpp_builtins.
10206 (REGISTER_TARGET_PRAGMAS): New macro.
10207 * config/s390/s390.md: Define more UNSPEC_VEC_* constants.
10208 (insn_cmp mode attribute): Add new CC modes.
10209 (s390_sfpc, s390_efpc): Rename patterns to sfpc and efpc.
10210 (lcbb): New pattern definition.
10211 * config/s390/s390intrin.h: Include vecintrin.h.
10212 * config/s390/t-s390: New file.
10213 * config/s390/vecintrin.h: New file.
10214 * config/s390/vector.md: Include vx-builtins.md.
10215 * config/s390/vx-builtins.md: New file.S/390 zvector builtin
10216 support.
10217
10218 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
10219
10220 * config/s390/s390-modes.def: Add new modes CCVEQ, CCVFH, and
10221 CCVFHE.
10222 * config/s390/s390.c (s390_match_ccmode_set): Handle new modes.
10223 (s390_select_ccmode): Likewise.
10224 (s390_canonicalize_comparison): Swap operands if necessary.
10225 (s390_expand_vec_compare_scalar): Expand DFmode compare using
10226 single element vector instructions.
10227 (s390_emit_compare): Call s390_expand_vec_compare_scalar.
10228 (s390_branch_condition_mask): Generate CC masks for the new modes.
10229 * config/s390/s390.md (v0, vf, vd): New mode attributes.
10230 (VFCMP, asm_fcmp, insn_cmp): New mode iterator and attributes.
10231 (*vec_cmp<insn_cmp>df_cconly, *fixuns_truncdfdi2_z13)
10232 (*fix_trunc<BFP:mode><GPR:mode>2_bfp, *floatunsdidf2_z13)
10233 (*floatuns<GPR:mode><FP:mode>2, *extendsfdf2_z13)
10234 (*extend<DSF:mode><BFP:mode>2): New insn definition.
10235 (fix_trunc<BFP:mode><GPR:mode>2_bfp, loatuns<GPR:mode><FP:mode>2)
10236 (extend<DSF:mode><BFP:mode>2): Turn into expander.
10237 (floatdi<mode>2, truncdfsf2, add<mode>3, sub<mode>3, mul<mode>3)
10238 (div<mode>3, *neg<mode>2, *abs<mode>2, *negabs<mode>2)
10239 (sqrt<mode>2): Add vector instruction.
10240
10241 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
10242
10243 * config/s390/constraints.md (j00, jm1, jxx, jyy, v): New
10244 constraints.
10245 * config/s390/predicates.md (const0_operand, constm1_operand)
10246 (constable_operand): Accept vector operands.
10247 * config/s390/s390-modes.def: Add supported vector modes.
10248 * config/s390/s390-protos.h (s390_cannot_change_mode_class)
10249 (s390_function_arg_vector, s390_contiguous_bitmask_vector_p)
10250 (s390_bytemask_vector_p, s390_expand_vec_strlen)
10251 (s390_expand_vec_compare, s390_expand_vcond)
10252 (s390_expand_vec_init): Add prototypes.
10253 * config/s390/s390.c (VEC_ARG_NUM_REG): New macro.
10254 (s390_vector_mode_supported_p): New function.
10255 (s390_contiguous_bitmask_p): Mask out the irrelevant bits.
10256 (s390_contiguous_bitmask_vector_p): New function.
10257 (s390_bytemask_vector_p): New function.
10258 (s390_split_ok_p): Vector regs don't work either.
10259 (regclass_map): Add VEC_REGS.
10260 (s390_legitimate_constant_p): Handle vector constants.
10261 (s390_cannot_force_const_mem): Handle CONST_VECTOR.
10262 (legitimate_reload_vector_constant_p): New function.
10263 (s390_preferred_reload_class): Handle CONST_VECTOR.
10264 (s390_reload_symref_address): Likewise.
10265 (s390_secondary_reload): Vector memory instructions only support
10266 short displacements. Rename reload*_nonoffmem* to reload*_la*.
10267 (s390_emit_ccraw_jump): New function.
10268 (s390_expand_vec_strlen): New function.
10269 (s390_expand_vec_compare): New function.
10270 (s390_expand_vcond): New function.
10271 (s390_expand_vec_init): New function.
10272 (s390_dwarf_frame_reg_mode): New function.
10273 (print_operand): Handle addresses with 'O' and 'R' constraints.
10274 (NR_C_MODES, constant_modes): Add vector modes.
10275 (s390_output_pool_entry): Handle vector constants.
10276 (s390_hard_regno_mode_ok): Handle vector registers.
10277 (s390_class_max_nregs): Likewise.
10278 (s390_cannot_change_mode_class): New function.
10279 (s390_invalid_arg_for_unprototyped_fn): New function.
10280 (s390_function_arg_vector): New function.
10281 (s390_function_arg_float): Remove size variable.
10282 (s390_pass_by_reference): Handle vector arguments.
10283 (s390_function_arg_advance): Likewise.
10284 (s390_function_arg): Likewise.
10285 (s390_return_in_memory): Vector values are returned in a VR if
10286 possible.
10287 (s390_function_and_libcall_value): Handle vector arguments.
10288 (s390_gimplify_va_arg): Likewise.
10289 (s390_call_saved_register_used): Consider the arguments named.
10290 (s390_conditional_register_usage): Disable v16-v31 for non-vec
10291 targets.
10292 (s390_preferred_simd_mode): New function.
10293 (s390_support_vector_misalignment): New function.
10294 (s390_vector_alignment): New function.
10295 (TARGET_STRICT_ARGUMENT_NAMING, TARGET_DWARF_FRAME_REG_MODE)
10296 (TARGET_VECTOR_MODE_SUPPORTED_P)
10297 (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN)
10298 (TARGET_VECTORIZE_PREFERRED_SIMD_MODE)
10299 (TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT)
10300 (TARGET_VECTOR_ALIGNMENT): Define target macro.
10301 * config/s390/s390.h (FUNCTION_ARG_PADDING): Define macro.
10302 (FIRST_PSEUDO_REGISTER): Increase value.
10303 (VECTOR_NOFP_REGNO_P, VECTOR_REGNO_P, VECTOR_NOFP_REG_P)
10304 (VECTOR_REG_P): Define macros.
10305 (FIXED_REGISTERS, CALL_USED_REGISTERS)
10306 (CALL_REALLY_USED_REGISTERS, REG_ALLOC_ORDER)
10307 (HARD_REGNO_CALL_PART_CLOBBERED, REG_CLASS_NAMES)
10308 (FUNCTION_ARG_REGNO_P, FUNCTION_VALUE_REGNO_P, REGISTER_NAMES):
10309 Add vector registers.
10310 (CANNOT_CHANGE_MODE_CLASS): Call C function.
10311 (enum reg_class): Add VEC_REGS, ADDR_VEC_REGS, GENERAL_VEC_REGS.
10312 (SECONDARY_MEMORY_NEEDED): Allow SF<->SI mode moves without
10313 memory.
10314 (DBX_REGISTER_NUMBER, FIRST_VEC_ARG_REGNO, LAST_VEC_ARG_REGNO)
10315 (SHORT_DISP_IN_RANGE, VECTOR_STORE_FLAG_VALUE): Define macro.
10316 * config/s390/s390.md (UNSPEC_VEC_*): New constants.
10317 (VR*_REGNUM): New constants.
10318 (ALL): New mode iterator.
10319 (INTALL): Remove mode iterator.
10320 Include vector.md.
10321 (movti): Implement TImode moves for VRs.
10322 Disable TImode splitter for VR targets.
10323 Implement splitting TImode GPR<->VR moves.
10324 (reload*_tomem_z10, reload*_toreg_z10): Replace INTALL with ALL.
10325 (reload<mode>_nonoffmem_in, reload<mode>_nonoffmem_out): Rename to
10326 reload<mode>_la_in, reload<mode>_la_out.
10327 (*movdi_64, *movsi_zarch, *movhi, *movqi, *mov<mode>_64dfp)
10328 (*mov<mode>_64, *mov<mode>_31): Add vector instructions.
10329 (TD/TF mode splitter): Enable for GPRs only (formerly !FP).
10330 (mov<mode> SF SD): Prefer lder, lde for loading.
10331 Add lrl and strl instructions.
10332 Add vector instructions.
10333 (strlen<mode>): Rename old strlen<mode> to strlen_srst<mode>.
10334 Call s390_expand_vec_strlen on z13.
10335 (*cc_to_int): Change predicate to nonimmediate_operand.
10336 (addti3): Rename to *addti3. New expander.
10337 (subti3): Rename to *subti3. New expander.
10338 * config/s390/vector.md: New file.
10339
10340 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
10341
10342 * common/config/s390/s390-common.c (processor_flags_table): Add
10343 z13.
10344 * config.gcc: Add z13.
10345 * config/s390/s390-opts.h (enum processor_type): Add
10346 PROCESSOR_2964_Z13.
10347 * config/s390/s390.c (s390_adjust_priority): Check for
10348 PROCESSOR_2964_Z13.
10349 (s390_reorg): Likewise.
10350 (s390_sched_reorder): Likewise.
10351 (s390_sched_variable_issue): Likewise.
10352 (s390_loop_unroll_adjust): Likewise.
10353 (s390_option_override): Likewise. Default to -mvx when available.
10354 * config/s390/s390.h (enum processor_flags): Add PF_Z13 and PF_VX.
10355 (TARGET_CPU_Z13, TARGET_CPU_VX, TARGET_Z13, TARGET_VX)
10356 (TARGET_VX_ABI): Define macros.
10357 macros.
10358 (TARGET_DEFAULT): Add MASK_OPT_VX.
10359 * config/s390/s390.md ("cpu" attribute): Add z13.
10360 ("cpu_facility" attribute): Add vec.
10361 * config/s390/s390.opt (processor_type): Add z13.
10362 (mvx): New options.
10363 * doc/invoke.texi: Add z13 option for -march.
10364
10365 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
10366
10367 * config/s390/predicates.md (shift_count_or_setmem_operand): Add
10368 mode check to make sure that only scalar integer values are
10369 accepted.
10370
10371 2015-05-19 Jan Hubicka <hubicka@ucw.cz>
10372
10373 * tree.c (verify_type_variant): Fix #undef.
10374 (gimple_canonical_types_compatible_p): Move here from lto.c
10375 (verify_type): Verify TYPE_CANONICAL compatibility.
10376 * tree.h (gimple_canonical_types_compatible_p): Declare.
10377
10378 2015-05-19 Jakub Jelinek <jakub@redhat.com>
10379
10380 PR middle-end/66199
10381 * tree.h (OMP_TEAMS_COMBINED): Define.
10382 * gimplify.c (enum gimplify_omp_var_data): Add
10383 GOVD_LINEAR_LASTPRIVATE_NO_OUTER.
10384 (enum omp_region_type): Add ORT_COMBINED_TEAMS.
10385 (omp_notice_variable): Accept both ORT_TEAMS
10386 and ORT_COMBINED_TEAMS. Don't recurse if
10387 GOVD_LINEAR_LASTPRIVATE_NO_OUTER is set and either
10388 GOVD_LINEAR is set, or GOVD_LASTPRIVATE without
10389 GOVD_FIRSTPRIVATE.
10390 (omp_no_lastprivate): New function.
10391 (gimplify_scan_omp_clauses): For OMP_CLAUSE_LASTPRIVATE
10392 and OMP_CLAUSE_LINEAR, if omp_no_lastprivate, don't
10393 notice_outer and set appropriate bits, otherwise make
10394 sure default(none) combined constructs won't complain.
10395 (gimplify_adjust_omp_clauses): Remove OMP_CLAUSE_LINEAR
10396 outer special casing, for OMP_CLAUSE_LASTPRIVATE if
10397 omp_no_lastprivate either remove the clause or turn it
10398 into OMP_CLAUSE_PRIVATE.
10399 (gimplify_omp_for): Fix up handling of implicit
10400 lastprivate or linear iterators.
10401 (gimplify_omp_workshare): For OMP_TEAMS_COMBINED use
10402 ORT_COMBINED_TEAMS.
10403 * omp-low.c (lower_omp_for_lastprivate): For combined
10404 for simd use fd.loop.n2 from the for rather than simd.
10405
10406 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
10407
10408 * config/cris/cris.c (cris_expand_prologue): Use gen_raw_REG
10409 instead of gen_rtx_raw_REG.
10410 (cris_expand_epilogue): Likewise.
10411 * config/microblaze/microblaze.c (microblaze_classify_address):
10412 Likewise.
10413 * config/sparc/sparc.md: Likewise.
10414
10415 2015-05-19 Uros Bizjak <ubizjak@gmail.com>
10416
10417 * config/alpha/alpha.c (alpha_legitimize_reload_address)
10418 (alpha_preferred_reload_class, alpha_legitimate_constant_p): Use
10419 CONST_INT_P, CONST_SCALAR_INT_P and CONST_DOUBLE_P predicates.
10420 (alpha_split_reload_pair) <case CONST_INT, case CONST_WIDE_INT>:
10421 Use CASE_CONST_SCALAR_INT.
10422 (print_operand) <case 'M'>: Use mode_width_operand to check the
10423 value of the constant.
10424 * config/alpha/alpha.md (movti): Use CONST_SCALAR_INT_P predicate.
10425 * config/alpha/predicates.md (input_operand): Use general_operand
10426 instead of match_code as operand check.
10427 (symbolic_operand): Use match_code with subexpression digits.
10428 * config/alpha/constraints.md (Q): Ditto.
10429
10430 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
10431
10432 * optabs.c (expand_vec_perm): Don't re-use SEL as target operand.
10433
10434 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
10435
10436 * config/s390/s390.c (s390_secondary_reload): Fix check for
10437 load/store relative.
10438
10439 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
10440
10441 * recog.h: Increase MAX_RECOG_ALTERNATIVES. Change type of
10442 alternative_mask to uint64_t.
10443
10444 2015-05-19 Jakub Jelinek <jakub@redhat.com>
10445
10446 PR tree-optimization/66187
10447 * match.pd ((bit_and (plus/minus (convert @0) (convert @1)) mask)):
10448 Pass TYPE_SIGN to tree_int_cst_min_precision. If
10449 !TYPE_OVERFLOW_WRAPS, ensure @4 is non-negative.
10450
10451 2015-05-19 David Malcolm <dmalcolm@redhat.com>
10452
10453 * diagnostic.c (diagnostic_report_current_module): Strengthen
10454 local "new_map" from const line_map * to
10455 const line_map_ordinary *.
10456 * genmatch.c (error_cb): Likewise for local "map".
10457 (output_line_directive): Likewise for local "map".
10458 * input.c (expand_location_1): Likewise for local "map".
10459 Pass NULL rather than &map to
10460 linemap_unwind_to_first_non_reserved_loc, since the value is never
10461 read from there, and the value written back not read from here.
10462 (is_location_from_builtin_token): Strengthen local "map" from
10463 const line_map * to const line_map_ordinary *.
10464 (dump_location_info): Strengthen locals "map" from
10465 line_map *, one to const line_map_ordinary *, the other
10466 to const line_map_macro *.
10467 * tree-diagnostic.c (loc_map_pair): Strengthen field "map" from
10468 const line_map * to const line_map_macro *.
10469 (maybe_unwind_expanded_macro_loc): Add a call to
10470 linemap_check_macro when writing to the "map" field of the
10471 loc_map_pair.
10472 Introduce local const line_map_ordinary * "ord_map", using it in
10473 place of "map" in the part of the function where we know we have
10474 an ordinary map. Strengthen local "m" from const line_map * to
10475 const line_map_ordinary *.
10476
10477 2015-05-19 Nick Clifton <nickc@redhat.com>
10478
10479 PR target/66156
10480 * config/msp430/msp430.md (zero_extendhisi2): Add support for
10481 separate source and destination registers.
10482
10483 2015-05-19 Richard Biener <rguenther@suse.de>
10484
10485 PR tree-optimization/66165
10486 * tree-vect-slp.c (vect_supported_load_permutation_p): Add guard
10487 for no load permutation.
10488
10489 PR tree-optimization/66185
10490 * tree-vect-slp.c (vect_build_slp_tree): Properly roll back
10491 when building the SLP node from scalars.
10492
10493 2015-05-19 Eric Botcazou <ebotcazou@adacore.com>
10494 Tristan Gingold <gingold@adacore.com>
10495
10496 * insn-notes.def (UPDATE_SJLJ_CONTEXT): New note.
10497 * builtins.c (expand_builtin_update_setjmp_buf): Make global.
10498 (expand_stack_restore): Call record_new_stack_level.
10499 (expand_stack_save): Do not call do_pending_stack_adjust.
10500 * builtins.h (expand_builtin_update_setjmp_buf): Declare.
10501 * calls.c (expand_call): Call record_new_stack_level for alloca.
10502 * except.c (sjlj_mark_call_sites): Expand builtin_update_setjmp_buf
10503 wherever a NOTE_INSN_UPDATE_SJLJ_CONTEXT note is present.
10504 (update_sjlj_context): New global function.
10505 * except.h (update_sjlj_context): Declare.
10506 * explow.c (record_new_stack_level): New global function.
10507 (allocate_dynamic_stack_space): Call record_new_stack_level.
10508 * explow.h (record_new_stack_level): Declare.
10509 * final.c (final_scan_insn): Deal with NOTE_INSN_UPDATE_SJLJ_CONTEXT.
10510 * cfgrtl.c (duplicate_insn_chain): Likewise.
10511
10512 2015-05-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10513
10514 * calls.c: Always define STACK_GROWS_DOWNWARD as 0 or 1.
10515 (mem_overlaps_already_clobbered_arg_p): Rewrite ifdef
10516 STACK_GROWS_DOWNWARD as normal if.
10517 (expand_call): Likewise.
10518
10519 2015-05-19 Oleg Endo <olegendo@gcc.gnu.org>
10520
10521 PR target/54236
10522 * config/sh/sh.md (*round_int_even): New insn_and_split and
10523 accompanying new unnamed split.
10524
10525 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
10526
10527 * bitmap.c (bitmap_set_range): Handle count==1 specially.
10528 (bitmap_clear_range): Likewise.
10529 * cfgcleanup.c (mark_effect): Use bitmap_clear_range and
10530 bitmap_set_range unconditionally.
10531 * df-problems.c (df_simulate_one_insn_forwards): Likewise.
10532 * df-scan.c (df_mark_reg): Likewise.
10533 * haifa-sched.c (setup_ref_regs): Likewise.
10534 * sched-rgn.c (update_live_1): Likewise.
10535
10536 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
10537
10538 * regs.h (END_HARD_REGNO): Delete.
10539 (END_REGNO): Move to...
10540 * rtl.h: ...here.
10541 * bt-load.c (note_btr_set): Use END_REGNO instead of END_HARD_REGNO.
10542 * caller-save.c (mark_set_regs): Likewise.
10543 * combine.c (move_deaths, distribute_notes): Likewise.
10544 * cse.c (invalidate, invalidate_for_call): Likewise.
10545 * df-scan.c (df_ref_record): Likewise.
10546 * postreload-gcse.c (reg_changed_after_insn_p): Likewise.
10547 (record_last_reg_set_info): Likewise.
10548 * reg-stack.c (convert_regs_exit): Likewise.
10549 * reload.c (reg_overlap_mentioned_for_reload_p): Likewise.
10550 * resource.c (update_live_status): Likewise.
10551 * rtlanal.c (find_reg_fusage, find_regno_fusage): Likewise.
10552
10553 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
10554
10555 * rtl.h (reg_info): Add an nregs field.
10556 (REG_NREGS): Use it.
10557 (SET_REGNO_RAW): Delete.
10558 (set_regno_raw): New function.
10559 * regs.h (END_HARD_REGNO): Make equivalent to END_REGNO.
10560 (END_REGNO): Redefine in terms of REG_NREGS.
10561 * read-rtl.c (read_rtx_code): Call set_regno_raw instead of
10562 SET_REGNO_RAW.
10563 * emit-rtl.c (set_mode_and_regno): Likewise.
10564 * df-scan.c (df_ref_change_reg_with_loc): Use set_mode_and_regno
10565 instead of SET_REGNO_RAW.
10566
10567 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
10568
10569 * rtl.h (PUT_MODE_RAW): New macro.
10570 (PUT_REG_NOTE_KIND): Use it.
10571 (set_mode_and_regno): Declare.
10572 (gen_raw_REG): Change regno to "unsigned int".
10573 (gen_rtx_REG): Change "unsigned" to "unsigned int".
10574 (PUT_MODE): Forward to PUT_MODE_RAW for generators, otherwise
10575 use set_mode_and_regno to change the mode of registers.
10576 * gengenrtl.c (gendef): Use PUT_MODE_RAW.
10577 * emit-rtl.c (set_mode_and_regno): New function.
10578 (gen_raw_REG): Change regno to unsigned int. Use set_mode_and_regno.
10579 * caller-save.c (reg_save_code): Use set_mode_and_regno.
10580 * expr.c (init_expr_target): Likewise.
10581 * ira.c (setup_prohibited_mode_move_regs): Likewise.
10582 * postreload.c (reload_cse_simplify_operands): Likewise.
10583
10584 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
10585
10586 * caller-save.c (init_caller_save): Use word_mode and
10587 FIRST_PSEUDO_REGISTER when creating temporary rtxes.
10588 * expr.c (init_expr_target): Likewise.
10589 * ira.c (setup_prohibited_mode_move_regs): Likewise.
10590 * postreload.c (reload_cse_regs_1): Likewise.
10591
10592 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
10593
10594 * rtl.def (REG): Change format to "r".
10595 * rtl.h (rtunion): Remove rt_reg.
10596 (reg_info): New structure.
10597 (rtx_def): Add reg field to main union.
10598 (X0REGATTR): Delete.
10599 (REG_CHECK): New macro.
10600 (SET_REGNO_RAW, rhs_regno, REG_ATTRS): Use it.
10601 * rtl.c (rtx_format): Document "r".
10602 (rtx_code_size): Handle REG specially.
10603 * gengenrtl.c (special_format): Return true for formats
10604 that include 'r'.
10605 * gengtype.c (adjust_field_rtx_def): Handle 'r' fields.
10606 Deal with REG_ATTRS after the field loop.
10607 * emit-rtl.c (gen_raw_REG): Call rtx_alloc_stat directly.
10608 * expmed.c (init_expmed): Call gen_raw_REG instead of
10609 gen_rtx_raw_REG.
10610 * expr.c (init_expr_target): Likewise.
10611 * regcprop.c (maybe_mode_change): Likewise.
10612 * varasm.c (make_decl_rtl): Likewise.
10613 * final.c (leaf_renumber_regs_insn): Return early after
10614 handling REGs.
10615 * genemit.c (gen_exp): Handle 'r' fields.
10616 * genpeep.c (match_rtx): Likewise.
10617 * gensupport.c (subst_pattern_match): Likewise.
10618 (get_alternatives_number, collect_insn_data, alter_predicate_for_insn)
10619 (alter_constraints, subst_dup): Likewise.
10620 * read-rtl.c (read_rtx_code): Likewise.
10621 * print-rtl.c (print_rtx): Likewise.
10622 * genrecog.c (find_operand, find_matching_operand): Likewise.
10623 (validate_pattern, match_pattern_2): Likewise.
10624 (parameter::UINT, rtx_test::REGNO_FIELD): New enum values.
10625 (rtx_test::regno_field): New function.
10626 (operator ==, safe_to_hoist_p, transition_parameter_type)
10627 (parameter_type_string, print_parameter_value)
10628 (print_nonbool_test, print_test): Handle new enum values.
10629 * cselib.c (rtx_equal_for_cselib_1): Handle REG specially.
10630 * lra-constraints.c (operands_match_p): Likewise.
10631
10632 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
10633
10634 * df.h (df_ref_change_reg_with_loc): Remove old_regno parameter.
10635 Change type of new_regno to unsigned int.
10636 * df-scan.c (df_ref_change_reg_with_loc_1): Change type of
10637 new_regno to unsigned int.
10638 (df_ref_change_reg_with_loc): Remove old_regno parameter.
10639 Change type of new_regno to unsigned int. Use SET_REGNO_RAW.
10640 * rtl.h (SET_REGNO): Update call to df_ref_change_reg_with_loc.
10641 (SET_REGNO_RAW): Add space after ",".
10642
10643 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
10644
10645 * rtl.h (REG_NREGS): New macro
10646 * alias.c (record_set): Use it.
10647 * cfgcleanup.c (mark_effect): Likewise.
10648 * combine.c (likely_spilled_retval_1): Likewise.
10649 (likely_spilled_retval_p, can_change_dest_mode): Likewise.
10650 (move_deaths, distribute_notes): Likewise.
10651 * cselib.c (cselib_record_set): Likewise.
10652 * df-problems.c (df_simulate_one_insn_forwards): Likewise.
10653 * df-scan.c (df_mark_reg): Likewise.
10654 * dse.c (look_for_hardregs): Likewise.
10655 * dwarf2out.c (reg_loc_descriptor): Likewise.
10656 (multiple_reg_loc_descriptor): Likewise.
10657 * expr.c (write_complex_part, read_complex_part): Likewise.
10658 (emit_move_complex): Likewise.
10659 * haifa-sched.c (setup_ref_regs): Likewise.
10660 * ira-lives.c (mark_hard_reg_live): Likewise.
10661 * lra.c (lra_set_insn_recog_data): Likewise.
10662 * mode-switching.c (create_pre_exit): Likewise.
10663 * postreload.c (reload_combine_recognize_const_pattern): Likewise.
10664 (reload_combine_recognize_pattern): Likewise.
10665 (reload_combine_note_use, move2add_record_mode): Likewise.
10666 (reload_cse_move2add): Likewise.
10667 * reg-stack.c (subst_stack_regs_pat): Likewise.
10668 * regcprop.c (kill_value, copy_value): Likewise.
10669 (copyprop_hardreg_forward_1): Likewise.
10670 * regrename.c (verify_reg_in_set, scan_rtx_reg): Likewise.
10671 (build_def_use): Likewise.
10672 * sched-deps.c (mark_insn_reg_birth, mark_reg_death): Likewise.
10673 (deps_analyze_insn): Likewise.
10674 * sched-rgn.c (check_live_1, update_live_1): Likewise.
10675 * sel-sched.c (count_occurrences_equiv): Likewise.
10676 * valtrack.c (dead_debug_insert_temp): Likewise.
10677
10678 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
10679
10680 * cfgcleanup.c (mentions_nonequal_regs): Use END_REGNO.
10681 * dse.c (note_add_store): Likewise.
10682 * ira-lives.c (mark_hard_reg_dead): Likewise.
10683 * loop-invariant.c (mark_reg_store): Likewise.
10684 (mark_reg_death): Likewise.
10685 * postreload.c (reload_combine): Likewise.
10686 (reload_combine_note_store): Likewise.
10687 (reload_combine_note_use): Likewise.
10688 * recog.c (peep2_reg_dead_p): Likewise.
10689
10690 2015-05-19 Alan Modra <amodra@gmail.com>
10691
10692 * config/rs6000/predicates.md (gpc_reg_operand): Don't allow all
10693 hard registers numbered greater or equal to ARG_POINTER_REGNUM.
10694 (reg_or_neg_short_operand, fix_trunc_dest_operand): Delete
10695 unused predicates.
10696 * config/rs6000/altivec.md (save_vregs_*, restore_vregs_*):
10697 Use altivec_register_operand. Make insn predicate TARGET_ALTIVEC.
10698 * config/rs6000/rs6000.md (extzvdi_internal2): Use cc_reg_operand.
10699 * config/rs6000/vsx.md (vsx_float<VSi><mode>2): Expand comment.
10700
10701 2015-05-19 Sameera Deshpande <Sameera.Deshpande@imgtec.com>
10702
10703 * config/mips/mips.md (JOIN_MODE): New mode iterator.
10704 (join2_load_Store<JOIN_MODE:mode>): New pattern.
10705 (join2_loadhi): Likewise.
10706 (define_peehole2): Add peephole2 patterns to join 2 HI/SI/SF/DF-mode
10707 load-load and store-stores.
10708 * config/mips/mips.opt (mload-store-pairs): New option.
10709 (TARGET_LOAD_STORE_PAIRS): New macro.
10710 * config/mips/mips.h (ENABLE_LD_ST_PAIRS): Likewise.
10711 * config/mips/mips-protos.h (mips_load_store_bonding_p): New prototype.
10712 * config/mips/mips.c (mips_load_store_bonding_p): New function.
10713
10714 2015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
10715
10716 * bb-reorder.c (fix_up_fall_thru_edges): Use std::swap instead of
10717 explicit swaps.
10718 * dojump.c (do_compare_rtx_and_jump): Likewise.
10719 * expmed.c (emit_store_flag_1): Likewise.
10720 * fibonacci_heap.h (fibonacci_heap::union_with): Likewise.
10721 * final.c (sprint_ul): Use std::reverse for reversing a string.
10722 * fold-const.c (extract_muldiv_1): Use std::swap.
10723 * genmodes.c (emit_mode_int_n): Likewise.
10724 * ifcvt.c (dead_or_predicable): Likewise.
10725 * ira-build.c (ira_merge_live_ranges): Likewise.
10726 (swap_allocno_copy_ends_if_necessary): Likewise.
10727 * ira.c (ira_setup_alts): Likewise.
10728 * loop-iv.c (iv_analyze_expr): Likewise.
10729 (implies_p): Likewise.
10730 (canon_condition): Likewise.
10731 * lra-constraints.c (swap_operands): Likewise.
10732 * lra-lives.c (lra_merge_live_ranges): Likewise.
10733 * omega.c (swap): Remove.
10734 (bswap): Remove.
10735 (omega_unprotect_1): Use std::swap.
10736 (omega_solve_geq): Likewise.
10737 * optabs.c (expand_binop_directly): Likewise.
10738 (expand_binop): Likewise.
10739 (emit_conditional_move): Likewise.
10740 (emit_conditional_add): Likewise.
10741 * postreload.c (reload_cse_simplify_operands): Likewise.
10742 * reg-stack.c (emit_swap_insn): Likewise.
10743 (swap_to_top): Likewise.
10744 (compare_for_stack_reg): Likewise.
10745 (subst_asm_stack_regs): Likewise.
10746 * reload.c (find_reloads): Likewise.
10747 * reload1.c (gen_reload_chain_without_interm_reg_p): Likewise.
10748 * sel-sched.c (invoke_reorder_hooks): Likewise.
10749 (create_block_for_bookkeeping): Likewise.
10750 * tree-data-ref.c (lambda_matrix_row_exchange): Remove.
10751 (lambda_matrix_right_hermite): Use std::swap.
10752 * tree-ssa-coalesce.c (sort_coalesce_list): Likewise.
10753 * tree-ssa-ifcombine.c (ifcombine_ifandif): Likewise.
10754 * tree-ssa-loop-ivopts.c (iv_ca_delta_reverse): Likewise.
10755 * tree-ssa-math-opts.c (is_widening_mult_p): Likewise.
10756 * tree-ssa-phiopt.c (hoist_adjacent_loads): Likewise.
10757 * tree-ssa-reassoc.c (linearize_expr_tree): Likewise.
10758 * tree-ssa-threadedge.c (simplify_control_stmt_condition): Likewise.
10759 * tree-vrp.c (compare_ranges): Likewise.
10760 * var-tracking.c (add_with_sets): Likewise.
10761 (vt_find_locations): Likewise.
10762
10763 2015-05-18 Andreas Tobler <andreast@gcc.gnu.org>
10764
10765 * config/freebsd-spec.h (FBSD_STARTFILE_SPEC): Add the bits to build
10766 pie executables.
10767 (FBSD_ENDFILE_SPEC): Likewise.
10768 * config/i386/freebsd.h (STARTFILE_SPEC): Remove and use the one from
10769 config/freebsd-spec.h.
10770 (ENDFILE_SPEC): Likewise.
10771
10772 2015-05-18 Uros Bizjak <ubizjak@gmail.com>
10773 Richard Henderson <rth@redhat.com>
10774
10775 PR target/57032
10776 * config/alpha/constraints.md (Q): Rewrite as define_memory_constraint.
10777 Check for a memory location that is not a reference (using an AND)
10778 to an unaligned location here.
10779 * config/alpha/predicates.md (normal_memory_operand): Remove.
10780
10781 2015-05-18 Alex Velenko <Alex.Velenko@arm.com>
10782
10783 * config/arm/arm.md (andsi_not_shiftsi_si_scc): New pattern.
10784 (andsi_not_shiftsi_si_scc_no_reuse): New pattern.
10785
10786 2015-05-18 Robert Suchanek <robert.suchanek@imgtec.com>
10787
10788 * config/mips/mips.c (micromips_globals): New variable.
10789 (mips_set_compression_mode): Save and reinitialize target-dependent
10790 state for microMIPS.
10791
10792 2015-05-18 Martin Liska <mliska@suse.cz>
10793
10794 * dbgcnt.def: Add new counter.
10795 * ipa-icf.c (sem_item_optimizer::merge_classes): Use the counter.
10796
10797 2015-05-18 Martin Liska <mliska@suse.cz>
10798
10799 * dbgcnt.def: Sort counters.
10800 * opts.c (common_handle_option): Do not compile if
10801 -fdbg-cnt-list is enabled.
10802
10803 2015-05-18 Tom de Vries <tom@codesourcery.com>
10804
10805 * gimplify.c (gimplify_modify_expr): Remove do_deref handling.
10806 (gimplify_va_arg_expr): Remove do_deref handling. Remove adding of
10807 address operator to va_list operand.
10808 * tree-stdarg.c (expand_ifn_va_arg_1): Do deref of va_list operand
10809 unconditionally.
10810 * config/i386/i386.c (ix86_gimplify_va_arg): Remove deref on va_list
10811 operand.
10812 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Same.
10813 * config/s390/s390.c (s390_gimplify_va_arg): Same.
10814 * config/spu/spu.c (spu_gimplify_va_arg_expr): Same.
10815
10816 2015-05-18 Tom de Vries <tom@codesourcery.com>
10817
10818 * tree-ssa-tail-merge.c: Fix whitespace.
10819
10820 2015-05-17 Jim Wilson <jim.wilson@linaro.org>
10821
10822 * doc/invoke.texi (ARM Options, mtune): Add generic-armv7-a,
10823 cortex-a17, and cortex-a17.cortex-a7.
10824
10825 2015-05-17 Oleg Endo <olegendo@gcc.gnu.org>
10826
10827 PR target/54236
10828 * config/sh/sh.md (*addc_2r_t): Use ashift instead of mult.
10829
10830 2015-05-17 Uros Bizjak <ubizjak@gmail.com>
10831
10832 PR target/66174
10833 * config/i386/i386.c (expand_vec_perm_blend): Enable HImode and
10834 QImode inner modes for TARGET_AVX512BW. Force mask operand
10835 to a register for AVX512F modes.
10836
10837 2015-05-16 Jan Hubicka <hubicka@ucw.cz>
10838
10839 * toplev.c (emit_debug_global_declarations): Do not output debug info
10840 when doing slim LTO objects.
10841
10842 2015-05-16 Jan Hubicka <hubicka@ucw.cz>
10843
10844 * ipa-utils.h (warn_types_mismatch, odr_or_derived_type_p,
10845 odr_types_equivalent_p): Declare.
10846 (odr_type_p): Use gcc_checking_assert.
10847 (type_in_anonymous_namespace_p) Declare.
10848 (type_with_linkage_p): Declare.
10849 * common.opt (Wlto-type-mismatch): New warning.
10850 * ipa-devirt.c (compound_type_base): New function.
10851 (odr_or_derived_type_p): New function.
10852 (odr_types_equivalent_p): New function.
10853 (add_type_duplicate): Simplify.
10854 (type_with_linkage_p): Add hack to prevent false positives on C types
10855 (type_in_anonymous_namespace_p): Likewise.
10856 * tree.c (need_assembler_name_p): Use type_with_linkage.
10857 * tree.h (type_in_anonymous_namespace_p): Remove.
10858 * doc/invoke.texi (-Wlto-type-mismatch): Document
10859
10860 2015-05-16 Jan Hubicka <hubicka@ucw.cz>
10861
10862 * tree.c (verify_type_variant): Verify tree_base and type_common flags.
10863 (verify_type): Verify STRING_FLAG.
10864
10865 2015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
10866
10867 PR fortran/44054
10868 * tree-pretty-print.c (percent_K_format): Replace locus pointer
10869 with accessor function.
10870 * tree-diagnostic.c (diagnostic_report_current_function): Use
10871 diagnostic_location function.
10872 (maybe_unwind_expanded_macro_loc): Likewise.
10873 (virt_loc_aware_diagnostic_finalizer): Likewise.
10874 (default_tree_printer): Replace locus pointer with accessor function.
10875 * diagnostic.c (diagnostic_initialize): Initialize caret_chars array.
10876 (diagnostic_set_info_translated): Initialize second location.
10877 (diagnostic_build_prefix): Use CARET_LINE_MARGIN.
10878 (diagnostic_show_locus): Handle two locations. Call
10879 diagnostic_print_caret_line.
10880 (diagnostic_print_caret_line): New.
10881 (default_diagnostic_starter): Use diagnostic_location function.
10882 (diagnostic_report_diagnostic): Use diagnostic_location function.
10883 (verbatim): Do not set text.locus.
10884 * diagnostic.h (struct diagnostic_info): Remove location field.
10885 (struct diagnostic_context): Make caret_chars an array of two.
10886 (diagnostic_location): New inline.
10887 (diagnostic_expand_location): Handle two locations.
10888 (diagnostic_same_line): New inline.
10889 (diagnostic_print_caret_line): Declare.
10890 (CARET_LINE_MARGIN): New constant.
10891 * pretty-print.c (pp_printf): Do not set text.locus.
10892 (pp_verbatim): Do not set text.locus.
10893 * pretty-print.h (MAX_LOCATIONS_PER_MESSAGE): New constant.
10894 (struct text_info): Replace locus pointer with locations
10895 array. Add accessor functions.
10896
10897 2015-05-16 Kugan Vivekanandarajah <kuganv@linaro.org>
10898 Zhenqiang Chen <zhenqiang.chen@linaro.org>
10899
10900 PR target/65768
10901 * config/arm/arm.h (DONT_EARLY_SPLIT_CONSTANT): New macro.
10902 * config/arm/arm.md (subsi3, andsi3, iorsi3, xorsi3, movsi): Keep some
10903 large constants in register instead of splitting them.
10904
10905 2015-05-16 Uros Bizjak <ubizjak@gmail.com>
10906
10907 PR target/66140
10908 * config/alpha/alpha.c (get_aligned_mem): Also look for reload
10909 replacements in memory addresses.
10910 (get_unaligned_address): Ditto.
10911
10912 2015-05-16 James Bowman <james.bowman@ftdichip.com>
10913
10914 * config/ft32/*: New files for FT32 port.
10915 * doc/install.texi: Add FT32 information.
10916 * doc/invoke.texi: Add FT32 information.
10917 * doc/md.texi: Add FT32 information.
10918 * doc/contrib.texi: Self added.
10919
10920 2015-05-15 Marc Glisse <marc.glisse@inria.fr>
10921
10922 PR tree-optimization/64454
10923 * match.pd ((X % Y) % Y, (X % Y) < Y): New patterns.
10924 (-1 - A -> ~A): Remove unnecessary condition.
10925
10926 2015-05-15 Gregor Richards <gregor.richards@uwaterloo.ca>
10927
10928 * config/i386/linux.h (MUSL_DYNAMIC_LINKER): Define.
10929 * config/i386/linux64.h (MUSL_DYNAMIC_LINKER32): Define.
10930 (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERX32): Define.
10931
10932 2015-05-15 Ilya Enkovich <ilya.enkovich@intel.com>
10933
10934 * ipa-chkp.h (chkp_wrap_function): New.
10935 * ipa-chkp.c (chkp_wrap_function): Remove 'static'.
10936 (chkp_wrap_function_name): New.
10937 (chkp_build_instrumented_fndecl): Use chkp_wrap_function_name
10938 to get wrapper name.
10939 * lto-cgraph.c: Include ipa-chkp.h.
10940 (input_cgraph_1): Avoid alias chain for wrappers.
10941
10942 2015-05-15 Ilya Enkovich <enkovich.gnu@gmail.com>
10943
10944 PR middle-end/66134
10945 * tree-chkp.c (chkp_get_orginal_bounds_for_abnormal_copy): New.
10946 (chkp_maybe_copy_and_register_bounds): Don't copy abnormal copy.
10947
10948 2015-05-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10949
10950 * config/aarch64/aarch64.h (AARCH64_TUNE_SLOWMUL): Delete.
10951 (AARCH64_FL_SLOWMUL): Delete.
10952 (AARCH64_FL_CRC): Redefine to 1<<3.
10953 (AARCH64_FL_USE_FMA_STEERING_PASS): Redefine to 1<<4.
10954
10955 2015-05-15 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
10956
10957 * config/arm/arm.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Add appropriate
10958 casting.
10959
10960 2015-05-15 Uros Bizjak <ubizjak@gmail.com>
10961
10962 * config/alpha/alpha.md (extendqidi2): Use general_operand
10963 instead of some_operand for operand[1] predicate.
10964 (extendhidi2): Ditto.
10965 (cbranchdi4): Use general_operand instead of some_operand
10966 for operand[1] and operands[2] predicates.
10967 (cstoredi4): Ditto.
10968 * config/alpha/predicates.md (some_operand): Remove unused predicate.
10969 (some_ni_operand): Ditto.
10970
10971 2015-05-15 Uros Bizjak <ubizjak@gmail.com>
10972
10973 * config/alpha/alpha.c (alpha_extract_integer): Do not handle
10974 CONST_WIDE_INT and CONST_DOUBLE. Assert CONST_INT_P (x).
10975 (alpha_legitimate_constant_p) <case CONST_WIDE_INT>: Check high and
10976 low part of the constant using alpha_emit_set_const_1.
10977 (alpha_expand_mov): Do not handle CONST_WIDE_INT and CONST_DOUBLE.
10978
10979 2015-05-14 Rohit Arul Raj <rohitrulraj@freescale.com>
10980
10981 * varasm.c (output_constant_pool_1): Pass down alignment from
10982 constant pool entry's descriptor to output_constant_pool_2.
10983 (output_object_block): Add comment prior to call to
10984 output_constant_pool_1.
10985
10986 2015-05-14 Vladimir Makarov <vmakarov@redhat.com>
10987
10988 PR rtl-optimization/65862
10989 * target.def (ira_change_pseudo_allocno_class): New hook.
10990 * targhooks.c (default_ira_change_pseudo_allocno_class): Default
10991 value of the hook.
10992 * targhooks.h (default_ira_change_pseudo_allocno_class): New extern.
10993 * doc/tm.texi.in (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): Add the
10994 hook.
10995 * ira-costs.c (find_costs_and_classes): Call the hook and change
10996 classes when it is necessary.
10997 * doc/tm.texi: Update.
10998
10999 2015-05-14 Alexander Monakov <amonakov@ispras.ru>
11000
11001 * config/i386/i386.md (sibcall_memory): Check that register with
11002 callee address is not also used as one of the arguments, instead
11003 of checking that it is not live after the sibcall.
11004 (sibcall_pop_memory): Ditto.
11005 (sibcall_value_memory): Ditto.
11006 (sibcall_value_pop_memory): Ditto.
11007
11008 2015-05-14 Marc Glisse <marc.glisse@inria.fr>
11009
11010 * generic-match-head.c (types_match): Handle non-types.
11011 * gimple-match-head.c (types_match): Likewise.
11012 * match.pd: Remove unnecessary TREE_TYPE for types_match.
11013
11014 2015-05-14 Wilco Dijkstra <wdijkstr@arm.com>
11015
11016 * config/aarch64/aarch64.md (absdi2): Optimize abs expansion.
11017 (csneg3<mode>_insn): Enable expansion of pattern.
11018
11019 2015-05-14 Nick Clifton <nickc@redhat.com>
11020
11021 * config/rl78/rl78.c (rl78_select_section): Select the correct
11022 default section based upon the category of the decl.
11023
11024 2015-05-13 Segher Boessenkool <segher@kernel.crashing.org>
11025
11026 PR rtl-optimization/30967
11027 * config/rs6000/rs6000.c (rs6000_rtx_costs): Don't consider
11028 destination mode for the cost of scc patterns.
11029
11030 2015-05-13 Uros Bizjak <ubizjak@gmail.com>
11031
11032 * config/i386/i386.md (*mul<mode>3_1): Merge with *mulhi3_1
11033 using SWIM248 mode iterator.
11034 (*mulv<mode>4): Use x86_64_sext_operand for operand[2] constraint.
11035 (*mulvhi4): mark operand[1] as commutative. Use nonimmediate_operand
11036 for operand[2] constraint.
11037 (*mulv<mode>4_1): Merge with *mulvhi4_1 using SWI248 mode iterator.
11038
11039 2015-05-13 Jakub Jelinek <jakub@redhat.com>
11040
11041 PR middle-end/66133
11042 * omp-low.c (expand_omp_taskreg): For GIMPLE_OMP_TASK expansion,
11043 make sure it is never noreturn, even when the task body does not
11044 return.
11045 (lower_omp_taskreg): For GIMPLE_OMP_TASK, emit GIMPLE_OMP_CONTINUE
11046 right before GIMPLE_OMP_RETURN.
11047 (make_gimple_omp_edges): Accept GIMPLE_OMP_CONTINUE as ->cont
11048 for GIMPLE_OMP_TASK. For GIMPLE_OMP_RETURN corresponding to
11049 GIMPLE_OMP_TASK add an EDGE_ABNORMAL edge from entry to exit.
11050
11051 2015-05-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11052
11053 * params.def (PARAM_MAX_POW_SQRT_DEPTH): New param.
11054 * tree-ssa-math-opts.c: Include params.h
11055 (pow_synth_sqrt_info): New struct.
11056 (representable_as_half_series_p): New function.
11057 (get_fn_chain): Likewise.
11058 (print_nested_fn): Likewise.
11059 (dump_fractional_sqrt_sequence): Likewise.
11060 (dump_integer_part): Likewise.
11061 (expand_pow_as_sqrts): Likewise.
11062 (gimple_expand_builtin_pow): Use above to attempt to expand
11063 pow as series of square roots. Removed now unused variables.
11064
11065 2015-05-13 Uros Bizjak <ubizjak@gmail.com>
11066
11067 * config/alpha/alpha.c (alpha_emit_set_long_const): Remove c1 argument.
11068 (alpha_extract_integer): Redeclare as static HOST_WIDE_INT.
11069 Remove *p0 and *p1 arguments. Rewrite function.
11070 (alpha_legitimate_constant_p): Update call to alpha_extract_integer.
11071 (alpha_split_const_mov): Update calls to alpha_extract_integer and
11072 alpha_emit_set_long_const.
11073 (alpha_expand_epilogue): Update calls to alpha_emit_set_long_const.
11074 (alpha_output_mi_thunk_osf): Ditto.
11075 * config/alpha/alpha.md (movti): Do not check operands[1]
11076 for CONST_DOUBLE.
11077
11078 2015-05-13 Richard Biener <rguenther@suse.de>
11079
11080 PR tree-optimization/66129
11081 * tree-vect-slp.c (vect_build_slp_tree): Make sure all ops are
11082 commutative.
11083 (vect_schedule_slp_instance): Fix typo.
11084
11085 2015-05-13 David Malcolm <dmalcolm@redhat.com>
11086
11087 * common.opt (fdump-internal-locations): New option.
11088 * input.c: Include diagnostic-core.h.
11089 (get_end_location): New function.
11090 (write_digit): New function.
11091 (write_digit_row): New function.
11092 (dump_location_range): New function.
11093 (dump_labelled_location_range): New function.
11094 (dump_location_info): New function.
11095 * input.h (dump_location_info): New prototype.
11096 * toplev.c (compile_file): Handle flag_dump_locations.
11097
11098 2015-05-13 Eric Botcazou <ebotcazou@adacore.com>
11099
11100 * gimple-expr.h (is_gimple_constant): Reorder.
11101 * tree-ssa-propagate.c (before_dom_children): Use inline accessor.
11102
11103 2015-05-13 Segher Boessenkool <segher@kernel.crashing.org>
11104
11105 * combine.c (simplify_set): When generating a CC set, if the
11106 source already is in the correct mode, do not wrap it in a
11107 compare. Simplify the rest of that code.
11108
11109 2015-05-13 Richard Biener <rguenther@suse.de>
11110
11111 PR tree-optimization/66123
11112 * tree-ssa-dom.c (propagate_rhs_into_lhs): Check if we found
11113 a taken edge.
11114
11115 2015-05-13 Richard Biener <rguenther@suse.de>
11116
11117 PR middle-end/66110
11118 * alias.c (alias_sets_conflict_p): Do not treat has_zero_child
11119 specially.
11120 * Makefile.in (dfp.o-warn): Add -Wno-strict-aliasing.
11121
11122 2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
11123
11124 * doc/install.texi: Bump latest automake 1.11 version to 1.11.6.
11125 * aclocal.m4: Regenerated with automake-1.11.6.
11126
11127 2015-05-13 Tom de Vries <tom@codesourcery.com>
11128
11129 PR tree-optimization/66010
11130 * gimplify.h (gimplify_va_arg_internal): Remove declaration.
11131 * gimplify.c (gimplify_va_arg_internal): Remove and inline into ...
11132 * tree-stdarg.c (expand_ifn_va_arg_1): ... here. Choose between lval
11133 and rval based on do_deref.
11134
11135 2015-05-13 Ilya Enkovich <ilya.enkovich@intel.com>
11136
11137 PR target/65103
11138 * config/i386/i386.c (ix86_rtx_costs): We want to propagate
11139 link time constants into adress expressions and therefore set
11140 their cost to 0.
11141
11142 2015-05-13 Jakub Jelinek <jakub@redhat.com>
11143
11144 PR target/66112
11145 * config/i386/i386.md (mulv<mode>4, umulv<mode>4, *umulv<mode>4):
11146 Use SWI248 iterator instead of SWI.
11147 (*mulv<mode>4_1): Use SWI48 instead of SWI. Simplify output template.
11148 Use eq_attr "alternative" "0" instead of match_test in
11149 length_immediate attribute computation.
11150 (*mulvhi4, *mulvhi4_1): New define_insns.
11151
11152 PR target/66112
11153 * internal-fn.c (get_min_precision): Use UNSIGNED instead of
11154 SIGNED to get precision of non-negative value.
11155
11156 2015-05-13 Ilya Enkovich <ilya.enkovich@intel.com>
11157
11158 PR target/66048
11159 * function.c (diddle_return_value_1): Process bounds first.
11160 * config/i38/i386.c (ix86_function_value_regno_p): Add bnd1
11161 register.
11162
11163 2015-05-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
11164
11165 PR rtl-optimization/64616
11166 * loop-invariant.c (can_move_invariant_reg): New.
11167 (move_invariant_reg): Call above new function to decide whether
11168 instruction can just be moved, skipping creation of temporary
11169 register.
11170
11171 2015-05-12 Jan Hubicka <hubicka@ucw.cz>
11172
11173 PR target/pr66047.c
11174 * i386.c (ix86_function_sseregparm): Only return -1 if local function
11175 with implied regparm is called from -mno-sse function.
11176 (init_cumulative_args): Output error if ix86_function_sseregparm
11177 return -1 and SSE register would be needed.
11178 (function_arg_advance_32): Likewise.
11179 (function_arg_32): Likewise.
11180 * i386.h (ix86_args): Add decl field.
11181
11182 2015-05-12 Jan Hubicka <hubicka@ucw.cz>
11183
11184 PR ipa/65873
11185 * ipa-inline.c (can_inline_edge_p): Allow early inlining of always
11186 inlines across optimization boundary.
11187
11188 2015-05-12 Jason Merrill <jason@redhat.com>
11189
11190 * config/mmix/mmix.c, config/msp430/msp430.c: Add space between
11191 string literal and macro name.
11192
11193 2015-05-12 Steve Ellcey <sellcey@imgtec.com>
11194
11195 * config/mips/mips.c (mips_print_operand): Remove 'y' operand code.
11196 * config/mips/mips.md (<GPR:d>lsa): Rewrite with shift operator.
11197 * config/mips/predicates.md (const_immlsa_operand): Remove log call.
11198
11199 2015-05-12 David Malcolm <dmalcolm@redhat.com>
11200
11201 * doc/invoke.texi (Warning Options): Add -Wmisleading-indentation.
11202 (-Wmisleading-indentation): New option.
11203 * Makefile.in (C_COMMON_OBJS): Add c-family/c-indentation.o.
11204
11205 2015-05-12 Uros Bizjak <ubizjak@gmail.com>
11206
11207 * config/alpha/alpha.h (TARGET_SUPPORTS_WIDE_INT): New define.
11208 * config/alpha/alpha.c (alpha_rtx_costs): Handle CONST_WIDE_INT.
11209 (alpha_extract_integer): Ditto.
11210 (alpha_legitimate_constant_p): Ditto.
11211 (alpha_split_tmode_pair): Ditto.
11212 (alpha_preferred_reload_class): Add CONST_WIDE_INT.
11213 (alpha_expand_mov): Ditto.
11214 (print_operand): Remove handling of 'H' modifier.
11215 <case 'm'>: Remove CONST_DOUBLE handling.
11216 (summarize_insn): Handle CONST_WIDE_INT.
11217 * config/alpha/alpha.md (*andsi_internal): Remove H constraint.
11218 (anddi3): Ditto.
11219 (movti): Handle CONST_WIDE_INT.
11220 * config/alpha/constraints.md ('H'): Remove constraint definition.
11221 ('G'): Do not match MODE_FLOAT class.
11222 * config/alpha/predicates.md (const0_operand): Also match
11223 const_wide_int.
11224 (non_add_const_operand): Ditto.
11225 (non_zero_const_operand): Ditto.
11226 (some_operand): Ditto.
11227 (input_operand): Ditto. Handle CONST_WIDE_INT.
11228 (and_operand): Do not match const_double.
11229 * config/alpha/sync.md (fetchop_constr): Remove H constraint.
11230
11231 2015-05-12 Andrew MacLeod <amacleod@redhat.com>
11232
11233 PR target/65697
11234 * coretypes.h (MEMMODEL_SYNC, MEMMODEL_BASE_MASK): New macros.
11235 (enum memmodel): Add SYNC_{ACQUIRE,RELEASE,SEQ_CST}.
11236 * tree.h (memmodel_from_int, memmodel_base, is_mm_relaxed,
11237 is_mm_consume,is_mm_acquire, is_mm_release, is_mm_acq_rel,
11238 is_mm_seq_cst, is_mm_sync): New accessor functions.
11239 * builtins.c (expand_builtin_sync_operation,
11240 expand_builtin_compare_and_swap): Use MEMMODEL_SYNC_SEQ_CST.
11241 (expand_builtin_sync_lock_release): Use MEMMODEL_SYNC_RELEASE.
11242 (get_memmodel, expand_builtin_atomic_compare_exchange,
11243 expand_builtin_atomic_load, expand_builtin_atomic_store,
11244 expand_builtin_atomic_clear): Use new accessor routines.
11245 (expand_builtin_sync_synchronize): Use MEMMODEL_SYNC_SEQ_CST.
11246 * optabs.c (expand_compare_and_swap_loop): Use MEMMODEL_SYNC_SEQ_CST.
11247 (maybe_emit_sync_lock_test_and_set): Use new accessors and
11248 MEMMODEL_SYNC_ACQUIRE.
11249 (expand_sync_lock_test_and_set): Use MEMMODEL_SYNC_ACQUIRE.
11250 (expand_mem_thread_fence, expand_mem_signal_fence, expand_atomic_load,
11251 expand_atomic_store): Use new accessors.
11252 * emit-rtl.c (need_atomic_barrier_p): Add additional enum cases.
11253 * tsan.c (instrument_builtin_call): Update check for memory model beyond
11254 final enum to use MEMMODEL_LAST.
11255 * c-family/c-common.c: Use new accessor for memmodel_base.
11256 * config/aarch64/aarch64.c (aarch64_expand_compare_and_swap): Use new
11257 accessors.
11258 * config/aarch64/atomics.md (atomic_load<mode>,atomic_store<mode>,
11259 arch64_load_exclusive<mode>, aarch64_store_exclusive<mode>,
11260 mem_thread_fence, *dmb): Likewise.
11261 * config/alpha/alpha.c (alpha_split_compare_and_swap,
11262 alpha_split_compare_and_swap_12): Likewise.
11263 * config/arm/arm.c (arm_expand_compare_and_swap,
11264 arm_split_compare_and_swap, arm_split_atomic_op): Likewise.
11265 * config/arm/sync.md (atomic_load<mode>, atomic_store<mode>,
11266 atomic_loaddi): Likewise.
11267 * config/i386/i386.c (ix86_destroy_cost_data, ix86_memmodel_check):
11268 Likewise.
11269 * config/i386/sync.md (mem_thread_fence, atomic_store<mode>): Likewise.
11270 * config/ia64/ia64.c (ia64_expand_atomic_op): Add new memmodel cases and
11271 use new accessors.
11272 * config/ia64/sync.md (mem_thread_fence, atomic_load<mode>,
11273 atomic_store<mode>, atomic_compare_and_swap<mode>,
11274 atomic_exchange<mode>): Use new accessors.
11275 * config/mips/mips.c (mips_process_sync_loop): Likewise.
11276 * config/pa/pa.md (atomic_loaddi, atomic_storedi): Likewise.
11277 * config/rs6000/rs6000.c (rs6000_pre_atomic_barrier,
11278 rs6000_post_atomic_barrier): Add new cases.
11279 (rs6000_expand_atomic_compare_and_swap): Use new accessors.
11280 * config/rs6000/sync.md (mem_thread_fence): Add new cases.
11281 (atomic_load<mode>): Add new cases and use new accessors.
11282 (store_quadpti): Add new cases.
11283 * config/s390/s390.md (mem_thread_fence, atomic_store<mode>): Use new
11284 accessors.
11285 * config/sparc/sparc.c (sparc_emit_membar_for_model): Use new accessors.
11286 * doc/extend.texi: Update docs to indicate 16 bits are used for memory
11287 model, not 8.
11288
11289 2015-05-12 Jan Hubicka <hubicka@ucw.cz>
11290
11291 * ipa-devirt.c (type_with_linkage_p): New function.
11292 (type_in_anonymous_namespace_p): Move here from tree.c; assert that
11293 type has linkage.
11294 (odr_type_p): Move here from ipa-utils.h; use type_with_linkage_p.
11295 (can_be_name_hashed_p): Simplify.
11296 (hash_odr_name): Check that type has linkage before checking if it is
11297 anonymous.
11298 (types_same_for_odr): Likewise.
11299 (odr_name_hasher::equal): Likewise.
11300 (odr_subtypes_equivalent_p): Likewise.
11301 (warn_types_mismatch): Likewise.
11302 (get_odr_type): Likewise.
11303 (odr_types_equivalent_p): Fix checking of TYPE_MAIN_VARIANT.
11304 * ipa-utils.h (odr_type_p): Move offline.
11305 * tree.c (need_assembler_name_p): Fix handling of types
11306 without linkages.
11307 (type_in_anonymous_namespace_p): Move to ipa-devirt.c
11308
11309 2015-05-12 David Malcolm <dmalcolm@redhat.com>
11310
11311 * timevar.c (timevar_enable): Delete in favor of...
11312 (g_timer): New global.
11313 (struct timevar_def): Move to timevar.h inside class timer.
11314 (struct timevar_stack_def): Likewise.
11315 (timevars): Delete global in favor of field "m_timevars" within
11316 class timer in timevar.h
11317 (stack): Likewise, in favor of field "m_stack".
11318 (unused_stack_instances): Likewise, in favor of field
11319 "m_unused_stack_instances".
11320 (start_time): Likewise, in favor of field "m_start_time".
11321 (get_time): Eliminate check for timevar_enable.
11322 (timer::timer): New function, built from part of timevar_init.
11323 (timevar_init): Rewrite idempotency test from using
11324 "timevar_enable" bool to using dynamic allocation of "g_timer".
11325 Move rest of implementation into timer's constructor.
11326 (timevar_push_1): Rename to...
11327 (timer::push): ...this, adding "m_" prefixes to variables that
11328 are now fields of timer.
11329 (timevar_pop_1): Likewise, rename to...
11330 (timer::pop): ...this, and add "m_" prefixes.
11331 (timevar_start): Replace test for "timevar_enable" with one for
11332 "g_timer", and move bulk of implementation to...
11333 (timer::start): ...here, adding "m_" prefixes.
11334 (timevar_stop): Likewise, from here...
11335 (timer::stop): ...to here.
11336 (timevar_cond_start): Likewise, from here...
11337 (timer::cond_start): ...to here.
11338 (timevar_cond_stop): Likewise, from here...
11339 (timer::cond_stop): ...to here.
11340 (validate_phases): Rename to...
11341 (timer::validate_phases): ...this, and add "m_" prefixes. Make
11342 locals "total" and "tv" const.
11343 (timevar_print): Rename to...
11344 (timer::print): ...this, and add "m_" prefixes. Make locals
11345 "total" and "tv" const. Eliminate test for timevar_enable.
11346 * timevar.h (timevar_enable): Eliminate.
11347 (g_timer): New declaration.
11348 (timevar_push_1): Eliminate.
11349 (timevar_pop_1): Eliminate.
11350 (timevar_print): Eliminate.
11351 (class timer): New class.
11352 (timevar_push): Rewrite to use g_timer.
11353 (timevar_pop): Likewise.
11354 * toplev.c (toplev::~toplev): Likewise.
11355
11356 2015-05-12 Richard Earnshaw <rearnsha@arm.com>
11357
11358 * arm-protos.h (arm_sched_autopref): Delete.
11359 (tune_params): Re-organize, use enums for flag values.
11360 (FUSE_OPS): New macro.
11361 * arm.c (ARM_PREFETCH_NOT_BENEFICIAL): Update.
11362 (ARM_PREFETCH_BENEFICIAL): Likewise.
11363 (ARM_FUSE_NOTHING, ARM_FUSE_MOVW_MOVT): Delete.
11364 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune)
11365 (arm_xscale_tune, arm_9e_tune, arm_marvell_pj4_tune)
11366 (arm_v6t2_tune, arm_cortex_tune, arm_cortex_a8_tune)
11367 (arm_cortex_a7_tune, arm_cortex_a15_tune, arm_cortex_a53_tune)
11368 (arm_cortex_a57_tune, arm_xgene1_tune, arm_cortex_a5_tune)
11369 (arm_cortex_a9_tune, arm_cortex_a12_tune, arm_v7m_tune)
11370 (arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune): Use new
11371 format.
11372 (arm_option_override, thumb2_reorg, arm_print_tune_info)
11373 (aarch_macro_fusion_pair_p): Update uses of current_tune.
11374 * arm.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Likewise.
11375
11376 2015-05-12 Sandra Loosemore <sandra@codesourcery.com>
11377
11378 * config/nios2/nios2.md (trap, ctrapsi4): Use "trap" instead of
11379 "break".
11380
11381 2015-05-12 Chung-Lin Tang <cltang@codesourcery.com>
11382 Sandra Loosemore <sandra@codesourcery.com>
11383
11384 * config/nios2/nios2.h (enum reg_class): Add IJMP_REGS enum
11385 value.
11386 (REG_CLASS_NAMES): Add "IJMP_REGS".
11387 (REG_CLASS_CONTENTS): Add new entry for IJMP_REGS.
11388 * config/nios2/nios2.md (indirect_jump,*tablejump): Adjust to
11389 use new "c" register constraint.
11390 * config/nios2/constraint.md (c): New register constraint
11391 corresponding to IJMP_REGS.
11392
11393 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
11394
11395 * config/rs6000/rs6000.md (*rotlsi3_internal4, *rotlsi3_internal5,
11396 *rotlsi3_internal6, rlwinm, 5 unnamed define_insns, and 6
11397 define_splits): Delete, revamp, transmogrify into ...
11398 (*rotlsi3_mask, *rotlsi3_mask_dot, *rotlsi3_mask_dot2,
11399 *ashlsi3_imm_mask, *ashlsi3_imm_mask_dot, *ashlsi3_imm_mask_dot2,
11400 *lshrsi3_imm_mask, *lshrsi3_imm_mask_dot, *lshrsi3_imm_mask_dot2):
11401 New.
11402
11403 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
11404
11405 * config/rs6000/rs6000.md (rs6000_adjust_atomic_subword): Use
11406 gen_ashlsi3 and gen_andsi3 instead of gen_rlwinm.
11407
11408 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
11409
11410 * config/rs6000/rs6000.md (extzv): FAIL for SImode.
11411 (extzvsi_internal, *extzvsi_internal1, *extzvsi_internal2,
11412 *rotlsi3_internal7le, *rotlsi3_internal7be, *rotlsi3_internal8le,
11413 *rotlsi3_internal8be, *rotlsi3_internal9le, *rotlsi3_internal9be,
11414 *rotlsi3_internal10le, *rotlsi3_internal10be, *rotlsi3_internal11le,
11415 *rotlsi3_internal11be, *rotlsi3_internal12le, *rotlsi3_internal12be,
11416 *lshiftrt_internal1le, *lshiftrt_internal1be, *lshiftrt_internal2le,
11417 *lshiftrt_internal2be, *lshiftrt_internal3le, *lshiftrt_internal3be,
11418 *lshiftrt_internal4le, *lshiftrt_internal4be, *lshiftrt_internal5le,
11419 *lshiftrt_internal5be, *lshiftrt_internal5le, *lshiftrt_internal5be,
11420 *rotldi3_internal7le, *rotldi3_internal7be, *rotldi3_internal8le,
11421 *rotldi3_internal8be, *rotldi3_internal9le, *rotldi3_internal9be,
11422 *rotldi3_internal10le, *rotldi3_internal10be, *rotldi3_internal11le,
11423 *rotldi3_internal11be, *rotldi3_internal12le, *rotldi3_internal12be,
11424 *rotldi3_internal13le, *rotldi3_internal13be, *rotldi3_internal14le,
11425 *rotldi3_internal14be, *rotldi3_internal15le, *rotldi3_internal15be,
11426 and 30 corresponding splitters): Delete.
11427
11428 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
11429
11430 * config/rs6000/rs6000.md (define_split for bswaphi): Don't use
11431 zero_extract.
11432
11433 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
11434
11435 * combine.c (recog_for_combine_1): New function, factored out
11436 from recog_for_combine.
11437 (change_zero_ext): New function.
11438 (recog_for_combine): If recog fails, try again with the pattern
11439 modified by change_zero_ext; if that still fails, restore the
11440 pattern.
11441
11442 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
11443
11444 * combine.c (get_undo_marker): New function.
11445 (undo_to_marker): New function, largely factored out from ...
11446 (undo_all): ... this. Adjust.
11447
11448 2015-05-12 Richard Biener <rguenther@suse.de>
11449
11450 PR tree-optimization/66101
11451 * tree-ssa-dce.c (remove_dead_stmt): Properly mark loops for
11452 fixup if we turn a loop exit edge to a fallthru edge.
11453
11454 2015-05-12 Richard Biener <rguenther@suse.de>
11455
11456 PR tree-optimization/37021
11457 * tree-vectorizer.h (struct _slp_tree): Add two_operators flag.
11458 (SLP_TREE_TWO_OPERATORS): New define.
11459 * tree-vect-slp.c (vect_create_new_slp_node): Initialize
11460 SLP_TREE_TWO_OPERATORS.
11461 (vect_build_slp_tree_1): Allow two mixing plus/minus in an
11462 SLP node.
11463 (vect_build_slp_tree): Adjust.
11464 (vect_analyze_slp_cost_1): Likewise.
11465 (vect_schedule_slp_instance): Vectorize mixing plus/minus by
11466 emitting two vector stmts and mixing the results.
11467
11468 2015-05-12 Dominik Vogt <vogt@linux.vnet.ibm.com>
11469
11470 * call.c (print_z_candidates): Remove dead code.
11471
11472 2015-05-12 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
11473
11474 * config/s390/2827.md: Split zEC12_simple into zEC12_simple_int
11475 and zEC12_simple_fp.
11476 * config/s390/s390.c (s390_issue_rate): Set issue rate for zEC12
11477 to 1.
11478
11479 2015-05-12 Tom de Vries <tom@codesourcery.com>
11480
11481 PR tree-optimization/66010
11482 * gimplify.c (gimplify_modify_expr): Handle new do_deref argument of
11483 ifn_va_arg.
11484 * gimplify.h (gimplify_va_arg_internal): Remove loc parameter.
11485 (gimplify_va_arg_internal): Remove loc parameter. Assert no array-typed
11486 va_lists are passed, and remove corresponding handling.
11487 (gimplify_va_arg_expr): Only take address of ap if necessary. Add
11488 do_deref argument to ifn_va_arg.
11489 * tree-stdarg.c (expand_ifn_va_arg_1): Handle new do_deref argument of
11490 ifn_va_arg.
11491
11492 2015-05-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11493
11494 PR target/65955
11495 * config/arm/arm.md (movcond_addsi): Check that operands[2] is a
11496 REG before taking its REGNO.
11497
11498 2015-05-12 Thomas Preud'homme <thomas.preudhomme@arm.com>
11499
11500 * combine.c i(set_nonzero_bits_and_sign_copies): Split code updating
11501 rsp->sign_bit_copies and rsp->nonzero_bits into ...
11502 (update_rsp_from_reg_equal): This. Also use REG_EQUAL note on src if
11503 present to get more accurate information about the number of sign bit
11504 copies and non zero bits.
11505
11506 2015-05-12 Richard Biener <rguenther@suse.de>
11507
11508 * tree-vect-slp.c (vect_build_slp_tree_1): For BB vectorization
11509 do not allow unrolling.
11510
11511 2015-05-11 Richard Henderson <rth@redhat.com>
11512
11513 * config/i386/i386-modes.def (CCP): New.
11514 * config/i386/i386.c (put_condition_code): Handle it.
11515 (ix86_match_ccmode, ix86_cc_modes_compatible): Likewise.
11516
11517 2015-05-11 Richard Henderson <rth@redhat.com>
11518
11519 * target.def (md_asm_clobbers): Replace with...
11520 (md_asm_adjust): this.
11521 * tm.texi.in (TARGET_MD_ASM_CLOBBERS): Remove.
11522 (TARGET_MD_ASM_ADJUST): New.
11523 * tm.texi: Rebuild.
11524 * hooks.c (hook_tree_tree_tree_tree_3rd_identity): Remove.
11525 * hooks.h (hook_tree_tree_tree_tree_3rd_identity): Remove.
11526 * system.h (TARGET_MD_ASM_CLOBBERS): Poison.
11527
11528 * cfgexpand.c (check_operand_nalternatives): Accept vector of
11529 constraints instead of lists of outputs and inputs.
11530 (expand_asm_stmt): Save and restore input_location around the
11531 body of the function. Move asm data into vectors instead of
11532 building tree lists. Generate cleanup sequences as needed,
11533 rather than waiting til the end. Use new md_asm_adjust hook.
11534
11535 * config/vxworks.c: Include vec.h before target.h.
11536 * gimple.c: Likewise.
11537 * incpath.c: Likewise.
11538 * mode-switching.c: Likewise.
11539
11540 * config/cris/cris.c (cris_md_asm_clobbers): Convert to...
11541 (cris_md_asm_adjust): this.
11542 (TARGET_MD_ASM_CLOBBERS): Remove.
11543 (TARGET_MD_ASM_ADJUST): New.
11544 * config/i386/i386.c (ix86_md_asm_clobbers): Convert to...
11545 (ix86_md_asm_adjust): this.
11546 (TARGET_MD_ASM_CLOBBERS): Remove.
11547 (TARGET_MD_ASM_ADJUST): New.
11548 * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): Convert to...
11549 (mn10300_md_asm_adjust): this.
11550 (TARGET_MD_ASM_CLOBBERS): Remove.
11551 (TARGET_MD_ASM_ADJUST): New.
11552 * config/rs6000/rs6000.c (rs6000_md_asm_clobbers): Convert to...
11553 (rs6000_md_asm_adjust): this.
11554 (TARGET_MD_ASM_CLOBBERS): Remove.
11555 (TARGET_MD_ASM_ADJUST): New.
11556 * config/visium/visium.c (visium_md_asm_clobbers): Convert to...
11557 (visium_md_asm_adjust): this.
11558 (TARGET_MD_ASM_CLOBBERS): Remove.
11559 (TARGET_MD_ASM_ADJUST): New.
11560
11561 2015-05-11 Richard Henderson <rth@redhat.com>
11562
11563 * gimplify.c (gimplify_asm_expr): Set gimple_asm_volatile_p
11564 if noutputs is zero.
11565 * cfgexpand.c (expand_asm_stmt): Use gimple_asm_volatile_p unchanged.
11566
11567 * cfgexpand.c (expand_asm_operands): Merge into...
11568 (expand_asm_stmt): ... here.
11569
11570 * cfgexpand.c (expand_asm_operands): Don't call
11571 resolve_asm_operand_names.
11572 * stmt.c (resolve_asm_operand_names): Clarify block comment.
11573
11574 2015-05-11 Jan Hubicka <hubicka@ucw.cz>
11575
11576 * dwarf2out.c (gen_member_die): Sanity check that we access
11577 TYPE_MAIN_VARIANT for TYPE_METHODS.
11578 * function.c (use_register_for_decl): Look for TYPE_MAIN_VARIANT when
11579 checking TYPE_METHODS.
11580 * tree.c (free_lang_data_in_type): See TYPE_METHODS to error_mark_node
11581 if non-null.
11582 (build_distinct_type_copy): Clear TYPE_METHODS.
11583 (verify_type_variant): Verify that TYPE_METHODS is NULL for variants.
11584 (verify_type): Allow TYPE_METHODS to be error_mark_node.
11585 * tree.def: Update docs of TYPE_STUB_DECL and TYPE_METHODS.
11586
11587 2015-05-11 Eric Botcazou <ebotcazou@adacore.com>
11588
11589 * emit-rtl.c (emit_pattern_after_setloc): Add missing guard.
11590 (emit_pattern_before_setloc): Likewise.
11591
11592 2015-05-11 Richard Sandiford <richard.sandiford@arm.com>
11593
11594 * genrecog.c (match_pattern_1): Expect the pattern to be a SEQUENCE
11595 for define_peephole2s.
11596 (get_peephole2_pattern): New function.
11597 (main): Use it. Call validate_pattern.
11598
11599 2015-05-11 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
11600
11601 * config/avr/avr.c (avr_hard_regno_call_part_clobbered): Use
11602 LAST_CALLEE_SAVED_REG instead of hard-coded register number.
11603 (Last callee saved reg is different for AVR_TINY architecture)
11604
11605 2015-05-11 Uros Bizjak <ubizjak@gmail.com>
11606
11607 * config/i386/i386.c (ix86_loop_unroll_adjust): Use PATTERN (insn)
11608 when looking for memory references.
11609
11610 2015-05-11 Alexander Monakov <amonakov@ispras.ru>
11611
11612 PR target/65753
11613 * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow PIC sibcalls
11614 via function pointers.
11615
11616 2015-05-11 Alexander Monakov <amonakov@ispras.ru>
11617
11618 * calls.c (prepare_call_address): Transform PLT call to GOT lookup and
11619 indirect call by forcing address into a pseudo with -fno-plt.
11620 * common.opt (flag_plt): New option.
11621 * doc/invoke.texi (Code Generation Options): Add -fno-plt.
11622 ([-fno-plt]): Document.
11623
11624 2015-05-11 Markus Trippelsdorf <markus@trippelsdorf.de>
11625
11626 PR bootstrap/66105
11627 * config/rs6000/option-defaults.h: Add space between string literal
11628 and macro name.
11629
11630 2015-05-11 Thomas Preud'homme <thomas.preudhomme@arm.com>
11631
11632 * gcc.target/arm/pr64616.c: Test dump rather than assembly to work
11633 accross ARM targets.
11634
11635 2015-05-11 Christian Bruel <christian.bruel@st.com>
11636
11637 * config/arm/arm-protos.h (thumb_code, thumb1_code): Remove.
11638 * config/arm/vxworks.h (thumb_code): Replace with TARGET_THUMB.
11639
11640 2015-05-11 Richard Sandiford <richard.sandiford@arm.com>
11641
11642 PR rtl-optimization/66076
11643 * rtlanal.c (generic_subrtx_iterator <T>::add_single_to_queue):
11644 Don't grow the heap array if it is already big enough from a
11645 previous iteration.
11646
11647 2015-05-11 Christian Bruel <christian.bruel@st.com>
11648
11649 * config/arm/arm-protos.h (arm_declare_function_name): Declare.
11650 (is_called_in_ARM_mode): Remove.
11651 * config/arm/arm.c (is_called_in_ARM_mode): Declare static bool.
11652 (arm_declare_function_name): Moved from from ARM_DECLARE_FUNCTION_NAME.
11653 * config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME): Call
11654 arm_declare_function_name.
11655
11656 2015-05-11 Christian Bruel <christian.bruel@st.com>
11657
11658 * config/arm/arm.c (arm_option_override): Reoganized and split into :
11659 (arm_option_params_internal); New function.
11660 (arm_option_check_internal): New function.
11661 (arm_option_override_internal): New function.
11662 (thumb_code, thumb1_code): Remove.
11663 * config/arm/arm.h (TREE_TARGET_THUMB, TREE_TARGET_THUMB1): New macros.
11664 (TREE_TARGET_THUM2, TREE_TARGET_ARM): Likewise.
11665 (thumb_code, thumb1_code): Remove.
11666 * config/arm/arm.md (is_thumb, is_thumb1): Check TARGET flag.
11667
11668 2015-05-11 Uros Bizjak <ubizjak@gmail.com>
11669
11670 * config/alpha/alpha.c (alpha_emit_set_const_1)
11671 (alpha_emit_set_long_const, alpha_extract_integer)
11672 (alpha_legitimate_constant_p, alpha_split_const_mov)
11673 (alpha_expand_block_clear, alpha_expand_zap_mask, print_operand):
11674 [HOST_BITS_PER_WIDE_INT < 64]: Remove dead code.
11675 (alpha_emit_set_const_1): Change "(HOST_WIDE_INT) 1" to
11676 HOST_WIDE_INT_1U.
11677 * config/alpha/predicates.md (mode_mask_operand): Do not match
11678 const_double RTX.
11679 [HOST_BITS_PER_WIDE_INT < 64]: Remove dead code.
11680 * config/alpha/alpha.md (abstf, *abstf_internal, UNSPEC_ZAP splitter):
11681 Change "(HOST_WIDE_INT) 1" to HOST_WIDE_INT_1U.
11682 [HOST_BITS_PER_WIDE_INT < 64]: Remove dead code.
11683 (*negtf_internal): Use gen_int_mode instead of immed_double_const.
11684
11685 2015-05-11 Jakub Jelinek <jakub@redhat.com>
11686
11687 PR target/65780
11688 * config/s390/linux.h (TARGET_BINDS_LOCAL_P): Define to
11689 default_binds_local_p_2.
11690 * config/arm/linux-elf.h (TARGET_BINDS_LOCAL_P): Likewise.
11691 * config/aarch64/aarch64-linux.h (TARGET_BINDS_LOCAL_P): Likewise.
11692
11693 2015-05-09 Jan Hubicka <hubicka@ucw.cz>
11694
11695 * tree.c (verify_type_variant): Check TYPE_VALUES_RAW and TYPE_PRECISION
11696
11697 2015-05-09 Jan Hubicka <hubicka@ucw.cz>
11698
11699 Patch by Richard Biener
11700 * coverage.c (coverage_obj_init): Delay building of type variant
11701 until the type is finished.
11702
11703 2015-05-09 Jan Hubicka <hubicka@ucw.cz>
11704
11705 * ipa-devirt.c (warn_types_mismatch): Do not ICE when warning about
11706 mismatch between C and C++ type; compoare correctly ARG_TYPES
11707 for non-prototypes and output correctly parameter index for METHOD_TYPE.
11708 (odr_types_equivalent_p): Fix wording of warning about attributes;
11709 it is OK to match prototype and non-prototype.
11710
11711 2015-05-09 Jan Hubicka <hubicka@ucw.cz>
11712
11713 * tree.c (free_lang_data_in_type): Free TREE_PURPOSE of
11714 TYPE_ARG_TYPES list.
11715 (verify_type): Permit non-NULL TREE_PURPOSE in non-LTO builds.
11716 * tree.def (FUNCTION_TYPE): Document TREE_PURPOSE in TYPE_ARG_TYPES
11717
11718 2015-05-09 Jan Hubicka <hubicka@ucw.cz>
11719
11720 * tree.c (verify_type): Verify TYPE_BINFO and TYPE_VALUES_RAW.
11721 * tree.h (is_lang_specific): Constify.
11722
11723 2015-05-09 Marc Glisse <marc.glisse@inria.fr>
11724
11725 PR tree-optimization/64454
11726 * tree-vrp.c (extract_range_from_binary_expr_1) <TRUNC_MOD_EXPR>:
11727 Rewrite.
11728
11729 2015-05-08 Jason Merrill <jason@redhat.com>
11730
11731 * bitmap.c, c/c-aux-info.c, cfg.c, cfghooks.c, cgraph.c,
11732 config/aarch64/aarch64.md config/alpha/vms.h, config/darwin.c,
11733 config/darwin.h, config/darwin9.h, config/elfos.h,
11734 config/i386/bsd.h, config/ia64/ia64.c, config/lm32/lm32.h,
11735 config/microblaze/microblaze.h, config/mips/mips.h,
11736 config/mmix/mmix.c, config/msp430/msp430.c, config/nios2/nios2.h,
11737 config/nvptx/nvptx.c, config/nvptx/nvptx.h, config/pa/pa.c,
11738 config/pa/pa.h, config/rs6000/rs6000.c, config/rs6000/sysv4.h,
11739 config/rs6000/xcoff.h, config/rx/rx.h, config/s390/s390.h,
11740 config/sparc/sol2.h, config/sparc/sparc.h, config/visium/visium.h,
11741 cppbuiltin.c, defaults.h, doc/invoke.texi, dwarf2cfi.c,
11742 dwarf2out.c, final.c, gcc.c, gcov-dump.c, gcov.c, ipa-cp.c,
11743 ipa-inline.c, ipa-polymorphic-call.c, ipa-profile.c, ipa-prop.c,
11744 ira-color.c, ira.c, loop-doloop.c, loop-iv.c, mcf.c,
11745 modulo-sched.c, predict.c, profile.c, stor-layout.c, toplev.c,
11746 tree-ssa-reassoc.c, value-prof.c, wide-int-print.cc: Add space
11747 between string literal and macro name.
11748
11749 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11750
11751 * jump.c: Change argument types to rtx_insn *.
11752 * rtl.h: Adjust.
11753
11754 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11755
11756 * lra-constraints.c: Change argument type to rtx_insn *.
11757
11758 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11759
11760 * df-problems.c: Change argument type to rtx_insn *.
11761
11762 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11763
11764 * combine.c: Change argument type to rtx_insn *.
11765
11766 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11767
11768 * rtl.h: Adjust.
11769 * rtlanal.c: Change argument type to rtx_insn *.
11770
11771 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11772
11773 * sched-deps.c: Change argument types to rtx_insn *.
11774 * sched-int.h: Adjust.
11775
11776 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11777
11778 * dwarf2cfi.c: Change argument type to rtx_insn *.
11779
11780 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11781
11782 * ira.c (decrease_live_ranges_number): Changetype of local
11783 variable to rtx_insn *.
11784 * recog.c: Change argument types to rtx_insn *.
11785 * recog.h: Adjust.
11786
11787 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11788
11789 * reorg.c: Change argument types to rtx_insn *.
11790
11791 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11792
11793 * ira-color.c: Change argument types to rtx_insn *.
11794 * lra-eliminations.c: Likewise.
11795 * ira.h: Adjust.
11796
11797 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11798
11799 * gcse.c: Change argument types to rtx_insn *.
11800
11801 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11802
11803 * cse.c (cse_change_cc0_mode): Change argument type to rtx_insn *.
11804
11805 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11806
11807 * emit-rtl.c (emit_debug_insn_before): Change argument type to
11808 rtx_insn *.
11809 * rtl.h: Adjust.
11810
11811 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11812
11813 * emit-rtl.c (emit_note_before): Change argument type to rtx_insn *.
11814 * rtl.h: Adjust.
11815
11816 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11817
11818 * emit-rtl.c (emit_note_after): Change argument type to rtx_insn *.
11819 * rtl.h: Adjust.
11820
11821 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11822
11823 * emit-rtl.c (prev_cc0_setter): Change argument type to rtx_insn *.
11824 * rtl.h: Adjust.
11825
11826 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11827
11828 * rtlanal.c (noop_move_p): Change argument type to rtx_insn *.
11829 * rtl.h: Adjust.
11830
11831 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11832
11833 * rtlanal.c (add_shallow_copy_of_reg_note): Change argument type
11834 to rtx_insn *.
11835 * rtl.h: Adjust.
11836
11837 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11838
11839 * rtlanal.c (remove_reg_equal_equiv_notes): Change argument type
11840 to rtx_insn *.
11841 * rtl.h: Likewise.
11842
11843 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11844
11845 * except.c (can_nonlocal_goto): Change type of argument to
11846 rtx_insn *.
11847 * rtl.h: Adjust.
11848
11849 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11850
11851 * rtlanal.c (computed_jump_p): Cange argument type to rtx_insn *.
11852 * rtl.h: Adjust.
11853
11854 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11855
11856 * rtlanal.c (in_insn_list_p): Renamed from in_expr_list_p.
11857 * cfgrtl.c (can_delete_label_p): Adjust.
11858 * rtl.h: likewise.
11859
11860 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11861
11862 * reorg.c (stop_search_p): Change argument to rtx_insn *.
11863
11864 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11865
11866 * except.c (make_reg_eh_region_note): Change argument to
11867 rtx_insn *.
11868 (make_reg_eh_region_note_nothrow_nononlocal): Likewise.
11869 * except.h: Adjust.
11870
11871 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11872
11873 * mode-switching.c (commit_mode_sets): Change type of local
11874 variable from rtx to rtx_insn *.
11875
11876 2015-05-08 Jim Wilson <jim.wilson@linaro.org>
11877
11878 * doc/install.texi (--enable-languages): Add missing jit and lto info.
11879 Add ^ to grep command.
11880 * doc/match-and-simplify.texi (GIMPLE API): Add missing fourth tree
11881 arg to last gimple_simplify declaration. Add missing gimple_build
11882 declaration for built-in function case with four tree args.
11883
11884 2015-05-08 Gregor Richards <gregor.richards@uwaterloo.ca>
11885 Szabolcs Nagy <szabolcs.nagy@arm.com>
11886
11887 * config/mips/linux.h (MUSL_DYNAMIC_LINKER32): Define.
11888 (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERN32): Define.
11889 (GNU_USER_DYNAMIC_LINKERN32): Update.
11890
11891 2015-05-08 Richard Biener <rguenther@suse.de>
11892
11893 PR tree-optimization/66036
11894 * tree-vect-data-refs.c (vect_compute_data_ref_alignment):
11895 Handle strided group loads.
11896 (vect_verify_datarefs_alignment): Likewise.
11897 (vect_enhance_data_refs_alignment): Likewise.
11898 (vect_analyze_group_access): Likewise.
11899 (vect_analyze_data_ref_access): Likewise.
11900 (vect_analyze_data_ref_accesses): Likewise.
11901 * tree-vect-stmts.c (vect_model_load_cost): Likewise.
11902 (vectorizable_load): Likewise.
11903
11904 2015-05-08 Segher Boessenkool <segher@kernel.crashing.org>
11905
11906 * config/rs6000/rs6000.md: Require operand inequality in one
11907 of the peepholes.
11908
11909 2015-05-08 Richard Sandiford <richard.sandiford@arm.com>
11910 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
11911
11912 * config/i386/i386.md (<mode>_ldx, *<mode>_ldx): Remove mode
11913 from (set ...).
11914 * config/rx/rx.md (movdi, movdf): Likewise.
11915 Likewise for define_peephole2s.
11916
11917 2015-05-08 Alan Lawrence <alan.lawrence@arm.com>
11918
11919 * config/aarch64/arm_neon.h (vceq_s64, vceq_u64, vceqz_s64, vceqz_u64,
11920 vcge_s64, vcge_u64, vcgez_s64, vcgt_s64, vcgt_u64, vcgtz_s64, vcle_s64,
11921 vcle_u64, vclez_s64, vclt_s64, vclt_u64, vcltz_s64, vtst_s64,
11922 vtst_u64): Rewrite using gcc vector extensions.
11923
11924 2015-05-08 Alan Lawrence <alan.lawrence@arm.com>
11925
11926 * config/aarch64/aarch64-simd.md (aarch64_vcond_internal<mode><mode>,
11927 vcond<mode><mode>, vcondu<mode><mode>): Add DImode variant.
11928
11929 2015-05-08 Alan Lawrence <alan.lawrence@arm.com>
11930
11931 * optabs.c (vector_compare_rtx): Handle RTL operands having VOIDmode.
11932
11933 2015-05-08 Szabolcs Nagy <szabolcs.nagy@arm.com>
11934
11935 * config/glibc-stdint.h (OPTION_MUSL): Define.
11936 (INT_FAST16_TYPE, INT_FAST32_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE):
11937 Change the definition based on OPTION_MUSL for 64 bit targets.
11938 * config/linux.h (OPTION_MUSL): Redefine.
11939 * config/alpha/linux.h (OPTION_MUSL): Redefine.
11940 * config/rs6000/linux.h (OPTION_MUSL): Redefine.
11941 * config/rs6000/linux64.h (OPTION_MUSL): Redefine.
11942
11943 2015-05-08 Gregor Richards <gregor.richards@uwaterloo.ca>
11944 Szabolcs Nagy <szabolcs.nagy@arm.com>
11945
11946 * config.gcc (LIBC_MUSL): New tm_defines macro.
11947 * config/linux.h (OPTION_MUSL): Define.
11948 (MUSL_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER32,)
11949 (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERX32,)
11950 (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
11951 (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
11952 (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
11953 * config/linux.opt (mmusl): New option.
11954 * doc/invoke.texi (GNU/Linux Options): Document -mmusl.
11955 * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
11956 (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.
11957 * configure: Regenerate.
11958
11959 2015-05-08 H.J. Lu <hongjiu.lu@intel.com>
11960 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
11961
11962 PR target/48904
11963 * config.gcc (x86_64-*-knetbsd*-gnu): Add i386/knetbsd-gnu64.h.
11964 * config/i386/knetbsd-gnu64.h: New file.
11965
11966 2015-05-08 Marek Polacek <polacek@redhat.com>
11967
11968 PR c/64918
11969 * doc/invoke.texi: Document -Woverride-init-side-effects.
11970
11971 2015-05-07 Marek Polacek <polacek@redhat.com>
11972
11973 PR c/65179
11974 * doc/invoke.texi: Document -Wshift-negative-value.
11975
11976 2015-05-06 Aditya Kumar <hiraditya@msn.com>
11977
11978 * gcov-tool.c (do_merge): Refactore to remove int ret.
11979 * ipa-icf.c (sem_item::hash_referenced_symbol_properties): Change
11980 !type == FUNC to type != FUNC.
11981 * reload.h (struct target_reload): Changee to type of
11982 x_spill_indirect_levels from bool to unsigned char.
11983
11984 2015-05-07 Richard Sandiford <richard.sandiford@arm.com>
11985
11986 * rtl.h (always_void_p): New function.
11987 * gengenrtl.c (always_void_p): Likewise.
11988 (genmacro): Don't add a mode parameter to gen_rtx_foo if rtxes
11989 with code foo are always VOIDmode.
11990 * genemit.c (gen_exp): Update gen_rtx_foo calls accordingly.
11991 * builtins.c, caller-save.c, calls.c, cfgexpand.c, combine.c,
11992 compare-elim.c, config/aarch64/aarch64.c,
11993 config/aarch64/aarch64.md, config/alpha/alpha.c,
11994 config/alpha/alpha.md, config/arc/arc.c, config/arc/arc.md,
11995 config/arm/arm-fixed.md, config/arm/arm.c, config/arm/arm.md,
11996 config/arm/ldrdstrd.md, config/arm/thumb2.md, config/arm/vfp.md,
11997 config/avr/avr.c, config/bfin/bfin.c, config/c6x/c6x.c,
11998 config/c6x/c6x.md, config/cr16/cr16.c, config/cris/cris.c,
11999 config/cris/cris.md, config/darwin.c, config/epiphany/epiphany.c,
12000 config/epiphany/epiphany.md, config/fr30/fr30.c, config/frv/frv.c,
12001 config/frv/frv.md, config/h8300/h8300.c, config/i386/i386.c,
12002 config/i386/i386.md, config/i386/sse.md, config/ia64/ia64.c,
12003 config/ia64/vect.md, config/iq2000/iq2000.c,
12004 config/iq2000/iq2000.md, config/lm32/lm32.c, config/lm32/lm32.md,
12005 config/m32c/m32c.c, config/m32r/m32r.c, config/m68k/m68k.c,
12006 config/m68k/m68k.md, config/mcore/mcore.c, config/mcore/mcore.md,
12007 config/mep/mep.c, config/microblaze/microblaze.c,
12008 config/mips/mips.c, config/mips/mips.md, config/mmix/mmix.c,
12009 config/mn10300/mn10300.c, config/msp430/msp430.c,
12010 config/nds32/nds32-memory-manipulation.c, config/nds32/nds32.c,
12011 config/nds32/nds32.md, config/nios2/nios2.c, config/nvptx/nvptx.c,
12012 config/pa/pa.c, config/pa/pa.md, config/rl78/rl78.c,
12013 config/rs6000/altivec.md, config/rs6000/rs6000.c,
12014 config/rs6000/rs6000.md, config/rs6000/vector.md,
12015 config/rs6000/vsx.md, config/rx/rx.c, config/rx/rx.md,
12016 config/s390/s390.c, config/s390/s390.md, config/sh/sh.c,
12017 config/sh/sh.md, config/sh/sh_treg_combine.cc,
12018 config/sparc/sparc.c, config/sparc/sparc.md, config/spu/spu.c,
12019 config/spu/spu.md, config/stormy16/stormy16.c,
12020 config/tilegx/tilegx.c, config/tilegx/tilegx.md,
12021 config/tilepro/tilepro.c, config/tilepro/tilepro.md,
12022 config/v850/v850.c, config/v850/v850.md, config/vax/vax.c,
12023 config/visium/visium.c, config/xtensa/xtensa.c, cprop.c, dse.c,
12024 expr.c, gcse.c, ifcvt.c, ira.c, jump.c, lower-subreg.c,
12025 lra-constraints.c, lra-eliminations.c, lra.c, postreload.c, ree.c,
12026 reg-stack.c, reload.c, reload1.c, reorg.c, sel-sched.c,
12027 var-tracking.c: Update calls accordingly.
12028
12029 2015-05-07 Segher Boessenkool <segher@kernel.crashing.org>
12030
12031 PR middle-end/192
12032 PR middle-end/54303
12033 * varasm.c (function_mergeable_rodata_prefix): New function.
12034 (mergeable_string_section): Use it.
12035 (mergeable_constant_section): Use it.
12036
12037 2015-05-07 Jeff Law <law@redhat.com>
12038
12039 PR target/39726
12040 * match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New
12041 simplifier to narrow arithmetic.
12042 * generic-match-head.c: (types_match, single_use): New functions.
12043 * gimple-match-head.c: (types_match, single_use): New functions.
12044
12045 2015-05-07 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
12046
12047 * combine.c (make_compound_operation): Remove checks for PLUS/MINUS
12048 rtx type.
12049
12050 2015-05-07 Richard Biener <rguenther@suse.de>
12051
12052 PR tree-optimization/66002
12053 * passes.def: Schedule another pass_merge_phi after ifcombine, right
12054 before phiopt.
12055
12056 2015-05-07 Marek Polacek <polacek@redhat.com>
12057 Martin Uecker <uecker@eecs.berkeley.edu>
12058
12059 * doc/invoke.texi: Document -fsanitize=bounds-strict.
12060 * flag-types.h (enum sanitize_code): Add SANITIZE_BOUNDS_STRICT, or it
12061 into SANITIZE_NONDEFAULT.
12062 * opts.c (common_handle_option): Handle -fsanitize=bounds-strict.
12063
12064 2015-05-07 Uros Bizjak <ubizjak@gmail.com>
12065
12066 PR target/66015
12067 * config/alpha/alpha.c (alpha_override_options_after_change): New.
12068 (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): New.
12069 (alpha_override_options): Move align_loops, align_jumps and
12070 align_functions handling into alpha_override_options_after_change.
12071
12072 2015-05-06 Sandra Loosemore <sandra@codesourcery.com>
12073 Chris Jones <chrisj@nvidia.com>
12074 Joshua Conner <jconner@nvidia.com>
12075
12076 * config/arm/unknown-elf.h (STARTFILE_SPEC): Add conditional
12077 linking of crtfastmath.o.
12078 * config/arm/linux-eabi.h (STARTFILE_SPEC): Likewise.
12079
12080 2015-05-06 Segher Boessenkool <segher@kernel.crashing.org>
12081
12082 * config/rs6000/rs6000.md (cstore<mode>4_signed_imm): New expander.
12083 (cstore<mode>4_unsigned_imm): New expander.
12084 (cstore<mode>4): Remove empty constraint strings. Use the new
12085 expanders.
12086
12087 2015-05-06 Yvan Roux <yvan.roux@linaro.org>
12088
12089 PR target/64208
12090 * config/arm/iwmmxt.md ("*iwmmxt_arm_movdi"): Cleanup redundant
12091 alternatives.
12092
12093 2015-05-06 Szabolcs Nagy <szabolcs.nagy@arm.com>
12094
12095 * config/aarch64/geniterators.sh: Use standard BRE in sed.
12096
12097 2015-05-06 Alan Modra <amodra@gmail.com>
12098
12099 PR target/66033
12100 * config/rs6000/rs6000.md (nop): Use an unspec pattern.
12101 (UNSPEC_NOP): Define.
12102 (reload_vsx_from_gpr<mode>): Add missing DONE.
12103 (reload_gpr_from_vsx<mode>): Likewise.
12104 * config/rs6000/vsx.md (vsx_mul_v2di): Likewise.
12105 (vsx_div_v2di, vsx_udiv_v2di): Likewise.
12106
12107 2015-05-06 Christian Bruel <christian.bruel@st.com>
12108
12109 PR target/66015
12110 * config/aarch64/aarch64.c (aarch64_override_options): Move align_loops,
12111 align_jumps, align_functions into aarch64_override_options_after_change.
12112
12113 2015-05-06 Richard Biener <rguenther@suse.de>
12114
12115 * tree-vect-slp.c (vect_supported_load_permutation_p): Use
12116 vect_transform_slp_perm_load to check if we support a permutation
12117 for basic-block vectorization.
12118
12119 2015-05-06 Nick Clifton <nickc@redhat.com>
12120
12121 * config/rl78/rl78.c (need_to_save): Save register 22 if it is
12122 used, even if it is not being used as a frame pointer.
12123
12124 2015-05-05 Jason Merrill <jason@redhat.com>
12125
12126 * dwarf2out.c (gen_member_die): Don't emit anything for an
12127 anonymous class constructor.
12128
12129 2015-05-05 David Malcolm <dmalcolm@redhat.com>
12130
12131 * auto-profile.c (afdo_find_equiv_class): Fix indentation so
12132 that it reflects the block structure.
12133 (afdo_propagate_edge): Likewise.
12134 (afdo_calculate_branch_prob): Likewise.
12135 (afdo_annotate_cfg): Likewise.
12136 * cfgcleanup.c (equal_different_set_p): Likewise.
12137 (try_crossjump_to_edge): Likewise.
12138 * cgraph.c (cgraph_node::verify_node): Likewise.
12139 * cgraphunit.c (expand_all_functions): Likewise.
12140 * config/i386/i386.c (ix86_expand_copysign): Likewise.
12141 (exact_dependency_1): Likewise.
12142 * dwarf2asm.c (dw2_output_indirect_constants): Likewise.
12143 * dwarf2out.c (tree_add_const_value_attribute_for_decl): Likewise.
12144 * gensupport.c (process_define_subst): Likewise.
12145 * lto-wrapper.c (merge_and_complain): Likewise.
12146 * tree-if-conv.c (if_convertible_bb_p): Likewise.
12147 * tree-ssa-loop-prefetch.c (find_or_create_group): Likewise.
12148 * tree-ssa-tail-merge.c (gsi_advance_fw_nondebug_nonlocal): Likewise.
12149 * tree-vect-data-refs.c (vect_grouped_load_supported): Likewise.
12150 * tree-vect-loop.c (vectorizable_reduction): Likewise.
12151 * tree-vect-slp.c (vect_transform_slp_perm_load): Likewise.
12152 * tree-vect-stmts.c (vectorizable_shift): Likewise.
12153 * tree-vrp.c (vrp_finalize): Likewise.
12154 * tree.c (variably_modified_type_p): Likewise.
12155
12156 2015-05-05 Jack Howarth <howarth.at.gcc@gmail.com>
12157
12158 * config.gcc: Use darwin9.h, darwin10.h and darwin12.h
12159 on darwin12 and later.
12160 * config/darwin12.h (LINK_GCC_C_SEQUENCE_SPEC): Add
12161 file to pass -rdynamic on darwin12 and later.
12162 * config/darwin.opt (rdynamic): Add.
12163
12164 2015-05-05 Uros Bizjak <ubizjak@gmail.com>
12165
12166 * doc/extend.texi (C Extensions): Update menu for moved Variable
12167 Attributes and Type Attributes sections.
12168
12169 2015-05-05 Uros Bizjak <ubizjak@gmail.com>
12170
12171 PR target/65990
12172 * config/i386/i386.c (ix86_parse_stringop_strategy_string): Error out
12173 if rep_8byte stringop strategy was specified for 32-bit target.
12174
12175 2015-05-05 Ilya Tocar <ilya.tocar@intel.com>
12176
12177 PR target/65915
12178 * config/i386/i386.md (vector convert to float spltiter): Check for
12179 xmm16+, when splitting scalar float conversion.
12180 * config/i386/sse.md (sse2_cvtsi2sd): Support EVEX version.
12181
12182 2015-05-05 Nick Clifton <nickc@redhat.com>
12183
12184 * config/msp430/msp430-opts.h (enum msp430_regions): New.
12185 * config/msp430/msp430.c (msp430_override_options): Complain if
12186 -mcode-region or -mdata-region is used on a non MSP430X.
12187 (msp430_section_attr): New function. Checks lower, upper and
12188 either attributes.
12189 (msp430_attribute_table): Add lower, upper and either.
12190 (gen_prefix): New function. Generates a prefix for a section
12191 name.
12192 (msp430_select_section): New function - handles the choice of
12193 section for an object. Takes into account memory region
12194 attributes and options.
12195 (msp430_function_section): Use gen_prefix.
12196 (TARGET_SECTION_TYPE_FLAGS): Define.
12197 (msp430_section_type_flags): New function.
12198 (TARGET_ASM_UNIQUE_SECTION): Define.
12199 (msp430_unique_section): New function.
12200 (msp430_output_aligned_decl_common): New function.
12201 (msp430_do_not_relax_short_jumps): New function.
12202 * config/msp430/msp430.h (USE_SELECT_SECTION_FOR_FUNCTIONS):
12203 Define.
12204 (ASM_OUTPUT_ALIGNED_DECL_COMMON): Define.
12205 * config/msp430/msp430-protos.h
12206 (msp430_do_not_relax_short_jumps): New prototype.
12207 (msp430_output_aligned_decl_common): New prototype.
12208 * config/msp430/msp430.md (length): New attribute.
12209 (cbranchhi4_real): If msp430_do_not_relax_short_jumps is true
12210 then use a long code sequence for short jumps.
12211 * config/msp430/msp430.opt (mcode-region): New.
12212 (mdata-region): New.
12213 * doc/invoke.texi: Document new options.
12214 * doc/extend.texi: Document new attributes.
12215
12216 2015-05-05 Matthew Wahab <matthew.wahab@arm.com>
12217
12218 * gcc/config/aarch64-protos.h (struct cpu_branch_cost): New.
12219 (tune_params): Add field branch_costs.
12220 (aarch64_branch_cost): Declare.
12221 * gcc/config/aarch64.c (generic_branch_cost): New.
12222 (generic_tunings): Set field cpu_branch_cost to generic_branch_cost.
12223 (cortexa53_tunings): Likewise.
12224 (cortexa57_tunings): Likewise.
12225 (thunderx_tunings): Likewise.
12226 (xgene1_tunings): Likewise.
12227 (aarch64_branch_cost): Define.
12228 * gcc/config/aarch64/aarch64.h (BRANCH_COST): Redefine.
12229
12230 2015-05-05 Uros Bizjak <ubizjak@gmail.com>
12231
12232 * config/i386/i386.c: Use HOST_WIDE_INT_1 instead of (HOST_WIDE_INT) 1
12233 and HOST_WIDE_INT_1U instead of (unsigned HOST_WIDE_INT) 1.
12234 * config/i386/i386.md: Ditto.
12235 * config/i386/winnt.c: Ditto.
12236
12237 2015-05-05 Matthew Wahab <matthew.wahab@arm.com>
12238
12239 * doc/extend.texi (__atomic Builtins): Move implementation details
12240 to the end of the description, rewrite opening paragraphs, state
12241 difference with __sync builtins, state C11/C++11 assumptions,
12242 weaken itemized descriptions, add explanation of memory model
12243 behaviour, expand description of compare-exchange, simplify text.
12244
12245 2015-05-05 Renlin Li <renlin.li@arm.com>
12246
12247 * config/aarch64/aarch64.md (add<mode>3): Use mov when allowed.
12248
12249 2015-05-05 Yvan Roux <yvan.roux@linaro.org>
12250
12251 * config/aarch64/aarch64-elf-raw.h (CA53_ERR_843419_SPEC): Define.
12252 (LINK_SPEC): Include CA53_ERR_843419_SPEC.
12253 * config/aarch64/aarch64-linux.h (CA53_ERR_843419_SPEC): Define.
12254 (LINK_SPEC): Include CA53_ERR_843419_SPEC.
12255 * config/aarch64/aarch64.opt (mfix-cortex-a53-843419): New option.
12256 * configure: Regenerate.
12257 * configure.ac: Add --enable-fix-cortex-a53-843419 option.
12258 * doc/install.texi (aarch64*-*-*): Document new
12259 --enable-fix-cortex-a53-843419 option.
12260 * doc/invoke.texi (AArch64 Options): Document -mfix-cortex-a53-843419
12261 and -mno-fix-cortex-a53-843419 options.
12262
12263 2015-05-05 Uros Bizjak <ubizjak@gmail.com>
12264
12265 PR target/65871
12266 * config/i386/i386.md (*bmi_andn_<mode>_ccno): New pattern.
12267
12268 2015-05-04 Jan Hubicka <hubicka@ucw.cz>
12269
12270 * tree.c (verify_type): Check various uses of TYPE_MAXVAL;
12271 fix overactive TYPE_MIN_VALUE check and add FIXME for type
12272 compatibility problems.
12273
12274 2015-05-04 Ajit Agarwal <ajitkum@xilinx.com>
12275
12276 * config/microblaze/microblaze.md (cbranchsi4): Added immediate
12277 constraints.
12278 (cbranchsi4_reg): New.
12279 * config/microblaze/microblaze.c
12280 (microblaze_expand_conditional_branch_reg): New.
12281 * config/microblaze/microblaze-protos.h
12282 (microblaze_expand_conditional_branch_reg): New prototype.
12283
12284 2015-05-04 Ajit Agarwal <ajitkum@xilinx.com>
12285
12286 * config/microblaze/microblaze.md (peephole2): New.
12287
12288 2015-05-04 Jeff Law <law@redhat.com>
12289
12290 Revert:
12291 2015-05-04 Jeff Law <law@redhat.com>
12292
12293 * match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New
12294 simplifier to narrow arithmetic.
12295 * generic-match-head.c: (types_match, single_use): New functions.
12296 * gimple-match-head.c: (types_match, single_use): New functions.
12297
12298 2015-05-04 Kaz Kojima <kkojima@gcc.gnu.org>
12299
12300 PR target/65987
12301 * config/sh/sh.c (output_far_jump): Take into account crossing jumps.
12302 (split_branches): Likewise.
12303
12304 2015-05-04 Sandra Loosemore <sandra@codesourcery.com>
12305
12306 * common.opt (fdelete-null-pointer-checks): Init to -1.
12307 * config/nios2/elf.h (SUBTARGET_OVERRIDE_OPTIONS): Define to
12308 override flag_delete_null_pointer_checks default.
12309 * doc/invoke.texi (-fdelete-null-pointer-checks): Clarify
12310 behavior re address zero. Better document target-specific behavior.
12311 (-fisolate-errneous-paths-dereference): Mention relationship to
12312 -fdelete-null-pointer-checks.
12313
12314 2015-05-04 Jakub Jelinek <jakub@redhat.com>
12315
12316 PR tree-optimization/65984
12317 * ubsan.c: Include tree-cfg.h.
12318 (instrument_bool_enum_load): Use stmt_ends_bb_p instead of
12319 stmt_could_throw_p test, rename can_throw variable to ends_bb.
12320
12321 2015-05-04 Uros Bizjak <ubizjak@gmail.com>
12322
12323 * config/i386/i386.c: Change GET_CODE (...) == CONST_DOUBLE check
12324 to CONST_DOUBLE_P predicate.
12325 (standard_sse_constant_p): Return 0 for !TARGET_SSE.
12326 (ix86_legitimate_constant_p) <case CONST_WIDE_INT>: For 32bit targets,
12327 allow only operands that satisfy standard_sse_constant_p predicate.
12328 * config/i386/i386.md: Change GET_CODE (...) == CONST_DOUBLE check
12329 to CONST_DOUBLE_P predicate.
12330
12331 2015-05-04 Jeff Law <law@redhat.com>
12332
12333 * match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New
12334 simplifier to narrow arithmetic.
12335 * generic-match-head.c: (types_match, single_use): New functions.
12336 * gimple-match-head.c: (types_match, single_use): New functions.
12337
12338 2015-05-04 Andreas Tobler <andreast@gcc.gnu.org>
12339
12340 * config/arm/arm.c: Restore bootstrap.
12341
12342 2015-05-04 Uros Bizjak <ubizjak@gmail.com>
12343
12344 * config/i386/i386.h (TARGET_SUPPORTS_WIDE_INT): New define.
12345 * config/i386/i386.c (ix86_legitimate_constant_p): Handle TImode
12346 as CONST_WIDE_INT, not CONST_DOUBLE.
12347 (ix86_cannot_force_const_mem): Handle CONST_WIDE_INT.
12348 (output_pic_addr_const): Do not handle VOIDmode CONST_DOUBLEs.
12349 (ix86_find_base_term): Do not check for CONST_DOUBLE.
12350 (ix86_print_operand): Do not handle non-FPmode CONST_DOUBLEs.
12351 (ix86_build_signbit_mask): Rewrite using wide ints.
12352 (ix86_split_to_parts) [HOST_BITS_PER_WIDE_INT < 64]: Remove.
12353 (ix86_rtx_costs): Handle CONST_WIDE_INT.
12354 (find_constant): Ditto.
12355 * config/i386/i386.md (bts, btr, btc peepholes): Rewrite
12356 using gen_int_mode.
12357 * config/i386/predicates.md (x86_64_immediate_operand)
12358 <case CONST_INT>: Remove HOST_BITS_PER_WIDE_INT == 32 code.
12359 (x86_64_zext_immediate_operand): Remove CONST_DOUBLE handling.
12360 <case CONST_INT>: Remove HOST_BITS_PER_WIDE_INT == 32 code.
12361 (const0_operand): Also match const_wide_int.
12362 (constm1_operand): Ditto.
12363 (const1_operand): Ditto.
12364
12365 2015-05-04 Richard Biener <rguenther@suse.de>
12366
12367 PR tree-optimization/65965
12368 * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Split
12369 store groups at gaps.
12370
12371 2015-05-04 Richard Biener <rguenther@suse.de>
12372
12373 PR tree-optimization/65935
12374 * tree-vect-slp.c (vect_build_slp_tree): If we swapped operands
12375 then make sure to apply that swapping to the IL.
12376
12377 2015-05-04 Jakub Jelinek <jakub@redhat.com>
12378
12379 * Makefile.in (PATCHLEVEL_c): New variable.
12380 (DATESTAMP_s, REVISION_s): If PATCHLEVEL_c is not 0,
12381 expand the same way as if DEVPHASE_c was non-empty.
12382
12383 2015-05-04 Kai Tietz <ktietz@redhat.com>
12384
12385 PR target/65559
12386 * lto-wrapper.c (run_gcc): Open filename
12387 in binary-mode.
12388
12389 2015-05-03 Sandra Loosemore <sandra@codesourcery.com>
12390
12391 * doc/extend.texi (Variable Attributes, Type Attributes): Move
12392 sections up in file, to immediately after the Function Attributes
12393 section.
12394
12395 2015-05-02 Jan Hubicka <hubicka@ucw.cz>
12396
12397 * tree.c (verify_type): Check various uses of TYPE_MINVAL.
12398
12399 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12400
12401 * tree-outof-ssa.c (emit_partition_copy): Return rtx_insn *.
12402 (insert_partition_copy_on_edge): Adjust.
12403 (insert_rtx_to_part_on_edge): Likewise.
12404 (insert_part_to_rtx_on_edge): Likewise.
12405
12406 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12407
12408 * function.c (set_return_jump_label): Change type of argument to
12409 rtx_insn *.
12410 * function.h (set_return_jump_label): Adjust.
12411
12412 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12413
12414 * reload.h (struct reg_equivs_t): Change type of init to
12415 rtx_insn *.
12416 * ira.c (fix_reg_equiv_init): Adjust.
12417 * reload1.c (eliminate_regs_1): Likewise.
12418 (init_eliminable_invariants): Likewise.
12419
12420 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12421
12422 * cselib.c (fp_setter_insn): Take a rtx_insn *.
12423 * cselib.h (fp_setter_insn): Adjust.
12424
12425 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12426
12427 * recog.c (struct validate_replace_src_data): Change type of
12428 insn field to rtx_insn *.
12429 (validate_replace_src_group): Change type of argument to rtx_insn *.
12430 * recog.h (validate_replace_src_group): Adjust.
12431
12432 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12433
12434 * haifa-sched.c: Change the type of some variables to rtx_insn *.
12435 * sched-deps.c: Likewise.
12436 * sched-int.h: Likewise.
12437 * sched-rgn.c: Likewise.
12438 * sel-sched.c: Likewise.
12439
12440 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12441
12442 to rtx_insn *.
12443 * config/i386/i386.c: Change the type of some arguments to
12444 rtx_insn *.
12445 * config/arm/arm.c: Likewise.
12446
12447 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12448
12449 * lra-constraints.c: Change type of some arguments to rtx_insn *.
12450
12451 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12452
12453 * regcprop.c (kill_autoinc_value): Change type of argument to
12454 rtx_insn *.
12455
12456 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12457
12458 * genrecog.c (print_subroutine): Adjust.
12459 * recog.c (get_bool_attr_mask_uncached): Likewise.
12460 * recog.h (struct recog_data_d): Change the type of insn to
12461 rtx_insn *.
12462
12463 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12464
12465 * dwarf2cfi.c (add_cfi_insn): Change type to rtx_insn *.
12466
12467 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12468
12469 * df-problems.c (df_set_note): Change type of argument to
12470 rtx_insn *.
12471
12472 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12473
12474 * builtins.c (expand_builtin_trap): Change type of local
12475 variable to rtx_insn *.
12476 (add_sched_insns_for_speculation): Likewise.
12477 (ix86_emit_save_regs): Likewise.
12478 (get_scratch_register_on_entry): Likewise.
12479 (ix86_emit_restore_reg_using_pop): Likewise.
12480 (ix86_emit_leave): Likewise.
12481 (ix86_emit_restore_regs_using_mov): Likewise.
12482 (ix86_expand_epilogue): Likewise.
12483 Likewise.
12484 (rl78_alloc_physical_registers_umul): Likewise.
12485 * cselib.c (discard_useless_locs): Likewise.
12486 (cselib_invalidate_regno): Likewise.
12487 (cselib_invalidate_mem): Likewise.
12488 * function.c (expand_function_start): Likewise.
12489 (emit_use_return_register_into_block): Likewise.
12490 * gcse.c: Likewise.
12491 * haifa-sched.c (ok_for_early_queue_removal): Likewise.
12492 * ifcvt.c (noce_get_alt_condition): Likewise.
12493 * loop-doloop.c (doloop_condition_get): Likewise.
12494 * lra-constraints.c (inherit_in_ebb): Likewise.
12495 * modulo-sched.c (sms_schedule_by_order): Likewise.
12496 * recog.c (next_insn_tests_no_inequality): Likewise.
12497 * reorg.c (emit_delay_sequence): Likewise.
12498 (update_reg_dead_notes): Likewise.
12499 (fix_reg_dead_note): Likewise.
12500 (fill_slots_from_thread): Likewise.
12501 (delete_computation): Likewise.
12502
12503 2015-05-01 Sandra Loosemore <sandra@codesourcery.com>
12504
12505 * doc/extend.texi (Variable Attributes): Add menu and proper
12506 @nodes to subsections. Move Microsoft Windows attributes to
12507 their own subsection.
12508 (Type Attributes): Reorganize introduction to remove duplicate
12509 list of attributes. Add menu and proper @nodes to subsections.
12510 Alphabetize the main table of common attributes.
12511
12512 2015-05-01 Rasmus Villemoes <rv@rasmusvillemoes.dk>
12513
12514 * match.pd: New simplification patterns.
12515 (x + (x & 1)) -> ((x + 1) & ~1)
12516 (x & ~(x & y)) -> ((x & ~y))
12517 (x | ~(x | y)) -> ((x | ~y))
12518
12519 2015-05-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12520
12521 * target.def (attribute_table): Mention that struct attribute_spec
12522 is defined in tree-core.h rather than tree.h
12523 * doc/tm.texi: Regenerate.
12524
12525 2015-05-01 Richard Sandiford <richard.sandiford@arm.com>
12526
12527 * genrecog.c (test): Rename to rtx_test. Update rest of file
12528 accordingly.
12529
12530 2015-05-01 Andreas Schwab <schwab@linux-m68k.org>
12531
12532 PR translation/65959
12533 * params.h (DEFPARAM): Rename msgid to nocmsgid.
12534
12535 2015-05-01 Wilco Dijkstra <wdijkstr@arm.com>
12536
12537 * gcc/config/aarch64/aarch64-protos.h (tune_params):
12538 Add min_div_recip_mul_sf and min_div_recip_mul_df fields.
12539 * gcc/config/aarch64/aarch64.c (aarch64_min_divisions_for_recip_mul):
12540 Return value depending on target.
12541 (generic_tunings): Initialize new target settings.
12542 (cortexa53_tunings): Likewise.
12543 (cortexa57_tunings): Likewise.
12544 (thunderx_tunings): Likewise.
12545 (xgene1_tunings): Likewise.
12546
12547 2015-05-01 Wilco Dijkstra <wdijkstr@arm.com>
12548
12549 * gcc/config/arm/aarch-cost-tables.h (cortexa53_extra_costs):
12550 Make Cortex-A53 shift costs more accurate.
12551
12552 2015-05-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12553
12554 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle FLOAT and
12555 UNSIGNED_FLOAT.
12556
12557 2015-05-01 Wilco Dijkstra <wdijkstr@arm.com>
12558
12559 * gcc/config/aarch64/aarch64.c (aarch64_rtx_costs):
12560 Calculate cost of op0 and op1 in PLUS and MINUS cases.
12561
12562 2015-05-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12563
12564 * config/aarch64/aarch64.c (aarch64_rtx_costs, COMPARE case):
12565 Add cost of op0 in the compare-with-fpzero case.
12566
12567 2015-04-30 David Malcolm <dmalcolm@redhat.com>
12568
12569 * builtins.c (fold_builtin_1): Remove spurious second
12570 semicolon.
12571 * cgraph.h (symtab_node::get_availability): Likewise.
12572 * opts.c (common_handle_option): Remove spurious second semicolon.
12573 * tree-ssa-loop-ivopts.c (extract_cond_operands): Likewise.
12574 * tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Likewise.
12575
12576 2015-04-30 Caroline Tice <cmtice@google.com>
12577
12578 PR gcov-profile/65929
12579 * config/elfos.h (ASM_DECLARE_COLD_FUNCTION_NAME): New macro definition.
12580 (ASM_DECLARE_COLD_FUNCTION_SIZE): New macro definition.
12581 * doc/tm.texi.in (ASM_DECLARE_COLD_FUNCTION_NAME): Document new macro.
12582 (ASM_DECLARE_COLD_FUNCTION_SIZE): Document new macro.
12583 * doc/tm.texi: Regenerate.
12584 * final.c (final_scan_insn): Use ASM_DECLARE_COLD_FUNCTION_NAME
12585 instead of ASM_DECLARE_FUNCTION_NAME for cold partition name.
12586 * varasm.c (assemble_end_function): Use ASM_DECLARE_COLD_FUNCTION_SIZE
12587 instead of ASM_DECLARE_FUNCTION_SIZE for cold partition size.
12588
12589 2015-04-30 Marek Polacek <polacek@redhat.com>
12590
12591 * varasm.c (handle_cache_entry): Fix logic.
12592
12593 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12594
12595 * config/aarch64/aarch64.md (*extr<mode>5_insn_alt): New pattern.
12596 (*extrsi5_insn_uxtw_alt): Likewise.
12597 * config/aarch64/aarch64.c (aarch64_extr_rtx_p): New function.
12598 (aarch64_rtx_costs, IOR case): Use above to properly cost extr
12599 operations.
12600
12601 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12602
12603 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle pattern for
12604 fabd in ABS case.
12605
12606 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12607
12608 * config/aarch64/aarch64.md
12609 (*eor_one_cmpl_<SHIFT:optab><mode>3_alt): New pattern.
12610 (*eor_one_cmpl_<SHIFT:optab>sidi3_alt_ze): Likewise.
12611 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle MVN-shift
12612 appropriately. Handle alternative EON form.
12613
12614 2015-04-30 Renlin Li <renlin.li@arm.com>
12615
12616 * config/aarch64/aarch64-simd.md (vec_shr): Defined as an unspec.
12617 * config/aarch64/iterators.md (unspec): Add UNSPEC_VEC_SHR.
12618
12619 2015-04-30 Jan Hubicka <hubicka@ucw.cz>
12620
12621 PR ipa/65873
12622 * ipa-inline.c (can_inline_edge_p): It is safe to inline across
12623 -fstrict-aliasing boundaries.
12624
12625 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12626
12627 * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Handle MNEG
12628 and [SU]MNEGL patterns.
12629
12630 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12631
12632 * config/aarch64/aarch64.c (aarch64_shift_p): New function.
12633 (aarch64_rtx_mult_cost): Update comment to reflect that it also handles
12634 combined arithmetic-shift ops. Properly handle all shift and extend
12635 operations that can occur in combination with PLUS/MINUS.
12636 Rename maybe_fma to compound_p.
12637 (aarch64_rtx_costs): Use aarch64_shift_p when costing compound
12638 arithmetic and shift operations.
12639
12640 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12641
12642 * config/aarch64/aarch64.c (aarch64_rtx_costs): Use extend_arith
12643 rather than arith_shift cost when costing ADD/MINUS of an
12644 extended value.
12645
12646 2015-04-30 Jan Hubicka <hubicka@ucw.cz>
12647
12648 PR lto/65948
12649 * ipa-devirt.c (odr_types_equivalent_p): NULLPTR_TYPE is equivalent
12650 to itself.
12651
12652 2015-04-30 Richard Sandiford <richard.sandiford@arm.com>
12653
12654 * genrecog.c (simplify_tests): Check that CONST_INT and XWINT tests
12655 are for the same position.
12656
12657 2015-04-29 Aditya Kumar <hiraditya@hotmail.com>
12658
12659 * tree-vectorizer.c (set_uid_loop_bbs): New. Factored out of
12660 vectorize_loops.
12661 (vectorize_loops): Use it.
12662
12663 2015-04-29 Jan Hubicka <hubicka@ucw.cz>
12664
12665 * ipa-devirt.c (odr_subtypes_equivalent_p): Compare TYPE_NAME only
12666 for aggregate types.
12667 (register_odr_type): Be ready for MAIN_VARIANT of ODR type
12668 type to be non_ODR.
12669 * tree.c (need_assembler_name_p): Compute mangled name for
12670 non-fundamental types and integer types.
12671
12672 2015-04-29 Mikhail Maltsev <maltsevm@gmail.com>
12673
12674 * dojump.c (do_compare_rtx_and_jump): Use std::swap instead of
12675 manual swaps.
12676 * expr.c (expand_expr_real_2): Likewise.
12677
12678 2015-04-29 Jan Hubicka <hubicka@ucw.cz>
12679
12680 * tree.c (build_common_builtin_nodes): Do not build
12681 __builtin_alloca_with_align as equivalent of library alloca.
12682
12683 2015-04-29 Jan Hubicka <hubicka@ucw.cz>
12684
12685 * dwarf2out.c (gen_type_die_with_usage): Call verify_type.
12686 * ipa-chkp.c (chkp_copy_function_type_adding_bounds): Do not produce
12687 bugus variants.
12688 * tree.c: Include print-tree.h and ipa-utils.h
12689 (free_lang_data_in_type): Clear TYPE_VFIELD leaked by C FE.
12690 (free_lang_data_in_cgraph): Call verify_type.
12691 (verify_type_variant): New function.
12692 (verify_type): New function.
12693 * tree.h (verify_type): Declare.
12694
12695 2015-04-29 Steve Ellcey <sellcey@imgtec.com>
12696
12697 * config/mips/mips-cpus.def: (mips4): Change default processor
12698 from PROCESSOR_R8000 to PROCESSOR_R10000.
12699
12700 2015-04-29 Petar Jovanovic <petar.jovanovic@rt-rk.com>
12701
12702 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Fix the macro to use
12703 la/jalr instead of jal.
12704
12705 2015-04-29 Uros Bizjak <ubizjak@gmail.com>
12706
12707 PR target/65871
12708 * config/i386/i386.md (*bmi_bextr_<mode>_ccz): New pattern.
12709 (*bmi2_bzhi_<mode>3_1_ccz): Ditto.
12710 (setcc+movzbl peephole2): Check also clobbered reg.
12711 (setcc+andl peephole2): Ditto.
12712
12713 2015-04-29 Thomas Schwinge <thomas@codesourcery.com>
12714
12715 PR libgomp/65099
12716 * config/nvptx/mkoffload.c (target_ilp32): New variable.
12717 (main): Set it depending on "-foffload-abi=[...]".
12718 (compile_native, main): Use it to pass "-m32" or "-m64" to the
12719 compiler.
12720
12721 2015-04-29 Alan Lawrence <alan.lawrence@arm.com>
12722
12723 PR target/65770
12724 * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>,
12725 vec_store_lanesci_lane<mode>, vec_store_lanesxi_lane<mode>):
12726 Flip lane index back at assembly time for bigendian.
12727
12728 2015-04-29 Thomas Schwinge <thomas@codesourcery.com>
12729
12730 * tree.h (OMP_STANDALONE_CLAUSES): New macro.
12731 * gimplify.c (gimplify_omp_workshare): Use it.
12732
12733 2015-04-29 Richard Sandiford <richard.sandiford@arm.com>
12734
12735 * Makefile.in (build/genrecog.o): Depend on inchash.h.
12736 (build/genrecog$(build_exeext): Depend on build/hash-table.o and
12737 build/inchash.o
12738 * genrecog.c: Rewrite most of the code except for the third page.
12739
12740 2015-04-29 Richard Sandiford <richard.sandiford@arm.com>
12741
12742 * inchash.h, inchash.c: Include bconfig.h for build objects.
12743 * Makefile.in (build/inchash.o): New rule.
12744
12745 2015-04-29 Yvan Roux <yvan.roux@linaro.org>
12746
12747 PR target/65924
12748 * config/arm/thumb2.md (*thumb2_addsi3_compare0_scratch): Fix operand
12749 number in type attribute expression.
12750
12751 2015-04-29 Richard Sandiford <richard.sandiford@arm.com>
12752
12753 * loop-iv.c (canon_condition): Generalize to all types of integer
12754 constant.
12755
12756 2015-04-29 Bernhard Reuther-Fischer <aldot@gcc.gnu.org>
12757
12758 * gimple-walk.c: Prune duplicate or unneeded includes.
12759 (walk_gimple_asm): Only call parse_input_constraint or
12760 parse_output_constraint if their findings are used.
12761 Honour parse_input_constraint and parse_output_constraint
12762 result.
12763
12764 2015-04-29 Alan Lawrence <alan.lawrence@arm.com>
12765
12766 * config/arm/neon.md (vec_shl<mode>, vec_shr<mode>): Remove.
12767
12768 2015-04-29 Tom de Vries <tom@codesourcery.com>
12769
12770 PR tree-optimization/65893
12771 * passes.def (pass_all_optimizations): Move pass_stdarg to after
12772 pass_dce.
12773
12774 2015-04-29 Richard Biener <rguenther@suse.de>
12775
12776 * tree-vect-data-refs.c (vect_analyze_group_access): Properly
12777 compute GROUP_SIZE for basic-block SLP.
12778 * tree-vect-slp.c (vect_get_place_in_interleaving_chain): Properly
12779 take into account gaps.
12780 (vect_get_mask_element): Properly reject references to previous
12781 vectors.
12782 (vect_transform_slp_perm_load): Likewise.
12783
12784 2015-04-29 Christian Bruel <christian.bruel@st.com>
12785
12786 PR target/64835
12787 * config/i386/i386.c (ix86_default_align): New function.
12788 (ix86_override_options_after_change): Call ix86_default_align.
12789 (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): New hook.
12790 (ix86_override_options_after_change): New function.
12791
12792 2015-04-28 Jeff Law <law@redhat.com>
12793
12794 * tree-ssa-dom.c (record_equality); Fix comment typos.
12795
12796 2015-04-28 Tom de Vries <tom@codesourcery.com>
12797
12798 PR tree-optimization/65887
12799 * gimplify.c (gimplify_modify_expr): Remove ifn_va_arg ap fixup.
12800
12801 2015-04-28 Sandra Loosemore <sandra@codesourcery.com>
12802
12803 * doc/extend.texi (Declaring Attributes of Functions): Split into
12804 subsections by target. Alphabetize the table of common attributes.
12805 Rewrite some of the introductory text to reflect the new structure.
12806 Update some cross-references to point to the new subsections.
12807 (Attribute Syntax): Put paragraph about "__" naming here. Remove
12808 duplicate copies in the discussion of function, label, and type
12809 attributes.
12810
12811 2015-04-28 Dominique d'Humieres <dominiq@lps.ens.fr>
12812
12813 PR bootstrap/65910
12814 * varasm.c (assemble_end_function): Guard ASM_DECLARE_FUNCTION_SIZE.
12815
12816 2015-04-28 Jason Merrill <jason@redhat.com>
12817
12818 PR c++/65734
12819 * stor-layout.c (layout_type): Layout the TYPE_MAIN_VARIANT.
12820 (finalize_type_size): Respect TYPE_USER_ALIGN.
12821 (layout_type) [ARRAY_TYPE]: Likewise.
12822
12823 2015-04-28 Yvan Roux <yvan.roux@linaro.org>
12824
12825 * config/arm/arm.md (*arm_movt): Fix type attribute.
12826 (*cmpsi_shiftsi): Likewise.
12827 (*cmpsi_shiftsi_swp): Likewise.
12828 (*movsicc_insn): Likewise.
12829 (*cond_move): Likewise.
12830 (*if_plus_move): Likewise.
12831 (*if_move_plus): Likewise.
12832 (*if_arith_move): Likewise.
12833 (*if_move_arith): Likewise.
12834 (*if_shift_move): Likewise.
12835 (*if_move_shift): Likewise.
12836 (*arm_movtas_ze): Likewise.
12837 * config/arm/thumb2.md (*thumb2_movsicc_insn): Fix alternative
12838 redundancy and type attribute.
12839 (*thumb2_movsi_insn): Fix type attribute.
12840 (*thumb2_addsi_short): Likewise.
12841 (thumb2_addsi3_compare0): Likewise.
12842 (*thumb2_addsi3_compare0_scratch): Merge alternatives and fix
12843 attributes accordingly.
12844
12845 2015-04-28 Markus Trippelsdorf <markus@trippelsdorf.de>
12846
12847 PR other/65911
12848 * function.c (pad_to_arg_alignment): Add parentheses.
12849
12850 2015-04-28 Uros Bizjak <ubizjak@gmail.com>
12851
12852 * config/frv/frv.h (CRT_GET_RFIB_DATA): Move definition to
12853 libgcc/config/frv/elf-lib.h.
12854
12855 2015-04-28 Tom de Vries <tom@codesourcery.com>
12856
12857 * tree-call-cdce.c: Fix example in header comment.
12858
12859 2015-04-28 Richard Biener <rguenther@suse.de>
12860
12861 PR tree-optimization/62283
12862 * tree-vect-slp.c (vect_build_slp_tree): When the SLP build
12863 fails fatally and we are vectorizing a basic-block simply
12864 cause the child to be constructed piecewise.
12865 (vect_analyze_slp_cost_1): Adjust.
12866 (vect_detect_hybrid_slp_stmts): Likewise.
12867 (vect_bb_slp_scalar_cost): Likewise.
12868 (vect_get_constant_vectors): For piecewise constructed
12869 constants place them after the last def.
12870 (vect_get_slp_defs): Adjust.
12871 * tree-vect-stmts.c (vect_is_simple_use): Detect in-BB
12872 externals for basic-block vectorization.
12873
12874 2015-04-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
12875
12876 PR target/63503
12877 * config.gcc: Add cortex-a57-fma-steering.o to extra_objs for
12878 aarch64-*-*.
12879 * config/aarch64/t-aarch64: Add a rule for cortex-a57-fma-steering.o.
12880 * config/aarch64/aarch64.h (AARCH64_FL_USE_FMA_STEERING_PASS): Define.
12881 (AARCH64_TUNE_FMA_STEERING): Likewise.
12882 * config/aarch64/aarch64-cores.def: Set
12883 AARCH64_FL_USE_FMA_STEERING_PASS for cores with dynamic steering of
12884 FMUL/FMADD instructions.
12885 * config/aarch64/aarch64.c (aarch64_register_fma_steering): Declare.
12886 (aarch64_override_options): Include cortex-a57-fma-steering.h. Call
12887 aarch64_register_fma_steering () if AARCH64_TUNE_FMA_STEERING is true.
12888 * config/aarch64/cortex-a57-fma-steering.h: New file.
12889 * config/aarch64/cortex-a57-fma-steering.c: Likewise.
12890
12891 2015-04-28 Richard Sandiford <richard.sandiford@arm.com>
12892
12893 * gensupport.c (std_preds): Add missing codes to address_operand entry.
12894
12895 2015-04-28 Richard Biener <rguenther@suse.de>
12896
12897 PR tree-optimization/65851
12898 * tree-ssa-ccp.c (set_lattice_value): Perform a meet when
12899 changing CONSTANT to CONSTANT non-copy. Get new_val by reference.
12900 (ccp_lattice_meet): Remove stray argument. Use operand_equal_p
12901 rather than simple_cst_equal as the latter doesn't handle COMPLEX_CST.
12902 (ccp_visit_phi_node): Adjust.
12903 (evaluate_stmt): For simplifications to SSA names return its
12904 lattice value if that isn't VARYING. Return immediately when
12905 simplified to a constant.
12906 (visit_assignment): Adjust.
12907 (ccp_visit_stmt): Likewise.
12908
12909 2015-04-28 Tom de Vries <tom@codesourcery.com>
12910
12911 PR tree-optimization/65818
12912 * tree-stdarg.c (expand_ifn_va_arg_1): Ensure that side-effects are
12913 evaluated.
12914
12915 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12916
12917 * calls.c (save_fixed_argument_area): Don't check
12918 ARGS_GROW_DOWNWARD with the preprocessor.
12919 (restore_fixed_argument_area): Likewise.
12920 (mem_overlaps_already_clobbered_arg_p): Likewise.
12921 (check_sibcall_argument_overlap): Likewise.
12922 (expand_call): Likewise.
12923 (emit_library_call_value_1): Likewise.
12924 (store_one_arg): Likewise.
12925 * function.c (assign_parms): Likewise.
12926 (locate_and_pad_parm): Likewise.
12927 (pad_to_arg_alignment): Likewise.
12928 * targhooks.c (std_gimplify_va_arg_expr): Likewise.
12929
12930 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12931
12932 * config/pa/pa.h (ARGS_GROW_DOWNWARD): Define to 1.
12933 * defaults.h (ARGS_GROW_DOWNWARD): Define it to 0 by default.
12934 * calls.c (save_fixed_argument_area): Don't chekc if
12935 ARGS_GROW_DOWNWARD is defined.
12936 (restore_fixed_argument_area): Likewise.
12937 (mem_overlaps_already_clobbered_arg_p): Likewise.
12938 (check_sibcall_argument_overlap): Likewise.
12939 (expand_call): Likewise.
12940 (emit_library_call_value_1): Likewise.
12941 (store_one_arg): Likewise.
12942 * function.c (assign_parms): Likewise.
12943 (locate_and_pad_parm): Likewise.
12944 (pad_to_arg_alignment): Likewise.
12945 * targhooks.c (std_gimplify_va_arg_expr): Likewise.
12946
12947 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12948
12949 * defaults.h (gen_epilogue): New function.
12950 * alias.c (init_alias_analysis): don't check if HAVE_epilogue is
12951 defined.
12952 * cfgrtl.c (cfg_layout_finalize): Likewise.
12953 * df-scan.c: Likewise.
12954 * function.c (thread_prologue_and_epilogue_insns): Likewise.
12955 (reposition_prologue_and_epilogue_notes): Likewise.
12956 * reorg.c (find_end_label): Likewise.
12957 * toplev.c: Likewise.
12958
12959 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12960
12961 * bb-reorder.c (HAVE_return): Don't check if its undefined.
12962 * defaults.h (gen_simple_return): New function.
12963 (gen_simple_return): Likewise.
12964 (HAVE_return): Add default definition to false.
12965 (HAVE_simple_return): Likewise.
12966 * cfgrtl.c (force_nonfallthru_and_redirect): Remove checks if
12967 HAVE_return and HAVE_simple_return are defined.
12968 * function.c (gen_return_pattern): Likewise.
12969 (convert_jumps_to_returns): Likewise.
12970 (thread_prologue_and_epilogue_insns): Likewise.
12971 * reorg.c (find_end_label): Likewise.
12972 (dbr_schedule): Likewise.
12973 * shrink-wrap.c: Likewise.
12974 * shrink-wrap.h: Likewise.
12975
12976 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12977
12978 * defaults.h (EPILOGUE_USES): Add default definition of false.
12979 * df-scan.c (EPILOGUE_USES): Remove check if its undefined.
12980 * resource.c (init_resource_info): Likewise.
12981
12982 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12983
12984 * defaults.h (PCC_BITFIELD_TYPE_MATTERS): Add default definition
12985 to false.
12986 * dwarf2out.c (field_byte_offset): REmove check if
12987 PCC_BITFIELD_TYPE_MATTERS is defined.
12988 * stor-layout.c (layout_decl): Likewise.
12989 (update_alignment_for_field): Likewise.
12990 (place_field): Likewise.
12991
12992 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12993
12994 * defaults.h (HARD_REGNO_RENAME_OK): Add default definition to
12995 true.
12996 * regrename.c (check_new_reg_p): Remove check if
12997 HARD_REGNO_RENAME_OK is defined.
12998 * sel-sched.c (sel_hard_regno_rename_ok): Likewise.
12999
13000 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
13001
13002 * calls.c (prepare_call_address): Remove ifdef NO_FUNCTION_CSE.
13003 * cse.c (fold_rtx): Likewise.
13004 * config/alpha/alpha.h (NO_FUNCTION_CSE): Define to 1.
13005 * config/arc/arc.h (NO_FUNCTION_CSE): Likewise.
13006 * config/avr/avr.h (NO_FUNCTION_CSE): Likewise.
13007 * config/cr16/cr16.h (NO_FUNCTION_CSE): Likewise.
13008 * config/epiphany/epiphany.h (NO_FUNCTION_CSE): Likewise.
13009 * config/frv/frv.h (NO_FUNCTION_CSE): Likewise.
13010 * config/h8300/h8300.h (NO_FUNCTION_CSE): Likewise.
13011 * config/i386/i386.h (NO_FUNCTION_CSE): Likewise.
13012 * config/ia64/ia64.h (NO_FUNCTION_CSE): Likewise.
13013 * config/lm32/lm32.h (enum reg_class) (NO_FUNCTION_CSE):
13014 * Likewise.
13015 * config/m32r/m32r.h (NO_FUNCTION_CSE): Likewise.
13016 * config/mep/mep.h (NO_FUNCTION_CSE): Likewise.
13017 * config/mn10300/mn10300.h (NO_FUNCTION_CSE): Likewise.
13018 * config/nds32/nds32.h (NO_FUNCTION_CSE): Likewise.
13019 * config/nios2/nios2.h (NO_FUNCTION_CSE): Likewise.
13020 * config/pa/pa.h (NO_FUNCTION_CSE): Likewise.
13021 * config/rs6000/rs6000.h (NO_FUNCTION_CSE): Likewise.
13022 * config/s390/s390.h (NO_FUNCTION_CSE): Likewise.
13023 * config/sparc/sparc.h (NO_FUNCTION_CSE): Likewise.
13024 * config/spu/spu.h (NO_FUNCTION_CSE): Likewise.
13025 * config/stormy16/stormy16.h (NO_FUNCTION_CSE): Likewise.
13026 * config/v850/v850.h (NO_FUNCTION_CSE): Likewise.
13027 * defaults.h (NO_FUNCTION_CSE): Provide default definition to 0.
13028 * doc/tm.texi: Regenerate.
13029 * doc/tm.texi.in: Document NO_FUNCTION_CSE is always defined to
13030 either true or false.
13031
13032 2015-04-27 Jeff Law <law@redhat.com>
13033
13034 PR tree-optimization/65217
13035 * tree-ssa-dom.c (record_equality): Given two SSA_NAMEs, if just one
13036 of them has a single use, make sure it is the LHS of the implied
13037 copy.
13038
13039 2015-04-28 Alan Modra <amodra@gmail.com>
13040
13041 PR target/65810
13042 * config/rs6000/rs6000.c (POWERPC64_TOC_POINTER_ALIGNMENT): Define.
13043 (offsettable_ok_by_alignment): Use minimum of decl and toc
13044 pointer alignment. Replace dead code with assertion.
13045 (use_toc_relative_ref): Add mode arg. Return false in -mcmodel=medium
13046 case if size exceeds toc pointer alignment.
13047 (rs6000_legitimize_reload_address): Update use_toc_relative_ref call.
13048 (rs6000_emit_move): Likewise.
13049 * configure.ac: Add linker toc pointer alignment check.
13050 * configure: Regenerate.
13051 * config.in: Regenerate.
13052
13053 2015-04-27 Yoshinori Sato <ysato@users.sourceforge.jp>
13054
13055 * config.gcc: Add h8300-*-linux.
13056 * config/h8300/linux.h: New.
13057 * config/h8300/t-linux: New.
13058 * config/h8300/h8300.c (h8300_option_override): Normal mode
13059 is not supported for h8300-*-linux.
13060 (h8300_file_start): Target priority change.
13061 (get_shift_alg): Likewise.
13062 (h8300_shift_need_scratch_p): Likewise.
13063 * config/h8300/h8300.h (TARGET_CPU_CPP_BUILTINS): Likewise.
13064 * config/h8300/h8300.md (define_peephole2): Remove duplicate condition.
13065
13066 2015-04-27 Caroline Tice <cmtice@google.com>
13067
13068 * final.c (final_scan_insn): Output cold_function_name as function
13069 type.
13070 * varasm.c (cold_function_name): Make global.
13071 (assemble_start_function): Re-set cold_function_name.
13072 (assemble_end_function): Output cold partition size.
13073 * varasm.h (cold_function_name): Declare global.
13074
13075 2015-04-27 Ilya Tocar <ilya.tocar@intel.com>
13076
13077 * config/i386/i386.h (EXT_REX_SSE_REG_P): New.
13078 * config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>_mixed): Use "v"
13079 constraint.
13080 (*movxi_internal_avx512f): Ditto.
13081 (define_split): Check for xmm16+, when splitting scalar float_extend.
13082 (*extendsfdf2_mixed): Use "v" constraint.
13083 (define_split): Check for xmm16+, when splitting scalar float_truncate.
13084 (*truncdfsf_fast_sse): Use "v" constraint.
13085 (fix_trunc<MODEF:mode><SWI48:mode>_sse): Ditto.
13086 (*float<SWI48:mode><MODEF:mode>2_sse): Ditto.
13087 (define_peephole2): Check for xmm16+, when converting scalar
13088 float_truncate.
13089 (define_peephole2): Check for xmm16+, when converting scalar
13090 float_extend.
13091 (*fop_<mode>_comm_mixed): Use "v" constraint.
13092 (*fop_<mode>_comm_sse): Ditto.
13093 (*fop_<mode>_1_mixed): Ditto.
13094 (*sqrt<mode>2_sse): Ditto.
13095 (*ieee_s<ieee_maxmin><mode>3): Ditto.
13096
13097 2015-04-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13098
13099 * combine.c (simplify_if_then_else): Use std::swap instead
13100 of manually swapping.
13101 (known_cond): Likewise.
13102 (simplify_comparison): Likewise.
13103
13104 2015-04-27 Peter Bergner <bergner@vnet.ibm.com>
13105
13106 PR target/64579
13107 * config/rs6000/htm.md: Remove all define_expands.
13108 (UNSPECV_HTM_TABORTDC, UNSPECV_HTM_TABORTDCI, UNSPECV_HTM_TABORTWC,
13109 UNSPECV_HTM_TABORTWCI): Remove.
13110 (UNSPECV_HTM_TABORTXC, UNSPECV_HTM_TABORTXCI, UNSPECV_HTM_TTEST): New.
13111 (tabort_internal, tbegin_internal, tcheck_internal, tend_internal,
13112 trechkpt_internal, treclaim_internal, tsr_internal): Rename from this...
13113 (tabort, tbegin, tcheck, tend, trechkpt, treclaim, tsr): ...to this.
13114 (tabortdc_internal, tabortdci_internal, tabortwc_internal,
13115 tabortwci_internal): Remove define_insns.
13116 (tabort<wd>c, tabort<wd>ci): New define_insns.
13117 (tabort): Use gpc_reg_operand.
13118 (tcheck): Remove operand.
13119 (htm_mfspr_<mode>, htm_mtspr_<mode>): Use GPR mode macro.
13120 * config/rs6000/htmxlintrin.h (__TM_end): Use _HTM_TRANSACTIONAL as
13121 expected value.
13122 * config/rs6000/rs6000-builtin.def (BU_HTM_SPR0): Remove.
13123 (BU_HTM_SPR1): Rename to BU_HTM_V1. Remove use of RS6000_BTC_SPR.
13124 (tabort, tabortdc, tabortdci, tabortwc, tabortwci, tbegin,
13125 tcheck, tend, tendall, trechkpt, treclaim, tresume, tsuspend,
13126 tsr, ttest): Pass in the RS6000_BTC_CR attribute.
13127 (get_tfhar, set_tfhar, get_tfiar, set_tfiar, get_texasr, set_texasr,
13128 get_texasru, set_texasru): Pass in the RS6000_BTC_SPR attribute.
13129 (tcheck): Remove builtin argument.
13130 * config/rs6000/rs6000.c (rs6000_htm_spr_icode): Use TARGET_POWERPC64
13131 not TARGET_64BIT.
13132 (htm_expand_builtin): Fix usage of expandedp. Disallow usage of the
13133 tabortdc and tabortdci builtins when not in 64-bit mode.
13134 Modify code to handle the loss of the HTM define_expands.
13135 Emit code to copy the CR register to TARGET.
13136 (htm_init_builtins): Modify code to handle the loss of the HTM
13137 define_expands.
13138 * config/rs6000/rs6000.h (RS6000_BTC_32BIT): Delete.
13139 (RS6000_BTC_64BIT): Likewise.
13140 (RS6000_BTC_CR): New macro.
13141 * doc/extend.texi: Update documentation for htm builtins.
13142
13143 2015-04-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13144
13145 * simplify-rtx.c (simplify_gen_binary): Use std::swap instead
13146 of manually swapping.
13147 (simplify_associative_operation): Likewise.
13148 (simplify_binary_operation): Likewise.
13149 (simplify_plus_minus): Likewise.
13150 (simplify_relational_operation): Likewise.
13151 (simplify_ternary_operation): Likewise.
13152
13153 2015-04-27 Richard Sandiford <richard.sandiford@arm.com>
13154
13155 * config/stormy16/predicates.md (xs_hi_general_operand): Delete.
13156 (xs_hi_nonmemory_operand): Remove error.
13157 * config/stormy16/stormy16.md (movhi, movhi_internal): Use
13158 general_operand rather than xs_hi_general_operand.
13159
13160 2015-04-27 Richard Biener <rguenther@suse.de>
13161
13162 * tree-ssa-dom.c (record_equivalences_from_phis): Valueize PHI arg.
13163 (record_equivalences_from_stmt): Valueize rhs.
13164 (record_equality): Canonicalize x and y order via
13165 tree_swap_operands_p. Do not swap operands for same loop depth.
13166
13167 2015-04-27 Georg-Johann Lay <avr@gjlay.de>
13168
13169 PR target/65296
13170 PR target/65895
13171 * config/avr/gen-avr-mmcu-specs.c (print_mcu): Close file.
13172 Add hint how to use own spec file.
13173
13174 2015-04-27 Jakub Jelinek <jakub@redhat.com>
13175
13176 PR tree-optimization/65875
13177 * tree-vrp.c (update_value_range): If in is_new case setting
13178 old_vr to VR_VARYING, also set new_vr to it. Remove
13179 old_vr->type == VR_VARYING test.
13180 (vrp_visit_phi_node): Return SSA_PROP_VARYING instead of
13181 SSA_PROP_INTERESTING if update_value_range returned true,
13182 but new range is VR_VARYING.
13183
13184 2015-04-27 Thomas Preud'homme <thomas.preudhomme@arm.com>
13185
13186 * combine.c (sign_extend_short_imm): New.
13187 (set_nonzero_bits_and_sign_copies): Use above new function for sign
13188 extension of src short immediate.
13189 (reg_nonzero_bits_for_combine): Likewise for tem.
13190
13191 2015-04-27 Eric Botcazou <ebotcazou@adacore.com>
13192
13193 * stor-layout.c (self_referential_component_ref_p): New predicate.
13194 (copy_self_referential_tree_r): Use it.
13195 (self_referential_size): Punt for simple operations directly involving
13196 self-referential component references.
13197 * tree-cfg.c (dump_function_to_file): Add missing final curly bracket.
13198
13199 2015-04-27 Eric Botcazou <ebotcazou@adacore.com>
13200
13201 * ipa-icf.c (icf_handled_component_p): Remove redundant tests.
13202
13203 2015-04-27 Richard Sandiford <richard.sandiford@arm.com>
13204
13205 * vec.h (vec): Make splice arguments const. Update definitions
13206 accordingly.
13207
13208 2015-04-27 Yvan Roux <yvan.roux@linaro.org>
13209
13210 * config/arm/arm.md (*arm_subsi3_insn): Fixed redundant
13211 alternatives.
13212
13213 2015-04-26 Tom de Vries <tom@codesourcery.com>
13214
13215 PR tree-optimization/65826
13216 * internal-fn.def: Mark VA_ARG with ECF_LEAF.
13217
13218 2015-04-24 Steve Ellcey <sellcey@imgtec.com>
13219
13220 * config/mips/mips.md: (*madd4<mode>) Remove accum_in attribute.
13221 (*madd3<mode>): Ditto.
13222 (*msub4<mode>): Ditto.
13223 (*msub3<mode>): Ditto.
13224 (*nmadd4<mode>): Ditto.
13225 (*nmadd3<mode>): Ditto.
13226 (*nmadd4<mode>_fastmath): Ditto.
13227 (*nmadd3<mode>_fastmath): Ditto.
13228 (*nmsub4<mode>): Ditto.
13229 (*nmsub3<mode>): Ditto.
13230 (*nmsub4<mode>_fastmath): Ditto.
13231 (*nmsub3<mode>_fastmath): Ditto.
13232
13233 2015-04-24 Jason Merrill <jason@redhat.com>
13234
13235 PR c++/50800
13236 * tree.c (build_reference_type_for_mode): Don't pass can_alias_all
13237 down when building TYPE_CANONICAL.
13238 (build_pointer_type_for_mode): Likewise.
13239
13240 2015-04-24 Chen Gang <gang.chen.5i5j@gmail.com>
13241
13242 * genrecog.c (validate_pattern): Check matching constraint refers
13243 to a lower numbered operand.
13244
13245 2015-04-24 Michael Meissner <meissner@linux.vnet.ibm.com>
13246
13247 PR target/65849
13248 * config/rs6000/rs6000.opt (-mvsx-align-128): Make options that
13249 save to independent variables use the Save attribute. This will
13250 allow these options to be modified with the #pragma/attribute
13251 target support.
13252 (-mallow-movmisalign): Likewise.
13253 (-mallow-df-permute): Likewise.
13254 (-msched-groups): Likewise.
13255 (-malways-hint): Likewise.
13256 (-malign-branch-targets): Likewise.
13257 (-mvectorize-builtins): Likewise.
13258 (-msave-toc-indirect): Likewise.
13259
13260 * config/rs6000/rs6000.c (rs6000_opt_masks): Add more options that
13261 can be set via the #pragma/attribute target support.
13262 (rs6000_opt_vars): Likewise.
13263 (rs6000_inner_target_options): If VSX was set, also set
13264 -mno-avoid-indexed-addresses.
13265
13266 2015-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13267
13268 * config/arm/iterators.md (shiftable_ops): Rename to...
13269 (SHIFTABLE_OPS): ... This. Update use in comments.
13270 (ior_xor): Rename to...
13271 (IOR_XOR): ... This.
13272 (vqh_ops): Rename to...
13273 (VQH_OPS): ... This.
13274 (vqhs_ops): Rename to...
13275 (VQHS_OPS): ... This.
13276 (rshifts): Rename to...
13277 (RSHIFTS): ... This.
13278 (returns): Rename to...
13279 (RETURNS): ... This.
13280 * config/arm/arm.md: Update uses of the above.
13281 * config/arm/neon.md: Likewise.
13282
13283 2014-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13284
13285 * config.host (case ${host}): Add aarch64*-*-linux case.
13286 * config/aarch64/aarch64-cores.def: Add IMPLEMENTER_ID and PART_NUMBER
13287 fields to all the cores.
13288 * config/aarch64/aarch64-elf.h (DRIVER_SELF_SPECS):
13289 Add MCPU_MTUNE_NATIVE_SPECS.
13290 * config/aarch64/aarch64-option-extensions.def: Add FEATURE_STRING
13291 field to all extensions.
13292 * config/aarch64/aarch64-opts.h: Adjust definition of AARCH64_CORE.
13293 * config/aarch64/aarch64.c: Adjust definition of AARCH64_CORE.
13294 Adjust definition of AARCH64_OPT_EXTENSION.
13295 * config/aarch64/aarch64.h: Adjust definition of AARCH64_CORE.
13296 (MCPU_MTUNE_NATIVE_SPECS): Define.
13297 * config/aarch64/driver-aarch64.c: New file.
13298 * config/aarch64/x-arch64: New file.
13299 * doc/invoke.texi (AArch64 Options): Document native value for -mcpu,
13300 -mtune and -march.
13301
13302 2015-04-24 Uros Bizjak <ubizjak@gmail.com>
13303 Wei Mi <wmi@google.com>
13304
13305 * config/i386/i386-protos.h (ix86_operands_ok_for_move_multiple): New.
13306 * config/i386/i386.c (extract_base_offset_in_addr): New function.
13307 (ix86_operands_ok_for_move_multiple): Ditto.
13308 * config/i386/sse.md (movsd/movhpd to movupd peephole2): New pattern.
13309 (movlpd/movhpd to movupd peephole2): Ditto.
13310
13311 2015-04-24 Marek Polacek <polacek@redhat.com>
13312
13313 PR c/61534
13314 * input.h (from_macro_expansion_at): Define.
13315
13316 PR c/63357
13317 * doc/invoke.texi: Update description of -Wlogical-op.
13318
13319 2015-04-24 Thomas Preud'homme <thomas.preudhomme@arm.com>
13320
13321 * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): fix
13322 ternary operator in fprintf and harmonize spacing.
13323
13324 2015-04-24 Uros Bizjak <ubizjak@gmail.com>
13325
13326 * config/i386/sse.md (*vec_widen_smult_even_v8si<mask_name>):
13327 Mark operand1 commutative.
13328
13329 2015-04-24 Uros Bizjak <ubizjak@gmail.com>
13330
13331 * config/i386/sse.md (*vec_concatv2sf_sse4_1): Do not allow both
13332 input operands in memory.
13333 (*vec_concatv2si_sse4_1): Ditto.
13334 (*vec_concatv2df): Ditto, except for SSE3 and equal input operands.
13335 (vec_extract_lo_<mode><mask_name>): Change operand 1 predicate to
13336 register_operand.
13337 (vec_extract_hi_v32hi): Ditto.
13338 (vec_extract_hi_v64hi): Ditto.
13339 (<mask_codefor>avx512f_unpckhpd512<mask_name>): Ditto.
13340
13341 2015-04-24 Thomas Preud'homme <thomas.preudhomme@arm.com>
13342 Steven Bosscher <steven@gcc.gnu.org>
13343
13344 PR rtl-optimization/34503
13345 * cprop.c (cprop_reg_p): New.
13346 (hash_scan_set): Use above function to check if register can be
13347 propagated.
13348 (find_avail_set): Return up to two sets, one whose source is a
13349 register and one whose source is a constant. Sets are returned in an
13350 array passed as parameter rather than as a return value.
13351 (cprop_insn): Use a do while loop rather than a goto. Try each of the
13352 sets returned by find_avail_set, starting with the one whose source is
13353 a constant. Use cprop_reg_p to check if register can be propagated.
13354 (do_local_cprop): Use cprop_reg_p to check if register can be
13355 propagated.
13356 (implicit_set_cond_p): Likewise.
13357
13358 2015-04-23 Jan Hubicka <hubicka@ucw.cz>
13359
13360 * ipa-icf.c (sem_function::equals_wpa): Compare thunk info.
13361 (sem_function::equals): IGNORED_NODES parameter is now unused;
13362 update call of equals_private.
13363 (sem_function::equals_private): Do not call equals_wpa; skip
13364 gimple body matching if there is no body.
13365 (sem_function::init): Add logic to hash tthunk info.
13366 (sem_function::parse): Also parse thunks.
13367 * ipa-icf.h (equals_private): Update declaration.
13368
13369 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13370
13371 * config/rs6000/altivec.md (*altivec_lvx_<mode>_internal): Remove
13372 asterisk from name so this can be generated directly.
13373 (*altivec_stvx_<mode>_internal): Likewise.
13374 * config/rs6000/rs6000.c (rs6000_emit_le_vsx_store): Add assert
13375 that this is never called during or after reload/lra.
13376 (rs6000_frame_related): Remove split_reg
13377 argument and logic that references it.
13378 (emit_frame_save): Remove last parameter from call to
13379 rs6000_frame_related.
13380 (rs6000_emit_prologue): Remove last parameter from eight calls to
13381 rs6000_frame_related. Force generation of stvx instruction for
13382 Altivec register saves. Remove split_reg handling, which is no
13383 longer needed.
13384 (rs6000_emit_epilogue): Force generation of lvx instruction for
13385 Altivec register restores.
13386
13387 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13388
13389 * config/rs6000/rs6000.opt (mcrypto): Change option description to
13390 match category changes in ISA 2.07B.
13391
13392 2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13393
13394 * config/arm/iterators.md (GTGE, GTUGEU, COMPARISONS): New code
13395 iterators.
13396 (cmp_op, cmp_type): New code attributes.
13397 (NEON_VCMP, NEON_VACMP): New int iterators.
13398 (cmp_op_unsp): New int attribute.
13399 * config/arm/neon.md (neon_vc<cmp_op><mode>): New define_expand.
13400 (neon_vceq<mode>): Delete.
13401 (neon_vc<cmp_op><mode>_insn): New pattern.
13402 (neon_vc<cmp_op_unsp><mode>_insn_unspec): Likewise.
13403 (neon_vcgeu<mode>): Delete.
13404 (neon_vcle<mode>): Likewise.
13405 (neon_vclt<mode>: Likewise.
13406 (neon_vcage<mode>): Likewise.
13407 (neon_vcagt<mode>): Likewise.
13408 (neon_vca<cmp_op><mode>): New define_expand.
13409 (neon_vca<cmp_op><mode>_insn): New pattern.
13410 (neon_vca<cmp_op_unsp><mode>_insn_unspec): Likewise.
13411
13412 2015-04-23 Jan Hubicka <hubicka@ucw.cz>
13413
13414 * tree.h (attribute_value_equal): Declare.
13415 * tree.c (attribute_value_equal): Export.
13416
13417 2015-04-23 Jan Hubicka <hubicka@ucw.cz>
13418
13419 * ipa-icf.c (sem_item::compare_attributes): New function.
13420 (sem_item::compare_referenced_symbol_properties): Compare variable
13421 attributes.
13422 (sem_item::hash_referenced_symbol_properties): Record DECL_ALIGN.
13423 (sem_function::param_used_p): New function.
13424 (sem_function::equals_wpa): Fix attribute comparsion; match
13425 parameter type codes; do not compare paremter flags when
13426 they are not used; compare edge flags; compare indirect calls.
13427 (sem_item::update_hash_by_addr_refs): Hash reference type.
13428 (sem_function::equals_private): Do not match DECL_ATTRIBUTES.
13429 (sem_variable::equals_wpa): Do not match DECL_ALIGN; match
13430 reference use type.
13431 (sem_item_optimizer::update_hash_by_addr_refs): Use param_used_p.
13432 * ipa-icf.h (compare_attributes, param_used_p): Declare.
13433
13434 2015-04-23 Jan Hubicka <hubicka@ucw.cz>
13435
13436 * ipa-icf.c (symbol_compare_collection::symbol_compare_collection):
13437 cleanup.
13438 (sem_function::get_hash): Do not hash DECL_DISREGARD_INLINE_LIMITS,
13439 DECL_DECLARED_INLINE_P and DECL_IS_OPERATOR_NEW.
13440 (sem_item::compare_referenced_symbol_properties): New.
13441 (sem_item::hash_referenced_symbol_properties): New.
13442 (sem_item::compare_cgraph_references): Rename to ...
13443 (sem_item::compare_symbol_references): ... this one; use
13444 compare_referenced_symbol_properties.
13445 (sem_function::equals_wpa): Do not compare
13446 DECL_DISREGARD_INLINE_LIMITS, DECL_DECLARED_INLINE_P,
13447 DECL_IS_OPERATOR_NEW; compare pointer sizes.
13448 (sem_item::update_hash_by_addr_refs): Call
13449 hash_referenced_symbol_properties.
13450 (sem_item::update_hash_by_local_refs): Cleanup.
13451 (sem_function::merge): Do not mix up symbol properties.
13452 (sem_variable::equals_wpa): Use compare_symbol_references.
13453 * ipa-icf.h (sem_item::compare_referenced_symbol_properties): New.
13454 (sem_item::hash_referenced_symbol_properties): New.
13455 (sem_item::compare_symbol_references): New.
13456 (sem_item::compare_cgraph_references): Remove.
13457
13458 2015-04-23 Kwok Cheung Yeung <kcy@codesourcery.com>
13459
13460 PR target/26702
13461 * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL):
13462 Emit size of local.
13463
13464 2015-04-23 Nick Clifton <nickc@redhat.com>
13465
13466 * config/rl78/rl78.c (rl78_preferred_reload_class): Add
13467 ATTRIBUTE_UNUSED to x parameter.
13468 * config/rl78/rl78-opts.h (enum rl78_mul_types): Remove unused MUL_RL78.
13469
13470 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13471
13472 * config/rs6000/crypto.md (crypto_vpmsum<CR_char>): Change
13473 TARGET_CRYPTO to TARGET_P8_VECTOR>
13474 (crypto_vpermxor_<mode>): Likewise.
13475 * config/rs6000/rs6000-builtin.def (BU_CRYPTO_2A): New #define.
13476 (BU_CRYPTO_3A): Likewise.
13477 (BU_CRYPTO_OVERLOAD_2A): Rename from BU_CRYPTO_OVERLOAD_2.
13478 (BU_CRYPTO_OVERLOAD_3A): New #define.
13479 (VPMSUMB): Change from BU_CRYPTO_2 to BU_CRYPTO_2A.
13480 (VPMSUMH): Likewise.
13481 (VPMSUMW): Likewise.
13482 (VPMSUMD): Likewise.
13483 (VPERMXOR_V2DI): Change from BU_CRYPTO_3 to BU_CRYPTO_3A.
13484 (VPERMXOR_V4SI): Likewise.
13485 (VPERMXOR_V8HI): Likewise.
13486 (VPERMXOR_V16QI): Likewise.
13487 (VPMSUM): Change from BU_CRYPTO_OVERLOAD_2 to
13488 BU_CRYPTO_OVERLOAD_2A.
13489 (VPERMXOR): Change from BU_CRYPTO_OVERLOAD3 to
13490 BU_CRYPTO_OVERLOAD_3A.
13491 * config/rs6000/rs6000.opt (mcrypto): Change description of
13492 option.
13493
13494 2015-04-23 Richard Biener <rguenther@suse.de>
13495
13496 * passes.def: Remove copy propagation passes run directly after CCP.
13497 * tree-ssa-ccp.c (get_value_for_expr): Fall back to a COPY for
13498 SSA names.
13499 (ccp_visit_phi_node): Rework to handle first executable edge
13500 specially.
13501
13502 2015-04-23 Matthew Wahab <matthew.wahab@arm.com>
13503
13504 * config/arm/arm.h (LEGITIMIZE_RELOAD_ADDRESS): Remove.
13505 (ARM_LEGITIMIZE_RELOAD_ADDRESS): Remove.
13506 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Remove.
13507 * config/arm/arm.c (arm_legimitimize_reload_address): Remove.
13508 (thumb_legimitimize_reload_address): Remove.
13509 * config/arm/arm-protos.h (arm_legimitimize_reload_address):
13510 Remove.
13511 (thumb_legimitimize_reload_address): Remove.
13512
13513 2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13514
13515 * conditions.h (CC_STATUS_INIT): Gate on #ifndef CC_STATUS_INIT.
13516
13517 2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13518
13519 * config/arm/arm.md (load_multiple): Reject operand 2 greater than
13520 MAX_LDM_STM_OPS.
13521 (store_multiple): Likewise.
13522
13523 2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13524
13525 * config/arm/arm-protos.h (struct tune_params): Add issue_rate field.
13526 * config/arm/arm.c (arm_slowmul_tune, arm_fastmul_tune,
13527 arm_strongarm_tune, arm_xscale_tune, arm_9e_tune, arm_v6t2_tune,
13528 arm_cortex_tune, arm_cortex_a8_tune, arm_cortex_a7_tune,
13529 arm_cortex_a15_tune, arm_cortex_a53_tune, arm_cortex_a57_tune,
13530 arm_cortex_a9_tune, arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune,
13531 arm_fa726te_tune arm_cortex_a5_tune, arm_xgene1_tune):
13532 Specify issue_rate value.
13533 (arm_issue_rate): Look up issue rate from tuning structs. Remove
13534 large switch statement.
13535 (arm_marvell_pj4_tune): New struct.
13536 * config/arm/arm-cores.def (marvell-pj4): Use arm_marvell_pj4_tune
13537 struct.
13538
13539 2015-04-23 Richard Biener <rguenther@suse.de>
13540
13541 * tree-vect-slp.c (vect_find_first_load_in_slp_instance): Remove.
13542 (vect_find_last_store_in_slp_instance): Rename to ...
13543 (vect_find_last_scalar_stmt_in_slp): ... this and generalize.
13544 (vect_analyze_slp_cost_1): Use vector_load for constant defs
13545 and vec_construct for external defs when estimating prologue cost.
13546 (vect_analyze_slp_instance): Do not init SLP_INSTANCE_FIRST_LOAD_STMT.
13547 Compute costs here only when vectorizing loops.
13548 (vect_slp_analyze_bb_1): Compute SLP cost here, after vector types
13549 have been determined.
13550 (vect_schedule_slp_instance): Simplify vectorized code placement
13551 and prepare for in-BB external defs.
13552 * tree-vectorizer.h (struct _slp_instance): Remove first_load member.
13553 (SLP_INSTANCE_FIRST_LOAD_STMT): Remove.
13554 * tree-vect-stmts.c (vect_model_store_cost): Remove PURE_SLP_STMT
13555 guard.
13556 (vect_model_load_cost): Likewise.
13557 (vectorizable_store): Instead add it here.
13558 (vectorizable_load): Likewise.
13559 (vect_is_simple_use): Dump def type textually.
13560
13561 2015-04-23 Richard Biener <rguenther@suse.de>
13562
13563 * cfgexpand.c (expand_gimple_stmt_1): Use ops.code.
13564 * cfgloop.c (verify_loop_structure): Verify the root loop node.
13565 * except.c (duplicate_eh_regions): Call get_eh_region_from_lp_number_fn
13566 instead of get_eh_region_from_lp_number.
13567 * loop-init.c (fix_loop_structure): If we removed a loop, reset
13568 the SCEV cache.
13569
13570 2015-04-23 Anton Blanchard <anton@samba.org>
13571
13572 * config/rs6000/rs6000.c (rs6000_output_function_prologue): No
13573 need for -mprofile-kernel to save LR to stack.
13574
13575 2015-04-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13576
13577 * config/rs6000/rs6000.c (rtx_is_swappable_p): Commentary
13578 adjustments.
13579 (insn_is_swappable_p): Return 1 for a convert from double to
13580 single precision when all of its uses are splats of BE element
13581 zero.
13582
13583 2015-04-23 Kugan Vivekanandarajah <kuganv@linaro.org>
13584
13585 * ira-costs.c (record_operand_costs): Fix typo (remove redundant code).
13586
13587 2015-04-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13588
13589 PR target/65456
13590 * config/rs6000/rs6000.c (rs6000_option_override_internal): For
13591 VSX + POWER8, enable TARGET_ALLOW_MOVMISALIGN and
13592 TARGET_EFFICIENT_UNALIGNED_VSX if not selected by command line
13593 option.
13594 (rs6000_builtin_mask_for_load): Return 0 for targets with
13595 efficient unaligned VSX accesses so that the vectorizer will use
13596 direct unaligned loads.
13597 (rs6000_builtin_support_vector_misalignment): Always return true
13598 for targets with efficient unaligned VSX accesses.
13599 (rs6000_builtin_vectorization_cost): Cost of unaligned loads and
13600 stores on targets with efficient unaligned VSX accesses is almost
13601 always the same as the cost of an aligned load or store, so model
13602 it that way.
13603 * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Return 0 for
13604 unaligned vectors if we have efficient unaligned VSX accesses.
13605 * config/rs6000/rs6000.opt (mefficient-unaligned-vector): New
13606 undocumented option.
13607
13608 2015-04-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13609
13610 Revert:
13611 2015-04-22 Gregor Richards <gregor.richards@uwaterloo.ca>
13612
13613 * config.gcc (LIBC_MUSL): New tm_defines macro.
13614 * config/linux.h (OPTION_MUSL): Define.
13615 (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
13616 (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
13617 (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
13618
13619 * config/linux.opt (mmusl): New option.
13620 * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
13621 (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.
13622
13623 * configure: Regenerate.
13624
13625 2015-04-22 Gregor Richards <gregor.richards@uwaterloo.ca>
13626
13627 * config.gcc (LIBC_MUSL): New tm_defines macro.
13628 * config/linux.h (OPTION_MUSL): Define.
13629 (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
13630 (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
13631 (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
13632
13633 * config/linux.opt (mmusl): New option.
13634 * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
13635 (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.
13636
13637 * configure: Regenerate.
13638
13639 2015-04-22 Yury Gribov <y.gribov@samsung.com>
13640
13641 * doc/invoke.texi (-fsanitize-sections): Update description.
13642 * asan.c (set_sanitized_sections): Parse incoming arg.
13643 (section_sanitized_p): Support wildcards.
13644
13645 2015-04-22 Tom de Vries <tom@codesourcery.com>
13646
13647 PR tree-optimization/65823
13648 * gimplify.c (gimplify_modify_expr): Use operand_equal_p to test for
13649 equality between ap_copy and ap.
13650
13651 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
13652
13653 PR target/47098
13654 * config/openbsd-oldgas.h (OBSD_LIB_SPEC): Add.
13655
13656 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
13657
13658 PR target/47122
13659 * config.gcc (vax-*-openbsd*): Fix name of pthread spec header.
13660
13661 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
13662
13663 PR target/55144
13664 * config.gcc (bfin*-linux-uclibc*): Prepend tmake_file and
13665 remove already contained t-files.
13666
13667 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
13668
13669 * tree-tailcall.c (suitable_for_tail_opt_p, find_tail_calls):
13670 Remove unneeded forward declarations.
13671 (suitable_for_tail_call_opt_p): Commentary typo fix.
13672
13673 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
13674
13675 * varasm.c (emit_bss): Remove redundant guard.
13676
13677 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
13678
13679 * config/c6x/c6x.h (TARGET_CPU_CPP_BUILTINS): Add unk_isa.
13680
13681 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
13682
13683 * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Add BFIN_CPU_UNKNOWN.
13684
13685 2015-04-22 Hale Wang <hale.wang@arm.com>
13686 Terry Guo <terry.guo@arm.com>
13687
13688 PR rtl-optimization/64818
13689 * combine.c (can_combine_p): Don't combine user-specified
13690 register if it is in an asm input.
13691
13692 2015-04-21 Jan Hubicka <hubicka@ucw.cz>
13693
13694 PR ipa/65076
13695 * passes.def (early_optimizations): Add pass_dse.
13696
13697 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
13698
13699 * defaults.h (INSN_REFERENCES_ARE_DELAYED): New definition.
13700 * reorg.c (redundant_insn): Remove ifdef
13701 INSN_REFERENCES_ARE_DELAYED.
13702 * resource.c (mark_referenced_resources): Likewise.
13703
13704 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
13705
13706 * defaults.h (INSN_SETS_ARE_DELAYED): New definition.
13707 * reorg.c (redundant_insn): Remove ifdef INSN_SETS_ARE_DELAYED.
13708 * resource.c (mark_set_resources): Likewise.
13709
13710 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
13711
13712 * caller-save.c (insert_one_insn): Remove ifdef HAVE_cc0.
13713 * cfgcleanup.c (flow_find_cross_jump): Likewise.
13714 (flow_find_head_matching_sequence): Likewise.
13715 (try_head_merge_bb): Likewise.
13716 * combine.c (can_combine_p): Likewise.
13717 (try_combine): Likewise.
13718 (distribute_notes): Likewise.
13719 * df-problems.c (can_move_insns_across): Likewise.
13720 * final.c (final): Likewise.
13721 * gcse.c (insert_insn_end_basic_block): Likewise.
13722 * ira.c (find_moveable_pseudos): Likewise.
13723 * reorg.c (try_merge_delay_insns): Likewise.
13724 (fill_simple_delay_slots): Likewise.
13725 (fill_slots_from_thread): Likewise.
13726 * sched-deps.c (sched_analyze_2): Likewise.
13727
13728 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
13729
13730 * df-scan.c (df_get_entry_block_def_set): Remove #ifdef
13731 PIC_OFFSET_TABLE_REGNUM.
13732
13733 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
13734
13735 * alias.c (init_alias_target): Remove ifdef
13736 * HARD_FRAME_POINTER_IS_FRAME_POINTER.
13737 * df-scan.c (df_insn_refs_collect): Likewise.
13738 (df_get_regular_block_artificial_uses): Likewise.
13739 (df_get_eh_block_artificial_uses): Likewise.
13740 (df_get_entry_block_def_set): Likewise.
13741 (df_get_exit_block_use_set): Likewise.
13742 * emit-rtl.c (gen_rtx_REG): Likewise.
13743 * ira.c (ira_setup_eliminable_regset): Likewise.
13744 * reginfo.c (init_reg_sets_1): Likewise.
13745 * regrename.c (rename_chains): Likewise.
13746 * reload1.c (reload): Likewise.
13747 (eliminate_regs_in_insn): Likewise.
13748 * resource.c (mark_referenced_resources): Likewise.
13749 (init_resource_info): Likewise.
13750
13751 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
13752
13753 * defaults.h (MASK_RETURN_ADDR): New definition.
13754 * except.c (expand_builtin_extract_return_addr): Remove ifdef
13755 MASK_RETURN_ADDR.
13756
13757 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
13758
13759 * defaults.h (RETURN_ADDR_OFFSET): New definition.
13760 * except.c (expand_builtin_extract_return_addr): Remove ifdef
13761 RETURN_ADDR_OFFSET.
13762 (expand_builtin_frob_return_addr): Likewise.
13763
13764 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
13765
13766 * cfgrtl.c (rtl_merge_blocks): Change #if HAVE_cc0 to if (HAVE_cc0)
13767 (try_redirect_by_replacing_jump): Likewise.
13768 (rtl_tidy_fallthru_edge): Likewise.
13769 * combine.c (insn_a_feeds_b): Likewise.
13770 (find_split_point): Likewise.
13771 (simplify_set): Likewise.
13772 * cprop.c (cprop_jump): Likewise.
13773 * cse.c (cse_extended_basic_block): Likewise.
13774 * df-problems.c (can_move_insns_across): Likewise.
13775 * function.c (emit_use_return_register_into_block): Likewise.
13776 * haifa-sched.c (sched_init): Likewise.
13777 * ira.c (find_moveable_pseudos): Likewise.
13778 * loop-invariant.c (find_invariant_insn): Likewise.
13779 * lra-constraints.c (curr_insn_transform): Likewise.
13780 * postreload.c (reload_combine_recognize_const_pattern):
13781 * Likewise.
13782 * reload.c (find_reloads): Likewise.
13783 * reorg.c (delete_scheduled_jump): Likewise.
13784 (steal_delay_list_from_target): Likewise.
13785 (steal_delay_list_from_fallthrough): Likewise.
13786 (redundant_insn): Likewise.
13787 (fill_simple_delay_slots): Likewise.
13788 (fill_slots_from_thread): Likewise.
13789 (delete_computation): Likewise.
13790 * sched-rgn.c (add_branch_dependences): Likewise.
13791
13792 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
13793
13794 * genconfig.c (main): Always define HAVE_cc0.
13795 * caller-save.c (insert_one_insn): Change ifdef HAVE_cc0 to #if
13796 HAVE_cc0.
13797 * cfgcleanup.c (flow_find_cross_jump): Likewise.
13798 (flow_find_head_matching_sequence): Likewise.
13799 (try_head_merge_bb): Likewise.
13800 * cfgrtl.c (rtl_merge_blocks): Likewise.
13801 (try_redirect_by_replacing_jump): Likewise.
13802 (rtl_tidy_fallthru_edge): Likewise.
13803 * combine.c (do_SUBST_MODE): Likewise.
13804 (insn_a_feeds_b): Likewise.
13805 (combine_instructions): Likewise.
13806 (can_combine_p): Likewise.
13807 (try_combine): Likewise.
13808 (find_split_point): Likewise.
13809 (subst): Likewise.
13810 (simplify_set): Likewise.
13811 (distribute_notes): Likewise.
13812 * cprop.c (cprop_jump): Likewise.
13813 * cse.c (cse_extended_basic_block): Likewise.
13814 * df-problems.c (can_move_insns_across): Likewise.
13815 * final.c (final): Likewise.
13816 (final_scan_insn): Likewise.
13817 * function.c (emit_use_return_register_into_block): Likewise.
13818 * gcse.c (insert_insn_end_basic_block): Likewise.
13819 * haifa-sched.c (sched_init): Likewise.
13820 * ira.c (find_moveable_pseudos): Likewise.
13821 * loop-invariant.c (find_invariant_insn): Likewise.
13822 * lra-constraints.c (curr_insn_transform): Likewise.
13823 * optabs.c (prepare_cmp_insn): Likewise.
13824 * postreload.c (reload_combine_recognize_const_pattern):
13825 * Likewise.
13826 * reload.c (find_reloads): Likewise.
13827 (find_reloads_address_1): Likewise.
13828 * reorg.c (delete_scheduled_jump): Likewise.
13829 (steal_delay_list_from_target): Likewise.
13830 (steal_delay_list_from_fallthrough): Likewise.
13831 (try_merge_delay_insns): Likewise.
13832 (redundant_insn): Likewise.
13833 (fill_simple_delay_slots): Likewise.
13834 (fill_slots_from_thread): Likewise.
13835 (delete_computation): Likewise.
13836 (relax_delay_slots): Likewise.
13837 * sched-deps.c (sched_analyze_2): Likewise.
13838 * sched-rgn.c (add_branch_dependences): Likewise.
13839
13840 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
13841
13842 * combine.c (find_single_use): Remove HAVE_cc0 ifdef for code
13843 that is trivially ded on non cc0 targets.
13844 (simplify_set): Likewise.
13845 (mark_used_regs_combine): Likewise.
13846 * cse.c (new_basic_block): Likewise.
13847 (fold_rtx): Likewise.
13848 (cse_insn): Likewise.
13849 (cse_extended_basic_block): Likewise.
13850 (set_live_p): Likewise.
13851 * rtlanal.c (canonicalize_condition): Likewise.
13852 * simplify-rtx.c (simplify_binary_operation_1): Likewise.
13853
13854 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
13855
13856 * conditions.h: Define macros even if HAVE_cc0 is undefined.
13857 * emit-rtl.c: Define functions even if HAVE_cc0 is undefined.
13858 * final.c: Likewise.
13859 * jump.c: Likewise.
13860 * recog.c: Likewise.
13861 * recog.h: Declare functions even when HAVE_cc0 is undefined.
13862 * sched-deps.c (sched_analyze_2): Always compile case for cc0.
13863
13864 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
13865
13866 * defaults.h: New definition of EH_RETURN_DATA_REGNO.
13867 * except.c: Remove definition of EH_RETURN_DATA_REGNO.
13868 * builtins.c (expand_builtin): Remove check if
13869 EH_RETURN_DATA_REGNO is defined.
13870 * df-scan.c (df_bb_refs_collect): Likewise.
13871 (df_get_exit_block_use_set): Likewise.
13872 * haifa-sched.c (initiate_bb_reg_pressure_info): Likewise.
13873 * ira-lives.c (process_bb_node_lives): Likewise.
13874 * lra-lives.c (process_bb_lives): Likewise.
13875
13876 2015-04-21 Uros Bizjak <ubizjak@gmail.com>
13877
13878 * config/i386/i386.md (ARGP_REG, FRAME_REG, BND2_REG, BND3_REG,
13879 FIRST_PSEUDO_REG): New.
13880 * config/i386/i386.h (STACK_POINTER_REGNUM): Define to SP_REG.
13881 (ARG_POINTER_REGNUM): Define to ARGP_REG.
13882 (FRAME_POINTER_REGNUM): Define to FRAME_REG.
13883 (HARD_FRAME_POINTER_REGNUM): Define to BP_REG.
13884 (FIRST_PSEUDO_REGISTER): Define to FIRST_PSEUDO_REG.
13885 (FIRST_INT_REG): New.
13886 (LAST_INT_REG): New.
13887 (FIRST_*_REG): Define using *_REG.
13888 (LAST_*_REG): Ditto.
13889 (QI_REGNO_P): Define using FIRST_QU_REG and LAST_QI_REG.
13890 (LEGACY_INT_REGNO_P): Define using FIRST_INT_REG and LAST_INT_REG.
13891 (FIRST_FLOAT_REG): Define to FIRST_STACK_REG.
13892
13893 2015-04-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13894
13895 * expmed.c: (synth_mult): Only assume overlapping
13896 shift with previous steps in alg_sub_t_m2 case.
13897
13898 2015-04-21 Richard Biener <rguenther@suse.de>
13899
13900 PR tree-optimization/65650
13901 * tree-ssa-ccp.c (valid_lattice_transition): Allow lattice
13902 transitions involving copies.
13903 (set_lattice_value): Adjust for copy lattice state.
13904 (ccp_lattice_meet): Do not merge UNDEFINED and a copy to the copy
13905 if that doesn't dominate the merge point.
13906 (bit_value_unop): Adjust what we treat as varying mask.
13907 (bit_value_binop): Likewise.
13908 (bit_value_assume_aligned): Likewise.
13909 (evaluate_stmt): When we simplified to a SSA name record a copy
13910 instead of dropping to varying.
13911 (visit_assignment): Simplify.
13912
13913 * gimple-match.h (gimple_simplify): Add another callback.
13914 * gimple-fold.c (fold_stmt_1): Adjust caller.
13915 (gimple_fold_stmt_to_constant_1): Likewise - pass valueize
13916 for the 2nd callback.
13917 * gimple-match-head.c (gimple_simplify): Add a callback that is
13918 used to valueize the stmt operands and use it that way.
13919
13920 2015-04-21 Richard Biener <rguenther@suse.de>
13921
13922 PR tree-optimization/65788
13923 * tree-ssa-ccp.c (evaluate_stmt): Evaluate to UNDEFINED early.
13924
13925 2015-04-21 Richard Biener <rguenther@suse.de>
13926
13927 * config/i386/i386.c (ix86_builtin_vectorization_cost): Scale
13928 vec_construct cost by vec_stmt_cost.
13929
13930 2015-04-21 Richard Biener <rguenther@suse.de>
13931
13932 * cfghooks.h (create_basic_block): Replace with two overloads
13933 for RTL and GIMPLE.
13934 (split_block): Likewise.
13935 * cfghooks.c (split_block): Rename to ...
13936 (split_block_1): ... this.
13937 (split_block): Add two type-safe overloads for RTL and GIMPLE.
13938 (split_block_after_labels): Call split_block_1.
13939 (create_basic_block): Rename to ...
13940 (create_basic_block_1): ... this.
13941 (create_basic_block): Add two type-safe overloads for RTL and GIMPLE.
13942 (create_empty_bb): Call create_basic_block_1.
13943 * cfgrtl.c (fixup_fallthru_exit_predecessor): Use
13944 split_block_after_labels.
13945 * omp-low.c (expand_parallel_call): Likewise.
13946 (expand_omp_target): Likewise.
13947 (simd_clone_adjust): Likewise.
13948 * tree-chkp.c (chkp_get_entry_block): Likewise.
13949 * cgraphunit.c (init_lowered_empty_function): Use the GIMPLE
13950 create_basic_block overload.
13951 (cgraph_node::expand_thunk): Likewise.
13952 * tree-cfg.c (make_blocks): Likewise.
13953 (handle_abnormal_edges): Likewise.
13954 * tree-inline.c (copy_bb): Likewise.
13955
13956 2015-04-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13957
13958 * config/aarch64/aarch64.md (*<NLOGICAL:optab>_one_cmplsidi3_ze):
13959 New pattern.
13960 (*xor_one_cmplsidi3_ze): Likewise.
13961
13962 2015-04-21 Thomas Preud'homme <thomas.preudhomme@arm.com>
13963
13964 * df-core.c (df_finish_pass): Iterate over df->problems_by_index[] and
13965 use df_remove_problem rather than manually removing problems, leaving
13966 holes in df->problems_in_order[].
13967
13968 2015-04-21 Tom de Vries <tom@codesourcery.com>
13969
13970 PR tree-optimization/65802
13971 * internal-fn.def (VA_ARG): Add ECF_NOTROW to flags.
13972
13973 2015-04-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13974
13975 * common/config/aarch64/aarch64-common.c (AARCH64_CPU_NAME_LENGTH):
13976 Increase to 128.
13977 (aarch64_rewrite_selected_cpu): Do not chop off extensions starting
13978 at '.'. Assert that there's enough space for everything.
13979
13980 2015-04-21 Uros Bizjak <ubizjak@gmail.com>
13981
13982 PR tree-optimization/64950
13983 Revert:
13984 2010-08-02 Uros Bizjak <ubizjak@gmail.com>
13985
13986 PR target/41089
13987 * config/alpha/alpha.c (alpha_build_builtin_va_list): Mark __offset
13988 as volatile.
13989
13990 2015-04-20 Shiva Chen <shiva0217@gmail.com>
13991
13992 PR rtl-optimization/64916
13993 * cfgcleanup.c (values_equal_p): New function.
13994 (can_replace_by): Use it.
13995
13996 2015-04-20 Paolo Carlini <paolo.carlini@oracle.com>
13997
13998 PR c++/65801
13999 * doc/invoke.texi ([-Wnarrowing]): Update.
14000
14001 2015-04-20 Jeff Law <law@redhat.com>
14002
14003 PR tree-optimization/65658
14004 * tree-ssa-threadupdate.c (redirection_block_p): Remove
14005 redundant test for GIMPLE_ASSIGN in last change.
14006
14007 2015-04-20 Uros Bizjak <ubizjak@gmail.com>
14008
14009 * config/i386/i386.c (set_pic_reg_ever_live): Remove.
14010 (legitimize_pic_address): Do not call set_pic_reg_ever_live.
14011 (legitimize_tls_address): Ditto.
14012 (ix86_expand_move): Ditto.
14013 (ix86_expand_binary_operator): Remove reload_in_progress checks.
14014 (ix86_expand_unary_operator): Ditto.
14015 * config/i386/predicates.md (index_register_operand): Ditto.
14016
14017 2015-04-20 Selim Belbachir <selim.belbachir@fr.thalesgroup.com>
14018
14019 * reorg.c (try_merge_delay_insns): Improve correctness checking
14020 for targets with multiple delay slots.
14021
14022 2015-04-20 Jeff Law <law@redhat.com>
14023
14024 PR tree-optimization/65658
14025 * tree-ssa-threadupdate.c (redirection_block_p): Ignore clobber
14026 statements too.
14027
14028 2015-04-20 Alan Lawrence <alan.lawrence@arm.com>
14029
14030 * config/aarch64/aarch64.c (aarch64_simd_emit_pair_result_insn): Delete.
14031 * config/aarch64/aarch64-protos.h (aarch64_simd_emit_pair_result_insn):
14032 Delete.
14033
14034 2015-04-20 Jakub Jelinek <jakub@redhat.com>
14035
14036 PR debug/65807
14037 * dwarf2out.c (add_AT_wide): Clear attr.dw_attr_val.val_entry.
14038
14039 2015-04-20 Richard Biener <rguenther@suse.de>
14040
14041 * gimple-fold.h (gimple_build): Remove optional valueize arguments.
14042 * gimple-fold.c (gimple_build_valueize): New function.
14043 (gimple_build): Always use gimple_build_valueize as valueize hook.
14044
14045 2015-04-20 Alan Lawrence <alan.lawrence@arm.com>
14046
14047 PR target/64134
14048 * config/aarch64/aarch64.c (aarch64_expand_vector_init): Load constant
14049 and overwrite variable parts if <= 1/2 the elements are variable.
14050
14051 2015-04-19 Vladimir Makarov <vmakarov@redhat.com>
14052
14053 PR rtl-optimization/65805
14054 * lra-eliminations.c (lra_eliminate_regs_1): Add new assert.
14055 Don't use difference of offset and previous offset if
14056 update_sp_offset is non-zero.
14057 (eliminate_regs_in_insn): Ditto.
14058 * lra-spills.c (remove_pseudos): Exchange 4th and 6th args in
14059 lra_eliminate_regs_1 call.
14060 * lra-constraints.c (get_equiv_with_elimination): Ditto.
14061
14062 2015-04-18 Trevor Saunders <tsaunders@mozilla.com>
14063
14064 * hash-table.h: Remove version of hash_table that stored value_type *.
14065 * asan.c, attribs.c, bitmap.c, cfg.c, cgraph.h, config/arm/arm.c,
14066 config/i386/winnt.c, config/ia64/ia64.c, config/mips/mips.c,
14067 config/sol2.c, coverage.c, cselib.c, dse.c, dwarf2cfi.c,
14068 dwarf2out.c, except.c, gcse.c, genmatch.c, ggc-common.c,
14069 gimple-ssa-strength-reduction.c, gimplify.c, haifa-sched.c,
14070 hard-reg-set.h, hash-map.h, hash-set.h, ipa-devirt.c, ipa-icf.h,
14071 ipa-profile.c, ira-color.c, ira-costs.c, loop-invariant.c,
14072 loop-iv.c, loop-unroll.c, lto-streamer.h, plugin.c, postreload-gcse.c,
14073 reginfo.c, statistics.c, store-motion.c, trans-mem.c, tree-cfg.c,
14074 tree-eh.c, tree-hasher.h, tree-into-ssa.c, tree-parloops.c,
14075 tree-sra.c, tree-ssa-coalesce.c, tree-ssa-dom.c, tree-ssa-live.c,
14076 tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-phiopt.c,
14077 tree-ssa-pre.c, tree-ssa-reassoc.c, tree-ssa-sccvn.c,
14078 tree-ssa-structalias.c, tree-ssa-tail-merge.c,
14079 tree-ssa-threadupdate.c, tree-vectorizer.c, tree-vectorizer.h,
14080 valtrack.h, var-tracking.c, vtable-verify.c, vtable-verify.h: Adjust.
14081
14082 2015-04-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
14083 Jakub Jelinek <jakub@redhat.com>
14084
14085 PR target/65787
14086 * config/rs6000/rs6000.c (rtx_is_swappable_p): Ensure that a
14087 subsequent SH_NONE operand does not overwrite an existing *special
14088 value.
14089 (adjust_extract): Handle case where a vec_extract operation is
14090 wrapped in a PARALLEL.
14091
14092 2015-04-17 H.J. Lu <hongjiu.lu@intel.com>
14093
14094 PR target/65780
14095 * config/i386/i386.c (ix86_binds_local_p): Define only if
14096 TARGET_MACHO and TARGET_DLLIMPORT_DECL_ATTRIBUTES are false.
14097
14098 2015-04-17 Jeff Law <law@redhat.com>
14099
14100 PR tree-optimization/47679
14101 * Makefile.in (OBJS); Add tree-ssa-scopedtables.o.
14102 * tree-ssa-scopedtables.c: New file.
14103 * tree-ssa-scopedtables.h: New file.
14104 * tree-ssa-dom.c: Include tree-ssa-scopedtables.h.
14105 (const_and_copies): Change name/type.
14106 (record_const_or_copy): Move into tree-ssa-scopedtables.c
14107 (record_const_or_copy_1): Similarly.
14108 (restore_vars_to_original_value): Similarly.
14109 (pass_dominator::execute): Create and destroy const_and_copies table.
14110 (thread_across_edge): Update passing of const_and_copies.
14111 (record_temporary_equivalence): Use method calls rather than
14112 manipulating const_and_copies directly.
14113 (record_equality, cprop_into_successor_phis): Similarly.
14114 (dom_opt_dom_walker::before_dom_children): Similarly.
14115 (dom_opt_dom_walker::after_dom_children): Similarly.
14116 (eliminate_redundant_computations): Similarly.
14117 * tree-ssa-threadedge.c (remove_temporary_equivalences): Delete.
14118 (record_temporary_equivalence): Likewise.
14119 (invalidate_equivalences): Likewise.
14120 (record_temporary_equivalences_from_phis): Update due to type
14121 change of const_and_copies. Use method calls rather than
14122 manipulating the stack directly.
14123 (record_temporary_equivalences_from_stmts_at_dest): Likewise.
14124 (thread_through_normal_block, thread_across_edge): Likewise.
14125 (thread_across_edge): Likewise.
14126 * tree-ssa-threadedge.h (thread_across_edge): Update prototype.
14127 * tree-vrp.c: Include tree-ssa-scopedtables.h. Change type
14128 of equiv_stack.
14129 (identify_jump_threads): Update due to type change of equiv_stack.
14130 (finalize_jump_threads): Delete the equiv_stack when complete.
14131
14132 2015-04-17 Uros Bizjak <ubizjak@gmail.com>
14133
14134 * config/i386/i386.h (LEGITIMIZE_RELOAD_ADDRESS): Remove.
14135 * config/i386/i386.c (ix86_legitimize_reload_address): Ditto.
14136 * config/i386/i386-protos.h (ix86_legitimize_reload_address): Ditto.
14137
14138 2015-04-17 Andreas Tobler <andreast@gcc.gnu.org>
14139
14140 PR target/65535
14141 * config.gcc: Exit with a comment when we do not have a major version
14142 number for the FreeBSD target.
14143
14144 2015-04-17 Jakub Jelinek <jakub@redhat.com>
14145
14146 PR target/65689
14147 * genpreds.c (struct constraint_data): Add maybe_allows_reg and
14148 maybe_allows_mem bitfields.
14149 (maybe_allows_none_start, maybe_allows_none_end,
14150 maybe_allows_reg_start, maybe_allows_reg_end, maybe_allows_mem_start,
14151 maybe_allows_mem_end): New variables.
14152 (compute_maybe_allows): New function.
14153 (add_constraint): Use it to initialize maybe_allows_reg and
14154 maybe_allows_mem fields.
14155 (choose_enum_order): Sort the non-is_register/is_const_int/is_memory/
14156 is_address constraints such that those that allow neither mem nor
14157 reg come first, then those that only allow reg but not mem, then
14158 those that only allow mem but not reg, then the rest.
14159 (write_allows_reg_mem_function): New function.
14160 (write_tm_preds_h): Call it.
14161 * stmt.c (parse_output_constraint, parse_input_constraint): Use
14162 the generated insn_extra_constraint_allows_reg_mem function
14163 instead of always setting *allows_reg = true; *allows_mem = true;
14164 for unknown extra constraints.
14165
14166 2015-04-17 H.J. Lu <hongjiu.lu@intel.com>
14167
14168 PR target/65780
14169 * output.h (default_binds_local_p_3): New.
14170 * varasm.c (default_binds_local_p_3): Make it public. Take an
14171 argument to indicate if common symbol may be local. If common
14172 symbol may be local, treat non-external variable as defined
14173 locally.
14174 (default_binds_local_p_2): Pass !flag_pic to default_binds_local_p_3.
14175 (default_binds_local_p_1): Pass false to default_binds_local_p_3.
14176 * config/i386/i386.c (ix86_binds_local_p): New.
14177 (TARGET_BINDS_LOCAL_P): Replace default_binds_local_p_2 with
14178 ix86_binds_local_p.
14179
14180 2015-04-17 Jakub Jelinek <jakub@redhat.com>
14181
14182 PR debug/65771
14183 * dwarf2out.c (mem_loc_descriptor): For CONST, fallback to
14184 trying mem_loc_descriptor on XEXP (rtl, 0).
14185
14186 2015-04-17 Martin Liska <mliska@suse.cz>
14187
14188 * ipa-icf.c (sem_item_optimizer::subdivide_classes_by_sensitive_refs):
14189 Release symbol_compare_collection.
14190 * ipa-reference.c: Add TODO that a vector should be released.
14191
14192 2015-04-17 Sivanupandi Pitchumani <Pitchumani.Sivanupandi@atmel.com>
14193
14194 PR target/65296
14195 * config/avr/gen-avr-mmcu-specs.c (*avrlibc_startfile): Adjust
14196 to new AVR-LibC file layout (bug #44574).
14197 (*avrlibc_devicelib): Same.
14198 * config/avr/avr-mcus.def: Adjust comments.
14199 * config/avr/avr.opt (nodevicelib): Adjust help.
14200
14201 2015-04-17 Alan Lawrence <alan.lawrence@arm.com>
14202
14203 * config/aarch64/arm_neon.h (vdup_n_f32): Remove forward declaration.
14204
14205 2015-04-17 Patrick Palka <ppalka@gcc.gnu.org>
14206
14207 PR c++/64527
14208 * gimplify.c (gimplify_init_constructor): Always emit a
14209 side-effecting constructor.
14210
14211 2015-04-17 Tom de Vries <tom@codesourcery.com>
14212
14213 PR tree-optimization/64950
14214 * gimplify.c (gimplify_function_tree): Tentatively set PROP_gimple_lva
14215 in cfun->curr_properties.
14216 (gimplify_va_arg_expr): Clear PROP_gimple_lva in cfun->curr_properties
14217 if we generate an IFN_VA_ARG.
14218 * tree-inline.c (expand_call_inline): Reset PROP_gimple_lva in dest
14219 function if PROP_gimple_lva is not set in src function.
14220
14221 2015-04-17 Tom de Vries <tom@codesourcery.com>
14222 Michael Matz <matz@suse.de>
14223
14224 PR tree-optimization/64950
14225 * gimple-iterator.c (update_modified_stmts): Remove static.
14226 * gimple-iterator.h (update_modified_stmts): Declare.
14227 * gimplify.c (gimplify_modify_expr): Handle IFN_VA_ARG.
14228 (gimplify_va_arg_internal): New function.
14229 (gimplify_va_arg_expr): Use IFN_VA_ARG.
14230 * gimplify.h (gimplify_va_arg_internal): Declare.
14231 * internal-fn.c (expand_VA_ARG): New unreachable function.
14232 * internal-fn.def (VA_ARG): New DEF_INTERNAL_FN.
14233 * tree-stdarg.c (gimple_call_ifn_va_arg_p, expand_ifn_va_arg_1)
14234 (expand_ifn_va_arg): New function.
14235 (pass_data_stdarg): Add PROP_gimple_lva to properties_provided field.
14236 (pass_stdarg::execute): Call expand_ifn_va_arg.
14237 (pass_data_lower_vaarg): New pass_data.
14238 (pass_lower_vaarg): New gimple_opt_pass.
14239 (pass_lower_vaarg::gate, pass_lower_vaarg::execute)
14240 (make_pass_lower_vaarg): New function.
14241 * cfgexpand.c (pass_data_expand): Add PROP_gimple_lva to
14242 properties_required field.
14243 * passes.def (all_passes): Add pass_lower_vaarg.
14244 * tree-pass.h (PROP_gimple_lva): Add define.
14245 (make_pass_lower_vaarg): Declare.
14246
14247 2015-04-17 Tom de Vries <tom@codesourcery.com>
14248
14249 * fold-const.c (operand_equal_p): Handle INTERNAL_FNs.
14250 * calls.c (call_expr_flags): Same.
14251
14252 2015-04-17 Tom de Vries <tom@codesourcery.com>
14253
14254 * tree-stdarg.c (optimize_va_list_gpr_fpr_size): Factor out of ...
14255 (pass_stdarg::execute): ... here.
14256
14257 2015-04-17 Tom de Vries <tom@codesourcery.com>
14258 Michael Matz <matz@suse.de>
14259
14260 * tree-cfg.c (make_blocks_1): Factor out of ...
14261 (make_blocks): ... here.
14262 (make_edges_bb): Factor out of ...
14263 (make_edges): ... here.
14264 (gimple_find_sub_bbs): New function.
14265 * tree-cfg.h (gimple_find_sub_bbs): Declare.
14266
14267 2015-04-17 Tom de Vries <tom@codesourcery.com>
14268
14269 * tree.c (free_lang_data): Disable lang_hooks.gimplify_expr.
14270
14271 2015-04-17 Yury Gribov <y.gribov@samsung.com>
14272
14273 * asan.c (set_sanitized_sections): New function.
14274 (section_sanitized_p): Ditto.
14275 (asan_protect_global): Optionally sanitize user-defined
14276 sections.
14277 * asan.h (set_sanitized_sections): Declare new function.
14278 * common.opt (fsanitize-sections): New option.
14279 * doc/invoke.texi (-fsanitize-sections): Document new option.
14280 * opts-global.c (handle_common_deferred_options): Handle new
14281 option.
14282
14283 2015-04-17 Jakub Jelinek <jakub@redhat.com>
14284
14285 PR debug/65771
14286 * dwarf2out.c (loc_list_from_tree): Return NULL
14287 for DEBUG_EXPR_DECL.
14288
14289 2015-04-17 Christian Bruel <christian.bruel@st.com>
14290
14291 * ipa-inline.c (can_inline_edge_p): Allow inlining of functions with
14292 same attributes.
14293
14294 2015-04-16 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
14295
14296 * ira-color.c (setup_left_conflict_sizes_p): Do not process
14297 node itself when computing left conflict subnode size.
14298
14299 2015-04-16 Uros Bizjak <ubizjak@gmail.com>
14300
14301 * config/i386/predicates.md (register_mixssei387nonimm_operand): New.
14302 * config/i386/i386.md (*fop_<mode>_1_mixed): Merge with
14303 *fop_<mode>_1_sse using enabled attribute. Use
14304 register_mixssei387nonimm_operand operand 1 predicate. Change
14305 alternative 3 constraints from "x" to "v".
14306
14307 2015-04-16 Richard Biener <rguenther@suse.de>
14308
14309 PR tree-optimization/65774
14310 * tree-ssa-ccp.c (evaluate_stmt): Constrain types we invoke
14311 bit-value tracking on.
14312
14313 2015-04-16 Richard Biener <rguenther@suse.de>
14314
14315 PR tree-optimization/64277
14316 * tree-vrp.c (check_array_ref): Fix anti-range handling,
14317 simplify upper bound handling.
14318 (search_for_addr_array): Simplify.
14319 (check_array_bounds): Handle ADDR_EXPRs here.
14320 (check_all_array_refs): Simplify.
14321
14322 2015-04-16 Uros Bizjak <ubizjak@gmail.com>
14323
14324 * config/i386/i386.c (print_reg): Rewrite function.
14325
14326 2015-04-16 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
14327
14328 * config/s390/s390.h (IRA_HARD_REGNO_ADD_COST_MULTIPLIER):
14329 Invert the condition.
14330
14331 2015-04-16 Renlin Li <renlin.li@arm.com>
14332
14333 * simplify-rtx.c (simplify_unary_operation_1): Fix a typo. Enable two
14334 simplifications for UNSIGNED_FLOAT.
14335
14336 2015-04-16 Nick Clifton <nickc@redhat.com>
14337
14338 * config/rl78/rl78-opts.h (enum rl78_mul_types): Add MUL_G14 and
14339 MUL_UNINIT.
14340 (enum rl78_cpu_type): New.
14341 * config/rl78/rl78-virt.md (attr valloc): Add divhi and divsi.
14342 (umulhi3_shift_virt): Remove m constraint from operand 1.
14343 (umulqihi3_virt): Likewise.
14344 * config/rl78/rl78.c (rl78_option_override): Add code to process
14345 -mcpu and -mmul options.
14346 (rl78_alloc_physical_registers): Add code to handle divhi and
14347 divsi valloc attributes.
14348 (set_origin): Likewise.
14349 * config/rl78/rl78.h (RL78_MUL_G14): Define.
14350 (TARGET_G10, TARGET_G13, TARGET_G14): Define.
14351 (TARGET_CPU_CPP_BUILTINS): Define __RL78_MUL_xxx__ and
14352 __RL78_Gxx__.
14353 (ASM_SPEC): Pass -mcpu on to assembler.
14354 * config/rl78/rl78.md (mulqi3): Add a clobber of AX.
14355 (mulqi3_rl78): Likewise.
14356 (mulhi3_g13): Likewise.
14357 (mulhi3): Generate the G13 or G14 versions of the insn directly.
14358 (mulsi3): Likewise.
14359 (mulhi3_g14): Add clobbers of AX and BC.
14360 (mulsi3_g14): Likewise.
14361 (mulsi3_g13): Likewise.
14362 (udivmodhi4, udivmodhi4_g14, udivmodsi4): New patterns.
14363 (udivmodsi4_g14, udivmodsi4_g13): New patterns.
14364 * config/rl78/rl78.opt (mmul): Initialise value to
14365 RL78_MUL_UNINIT.
14366 (mcpu): New option.
14367 (m13, m14, mrl78): New option aliases.
14368 * config/rl78/t-rl78 (MULTILIB_OPTIONS): Add mg13 and mg14.
14369 (MULTILIB_DIRNAMES): Add g13 and g14.
14370 * doc/invoke.texi: Document -mcpu and -mmul options.
14371
14372 2015-04-16 Richard Biener <rguenther@suse.de>
14373
14374 * tree-ssa-ccp.c (likely_value): See if we have operands that
14375 are marked as never simulate again and return CONSTANT in this
14376 case.
14377 * tree-ssa-propagate.c (simulate_stmt): Mark stmts that do
14378 not have any operands that will be simulated again as
14379 not being simulated again.
14380
14381 2015-04-15 Uros Bizjak <ubizjak@gmail.com>
14382
14383 * config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>_mixed):
14384 Merge with *cmpi<FPCMP:unord><MODEF:mode>_sse using enabled attribute.
14385 (*extendsfdf2_mixed): Merge with *extendsfdf2_sse using enabled
14386 attribute.
14387 (*truncdfsf_fast_mixed): Merge with *truncdfsf_fast_sse using
14388 enabled attribute.
14389 (*float<SWI48:mode><MODEF:mode>2_mixed): Rename from
14390 *float<SWI48:mode><MODEF:mode>2_sse.
14391 (*absneg<mode>2_mixed): Merge with *absneg<mode>2_sse using
14392 enabled attribute.
14393 (*fop_<mode>_comm_mixed): Merge with *fop_<mode>_comm_sse using
14394 enabled attribute.
14395
14396 2015-04-15 Tom de Vries <tom@codesourcery.com>
14397
14398 PR other/65487
14399 * function.c (push_dummy_function): New function.
14400 (init_dummy_function_start): Use push_dummy_function.
14401 (pop_dummy_function): New function. Factored out of ...
14402 (expand_dummy_function_end): ... here.
14403 * function.h (push_dummy_function, pop_dummy_function): Declare.
14404 * passes.c (pass_manager::dump_passes): Use push_dummy_function and
14405 pop_dummy_function.
14406 * tree-chkp.c (chkp_gate): Handle cgraph_node::get (cfun->decl) == NULL.
14407
14408 2015-04-15 Jeff Law <law@redhat.com>
14409
14410 PR tree-optimization/47679
14411 * tree-ssa-dom.c (build_and_record_new_cond): Moved to avoid
14412 need for forward declaration in upcoming changes.
14413 (record_conditions, record_edge_info): Likewise.
14414
14415 PR rtl-optimization/42522
14416 * cse.c (fold_rtx): Try to simplify a ZERO_EXTRACT or
14417 SIGN_EXTRACT as a whole object rather than simplifying
14418 its operand.
14419
14420 2015-04-15 Jakub Jelinek <jakub@redhat.com>
14421
14422 PR ipa/65765
14423 * ipa-icf-gimple.c (func_checker::compare_bb): For GIMPLE_NOP
14424 and GIMPLE_PREDICT use break instead of return true. For
14425 GIMPLE_EH_DISPATCH, compare dispatch region.
14426
14427 2015-04-14 Matthew Wahab <matthew.wahab@arm.com>
14428
14429 * doc/extend.texi (__sync Builtins): Simplify some text. Update
14430 details about the implementation. Make clear preference for
14431 __atomic builtins. Reduce possibility of future change.
14432
14433 2015-04-15 Nick Clifton <nickc@redhat.com>
14434
14435 * config/rx/rx.opt (mallow-string-insns): New option.
14436 * config/rx/rx.c (RX_BUILTIN_RMPA): Disable the use of this
14437 builtin if string instructions are denied.
14438 * config/rx/rx.h (TARGET_CPU_CPP_BUILTINS): Define
14439 __RX_ALLOW_STRING_INSNS__ or __RX_DISALLOW_STRING_INSNS__, as
14440 appropriate.
14441 (ASM_SPEC): Pass -mno-allow-string-insns on to the assembler.
14442 * config/rx/rx.md (movstr): Enable pattern only if string
14443 instructions are allowed.
14444 (rx_movstr, rx_strend, movmemsi, rx_movmem): Likewise.
14445 (cmpstrnsi, cmpstrsi, rx_cmpstrn, rmpa): Likewise.
14446 * config/rx/t-rx (MULTILIB_OPTIONS): Add mno-allow-string-insns.
14447 (MULTILIB_DIRNAMES): Add no-strings.
14448 * doc/invoke.texi: Document -mno-allow-string-insns.
14449
14450 2015-04-15 Alan Modra <amodra@gmail.com>
14451
14452 PR target/65408
14453 PR target/58744
14454 PR middle-end/36043
14455 * calls.c (load_register_parameters): Don't load past end of
14456 mem unless suitably aligned.
14457
14458 2015-04-15 Nick Clifton <nickc@redhat.com>
14459
14460 * config/rl78/rl78.c (rl78_expand_prologue): Mark large stack
14461 decrement instruction as being frame related.
14462 (rl78_print_operand_1): Handle 'p' modifier to add +0 to HL
14463 based addresses.
14464 If zero extending a function address enclose the operation in
14465 %code(...).
14466 (rl78_preferred_reload_class): New function.
14467 (TARGET_PREFERRED_RELOAD_CLASS): Define.
14468 * config/rl78/rl78.md: Remove useless constraints in expanders.
14469 (mulqi3_rl78): Remove + qualifier on input-only operand 1.
14470 (mulhi3_rl78): Likewise.
14471 (mulhi3_g13): Likewise.
14472 (mulsi3_rl78): Likewise.
14473 (es_addr): Move to before the multiply patterns.
14474
14475 2015-04-15 Alan Modra <amodra@gmail.com>
14476
14477 * function.h (struct emit_status): Delete x_first_insn, x_last_insn
14478 and sequence_stack. Add seq.
14479 (seq_stack): Delete.
14480 * function.c (prepare_function_start): Don't access x_last_insn.
14481 * emit-rtl.h (get_current_sequence, get_topmost_sequence): New.
14482 (get_insns, set_first_insn, get_last_insn, set_last_insn): Use them.
14483 * emit_rtl.c (start_sequence, push_topmost_sequence,
14484 pop_topmost_sequence, end_sequence, in_sequence_p, init_emit): Use
14485 sequence accessors.
14486 (get_last_insn_anywhere, add_insn_after_nobb, add_insn_before_nobb,
14487 remove_insn): Likewise. Simplify.
14488 * config/m32c/m32c.c (m32c_leaf_function_p): Use push_topmost_sequence
14489 and pop_topmost_sequence.
14490 (m32c_function_needs_enter): Use get_topmost_sequence. Ignore
14491 debug insns.
14492 * config/rs6000/rs6000.c (rs6000_call_aix): Use get_current_sequence.
14493
14494 2015-04-14 Yvan Roux <yvan.roux@linaro.org>
14495
14496 PR target/65729
14497 * lra-constraints.c (prohibited_class_reg_set_mode_p): Restore and fix
14498 the assertiion.
14499
14500 2015-04-14 Uros Bizjak <ubizjak@gmail.com>
14501
14502 * config/i386/i386.h (LEGACY_INT_REG_P): New define.
14503 (LEGACY_INT_REGNO_P): Ditto.
14504 (GENERAL_REGNO_P): Use LEGACY_INT_REGNO_P.
14505 (ANY_MASK_REG_P): Remove.
14506 (BND_REG_P): Rename from ANY_BND_REG_P.
14507 * config/i386/i386.c (print_reg): Use LEGACY_INT_REG_P to print
14508 legacy integer registers. Do not handle MMX_REG_P in a special way.
14509 Merge 64byte and 32byte SSE handling.
14510
14511 2015-04-14 Nick Clifton <nickc@redhat.com>
14512
14513 * expr.c (expand_assignment): Force an address offset computation
14514 into a register before changing its mode.
14515 (expand_expr_real_1): Likewise.
14516
14517 2015-04-14 Alan Lawrence <alan.lawrence@arm.com>
14518
14519 * config/aarch64/arm_neon.h (vst1_lane_f32, vst1_lane_f64,
14520 vst1_lane_p8, vst1_lane_p16, vst1_lane_s8, vst1_lane_s16,
14521 vst1_lane_s32, vst1_lane_s64, vst1_lane_u8, vst1_lane_u16,
14522 vst1_lane_u32, vst1_lane_u64, vst1q_lane_f32, vst1q_lane_f64,
14523 vst1q_lane_p8, vst1q_lane_p16, vst1q_lane_s8, vst1q_lane_s16,
14524 vst1q_lane_s32, vst1q_lane_s64, vst1q_lane_u8, vst1q_lane_u16,
14525 vst1q_lane_u32, vst1q_lane_u64): Reimplement with pointer dereference
14526 and __aarch64_vget_lane_any.
14527
14528 2015-04-14 Jakub Jelinek <jakub@redhat.com>
14529
14530 PR rtl-optimization/65761
14531 * cfgrtl.c (rtl_split_edge): For EDGE_CROSSING split, use
14532 get_last_bb_insn (after) instead of NEXT_INSN (BB_END (after)).
14533
14534 2015-04-14 Richard Biener <rguenther@suse.de>
14535
14536 * graphite-scop-detection.c: Do not include cp/cp-tree.h.
14537 (graphite_can_represent_scev): Use POINTER_TYPE_P.
14538
14539 2015-04-14 Richard Biener <rguenther@suse.de>
14540
14541 PR tree-optimization/65758
14542 * tree-ssa-ccp.c (get_value_from_alignment): Adjust mask test
14543 against -1.
14544 (ccp_lattice_meet): Likewise.
14545 (bit_value_unop): Likewise.
14546 (bit_value_binop): Likewise.
14547 (bit_value_assume_aligned): Likewise.
14548
14549 2015-04-14 Christian Bruel <christian.bruel@st.com>
14550
14551 * execute_dwarf2_frame (dw_frame_pointer_regnum): Reinitialize for each
14552 function.
14553
14554 2015-04-14 Marc Glisse <marc.glisse@inria.fr>
14555
14556 PR tree-optimization/63387
14557 * match.pd ((x unord x) | (y unord y) -> (x unord y),
14558 (x unord x) | (x unord y) -> (x unord y)): New simplifications.
14559
14560 2015-04-14 Uros Bizjak <ubizjak@gmail.com>
14561
14562 * config/i386/predicates.md (any_QIreg_operand): Rename from
14563 q_regs_operand. Do not process subregs.
14564 (QIreg_operand): Use QI_REGNO_P predicate.
14565 (ext_QIreg_operand): Ditto.
14566 (ext_register_operand): Ditto.
14567 * config/i386/i386.md (TEST splitters): Use QIreg_operand predicate.
14568 (AND splitters): Ditto.
14569 (AND with -65536 splitter): Add SWI48 mode for operand 0.
14570 (AND with -256 splitter): Use any_QIreg_operand predicate and
14571 SWI248 mode for operand 0.
14572 (AND with -65281 splitter): Use QIreg_operand predicate and SWI248
14573 mode for operand 0.
14574 (SETCC + MOVZBL peepholes): Update for renamed any_QIreg_operand.
14575
14576 2015-04-13 Gerald Pfeifer <gerald@pfeifer.com>
14577
14578 * doc/plugins.texi: Rewrite first introductory paragraph.
14579
14580 2015-04-12 Jan Hubicka <hubicka@ucw.cz>
14581
14582 * tree-vrp.c (nonnull_arg_p): THIS pointers and references are non-zero.
14583 (gimple_stmt_nonzero_warnv_p): Reference return values are non-zero.
14584
14585 2015-04-12 Jan Hubicka <hubicka@ucw.cz>
14586
14587 * ipa-profie.c (ipa_profile): Check number of parameters
14588 and possible polymorphic call targets before
14589 devirtualizing.
14590
14591 2015-04-13 Uros Bizjak <ubizjak@gmail.com>
14592
14593 * config/i386/i386.md (*bmi2_umul<mode><dwi>3_1): Merge from
14594 *bmi2_umulsidi3_1 and *bmi2_umulditi3_1 using DWIH mode iterator.
14595
14596 2015-04-13 Richard Biener <rguenther@suse.de>
14597
14598 PR tree-optimization/65204
14599 * tree-ssa-ccp.c (evaluate_stmt): Always evaluate address
14600 takens for bit-CCP.
14601
14602 2015-04-13 Richard Biener <rguenther@suse.de>
14603
14604 PR target/65660
14605 * config/i386/i386.c (bdver1_cost): Double cond_taken_branch_cost
14606 and cond_not_taken_branch_cost to 4 and 2.
14607 (bdver2_cost): Likewise.
14608 (bdver3_cost): Likewise.
14609 (bdver4_cost): Likewise.
14610
14611 2015-04-12 Jan Hubicka <hubicka@ucw.cz>
14612
14613 * hash-table.h (hash_table constructor): Add mem stats.
14614 (alloc_entries): Likewise.
14615
14616 2015-04-12 Jan Hubicka <hubicka@ucw.cz>
14617
14618 * ipa-cp.c (ipcp_driver): Relase prev_edge.
14619 * passes.c (execute_one_pass): Only add transform if pass has one.
14620
14621 2015-04-12 Joseph Myers <joseph@codesourcery.com>
14622
14623 * config/i386/i386.c (ix86_option_override_internal): Don't set
14624 -fprefetch-loop-arrays if optimizing for size.
14625
14626 2015-04-12 Jan Hubicka <hubicka@ucw.cz>
14627 Gerald Pfeifer <gerald@pfeifer.com>
14628
14629 * doc/contrib.texi (Contributors): Add Martin Jambor and
14630 Michael Matz.
14631
14632 2015-04-12 Jakub Jelinek <jakub@redhat.com>
14633
14634 * BASE-VER: Set to 6.0.0.
14635
14636 PR tree-optimization/65747
14637 * ipa-icf-gimple.c (func_checker::compare_operand): Use compare_operand
14638 rather than compare_ssa_name for OBJ_TYPE_REF_OBJECT.
14639
14640 2015-04-12 Gerald Pfeifer <gerald@pfeifer.com>
14641
14642 * doc/invoke.texi (-Wmemset-transposed-args): Break a long
14643 sentence. Improve grammar.
14644
14645 2015-04-12 Gerald Pfeifer <gerald@pfeifer.com>
14646
14647 * doc/contrib.texi (Contributors): Add Maxim Kuvyrkov.
14648
14649 2015-04-11 Jan Hubicka <hubicka@ucw.cz>
14650
14651 PR ipa/65743
14652 * ipa-inline-transform.c (speculation_removed): Remove static var.
14653 (check_speculations): New function.
14654 (clone_inlined_nodes): Do not check spculations.
14655 (inline_call): Call check_speculations.
14656 * ipa-prop.c (ipa_make_edge_direct_to_target): Do not
14657 consider non-invariants.
14658
14659 2015-04-11 Jan Hubicka <hubicka@ucw.cz>
14660 Martin Liska <mliska@suse.cz>
14661
14662 PR ipa/65722
14663 * ipa-icf.c (sem_item::compare_cgraph_references): function and
14664 variable can not match.
14665 (sem_item::update_hash_by_addr_refs): Fix handling of virtual tables.
14666 (sem_variable::equals_wpa): Fix checking of DECL_FINAL_P patch.
14667
14668 2015-04-11 Jakub Jelinek <jakub@redhat.com>
14669
14670 PR tree-optimization/65735
14671 * tree-ssa-threadedge.c (fsm_find_control_statement_thread_paths):
14672 Remove visited_phis argument, add visited_bbs, avoid recursing into the
14673 same bb rather than just into the same phi node.
14674 (thread_through_normal_block): Adjust caller.
14675
14676 2015-04-11 Gerald Pfeifer <gerald@pfeifer.com>
14677
14678 * doc/contrib.texi (Contributors): Add Ira Rosen.
14679
14680 2015-04-11 Benno Schulenberg <bensberg@justemail.net>
14681
14682 * gcov.c (find_source): Fix miswording in error message.
14683 * config/i386/i386.c (ix86_handle_cconv_attribute): Likewise.
14684 (ix86_expand_sse_comi_round): Fix typo in error message.
14685
14686 2015-04-11 Gerald Pfeifer <gerald@pfeifer.com>
14687
14688 * doc/contrib.texi (Contributors): Add Laurynas Biveinis.
14689
14690 2015-04-10 Gerald Pfeifer <gerald@pfeifer.com>
14691
14692 * doc/contrib.texi (Contributors): Update Joe Buck's entry.
14693
14694 2015-04-10 Vladimir Makarov <vmakarov@redhat.com>
14695
14696 PR target/65710
14697 * lra-assigns.c (spill_for): Update smallest_bad_spills_num.
14698 Print bad_spills_num and insn_pseudos_num.
14699
14700 2015-04-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
14701
14702 PR target/65694
14703 * config/arm/arm.c (arm_canonicalize_comparison): Use ARM_SIGN_EXTEND
14704 when creating +1 values for SImode.
14705
14706 2015-04-10 Vladimir Makarov <vmakarov@redhat.com>
14707
14708 PR target/65729
14709 * lra-constraints.c (prohibited_class_reg_set_mode_p): Comment the
14710 assert.
14711
14712 2015-04-10 Jakub Jelinek <jakub@redhat.com>
14713 Iain Sandoe <iain@codesourcery.com>
14714
14715 PR target/65351
14716 * configure: Regenerate.
14717
14718 2015-04-09 Kirill Yukhin <kirill.yukhin@intel.com>
14719
14720 PR target/65671
14721 * config/i386/sse.md: Generate vextract32x4 if AVX-512DQ is disabled.
14722
14723 2015-04-09 Gerald Pfeifer <gerald@pfeifer.com>
14724
14725 * doc/contrib.texi (Contributors): Add John Marino.
14726
14727 2015-04-09 Jakub Jelinek <jakub@redhat.com>
14728
14729 PR tree-optimization/65709
14730 * ubsan.c (instrument_mem_ref): Use TREE_TYPE (base) instead of
14731 TREE_TYPE (TREE_TYPE (t)).
14732
14733 2015-04-09 Vladimir Makarov <vmakarov@redhat.com>
14734
14735 PR target/65710
14736 * lra-int.h (lra_bad_spill_regno_start): New.
14737 * lra.c (lra_bad_spill_regno_start): New.
14738 (lra): Set up lra_bad_spill_regno_start. Set up
14739 lra_constraint_new_regno_start unconditionally.
14740 * lra-assigns.c (spill_for): Use lra_bad_spill_regno_start for
14741 spill preferences.
14742
14743 2015-04-09 Marek Polacek <polacek@redhat.com>
14744 Jakub Jelinek <jakub@redhat.com>
14745
14746 PR middle-end/65554
14747 * gimple-fold.c (gimple_fold_builtin_memory_op): Update comment.
14748 (fold_ctor_reference): Use STRIP_USELESS_TYPE_CONVERSION instead
14749 of STRIP_NOPS.
14750
14751 2015-04-09 Segher Boessenkool <segher@kernel.crashing.org>
14752
14753 PR rtl-optimization/65693
14754 * combine.c (is_parallel_of_n_reg_sets): Move outside of
14755 #ifndef HAVE_cc0.
14756
14757 2015-04-09 Georg-Johann Lay <avr@gjlay.de>
14758
14759 PR target/65296
14760 * config/avr/driver-avr.c (avr_devicespecs_file): Don't specify a
14761 device specs file if "device-specs%s" didn't resolve to a path.
14762
14763 2015-04-09 Kirill Yukhin <kirill.yukhin@intel.com>
14764
14765 PR target/65676
14766 * config/i386/i386.c (fixup_modeless_constant): New.
14767 (ix86_expand_args_builtin): Fixup modeless constant operand.
14768 (ix86_expand_round_builtin): Ditto.
14769 (ix86_expand_special_args_builtin): Ditto.
14770 (ix86_expand_builtin): Ditto.
14771
14772 2015-04-09 Jakub Jelinek <jakub@redhat.com>
14773
14774 PR target/65693
14775 * config/i386/i386.md (*udivmod<mode>4_pow2): Allow
14776 any pow2 integer in between 2 and 0x80000000U inclusive.
14777
14778 2015-04-08 Segher Boessenkool <segher@kernel.crashing.org>
14779
14780 PR rtl-optimization/65693
14781 * combine.c (is_parallel_of_n_reg_sets): Change first argument
14782 from an rtx_insn * to an rtx.
14783 (try_combine): Adjust both callers. Use it once more.
14784
14785 2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
14786
14787 * tree-chkp.c (chkp_find_const_bounds_var): Remove.
14788 (chkp_make_static_const_bounds): Search existing
14789 symbol by assembler name. Use make_decl_one_only.
14790 (chkp_get_zero_bounds_var): Remove node search which
14791 is now performed in chkp_make_static_const_bounds.
14792 (chkp_get_none_bounds_var): Likewise.
14793
14794 2015-04-08 Michael Witten <mfwitten@gmail.com>
14795
14796 * doc/extend.texi (Attribute Syntax): Add a trailing semicolon
14797 to an example.
14798
14799 2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
14800
14801 * tree.h (CONVERT_EXPR_P): Commentary typo fix.
14802
14803 2015-04-08 Gerald Pfeifer <gerald@pfeifer.com>
14804
14805 * doc/extend.texi (__sync Builtins): Fix grammar.
14806
14807 2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
14808
14809 * doc/cfg.texi (GIMPLE statement iterators): Fix typo.
14810
14811 2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
14812
14813 * varasm.c (emit_local): Move definition of align.
14814
14815 2015-04-08 Julian Brown <julian@codesourcery.com>
14816
14817 * config/nvptx/mkoffload.c (process): Support variable mapping.
14818
14819 2015-03-27 Trevor Saunders <tbsaunde@tbsaunde.org>
14820
14821 * config/alpha/alpha.c (alpha_use_linkage): Change type of slot to
14822 alpha_links **.
14823 (alpha_write_one_linkage): Correct typo.
14824
14825 2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
14826
14827 * ipa-comdats.c (propagate_comdat_group): Walk through thunks.
14828
14829 2015-04-08 Gerald Pfeifer <gerald@pfeifer.com>
14830
14831 * doc/install.texi (bootstrap-lto-noplugin): Rewrite.
14832
14833 2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
14834
14835 * tree-chkp.h (chkp_insert_retbnd_call): New.
14836 * tree-chkp.c (chkp_insert_retbnd_call): New.
14837 * ipa-split.c (insert_bndret_call_after): Remove.
14838 (split_function): Use chkp_insert_retbnd_call.
14839 * cgraphunit.c (cgraph_node::expand_thunk): Build returned
14840 bounds for instrumented functions.
14841
14842 2015-04-07 Jan Hubicka <hubicka@ucw.cz>
14843
14844 PR ipa/65540
14845 * calls.c (initialize_argument_information): When producing tail
14846 call also turn SSA_NAMES passed by references to original PARM_DECLs
14847
14848 2015-04-07 Vladimir Makarov <vmakarov@redhat.com>
14849
14850 PR target/65648
14851 * lra-remat.c (do_remat): Process input and non-input insn
14852 registers separately.
14853
14854 2015-04-07 Jakub Jelinek <jakub@redhat.com>
14855
14856 PR debug/65678
14857 * valtrack.c (debug_lowpart_subreg): New function.
14858 (dead_debug_insert_temp): Use it.
14859
14860 PR middle-end/65680
14861 * expr.c (get_inner_reference): Handle bit_offset that doesn't fit
14862 into signed HOST_WIDE_INT the same as negative bit_offset.
14863
14864 2015-04-07 Ilya Enkovich <ilya.enkovich@intel.com>
14865
14866 * ipa-comdats.c (ipa_comdats): Visit all thunks
14867 to set proper comdat group.
14868
14869 2015-04-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
14870
14871 PR target/65489
14872 * config/arm/arm.c (arm_legitimate_constant_p_1): Remove restriction
14873 on constants for NEON VSTRUCT modes.
14874
14875 2015-04-07 Jakub Jelinek <jakub@redhat.com>
14876 Iain Sandoe <iain@codesourcery.com>
14877
14878 PR target/65351
14879 * configure: Regenerate.
14880
14881 2015-04-06 Michael Meissner <meissner@linux.vnet.ibm.com>
14882
14883 PR target/65614
14884 * config/rs6000/rs6000.c (struct processor_costs): Add cost field
14885 for SF->DF conversions to make FLOAT_EXTEND more expensive, so
14886 that LFD is used to load double constants instead of LFS. Add
14887 defaults for all costs structures. Add comments for missing
14888 initialization fields.
14889 (size32_cost): Likewise.
14890 (size64_cost): Likewise.
14891 (rs64a_cost): Likewise.
14892 (mpccore_cost): Likewise.
14893 (ppc403_cost): Likewise.
14894 (ppc405_cost): Likewise.
14895 (ppc440_cost): Likewise.
14896 (ppc476_cost): Likewise.
14897 (ppc601_cost): Likewise.
14898 (ppc603_cost): Likewise.
14899 (ppc604_cost): Likewise.
14900 (ppc604e_cost): Likewise.
14901 (ppc620_cost): Likewise.
14902 (ppc630_cost): Likewise.
14903 (ppccell_cost): Likewise.
14904 (ppc750_cost): Likewise.
14905 (ppc7450_cost): Likewise.
14906 (ppc8540_cost): Likewise.
14907 (ppce300c2c3_cost): Likewise.
14908 (ppce500mc_cost): Likewise.
14909 (ppce500mc64_cost): Likewise.
14910 (ppce5500_cost): Likewise.
14911 (ppce6500_cost): Likewise.
14912 (titan_cost): Likewise.
14913 (power4_cost): Likewise.
14914 (power6_cost): Likewise.
14915 (power7_cost): Likewise.
14916 (power8_cost): Likewise.
14917 (ppca2_cost): Likewise.
14918 (rs6000_rtx_costs): Make FLOAT_EXTEND use SFDF_convert field.
14919
14920 * config/rs6000/rs6000.md (extendsfdf2_fpr): Generate XSCPSGNDP
14921 instead of XXLOR to copy SFmode to clear out dirty bits created
14922 when SFmode denormals are generated.
14923 (mov<mode>_hardfloat, FMOVE32 case): Likewise.
14924 (truncdfsf2_fpr): Add support for ISA 2.07 XSRSP instruction.
14925
14926 2015-04-06 Evandro Menezes <e.menezes@samsung.com>
14927
14928 * doc/invoke.texi (AARCH64/mtune): Add exynos-m1 as an option.
14929 * config/aarch64/aarch64-cores.def (exynos-m1): New core.
14930 * config/aarch64/aarch64-tune.md: Regenerate.
14931
14932 2015-04-06 Evandro Menezes <e.menezes@samsung.com>
14933
14934 * doc/invoke.texi (ARM/mtune): Add "exynos-m1" as an option.
14935 * config/arm/arm.c (arm_issue_rate): Specify "3" for "exynosm1".
14936 * config/arm/arm-cores.def (exynos-m1): New core.
14937 * config/arm/arm-tune.md: Regenerate.
14938 * config/arm/arm-tables.opt: Add entry for "exynos-m1".
14939 * config/arm/bpabi.h: Likewise.
14940
14941 2015-04-06 Ilya Enkovich <ilya.enkovich@intel.com>
14942
14943 * ipa-cp (set_single_call_flag): Remove too
14944 restrictive assert.
14945
14946 2015-04-06 Ilya Verbin <ilya.verbin@intel.com>
14947
14948 * config/i386/intelmic-mkoffload.c (generate_host_descr_file): Call
14949 GOMP_offload_unregister from the destructor.
14950
14951 2015-04-06 Ilya Enkovich <ilya.enkovich@intel.com>
14952
14953 * ipa-chkp.c (chkp_maybe_create_clone): Reset cdtor
14954 flags for instrumentation thunk.
14955 (chkp_produce_thunks): Likewise.
14956
14957 2015-04-05 Martin Liska <mliska@suse.cz>
14958
14959 PR ipa/65665
14960 * ipa-icf.c (sem_function::equals_wpa): Verify that IPA CP
14961 has computed data structure.
14962 (sem_item_optimizer::update_hash_by_addr_refs): Likewise.
14963
14964 2015-04-04 Jan Hubicka <hubicka@ucw.cz>
14965
14966 * invoke.texi (inline-unit-growth): Increase growth to 20%
14967 * params.def (PARAM_INLINE_UNIT_GROWTH): Likewise.
14968
14969 2015-04-04 Vladimir Makarov <vmakarov@redhat.com>
14970
14971 PR target/65647
14972 * lra-int.h (LRA_MAX_REMATERIALIZATION_PASSES): New. Add its
14973 value checking.
14974 (lra_rematerialization_iter): New.
14975 * lra.c (lra): Initialize lra_rematerialization_iter.
14976 Stop updating lra_constraint_new_regno_start after switching of
14977 inheritance and rematerialization.
14978 * lra-remat.c (lra_rematerialization_iter): New.
14979 (lra_remat): Add printing pass iteration. Do rematerialization
14980 only first LRA_MAX_REMATERIALIZATION_PASSES iterations.
14981
14982 2015-04-04 Richard Biener <rguenther@suse.de>
14983
14984 PR tree-optimization/64909
14985 PR tree-optimization/65660
14986 * tree-vectorizer.h (vect_get_known_peeling_cost): Adjust
14987 to take a cost vector for scalar iteration cost.
14988 (vect_get_single_scalar_iteration_cost): Likewise.
14989 * tree-vect-loop.c (vect_get_single_scalar_iteration_cost):
14990 Compute the scalar iteration cost into a cost vector.
14991 (vect_get_known_peeling_cost): Use the scalar cost vector to
14992 account for the cost of the peeled iterations.
14993 (vect_estimate_min_profitable_iters): Likewise.
14994 * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost):
14995 Likewise.
14996
14997 2015-04-04 Alan Modra <amodra@gmail.com>
14998
14999 PR target/65576
15000 PR target/65240
15001 * config/rs6000/predicates.md (zero_reg_mem_operand): Exclude
15002 0.0 constant unless TARGET_VSX.
15003 * config/rs6000/rs6000.md (extenddftf2_internal): Remove last
15004 alternative.
15005
15006 2015-04-03 Jan Hubicka <hubicka@ucw.cz>
15007
15008 PR ipa/65654
15009 * ipa-inline-transform.c (inline_call): Skip sanity check to work
15010 around the ICE
15011
15012 2015-04-03 Jan Hubicka <hubicka@ucw.cz>
15013
15014 PR ipa/65655
15015 * ipa-inline-analysis.c (edge_set_predicate): Do not redirect
15016 speculative indirect edges to avoid ordering issue.
15017
15018 2015-04-03 Jan Hubicka <hubicka@ucw.cz>
15019
15020 PR ipa/65076
15021 * ipa-inline.c (edge_badness): Add combined size to the denominator.
15022
15023 2015-04-03 Jakub Jelinek <jakub@redhat.com>
15024
15025 * omp-low.c (scan_omp_parallel, scan_omp_task, scan_omp_target): Set
15026 TYPE_ARTIFICIAL on the .omp_data* types.
15027
15028 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
15029
15030 * cgraphunit.c (cgraph_node::expand_thunk): Don't expand
15031 instrumentation thunks.
15032
15033 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
15034
15035 * config/i386/i386.c (ix86_expand_call): Avoid nested
15036 PARALLEL in returned call value.
15037
15038 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
15039
15040 * lto-cgraph.c (input_cgraph_1): Always link instrumented
15041 assembler name with original one.
15042
15043 2015-04-02 Uros Bizjak <ubizjak@gmail.com>
15044
15045 * config/i386/i386.c (ix86_register_priority): Use AX_REG.
15046
15047 2015-04-02 Uros Bizjak <ubizjak@gmail.com>
15048
15049 Revert parts of r216820.
15050 * config/i386/i386.md (movqi_internal): Correct type calculation
15051 for alternatives 3 and 5.
15052
15053 2015-04-02 Jakub Jelinek <jakub@redhat.com>
15054
15055 PR preprocessor/61977
15056 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Don't
15057 predefine __vector/__bool/__pixel macros nor context sensitive
15058 macros for CLK_ASM.
15059 * config/spu/spu-c.c (spu_cpu_cpp_builtins): Similarly.
15060
15061 2015-04-02 John David Anglin <danglin@gcc.gnu.org>
15062
15063 * config/pa/pa.c (pa_output_move_double): Directly handle register
15064 indexed memory operand. Simplify handling of scaled register indexed
15065 memory operands.
15066
15067 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
15068
15069 PR driver/65444
15070 * config/i386/linux-common.h (MPX_SPEC): New.
15071 (CHKP_SPEC): Add MPX_SPEC.
15072 * doc/invoke.texi (-fcheck-pointer-boudns): Document
15073 possible issues with '-z bndplt' support in linker.
15074
15075 2015-04-02 Uros Bizjak <ubizjak@gmail.com>
15076
15077 * config/i386/sync.md (UNSPEC_FILD_ATOMIC, UNSPEC_FIST_ATOMIC): New.
15078 (loaddi_via_fpu): Use UNSPEC_FILD_ATOMIC.
15079 (storedi_via_fpu): Use UNSPEC_FIST_ATOMIC.
15080 * reg-stack.c (get_true_reg): Change UNSPEC_LDA to UNSPEC_FILD_ATOMIC.
15081 (subst_stack_regs_pat): Change UNSPEC_STA to UNSPEC_FIST_ATOMIC.
15082
15083 2015-04-01 Uros Bizjak <ubizjak@gmail.com>
15084
15085 * config/i386/sync.md (UNSPEC_MOVA): Remove.
15086 (atomic_load<mode>): Change operand 0 predicate to
15087 nonimmediate_operand and fix up the destination when needed.
15088 Use UNSPEC_LDA.
15089 (atomic_loaddi_fpu): Use UNSPEC_LDA.
15090 (atomic_store<mode>): Change operand 1 predicate to
15091 nonimmendate_operand and move the source to register when needed.
15092 Use UNSPEC_STA.
15093 (atomic_store<mode>_1): Use UNSPEC_STA.
15094 (atomic_storedi_fpu): Change operand 1 to nonimmediate_operand.
15095 Fix moves from memory operand. Use UNSPEC_STA.
15096
15097 2015-04-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
15098
15099 * expmed.c (strict_volatile_bitfield_p): Check that the access will
15100 not cross a MODESIZE boundary.
15101 (store_bit_field, extract_bit_field): Added assertions in the
15102 strict volatile bitfields code path.
15103
15104 2015-04-01 Max Ostapenko <m.ostapenko@partner.samsung.com>
15105
15106 PR target/65624
15107 * config/aarch64/aarch64-builtins.c (aarch64_simd_expand_builtin):
15108 Increase args array size by one to avoid buffer overflow.
15109
15110 2015-03-31 Jan Hubicka <hubicka@ucw.cz>
15111
15112 * lto-cgraph.c (lto_output_node, input_overwrite_node): Stream
15113 split_part.
15114 * ipa-inline.c (edge_badness): Add wrapper penalty.
15115 (sum_callers): Move up.
15116 (inline_small_functions): Set single_caller.
15117 * ipa-inline.h (inline_summary): Add single_caller.
15118 * ipa-split.c (split_function): Set split_part.
15119 (cgraph_node::create_clone): Do not shadow decl; copy split_part.
15120 * cgraph.h (cgraph_node): Add split_part.
15121
15122 2015-03-31 Uros Bizjak <ubizjak@gmail.com>
15123
15124 PR target/58945
15125 * config/i386/sync.md (atomic_compare_and_swap<dwi>_doubleword):
15126 Do not split operands 0 and operands 2 to halfmode.
15127 (atomic_compare_and_swap<mode>): Update for
15128 atomic_compare_and_swap<dwi>_doubleword changes.
15129
15130 2015-03-31 Jan Hubicka <hubicka@ucw.cz>
15131
15132 * tree.c (need_assembler_name_p): Artificial types have no ODR names.
15133 * ipa-devirt.c (warn_odr): Do not try to apply ODR cache when
15134 no caching is done.
15135
15136 2015-03-31 Martin Liska <mliska@suse.cz>
15137
15138 PR ipa/65557
15139 * ipa-icf.c (sem_function::equals_wpa): Check if IPA CP
15140 has already filled up function summary.
15141 (sem_item_optimizer::update_hash_by_addr_refs): Likewise.
15142
15143 2015-03-31 Richard Biener <rguenther@suse.de>
15144
15145 * tree-sra.c (create_access_replacement): Drop under-/over-alignment
15146 of types.
15147
15148 2015-03-31 Dominik Vogt <vogt@linux.vnet.ibm.com>
15149
15150 * config/s390/s390.c (s390_function_num_hotpatch_hw): Allow hotpatching
15151 nested functions.
15152 (s390_reorg): Adapt to new signature of s390_function_num_hotpatch_hw.
15153 (s390_asm_output_function_label): Adapt to new signature of
15154 s390_function_num_hotpatch_hw
15155 Optimise the code generating assembler output.
15156 Add comments to assembler file.
15157
15158 2015-03-31 Richard Biener <rguenther@suse.de>
15159
15160 PR middle-end/65626
15161 * tree-cfgcleanup.c (fixup_noreturn_call): Only split the block
15162 of the noreturn call so it is last and cleanup_control_flow_bb
15163 can do the CFG part.
15164
15165 2015-03-31 Ilya Enkovich <ilya.enkovich@intel.com>
15166
15167 PR target/65531
15168 * ipa-chkp.c (chkp_maybe_create_clone): Don't set
15169 same_comdat_group for external symbols.
15170 * symtab.c (symtab_node::verify_symtab_nodes): Avoid
15171 infinite same_comdat_group traversal loop.
15172
15173 2015-03-31 Jakub Jelinek <jakub@redhat.com>
15174
15175 PR plugins/61176
15176 * Makefile.in (install-plugin): Add all gcc/*.{h,def} files
15177 automatically to $headers.
15178
15179 2015-03-30 Jakub Jelinek <jakub@redhat.com>
15180
15181 PR ipa/65610
15182 * ipa-utils.h (inlined_polymorphic_ctor_dtor_block_p): Declare.
15183 * ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p): New
15184 function.
15185 (decl_maybe_in_construction_p, noncall_stmt_may_be_vtbl_ptr_store):
15186 Use it.
15187 * ipa-prop.c (param_type_may_change_p): Likewise.
15188 * tree-ssa-live.c: Include ipa-utils.h and its dependencies.
15189 (remove_unused_scope_block_p): Add in_ctor_dtor_block
15190 argument. Before inlining, preserve
15191 inlined_polymorphic_ctor_dtor_block_p blocks and the outermost block
15192 with FUNCTION_DECL BLOCK_ABSTRACT_ORIGIN inside of them. Adjust
15193 recursive calls.
15194 (remove_unused_locals): Adjust remove_unused_scope_block_p caller.
15195
15196 2015-03-27 Jan Hubicka <hubicka@ucw.cz>
15197
15198 PR ipa/65076
15199 * ipa-inline.c (edge_badness): Base denominator on callee's
15200 grwoth squared.
15201
15202 2015-03-27 Martin Jambor <mjambor@suse.cz>
15203
15204 PR ipa/65478
15205 * params.def (PARAM_IPA_CP_RECURSION_PENALTY) : New.
15206 (PARAM_IPA_CP_SINGLE_CALL_PENALTY): Likewise.
15207 * ipa-prop.h (ipa_node_params): New flags node_within_scc and
15208 node_calling_single_call.
15209 * ipa-cp.c (count_callers): New function.
15210 (set_single_call_flag): Likewise.
15211 (initialize_node_lattices): Count callers and set single_flag_call if
15212 necessary.
15213 (incorporate_penalties): New function.
15214 (good_cloning_opportunity_p): Use it, dump new flags.
15215 (propagate_constants_topo): Set node_within_scc flag if appropriate.
15216 * doc/invoke.texi (ipa-cp-recursion-penalty,
15217 ipa-cp-single-call-pentalty): Document.
15218
15219 2015-03-27 Jan Hubicka <hubicka@ucw.cz>
15220
15221 PR ipa/65588
15222 * symtab.c (symtab_node::get_partitioning_class): Register vars
15223 are duplicated.
15224 * varpool.c (symbol_table::output_variables) Do not assemble unefined
15225 decls for non-symbols.
15226
15227 2015-03-27 H.J. Lu <hongjiu.lu@intel.com>
15228
15229 PR target/65248
15230 * output.h (default_binds_local_p_2): New.
15231 * varasm.c (default_binds_local_p_2): Renamed to ...
15232 (default_binds_local_p_3): This. Don't return true on protected
15233 data symbol if protected data may be external.
15234 (default_binds_local_p): Use default_binds_local_p_3.
15235 (default_binds_local_p_1): Likewise.
15236 (default_binds_local_p_2): New.
15237 * config/i386/i386.c (TARGET_BINDS_LOCAL_P): Set to
15238 default_binds_local_p_2 if TARGET_MACHO is undefined.
15239
15240 2015-03-27 Jakub Jelinek <jakub@redhat.com>
15241
15242 PR target/65593
15243 * config/i386/i386.c (legitimize_pic_address): If base
15244 is SYMBOL_REF or LABEL_REF using %rip addressing, force
15245 it to reg to avoid PLUS of SYMBOL_REF/LABEL_REF and register.
15246
15247 2015-03-27 Jan Hubicka <hubicka@ucw.cz>
15248
15249 PR target/65531
15250 * symtab.c (symtab_node::verify_symtab_nodes): Fix verification of
15251 comdat groups.
15252
15253 2015-03-27 Jan Hubicka <hubicka@ucw.cz>
15254
15255 PR ipa/65600
15256 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Fix the case
15257 of optimized out indirect call.
15258 (redirect_to_unreachable): Always build symbol table node for
15259 BUILT_IN_UNREACHABLE
15260
15261 2015-03-27 Vladimir Makarov <vmakarov@redhat.com>
15262
15263 PR target/65407
15264 * ira-costs.c (record_reg_classes): Process all constraint string
15265 containing 0-9.
15266
15267 2015-03-27 Bernd Schmidt <bernds@codesourcery.com>
15268
15269 * config/c6x/c6x.md (movmisalign<mode>): Use MEM_P, not
15270 memory_operand.
15271
15272 PR target/65052
15273 * config/c6x/constraints.md (S3): New constraint.
15274 * config/c6x/c6x.md (real_jump): Use it.
15275
15276 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
15277
15278 PR middle-end/65595
15279 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Only
15280 do redirection if the call is not optimized out.
15281
15282 2015-03-27 Ilya Enkovich <ilya.enkovich@intel.com>
15283
15284 PR target/65495
15285 * c-family/c.opt (fcheck-pointer-bounds): List supported languages.
15286 (fchkp-check-incomplete-type): Add LTO.
15287 (fchkp-zero-input-bounds-for-main): Likewise.
15288 (fchkp-first-field-has-own-bounds): Likewise.
15289 (fchkp-narrow-bounds): Likewise.
15290 (fchkp-narrow-to-innermost-array): Likewise.
15291 (fchkp-use-static-bounds): Likewise.
15292 (fchkp-use-static-const-bounds): Likewise.
15293 (fchkp-treat-zero-dynamic-size-as-infinite): Likewise.
15294
15295 2015-03-27 Marek Polacek <polacek@redhat.com>
15296
15297 * gimple-iterator.h (gsi_prev_nondebug): Fix typo.
15298
15299 2015-03-27 Marek Polacek <polacek@redhat.com>
15300
15301 PR sanitizer/65583
15302 * ubsan.c (ubsan_create_edge): New function.
15303 (instrument_bool_enum_load): Call it.
15304 (instrument_nonnull_arg): Likewise.
15305 (instrument_nonnull_return): Likewise.
15306 (instrument_object_size): Likewise.
15307
15308 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
15309
15310 * lto-streamer.h (class lto_location_cache): Turn loc_cache into
15311 auto_vec.
15312
15313 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
15314
15315 PR lto/65536
15316 * lto-streamer.h (class lto_location_cache): New.
15317 (struct data_in): Add location_cache.
15318 (lto_input_location): Update prototype.
15319 (stream_input_location_now): New.
15320 * streamer-hooks.h (struct streamer_hooks): Make input_location to take
15321 pointer to location.
15322 (stream_input_location): Update.
15323 * ipa-devirt.c: Include streamer-hooks.h and lto-streamer.h
15324 (warn_odr): Apply location cache before warning.
15325 (lto_input_location): Update prototype.
15326 * gimple-streamer-in.c (input_phi, input_gimple_stmt):
15327 Use stream_input_location_now.
15328 * lto-streamer-in.c (lto_location_cache::current_cache): New static
15329 variable.
15330 (lto_location_cache::cmp_loc): New function.
15331 (lto_location_cache::apply_location_cache): New function.
15332 (lto_location_cache::accept_location_cache): New function.
15333 (lto_location_cache::revert_location_cache): New function.
15334 (lto_location_cache::input_location): New function.
15335 (lto_input_location): Do location caching.
15336 (stream_input_location_now): New function.
15337 (input_eh_region, input_struct_function_base): Use
15338 stream_input_location_now.
15339 (lto_data_in_create): use new.
15340 (lto_data_in_delete): Use delete.
15341 * tree-streamer-in.c (unpack_ts_block_value_fields,
15342 unpack_ts_omp_clause_value_fields, streamer_read_tree_bitfields,
15343 lto_input_ts_exp_tree_pointers): Update for cached location api.
15344
15345 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
15346
15347 PR ipa/65076
15348 * passes.def: Add pass_nothrow.
15349 * ipa-pure-const.c: (pass_data_nothrow): New.
15350 (pass_nothrow): New.
15351 (pass_nothrow::execute): New.
15352 (make_pass_nothrow): New.
15353 * tree-pass.h (make_pass_nothrow): Declare.
15354
15355 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
15356
15357 * ipa-inline-analysis.c (redirect_to_unreachable): Be prepared for
15358 edge to change by speculation resolution or redirection.
15359 (edge_set_predicate): Likewise.
15360 (inline_summary_t::duplicate): Likewise.
15361 (remap_edge_summaries): Likewise.
15362
15363 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
15364
15365 * ipa-inline.c (check_maybe_up, check_maybe_down, check_match):
15366 New macros.
15367 (can_inline_edge_p): Relax option matching for always inline functions.
15368
15369 2015-03-26 Uros Bizjak <ubizjak@gmail.com>
15370
15371 PR target/65561
15372 * config/i386/sse.md (avx512dq_vextract<shuffletype>64x2_1_maskm):
15373 Check operand 4 and operand 0 for equality.
15374 (avx512f_vextract<shuffletype>32x4_1_maskm):
15375 Check operand 6 and operand 0 for equality.
15376 (vec_extract_lo_<mode>_maskm): Check operand 2 and operand 0
15377 for equality.
15378 (vec_extract_hi_<mode>_maskm): Ditto.
15379
15380 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
15381
15382 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Do not bring
15383 dead calls back to live.
15384 (cgraph_edge::verify_count_and_frequency): Move cgraph/cfg frequency
15385 cross check to ...
15386 (cgraph_node::verify_node): ... here; verify only callee edges,
15387 not caller.
15388 * cif-code.def (CILK_SPAWN): New code.
15389
15390 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
15391
15392 * ipa-inline-analysis.c (redirect_to_unreachable): New function.
15393 (edge_set_predicate): Use it to mark unreachable edges.
15394 (inline_summary_t::duplicate): Remove unnecesary code.
15395 (remap_edge_summaries): Likewise.
15396 (dump_inline_summary): Report contains_cilk_spawn.
15397 (compute_inline_parameters): Compute contains_cilk_spawn.
15398 (inline_read_section, inline_write_summary): Stream
15399 contains_cilk_spawn.
15400 * ipa-inline.c (can_inline_edge_p): Do not touch
15401 DECL_STRUCT_FUNCTION that may not be available;
15402 use CIF_CILK_SPAWN for cilk; fix optimization attribute checks;
15403 remove check for callee_fun->can_throw_non_call_exceptions and
15404 replace it by optimization attribute check; check for flag_exceptions.
15405 * ipa-inline-transform.c (inline_call): Maintain
15406 DECL_FUNCTION_PERSONALITY
15407 * ipa-inline.h (inline_summary): Add contains_cilk_spawn.
15408
15409 2015-03-26 Jakub Jelinek <jakub@redhat.com>
15410
15411 PR tree-optimization/65551
15412 * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use
15413 TYPE_PRECISION only for INTEGRAL_TYPE_P types.
15414
15415 2015-03-26 Richard Biener <rguenther@suse.de>
15416
15417 PR middle-end/65555
15418 * tree-cfg.c (verify_gimple_call): Do not require a call to
15419 have no LHS if it wasn't recognized as control altering yet.
15420
15421 2015-03-26 Jakub Jelinek <jakub@redhat.com>
15422
15423 PR tree-optimization/64715
15424 * passes.def: Add another instance of pass_object_sizes before ccp1.
15425 * tree-object-size.c (pass_object_sizes::execute): In
15426 first_pass_instance, only handle __bos (, 1) and __bos (, 3)
15427 calls, and keep the call in the IL, as {MIN,MAX}_EXPR of the
15428 __bos result and the computed constant. Remove redundant
15429 checks, obsoleted by gimple_call_builtin_p test.
15430
15431 * var-tracking.c (variable_tracking_main_1): Don't track
15432 variables for targetm.no_register_allocation targets.
15433
15434 2015-03-26 Oleg Endo <olegendo@gcc.gnu.org>
15435
15436 * config/sh/t-linux (DEFAULT_ENDIAN, MULTILIB_EXCEPTIONS): Remove.
15437 * config/sh/t-sh (MULTILIB_EXCEPTIONS): Handle default endian.
15438
15439 2015-03-25 Michael Meissner <meissner@linux.vnet.ibm.com>
15440
15441 PR target/65569
15442 * config/rs6000/rs6000.md (extenddftf2_fprs): On VSX systems use
15443 XXLXOR to create 0.0. On pre-VSX systems make sure the constant
15444 0.0 is correctly setup.
15445 (extenddftf2_internal): Likewise.
15446
15447 2015-03-25 Sebastian Pop <s.pop@samsung.com>
15448
15449 PR tree-optimization/65177
15450 * tree-ssa-threadupdate.c (verify_seme): Renamed verify_jump_thread.
15451 (bb_in_bbs): New.
15452 (duplicate_seme_region): Renamed duplicate_thread_path. Redirect all
15453 edges not adjacent on the path to the original code.
15454
15455 2015-03-25 Uros Bizjak <ubizjak@gmail.com>
15456
15457 PR bootstrap/65537
15458 * doc/install.texi (Building a native compiler): Document new
15459 bootstrap-lto-noplugin configuration. Mention that bootstrap-lto
15460 configuration assumes that the host supports the linker plugin.
15461
15462 2015-03-25 Ilya Enkovich <ilya.enkovich@intel.com>
15463
15464 PR target/65508
15465 * tree-chkp.c (chkp_add_bounds_to_call_stmt): Set static
15466 chain for generated call.
15467
15468 2015-03-25 Richard Biener <rguenther@suse.de>
15469
15470 * passes.c (pass_manager::execute_early_local_passes): Guard
15471 execution of pass_chkp_instrumentation_passes with
15472 flag_check_pointer_bounds.
15473 (pass_chkp_instrumentation_passes::gate): Likewise.
15474
15475 2015-03-25 Martin Liska <mliska@suse.cz>
15476
15477 PR tree-optimization/65538
15478 * symbol-summary.h (function_summary::~function_summary):
15479 Relese memory for allocated summaries.
15480 (function_summary::release): New function.
15481
15482 2015-03-25 Jakub Jelinek <jakub@redhat.com>
15483
15484 PR lto/65515
15485 * lto-streamer-out.c (DFS::worklist): New struct.
15486 (DFS::worklist_vec): New data member.
15487 (DFS::next_dfs_num): Remove.
15488 (DFS::DFS): Rewritten using worklist instead of recursion,
15489 using most of code from DFS::DFS_write_tree.
15490 (DFS::DFS_write_tree_body): Remove SINGLE_P argument, don't
15491 pass it to DFS_write_tree calls.
15492 (DFS::DFS_write_tree): Remove SINGLE_P argument, after
15493 quick initial checks push it into worklist_vec and return.
15494
15495 2015-03-25 Richard Biener <rguenther@suse.de>
15496
15497 PR middle-end/65519
15498 * genmatch.c (expr::gen_transform): Re-write to avoid
15499 using gimple_build.
15500
15501 2015-03-25 Bin Cheng <bin.cheng@arm.com>
15502
15503 * doc/sourcebuild.texi (arm_tune_string_ops_prefer_neon): New.
15504
15505 2015-03-25 Bin Cheng <bin.cheng@arm.com>
15506
15507 * config/arm/arm.opt (print_tune_info): New option.
15508 * config/arm/arm.c (arm_print_tune_info): New function.
15509 (arm_file_start): Call arm_print_tune_info.
15510 * config/arm/arm-protos.h (struct tune_params): Add comment.
15511 * doc/invoke.texi (@item -mprint-tune-info): New item.
15512 (-mtune): mention it in ARM Option Summary.
15513
15514 2015-03-25 DJ Delorie <dj@redhat.com>
15515
15516 * config/rl78/rl78.c (rl78_print_operand_1): Move 'p' test to
15517 correct clause.
15518
15519 2015-03-24 Jan Hubicka <hubicka@ucw.cz>
15520 Martin Liska <mliska@suse.cz>
15521
15522 * ipa-icf-gimple.h (return_with_result): Add missing colon to dump.
15523 * ipa-icf.c (sem_function::get_hash): Hash new declaration properties.
15524 (sem_item::add_type): New function.
15525 (sem_function::hash_stmt): Add TREE_TYPE of gimple_op.
15526 (sem_function::compare_polymorphic_p): Do not consider indirect calls.
15527 (sem_item_optimizer::update_hash_by_addr_refs): Add ODR type to hash.
15528 (sem_function::equals_wpa): Fix typo.
15529 * ipa-icf.h (sem_item::add_type): New function.
15530 (symbol_compare_hashmap_traits): Replace hashing of pointer with symbol
15531 order.
15532
15533 2015-03-24 Jakub Jelinek <jakub@redhat.com>
15534
15535 PR tree-optimization/65533
15536 * tree-vect-slp.c (vect_build_slp_tree): Before re-trying
15537 with swapped operands, call vect_free_slp_tree on
15538 SLP_TREE_CHILDREN of child and truncate the SLP_TREE_CHILDREN
15539 vector.
15540
15541 2015-03-24 Richard Biener <rguenther@suse.de>
15542
15543 PR middle-end/65517
15544 * tree-cfg.c (remove_edge_and_dominated_blocks): Mark loops
15545 for fixup if necessary.
15546
15547 2015-03-23 Sandra Loosemore <sandra@codesourcery.com>
15548
15549 * doc/extend.texi (Function Attributes): Add @cindex entries
15550 for all attributes and regularize their format. Delete text
15551 about long-obsolete 68HC11 and 68HC12 targets. Move misplaced
15552 information about "eightbit_data", "tiny_data", and "model"
15553 variable attributes to the Variable Attributes section. Fix
15554 some obvious typos and copy-editing issues.
15555 (Variable Attributes, Type Attributes): Likewise add/fix
15556 @cindex entries for all attributes.
15557
15558 2015-03-23 Jakub Jelinek <jakub@redhat.com>
15559
15560 PR target/65523
15561 * tree-chkp.c (chkp_build_returned_bound): Ignore
15562 ERF_RETURNS_ARG calls if they have fewer than needed arguments.
15563
15564 2015-03-23 Oleg Endo <olegendo@gcc.gnu.org>
15565
15566 PR target/65505
15567 * config/sh/predicates.md (simple_mem_operand,
15568 displacement_mem_operand): Add test for reg.
15569 (short_displacement_mem_operand): Test for displacement_mem_operand
15570 before invoking sh_disp_addr_displacement.
15571 * config/sh/constraints.md (Sdd, Sra): Simplify.
15572 * config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1):
15573 Remove redundant displacement_mem_operand tests.
15574
15575 2015-03-23 Georg-Johann Lay <avr@gjlay.de>
15576
15577 PR target/65296
15578 * config/avr/driver-avr.c (avr_devicespecs_file): Allow to specify
15579 the same -mmcu=MCU more than once.
15580
15581 2015-03-23 Jakub Jelinek <jakub@redhat.com>
15582
15583 PR bootstrap/65522
15584 * ipa-devirt.c: Remove duplicate demangle.h include.
15585
15586 PR target/65504
15587 * config/i386/i386.c (ix86_copy_addr_to_reg): Set REG_POINTER
15588 on the pseudo.
15589 (expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Set
15590 REG_POINTER on *destptr after adjusting it for prologue size.
15591
15592 PR ipa/65521
15593 * ipa-icf.c (sem_item::update_hash_by_addr_refs): Hash
15594 ultimate_alias_target ()->order ints instead of
15595 ultimate_alias_target () pointers.
15596
15597 2015-03-23 Richard Biener <rguenther@suse.de>
15598
15599 PR tree-optimization/65518
15600 * tree-vect-stmts.c (vectorizable_load): Reject single-element
15601 interleaving cases we generate absymal code for.
15602
15603 2015-03-23 Richard Biener <rguenther@suse.de>
15604
15605 PR tree-optimization/65494
15606 * tree-vect-slp.c (vect_build_slp_tree): Do not (re-)allocate
15607 matches here.
15608 (vect_analyze_slp_instance): But do that here, always and once.
15609
15610 2015-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
15611
15612 * expmed.c (synth_mult): Fix comment about multiplying by T-1 and
15613 adding T or multiplying by T+1 and subracting T.
15614
15615 2015-03-22 Jeff Law <law@redhat.com>
15616
15617 PR rtl-optimization/64317
15618 * Makefile.in (OBJS): Add gcse-common.c
15619 * gcse.c: Include gcse-common.h
15620 (struct modify_pair_s): Move structure definition to gcse-common.h
15621 (compute_transp): Move function to gcse-common.c.
15622 (canon_list_insert): Similarly.
15623 (record_last_mem_set_info): Break out some code and put it into
15624 gcse-common.c. Call into the new common code.
15625 (compute_local_properties): Pass additional arguments to compute_transp.
15626 * postreload-gcse.c: Include gcse-common.h and df.h
15627 (modify_mem_list_set, blocks_with_calls): New variables.
15628 (modify_mem_list, canon_modify_mem_list, transp): Likewise.
15629 (get_bb_avail_insn): Pass in the expression index too.
15630 (alloc_mem): Allocate memory for the new bitmaps and lists.
15631 (free_mem): Free memory for the new bitmaps and lists.
15632 (insert_expr_in_table): Record a bitmap index for each entry we
15633 add to the table.
15634 (record_last_mem_set_info): Call into common code in gcse-common.c.
15635 (get_bb_avail_insn): If no available insn was found in the requested
15636 BB. If BB has a single predecessor, see if the expression is
15637 transparent in BB and available in that single predecessor.
15638 (compute_expr_transp): New wrapper for compute_transp.
15639 (eliminate_partially_redundant_load): Pass expression's bitmap_index
15640 to get_bb_avail_insn. Compute next_pred_bb_end a bit later.
15641 (gcse_after_reload_main): If there are elements in the hash table,
15642 then compute transparency for all the elements in the hash table.
15643 * gcse-common.h: New file.
15644 * gcse-common.c: New file.
15645
15646 2015-03-22 Sandra Loosemore <sandra@codesourcery.com>
15647
15648 * doc/cpp.texi (Search Path): Hyphenate "command-line" when used
15649 as an adjective.
15650 (System Headers): Likewise.
15651 (Ifdef): Likewise.
15652 (Traditional macros): Likewise.
15653 (Invocation): Likewise.
15654 (Option Index): Likewise.
15655 * doc/cppopts.texi (-M): Likewise.
15656 (-finput-charset): Likewise.
15657 (--help): Likewise.
15658 * doc.invoke.texi (AVR Options): Likewise.
15659 (V850 Options): Likewise.
15660
15661 2015-03-22 Jan Hubicka <hubicka@ucw.cz>
15662
15663 PR ipa/65475
15664 * ipa-devirt.c: Include demangle.h
15665 (odr_type_d): Add field rtti_broken.
15666 (odr_subtypes_equivalent_p): Do not require name to match.
15667 (compare_virtual_tables): Fix typo; if type already has ODR violation,
15668 bypass the tests; be ready for function referneces in vtables that are
15669 not DECL_VIRTUAL; make warnings to be OPT_Wodr.
15670 (warn_odr): Give up for nameless types.
15671 (warn_types_mismatch): Report mismatch in mangled names;
15672 report mismatch in anonymous namespaces; look into component types to
15673 give useful error; report when mismatch is dragged in from other ODR
15674 type.
15675 (odr_types_equivalent_p): Match types for being polymorphic; avoid
15676 duplicated diagnostics.
15677 (add_type_duplicate): Reorder checks so more informative ones come
15678 first; fix typo; do not output "the extra base is defined here" when
15679 we did not warn.
15680 (BINFO_N_BASE_BINFOS): Relax sanity check.
15681
15682 2015-03-22 Martin Liska <mliska@suse.cz>
15683 Jakub Jelinek <jakub@redhat.com>
15684
15685 * config/i386/i386.c (def_builtin): Set deferred_isa_values for
15686 masks that can potentially include a builtin.
15687 (ix86_add_new_builtins): Introduce fast filter for isa values
15688 that cannot trigger builtin inclusion.
15689
15690 2015-03-22 Martin Liska <mliska@suse.cz>
15691
15692 * ipa-icf.c (sem_item::update_hash_by_addr_refs): New function.
15693 (sem_item::update_hash_by_local_refs): Likewise.
15694 (sem_variable::get_hash): Empty line is fixed.
15695 (sem_item_optimizer::execute): Include adding of hash references.
15696 (sem_item_optimizer::update_hash_by_addr_refs): New function.
15697 (sem_item_optimizer::build_hash_based_classes): Use local hash.
15698 * ipa-icf.h (sem_item::update_hash_by_addr_refs): New function.
15699 (sem_item::update_hash_by_local_refs): Likewise.
15700
15701 2015-03-20 Jan Hubicka <hubicka@ucw.cz>
15702
15703 PR ipa/65502
15704 * ipa-comdats.c (enqueue_references): Walk through thunks.
15705 (ipa_comdats): Likewise.
15706 (set_comdat_group_1): New function.
15707
15708 2015-03-20 Jan Hubicka <hubicka@ucw.cz>
15709
15710 PR ipa/65475
15711 * ipa-devirt.c (add_type_duplicate): Prevail polymorphic type over
15712 non-polymorphic
15713
15714 2015-03-22 Dave Korn <dave.korn.cygwin@gmail.com>
15715 Gerald Pfeifer <gerald@pfeifer.com>
15716
15717 * doc/contrib.texi (Contributors): Update entry for Danny Smith.
15718
15719 2015-03-21 Chung-Lin Tang <cltang@codesourcery.com>
15720 Sandra Loosemore <sandra@codesourcery.com>
15721
15722 * config/nios2/nios2-protos.h (nios2_adjust_call_address): Adjust
15723 function parameter declaration.
15724 * config/nios2/nios2.md (call,call_value,sibcall,sibcall_value):
15725 Update arguments to nios2_adjust_call_address().
15726 (sibcall_internal): Rename from *sibcall.
15727 (sibcall_value_internal): Rename from *sibcall_value.
15728 * config/nios2/nios2.c (nios2_emit_add_constant): New function.
15729 (nios2_large_got_address): Add target temp reg parameter.
15730 (nios2_got_address): Adjust call to nios2_large_got_address, add
15731 force_reg around it.
15732 (nios2_load_pic_address): Add target temp reg parameter, replace call
15733 to nios2_got_address with corresponding code.
15734 (nios2_legitimize_constant_address): Update call to
15735 nios2_load_pic_address.
15736 (nios2_adjust_call_address): Add temp reg parameter, update PIC case
15737 to use temp reg for PIC loading purposes.
15738 (nios2_asm_output_mi_thunk): Implement TARGET_ASM_OUTPUT_MI_THUNK.
15739 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
15740 (TARGET_ASM_OUTPUT_MI_THUNK): Likewise.
15741
15742 2015-03-21 Sandra Loosemore <sandra@codesourcery.com>
15743
15744 * doc/invoke.texi (-fno-diagnostics-show-caret): Fix
15745 usage of "the @option{...}".
15746 (-Wopenmp-simd): Likewise.
15747 (-fsanitize-recover): Likewise.
15748 (-fsanitize-undefined-trap-on-error): Likewise.
15749 (-flto): Likewise.
15750 (tracer-dynamic-coverage-feedback): Likewise.
15751 (reorder-block-duplicate-feedback): Likewise.
15752 (loop-unroll-jam-size): Likewise.
15753 (-B): Likewise.
15754 (-I-): Likewise.
15755 (-mabs=legacy): Likewise.
15756 (-mupper-regs-df): Likewise.
15757 (-mupper-regs-sf): Likewise.
15758 (-mpointers-to-nested-functions): Likewise.
15759
15760 2015-03-21 Sandra Loosemore <sandra@codesourcery.com>
15761
15762 * doc/extend.texi (Cilk Plus Builtins): Add markup.
15763
15764 2015-03-21 Sandra Loosemore <sandra@codesourcery.com>
15765
15766 * doc/invoke.texi (-fcheck-pointer-bounds): Copy-edit, add
15767 additional index entries and cross-references.
15768 (-fchkp-check-incomplete-type): Likewise.
15769 (-fchkp-first-field-has-own-bounds): Likewise.
15770 (-fchkp-narrow-to-innermost-array): Likewise.
15771 (-fchkp-use-fast-string-functions): Likewise.
15772 (-fchkp-use-nochk-string-functions): Likewise.
15773 (-fchkp-use-static-const-bounds): Likewise.
15774 (-fchkp-treat-zero-dynamic-size-as-infinite): Likewise.
15775 (-fchkp-instrument-marked-only): Likewise.
15776 (-fchkp-use-wrappers): Likewise.
15777 (-static-libmpx): Likewise.
15778 (-static-libmpxwrappers): Likewise.
15779 * doc/extend.texi (bnd_legacy): Likewise.
15780 (bnd_instrument): Likewise.
15781 (bnd_variable_size): Likewise.
15782 (Pointer Bounds Checker builtins): Likewise.
15783
15784 2015-03-21 Tom de Vries <tom@codesourcery.com>
15785
15786 PR tree-optimization/65458
15787 * cgraph.c (cgraph_node::dump): Handle parallelized_function field.
15788 * cgraph.h (cgraph_node): Add parallelized_function field.
15789 * lto-cgraph.c (lto_output_node): Write parallelized_function field.
15790 (input_overwrite_node): Read parallelized_function field.
15791 * omp-low.c (expand_omp_taskreg, finalize_task_copyfn): Set
15792 parallelized_function on cgraph_node for child_fn.
15793 * tree-parloops.c: Add include of plugin-api.h, ipa-ref.h and cgraph.h.
15794 Remove include of gt-tree-parloops.h.
15795 (parallelized_functions): Remove static variable.
15796 (parallelized_function_p): Rewrite using parallelized_function field of
15797 cgraph_node.
15798 (create_loop_fn): Remove adding to parallelized_functions.
15799 * Makefile.in (GTFILES): Remove tree-parloops.c
15800
15801 2015-03-20 Vladimir Makarov <vmakarov@redhat.com>
15802
15803 PR rtl-optimization/64366
15804 * lra.c (lra_update_insn_regno_info): Consider regs in
15805 CALL_INSN_FUNCTION_USAGE memory.
15806
15807 2015-03-20 Richard Biener <rguenther@suse.de>
15808
15809 PR middle-end/64715
15810 * tree-chrec.c (chrec_fold_poly_cst): Use useless_type_conversion_p
15811 for type comparison and gcc_checking_assert.
15812 (chrec_fold_plus_poly_poly): Likewise.
15813 (chrec_fold_multiply_poly_poly): Likewise.
15814 (chrec_convert_1): Likewise.
15815 * gimplify.c (gimplify_expr): Remove premature folding of
15816 &X + CST to &MEM[&X, CST].
15817
15818 2015-03-20 Jan Hubicka <hubicka@ucw.cz>
15819
15820 * ipa-inline.c (can_inline_edge_p): Short circuit if inline_failed
15821 already is final.
15822 (ipa_inline): Recompute inline_failed codes.
15823 * cif-code.def (FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE,
15824 USES_COMDAT_LOCAL, ATTRIBUTE_MISMATCH, UNREACHABLE): Declare as
15825 CIF_FINAL_ERROR.
15826
15827 2015-03-20 Uros Bizjak <ubizjak@gmail.com>
15828
15829 PR rtl-optimization/60851
15830 * recog.c (constrain_operands): Accept a pseudo register before reload
15831 for LRA enabled targets.
15832
15833 2015-03-19 Michael Meissner <meissner@linux.vnet.ibm.com>
15834
15835 PR target/65240
15836 * config/rs6000/predicates.md (easy_fp_constant): Remove special
15837 -ffast-math handling that kept non-0 constants live in the RTL
15838 until reload. Remove logic testing the number of instructions it
15839 took to create a constant in a GPR that was never used, due to a
15840 test for soft-float earlier.
15841 (memory_fp_constant): Delete, no longer used.
15842
15843 * config/rs6000/rs6000.md (mov<MODE>_hardfloat): Remove
15844 alternatives for loading non-0 constants into GPRs for hard
15845 floating point that is no longer needed due to changes in
15846 easy_fp_constant. Add support for loading 0.0 into GPRs.
15847 (mov<mode>_hardfloat32): Likewise.
15848 (mov<mode>_hardfloat64): Likewise.
15849 (mov<mode>_64bit_dm): Likewise.
15850 (movtd_64bit_nodm): Likewise.
15851 (pre-reload move FP constant define_split): Delete define_split,
15852 since it is no longer used.
15853 (extenddftf2_internal): Remove GHF constraints that are not valid
15854 for extenddftf2.
15855
15856 2015-03-19 Vladimir Makarov <vmakarov@redhat.com>
15857
15858 PR rtl-optimization/63491
15859 * lra-constraints.c (check_and_process_move): Use src instead of
15860 sreg. Remove some dead code.
15861
15862 2015-03-19 Jan Hubicka <hubicka@ucw.cz>
15863
15864 PR ipa/65380
15865 * ipa-icf.c (sem_function::merge): Do not merge DECL_EXTERNAL symbols.
15866 (sem_variable::merge): Likewise.
15867
15868 2015-03-19 Martin Liska <mliska@suse.cz>
15869
15870 PR ipa/65465
15871 * cgraphunit.c (cgraph_node::create_wrapper): Correctly reset
15872 all fields of cgraph_thunk_info.
15873
15874 2015-03-19 Ilya Enkovich <ilya.enkovich@intel.com>
15875
15876 * ipa-chkp.c (chkp_maybe_create_clone): Don't try to
15877 clone instrumented thunks.
15878
15879 2015-03-19 Richard Biener <rguenther@suse.de>
15880
15881 Revert
15882 2015-03-10 Richard Biener <rguenther@suse.de>
15883
15884 PR middle-end/63155
15885 * tree-ssa-coalesce.h (verify_ssa_coalescing): Declare.
15886 * tree-ssa-coalesce.c: Include timevar.h.
15887 (attempt_coalesce): Handle graph being NULL.
15888 (coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING.
15889 Split out abnormal coalescing to ...
15890 (perform_abnormal_coalescing): ... this function.
15891 (coalesce_ssa_name): Perform abnormal coalescing without computing
15892 live/conflict.
15893 (verify_ssa_coalescing_worker): New function.
15894 (verify_ssa_coalescing): Likewise.
15895
15896 2015-03-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
15897 Jakub Jelinek <jakub@redhat.com>
15898
15899 PR sanitizer/65400
15900 * tsan.c (instrument_gimple): Clear tail call flag on
15901 calls.
15902
15903 2015-03-19 Jakub Jelinek <jakub@redhat.com>
15904
15905 PR sanitizer/65400
15906 * ipa-split.c (find_return_bb): Allow TSAN_FUNC_EXIT internal
15907 call in the return bb.
15908 (find_split_points): Add RETURN_BB argument, don't call
15909 find_return_bb.
15910 (split_function): Likewise. Add ADD_TSAN_FUNC_EXIT argument,
15911 if true append TSAN_FUNC_EXIT internal call after the call to
15912 the split off function.
15913 (execute_split_functions): Call find_return_bb here.
15914 Don't optimize if TSAN_FUNC_EXIT is found in unexpected places.
15915 Adjust find_split_points and split_function calls.
15916
15917 2015-03-18 DJ Delorie <dj@redhat.com>
15918
15919 * config/rl78/rl78-virt.md (andqi3_virt): Allow far operands.
15920 (iorqi3_virt): Likewise.
15921
15922 2015-03-18 Tom de Vries <tom@codesourcery.com>
15923
15924 * tree-parloops.c (parallelize_loops): Make static.
15925 * tree-parloops.h (parallelize_loops): Remove extern declaration.
15926
15927 2015-03-18 Andrew Stubbs <ams@codesourcery.com>
15928
15929 PR middle-end/64491
15930 Revert:
15931 2014-11-20 Andrew Stubbs <ams@codesourcery.com>
15932
15933 * tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Warn if a loop
15934 condition would be removed due to undefined behaviour.
15935
15936 2015-03-18 Martin Liska <mliska@suse.cz>
15937
15938 PR ipa/65432
15939 * cgraph.c (cgraph_node::get_create): Remove unnecessary
15940 xstrdup_for_dump wrapper.
15941 * ipa-icf.c (sem_item::dump): Use symtab_node::name instead of
15942 sem_item::name.
15943 (sem_function::equals): Wrap symtab_node::name and symtab_node::asm_name
15944 with xstrdup_for_dump.
15945 (sem_variable::equals): Likewise.
15946 (sem_item_optimizer::read_section): Use symtab_node::name instead of
15947 sem_item::name.
15948 (sem_item_optimizer::parse_funcs_and_vars): Likewise.
15949 (sem_item_optimizer::merge_classes): Wrap symtab_node::name and
15950 symtab_node::asm_name with xstrdup_for_dump.
15951 (congruence_class::dump): Use symtab_node::name instead of
15952 sem_item::name.
15953 * ipa-icf.h (symtab_node::name): Remove.
15954 (symtab_node::asm_name): Likewise.
15955
15956 2015-03-18 Jakub Jelinek <jakub@redhat.com>
15957
15958 PR tree-optimization/65450
15959 * tree-vect-data-refs.c (vect_duplicate_ssa_name_ptr_info): New
15960 function.
15961 (vect_create_addr_base_for_vector_ref, vect_create_data_ref_ptr): Use
15962 it instead of duplicate_ssa_name_ptr_info.
15963
15964 PR target/65222
15965 * doc/invoke.texi: Add knl as x86 -march=/-mtune= CPU type.
15966
15967 2015-03-18 Richard Biener <rguenther@suse.de>
15968
15969 * tree-data-ref.h (struct access_matrix): Remove.
15970 (AM_LOOP_NEST, AM_NB_INDUCTION_VARS, AM_PARAMETERS, AM_MATRIX,
15971 AM_NB_PARAMETERS, AM_CONST_COLUMN_INDEX, AM_NB_COLUMNS,
15972 AM_GET_SUBSCRIPT_ACCESS_VECTOR, AM_GET_ACCESS_MATRIX_ELEMENT): Likewise.
15973 (am_vector_index_for_loop): Likewise.
15974 (struct data_reference): Remove access_matrix member.
15975 (DR_ACCESS_MATRIX): Remove.
15976 (lambda_vector_new): Add comment.
15977 (lambda_matrix_new): Use XOBNEWVEC.
15978
15979 2015-03-18 Richard Biener <rguenther@suse.de>
15980
15981 * tree-ssa-loop-ch.c (pass_data_ch): Remove TODO_cleanup_cfg.
15982 (pass_ch::execute): Cleanup the CFG only if we did sth.
15983 * tree-vect-generic.c (pass_data_lower_vector): Remove TODO_cleanup_cfg.
15984
15985 2015-03-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
15986
15987 * expmed.c (synth_mult): Use std::swap instead of manually
15988 swapping algorithms.
15989
15990 2015-03-18 Jakub Jelinek <jakub@redhat.com>
15991
15992 PR target/65078
15993 * config/i386/sse.md (movsi/movdi -> vec_extract_*_0 splitter): New.
15994
15995 2015-03-16 Georg-Johann Lay <avr@gjlay.de>
15996
15997 PR target/65296
15998 * config/avr/avr.opt (-nodevicelib): New option.
15999 * doc/invoke.texi (AVR Options): Document it.
16000 * config/avr/avrlibc.h (LIB_SPEC, LIBGCC_SPEC) [avr1]: Don't link
16001 libgcc.a, libc.a, libm.a.
16002 * config/avr/specs.h: Same.
16003 * config/avr/gen-avr-mmcu-specs.c (print_mcu): Don't print specs
16004 which don't (directly) depend on the device. Print more help.
16005 (*avrlibc_devicelib) [-nodevicelib]: Don't link libdev.a.
16006 (*cpp): Don't define __AVR_DEV_LIB_NAME__.
16007 * config/avr/driver-avr.c: Remove -nodevicelib from option list in
16008 case of an error.
16009 (avr_devicespecs_file): Use suffix "%s" instead of absolute path
16010 for specs file name.
16011 * config/avr/avr-arch.h (avr_mcu_t) [.library_name]: Remove.
16012 * config/avr/avr-mcus.def: Adjust initializers and comments.
16013
16014 2015-03-16 Jan Hubicka <hubicka@ucw.cz>
16015
16016 * tree-sra.c (ipa_sra_preliminary_function_checks): Use
16017 DECL_ONE_ONLY to check if decl is one only.
16018 * ipa-split.c (consider_split): Limit splitt of one only functions.
16019
16020 2015-03-16 Jakub Jelinek <jakub@redhat.com>
16021
16022 PR tree-optimization/65427
16023 * tree-vect-generic.c (do_cond, expand_vector_scalar_condition): New
16024 functions.
16025 (expand_vector_operations_1): Handle BLKmode vector COND_EXPR.
16026
16027 2015-03-16 Marek Polacek <polacek@redhat.com>
16028
16029 * cgraph.h (add_new_static_var): Remove declaration.
16030 * varpool.c (add_new_static_var): Remove function.
16031
16032 2015-03-16 Jakub Jelinek <jakub@redhat.com>
16033
16034 * omp-low.c (expand_omp_target): Use auto_vec<tree, 11>
16035 instead of vec<tree> * with vec_alloc and release for args.
16036 Adjust all users.
16037
16038 PR middle-end/65431
16039 * omp-low.c (delete_omp_context): Only splay_tree_delete
16040 reduction_map in GIMPLE_OMP_TARGET is_gimple_omp_offloaded
16041 is_gimple_omp_oacc contexts. Don't look at ctx->outer.
16042
16043 2015-03-16 Max Ostapenko <m.ostapenko@partner.samsung.com>
16044
16045 PR sanitizer/64820
16046 * cfgexpand.c (align_base): New function.
16047 (alloc_stack_frame_space): Call it.
16048 (expand_stack_vars): Align prev_frame to be sure
16049 data->asan_vec elements aligned properly.
16050
16051 2015-03-16 Eric Botcazou <ebotcazou@adacore.com>
16052
16053 PR middle-end/65409
16054 * expr.c (store_field): Do not do a direct block copy if the source is
16055 a PARALLEL with BLKmode.
16056
16057 2015-03-16 Tom de Vries <tom@codesourcery.com>
16058
16059 PR middle-end/65414
16060 Revert:
16061 2015-03-12 Tom de Vries <tom@codesourcery.com>
16062
16063 PR rtl-optimization/64895
16064 * lra-lives.c (check_pseudos_live_through_calls): Use
16065 actual_call_used_reg_set instead of call_used_reg_set, if available.
16066
16067 2015-03-16 Alan Modra <amodra@gmail.com>
16068
16069 PR target/63150
16070 * config/rs6000/rs6000.md (bswapdi2): Remove one scratch reg.
16071 Modify Z->r bswapdi splitter to use dest in place of scratch.
16072 In r->Z and Z->r bswapdi splitter rename word_high, word_low
16073 to word1, word2 and rearrange logic to suit.
16074 (bswapdi2_64bit): Remove early clobber on Z->r alternative.
16075 (bswapdi2_ldbrx): Likewise. Remove '??' on r->r.
16076 (bswapdi2_32bit): Remove early clobber on Z->r alternative.
16077 Add one '?' on r->r. Modify Z->r splitter to avoid need for
16078 early clobber.
16079
16080 2015-03-14 Jakub Jelinek <jakub@redhat.com>
16081
16082 PR tree-optimization/65369
16083 * tree-vect-stmts.c (vectorizable_load) <case dr_explicit_realign>:
16084 Set bump to vs * TYPE_SIZE_UNIT (elem_type) - 1 instead of
16085 (vs - 1) * TYPE_SIZE_UNIT (elem_type).
16086
16087 PR tree-optimization/65418
16088 * tree-ssa-reassoc.c (extract_bit_test_mask): If there
16089 are casts in the first PLUS_EXPR operand, ensure tbias and
16090 *totallowp are in the inner type.
16091
16092 PR rtl-optimization/65401
16093 * combine.c (rtx_equal_for_field_assignment_p): Add widen_x
16094 argument. If true, adjust_address_nv of x with big-endian
16095 correction for the mode widening to GET_MODE (y).
16096 (make_field_assignment): Don't do MEM mode widening here.
16097 Use MEM_P instead of GET_CODE == MEM.
16098
16099 2015-03-13 Ilya Verbin <ilya.verbin@intel.com>
16100
16101 * varpool.c (varpool_node::get_create): Don't set 'offloadable' flag for
16102 the external decls.
16103
16104 2015-03-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
16105
16106 PR target/64600
16107 * config/arm/arm.c (arm_gen_constant, AND case): Use
16108 ARM_SIGN_EXTEND when constructing AND mask.
16109
16110 2015-03-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
16111
16112 * graph.c (print_graph_cfg): Make function names visible and append
16113 parenthesis to it. Also make groups of basic blocks belonging to the
16114 same function visible.
16115
16116 2015-03-12 Richard Biener <rguenther@suse.de>
16117
16118 PR middle-end/44563
16119 * tree-inline.c (gimple_expand_calls_inline): Walk BB backwards
16120 to avoid quadratic behavior with inline expansion splitting blocks.
16121 * tree-cfgcleanup.c (cleanup_tree_cfg_bb): Do not merge block
16122 with the successor if the predecessor will be merged with it.
16123 * tree-cfg.c (gimple_can_merge_blocks_p): We can't merge the
16124 entry block with its successor.
16125
16126 2015-03-13 Richard Biener <rguenther@suse.de>
16127
16128 PR middle-end/44563
16129 * tree-cfgcleanup.c (split_bb_on_noreturn_calls): Remove.
16130 (cleanup_tree_cfg_1): Do not call it.
16131 (execute_cleanup_cfg_post_optimizing): Fixup the CFG here.
16132 (fixup_noreturn_call): Mark the stmt as control altering.
16133 * tree-cfg.c (execute_fixup_cfg): Do not dump the function
16134 here.
16135 (pass_data_fixup_cfg): Produce a dump file.
16136 * tree-ssa-dom.c: Include tree-cfgcleanup.h.
16137 (need_noreturn_fixup): New global.
16138 (pass_dominator::execute): Fixup queued noreturn calls.
16139 (optimize_stmt): Queue calls that became noreturn for fixup.
16140 * tree-ssa-forwprop.c (pass_forwprop::execute): Likewise.
16141 * tree-ssa-pre.c: Include tree-cfgcleanup.h.
16142 (el_to_fixup): New global.
16143 (eliminate_dom_walker::before_dom_childre): Queue calls that
16144 became noreturn for fixup.
16145 (eliminate): Fixup queued noreturn calls.
16146 * tree-ssa-propagate.c: Include tree-cfgcleanup.h.
16147 (substitute_and_fold_dom_walker): New member stmts_to_fixup.
16148 (substitute_and_fold_dom_walker::before_dom_children): Queue
16149 alls that became noreturn for fixup.
16150 (substitute_and_fold): Fixup queued noreturn calls.
16151
16152 2015-03-12 Jan Hubicka <hubicka@ucw.cz>
16153
16154 * ipa-icf.c (sem_function::equals_wpa): Match CXX_CONSTRUCTOR_P
16155 and CXX_DESTURCTOR_P. For consutrctors match ODR type of class they
16156 are building; for methods check ODR type of class they belong to if
16157 they may lead to a polymorphic call.
16158 (sem_function::compare_polymorphic_p): Be bit smarter about testing
16159 when function may lead to a polymorphic call.
16160 (sem_function::compare_type_list): Remove.
16161 (sem_variable::equals): Update use of compatible_types_p.
16162 (sem_variable::parse_tree_refs): Remove.
16163 (sem_item_optimizer::filter_removed_items): Do not filter out CXX
16164 cdtor.
16165 * ipa-icf-gimple.c (func_checker::compare_decl): Do polymorphic
16166 matching here.
16167 (func_checker::compatible_polymorphic_types_p): Break out from ...
16168 (unc_checker::compatible_types_p): ... here.
16169 * ipa-icf-gimple.h (func_checker::compatible_polymorphic_types_p):
16170 Declare.
16171 (unc_checker::compatible_types_p): Update.
16172 * ipa-icf.h (compare_type_list, parse_tree_refs, compare_sections):
16173 Remove.
16174
16175 2015-03-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
16176
16177 PR rtl-optimization/65235
16178 * simplify-rtx.c (simplify_binary_operation_1, VEC_SELECT case):
16179 When first element of vec_concat is const_int, calculate its size
16180 using second element.
16181
16182 2015-03-12 Richard Biener <rguenther@suse.de>
16183
16184 PR middle-end/65270
16185 * fold-const.c (operand_equal_p): Fix ordering of resetting
16186 OEP_ADDRESS_OF and checking for it in the [TARGET_]MEM_REF case.
16187
16188 2015-03-12 Dominik Vogt <vogt@linux.vnet.ibm.com>
16189
16190 * config/s390/s390.c (s390_reorg): Move code to output nops after label
16191 to s390_reorg ().
16192 (s390_asm_output_function_label): Likewise.
16193 * config/s390/s390.c (s390_asm_output_function_label):
16194 Fix function label alignment with -mhtopatch.
16195 * config/s390/s390.md ("unspecv"): New values UNSPECV_NOP_2_BYTE,
16196 UNSPECV_NOP_4_BYTE and UNSPECV_NOP_6_BYTE
16197 ("nop_2_byte"): New define_insn.
16198 ("nop_4_byte"): Likewise.
16199 ("nop_6_byte"): Likewise.
16200 * doc/extend.texi (hotpatch): hotpatch attribute doc fixes.
16201 * doc/invoke.texi (-mhotpatch): -mhotpatch doc fixes.
16202
16203 2015-03-12 Ilya Enkovich <ilya.enkovich@intel.com>
16204
16205 PR target/65103
16206 * config/i386/i386.c (ix86_address_cost): Fix cost of a PIC
16207 register.
16208
16209 2015-03-12 Ilya Enkovich <ilya.enkovich@intel.com>
16210
16211 PR target/65044
16212 * toplev.c (process_options): Restrict Pointer Bounds Checker
16213 usage with Address Sanitizer.
16214
16215 2015-03-12 Richard Biener <rguenther@suse.de>
16216
16217 * tree-cfg.c (gimple_split_block): Remove loop finding stmt
16218 to split on.
16219 * omp-low.c (expand_omp_taskreg): Split block before removing
16220 the stmt.
16221 (expand_omp_target): Likewise.
16222 * ubsan.c (ubsan_expand_null_ifn): Adjust stmt if we replaced it.
16223 * tree-parloops.c (create_call_for_reduction_1): Pass a proper
16224 stmt to split_block.
16225
16226 2015-03-12 Tom de Vries <tom@codesourcery.com>
16227
16228 PR rtl-optimization/64895
16229 * lra-lives.c (check_pseudos_live_through_calls): Use
16230 actual_call_used_reg_set instead of call_used_reg_set, if available.
16231
16232 2015-03-10 Jan Hubicka <hubicka@ucw.cz>
16233
16234 * cgraph.c (cgraph_node::release_body): Free function_in_decl_state.
16235 (cgraph_node::remove): Likewise.
16236 (cgraph_node::get_untransformed_body): Likewise.
16237 * varpool.c (varpool_node::remove): Likewise.
16238 (varpool_node::get_constructor): Add sanity check.
16239
16240 2015-03-11 Sandra Loosemore <sandra@codesourcery.com>
16241
16242 * doc/invoke.texi (-fgnu89-inline): Remove discussion about
16243 old GCC versions.
16244 (-fabi-compat-version): Likewise.
16245 (-ffriend-injection): Likewise.
16246 (-Wdeclaration-after-statement): Likewise.
16247 (-fomit-frame-pointer): Likewise.
16248 (-ftree-coalesce-inlined-vars): Likewise.
16249 (-fvisibility=): Likewise.
16250 * doc/extend.texi (Typeof): Likewise.
16251 (Zero Length): Likewise.
16252 (Escaped Newlines): Likewise.
16253 (Compound Literals): Likewise.
16254 (Function Attributes): Likewise.
16255 (Label Attributes): Likewise.
16256 (Type Attributes): Likewise.
16257 (Function Names): Likewise.
16258 (Other Builtins): Likewise.
16259 (Function Specific Option Pragmas): Likewise.
16260 (C++ Interface): Likewise.
16261
16262 2015-03-11 Thomas Schwinge <thomas@codesourcery.com>
16263
16264 * config/nvptx/nvptx.h (LIBSTDCXX): Define to "gcc".
16265
16266 2015-03-11 Marek Polacek <polacek@redhat.com>
16267
16268 PR tree-optimization/65388
16269 * tree-ssa-tail-merge.c (same_succ_def::equal): Fix typo in comparison.
16270
16271 2015-03-10 Georg-Johann Lay <avr@gjlay.de>
16272
16273 PR target/65296
16274 * configure.ac [avr]: Check as for options -mrmw, --mlink-relax.
16275 * configure: Regenerate.
16276 * config.in: Regenerate.
16277 * doc/invoke.texi (AVR Options) [-mrmw]: Document it.
16278 [-mn-flash]: Document it.
16279 [__AVR_ARCH__]: Document avrtiny.
16280
16281 * config/avr/gen-avr-mmcu-specs.c (config.h): Include it.
16282 (*asm_relax): Only define spec if HAVE_AS_AVR_MLINK_RELAX_OPTION.
16283 (*asm_rmw): Only define spec if HAVE_AS_AVR_MRMW_OPTION.
16284
16285 2015-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
16286
16287 * doc/invoke.texi: Add missing cpu values (z196, zEC12).
16288
16289 2015-03-11 Michael Meissner <meissner@linux.vnet.ibm.com>
16290
16291 PR target/65242
16292 * config/rs6000/rs6000.c (rs6000_preferred_reload_class): Do not
16293 allow reloads of PLUS in floating point/VSX registers.
16294
16295 2015-03-11 Junmo Park <junmoz.park@samsung.com>
16296
16297 * config/arm/cortex-a57.md (cortex_a57_crypto_simple): Add
16298 crypto_sha256_fast.
16299 (cortex_a57_crypto_complex): Add crypto_sha256_slow.
16300
16301 2015-03-11 Richard Biener <rguenther@suse.de>
16302
16303 PR tree-optimization/65310
16304 * tree-sra.c (build_ref_for_offset): Also preserve larger
16305 alignment.
16306
16307 2015-03-11 Marat Zakirov <m.zakirov@samsung.com>
16308
16309 * asan.c (instrument_derefs): Disable instrumentation on asan-globals=0.
16310
16311 2015-03-10 Jakub Jelinek <jakub@redhat.com>
16312
16313 PR target/65368
16314 * config/i386/i386.md (bmi2_bzhi_<mode>3): Removed define_insn,
16315 new define_expand.
16316 (*bmi2_bzhi_<mode>3, *bmi2_bzhi_<mode>3_1): New define_insns.
16317
16318 2015-03-10 Jan Hubicka <hubicka@ucw.cz>
16319
16320 * ipa-icf.c (sem_function::equals_wpa): Move here some checks from ...
16321 (sem_function::equals_wpa): ... here.
16322
16323 2015-03-10 Marek Polacek <polacek@redhat.com>
16324 Jakub Jelinek <jakub@redhat.com>
16325
16326 PR sanitizer/65367
16327 * ubsan.c (ubsan_expand_objsize_ifn): Update GSI instead of GSI_ORIG
16328 when only removing the statement. Handle expanding UBSAN_OBJECT_SIZE
16329 separately.
16330
16331 2015-03-10 Jakub Jelinek <jakub@redhat.com>
16332
16333 PR target/65286
16334 * config/rs6000/t-linux: For powerpc64* target set
16335 MULTILIB_OSDIRNAMES instead of MULTIARCH_DIRNAME.
16336
16337 2015-03-10 Richard Biener <rguenther@suse.de>
16338
16339 PR middle-end/44563
16340 * tree-inline.c (copy_cfg_body): Skip block mapped to entry/exit
16341 for redirect_all_calls.
16342
16343 2015-03-10 Marek Polacek <polacek@redhat.com>
16344
16345 * gdbinit.in (pcfun): Define and document.
16346
16347 2015-03-10 Ilya Verbin <ilya.verbin@intel.com>
16348
16349 * config/i386/intelmic-mkoffload.c: Include intelmic-offload.h instead
16350 of libgomp-plugin.h.
16351 (find_target_compiler): Support a case when the path to gcc is
16352 specified in the PATH env var, so COLLECT_GCC doesn't contain a path.
16353 (generate_host_descr_file): Use GOMP_DEVICE_INTEL_MIC from
16354 intelmic-offload.h instead of OFFLOAD_TARGET_TYPE_INTEL_MIC from
16355 libgomp-plugin.h.
16356 (main): Use GCC_INSTALL_NAME as target_driver_name.
16357 * config/i386/t-intelmic (CFLAGS-mkoffload.o): Add GCC_INSTALL_NAME
16358 define.
16359 (mkoffload.o): Remove obsolete include path and defines.
16360 (mkoffload$(exeext)): Use $(LINKER) instead of $(COMPILER).
16361
16362 2015-03-10 Richard Biener <rguenther@suse.de>
16363
16364 PR middle-end/63155
16365 * tree-ssa-coalesce.h (verify_ssa_coalescing): Declare.
16366 * tree-ssa-coalesce.c: Include timevar.h.
16367 (attempt_coalesce): Handle graph being NULL.
16368 (coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING.
16369 Split out abnormal coalescing to ...
16370 (perform_abnormal_coalescing): ... this function.
16371 (coalesce_ssa_name): Perform abnormal coalescing without computing
16372 live/conflict.
16373 (verify_ssa_coalescing_worker): New function.
16374 (verify_ssa_coalescing): Likewise.
16375
16376 2015-03-10 Georg-Johann Lay <avr@gjlay.de>
16377
16378 PR target/65296
16379 * config.gcc (extra_options) [avr]: Remove.
16380 (extra_gcc_objs) [avr]: Use driver-avr.o, avr-devices.o.
16381 (tm_file) [avr]: Add avr/specs.h after avr/avr.h.
16382 (tm_defines) [avr-*-rtems*]: Add WITH_RTEMS.
16383
16384 * config/avr/avr.opt (config/avr/avr-arch.h): Remove include.
16385 (-mmcu=): Add Var and MissingArgError properties.
16386 (-march=): Remove.
16387 * config/avr/genmultilib.awk: Use -mmcu= instead of -march=.
16388 * config/avr/t-multilib: Regenerate.
16389 * config/avr/specs.h: New file.
16390 * config/avr/driver-avr.c: New file.
16391 * config/avr/genopt.sh: Remove file.
16392 * config/avr/avr-tables.opt: Remove file.
16393 * config/avr/predicates.md (avr_current_arch): Rename to avr_arch.
16394 * config/avr/avr-c.c: Same.
16395 * avr-arch.h: Same.
16396 (avr_current_device): Remove proto.
16397 * config/avr/avr.h (avr_current_arch): Rename to avr_arch.
16398 (AVR_HAVE_8BIT_SP): Don't depend on avr_current_device.
16399 (EXTRA_SPEC_FUNCTIONS): Define.
16400 (avr_devicespecs_file): New specs function proto.
16401 (DRIVER_SELF_SPECS): Use device-specs-file spec function.
16402 * config/avr/avr.c (avr_current_arch): Rename to avr_arch.
16403 (avr_current_device): Remove definition and usage.
16404 (avr_set_core_architecture): New static function.
16405 (avr_option_override): Use it.
16406 * config/avr/avr-devices.c (diagnostic.h, avr-arch.h): Include them.
16407 (mcu_name): New static array.
16408 (comparator, avr_archs_str, avr_mcus_str): New static functions.
16409 (avr_inform_devices, avr_inform_core_architectures): New functions.
16410 * config/avr/gen-avr-mmcu-specs.c (avr-arch.h, specs.h): Include.
16411 (avrlibc.h) [WITH_AVRLIBC]: Include.
16412 (../rtems.h, rtems.h) [WITH_RTEMS]: Include.
16413 (print_mcu): Rewrite from scratch.
16414 * config/avr/avrlibc.h (LIB_SPEC, LIBGCC_SPEC, STARTFILE_SPEC):
16415 Forward to avr-specific specs defined in device-specs file.
16416 * config/avr/t-avr (driver-avr.o): New rule.
16417 (avr-devices.o): Depend on avr-arch.h.
16418 (avr-mcus): No more depend on avr-tables.opt.
16419 (avr-tables.opt): Remove rule.
16420 (install-device-specs): Use INSTALL_DATA, not INSTALL_PROGRAM.
16421
16422 2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
16423
16424 * c-family/c.opt (fchkp-use-wrappers): New.
16425 * ipa-chkp.c (CHKP_WRAPPER_SYMBOL_PREFIX): New.
16426 (chkp_wrap_function): New.
16427 (chkp_build_instrumented_fndecl): Support wrapped
16428 functions.
16429 * doc/invoke.texi (-fcheck-pointer-bounds): New.
16430 (-fchkp-check-incomplete-type): New.
16431 (-fchkp-first-field-has-own-bounds): New.
16432 (-fchkp-narrow-bounds): New.
16433 (-fchkp-narrow-to-innermost-array): New.
16434 (-fchkp-optimize): New.
16435 (-fchkp-use-fast-string-functions): New.
16436 (-fchkp-use-nochk-string-functions): New.
16437 (-fchkp-use-static-bounds): New.
16438 (-fchkp-use-static-const-bounds): New.
16439 (-fchkp-treat-zero-dynamic-size-as-infinite): New.
16440 (-fchkp-check-read): New.
16441 (-fchkp-check-write): New.
16442 (-fchkp-store-bounds): New.
16443 (-fchkp-instrument-calls): New.
16444 (-fchkp-instrument-marked-only): New.
16445 (-fchkp-use-wrappers): New.
16446 (-static-libmpx): New.
16447 (-static-libmpxwrappers): New.
16448
16449 2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
16450
16451 * config/i386/linux-common.h (LIBMPX_WRAPPERSSPEC): New.
16452 (CHKP_SPEC): Add wrappers library.
16453 * c-family/c.opt (static-libmpxwrappers): New.
16454
16455 2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
16456
16457 * config/i386/linux-common.h (LIBMPX_LIBS): New.
16458 (LIBMPX_SPEC): New.
16459 (CHKP_SPEC): New.
16460 * gcc.c (CHKP_SPEC): New.
16461 (LINK_COMMAND_SPEC): Add CHKP_SPEC.
16462 * c-family/c.opt (static-libmpx): New.
16463
16464 2015-03-10 Richard Biener <rguenther@suse.de>
16465
16466 PR middle-end/44563
16467 * cgraph.h (struct cgraph_edge_hasher): Add hash overload
16468 for compare_type.
16469 * cgraph.c (cgraph_edge_hasher::hash): Inline htab_hash_pointer.
16470 (cgraph_update_edge_in_call_site_hash): Use cgraph_edge_hasher::hash.
16471 (cgraph_add_edge_to_call_site_hash): Likewise.
16472 (cgraph_node::get_edge): Likewise.
16473 (cgraph_edge::set_call_stmt): Likewise.
16474 (cgraph_edge::remove_caller): Likewise.
16475
16476 2015-03-10 Chung-Ju Wu <jasonwucj@gmail.com>
16477
16478 * config/nds32/nds32.h (callee_saved_regs_size): Rename to ...
16479 (callee_saved_gpr_regs_size): ... this.
16480 (callee_saved_regs_first_regno): Rename to ...
16481 (callee_saved_first_gpr_regno): ... this.
16482 (callee_saved_regs_last_regno) Rename to ...
16483 (callee_saved_last_gpr_regno): ... this.
16484 * config/nds32/nds32.c (nds32_compute_stack_frame): Adjust renamed
16485 variables.
16486 (nds32_initial_elimination_offset): Likewise.
16487 (nds32_expand_prologue): Likewise.
16488 (nds32_expand_epilogue): Likewise.
16489 (nds32_expand_prologue_v3push): Likewise.
16490 (nds32_expand_epilogue_v3pop): Likewise.
16491 * config/nds32/nds32-md-auxiliary.c (nds32_output_stack_push):
16492 Adjust renamed variables.
16493 (nds32_output_stack_pop): Likewise.
16494
16495 2015-03-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
16496
16497 * dominance.c (nearest_common_dominator_for_set): Fix A_Dominated_by_B
16498 code in comment.
16499
16500 2015-03-10 Jakub Jelinek <jakub@redhat.com>
16501
16502 PR rtl-optimization/65321
16503 * cfgexpand.c (expand_debug_expr): Ensure shift amount isn't wider
16504 than shift mode.
16505 * var-tracking.c (use_narrower_mode): Likewise.
16506
16507 2015-03-10 Jan Hubicka <hubicka@ucw.cz>
16508
16509 PR tree-optimization/65355
16510 * varasm.c (notice_global_symbol): Do not produce RTL.
16511 * symtab.c (symtab_node::can_increase_alignment_p): Check for section
16512 anchor.
16513 * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Do not
16514 check for section anchors.
16515
16516 2015-03-10 Alan Modra <amodra@gmail.com>
16517
16518 PR target/65286
16519 * config.gcc (powerpc*-*-linux*): Arrange for powerpc64le-linux
16520 to be single-arch by default. Set cpu_is_64bit for powerpc64
16521 given --with-cpu=native.
16522 * config/rs6000/t-fprules: Do not set default MULTILIB vars.
16523 * config/rs6000/t-linux (MULTIARCH_DIRNAME): Support powerpc64
16524 and powerpc64le.
16525 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Test
16526 rs6000_isa_flags rather than TARGET_64BIT.
16527
16528 2015-03-09 Yoshinori Sato <ysato@users.sourceforge.jp>
16529 Kaz Kojima <kkojima@gcc.gnu.org>
16530
16531 * config/sh/t-linux (MULTILIB_EXCEPTIONS): Define for m2a cases.
16532
16533 2015-03-09 Jakub Jelinek <jakub@redhat.com>
16534
16535 PR lto/65361
16536 * ipa-devirt.c (add_type_duplicate): Don't use DECL_CONTEXT
16537 on a TREE_BINFO, instead use BINFO_TYPE.
16538
16539 2015-03-09 Richard Biener <rguenther@suse.de>
16540
16541 PR middle-end/65270
16542 * tree-core.h (enum operand_equal_flag): Add OEP_ADDRESS_OF.
16543 * fold-const.c (operand_equal_p): When recursing for ADDR_EXPRs
16544 operand set OEP_ADDRESS_OF. Clear it when recursing to non-bases
16545 of that. When comparing dereferences compare alignment.
16546 When comparing MEM_REFs or TARGET_MEM_REFs compare dependence info.
16547
16548 2015-03-08 Jan Hubicka <hubicka@ucw.cz>
16549
16550 * ipa-inline-analysis.c (check_callers): Check
16551 node->can_remove_if_no_direct_calls_and_refs_p.
16552 (growth_likely_positive): Reorganize to call
16553 can_remove_if_no_direct_calls_p later.
16554 * cgraph.h (will_be_removed_from_program_if_no_direct_calls_p,
16555 will_be_removed_from_program_if_no_direct_calls_p): Add
16556 will_inline parameter.
16557 * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p,
16558 cgraph_node::will_be_removed_from_program_if_no_direct_calls_p):
16559 Handle inliner case correctly.
16560
16561 2015-03-09 Thomas Preud'homme <thomas.preudhomme@arm.com>
16562
16563 PR tree-optimization/63743
16564 * cfgexpand.c (reorder_operands): Also reorder if only second operand
16565 had its definition forwarded by TER.
16566
16567 2015-03-08 Jan Hubicka <hubicka@ucw.cz>
16568
16569 PR lto/65316
16570 * ipa-utils.h (types_odr_comparable): Add strict argument.
16571 * ipa-devirt.c: Fix whitespace;
16572 (odr_hasher): Remove.
16573 (odr_name_hasher, odr_vtable_hasher): New hashers.
16574 (can_be_name_hashed_p): New predicate.
16575 (hash_type_name): remove.
16576 (hash_odr_name): New.
16577 (odr_name_hasher::hash): new.
16578 (can_be_vtable_hashed_p): New.
16579 (hash_odr_vtable): New.
16580 (odr_vtable_hasher::hash): New.
16581 (types_same_for_odr): Add strict parameter.
16582 (types_odr_comparable): Likewise.
16583 (odr_name_hasher::equal): New.
16584 (odr_vtable_hasher::equal): New.
16585 (odr_name_hasher::remove): New.
16586 (odr_hash_type): Change to hash_table<odr_name_hasher>.
16587 (odr_vtable_hash_type): New.
16588 (odr_vtable_hash): New.
16589 (odr_subtypes_equivalent_p): Do strict comparsion.
16590 (add_type_duplicate): Merge type names; cleanup; avoid type
16591 duplicates.
16592 (register_odr_type): Initialize vtable hash.
16593 (build_type_inheritance_graph): Likewise
16594 (get_odr_type): Reorg to use two hashes.
16595 (dump_possible_polymorphic_call_targets): Move sanity check after debug
16596 output.
16597 (ipa_devirt): Dump type_inheritance_graph.
16598 (types_same_for_odr): Add strict mode.
16599
16600 2015-03-05 Jan Hubicka <hubicka@ucw.cz>
16601
16602 PR ipa/65334
16603 * cgraph.h (symtab_node): Add definition_alignment,
16604 can_increase_alignment_p and increase_alignment.
16605 * symtab.c (symtab_node::can_increase_alignment_p,
16606 increase_alignment_1, symtab_node::increase_alignment,
16607 symtab_node::definition_alignment): New.
16608 * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Use
16609 can_increase_alignment_p.
16610 * tree-vectorizer.c (increase_alignment): Use increase_alignment.
16611 * tree-vect-stmts.c (ensure_base_align): Likewise.
16612 * varasm.c (function_section_1): Use definition_alignment.
16613 (assemble_start_function): Likewise.
16614 (emit_local): likewise.
16615 (build_constant_desc): Likewsie.
16616 (output_constant_def_contents): Likewise.
16617 (place_block_symbol): Likewise.
16618 (output_object_block): Likewise.
16619
16620 2015-03-05 Jan Hubicka <hubicka@ucw.cz>
16621
16622 PR ipa/65316
16623 * tree.c (free_lang_data_in_type): Be sure to keep BINFO_VTABLE
16624 when outputting debug.
16625
16626 2015-03-07 Marek Polacek <polacek@redhat.com>
16627 Martin Uecker <uecker@eecs.berkeley.edu>
16628
16629 PR sanitizer/65280
16630 * doc/invoke.texi: Update description of -fsanitize=bounds.
16631
16632 2015-03-06 Wilco Dijkstra <wilco.dijkstra@arm.com>
16633
16634 * tree-ssa-phiopt.c (neg_replacement): Remove.
16635 (tree_ssa_phiopt_worker): Remove negate optimization.
16636
16637 2015-03-05 Jan Hubicka <hubicka@ucw.cz>
16638
16639 PR ipa/65302
16640 * value-prof.c (gimple_ic): Pure dead eh edges when needed.
16641
16642 2015-03-06 Richard Biener <rguenther@suse.de>
16643
16644 PR middle-end/64928
16645 * tree-ssa-live.h (struct tree_live_info_d): Add livein_obstack
16646 and liveout_obstack members.
16647 (calculate_live_on_exit): Remove.
16648 (calculate_live_ranges): Change declaration.
16649 * tree-ssa-live.c (liveness_bitmap_obstack): Remove global var.
16650 (new_tree_live_info): Adjust.
16651 (calculate_live_ranges): Delete livein when not wanted.
16652 (calculate_live_ranges): Do not initialize liveness_bitmap_obstack.
16653 Deal with partly deleted live info.
16654 (loe_visit_block): Remove temporary bitmap by using
16655 bitmap_ior_and_compl_into.
16656 (live_worklist): Adjust accordingly.
16657 (calculate_live_on_exit): Make static.
16658 * tree-ssa-coalesce.c (coalesce_ssa_name): Tell calculate_live_ranges
16659 we do not need livein.
16660
16661 2015-03-06 Jonathan Wakely <jwakely@redhat.com>
16662
16663 * real.c (real_from_string): Fix typo in assertion.
16664
16665 2015-03-06 Alex Velenko <alex.velenko@arm.com>
16666
16667 * ChangeLog (2015-03-05): Reflect Richard Henderson as actual author of
16668 the patch.
16669
16670 2015-03-05 Jan Hubicka <hubicka@ucw.cz>
16671
16672 * ipa-icf.c (sem_variable::equals_wpa): Check FINAL flags.
16673
16674 2015-03-05 Vladimir Makarov <vmakarov@redhat.com>
16675
16676 PR target/64342
16677 * lra-assigns.c (find_hard_regno_for): Rename to
16678 find_hard_regno_for_1. Add a new parameter.
16679 (find_hard_regno_for): New function using find_hard_regno_for_1.
16680
16681 2015-03-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
16682
16683 PR rtl-optimization/65067
16684 * expmed.c (store_bit_field, extract_bit_field): Reworked the
16685 strict volatile bitfield handling.
16686
16687 2015-03-05 Martin Liska <mliska@suse.cz>
16688
16689 PR ipa/65318
16690 * ipa-icf.c (sem_variable::equals): Compare variables types.
16691
16692 2015-03-05 Richard Henderson <rth@redhat.com>
16693
16694 PR target/65121
16695 * config/arm/arm.c (arm_function_in_section_p): Fix predicate to
16696 correctly check weak symbol binding.
16697
16698 2015-03-05 Steve Ellcey <sellcey@imgtec.com>
16699
16700 PR middle-end/65315
16701 * cfgexpand.c (expand_stack_vars): Update large_align to maximum
16702 needed alignment.
16703
16704 2015-03-05 Martin Liska <mliska@suse.cz>
16705
16706 * ipa-inline.c (inline_small_functions): Set default value to
16707 prevent warning during bootstrap.
16708 * tree.h: Add pragma guard that ignores false positives during
16709 bootstrap.
16710
16711 2015-03-05 Richard Biener <rguenther@suse.de>
16712
16713 PR tree-optimization/65310
16714 * tree-vect-data-refs.c (vect_compute_data_ref_alignment):
16715 Properly preserve alignment of the base of the access.
16716
16717 2015-03-05 Richard Biener <rguenther@suse.de>
16718
16719 PR ipa/65270
16720 * ipa-icf-gimple.c (func_checker::compare_memory_operand):
16721 Compare dependence info.
16722
16723 2015-03-05 Richard Biener <rguenther@suse.de>
16724
16725 PR middle-end/65233
16726 * ipa-polymorphic-call.c: Include tree-ssa-operands.h and
16727 tree-into-ssa.h.
16728 (walk_ssa_copies): Revert last chage. Instead do not walk
16729 SSA names registered for SSA update.
16730
16731 2015-03-03 Jan Hubicka <hubicka@ucw.cz>
16732
16733 PR ipa/65270
16734 * ipa-icf.c (sem_item::compare_cgraph_references): Compare
16735 vtable references for their containing type.
16736 (sem_function::equals_wpa): Compare TYPE_RESTRICT
16737 and type attributes.
16738
16739 2015-03-04 Eric Botcazou <ebotcazou@adacore.com>
16740
16741 * fold-const.c (round_up_loc): Cast divisor to signed on all paths
16742 before negating it.
16743 * stor-layout.c (finalize_record_size): Revert latest change.
16744
16745 2015-03-04 Andreas Tobler <andreast@gcc.gnu.org>
16746
16747 * config/rs6000/t-freebsd64: Remove 32-bit soft-float multilibs.
16748
16749 2015-03-03 Jan Hubicka <hubicka@ucw.cz>
16750
16751 * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p): Rewrite
16752 for correct comdat handling.
16753 (cgraph_node::will_be_removed_from_program_if_no_direct_calls_p):
16754 Likewise.
16755 * cgraph.h (call_for_symbol_and_aliases): Fix formating.
16756 (used_from_object_file_p_worker): Remove.
16757 (cgraph_node::only_called_directly_or_alised): Add
16758 used_from_object_file_p.
16759 * ipa-inline-analysis.c (growth_likely_positive): Optimie.
16760 * ipa-inline-transform.c (can_remove_node_now_p_1): Use
16761 can_remove_if_no_direct_calls_and_refs_p.
16762
16763 2015-03-04 Nick Clifton <nickc@redhat.com>
16764
16765 * config/rl78/rl78.h (enum reg_class): Remove real registers from
16766 General register class.
16767 * config/rl78/rl78-real.md: Replace general register constraints
16768 with real+virtual register constraints.
16769
16770 2015-03-04 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
16771
16772 * config/s390/s390.c (s390_expand_builtin): Exlude non-htm builtins
16773 from checking for -mhtm option.
16774
16775 2015-03-03 Jan Hubicka <hubicka@ucw.cz>
16776
16777 * tree-sra.c (convert_callers): Use call_for_symbol_and_aliases.
16778 (struct ipa_sra_check_caller_data): Add has_thunk field.
16779 (ipa_sra_check_caller): Check for thunk.
16780 (ipa_sra_preliminary_function_checks): Give up on function with
16781 thunks.
16782 (ipa_early_sra): Use call_for_symbol_and_aliases.
16783
16784 2015-03-03 Kaz Kojima <kkojima@gcc.gnu.org>
16785
16786 PR target/65249
16787 * config/sh/sh.md (symGOT_load): Use R0 reg for operands[2] when
16788 called for __stack_chk_guard symbol.
16789
16790 2015-03-03 DJ Delorie <dj@redhat.com>
16791
16792 * config/rl78/rl78-real.md (*addqi_real): Allow SADDR types for
16793 inc/dec.
16794 (*addhi3_real): Likewise.
16795 * config/rl78/rl78-virt.md (*inc<mode>3_virt): Additional
16796 pattern to match incrementing memory.
16797 * config/rl78/predicates.md (rl78_1_2_operand): New.
16798 * config/rl78/rl78.c (rl78_force_nonfar_3): Allow far mem-mem if
16799 it's the same and only mem.
16800 (rl78_alloc_physical_registers_op2): If there's effectively only
16801 one MEM, transcode it into HL.
16802 (rl78_far_p): Reject addresses that aren't legitimate.
16803
16804 2015-03-03 Eric Botcazou <ebotcazou@adacore.com>
16805
16806 * fold-const.c (round_up_loc): Cast divisor to HOST_WIDE_INT before
16807 negating it.
16808
16809 * tree-sra.c (pa_sra_preliminary_function_checks): Fix typo in message.
16810
16811 2015-03-03 Max Filippov <jcmvbkbc@gmail.com>
16812
16813 Implement call0 ABI for xtensa
16814 * config/xtensa/constraints.md ("a" constraint): Include stack
16815 pointer in case of call0 ABI.
16816 ("q" constraint): Make empty in case of call0 ABI.
16817 ("D" constraint): Include stack pointer in case of call0 ABI.
16818 * config/xtensa/xtensa-protos.h (xtensa_set_return_address,
16819 xtensa_expand_epilogue, xtensa_regno_to_class): Add new function
16820 prototypes.
16821 * config/xtensa/xtensa.c (xtensa_callee_save_size): New
16822 variable.
16823 (xtensa_regno_to_class): Make it a local variable in the
16824 function xtensa_regno_to_class.
16825 (xtensa_function_epilogue, TARGET_ASM_FUNCTION_EPILOGUE): Remove
16826 macro, function prototype and implementation.
16827 (reg_nonleaf_alloc_order): Make it a local variable in the
16828 function order_regs_for_local_alloc.
16829 (xtensa_conditional_register_usage): New function.
16830 (TARGET_CONDITIONAL_REGISTER_USAGE): Define macro.
16831 (xtensa_valid_move): Allow direct moves to stack pointer
16832 register in call0 ABI.
16833 (xtensa_setup_frame_addresses): Only spill register windows in
16834 windowed ABI.
16835 (xtensa_emit_call): Emit call(x)8 or call(x)0 in windowed and
16836 call0 ABI respectively.
16837 (xtensa_function_arg_1): Only mark a7 register for copying in
16838 windowed ABI.
16839 (xtensa_call_save_reg): New function.
16840 (compute_frame_size): Add space for callee saved register
16841 storage to the frame size in call0 ABI.
16842 (xtensa_expand_prologue): Generate code to set up stack frame
16843 and save callee-saved registers in call0 ABI.
16844 (xtensa_expand_epilogue): New function.
16845 (xtensa_set_return_address): New function.
16846 (xtensa_return_addr): Calculate return address in call0 ABI.
16847 (xtensa_builtin_saveregs): Only mark a7 register for copying and
16848 emit copying code in windowed ABI.
16849 (order_regs_for_local_alloc): Add preferred register allocation
16850 order for non-leaf function in call0 ABI.
16851 (xtensa_static_chain): Add atatic chain passing for call0 ABI.
16852 (xtensa_asm_trampoline_template): Add trampoline generation for
16853 call0 ABI.
16854 (xtensa_trampoline_init): Add trampoline initialization for
16855 call0 ABI.
16856 (xtensa_conditional_register_usage, xtensa_regno_to_class): New
16857 functions.
16858 * config/xtensa/xtensa.h (TARGET_WINDOWED_ABI): New macro.
16859 (TARGET_CPU_CPP_BUILTINS): Add built-in define for call0 ABI.
16860 (CALL_USED_REGISTERS): Modify to encode both windowed and call0
16861 ABI call-used registers.
16862 (HARD_FRAME_POINTER_REGNUM): Add frame pointer for call0 ABI.
16863 (INCOMING_REGNO, OUTGOING_REGNO): Use argument unchanged in
16864 call0 ABI.
16865 (REG_CLASS_CONTENTS): Include all registers into the preferred
16866 reload registers set, adjust the set in the
16867 xtensa_conditional_register_usage.
16868 (xtensa_regno_to_class): Drop variable declaration.
16869 (REGNO_REG_CLASS): Redefine to use xtensa_regno_to_class
16870 function.
16871 (WINDOW_SIZE): Define as 8 or 0 for windowed and call0 ABI
16872 respectively.
16873 (FUNCTION_PROFILER): Add _mcount call for call0 ABI.
16874 (TRAMPOLINE_SIZE): Define trampoline size for call0 ABI.
16875 (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 in call0 ABI.
16876 (ASM_OUTPUT_POOL_PROLOGUE): Always generate literal pool
16877 location in call0 ABI.
16878 (EH_RETURN_STACKADJ_RTX): New definition, use a10 for passing
16879 stack adjustment size when handling exception.
16880 (CRT_CALL_STATIC_FUNCTION): Add definition for call0 ABI.
16881 * config/xtensa/xtensa.md (A9_REG, UNSPECV_BLOCKAGE): New
16882 definitions.
16883 ("return" pattern): Generate ret.n/ret in call0 ABI.
16884 ("epilogue" pattern): Expand epilogue.
16885 ("nonlocal_goto" pattern): Use default in call0 ABI.
16886 ("eh_return" pattern): Move implementation to eh_set_a0_windowed,
16887 emit eh_set_a0_* depending on ABI.
16888 ("eh_set_a0_windowed" pattern): Former eh_return pattern.
16889 ("eh_set_a0_call0", "blockage"): New patterns.
16890
16891 2015-03-03 Martin Liska <mliska@suse.cz>
16892
16893 PR ipa/65287
16894 * ipa-icf.c (sem_variable::parse): Skip all alias variables.
16895
16896 2015-03-03 Michael Meissner <meissner@linux.vnet.ibm.com>
16897
16898 PR 65138/target
16899 * config/rs6000/rs6000-tables.opt: Regenerate table.
16900
16901 2015-03-03 Renlin Li <renlin.li@arm.com>
16902
16903 * doc/md.texi (@item ^): Change ? into ^.
16904
16905 2015-03-03 H.J. Lu <hongjiu.lu@intel.com>
16906
16907 * doc/tm.texi: Regenerated.
16908
16909 2015-03-03 Max Filippov <jcmvbkbc@gmail.com>
16910
16911 * builtins.c (expand_builtin_return_addr): Add
16912 RETURN_ADDR_IN_PREVIOUS_FRAME to 'if' condition, remove
16913 surrounding #ifdef.
16914 * config/sparc/sparc.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Change
16915 definition to 1.
16916 * config/xtensa/xtensa.h (RETURN_ADDR_IN_PREVIOUS_FRAME):
16917 Likewise.
16918 * defaults.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 if
16919 undefined.
16920 * doc/tm.texi.in (RETURN_ADDR_IN_PREVIOUS_FRAME): Update
16921 paragraph.
16922
16923 2015-03-03 Martin Jambor <mjambor@suse.cz>
16924 Eric Botcazou <ebotcazou@adacore.com>
16925
16926 * tree-sra.c (ipa_sra_check_caller_data): New type.
16927 (has_caller_p): Removed.
16928 (ipa_sra_check_caller): New function.
16929 (ipa_sra_preliminary_function_checks): Use it.
16930
16931 2015-03-03 Martin Liska <mliska@suse.cz>
16932
16933 * ipa-icf.c (sem_item_optimizer::merge_classes): Use bit or
16934 instead of if branch.
16935
16936 2015-03-03 Martin Liska <mliska@suse.cz>
16937
16938 PR ipa/65282
16939 * ipa-icf.c (sem_variable::equals): Fix wrong condition.
16940
16941 2015-03-23 Jeff Law <law@redhat.com>
16942
16943 PR tree-optimization/65241
16944 * tree-ssa-dom.c (lookup_avail_expr): Only modify the avail_expr
16945 hash table if INSERT is true.
16946
16947 2015-03-03 Georg-Johann Lay <avr@gjlay.de>
16948
16949 PR target/65296
16950 * config.gcc (extra_gcc_objs) [avr-*-rtems*]: Remove.
16951
16952 2015-03-03 Georg-Johann Lay <avr@gjlay.de>
16953
16954 PR target/64331
16955 * config/avr/avr.c (context.h, tree-pass.h): Include them.
16956 (avr_pass_data_recompute_notes): New static variable.
16957 (avr_pass_recompute_notes): New class.
16958 (avr_register_passes): New static function.
16959 (avr_option_override): Call it.
16960
16961 2015-03-03 Georg-Johann Lay <avr@gjlay.de>
16962
16963 Fix various problems with specs file generation.
16964
16965 PR target/65296
16966 * config.gcc (extra_gcc_objs) [avr]: Remove.
16967 * config/avr/driver-avr.c: Remove file.
16968 * config/avr/t-avr (driver-avr.o): Remove rule.
16969 (gen-avr-mmcu-specs): Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD and
16970 INCLUDES to build. Depend on TM_H.
16971 * config/avr/gen-avr-mmcu-specs.c: Tidy up code. Fix various
16972 build warnings. Fix non-matching types and non-existing %-codes.
16973 (tm.h): Include.
16974 (*lib) [!WITH_AVRLIBC]: Don't link libdev.a.
16975 (*libgcc) [WITH_AVRLIBC]: Add "-lm".
16976 * config/avr/avrlibc.h (LIBGCC_SPEC): Remove definition.
16977 * config/avr/avr.h (DRIVER_SELF_SPECS): Fix handling of -march=.
16978 (CPP_SPEC, CC1PLUS_SPEC, ASM_SPEC, LINK_SPEC, LIB_SPEC)
16979 (LIBGCC_SPEC): Remove definitions.
16980
16981 2015-03-03 Eric Botcazou <ebotcazou@adacore.com>
16982
16983 * config/ia64/ia64.c (expand_vec_perm_interleave_2): Use gen_raw_REG
16984 to create a register in testing mode.
16985
16986 2015-03-03 Martin Liska <mliska@suse.cz>
16987 Jan Hubicka <hubicka@ucw.cz>
16988
16989 PR ipa/65263
16990 * cgraph.c (cgraph_node::has_thunk_p): New function.
16991 * cgraph.h (cgraph_node::has_thunk_p: Likewise.
16992 * ipa-icf.c (redirect_all_callers): Do not redirect thunks.
16993 (sem_function::merge): Assert is changed.
16994
16995 2015-03-03 Martin Liska <mliska@suse.cz>
16996 Martin Jambor <mjambor@suse.cz>
16997
16998 PR ipa/65087
16999 * ipa-icf.c (sem_item_optimizer::execute): Change function
17000 return value to boolean.
17001 (sem_item_optimizer::merge_classes): Likewise.
17002 (ipa_icf_driver): Return TODO_remove_functions in case there's
17003 a merge operation processed.
17004 * ipa-icf.h: Change function return value to boolean.
17005
17006 2015-03-02 Michael Meissner <meissner@linux.vnet.ibm.com>
17007
17008 PR 65138/target
17009 * config/rs6000/rs6000-cpus.def (powerpc64le): Add new generic
17010 processor type for 64-bit little endian PowerPC.
17011
17012 * config/rs6000/rs6000.c (rs6000_option_override_internal): If
17013 -mdebug=reg, print TARGET_DEFAULT. Fix logic to use
17014 TARGET_DEFAULT if there is no default cpu. Fix -mdebug=reg
17015 printing built-in mask so it does not pass NULL pointers.
17016
17017 * doc/invoke.texi (IBM RS/6000 and PowerPC options): Document
17018 -mcpu=powerpc64le.
17019
17020 2015-03-02 Steve Ellcey <sellcey@imgtec.com>
17021
17022 PR target/58158
17023 * config/mips/mips.md (mov<mode>cc): Change ISA_HAS_SEL check to
17024 !ISA_HAS_FP_CONDMOVE.
17025
17026 2015-03-02 Aldy Hernandez <aldyh@redhat.com>
17027
17028 * config/i386/i386.md (*udivmod<mode>4_pow2): Remove
17029 reload_completed.
17030
17031 2015-03-02 Ulrich Drepper <drepper@gmail.com>
17032
17033 * doc/invoke.texi (Options for Code Generation Conventions):
17034 Fix URL of DSO paper.
17035
17036 2015-03-02 Jan Hubicka <hubicka@ucw.cz>
17037
17038 PR ipa/65130
17039 * ipa-inline.c (check_callers): Looks for recursion.
17040 (inline_to_all_callers): Give up on uninlinable or recursive edges.
17041 * ipa-inline-analysis.c (inline_summary_t::duplicate): Do not update
17042 summary of inline clones.
17043 (do_estimate_growth_1): Fix recursion check.
17044
17045 2015-03-02 Jan Hubicka <hubicka@ucw.cz>
17046
17047 PR ipa/64988
17048 * ipa-inline-transform.c (clone_inlined_nodes): Do not dissolve
17049 comdat groups.
17050
17051 2015-03-02 Jan Hubicka <hubicka@ucw.cz>
17052 Aldy Hernandez <aldyh@redhat.com>
17053
17054 PR lto/65276
17055 * ipa-devirt.c (add_type_duplicate): Remove odr_violated assert
17056 when checking TYPE_BINFO.
17057
17058 2015-03-02 Richard Biener <rguenther@suse.de>
17059
17060 PR ipa/65270
17061 * ipa-icf-gimple.c: Include builtins.h.
17062 (func_checker::compare_memory_operand): Compare base alignment.
17063
17064 2015-03-02 Ilya Enkovich <ilya.enkovich@intel.com>
17065
17066 PR target/65184
17067 * gcc/config/i386/i386.c (ix86_pass_by_reference) Bounds
17068 are never passed by reference.
17069
17070 2015-03-02 Ilya Enkovich <ilya.enkovich@intel.com>
17071
17072 PR target/65183
17073 * tree-chkp.c (chkp_check_lower): Don't check against
17074 zero bounds for already instrumented functions.
17075 (chkp_check_upper): Likewise.
17076 (chkp_fini): Clean pass local data to avoid wrong reusage.
17077
17078 2015-02-28 Martin Liska <mliska@suse.cz>
17079 Jan Hubicka <hubicka@ucw.cz>
17080
17081 * ipa-icf.c (sem_variable::equals): Improve debug output;
17082 get variable constructor.
17083 (sem_variable::parse): Do not filter out too early; give up on
17084 volatile and register vars.
17085 (sem_item_optimizer::filter_removed_items): Filter out nonreadonly
17086 variables.
17087 * ipa-icf.h (sem_variable::init): Do not set ctor.
17088 (sem_variable::ctor): Remove.
17089
17090 2015-03-01 Aldy Hernandez <aldyh@redhat.com>
17091
17092 PR middle-end/65233
17093 * ipa-polymorphic-call.c (walk_ssa_copies): Handle empty PHIs.
17094
17095 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
17096
17097 * ipa-icf.c: Include stor-layout.h
17098 (sem_function::compare_cgraph_references): Rename to ...
17099 (sem_item::compare_cgraph_references): ... this one.
17100 (sem_variable::equals_wpa): New function
17101 (sem_variable::equals): Do not check stuff already verified by
17102 equals_wpa.
17103 (sem_variable::equals): Reorg based on varasm.c:compare_constant.
17104 * ipa-icf.h (sem_item): Add compare_cgraph_references.
17105 (sem_function): Remove compare_cgraph_references.
17106 (sem_variable): Turns equals_wpa into non-inline.
17107
17108 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
17109
17110 * ipa-icf.c (sem_function::init): Fix formating; skip GIMPLE_PREDICT.
17111 (sem_item::add_expr): New function.
17112 (sem_function::hash_stmt): Handle operands of most statements.
17113 (sem_variable::get_hash): Hash the actual constructor.
17114 * ipa-icf.h (sem_item): Add add_expr.
17115 (sem_function): Update prototype of hash_stmt
17116
17117 2015-02-28 Martin Liska <mliska@suse.cz>
17118 Jan Hubicka <hubicka@ucw.cz>
17119
17120 PR ipa/65245
17121 * ipa-icf-gimple.c (func_checker::compare_function_decl):
17122 Remove.
17123 (func_checker::compare_variable_decl): Skip symtab vars.
17124 (func_checker::compare_cst_or_decl): Update.
17125 * ipa-icf.c (sem_function::parse): Do not consider aliases.
17126 (sem_function::compare_cgraph_references): Add ADDRESS parameter;
17127 use correct symtab predicates.
17128 (sem_function::equals_wpa): Update uses of compare_cgraph_references.
17129 (sem_variable::parse): Update comment.
17130 (sem_item_optimizer::build_graph): Consider ultimate aliases
17131 for references.
17132
17133 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
17134
17135 * ipa-icf-gimple.c (func_checker::compare_operand): Fix handling
17136 of OBJ_TYPE_REF.
17137
17138 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
17139
17140 * ipa-icf.c (sem_function::merge): Fix handling of COMDAT.
17141 (sem_variable::merge) Likewise.
17142
17143 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
17144
17145 * ipa-inline.c (can_inline_edge_p): Match opt_for_fn on inline
17146 target; also match flag_ipa_devirt.
17147
17148 2015-03-01 Martin Liska <mliska@suse.cz>
17149 Jan Hubicka <hubicka@ucw.cz>
17150
17151 * ipa-icf-gimple.c (func_checker::compare_variable_decl):
17152 Validate variable alignment.
17153 * ipa-icf.c (sem_function::equals_private): Be more precise
17154 about non-common function attributes.
17155 (sem_variable::equals): Likewise.
17156
17157 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
17158
17159 PR ipa/65237
17160 * ipa-icf.c (sem_function::merge): Do not attempt to produce alias
17161 across COMDAT group boundary.
17162
17163 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
17164
17165 PR ipa/65232
17166 * ipa-icf.c (clear_decl_rtl): New function.
17167 (sem_function::merge): Clear RTL before forming alias.
17168 (sem_variable::merge): Clear RTL before forming alias.
17169
17170 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
17171
17172 PR ipa/65236
17173 * cgraphunit.c (cgraph_node::expand_thunk): Enable return slot opt.
17174
17175 2015-02-28 Xingxing Pan <xxingpan@marvell.com>
17176
17177 * config/aarch64/aarch64.md: (mov<mode>_aarch64): Change type
17178 to neon_to_gp<q>.
17179
17180 2015-02-27 Vladimir Makarov <vmakarov@redhat.com>
17181
17182 * params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): Fix
17183 a typo in the description.
17184
17185 2015-02-27 Vladimir Makarov <vmakarov@redhat.com>
17186
17187 PR target/64317
17188 * params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): New.
17189 * params.h (LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): New.
17190 * lra-constraints.c: Include "params.h".
17191 (EBB_PROBABILITY_CUTOFF): Use
17192 LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF.
17193 (lra_inheritance): Use '<' instead of '<=' for
17194 EBB_PROBABILITY_CUTOFF.
17195 * doc/invoke.texi (lra-inheritance-ebb-probability-cutoff):
17196 Document change.
17197
17198 2015-02-27 Martin Liska <mliska@suse.cz>
17199
17200 * ipa-icf.h (struct symbol_compare_hashmap_traits): Add missing
17201 vector length condition.
17202
17203 2015-02-27 Sandra Loosemore <sandra@codesourcery.com>
17204
17205 * doc/extend.texi (x86 transactional memory intrinsics):
17206 Reorganize discussion of _xbegin. Clarify that the return
17207 value is a bit mask. Expand example and move to end of section.
17208
17209 2015-02-26 Jakub Jelinek <jakub@redhat.com>
17210 Aldy Hernandez <aldyh@redhat.com>
17211
17212 PR rtl-optimization/65220
17213 * config/i386/i386.md (*udivmod<mode>4_pow2): New.
17214
17215 2015-02-27 Vladimir Makarov <vmakarov@redhat.com>
17216
17217 PR target/65032
17218 * lra-remat.c (update_scratch_ops): New.
17219 (do_remat): Call it.
17220 * lra.c (lra_register_new_scratch_op): New. Take code from ...
17221 (remove_scratches): ... here.
17222 * lra-int.h (lra_register_new_scratch_op): New prototype.
17223
17224 2015-02-27 Marek Polacek <polacek@redhat.com>
17225
17226 PR c/65040
17227 * doc/invoke.texi: Update to reflect that -Wformat=2 doesn't enable
17228 -Wformat-signedness anymore.
17229
17230 2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
17231
17232 * config/s390/s390.c: (s390_atomic_assign_expand_fenv): New
17233 function.
17234 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define macro.
17235
17236 2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
17237
17238 * config/s390/s390.c (enum s390_builtin):
17239 Add S390_BUILTIN_S390_SFPC and S390_BUILTIN_S390_EFPC.
17240 (code_for_builtin): Add CODE_FOR_s390_sfpc and CODE_FOR_s390_efpc.
17241 (s390_init_builtins): Generate new builtin functions.
17242 * config/s390/s390.md (UNSPECV_SFPC, UNSPECV_EFPC): New constants.
17243 (s390_sfpc, s390_efpc): New pattern definitions.
17244
17245 2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
17246
17247 * config/s390/s390.c: (enum s390_builtin, s390_expand_builtin):
17248 Rename S390_BUILTIN_max to S390_BUILTIN_MAX.
17249 (s390_builtin_decls): New array.
17250 (s390_init_builtins): Put builtin decls into s390_builtin_decls.
17251 (s390_builtin_decl): New function.
17252 (TARGET_BUILTIN_DECL): Define macro.
17253
17254 2015-02-27 Richard Biener <rguenther@suse.de>
17255
17256 PR middle-end/63175
17257 * builtins.c (get_object_alignment_2): Make sure to re-apply
17258 the ANDed mask after recursing to its operand gets us a new
17259 misalignment bit position.
17260
17261 2015-02-26 Jan Hubicka <hubicka@ucw.cz>
17262 Martin Liska <mliska@suse.cz>
17263
17264 PR bootstrap/65150
17265 * ipa-icf.c (symbol_compare_collection::symbol_compare_colleciton):
17266 Use address_matters_p.
17267 (redirect_all_callers, set_addressable): New functions.
17268 (sem_function::merge): Reorganize and fix merging issues.
17269 (sem_variable::merge): Likewise.
17270 (sem_variable::compare_sections): Remove.
17271 * common.opt (fmerge-all-constants, fmerge-constants): Remove
17272 Optimization flag.
17273 * symtab.c (symtab_node::resolve_alias): When alias has aliases,
17274 redirect them.
17275 (symtab_node::make_decl_local): Set ADDRESSABLE bit when
17276 decl is used.
17277 (address_matters_1): New function.
17278 (symtab_node::address_matters_p): New function.
17279 * cgraph.c (cgraph_edge::verify_corresponds_to_fndecl): Fix
17280 check for merged flag.
17281 * cgraph.h (address_matters_p): Declare.
17282 (symtab_node::address_taken_from_non_vtable_p): Remove.
17283 (symtab_node::address_can_be_compared_p): New method.
17284 (ipa_ref::address_matters_p): Move here from ipa-ref.c; simplify.
17285 * ipa-visibility.c (symtab_node::address_taken_from_non_vtable_p):
17286 Remove.
17287 (comdat_can_be_unshared_p_1) Use address_matters_p.
17288 (update_vtable_references): Fix formating.
17289 * ipa-ref.c (ipa_ref::address_matters_p): Move inline.
17290 * cgraphunit.c (cgraph_node::create_wrapper): Drop UNINLINABLE flag.
17291 * cgraphclones.c: Preserve merged and icf_merged flags.
17292
17293 2015-02-26 Sandra Loosemore <sandra@codesourcery.com>
17294
17295 * doc/extend.texi (Function Attributes): Fix spelling and typos.
17296 (Label Attributes): Likewise.
17297 (Cilk Plus Builtins): Likewise.
17298 (ARC SIMD Built-in Functions): Likewise.
17299 (ARM C Language Extensions (ACLE)): Likewise.
17300 (PowerPC Built-in Functions): Likewise.
17301 (PowerPC Hardware Transactional Memory Built-in Functions):
17302 Likewise.
17303
17304 2015-02-26 Jakub Jelinek <jakub@redhat.com>
17305
17306 PR tree-optimization/65216
17307 * tree-ssa-reassoc.c (rewrite_expr_tree): Force creation of
17308 new stmt and new SSA_NAME for lhs whenever the arguments have
17309 changed and weren't just swapped. Fix comment typo.
17310
17311 PR tree-optimization/65215
17312 * tree-ssa-math-opts.c (find_bswap_or_nop_load): Return false
17313 for PDP endian targets.
17314 (perform_symbolic_merge, find_bswap_or_nop_1, find_bswap_or_nop):
17315 Fix up formatting issues.
17316 (bswap_replace): Likewise. For BYTES_BIG_ENDIAN, if the final access
17317 size is smaller than the original, adjust MEM_REF offset by the
17318 difference of sizes. Use is_gimple_mem_ref_addr instead of
17319 is_gimple_min_invariant test to avoid adding address temporaries.
17320
17321 2015-02-26 Martin Liska <mliska@suse.cz>
17322 Jan Hubicka <hubicka@ucw.cz>
17323
17324 PR ipa/64693
17325 * ipa-icf.c (symbol_compare_collection::symbol_compare_collection): New.
17326 (sem_item_optimizer::subdivide_classes_by_sensitive_refs): New function.
17327 (sem_item_optimizer::process_cong_reduction): Include division by
17328 sensitive references.
17329 * ipa-icf.h (struct symbol_compare_hashmap_traits): New class.
17330 * ipa-ref.c (ipa_ref::address_matters_p): New function.
17331 * ipa-ref.h (ipa_ref::address_matters_p): Likewise.
17332
17333 2015-02-26 Georg-Johann Lay <avr@gjlay.de>
17334
17335 PR target/65192
17336 * config/avr/avr-protos.h (tiny_valid_direct_memory_access_range):
17337 Remove.
17338 * config/avr/avr.c: Same.
17339 (avr_legitimate_address_p) <AVR_TINY, CONSTANT_ADDRESS_P>:
17340 Refuse any constant address not in 0..0xbf.
17341 * config/avr/avr.md (*mov<mode>, *movsf): Remove
17342 tiny_valid_direct_memory_access_range from insn conditions.
17343 (mov<mode>): Don't special-case expansion of avrtiny addresses.
17344
17345 2015-02-26 Oleg Endo <olegendo@gcc.gnu.org>
17346
17347 PR target/61142
17348 * config/sh/sh.c (sh_check_add_incdec_notes): New function.
17349 * config/sh/sh-protos.h (sh_check_add_incdec_notes): Declare it.
17350 * config/sh/predicates.md (const_logical_operand): New predicate.
17351 * config/sh/sh.md: Add new peephole2 patterns.
17352
17353 2015-02-26 Marek Polacek <polacek@redhat.com>
17354
17355 PR ipa/65008
17356 * ipa-inline.c (early_inliner): Recompute inline parameters.
17357
17358 2015-02-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
17359
17360 PR target/65171
17361 * config/rs6000/rs6000.c (rs6000_analyze_swaps): Ensure
17362 instructions with TImode operands are included in the analysis.
17363
17364 2015-02-26 Sebastian Pop <s.pop@samsung.com>
17365
17366 * tree-ssa-threadupdate.c (dump_jump_thread_path): Print all edges
17367 of an EDGE_FSM_THREAD.
17368
17369 2015-02-25 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
17370
17371 * config/rs6000/htm.md (tcheck): Fix assembly encoding.
17372
17373 2015-02-25 Aldy Hernandez <aldyh@redhat.com>
17374
17375 PR debug/46102
17376 * dwarf2out.c (dwarf2out_init): Disable -feliminate-dwarf2-dups.
17377
17378 2015-02-26 Sebastian Pop <s.pop@samsung.com>
17379
17380 PR tree-optimization/65048
17381 * tree-ssa-threadupdate.c (valid_jump_thread_path): New.
17382 (thread_through_all_blocks): Call valid_jump_thread_path.
17383 Remove invalid FSM jump-thread paths.
17384
17385 2015-02-26 Jakub Jelinek <jakub@redhat.com>
17386
17387 * passes.c (ipa_write_summaries_1): Call lto_output_init_mode_table.
17388 (ipa_write_optimization_summaries): Likewise.
17389 * tree-streamer.h: Include data-streamer.h.
17390 (streamer_mode_table): Declare extern variable.
17391 (bp_pack_machine_mode, bp_unpack_machine_mode): New inline functions.
17392 * lto-streamer-out.c (lto_output_init_mode_table,
17393 lto_write_mode_table): New functions.
17394 (produce_asm_for_decls): Call lto_write_mode_table when streaming
17395 offloading LTO.
17396 * lto-section-in.c (lto_section_name): Add "mode_table" entry.
17397 (lto_create_simple_input_block): Add mode_table argument to the
17398 lto_input_block constructors.
17399 * ipa-prop.c (ipa_prop_read_section, read_replacements_section):
17400 Likewise.
17401 * data-streamer-in.c (string_for_index): Likewise.
17402 * ipa-inline-analysis.c (inline_read_section): Likewise.
17403 * ipa-icf.c (sem_item_optimizer::read_section): Likewise.
17404 * lto-cgraph.c (input_cgraph_opt_section): Likewise.
17405 * lto-streamer-in.c (lto_read_body_or_constructor,
17406 lto_input_toplevel_asms): Likewise.
17407 (lto_input_mode_table): New function.
17408 * tree-streamer-out.c (pack_ts_fixed_cst_value_fields,
17409 pack_ts_decl_common_value_fields, pack_ts_type_common_value_fields):
17410 Use bp_pack_machine_mode.
17411 * real.h (struct real_format): Add name field.
17412 * lto-streamer.h (enum lto_section_type): Add LTO_section_mode_table.
17413 (class lto_input_block): Add mode_table member.
17414 (lto_input_block::lto_input_block): Add mode_table_ argument,
17415 initialize mode_table.
17416 (struct lto_file_decl_data): Add mode_table field.
17417 (lto_input_mode_table, lto_output_init_mode_table): New prototypes.
17418 * tree-streamer-in.c (unpack_ts_fixed_cst_value_fields,
17419 unpack_ts_decl_common_value_fields,
17420 unpack_ts_type_common_value_fields): Call bp_unpack_machine_mode.
17421 * tree-streamer.c (streamer_mode_table): New variable.
17422 * real.c (ieee_single_format, mips_single_format,
17423 motorola_single_format, spu_single_format, ieee_double_format,
17424 mips_double_format, motorola_double_format,
17425 ieee_extended_motorola_format, ieee_extended_intel_96_format,
17426 ieee_extended_intel_128_format, ieee_extended_intel_96_round_53_format,
17427 ibm_extended_format, mips_extended_format, ieee_quad_format,
17428 mips_quad_format, vax_f_format, vax_d_format, vax_g_format,
17429 decimal_single_format, decimal_double_format, decimal_quad_format,
17430 ieee_half_format, arm_half_format, real_internal_format): Add name
17431 field.
17432 * config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Likewise.
17433
17434 2015-02-26 Yuri Rumyantsev <ysrumyan@gmail.com>
17435
17436 PR target/65161
17437 * config/i386/i386.c (ix86_sched_reorder): Skip instruction
17438 reordering for selective scheduling.
17439
17440 2015-02-26 Terry Guo <terry.guo@arm.com>
17441
17442 * config/arm/arm-cores.def (cortex-m7): Add flag FL_NO_VOLATILE_CE.
17443 * config/arm/arm-protos.h (FL_NO_VOLATILE_CE): New flag.
17444 (arm_arch_no_volatile_ce): Declare new global variable.
17445 * config/arm/arm.c (arm_arch_no_volatile_ce): New global variable.
17446 (arm_option_override): Assign value to arm_arch_no_volatile_ce.
17447 * config/arm/arm.h (arm_arch_no_volatile_ce): Declare it.
17448 (TARGET_NO_VOLATILE_CE): New macro.
17449 * config/arm/arm.md (arm_comparison_operator): Disabled if not allow
17450 volatile memory access in IT block
17451
17452 2015-02-25 Kai Tietz <ktietz@redhat.com>
17453
17454 PR tree-optimization/61917
17455 * tree-vect-loop.c (vectorizable_reduction): Handle obvious case
17456 that reduc_def_stmt is null.
17457
17458 2015-02-25 Martin Liska <mliska@suse.cz>
17459
17460 * ipa-icf-gimple.c (func_checker::compare_variable_decl): Compare
17461 hard register variables.
17462
17463 2015-02-25 Kai Tietz <ktietz@redhat.com>
17464
17465 PR target/64212
17466 * symtab.c (symtab::make_decl_local): Set DECL_IMPORT_P explicit to 0.
17467 (symtab::noninterposable_alias): Likewise.
17468
17469 2015-02-25 Ilya Enkovich <ilya.enkovich@intel.com>
17470
17471 PR target/65167
17472 * gcc/config/i386/i386.c (ix86_function_arg_regno_p): Support
17473 bounds registers.
17474 (avoid_func_arg_motion): Add dependencies for BNDSTX insns.
17475
17476 2015-02-25 Alan Lawrence <alan.lawrence@arm.com>
17477
17478 PR target/64997
17479 * config/aarch64/aarch64.md (*xor_one_cmpl<mode>3): Use FP_REGNUM_P
17480 as split condition; force split via '#' in output pattern.
17481
17482 2015-02-25 Richard Biener <rguenther@suse.de>
17483 Kai Tietz <ktietz@redhat.com>
17484
17485 PR tree-optimization/61917
17486 * tree-vect-loop.c (vectorizable_reduction): Allow
17487 vect_internal_def without reduction to exit graceful.
17488
17489 2015-02-25 Georg-Johann Lay <avr@gjlay.de>
17490
17491 PR target/65196
17492 * config/avr/avr.c (avr_adjust_insn_length): Call recog_memoized
17493 only with NONDEBUG_INSN_P.
17494
17495 2015-02-25 Georg-Johann Lay <avr@gjlay.de>
17496
17497 Use variadic macros with avr-log.c.
17498
17499 * config/avr/avr-protos.h (avr_vdump): New prototype.
17500 (avr_log_set_caller_e, avr_log_set_caller_f): Remove protos.
17501 (avr_edump, avr_fdump, avr_dump): (Re)define to use avr_vdump.
17502 * config/avr/avr-log.c: Adjust comments.
17503 (avr_vdump): New function.
17504 (avr_vadump): Pass caller as 2nd argument instead of format string.
17505 (avr_log_caller, avr_log_fdump_e, avr_log_fdump_f)
17506 (avr_log_set_caller_e, avr_log_set_caller_f): Remove.
17507
17508 2015-02-25 Jakub Jelinek <jakub@redhat.com>
17509
17510 PR lto/64374
17511 * target.def (target_option_stream_in): New target hook.
17512 * tree-streamer-in.c (streamer_read_tree_bitfields): Invoke
17513 targetm.target_option.post_stream_in if non-NULL.
17514 * doc/tm.texi.in: Add @hook TARGET_OPTION_POST_STREAM_IN.
17515 * doc/tm.texi: Updated.
17516 * config/i386/i386.c (ix86_function_specific_post_stream_in): New
17517 function.
17518 (TARGET_OPTION_POST_STREAM_IN): Redefine.
17519
17520 2015-02-24 Jeff Law <law@redhat.com>
17521
17522 PR target/65117
17523 * config/xtensa/xtensa.md (zero_cost_loop_start): Reverse numbering
17524 of operand 0 and operand 2.
17525 (zero_cost_loop_end, loop_end): Similarly.
17526
17527 2015-02-24 Aldy Hernandez <aldyh@redhat.com>
17528
17529 * gimple.h (gimple_build_assign): Rename CXX_MEM_STAT_DECL to
17530 CXX_MEM_STAT_INFO.
17531
17532 2015-02-24 DJ Delorie <dj@redhat.com>
17533
17534 * config/rl78/rl78-protos.h (rl78_split_movsi): Accept a mode as well.
17535 * config/rl78/rl78-expand.md (movsf): New, same as movsi.
17536 * config/rl78/rl78.c (rl78_split_movsi): Accept a mode, use it
17537 instead of hardcoding SImode.
17538
17539 2015-02-24 Bernd Schmidt <bernds@codesourcery.com>
17540
17541 * omp-low.c (create_omp_child_function): Tag entrypoint
17542 functions with a special attribute.
17543
17544 2015-02-24 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
17545
17546 PR target/65058
17547 * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Drop unused variable.
17548
17549 2015-02-24 Vladimir Makarov <vmakarov@redhat.com>
17550
17551 PR rtl-optimization/65123
17552 * lra-remat.c (operand_to_remat): Check hard regs in insn
17553 definition too.
17554
17555 2015-02-24 Nick Clifton <nickc@redhat.com>
17556
17557 * config/v850/v850.h (ASM_SPEC): Pass -msoft-float/-mhard-float on
17558 to the assembler.
17559
17560 2015-02-24 Thomas Schwinge <thomas@codesourcery.com>
17561
17562 PR libgomp/64625
17563 * omp-builtins.def (BUILT_IN_GOACC_DATA_START): Specify as
17564 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR, not
17565 BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR.
17566 (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_UPDATE): Specify as
17567 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR, not
17568 BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR.
17569 (BUILT_IN_GOACC_PARALLEL): Specify as
17570 BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR, not
17571 BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR.
17572 * builtin-types.def
17573 (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
17574 (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
17575 Remove function types.
17576 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR)
17577 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR)
17578 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
17579 New function types.
17580
17581 2015-02-24 Georg-Johann Lay <avr@gjlay.de>
17582
17583 * config/avr/stdfix.h [__WITH_AVRLIBC__]: Include <stdfix-avrlibc.h>.
17584
17585 2015-02-24 Jakub Jelinek <jakub@redhat.com>
17586
17587 PR tree-optimization/65170
17588 * wide-int.cc (wi::mul_internal): For the umul_ppmm optimization,
17589 if val[1] < 0, clear also val[2] and return 3.
17590
17591 2015-02-24 Alan Modra <amodra@gmail.com>
17592
17593 PR target/65172
17594 * config/rs6000/rs6000.c (get_memref_parts): Only return true
17595 when *base is a reg. Handle nested plus addresses. Simplify
17596 pre_modify test.
17597
17598 2015-02-22 Max Filippov <jcmvbkbc@gmail.com>
17599
17600 * config/xtensa/xtensa.h (CONSTANT_ALIGNMENT, DATA_ALIGNMENT):
17601 use natural alignment when optimizing for size.
17602
17603 2015-02-23 Kaz Kojima <kkojima@gcc.gnu.org>
17604
17605 PR target/65153
17606 * config/sh/sh.md (movsicc_true+3): Remove peephole.
17607 * config/sh/sh-protos.h (replace_n_hard_rtx): Don't declare.
17608 * config/sh/sh.c (replace_n_hard_rtx): Remove.
17609
17610 2015-02-23 Richard Sandiford <richard.sandiford@arm.com>
17611
17612 PR fortran/63427
17613 * wide-int.cc (wi::from_mpz): Cope with unwrapped values that are
17614 too big for a wide_int. Implement missing wrapping operation.
17615
17616 2015-02-23 Oleg Endo <olegendo@gcc.gnu.org>
17617
17618 PR target/65163
17619 * config/sh/sh.md (swapbsi2, related peephole2): Use const_int -65536
17620 instead of const_int 4294901760.
17621
17622 2015-02-23 Georg-Johann Lay <avr@gjlay.de>
17623
17624 * config/avr/t-avr: Fix typo in comment.
17625
17626 2015-02-21 Richard Sandiford <richard.sandiford@arm.com>
17627
17628 * doc/rtl.texi (fma): Clarify documentation.
17629
17630 2015-02-20 Aldy Hernandez <aldyh@redhat.com>
17631
17632 PR debug/58123
17633 * gimplify.c (gimplify_expr): Prefer location of TRY_FINALLY_EXPR
17634 over input_location.
17635
17636 2015-02-20 Bernd Schmidt <bernds@codesourcery.com>
17637
17638 * tree-streamer-in.c (unpack_ts_decl_common_value_fields,
17639 unpack_ts_type_common_value_fields): If ACCEL_COMPILER,
17640 restrict alignments to absolute_biggest_alignment.
17641 * config/i386/i386.c (TARGET_ABSOLUTE_BIGGEST_ALIGNMENT):
17642 Define.
17643 * doc/tm.texi.in (TARGET_ABSOLUTE_BIGGEST_ALIGNMENT): Add.
17644 * doc/tm.texi: Regenerate.
17645 * target.def (absolute_biggest_alignment): New DEFHOOKPOD.
17646
17647 2015-02-20 Vladimir Makarov <vmakarov@redhat.com>
17648
17649 PR target/64172
17650 * ira-color.c (color_pass): Prevent splitting multi-register pseudos.
17651
17652 2015-02-20 Richard Biener <rguenther@suse.de>
17653
17654 PR tree-optimization/65136
17655 * tree-ssa-propagate.c: Include cfgloop.h.
17656 (replace_phi_args_in): Avoid replacing loop latch edge PHI
17657 arguments with constants.
17658
17659 2015-02-20 Jakub Jelinek <jakub@redhat.com>
17660 Martin Liska <mliska@suse.cz>
17661
17662 PR target/63892
17663 * ipa-icf.c (sem_function::merge): If DECL_COMDAT_GROUP (alias->decl),
17664 don't try to create_thunk if stdarg_p. If
17665 !sem_item::target_supports_symbol_aliases_p (), similarly, and try to
17666 redirect_callers if possible.
17667 (sem_item_optimizer::execute): Call unregister_hooks here...
17668 (ipa_icf_driver): ... instead of here.
17669
17670 2015-02-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
17671
17672 * config/aarch64/aarch64.md (*aarch64_lshr_sisd_or_int_<mode>3):
17673 Mark operand 0 as earlyclobber in 2nd alternative.
17674 (1st define_split below *aarch64_lshr_sisd_or_int_<mode>3):
17675 Write negated shift amount into QI lowpart operand 0 and use it
17676 in the shift step.
17677 (2nd define_split below *aarch64_lshr_sisd_or_int_<mode>3): Likewise.
17678
17679 2015-02-20 Bernd Schmidt <bernds@codesourcery.com>
17680
17681 * cgraph.h (clone_function_name_1): Declare.
17682 * cgraphclones.c (clone_function_name_1): New function.
17683 (clone_function_name): Use it.
17684 * lto-partition.c: Include "stringpool.h".
17685 (must_not_rename, maybe_rewrite_identifier)
17686 (validize_symbol_for_target): New static functions.
17687 (privatize_symbol_name): Use must_not_rename.
17688 (promote_symbol): Call validize_symbol_for_target.
17689 (lto_promote_cross_file_statics): Likewise.
17690 (lto_promote_statics_nonwpa): Likewise.
17691
17692 2015-02-20 Georg-Johann Lay <avr@gjlay.de>
17693
17694 PR target/64452
17695 * config/avr/avr.md (pushhi_insn): New insn.
17696 (push<mode>1): Push virtual regs in one chunk using pushhi1_insn.
17697
17698 2015-02-20 Bernd Schmidt <bernds@codesourcery.com>
17699 Jakub Jelinek <jakub@redhat.com>
17700
17701 * tree-streamer.c (preload_common_nodes): Don't preload
17702 TI_VA_LIST* for offloading.
17703 * tree-stdarg.c (pass_stdarg::gate): Disable for ACCEL_COMPILER
17704 in_lto_p.
17705
17706 2015-02-19 John David Anglin <danlgin@gcc.gnu.org>
17707
17708 * config/pa/pa.c (pa_emit_move_sequence): Always force
17709 (const (plus (symbol) (const_int))) to const mem. Put REG_EQUAL
17710 note on insn.
17711
17712 * config/pa/pa.c (pa_reloc_rw_mask): New function.
17713 (TARGET_ASM_RELOC_RW_MASK): Define.
17714 (pa_cannot_force_const_mem): Revert previous change.
17715
17716 2015-02-19 Martin Jambor <mjmabor@suse.cz>
17717 Jan Hubicka <hubicka@ucw.cz>
17718
17719 PR ipa/65028
17720 * ipa-cp.c (propagate_alignment_accross_jump_function): Fix propagation
17721 across jump functions.
17722
17723 2015-02-19 Uros Bizjak <ubizjak@gmail.com>
17724
17725 * config/alpha/alpha.c (alpha_in_small_data_p): Reject common symbols.
17726
17727 2015-02-19 Sandra Loosemore <sandra@codesourcery.com>
17728
17729 * doc/extend.texi (x86 transactional memory intrinsics): Copy-edit.
17730
17731 2015-02-19 Richard Henderson <rth@redhat.com>
17732
17733 PR middle-end/65074
17734 * varasm.c (default_binds_local_p_2): Don't test node->definition;
17735 test DECL_EXTERNAL independent of symtab_node.
17736
17737 2015-02-19 Jakub Jelinek <jakub@redhat.com>
17738
17739 PR lto/65012
17740 * varpool.c (varpool_node::get_constructor): Return early
17741 if this->lto_file_data is NULL.
17742
17743 2015-02-19 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
17744
17745 * haifa-sched.c (enum rfs_decision, rfs_str): Remove RFS_DEBUG.
17746 (rank_for_schedule_debug): Update.
17747 (ready_sort): Make static. Move sorting logic to ...
17748 (ready_sort_debug, ready_sort_real): New static functions.
17749 (schedule_block): Sort both debug insns and real insns in preparation
17750 for ready list trimming. Improve debug output.
17751 * sched-int.h (ready_sort): Remove global declaration.
17752
17753 2015-02-18 Trevor Saunders <tsaunders@mozilla.com>
17754
17755 * ipa-icf.c (sem_function::equals_private): Adjust.
17756 (sem_function::bb_dict_test): Take a vec<int> * instead of
17757 auto_vec<int>.
17758 * ipa-icf.h (bb_dict_test): Likewise.
17759
17760 2015-02-18 Jakub Jelinek <jakub@redhat.com>
17761
17762 PR gcov-profile/64634
17763 * tree-eh.c (frob_into_branch_around): Fix up typos
17764 in function comment.
17765 (lower_catch): Put eh_seq resulting from EH lowering of
17766 the cleanup sequence after the cleanup rather than before it.
17767
17768 2015-02-18 Tom de Vries <tom@codesourcery.com>
17769
17770 * common.opt (fstdarg-opt): New option.
17771 * tree-stdarg.c (pass_stdarg::gate): Use flag_stdarg_opt.
17772 * doc/invoke.texi (@item Optimization Options): Add -fstdarg-opt.
17773 (@item -fstdarg-opt): New item.
17774
17775 2015-02-18 H.J. Lu <hongjiu.lu@intel.com>
17776
17777 PR target/65064
17778 * config/ia64/predicates.md (sdata_symbolic_operand): Return false
17779 for common symbols.
17780
17781 2015-02-18 Jakub Jelinek <jakub@redhat.com>
17782
17783 * config/i386/t-intelmic (mkoffload.o): Remove dependency on
17784 insn-modes.h.
17785 (ALL_HOST_OBJS): Add mkoffload.o.
17786 * config/nvptx/t-nvptx (ALL_HOST_OBJS): Likewise.
17787
17788 2015-02-18 Jan Hubicka <hubicka@ucw.cz>
17789
17790 * ipa-devirt.c (odr_subtypes_equivalent_p): Fix formating.
17791 (compare_virtual_tables): Be smarter about skipping typeinfos;
17792 do sane output on virtual table table mismatch.
17793 (warn_odr): Be ready for forward declarations of enums;
17794 output sane info on base mismatch and virtual table mismatch.
17795 (add_type_duplicate): Fix code choosing prevailing type; do not ICE
17796 when only one type is polymorphic.
17797 (get_odr_type): Fix hashtable corruption.
17798 (dump_odr_type): Dump mangled names.
17799
17800 2015-02-18 Richard Biener <rguenther@suse.de>
17801
17802 PR tree-optimization/65063
17803 * tree-predcom.c (determine_unroll_factor): Return 1 if we
17804 have replaced looparound PHIs.
17805
17806 2015-02-18 Martin Liska <mliska@suse.cz>
17807
17808 * lto-streamer.c (lto_streamer_init): Encapsulate
17809 streamer_check_handled_ts_structures with checking macro.
17810
17811 2015-02-18 Jakub Jelinek <jakub@redhat.com>
17812
17813 PR ipa/65087
17814 * cgraphclones.c (cgraph_node::create_virtual_clone): Only copy
17815 section if !implicit_section.
17816 (cgraph_node::create_version_clone_with_body): Likewise.
17817 * trans-mem.c (ipa_tm_create_version): Likewise.
17818
17819 2015-02-18 Richard Biener <rguenther@suse.de>
17820
17821 PR tree-optimization/62217
17822 * tree-ssa-dom.c (cprop_operand): Avoid propagating copies
17823 into BIVs.
17824
17825 2015-02-18 Marek Polacek <polacek@redhat.com>
17826
17827 PR sanitizer/65081
17828 * ubsan.c (OBJSZ_MAX_OFFSET): Define.
17829 (ubsan_expand_objsize_ifn): Don't emit run-time check if the offset
17830 is in range [-16K, -1]. Don't issue run-time error if
17831 (ptr > ptr + offset).
17832
17833 2015-02-18 Thomas Schwinge <thomas@codesourcery.com>
17834
17835 * doc/install.texi (nvptx-*-none): New section.
17836 * doc/invoke.texi (Nvidia PTX Options): Likewise.
17837 * config/nvptx/nvptx.opt: Update.
17838
17839 * config/nvptx/mkoffload.c (parse_env_var, free_array_of_ptrs)
17840 (access_check): New functions, copied from
17841 config/i386/intelmic-mkoffload.c.
17842 (main): For non-installed testing, look in all COMPILER_PATHs for
17843 GCC_INSTALL_NAME.
17844
17845 * config/nvptx/nvptx.h (GOMP_SELF_SPECS): Define macro.
17846
17847 2015-02-18 Andrew Pinski <apinski@cavium.com>
17848 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
17849
17850 * config/aarch64/aarch64.c (*aarch64_load_symref_appropriately):
17851 Check whether the destination of SYMBOL_SMALL_TPREL is Pmode.
17852
17853 2015-02-17 Jan Hubicka <hubicka@ucw.cz>
17854
17855 * ipa-visibility.c (function_and_variable_visibility): Only
17856 check locality if node is not already local.
17857 * ipa-inline.c (want_inline_function_to_all_callers_p): Use
17858 call_for_symbol_and_aliases instead of
17859 call_for_symbol_thunks_and_aliases.
17860 (ipa_inline): Likewise.
17861 * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
17862 first walk aliases.
17863 * ipa.c (symbol_table::remove_unreachable_nodes): Use
17864 call_for_symbol_and_aliases.
17865 * ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol.
17866 (ipa_propagate_frequency_1): Use it; use opt_for_fn
17867 (ipa_propagate_frequency): Update.
17868 (ipa_profile): Add opt_for_fn gueards.
17869
17870 2015-02-17 Oleg Endo <olegendo@gcc.gnu.org>
17871
17872 * config/sh/sh.opt (mcbranch-force-delay-slot): New option.
17873 * doc/invoke.texi (SH options): Document it.
17874 * config/sh/sh.c (sh_insn_length_adjustment): Check
17875 TARGET_CBRANCH_FORCE_DELAY_SLOT instead of sh_cpu_attr == CPU_SH2E.
17876
17877 2015-02-17 H.J. Lu <hongjiu.lu@intel.com>
17878
17879 * common.opt (fipa-cp-alignment): New.
17880 * ipa-cp.c (ipcp_store_alignment_results): Check
17881 flag_ipa_cp_alignment.
17882 * opts.c (default_options_table): Enable -fipa-cp-alignment for
17883 -O2.
17884 (enable_fdo_optimizations): Set x_flag_ipa_cp_alignment.
17885 * doc/invoke.texi: Document -fipa-cp-alignment.
17886
17887 2015-02-17 Oleg Endo <olegendo@gcc.gnu.org>
17888
17889 PR target/64793
17890 * config/sh/sh.md (cbranch define_delay): Set annulled true branch insn
17891 to nil. Adjust comments.
17892
17893 2015-02-17 Jan Hubicka <hubicka@ucw.cz>
17894
17895 * ipa-visibility.c (function_and_variable_visibility): Only
17896 check locality if node is not already local.
17897 * ipa-inline.c (want_inline_function_to_all_callers_p): Use
17898 call_for_symbol_and_aliases instead of
17899 call_for_symbol_thunks_and_aliases.
17900 (ipa_inline): Likewise.
17901 * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
17902 first walk aliases.
17903 * ipa.c (symbol_table::remove_unreachable_nodes): Use
17904 call_for_symbol_and_aliases.
17905 * ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol.
17906 (ipa_propagate_frequency_1): Use it; use opt_for_fn
17907 (ipa_propagate_frequency): Update.
17908 (ipa_profile): Add opt_for_fn guards.
17909
17910 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
17911
17912 * config/nvptx/mkoffload.c (parse_file): Fix logic error in
17913 skipping of "strange" tokens.
17914
17915 2015-02-17 Jeff Law <law@redhat.com>
17916
17917 * tree-vrp.c (identify_jump_threads): Use last_stmt. Remove
17918 obsolete comment.
17919
17920 2015-02-17 James Greenhalgh <james.greenhalgh@arm.com>
17921
17922 * haifa-sched.c (recompute_todo_spec): Treat SCHED_GROUP_P
17923 as forcing a HARD_DEP between instructions, thereby
17924 disallowing rewriting to break dependencies.
17925
17926 2015-02-16 Jan Hubicka <hubicka@ucw.cz>
17927
17928 * symtab.c (symtab_node::verify_base): Verify body_removed->!definiton
17929 * lto-cgraph.c (lto_output_varpool_node): Do not keep definition of
17930 variables in boundary that have no inlitalizer encoded and are
17931 not aliases.
17932 * varasm.c (default_binds_local_p_2): External definitions do not
17933 count as definitions here.
17934
17935 2015-02-16 Jeff Law <law@redhat.com>
17936
17937 PR tree-optimization/64823
17938 * tree-vrp.c (identify_jump_threads): Handle blocks with no real
17939 statements.
17940 * tree-ssa-threadedge.c (potentially_threadable_block): Allow
17941 threading through blocks with PHIs, but no statements.
17942 (thread_through_normal_block): Distinguish between blocks where
17943 we did not process all the statements and blocks with no statements.
17944
17945 2015-02-16 Jakub Jelinek <jakub@redhat.com>
17946 James Greenhalgh <james.greenhalgh@arm.com>
17947
17948 PR ipa/64963
17949 * cgraphclones.c (cgraph_node::create_virtual_clone): Copy
17950 section if not linkonce. Fix up formatting.
17951 (cgraph_node::create_version_clone_with_body): Copy section.
17952 * trans-mem.c (ipa_tm_create_version): Likewise.
17953
17954 2015-02-16 Richard Biener <rguenther@suse.de>
17955
17956 PR tree-optimization/65077
17957 * tree-ssa-structalias.c (get_constraint_for_1): Handle
17958 IMAGPART_EXPR, REALPART_EXPR and BIT_FIELD_REF.
17959 (find_func_aliases): Allow float values to carry pointers again.
17960
17961 2015-02-16 James Greenhalgh <james.greenhalgh@arm.com>
17962
17963 * doc/install.texi (Specific): Reorder targets list to put
17964 aarch64 in alphabetical order. Add a link to aarch64*-*-*
17965 from the top menu.
17966
17967 2015-02-16 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
17968 David Edelsohn <dje.gcc@gmail.com>
17969
17970 PR target/65058
17971 * config/rs6000/rs6000.c (rs6000_output_symbol_ref): Append storage
17972 mapping class to external variable or function reference.
17973 * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Do not append storage
17974 mapping class.
17975
17976 2015-02-16 David Eelsohn <dje.gcc@gmail.com>
17977
17978 PR target/53348
17979 * config/rs6000/rs6000.c (rs6000_declare_alias): Only use
17980 ASM_WEAKEN_DECL if defined.
17981
17982 2015-02-16 Richard Biener <rguenther@suse.de>
17983
17984 PR lto/65015
17985 * varasm.c (default_file_start): For LTO produced units
17986 emit <artificial> as file directive.
17987
17988 2015-02-16 Richard Biener <rguenther@suse.de>
17989
17990 PR tree-optimization/63593
17991 * tree-predcom.c (execute_pred_commoning_chain): Delay removing
17992 stmts and releasing SSA names until...
17993 (execute_pred_commoning): ... after processing all chains.
17994
17995 2015-02-16 Jan Hubicka <hubicka@ucw.cz>
17996
17997 PR ipa/65059
17998 * ipa-comdats.c (ipa_comdats): Do not categorize thunks to
17999 external functions.
18000
18001 2015-02-15 Sandra Loosemore <sandra@codesourcery.com>
18002
18003 * doc/bugreport.texi: Adjust section titles throughout the file
18004 to use "Title Case".
18005 * doc/extend.texi: Likewise.
18006 * doc/gcov.texi: Likewise.
18007 * doc/implement-c.texi: Likewise.
18008 * doc/implement-cxx.texi: Likewise.
18009 * doc/invoke.texi: Likewise.
18010 * doc/objc.texi: Likewise.
18011 * doc/standards.texi: Likewise.
18012 * doc/trouble.texi: Likewise.
18013
18014 2015-02-15 Jan Hubicka <hubicka@ucw.cz>
18015
18016 * cgraph.h (symtab_node::has_aliases_p): Simplify.
18017 (symtab_node::call_for_symbol_and_aliases): Use has_aliases_p
18018 * tree.c (lookup_binfo_at_offset): Make static.
18019 (get_binfo_at_offset): Do not shadow offset; add explanatory
18020 comment.
18021
18022 2015-02-15 John David Anglin <danglin@gcc.gnu.org>
18023
18024 * config/pa/pa.c (pa_secondary_reload): Request a secondary reload
18025 for all floading point loads and stores except those using a register
18026 index address.
18027 * config/pa/pa.md: Add new patterns to load a lo_sum DLT operand
18028 to a register.
18029
18030 2015-02-14 Jan Hubicka <hubicka@ucw.cz>
18031
18032 * ipa-inline-analysis.c (growth_data): Add uninlinable field.
18033 (do_estimate_growth_1): Record if any uninlinable edge was seen.
18034 (estimate_growth): Handle uninlinable edges correctly.
18035 (check_callers): New.
18036 (growth_likely_positive): Handle aliases correctly.
18037
18038 2015-02-14 Jan Hubicka <hubicka@ucw.cz>
18039
18040 * ipa-chkp.c: Use iterate_direct_aliases.
18041 * symtab.c (resolution_used_from_other_file_p): Move inline.
18042 (symtab_node::create_reference): Fix formating.
18043 (symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases.
18044 (symtab_node::iterate_reference): Move inline.
18045 (symtab_node::iterate_referring): Move inline.
18046 (symtab_node::iterate_direct_aliases): Move inline.
18047 (symtab_node::used_from_object_file_p_worker): Inline into ...
18048 (symtab_node::used_from_object_file_p): ... this one; move inline.
18049 (symtab_node::call_for_symbol_and_aliases): Move inline;
18050 use iterate_direct_aliases.
18051 (symtab_node::call_for_symbol_and_aliases_1): New method.
18052 (cgraph_node::call_for_symbol_and_aliases): Move inline;
18053 use iterate_direct_aliases.
18054 (cgraph_node::call_for_symbol_and_aliases_1): New method.
18055 (varpool_node::call_for_node_and_aliases): Rename to ...
18056 (varpool_node::call_for_symbol_and_aliases): ... this one; Move inline;
18057 use iterate_direct_aliases.
18058 (varpool_node::call_for_symbol_and_aliases_1): New method.
18059 * ipa.c (ipa_single_use): Use iterate_direct_aliases.
18060 (ipa_discover_readonly_nonaddressable_var): Update.
18061 * ipa-devirt.c: Fix formating.
18062 * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_and_refs_p):
18063 Move inline.
18064 (cgraph_node::call_for_symbol_and_aliases): Move inline.
18065 (cgraph_node::call_for_symbol_and_aliases_1): New function..
18066 * cgraph.h (used_from_object_file_p_worker): Remove.
18067 (resolution_used_from_other_file_p): Move inline.
18068 (symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases.
18069 (symtab_node::iterate_reference): Move inline.
18070 (symtab_node::iterate_referring): Move inline.
18071 (symtab_node::iterate_direct_aliases): Move inline.
18072 (symtab_node::used_from_object_file_p_worker): Inline into ...
18073 (symtab_node::used_from_object_file_p): Move inline.
18074 * tree-emutls.c (ipa_lower_emutls): Update.
18075 * varpool.c (varpool_node::call_for_symbol_and_aliases_1): New method.
18076 (varpool_node::call_for_node_and_aliases): Remove.
18077
18078 2015-02-14 Jakub Jelinek <jakub@redhat.com>
18079
18080 PR tree-optimization/62209
18081 * tree-ssa-reassoc.c (update_range_test): If stmt is a PHI and
18082 op == range->exp, insert seq and gimplified code after labels
18083 instead of after the phi.
18084
18085 2015-02-13 Jeff Law <law@redhat.com>
18086
18087 PR bootstrap/65060
18088 Revert my change for tree-optimization/64823.
18089
18090 2015-02-13 Jakub Jelinek <jakub@redhat.com>
18091
18092 PR tree-optimization/65053
18093 * tree-ssa-phiopt.c (value_replacement): When moving assign before
18094 cond, either reset VR on lhs or set it to phi result VR.
18095
18096 2015-02-13 Jeff Law <law@redhat.com>
18097
18098 PR tree-optimization/64823
18099 * tree-vrp.c (identify_jump_threads): Handle blocks with no statements.
18100 * tree-ssa-threadedge.c (potentially_threadable_block): Allow
18101 threading through blocks with PHIs, but no statements.
18102 (thread_through_normal_block): Distinguish between blocks where
18103 we did not process all the statements and blocks with no statements.
18104
18105 PR rtl-optimization/47477
18106 * match.pd (convert (plus/minus (convert @0) (convert @1): New
18107 simplifier to narrow arithmetic.
18108
18109 2015-02-13 Jan Hubicka <hubicka@ucw.cz>
18110
18111 PR ipa/65028
18112 * ipa-prop.c (update_indirect_edges_after_inlining): Do not drop
18113 polymorphic call info when type is not known to be preserved.
18114
18115 2015-02-13 Maritn Jambor <mjambor@suse.cz>
18116
18117 PR ipa/65028
18118 * ipa-inline-transform.c (mark_all_inlined_calls_cdtor): New function.
18119 (inline_call): Use it.
18120
18121 2015-02-13 Thomas Schwinge <thomas@codesourcery.com>
18122
18123 * config/nvptx/offload.h (ACCEL_COMPILER_acc_device): Define to
18124 GOMP_DEVICE_NVIDIA_PTX.
18125
18126 2015-02-13 Jakub Jelinek <jakub@redhat.com>
18127
18128 PR ipa/65034
18129 * stmt.c (emit_case_nodes): Use void_type_node instead of
18130 NULL_TREE as LABEL_DECL type.
18131
18132 2015-02-13 John David Anglin <danglin@gcc.gnu.org>
18133
18134 * config/pa/constraints.md: Change "Q" and "T" constraints to memory
18135 constraints.
18136 * config/pa/pa.c (pa_cannot_force_const_mem): Don't allow constant
18137 symbolic references to data to be forced to constant memory on the
18138 SOM target.
18139
18140 2015-02-13 Ilya Enkovich <ilya.enkovich@intel.com>
18141
18142 PR tree-optimization/65002
18143 * tree-cfg.c (pass_data_fixup_cfg): Don't update
18144 SSA on start.
18145 * tree-sra.c (some_callers_have_no_vuse_p): New.
18146 (ipa_early_sra): Reject functions whose callers
18147 assume function is read only.
18148
18149 2015-02-13 Richard Biener <rguenther@suse.de>
18150
18151 PR lto/65015
18152 * dwarf2out.c (dwarf2out_finish): Use <artificial> as DW_AT_name
18153 for LTO produced CUs.
18154
18155 2015-02-13 Bin Cheng <bin.cheng@arm.com>
18156
18157 PR tree-optimization/64705
18158 * tree-ssa-loop-niter.h (expand_simple_operations): New parameter.
18159 * tree-ssa-loop-niter.c (expand_simple_operations): New parameter.
18160 * tree-ssa-loop-ivopts.c (extract_single_var_from_expr): New.
18161 (find_bivs, find_givs_in_stmt_scev): Pass new argument to
18162 expand_simple_operations.
18163
18164 2015-02-13 H.J. Lu <hongjiu.lu@intel.com>
18165 Richard Henderson <rth@redhat.com>
18166
18167 PR rtl/32219
18168 * cgraphunit.c (cgraph_node::finalize_function): Set definition
18169 before notice_global_symbol.
18170 (varpool_node::finalize_decl): Likewise.
18171 * varasm.c (default_binds_local_p_2): Rename from
18172 default_binds_local_p_1, add weak_dominate argument. Use direct
18173 returns instead of assigning to local variable. Unify varpool and
18174 cgraph paths via symtab_node. Reject undef weak variables before
18175 testing visibility. Reorder tests for simplicity.
18176 (default_binds_local_p): Use default_binds_local_p_2.
18177 (default_binds_local_p_1): Likewise.
18178 (decl_binds_to_current_def_p): Unify varpool and cgraph paths
18179 via symtab_node.
18180 (default_elf_asm_output_external): Emit visibility when specified.
18181
18182 2015-02-13 Alan Modra <amodra@gmail.com>
18183
18184 * config/rs6000/rs6000.c (rs6000_emit_epilogue): Fix typo in
18185 code setting up r11 for out-of-line fp restore.
18186
18187 2015-02-13 Eric Botcazou <ebotcazou@adacore.com>
18188
18189 * config/visium/visium.opt (msv-mode): Add RejectNegative and Report.
18190 (muser-mode): Likewise.
18191
18192 2015-02-13 Alan Modra <amodra@gmail.com>
18193
18194 * config/rs6000/rs6000.c (rs6000_emit_epilogue): Use addsi3_carry
18195 or adddi3_carry when restoring frame_reg_rtx from r0 after restvr.
18196
18197 2015-02-12 David Howells <dhowells@redhat.com>
18198
18199 * tree-sra.c (dump_dereferences_table): Avoid -Wformat-security
18200 warning.
18201 * tree-ssa-uninit.c (dump_predicates): Likewise.
18202 * opts.c (print_filtered_help): Likewise.
18203
18204 2015-02-12 Jakub Jelinek <jakub@redhat.com>
18205
18206 * dwarf2out.c (output_die): Use "%s", name instead of name to
18207 avoid -Wformat-security warning.
18208
18209 * dwarf2asm.c (dw2_asm_output_vms_delta): Only define
18210 if ASM_OUTPUT_DWARF_VMS_DELTA is defined.
18211 * dwarf2out.c (output_die): Use dw2_asm_output_vms_delta
18212 only if ASM_OUTPUT_DWARF_VMS_DELTA is defined.
18213
18214 2015-02-12 Jason Merrill <jason@redhat.com>
18215
18216 * common.opt (-flifetime-dse): New.
18217
18218 2015-02-12 Jakub Jelinek <jakub@redhat.com>
18219
18220 PR sanitizer/65019
18221 * ubsan.c (ubsan_expand_objsize_ifn): Always return true.
18222
18223 PR tree-optimization/65014
18224 * fold-const.c (fold_binary_loc): When creating {L,R}ROTATE_EXPR,
18225 use original second operand of arg0 or arg1 instead of
18226 that adjusted by STRIP_NOPS.
18227
18228 2015-02-11 Jeff Law <law@redhat.com>
18229
18230 PR target/63347
18231 * haifa-sched.c (prune_ready_list): If we have a SCHED_GROUP_P insn
18232 that needs to be queued, just queue it for a single cycle.
18233
18234 2015-02-11 Jan Hubicka <hubicka@ucw.cz>
18235
18236 * ipa.c (symbol_table::remove_unreachable_nodes): Avoid releasing
18237 bodies of thunks; comment on why.
18238 * symtab.c (symtab_node::get_partitioning_class): Aliases of extern
18239 symbols are extern.
18240
18241 2015-02-11 Richard Henderson <rth@redhat.com>
18242
18243 PR sanitize/65000
18244 * tree-eh.c (mark_reachable_handlers): Mark source and destination
18245 regions of __builtin_eh_copy_values.
18246
18247 2015-02-11 Jakub Jelinek <jakub@redhat.com>
18248
18249 PR middle-end/65003
18250 * varasm.c (place_block_symbol): Assert that DECL_RTL of the
18251 ultimate alias is MEM with SYMBOL_REF satisfying
18252 SYMBOL_REF_HAS_BLOCK_INFO_P as its operand. Don't pass the MEM
18253 to place_block_symbol, but instead pass the SYMBOL_REF operand of it.
18254
18255 2015-02-11 Thomas Schwinge <thomas@codesourcery.com>
18256
18257 * config/nvptx/mkoffload.c: Include "diagnostic.h" instead of
18258 "diagnostic-core.h".
18259 (main): Initialize progname, and call diagnostic_initialize.
18260
18261 * config/nvptx/mkoffload.c (process): Refer to __OFFLOAD_TABLE__
18262 instead of __OPENMP_TARGET__.
18263
18264 * config/nvptx/mkoffload.c: Include "gomp-constants.h".
18265 (process): Use its GOMP_DEVICE_NVIDIA_PTX instead of (wrongly)
18266 hard-coding PTX_ID.
18267
18268 2015-02-11 H.J. Lu <hongjiu.lu@intel.com>
18269
18270 * doc/sourcebuild.texi (pie_enabled): Document.
18271
18272 2015-02-11 Martin Liska <mliska@suse.cz>
18273
18274 PR ipa/64813
18275 * cgraphunit.c (cgraph_node::expand_thunk): Do not create
18276 a return value for call to a function that is noreturn.
18277
18278 2015-02-11 Richard Biener <rguenther@suse.de>
18279
18280 PR lto/65015
18281 * dwarf2out.c (gen_producer_string): Drop -fltrans-output-list
18282 and -fresolution.
18283
18284 2015-02-11 Andrew Pinski <apinski@cavium.com>
18285
18286 PR target/64893
18287 * config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins):
18288 Change the first argument type to size_type_node and add another
18289 size_type_node.
18290 (aarch64_simd_expand_builtin): Handle the new argument to
18291 AARCH64_SIMD_BUILTIN_LANE_CHECK and don't ICE but rather
18292 print an out when the first two arguments are not
18293 nonzero integer constants.
18294 * config/aarch64/arm_neon.h (__AARCH64_LANE_CHECK):
18295 Pass the sizeof directly to __builtin_aarch64_im_lane_boundsi.
18296
18297 2015-02-11 Jakub Jelinek <jakub@redhat.com>
18298
18299 PR target/61925
18300 * config/i386/i386.c (ix86_reset_to_default_globals): Removed.
18301 (ix86_reset_previous_fndecl): Restore it here, unconditionally.
18302 (ix86_set_current_function): Rewritten.
18303 (ix86_add_new_builtins): Temporarily clear current_target_pragma
18304 when creating builtin fndecls.
18305
18306 2015-02-10 Jan Hubicka <hubicka@ucw.cz>
18307
18308 PR ipa/65005
18309 * ipa-visibility.c (cgraph_node::non_local_p): Turn into static
18310 function.
18311 * symtab.c (symtab_node::verify_base): Remove check that non-definitions
18312 have no comdat group.
18313 * lto-cgraph.c (lto_output_node): Always output thunk and alias info.
18314 (lto_output_varpool_node): Always output alias info.
18315 (output_refs): Output refs of boundary aliases, too.
18316 (compute_ltrans_boundary): Add alias and thunk target into boundaries.
18317 (output_symtab): Output call eges in thunks in boundary.
18318 (get_alias_symbol): Remove.
18319 (input_node, input_varpool_node): Do not special case weakrefs.
18320 * ipa.c (symbol_table::remove_unreachable_nodes): Do not remove
18321 alias and thunks targets in the boundary; do not take removed symbols
18322 from their comdat groups.
18323 * cgraph.c (cgraph_node::local_info): Look through aliases and thunks.
18324 (cgraph_node::global_info): Remove.
18325 (cgraph_node::rtl_info): Look through aliases and thunks.
18326 * cgrpah.h (global_info): Remove.
18327 (non_local_p): Remove.
18328
18329 2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
18330 Sandra Loosemore <sandra@codesourcery.com>
18331
18332 * doc/invoke.texi (x86 Options [-masm=dialect]): Add cross-references
18333 to inline asm. List dialects in proper order.
18334
18335 2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
18336 Sandra Loosemore <sandra@codesourcery.com>
18337
18338 * doc/extend.texi (Loop-Specific Pragmas): Fix grammar error.
18339
18340 2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
18341
18342 * doc/extend.texi (Symbol-Renaming Pragmas): Restore (slightly
18343 modified) reference to Solaris.
18344
18345 2015-02-10 Sandra Loosemore <sandra@codesourcery.com>
18346
18347 * doc/extend.texi (Extended Asm): Fix typos.
18348
18349 2015-02-10 Jakub Jelinek <jakub@redhat.com>
18350
18351 PR sanitizer/65004
18352 * ubsan.c (ubsan_expand_vptr_ifn): Always return true.
18353
18354 2015-02-10 Oleg Endo <olegendo@gcc.gnu.org>
18355
18356 PR target/64661
18357 * config/sh/sh-protos.h (TARGET_ATOMIC_ANY, TARGET_ATOMIC_STRICT,
18358 TARGET_ATOMIC_SOFT_GUSA, TARGET_ATOMIC_HARD_LLCS,
18359 TARGET_ATOMIC_SOFT_TCB, TARGET_ATOMIC_SOFT_IMASK): Add parentheses.
18360 * config/sh/constraints.md (Ara, Add): New constraints.
18361 * config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1): New
18362 predicates.
18363 (atomic_compare_and_swap<mode>, atomic_exchange<mode>): Use
18364 atomic_mem_operand_0. Don't use force_reg on the memory address.
18365 (atomic_compare_and_swapsi_hard): Use atomic_mem_operand_0 predicate and
18366 Sra constraint. Convert to insn_and_split. Add workaround for
18367 PR 64974.
18368 (atomic_compare_and_swap<mode>_hard): Copy to
18369 atomic_compare_and_swap<mode>_hard_1. Convert to insn_and_split.
18370 Use atomic_mem_operand_0 predicate.
18371 (atomic_compare_and_swap<mode>_soft_gusa,
18372 atomic_exchange<mode>_soft_gusa): Use atomic_mem_operand_0 predicate and
18373 AraAdd constraints.
18374 (atomic_compare_and_swap<mode>_soft_tcb,
18375 atomic_compare_and_swap<mode>_soft_imask,
18376 atomic_exchange<mode>_soft_tcb, atomic_exchange<mode>_soft_imask): Use
18377 atomic_mem_operand_0 predicate and SraSdd constraints.
18378 (atomic_exchangesi_hard) Use atomic_mem_operand_0 predicate and Sra
18379 constraint.
18380 (atomic_exchange<mode>_hard): Copy to atomic_exchange<mode>_hard_1.
18381 Convert to insn_and_split. Use atomic_mem_operand_0 predicate.
18382 (atomic_fetch_<fetchop_name><mode>, atomic_fetch_nand<mode>,
18383 atomic_<fetchop_name>_fetch<mode>): Use atomic_mem_operand_1. Don't use
18384 force_reg on the memory address.
18385 (atomic_fetch_<fetchop_name>si_hard, atomic_fetch_notsi_hard,
18386 atomic_fetch_nandsi_hard, atomic_<fetchop_name>_fetchsi_hard,
18387 atomic_not_fetchsi_hard, atomic_nand_fetchsi_hard): Use
18388 atomic_mem_operand_1 predicate and Sra constraint.
18389 (atomic_fetch_<fetchop_name><mode>_hard): Copy to
18390 atomic_fetch_<fetchop_name><mode>_hard_1. Convert to insn_and_split.
18391 Use atomic_mem_operand_1 predicate.
18392 (atomic_<fetchop_name><mode>_hard): Copy to
18393 atomic_<fetchop_name><mode>_hard_1. Convert to insn_and_split.
18394 Use atomic_mem_operand_1 predicate.
18395 (atomic_fetch_nand<mode>_hard): Copy to atomic_fetch_nand<mode>_hard_1.
18396 Convert to insn_and_split. Use atomic_mem_operand_1 predicate.
18397 (atomic_nand<mode>_hard): Copy to atomic_nand<mode>_hard_1. Convert to
18398 insn_and_split. Use atomic_mem_operand_1 predicate.
18399 (atomic_<fetchop_name>_fetch<mode>_hard): Copy to
18400 atomic_<fetchop_name>_fetch<mode>_hard_1. Convert to insn_and_split.
18401 Use atomic_mem_operand_1 predicate.
18402 (atomic_nand_fetch<mode>_hard): Copy to atomic_nand_fetch<mode>_hard_1.
18403 Convert to insn_and_split. Use atomic_mem_operand_1 predicate.
18404 (atomic_fetch_not<mode>_hard, atomic_not_fetch<mode>_hard): Replace mems
18405 in generated insn with original mem operand before emitting the insn.
18406 (atomic_fetch_<fetchop_name><mode>_soft_gusa,
18407 atomic_fetch_not<mode>_soft_gusa, atomic_fetch_nand<mode>_soft_gusa,
18408 atomic_<fetchop_name>_fetch<mode>_soft_gusa,
18409 atomic_not_fetch<mode>_soft_gusa, atomic_nand_fetch<mode>_soft_gusa):
18410 Use atomic_mem_operand_1 predicate and AraAdd constraints.
18411 (atomic_fetch_<fetchop_name><mode>_soft_tcb,
18412 atomic_<fetchop_name><mode>_soft_tcb, atomic_fetch_not<mode>_soft_tcb,
18413 atomic_not<mode>_soft_tcb, atomic_fetch_<fetchop_name><mode>_soft_imask,
18414 atomic_fetch_not<mode>_soft_imask, atomic_fetch_nand<mode>_soft_tcb,
18415 atomic_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask,
18416 atomic_<fetchop_name>_fetch<mode>_soft_tcb,
18417 atomic_not_fetch<mode>_soft_tcb,
18418 atomic_<fetchop_name>_fetch<mode>_soft_imask,
18419 atomic_not_fetch<mode>_soft_imask, atomic_nand_fetch<mode>,
18420 atomic_nand_fetch<mode>_soft_tcb, atomic_nand_fetch<mode>_soft_imask):
18421 Use atomic_mem_operand_1 predicate and SraSdd constraints.
18422
18423 2015-02-10 Uros Bizjak <ubizjak@gmail.com>
18424
18425 * config/alpha/alpha.md (reload_out<mode>_aligned): Make operands 2
18426 and 3 earlyclobber operands.
18427
18428 2015-02-10 Jan Hubicka <hubicka@ucw.cz>
18429
18430 * common.opt (fstack-reuse): Mark as optimization.
18431
18432 2015-02-10 Jan Hubicka <hubicka@ucw.cz>
18433
18434 PR ipa/64982
18435 * cgraphunit.c (cgraph_node::expand_thunk): Look for stdarg thunks.
18436
18437 2015-02-10 Trevor Saunders <tsaunders@mozilla.com>
18438
18439 PR tree-optimization/64326
18440 * cfghooks.c (make_forwarder_block): Cap frequency of created block.
18441
18442 2015-02-10 Rainer Emrich <rainer@emrich-ebersheim.de>
18443
18444 PR gcov-profile/61889
18445 * gcov-tool.c: Remove wrong #if !defined(_WIN32)
18446
18447 2015-02-10 Richard Biener <rguenther@suse.de>
18448
18449 PR tree-optimization/64995
18450 * tree-ssa-sccvn.c (set_ssa_val_to): Assert that the
18451 value we use is final.
18452 (visit_reference_op_store): Always valueize op.
18453 (visit_use): Properly valueize vuses.
18454
18455 2015-02-10 Richard Biener <rguenther@suse.de>
18456
18457 PR tree-optimization/64909
18458 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Properly
18459 pass a scalar-stmt count estimate to the cost model.
18460 * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): Likewise.
18461
18462 2015-02-10 Alexander Monakov <amonakov@ispras.ru>
18463
18464 * doc/invoke.texi (-fvar-tracking-assignments): Clarify that VTA is
18465 enabled by default together with var-tracking.
18466
18467 2015-02-10 Nick Clifton <nickc@redhat.com>
18468
18469 * config/rl78/rl78.c: Remove DIV attribute code accidentally
18470 included in previous rl78 commit.
18471
18472 2015-02-10 Richard Biener <rguenther@suse.de>
18473
18474 * tree-streamer.h (streamer_read_tree_bitfields): Adjust.
18475 * tree-streamer-in.c (streamer_read_tree_bitfields): Do not
18476 return the bitpack.
18477
18478 2015-02-09 Trevor Saunders <tsaunders@mozilla.com>
18479
18480 PR gcov-profile/61889
18481 * config.in: regenerate.
18482 * configure.in: Likewise.
18483 * configure.ac: Check for ftw.h.
18484 * gcov-tool.c: Check for ftw.h before using nftw.
18485
18486 2015-02-09 Trevor Saunders <tsaunders@mozilla.com>
18487
18488 PR lto/64076
18489 * ipa-visibility.c (update_visibility_by_resolution_info): Only
18490 assert when not in lto mode.
18491
18492 2015-02-09 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
18493
18494 * ira-color.c (setup_left_conflict_sizes_p): Simplify
18495 initialization/assignment of conflict_size.
18496
18497 2015-02-09 Jan Hubicka <hubicka@ucw.cz>
18498
18499 PR ipa/64978
18500 * ipa-cp.c (gather_caller_stats): Skip thunks.
18501 (propagate_constants_topo): Skip aliases.
18502
18503 2015-02-09 Kaz Kojima <kkojima@gcc.gnu.org>
18504
18505 PR target/64761
18506 * config/sh/sh.c (sh_option_override): Don't change
18507 -freorder-blocks-and-partition to -freorder-blocks even when
18508 unwinding is enabled.
18509 (sh_can_follow_jump): Return false if the followee jump is
18510 a crossing jump when -freorder-blocks-and-partition is specified.
18511 * config/sh/sh.md (*jump_compact_crossing): New insn.
18512
18513 2015-02-09 Joern Rennecke <joern.rennecke@embecosm.com>
18514 Kaz Kojima <kkojima@gcc.gnu.org>
18515
18516 PR target/64761
18517 * config/sh/sh-protos.h (sh_can_redirect_branch): Don't declare.
18518 * config/sh/sh.c (TARGET_CAN_FOLLOW_JUMP): Redefine.
18519 (sh_can_redirect_branch): Rename to ...
18520 (sh_can_follow_jump): ... this. Constify argument types.
18521 * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): Don't define.
18522 * doc/tm.texi.in (MD_CAN_REDIRECT_BRANCH): Remove documentation.
18523 * reorg.c (steal_delay_list_from_target): Use targetm.can_follow_jump.
18524 * doc/tm.texi: Regenerate.
18525
18526 2015-02-09 Jakub Jelinek <jakub@redhat.com>
18527
18528 PR sanitizer/64981
18529 * builtins.c (expand_builtin): Call targetm.expand_builtin
18530 for BUILT_IN_MD builtins regardless of asan_intercepted_p.
18531
18532 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
18533
18534 PR ipa/61548
18535 * tree-emutls.c (ipa_lower_emutls): Avoid duplicates in TLS_VARS.
18536
18537 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
18538
18539 PR ipa/63566
18540 * ipa-icf.c (set_local): New function.
18541 (sem_function::merge): Use it.
18542
18543 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
18544
18545 * ipa-devirt.c (odr_types_equivalent_p): Fix formating.
18546 (add_type_duplicate): Fix comparison of BINFOs.
18547
18548 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
18549
18550 * ipa-polymorphic-call.c (ipa_polymorphic_call_context): Avoid ICE
18551 on getting VOID pointer.
18552
18553 2015-02-09 Jakub Jelinek <jakub@redhat.com>
18554
18555 PR target/64979
18556 * tree-stdarg.c (pass_stdarg::execute): Scan phi node args for
18557 va_list escapes.
18558
18559 2015-02-09 Richard Biener <rguenther@suse.de>
18560
18561 * genmatch.c (replace_id): Copy expr_type.
18562
18563 2015-02-09 Richard Biener <rguenther@suse.de>
18564
18565 * tree-streamer.h (streamer_pack_tree_bitfields): Remove.
18566 (streamer_write_tree_bitfields): Declare.
18567 * tree-streamer-in.c (unpack_ts_base_value_fields): Inline,
18568 properly unpack padding.
18569 (unpack_value_fields): Inline ...
18570 (streamer_read_tree_bitfields): ... here.
18571 * tree-streamer-out.c (pack_ts_base_value_fields): Inline
18572 and properly add padding bits.
18573 (streamer_pack_tree_bitfields): Fold into ...
18574 (streamer_write_tree_bitfields): ... this new function,
18575 exposing the bitpack object.
18576 * lto-streamer-out.c (lto_write_tree_1): Call
18577 streamer_write_tree_bitfields.
18578
18579 2015-02-09 Richard Biener <rguenther@suse.de>
18580
18581 PR tree-optimization/54000
18582 * tree-ssa-looo-ivopts.c: Include tree-vectorizer.h.
18583 (struct ivopts_data): Add loop_loc member.
18584 (tree_ssa_iv_optimize_loop): Dump loop location.
18585 (create_new_ivs): Likewise, also dump number of IVs generated.
18586
18587 2015-02-09 Martin Liska <mliska@suse.cz>
18588
18589 * ipa-icf.c (sem_item_optimizer::register_hooks): Register hooks
18590 just if not yet registered.
18591 (ipa_icf_generate_summary): Register callgraph hooks.
18592
18593 2015-02-08 Andrew Pinski <apinski@cavium.com>
18594
18595 * config/aarch64/aarch64.c (gty_dummy): Delete.
18596
18597 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
18598
18599 PR ipa/63566
18600 * ipa-visibility.c (cgraph_node::non_local_p): Accept aliases.
18601 (cgraph_node::local_p): Remove thunk related FIXME.
18602
18603 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
18604
18605 PR ipa/63566
18606 * i386.c (ix86_function_regparm): Look through aliases to see if callee
18607 is local and optimized.
18608 (ix86_function_sseregparm): Likewise; also use target's SSE math
18609 settings; error out instead of silently generating wrong code
18610 on mismatches.
18611 (init_cumulative_args): Look through aliases.
18612
18613 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
18614
18615 PR ipa/63566
18616 * ipa-split.c (execute_split_functions): Split if function has aliases.
18617
18618 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
18619
18620 PR ipa/63566
18621 * cgraphunit.c (cgraph_node::analyze): Be sure target of thunk is
18622 aliases before trying to expand it.
18623 (cgraph_node::expand_thunk): Fix formating.
18624
18625 2015-02-07 Sandra Loosemore <sandra@codesourcery.com>
18626
18627 * doc/extend.texi (Function Attributes [naked]): Copy-edit.
18628 (Using Assembly Language with C): Expand introduction.
18629 (Basic Asm): Copy-edit. Add more information about uses of
18630 basic asm.
18631 (Extended Asm): Copy-edit. Document new escape syntax and
18632 %l[label] syntax.
18633 (Global Reg Vars): Copy-edit.
18634 (Local Reg Vars): Likewise.
18635
18636 2015-02-06 David Edelsohn <dje.gcc@gmail.com>
18637
18638 PR debug/2714
18639 PR bootstrap/64256
18640 * xcoffout.h (DBX_CONTIN_LENGTH): Define as 16384.
18641 (DBX_CONTIN_CHAR): Define.
18642
18643 2015-02-06 Sebastian Pop <s.pop@samsung.com>
18644 Brian Rzycki <b.rzycki@samsung.com>
18645
18646 PR tree-optimization/64878
18647 * tree-ssa-threadedge.c: Include tree-ssa-loop.h.
18648 (fsm_find_control_statement_thread_paths): Add parameter seen_loop_phi.
18649 Stop recursion at loop phi nodes after having visited a loop phi node.
18650
18651 2015-02-06 Jakub Jelinek <jakub@redhat.com>
18652
18653 * toplev.c (process_options): Change flag_ipa_ra before creating
18654 optimization_{default,current}_node.
18655
18656 PR ipa/64896
18657 * cgraphunit.c (cgraph_node::expand_thunk): If
18658 restype is not is_gimple_reg_type nor the thunk_fndecl
18659 returns aggregate_value_p, set restmp to a temporary variable
18660 instead of resdecl.
18661
18662 2015-02-06 Vladimir Makarov <vmakarov@redhat.com>
18663
18664 * lra.c (lra_emit_add): Fix a typo in using disp instead of base.
18665
18666 2015-02-06 Michael Meissner <meissner@linux.vnet.ibm.com>
18667
18668 PR target/64205
18669 * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Do not
18670 add a general secondary reload handler for SDmode, unless we have
18671 both read/write support for SDmode.
18672
18673 2015-02-06 Jakub Jelinek <jakub@redhat.com>
18674
18675 PR middle-end/64937
18676 * dwarf2out.c (set_block_abstract_flags, set_decl_abstract_flags):
18677 Replace setting argument with abstract_vec, always set BLOCK_ABSTRACT
18678 or DECL_ABSTRACT_P flags to 1 rather than to setting, and if it wasn't
18679 1 before, push it to abstract_vec.
18680 (dwarf2out_abstract_function): Adjust caller. Don't call
18681 set_decl_abstract_flags second time, instead clear BLOCK_ABSTRACT or
18682 DECL_ABSTRACT_P flags for all abstract_vec elts.
18683
18684 2015-02-06 Renlin Li <renlin.li@arm.com>
18685
18686 * tree-ssa-forwprop.c (execute): Keep location info while rewrite
18687 complex gimple.
18688 * tree-ssa.c (execute_update_addresses_taken): Likewise.
18689
18690 2015-02-06 Jeff Law <law@redhat.com>
18691
18692 PR target/64889
18693 * config/h8300/h8300.c (push): New argument "in_prologue".
18694 Pass "in_prologue" along to "F".
18695 (h8300_push_pop): Corresponding changes.
18696 (h8300_expand_prologue): Likewise.
18697 (h8300_swap_into_er6): Likewise. Do not set RTX_FRAME_RELATED_P.
18698
18699 2015-02-06 Jakub Jelinek <jakub@redhat.com>
18700
18701 PR rtl-optimization/64957
18702 PR debug/64817
18703 * simplify-rtx.c (simplify_binary_operation_1): Use ~cval for
18704 IOR rather than for AND.
18705
18706 2015-02-06 Eric Botcazou <ebotcazou@adacore.com>
18707
18708 PR target/62631
18709 * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Use the mininum of costs
18710 of shift-add and (add + shift) operations. Rename local variable.
18711
18712 2015-02-05 Jeff Law <law@redhat.com>
18713
18714 PR target/17306
18715 * config/h8300/constraints.md (U): Correctly dectect
18716 "eightbit_data" memory addresses.
18717 * config/h8300/h8300.c (eightbit_constant_address_p): Also
18718 handle (const (plus (symbol_ref (x)))) where x is declared
18719 as an 8-bit data memory address.
18720 * config/h8300/h8300.md (call, call_value): Correctly detect
18721 "funcvec" functions.
18722
18723 PR target/43264
18724 * config/h8300/h8300.c (get_shift_alg): Fix ASHIFTRT by
18725 24 to 28 bits for the H8/300.
18726
18727 2015-02-06 Alan Modra <amodra@gmail.com>
18728
18729 PR target/64876
18730 * config/rs6000/rs6000.c (chain_already_loaded): New function.
18731 (rs6000_call_aix): Use it.
18732
18733 2015-02-05 Jan Hubicka <hubicka@ucw.cz>
18734
18735 * ipa-cp.c (ipa_value_from_jfunc, ipa_context_from_jfunc): Add bounds
18736 check.
18737
18738 2015-02-05 Joern Rennecke <joern.rennecke@embecosm.com>
18739
18740 * config/h8300/constraints.md ("U" constraint): Use strict
18741 variant of REG_OK_FOR_BASE_P after reload has started.
18742
18743 2015-02-04 Mantas Mikaitis <mantas.mikaitis@arm.com>
18744
18745 * config/arm/arm.h (TARGET_NEON_FP): Removed conditional definition,
18746 define to zero if !TARGET_NEON.
18747 (TARGET_ARM_FP): Added !TARGET_SOFT_FLOAT into conditional definition.
18748
18749 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
18750 Trevor Saunders <tsaunders@mozilla.com>
18751
18752 PR ipa/61548
18753 * tree-emultls.c (new_emutls_decl): Resolve alias after creating it.
18754
18755 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
18756
18757 PR ipa/61548
18758 * ipa.c (symbol_table::remove_unreachable_nodes): Fix ordering issue
18759 when removing varpool nodes.
18760
18761 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
18762
18763 PR ipa/61548
18764 * varpool.c (varpool_node::remove): Fix order of variables.
18765
18766 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
18767
18768 PR ipa/64686
18769 * ipa-inline.c (inline_small_functions): Fix ordering issue between
18770 speculation resolution and key updates.
18771
18772 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
18773
18774 * ipa-prop.c (update_indirect_edges_after_inlining): By more careful
18775 about not letting any speculative edges unupdated.
18776
18777 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
18778
18779 PR gcov/64123
18780 * gcov-io.c (gcov_var): Export.
18781
18782 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
18783
18784 PR middle-end/64922
18785 * ipa-prop.c (update_indirect_edges_after_inlining): Correctly update
18786 edges that become speculative.
18787
18788 2015-02-04 Jakub Jelinek <jakub@redhat.com>
18789
18790 * dwarf2out.c (is_fortran): Also return true for DW_LANG_Fortran03
18791 or DW_LANG_Fortran08.
18792 (lower_bound_default): Return 1 for DW_LANG_Fortran03 or
18793 DW_LANG_Fortran08.
18794 (gen_compile_unit_die): Handle "GNU Fortran2003" and
18795 "GNU Fortran2008" language strings.
18796 * dbxout.c (get_lang_number): Use lang_GNU_Fortran.
18797 * langhooks.h (lang_GNU_Fortran): New prototype.
18798 * langhooks.c (lang_GNU_Fortran): New function.
18799 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use
18800 lang_GNU_Fortran.
18801
18802 2015-02-04 Eric Botcazou <ebotcazou@adacore.com>
18803
18804 * config/sparc/sparc.c (RTX_OK_FOR_OFFSET_P): Fix off-by-one error.
18805 (RTX_OK_FOR_OLO10_P): Likewise.
18806
18807 2015-02-04 Eric Botcazou <ebotcazou@adacore.com>
18808
18809 * tree-ssa-loop-ivopts.c (get_address_cost): Use right mode for offset.
18810
18811 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
18812
18813 PR middle-end/64922
18814 * gimple.c: Include gimple-ssa.h.
18815 (maybe_remove_unused_call_args): New function.
18816 * gimple.h (maybe_remove_unused_call_args): Declare.
18817 * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Use it.
18818 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Likewise.
18819 * gimple-fold.c (gimple_fold_call): Likewise.
18820
18821 2015-02-04 H.J. Lu <hongjiu.lu@intel.com>
18822
18823 PR rtl-optimization/64905
18824 * lra-eliminations.c (setup_can_eliminate): Clear hard frame
18825 pointer alignment if it isn't needed.
18826
18827 2015-02-04 Matthew Wahab <matthew.wahab@arm.com>
18828
18829 * config/aarch64/aarch64-cores.def: Add cortex-a72 and
18830 cortex-a72.cortex-a53.
18831 * config/aarch64/aarch64-tune.md: Regenerate.
18832 * doc/invoke.texi (AArch64 Options/-mtune): Add "cortex-a72".
18833
18834 2015-02-04 Nick Clifton <nickc@redhat.com>
18835
18836 * config/rl78/rl78.c (rl78_note_reg_set): Note the use of REGs
18837 inside a MEM.
18838
18839 2015-02-04 Jakub Jelinek <jakub@redhat.com>
18840
18841 * builtins.def (DEF_BUILTIN_CHKP): Define if not defined.
18842 (DEF_LIB_BUILTIN_CHKP, DEF_EXT_LIB_BUILTIN_CHKP): Redefine.
18843 (DEF_CHKP_BUILTIN): Define using DEF_BUILTIN_CHKP instead
18844 of DEF_BUILTIN.
18845 (BUILT_IN_MEMCPY, BUILT_IN_MEMMOVE, BUILT_IN_MEMSET, BUILT_IN_STRCAT,
18846 BUILT_IN_STRCHR, BUILT_IN_STRCPY, BUILT_IN_STRLEN): Use
18847 DEF_LIB_BUILTIN_CHKP macro instead of DEF_LIB_BUILTIN.
18848 (BUILT_IN_MEMCPY_CHK, BUILT_IN_MEMMOVE_CHK, BUILT_IN_MEMPCPY_CHK,
18849 BUILT_IN_MEMPCPY, BUILT_IN_MEMSET_CHK, BUILT_IN_STPCPY_CHK,
18850 BUILT_IN_STPCPY, BUILT_IN_STRCAT_CHK, BUILT_IN_STRCPY_CHK): Use
18851 DEF_EXT_LIB_BUILTIN_CHKP macro instead of DEF_EXT_LIB_BUILTIN.
18852 * tree-core.h (enum built_in_function): In between
18853 BEGIN_CHKP_BUILTINS and END_CHKP_BUILTINS only define enum values
18854 for builtins that use DEF_BUILTIN_CHKP macro.
18855
18856 2015-02-04 Alexandre Oliva <aoliva@redhat.com>
18857
18858 PR debug/64817
18859 * cfgexpand.c (expand_debug_expr): Compute unsignedp from
18860 operands for tcc_comparison exprs. Fix typos.
18861
18862 PR debug/64817
18863 * simplify-rtx.c (simplify_binary_operation_1): Simplify one
18864 of two XORs that have an intervening AND or IOR.
18865
18866 PR debug/64817
18867 * simplify-rtx.c (simplify_binary_operation_1): Rewrite
18868 simplification of XOR of AND to not allocate new rtx before
18869 committing to a simplification.
18870
18871 2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
18872
18873 * config/aarch64/aarch64-ldpstp.md: Use std::swap instead of
18874 manual swaps in all peepholes.
18875
18876 2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
18877
18878 * config/aarch64/aarch64.c (aarch64_evpc_ext): Use std::swap instead
18879 of manual swapping implementation.
18880 (aarch64_expand_vec_perm_const_1): Likewise.
18881
18882 2015-02-04 James Greenhalgh <james.greenhalgh@arm.com>
18883
18884 * config/aarch64/aarch64.c (NAMED_PARAM): Delete it.
18885 (generic_addrcost_table): Remove NAMED_PARAM.
18886 (cortexa57_addrcost_table): Likewise.
18887 (xgene1_addrcost_table): Likewise.
18888 (generic_regmove_table): Likewise.
18889 (cortexa53_regmove_table): Likewise.
18890 (xgene1_regmove_table): Likewise.
18891 (generic_vector_table): Likewise.
18892 (cortexa57_vector_table): Likewise.
18893 (xgene1_vector_table): Likewise.
18894 (generic_tunings): Likewise.
18895 (cortexa53_tunings): Likewise.
18896 (cortexa57_tunings): Likewise.
18897 (xgene1_tunings): Likewise.
18898
18899 2015-02-04 Matthew Wahab <matthew.wahab@arm.com>
18900
18901 * config/arm/arm-cores.def: Add cortex-a72 and
18902 cortex-a72.cortex-a53.
18903 * config/arm/bpabi.h (BE8_LINK_SPEC): Likewise.
18904 * config/arm/t-aprofile (MULTILIB_MATCHES): Likewise.
18905 * config/arm/arm-tune.md: Regenerate.
18906 * config/arm/arm-tables.opt: Add entries for "cortex-a72" and
18907 "cortex-a72.cortex-a53".
18908 * doc/invoke.texi (ARM Options/-mtune): Likewise.
18909
18910 2015-02-04 Nick Clifton <nickc@redhat.com>
18911
18912 PR target/64408
18913 * config/fr30/predicates.md (di_operand): Add SUBREG to the list
18914 of accepted codes.
18915 (nonimmediate_di_operand): Likewise.
18916
18917 * config/msp430/msp430.c (msp430_use_f5_series_hwmult): Add more
18918 prefixes of known F5 using MSP430 MCUs.
18919
18920 2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
18921
18922 * config/aarch64/aarch64-simd-builtins.def (sqrt): Use BUILTIN_VDQF_DF.
18923 * config/aarch64/arm_neon.h (vsqrt_f64): Use __builtin_aarch64_sqrtdf
18924 instead of __builtin_sqrt.
18925
18926 2015-02-04 Ilya Enkovich <ilya.enkovich@intel.com>
18927
18928 * varasm.c (do_assemble_alias): Follow transparent alias
18929 chain for target.
18930 (default_assemble_visibility): Follow transparent alias
18931 chain for decl name.
18932
18933 2015-02-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
18934
18935 PR middle-end/62103
18936 * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use TYPE_PRECISION
18937 to compute size of referenced value in the constant case.
18938
18939 2015-02-03 Jakub Jelinek <jakub@redhat.com>
18940
18941 PR rtl-optimization/64756
18942 * cse.c (invalidate_dest): New function.
18943 (cse_insn): Use it. If dest != SET_DEST (sets[i].rtl) and
18944 HASH (SET_DEST (sets[i].rtl), mode) computation sets do_not_record,
18945 invalidate and do not record it.
18946
18947 2015-02-03 Oleg Endo <olegendo@gcc.gnu.org>
18948
18949 PR target/64660
18950 * config/sh/sync.md (atomic_<fetchop_name><mode>_hard,
18951 atomic_not<mode>_hard, atomic_<fetchop_name><mode>_soft_tcb,
18952 atomic_not<mode>_soft_tcb, atomic_nand<mode>_hard,
18953 atomic_nand<mode>_soft_tcb): New insns.
18954 (atomic_fetch_<fetchop_name>si_hard): Convert to insn_and_split.
18955 Split into atomic_<fetchop_name>_fetchsi_hard if operands[0] is unused.
18956 (define_insn "atomic_fetch_notsi_hard): Convert to insn_and_split.
18957 Split into atomic_not_fetchsi_hard if operands[0] is unused.
18958 (atomic_fetch_<fetchop_name><mode>_hard): Convert to insn_and_split.
18959 Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
18960 (atomic_fetch_not<mode>_hard): Convert to insn_and_split. Split into
18961 atomic_not<mode>_hard if operands[0] is unused.
18962 (atomic_fetch_<fetchop_name><mode>_soft_gusa): Convert to
18963 insn_and_split. Split into atomic_<fetchop_name>_fetch<mode>_soft_gusa
18964 if operands[0] is unused.
18965 (atomic_fetch_not<mode>_soft_gusa): Convert to insn_and_split. Split
18966 into atomic_not_fetch<mode>_soft_gusa if operands[0] is unused.
18967 (atomic_fetch_<fetchop_name><mode>_soft_tcb): Convert to insn_and_split.
18968 Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
18969 unused.
18970 (atomic_fetch_not<mode>_soft_tcb): Convert to insn_and_split. Split
18971 into atomic_not<mode>_soft_tcb if operands[0] is unused.
18972 (atomic_fetch_<fetchop_name><mode>_soft_imask): Convert to
18973 insn_and_split. Split into atomic_<fetchop_name>_fetch<mode>_soft_imask
18974 if operands[0] is unused.
18975 (atomic_fetch_not<mode>_soft_imask): Convert to insn_and_split. Split
18976 into atomic_not_fetch<mode>_soft_imask is operands[0] is unused.
18977 (atomic_fetch_nandsi_hard): Convert to insn_and_split. Split into
18978 atomic_nand_fetchsi_hard if operands[0] is unused.
18979 (atomic_fetch_nand<mode>_hard): Convert to insn_and_split. Split into
18980 atomic_nand<mode>_hard if operands[0] is unused.
18981 (atomic_fetch_nand<mode>_soft_gusa): Convert to insn_and_split. Split
18982 into atomic_nand_fetch<mode>_soft_gusa if operands[0] is unused.
18983 (atomic_fetch_nand<mode>_soft_tcb): Convert to insn_and_split. Split
18984 into atomic_nand<mode>_soft_tcb if operands[0] is unused.
18985 (atomic_fetch_nand<mode>_soft_imask): Convert to insn_and_split. Split
18986 into atomic_nand_fetch<mode>_soft_imask if operands[0] is unused.
18987 (atomic_<fetchop_name>_fetch<mode>_hard): Convert to insn_and_split.
18988 Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
18989 (atomic_not_fetch<mode>_hard): Convert to insn_and_split. Split into
18990 atomic_not<mode>_hard if operands[0] is unused.
18991 (atomic_<fetchop_name>_fetch<mode>_soft_tcb): Convert to insn_and_split.
18992 Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
18993 unused.
18994 (atomic_not_fetch<mode>_soft_tcb): Convert to insn_and_split. Split
18995 into atomic_not<mode>_soft_tcb if operands[0] is unused.
18996 (atomic_nand_fetch<mode>_hard): Convert to insn_and_split. Split into
18997 atomic_nand<mode>_hard if operands[0] is unused.
18998 (atomic_nand_fetch<mode>_soft_tcb): Convert to insn_and_split. Split
18999 into atomic_nand<mode>_soft_tcb if operands[0] is unused.
19000
19001 2015-02-03 David Malcolm <dmalcolm@redhat.com>
19002
19003 PR jit/64810
19004 * Makefile.in (GCC_OBJS): Add gcc-main.o.
19005 * gcc-main.c: New file, containing "main" taken from gcc.c.
19006 * gcc.c (do_self_spec): Free decoded_options.
19007 (class driver): Move declaration to gcc.h.
19008 (main): Move declaration and implementation to new file
19009 gcc-main.c.
19010 (driver_get_configure_time_options): New function.
19011 * gcc.h (class driver): Move this declaration here, from
19012 gcc.c.
19013 (driver_get_configure_time_options): New declaration.
19014
19015 2015-02-03 Jan Hubicka <hubicka@ucw.cz>
19016
19017 * ipa-inline-analysis.c (simple_edge_hints): Fix check for
19018 cross-module inlining.
19019 * cgraph.h (cgraph_node): Add flag merged.
19020 * ipa-icf.c (sem_function::merge): Maintain it.
19021
19022 2015-02-03 Richard Sandiford <richard.sandiford@arm.com>
19023
19024 * config/arm/arm.c (thumb2_reorg): Test UNARY_P and BINARY_P
19025 instead of OBJECT_P.
19026
19027 2015-02-03 Eric Botcazou <ebotcazou@adacore.com>
19028
19029 PR target/62631
19030 * config/sparc/sparc.h (TARGET_HARD_MUL): Remove TARGET_V8PLUS.
19031 (TARGET_HARD_MUL32): Rewrite based on TARGET_HARD_MUL.
19032 * config/sparc/sparc.c (sparc_rtx_costs) <MULT>: Return costs based on
19033 int_mulX for integers in 64-bit mode if TARGET_HARD_MUL is not set.
19034
19035 2015-02-03 Jakub Jelinek <jakub@redhat.com>
19036
19037 PR other/63504
19038 * combine.c (reg_n_sets_max): New variable.
19039 (can_change_dest_mode, reg_nonzero_bits_for_combine,
19040 reg_num_sign_bit_copies_for_combine, get_last_value_validate,
19041 get_last_value): Use REG_N_SETS only on pseudos < reg_n_sets_max.
19042 (try_combine): Use INC_REG_N_SETS only on pseudos < reg_n_sets_max.
19043 (rest_of_handle_combine): Initialize reg_n_sets_max.
19044
19045 2015-02-02 Jan Hubicka <hubicka@ucw.cz>
19046
19047 * ipa-inline.c (early_inliner): Skip inlining only in always_inlined;
19048 if some always_inline was inlined, apply changes before inlining
19049 heuristically.
19050
19051 2015-02-02 David Malcolm <dmalcolm@redhat.com>
19052
19053 PR jit/64810
19054 * config/arm/arm.c (arm_option_override): Set
19055 arm_selected_arch/cpu/tune to NULL on entry.
19056
19057 2015-02-02 Tejas Belagod <tejas.belagod@arm.com>
19058 Andrew Pinski <pinskia@gcc.gnu.org>
19059 Jakub Jelinek <jakub@gcc.gnu.org>
19060
19061 PR target/64231
19062 * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix large
19063 integer typing for small model. Use IN_RANGE.
19064
19065 2015-02-02 Richard Biener <rguenther@suse.de>
19066
19067 * tree-ssa-ccp.c (valueize_op_1): Always allow valueizing default-defs.
19068 * tree-vrp.c (vrp_valueize_1): Likewise.
19069
19070 2015-02-02 Alan Modra <amodra@gmail.com>
19071
19072 * config/rs6000/rs6000.c (rs6000_call_aix): Use unspec rather
19073 than mem for toc_restore.
19074 * config/rs6000/rs6000.md (UNSPEC_TOCSLOT): Define.
19075 (call_indirect_aix, call_value_indirect_aix): Adjust to suit.
19076 (call_indirect_elfv2, call_value_indirect_elfv2): Likewise.
19077
19078 2015-02-01 David Edelsohn <dje.gcc@gmail.com>
19079
19080 PR target/64047
19081 * config/rs6000/rs6000.c (rs6000_set_current_function): Handle
19082 explicit default options.
19083
19084 2015-02-01 Jan Hubicka <hubicka@ucw.cz>
19085
19086 PR ipa/64872
19087 * ipa-utils.c (ipa_merge_profiles): Add release argument.
19088 * ipa-icf.c (sem_function::merge): Do not release body when merging.
19089 * ipa-utils.h (ipa_merge_profiles): Update prototype.
19090
19091 2015-02-01 Jakub Jelinek <jakub@redhat.com>
19092
19093 PR debug/64817
19094 * cfgexpand.c (deep_ter_debug_map): New variable.
19095 (avoid_deep_ter_for_debug): New function.
19096 (expand_debug_expr): If TERed SSA_NAME is in
19097 deep_ter_debug_map, use the corresponding DEBUG_EXPR_DECL
19098 instead of trying to expand SSA_NAME's def stmt.
19099 (expand_debug_locations): When expanding debug bind
19100 of a DEBUG_EXPR_DECL to corresponding SSA_NAME,
19101 temporarily remove the DEBUG_EXPR_DECL from deep_ter_debug_map's
19102 value.
19103 (pass_expand::execute): Call avoid_deep_ter_for_debug on
19104 all debug bind stmts. Delete deep_ter_debug_map after
19105 expand_debug_location if non-NULL and clear it.
19106
19107 2015-02-01 Oleg Endo <olegendo@gcc.gnu.org>
19108
19109 PR target/64851
19110 * config/sh/sync.md (atomic_fetch_notsi_hard,
19111 atomic_fetch_not<mode>_hard, atomic_fetch_not<mode>_soft_gusa,
19112 atomic_fetch_not<mode>_soft_tcb, atomic_fetch_not<mode>_soft_imask,
19113 atomic_not_fetchsi_hard, atomic_not_fetch<mode>_hard,
19114 atomic_not_fetch<mode>_soft_gusa, atomic_not_fetch<mode>_soft_tcb,
19115 atomic_not_fetch<mode>_soft_imask): New insns.
19116
19117 2015-02-01 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
19118
19119 * haifa-sched.c (INSN_RFS_DEBUG_ORIG_ORDER): New access macro.
19120 (rank_for_schedule_debug): Split from ...
19121 (rank_for_schedule): ... this.
19122 (ready_sort): Sort DEBUG_INSNs separately from normal INSNs.
19123 * sched-int.h (struct _haifa_insn_data): New field rfs_debug_orig_order.
19124
19125 2015-01-31 Sandra Loosemore <sandra@codesourcery.com>
19126
19127 * doc/md.texi (Machine Constraints): Alphabetize table by target.
19128 * doc/extend.texi (x86 Variable Attributes): Move section to
19129 correct alphabetization after renaming.
19130 (x86 Type Attributes): Likewise.
19131 (Target Builtins): Re-alphabetize menu.
19132 (x86 Built-in Functions): Move section to correct alphabetization
19133 after renaming.
19134 (x86 transactional memory intrinsics): Likewise.
19135 * doc/invoke.texi (Option Summary): Re-alphabetize x86 Options
19136 and x86 Windows Options in table and menu.
19137 (x86 Options): Move section to correct alphabetization after
19138 renaming.
19139 (x86 Windows Options): Likewise.
19140
19141 2015-01-31 Sandra Loosemore <sandra@codesourcery.com>
19142
19143 * doc/extend.texi: Use "x86", "x86-32", and "x86-64" as the
19144 preferred names of the architecture and its 32- and 64-bit
19145 variants.
19146 * doc/invoke.texi: Likewise.
19147 * doc/md.texi: Likewise.
19148
19149 2015-01-31 Uros Bizjak <ubizjak@gmail.com>
19150
19151 PR target/64882
19152 * config/i386/predicates.md (address_no_seg_operand): Reject
19153 non-CONST_INT_P operands in invalid mode.
19154
19155 2015-01-31 Uros Bizjak <ubizjak@gmail.com>
19156
19157 * config/i386/i386.md (*prefetch_prefetchw1): Remove mode of
19158 address_operand 0. Rename from *prefetch_prefetchwt1_<mode>.
19159 * config/i386/predicates.md (address_no_seg_operand): Call
19160 address_operand with VOIDmode.
19161 (vsib_address_operand): Ditto.
19162 (address_mpx_no_base_operand): Ditto.
19163 (address_mpx_no_index_operand): Ditto.
19164
19165 2015-01-30 Vladimir Makarov <vmakarov@redhat.com>
19166
19167 PR target/64688
19168 * lra-constraints.c (original_subreg_reg_mode): New.
19169 (simplify_operand_subreg): Try to simplify subreg of const. Use
19170 original_subreg_reg_mode for it.
19171 (swap_operands): Update original_subreg_reg_mode.
19172 (curr_insn_transform): Set up original_subreg_reg_mode.
19173
19174 2015-01-30 Vladimir Makarov <vmakarov@redhat.com>
19175
19176 PR target/64617
19177 * lra-constraints.c (prohibited_class_reg_set_mode_p): New
19178 function.
19179 (process_alt_operands): Use it.
19180 (curr_insn_transform): Check the optional reload pseudo class is
19181 ok for the mode.
19182
19183 2015-01-30 Joseph Myers <joseph@codesourcery.com>
19184
19185 * diagnostic.c (fatal_error (const char *, ...)): Remove function.
19186 * diagnostic-core.h (fatal_error (const char *, ...)): Remove
19187 prototype.
19188 * toplev.h (init_asm_output): Update comment on use of
19189 UNKNOWN_LOCATION with fatal_error.
19190 * cgraph.c, collect-utils.c, collect2.c, config/arc/arc.c,
19191 config/arc/arc.md, config/avr/avr.c, config/c6x/c6x.h,
19192 config/darwin.c, config/host-darwin.c, config/i386/host-cygwin.c,
19193 config/i386/intelmic-mkoffload.c, config/nios2/nios2.c,
19194 config/nvptx/mkoffload.c, config/nvptx/nvptx.h,
19195 config/rs6000/host-darwin.c, config/rs6000/rs6000.c,
19196 config/s390/s390.c, gcc.c, gcov-io.h, gcov-tool.c, ggc-common.c,
19197 ggc-page.c, graph.c, ipa-inline-analysis.c, ipa-reference.c,
19198 lto-cgraph.c, lto-section-in.c, lto-streamer-in.c, lto-streamer.c,
19199 lto-wrapper.c, objc/objc-act.c, opts.c, passes.c, plugin.c,
19200 tlink.c, toplev.c, tree-streamer-in.c, varpool.c: All callers of
19201 fatal_error changed to pass input_location as first argument.
19202
19203 2015-01-30 Martin Liska <mliska@suse.cz>
19204
19205 * tree.h: Change GCC_VERSION >= 4004 to GCC_VERSION >= 4006
19206 in #pragma GCC diagnostic guards.
19207
19208 2015-01-30 Richard Biener <rguenther@suse.de>
19209
19210 PR tree-optimization/64829
19211 * tree-vect-patterns.c (vect_handle_widen_op_by_const): Do
19212 not add a widening conversion pattern but hand off extra
19213 widenings to callers.
19214 (vect_recog_widen_mult_pattern): Handle extra widening produced
19215 by vect_handle_widen_op_by_const.
19216 (vect_recog_widen_shift_pattern): Likewise.
19217 (vect_pattern_recog_1): Remove excess vertical space in dumping.
19218 * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Likewise.
19219 (vect_init_vector_1): Likewise.
19220 (vect_get_vec_def_for_operand): Likewise.
19221 (vect_finish_stmt_generation): Likewise.
19222 (vectorizable_load): Likewise.
19223 (vect_analyze_stmt): Likewise.
19224 (vect_is_simple_use): Likewise.
19225
19226 2015-01-29 Jeff Law <law@redhat.com>
19227
19228 * combine.c (try_combine): Fix typo in comment.
19229
19230 2015-01-29 Segher Boessenkool <segher@kernel.crashing.org>
19231
19232 PR target/64580
19233 * config.rs6000/rs6000.c (compute_vrsave_mask): Reverse loop order.
19234 (rs6000_stack_info): Add assert.
19235 (rs6000_output_savres_externs): New function, split off from...
19236 (rs6000_output_function_prologue): ... here. Do not call it for
19237 thunks.
19238
19239 2015-01-29 Jeff Law <law@redhat.com>
19240
19241 PR target/15184
19242 * combine.c (try_combine): If I0 is a memory load and I3 a store
19243 to a related address, increase the "goodness" of doing a 4-insn
19244 combination with I0-I3.
19245 (make_field_assignment): Handle SUBREGs in the ior+and case.
19246
19247 2015-01-29 Yuri Rumyantsev <ysrumyan@gmail.com>
19248
19249 PR tree-optimization/64746
19250 * tree-if-conv.c (mask_exists): New function.
19251 (predicate_mem_writes): Save created mask with given size for further
19252 use.
19253 (stmt_is_root_of_bool_pattern): Remove argument VAR and store to it.
19254 (ifcvt_repair_bool_pattern): Collect all statements that are root
19255 of bool pattern and use iterative algorithm to remove multiple uses
19256 of predicates, display number of required iterations.
19257
19258 2015-01-29 Richard Biener <rguenther@suse.de>
19259
19260 PR tree-optimization/64853
19261 * tree-vrp.c (vrp_valueize_1): Do not return anything if the
19262 stmt will get simulated again.
19263 * tree-ssa-ccp.c (valueize_op_1): Likewise.
19264
19265 2015-01-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
19266
19267 * config/arm/arm.c (arm_emit_multi_reg_pop): Simplify definition of
19268 return_in_pc. Remove redundant assignments.
19269 (thumb2_emit_ldrd_pop): Simplify definition of return_in_pc.
19270 (arm_expand_epilogue): Don't compare boolean with true in if condition.
19271
19272 2015-01-29 Uros Bizjak <ubizjak@gmail.com>
19273
19274 * config/i386/i386.c (ix86_mode_after): Make static.
19275
19276 2015-01-29 Richard Biener <rguenther@suse.de>
19277
19278 PR tree-optimization/64844
19279 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Always
19280 dump cost model analysis.
19281 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
19282 Do not register adjusted load/store costs here.
19283
19284 2015-01-29 Ilya Enkovich <ilya.enkovich@intel.com>
19285 Uros Bizjak <ubizjak@gmail.com>
19286
19287 * config/i386/i386-protos.h (ix86_use_pseudo_pic_reg): New.
19288 * config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Simplify by
19289 using x86_use_pseudo_pic_reg.
19290 * config/i386/i386.c (ix86_conditional_register_usage): Remove
19291 support for fixed PIC register.
19292 (ix86_use_pseudo_pic_reg): Not static any more.
19293
19294 2015-01-29 Ilya Enkovich <ilya.enkovich@intel.com>
19295
19296 PR middle-end/64805
19297 * ipa-inline.c (early_inliner): Rebuild IPA_REF_CHKP reference
19298 to avoid error in cgraph node verification.
19299
19300 2015-01-29 Marek Polacek <polacek@redhat.com>
19301
19302 * doc/standards.texi: Reflect that the default for C is gnu11.
19303
19304 2015-01-29 Kaz Kojima <kkojima@gcc.gnu.org>
19305
19306 PR target/64761
19307 * reorg.c (switch_text_sections_between_p): New function.
19308 (relax_delay_slots): Call it when testing if the jump insn
19309 is removable. Use targetm.can_follow_jump when testing if
19310 the conditional branch can follow an unconditional jump.
19311
19312 2015-01-27 Caroline Tice <cmtice@google.com>
19313
19314 Committing VTV Cywin/Ming patch for Patrick Wollgast
19315 * config/i386/cygwin.h (STARTFILE_SPEC): Add vtv_start.o,
19316 if -fvtable-verify=preinit/std is used.
19317 * config/i386/mingw-w64.h (STARTFILE_SPEC): Likewise.
19318 * config/i386/mingw32.h (STARTFILE_SPEC): Likewise.
19319 * config/i386/cygwin.h (ENDFILE_SPEC): Add vtv_end.o,
19320 if -fvtable-verify=preinit/std is used.
19321 * config/i386/mingw32.h (ENDFILE_SPEC): Likewise.
19322 * config/i386/cygwin.h (LIB_SPEC): Pass -lvtv and -lpsapi,
19323 if -fvtable-verify=preinit/std is used.
19324 * config/i386/mingw-w64.h (LIB_SPEC): Likewise.
19325 * config/i386/mingw32.h (LIB_SPEC): Likewise.
19326 * varasm.c (assemble_variable): Add code to properly set the comdat
19327 section and name for the .vtable_map_vars section in case the
19328 target is PE or COFF.
19329
19330 2015-01-29 Jan Hubicka <hubicka@ucw.cz>
19331
19332 PR ipa/64801
19333 * cgraphunit.c (init_lowered_empty_function): Add CoUNT parameter;
19334 make sane BB profile.
19335 (cgraph_node::expand_thunk): Make sane BB profile.
19336 (cgraph_node::create_wrapper): Do not set call_stmt_cannot_inline_p.
19337 * cgraph.h (init_lowered_empty_function): Update prototype.
19338 * config/i386/i386.c (make_resolver_func): Update call.
19339 * predict.c (gate): Disable branch prediction pass if
19340 profile is already there.
19341
19342 2015-01-29 Jan Hubicka <hubicka@ucw.cz>
19343
19344 * optc-save-gen.awk: flag_fp_contract_mode is no longer speical.
19345 * opth-gen.awk: Likewise.
19346 * common.opt: Mark flag_fp_contract_mode as Optimization.
19347
19348 2015-01-29 Bernd Edlinger <bernd.edlinger@hotmail.de>
19349
19350 * config/i386/cygwin.h (LIBGCJ_SONAME): Set libgcj version to -16.
19351 * config/i386/mingw32.h (LIBGCJ_SONAME): Set libgcj version to -16.
19352
19353 2015-01-28 Oleg Endo <olegendo@gcc.gnu.org>
19354
19355 PR target/64659
19356 * config/sh/predicates.md (atomic_arith_operand,
19357 atomic_logical_operand): Remove.
19358 * config/sh/sync.md (fetchop_predicate, fetchop_constraint): Remove.
19359 (atomic_arith_operand_0): New predicate.
19360 (atomic_compare_and_swap<mode>): Use arith_reg_dest for output values.
19361 Use atomic_arith_operand_0 for input values.
19362 (atomic_compare_and_swapsi_hard, atomic_compare_and_swap<mode>_hard,
19363 atomic_compare_and_swap<mode>_soft_gusa,
19364 atomic_compare_and_swap<mode>_soft_tcb,
19365 atomic_compare_and_swap<mode>_soft_imask): Use arith_reg_dest and
19366 arith_reg_operand instead of register_operand.
19367 (atomic_exchange<mode>): Use arith_reg_dest for output value. Use
19368 atomic_arith_operand_0 for newval input.
19369 (atomic_exchangesi_hard, atomic_exchange<mode>_hard,
19370 atomic_exchange<mode>_soft_gusa, atomic_exchange<mode>_soft_tcb,
19371 atomic_exchange<mode>_soft_imask): Use arith_reg_dest and
19372 arith_reg_operand instead of register_operand.
19373 (atomic_arith_operand_1, atomic_logical_operand_1): New predicates.
19374 fetchop_predicate_1, fetchop_constraint_1_llcs,
19375 fetchop_constraint_1_gusa, fetchop_constraint_1_tcb,
19376 fetchop_constraint_1_imask): New code iterator attributes.
19377 (atomic_fetch_<fetchop_name><mode>): Use arith_reg_dest instead of
19378 register_operand. Use fetchop_predicate_1.
19379 (atomic_fetch_<fetchop_name>si_hard,
19380 atomic_fetch_<fetchop_name><mode>_hard): Use arith_reg_dest instead of
19381 register_operand. Use fetchop_predicate_1, fetchop_constraint_1_llcs.
19382 (atomic_fetch_<fetchop_name><mode>_soft_gusa): Use arith_reg_dest
19383 and arith_reg_operand instead of register_operand. Use
19384 fetchop_predicate_1, fetchop_constraint_1_gusa.
19385 (atomic_fetch_<fetchop_name><mode>_soft_tcb): Use arith_reg_dest
19386 and arith_reg_operand instead of register_operand. Use
19387 fetchop_predicate_1, fetchop_constraint_1_tcb. Adjust asm sequence
19388 to allow R0 usage.
19389 (atomic_fetch_<fetchop_name><mode>_soft_imask): Use arith_reg_dest
19390 and arith_reg_operand instead of register_operand. Use
19391 fetchop_predicate_1, fetchop_constraint_1_imask. Adjust asm sequence
19392 to allow R0 usage.
19393 (atomic_fetch_nand<mode>): Use arith_reg_dest instead of
19394 register_operand. Use atomic_logical_operand_1.
19395 (atomic_fetch_nandsi_hard, atomic_fetch_nand<mode>_hard,
19396 atomic_fetch_nand<mode>_soft_gusa): Use arith_reg_dest and
19397 arith_reg_operand instead of register_operand.
19398 (atomic_fetch_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask):
19399 Use arith_reg_dest and arith_reg_operand instead of register_operand.
19400 Use logical_operand and rK08. Adjust asm sequence to allow R0 usage.
19401 (atomic_<fetchop_name>_fetch<mode>): Use arith_reg_dest instead of
19402 register_operand. Use fetchop_predicate_1.
19403 (atomic_<fetchop_name>_fetchsi_hard,
19404 atomic_<fetchop_name>_fetch<mode>_hard): Use arith_reg_dest and
19405 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
19406 fetchop_constraint_1_llcs.
19407 (atomic_<fetchop_name>_fetch<mode>_soft_gusa): Use arith_reg_dest and
19408 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
19409 fetchop_constraint_1_gusa.
19410 (atomic_<fetchop_name>_fetch<mode>_soft_tcb): Use arith_reg_dest and
19411 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
19412 fetchop_constraint_1_tcb. Adjust asm sequence to allow R0 usage.
19413 (atomic_<fetchop_name>_fetch<mode>_soft_imask): Use arith_reg_dest and
19414 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
19415 fetchop_constraint_1_imask. Adjust asm sequence to allow R0 usage.
19416 (atomic_nand_fetch<mode>): Use arith_reg_dest instead of
19417 register_operand. Use atomic_logical_operand_1.
19418 (atomic_nand_fetchsi_hard, atomic_nand_fetch<mode>_hard,
19419 atomic_nand_fetch<mode>_soft_gusa): Use arith_reg_dest and
19420 arith_reg_operand instead of register_operand.
19421 (atomic_nand_fetch<mode>_soft_tcb): Use arith_reg_dest and
19422 arith_reg_operand instead of register_operand. Use logical_operand
19423 and K08. Adjust asm sequence to allow R0 usage.
19424 (atomic_nand_fetch<mode>_soft_imask): Use arith_reg_dest and
19425 arith_reg_operand instead of register_operand. Use logical_operand
19426 and K08.
19427
19428 2015-01-28 Jakub Jelinek <jakub@redhat.com>
19429
19430 PR other/63504
19431 * dwarf2out.c (add_AT_wide, mem_loc_descriptor, loc_descriptor):
19432 Use ggc_alloc<wide_int> instead of ggc_cleared_alloc<wide_int>.
19433 (attr_checksum, attr_checksum_ordered, hash_loc_operands): Checksum
19434 only get_full_len HOST_WIDE_INTs from get_val () array rather than
19435 all bits in *val_wide.
19436
19437 2015-01-28 Jan Hubicka <hubicka@ucw.cz>
19438
19439 * varpool.c (tls_model_names): Fix names.
19440 (varpool_node::dump): Dump tls- prefix for tls models.
19441
19442 2015-01-28 Thomas Schwinge <thomas@codesourcery.com>
19443 Bernd Schmidt <bernds@codesourcery.com>
19444 Nathan Sidwell <nathan@codesourcery.com>
19445
19446 * config/nvptx/mkoffload.c: New file.
19447 * config/nvptx/t-nvptx: Add build rules for it.
19448 * config.gcc <nvptx-*> [$enable_as_accelerator = yes]
19449 (extra_programs): Add mkoffload.
19450 * config/nvptx/nvptx.c (nvptx_record_offload_symbol): New
19451 function.
19452 (TARGET_RECORD_OFFLOAD_SYMBOL): Define macro to use it.
19453
19454 2015-01-28 Yuri Rumyantsev <ysrumyan@gmail.com>
19455
19456 PR middle-end/64809
19457 * cfgexpand.c (reorder_operands): Skip debug gimples.
19458
19459 2015-01-28 Ilya Enkovich <ilya.enkovich@intel.com>
19460
19461 PR tree-optimization/64277
19462 * tree-ssa-loop-niter.c (record_nonwrapping_iv): Use base
19463 range info when possible to refine estimation.
19464
19465 2015-01-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
19466
19467 PR tree-optimization/64718
19468 * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Make bswap_type
19469 be a 16bit unsigned integer when n->range is 16.
19470 (bswap_replace): Convert src to that type if necessary for all bswap
19471 sizes. Fix rotation right notation in nearby comment. Use bswap_type
19472 set in pass_optimize_bswap::execute ().
19473
19474 2015-01-28 James Greenhalgh <james.greenhalgh@arm.com>
19475
19476 * config/aarch64/aarch64-simd.md (aarch64_abs<mode>): New.
19477 * config/aarch64/aarch64-simd-builtins.def (abs): Split by
19478 integer and floating point variants.
19479 * config/aarch64/iterators.md (unspec): Add UNSPEC_ABS.
19480
19481 2015-01-28 Robert Suchanek <robert.suchanek@imgtec.com>
19482
19483 * config/mips/mips.c (mips_hard_regno_mode_ok_p): Prohibit accumulators
19484 for all vector modes.
19485
19486 2015-01-28 Jakub Jelinek <jakub@redhat.com>
19487
19488 PR bootstrap/64612
19489 * doc/sourcebuild.texi (comdat_group): Document.
19490
19491 2015-01-28 Terry Guo <terry.guo@arm.com>
19492
19493 * config/arm/thumb1.md (*thumb1_movpc_insn): New insn pattern.
19494
19495 2015-01-27 David Malcolm <dmalcolm@redhat.com>
19496
19497 * toplev.c (print_version): Add param "show_global_state", and
19498 only print GGC and plugin information if it is true.
19499 (init_asm_output): Pass in "true" for the new param when calling
19500 print_version.
19501 (process_options): Likewise.
19502 (toplev::main): Likewise.
19503 * toplev.h (print_version): Add new param to decl.
19504
19505 2015-01-27 Jan Hubicka <hubicka@ucw.cz>
19506
19507 PR ipa/60871
19508 PR ipa/64139
19509 * tree.c (lookup_binfo_at_offset): New function.
19510 (get_binfo_at_offset): Use it.
19511
19512 2015-01-27 Jan Hubicka <hubicka@ucw.cz>
19513
19514 PR ipa/64282
19515 * gimple-fold.c (gimple_get_virt_method_for_vtable): Remove assert
19516 on vtable being vtable.
19517
19518 2015-01-27 Dominik Vogt <vogt@linux.vnet.ibm.com>
19519
19520 * doc/extend.texi: s/390: Update documentation of hotpatch attribute.
19521 * doc/invoke.texi (-mhotpatch): s/390: Update documentation of
19522 -mhotpatch= option.
19523 * config/s390/s390.opt (mhotpatch): s/390: Remove -mhotpatch and
19524 -mno-hotpatch options. Change syntax of -mhotpatch= option.
19525 * config/s390/s390.c (s390_hotpatch_trampoline_halfwords_default):
19526 Renamed.
19527 (s390_hotpatch_trampoline_halfwords_max): Renamed.
19528 (s390_hotpatch_hw_max): New name.
19529 (s390_hotpatch_trampoline_halfwords): Renamed.
19530 (s390_hotpatch_hw_before_label): New name.
19531 (get_hotpatch_attribute): Removed.
19532 (s390_hotpatch_hw_after_label): New name.
19533 (s390_handle_hotpatch_attribute): Add second parameter to hotpatch
19534 attribute.
19535 (s390_attribute_table): Ditto.
19536 (s390_function_num_hotpatch_trampoline_halfwords): Renamed.
19537 (s390_function_num_hotpatch_hw): New name.
19538 Remove special handling of inline functions and hotpatching.
19539 Return number of nops before and after the function label.
19540 (s390_can_inline_p): Removed.
19541 (s390_asm_output_function_label): Emit a configurable number of nops
19542 after the function label.
19543 (s390_option_override): Update -mhotpatch= syntax and remove -mhotpatch.
19544 (TARGET_CAN_INLINE_P) Removed.
19545 (TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): New.
19546
19547 2015-01-27 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
19548 Jiong Wang <jiong.wang@arm.com>
19549
19550 * config/aarch64/aarch64.md (tb<optab><mode>1): Clobber CC reg instead
19551 of scratch reg.
19552 (cb<optab><mode>1): Likewise.
19553 * config/aarch64/iterators.md (bcond): New define_code_attr.
19554
19555 2015-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
19556
19557 * config/s390/s390.c (s390_memory_move_cost): Increase costs for
19558 memory accesses.
19559
19560 2015-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
19561
19562 * config/s390/s390.c (s390_register_move_cost): Increase costs for
19563 FPR->GPR moves.
19564
19565 2015-01-27 Richard Biener <rguenther@suse.de>
19566
19567 * tree-vrp.c (update_value_range): Intersect the range with
19568 old recorded SSA name range information.
19569
19570 2015-01-27 Nick Clifton <nickc@redhat.com>
19571
19572 * config/rl78/rl78.c (rl78_expand_prologue): In G10 mode push the
19573 BC, DE and HL registers directly, not via AX.
19574 When decrementing the stack pointer by a large amount, transfer SP
19575 into AX and perform the subtraction there.
19576 (rl78_expand_epilogue): Perform the inverse of the above
19577 enhancements.
19578
19579 2015-01-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
19580
19581 * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Remove.
19582
19583 2015-01-27 Jakub Jelinek <jakub@redhat.com>
19584 Yury Gribov <y.gribov@samsung.com>
19585
19586 PR ubsan/64741
19587 * ubsan.c (ubsan_source_location): Refactor code.
19588 (ubsan_type_descriptor): Update type size. Refactor code.
19589
19590 2015-01-27 Richard Biener <rguenther@suse.de>
19591
19592 PR tree-optimization/56273
19593 PR tree-optimization/59124
19594 PR tree-optimization/64277
19595 * tree-vrp.c (vrp_finalize): Emit array-bound warnings only
19596 from the first VRP pass.
19597
19598 2015-01-27 Jakub Jelinek <jakub@redhat.com>
19599
19600 PR ipa/64776
19601 * cgraphunit.c (cgraph_node::expand_thunk): If not this_adjusting,
19602 handle the first argument in the same loop as all the other arguments.
19603
19604 PR rtl-optimization/61058
19605 * jump.c (cleanup_barriers): Update basic block boundaries
19606 if BLOCK_FOR_INSN is non-NULL on PREV.
19607
19608 2015-01-27 Ilya Enkovich <ilya.enkovich@intel.com>
19609
19610 * tree-chkp.c (chkp_call_returns_bounds_p): Fix handling of
19611 bounds narrowing, already instrumented calls and calls to
19612 not instrumentable functions.
19613
19614 2015-01-27 Jakub Jelinek <jakub@redhat.com>
19615
19616 PR tree-optimization/64807
19617 * wide-int.cc (wi::divmod_internal): Clear
19618 b_dividend[dividend_blocks_needed].
19619
19620 2015-01-26 DJ Delorie <dj@redhat.com>
19621
19622 * config/rl78/rl78.c (move_elim_pass): Don't optimize away
19623 volatile memory references.
19624
19625 2015-01-26 Oleg Endo <olegendo@gcc.gnu.org>
19626
19627 PR target/49263
19628 * config/sh/sh.c (sh_split_treg_set_expr): Invoke emit_insn before
19629 remove_insn.
19630 * config/sh/sh.md (tstsi_t): Don't try to optimize constant with right
19631 shifts if it already fits into K08.
19632
19633 2015-01-26 Jakub Jelinek <jakub@redhat.com>
19634
19635 PR ipa/64730
19636 * ipa-inline.c (inline_small_functions): Print "unknown" even
19637 if edge->call_stmt is non-NULL, but has builtins or unknown
19638 location.
19639
19640 PR middle-end/64421
19641 * omp-low.c (simd_clone_mangle): If DECL_ASSEMBLER_NAME starts
19642 with asterisk, skip the first character.
19643
19644 2015-01-26 H.J. Lu <hongjiu.lu@intel.com>
19645
19646 PR target/64806
19647 * config/i386/i386 (feature_priority): Revert the last P_POPCNT
19648 order change.
19649
19650 2015-01-26 Uros Bizjak <ubizjak@gmail.com>
19651
19652 PR target/64795
19653 * config/i386/i386.md (*movdi_internal): Also check operand 0
19654 to determine TYPE_LEA operand.
19655 (*movsi_internal): Ditto.
19656
19657 2015-01-26 Jakub Jelinek <jakub@redhat.com>
19658
19659 * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add
19660 OPTION_MASK_QUAD_MEMORY_ATOMIC.
19661
19662 2015-01-26 Renlin Li <renlin.li@arm.com>
19663
19664 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Correct
19665 the comment.
19666 * config/aarch64/aarch64.md (tlsle_small_<mode>): Add left shift 12-bit
19667 for higher part.
19668
19669 2015-01-26 Richard Biener <rguenther@suse.de>
19670
19671 PR middle-end/64764
19672 * tree-ssa-uninit.c (is_pred_expr_subset_of): Handle
19673 combining two BIT_AND_EXPR predicates.
19674
19675 2015-01-26 H.J. Lu <hongjiu.lu@intel.com>
19676
19677 PR bootstrap/64754
19678 * tree-ssa-structalias.c (new_var_info): Initialize ruid.
19679
19680 2015-01-26 Terry Guo <terry.guo@arm.com>
19681
19682 * config/arm/arm.c (arm_file_start): Update the assignment of
19683 Tag_ABI_HardFP_use.
19684
19685 2015-01-25 James Greenhalgh <james.greenhalgh@arm.com>
19686
19687 * config/arm/arm-cores.def (cortex-a57): Use the new Cortex-A57
19688 pipeline model.
19689 config/arm/arm.md: Include the new Cortex-A57 model.
19690 (generic_sched): Don't use generic_sched when tuning for
19691 Cortex-A57.
19692
19693 2015-01-25 Allan Sandfeld Jensen <sandfeld@kde.org>
19694 Uros Bizjak <ubizjak@gmail.com>
19695
19696 * config/i386/i386.c (get_builtin_code_for_version): Add
19697 support for BMI and BMI2 multiversion functions.
19698
19699 2015-01-25 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
19700
19701 * emit-rtl.h (store_bit_field): Move prototype to expmed.h.
19702 (extract_bit_field): Likewise.
19703 (extract_low_bits): Likewise.
19704 (expand_mult): Likewise.
19705 (expand_mult_highpart_adjust): Likewise.
19706
19707 2015-01-24 H.J. Lu <hongjiu.lu@intel.com>
19708
19709 * config/i386/driver-i386.c (host_detect_local_cpu): Check new
19710 Silvermont, Haswell, Broadwell and Knights Landing model numbers.
19711 * config/i386/i386.c (processor_model): Add
19712 M_INTEL_COREI7_BROADWELL.
19713 (arch_names_table): Add "broadwell".
19714
19715 2015-01-24 Oleg Endo <olegendo@gcc.gnu.org>
19716
19717 PR target/49263
19718 PR target/53987
19719 PR target/64345
19720 PR target/59533
19721 PR target/52933
19722 PR target/54236
19723 PR target/51244
19724 * config/sh/sh-protos.h
19725 (sh_extending_set_of_reg::can_use_as_unextended_reg,
19726 sh_extending_set_of_reg::use_as_unextended_reg,
19727 sh_is_nott_insn, sh_movt_set_dest, sh_movrt_set_dest, sh_is_movt_insn,
19728 sh_is_movrt_insn, sh_insn_operands_modified_between_p,
19729 sh_reg_dead_or_unused_after_insn, sh_in_recog_treg_set_expr,
19730 sh_recog_treg_set_expr, sh_split_treg_set_expr): New functions.
19731 (sh_treg_insns): New class.
19732 * config/sh/sh.c (TARGET_LEGITIMATE_COMBINED_INSN): Define target hook.
19733 (scope_counter): New class.
19734 (sh_legitimate_combined_insn, sh_is_nott_insn, sh_movt_set_dest,
19735 sh_movrt_set_dest, sh_reg_dead_or_unused_after_insn,
19736 sh_extending_set_of_reg::can_use_as_unextended_reg,
19737 sh_extending_set_of_reg::use_as_unextended_reg, sh_recog_treg_set_expr,
19738 sh_in_recog_treg_set_expr, sh_try_split_insn_simple,
19739 sh_split_treg_set_expr): New functions.
19740 (addsubcosts): Handle treg_set_expr.
19741 (sh_rtx_costs): Handle IF_THEN_ELSE and ZERO_EXTRACT.
19742 (sh_rtx_costs): Use arith_reg_operand in SIGN_EXTEND and ZERO_EXTEND.
19743 (sh_rtx_costs): Handle additional bit test patterns in EQ and AND cases.
19744 (sh_insn_operands_modified_between_p): Make non-static.
19745 * config/sh/predicates.md (zero_extend_movu_operand): Allow
19746 simple_mem_operand in addition to displacement_mem_operand.
19747 (zero_extend_operand): Don't allow zero_extend_movu_operand.
19748 (treg_set_expr, treg_set_expr_not_const01,
19749 arith_reg_or_treg_set_expr): New predicates.
19750 * config/sh/sh.md (tstsi_t): Use arith_reg_operand and
19751 arith_or_int_operand instead of logical_operand. Convert to
19752 insn_and_split. Try to optimize constant operand in splitter.
19753 (tsthi_t, tstqi_t): Fold into *tst<mode>_t. Convert to insn_and_split.
19754 (*tstqi_t_zero): Delete.
19755 (*tst<mode>_t_subregs): Add !sh_in_recog_treg_set_expr split condition.
19756 (tstsi_t_and_not): Delete.
19757 (tst<mode>_t_zero_extract_eq): Rename to *tst<mode>_t_zero_extract.
19758 Convert to insn_and_split.
19759 (unnamed split, tstsi_t_zero_extract_xor,
19760 tstsi_t_zero_extract_subreg_xor_little,
19761 tstsi_t_zero_extract_subreg_xor_big): Delete.
19762 (*tstsi_t_shift_mask): New insn_and_split.
19763 (cmpeqsi_t, cmpgesi_t): Add new split for const_int 0 operands and try
19764 to recombine with surrounding insns when splitting.
19765 (*negtstsi): Add !sh_in_recog_treg_set_expr condition.
19766 (cmp_div0s_0, cmp_div0s_1, *cmp_div0s_0, *cmp_div0s_1): Rewrite as ...
19767 (cmp_div0s, *cmp_div0s_1, *cmp_div0s_2, *cmp_div0s_3, *cmp_div0s_4,
19768 *cmp_div0s_5, *cmp_div0s_6): ... these new insn_and_split patterns.
19769 (*cbranch_div0s: Delete.
19770 (*addc): Convert to insn_and_split. Use treg_set_expr as 3rd operand.
19771 Try to recombine with surrounding insns when splitting. Add operand
19772 order variants.
19773 (*addc_t_r, *addc_r_t): Use treg_set_expr_not_const01.
19774 (*addc_r_r_1, *addc_r_lsb, *addc_r_r_lsb, *addc_r_lsb_r, *addc_r_msb,
19775 *addc_r_r_msb, *addc_2r_msb): Delete.
19776 (*addc_2r_lsb): Rename to *addc_2r_t. Use treg_set_expr. Add operand
19777 order variant.
19778 (*addc_negreg_t): New insn_and_split.
19779 (*subc): Convert to insn_and_split. Use treg_set_expr as 3rd operand.
19780 Try to recombine with surrounding insns when splitting.
19781 Add operand order variants.
19782 (*subc_negt_reg, *subc_negreg_t, *reg_lsb_t, *reg_msb_t): New
19783 insn_and_split patterns.
19784 (*rotcr): Use arith_reg_or_treg_set_expr. Try to recombine with
19785 surrounding insns when splitting.
19786 (unnamed rotcr split): Use arith_reg_or_treg_set_expr.
19787 (*rotcl): Likewise. Add zero_extract variant.
19788 (*ashrsi2_31): New insn_and_split.
19789 (*negc): Convert to insn_and_split. Use treg_set_expr.
19790 (*zero_extend<mode>si2_disp_mem): Update comment.
19791 (movrt_negc, *movrt_negc, nott): Add !sh_in_recog_treg_set_expr split
19792 condition.
19793 (*mov_t_msb_neg, mov_neg_si_t): Use treg_set_expr. Try to recombine
19794 with surrounding insns when splitting.
19795 (any_treg_expr_to_reg): New insn_and_split.
19796 (*neg_zero_extract_0, *neg_zero_extract_1, *neg_zero_extract_2,
19797 *neg_zero_extract_3, *neg_zero_extract_4, *neg_zero_extract_5,
19798 *neg_zero_extract_6, *zero_extract_0, *zero_extract_1,
19799 *zero_extract_2): New single bit zero extract patterns.
19800 (bld_reg, *bld_regqi): Fold into bld<mode>_reg.
19801 (*get_thread_pointersi, store_gbr, *mov<mode>_gbr_load,
19802 *mov<mode>_gbr_load, *mov<mode>_gbr_load, *mov<mode>_gbr_load,
19803 *movdi_gbr_load): Use arith_reg_dest instead of register_operand for
19804 set destination.
19805 (set_thread_pointersi, load_gbr): Use arith_reg_operand instead of
19806 register_operand for set source.
19807
19808 2015-01-23 Jan Hubicka <hubicka@ucw.cz>
19809
19810 * i386.opt (prefetch_sse): New targetsave.
19811 * i386.c (ix86_function_specific_save): Save prefetch_sse.
19812 (ix86_function_specific_restore): Restore prefetch_sse and initialize
19813 ix86_cost/ix86_tune_cost.
19814
19815 2015-01-23 David Malcolm <dmalcolm@redhat.com>
19816
19817 * config/rs6000/rs6000.c (rs6000_output_function_epilogue):
19818 Support the JIT by using 0 as the language type.
19819
19820 2015-01-23 Vladimir Makarov <vmakarov@redhat.com>
19821
19822 PR target/64317
19823 * lra-lives.c (make_hard_regno_born): Add parameter. Don't make
19824 REAL_PIC_OFFSET_TABLE_REGNUM conflicting with pic offset pseudo.
19825 (mark_regno_live, process_bb_lives): Pass new parameter value to
19826 make_hard_regno_born.
19827
19828 2015-01-23 Jakub Jelinek <jakub@redhat.com>
19829
19830 PR rtl-optimization/63637
19831 PR rtl-optimization/60663
19832 * cse.c (merge_equiv_classes): Set new_elt->cost to MAX_COST
19833 if elt->cost is MAX_COST for ASM_OPERANDS.
19834 (find_sets_in_insn): Fix up comment typo.
19835 (cse_insn): Don't set src_volatile for all non-volatile
19836 ASM_OPERANDS in PARALLELs, but just those with multiple outputs
19837 or with "memory" clobber. Set elt->cost to MAX_COST
19838 for ASM_OPERANDS in PARALLEL. Set src_elt->cost to MAX_COST
19839 if new_src is ASM_OPERANDS and elt->cost is MAX_COST.
19840
19841 2015-01-23 Uros Bizjak <ubizjak@gmail.com>
19842
19843 * config/i386/sse.md (sse2_loadld): Set attribute isa to sse2 for
19844 alternative 1.
19845
19846 2015-01-23 Uros Bizjak <ubizjak@gmail.com>
19847
19848 * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Move definition to
19849 libgcc/config/i386/elf-lib.h.
19850
19851 2015-01-23 Jakub Jelinek <jakub@redhat.com>
19852
19853 PR driver/64737
19854 * gcc.c (print_configuration): Don't print a blank line at the end
19855 here...
19856 (run_attempt): ... but here unstead.
19857
19858 PR middle-end/64734
19859 * omp-low.c (scan_sharing_clauses): Don't ignore
19860 OMP_CLAUSE_MAP_ZERO_BIAS_ARRAY_SECTION GOMP_MAP_POINTER clauses
19861 on target data/update constructs.
19862
19863 2015-01-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
19864
19865 PR target/50928
19866 * config/m32c/m32c.c (encode_pattern_1): Removed gcc_unreachable here.
19867 (DEBUG_RELOAD): Removed define.
19868 (m32c_limit_reload_class): Enable traces with if DEBUG0.
19869 (m32c_function_arg): Added a type cast.
19870 (m32c_legitimize_reload_address): Push A_REGS reload with PSImode.
19871 * config/m32c/addsub.md (addsi3_1): Specify the mode of all arguments.
19872 * config/m32c/bitops.md (andqi3_16): Likewise.
19873 * config/m32c/mov.md (m32c_immd_dbl_mov): Likewise.
19874 (push_a01_l): Likewise.
19875
19876 2015-01-23 David Malcolm <dmalcolm@redhat.com>
19877
19878 PR jit/64721
19879 * main.c (main): Construct toplev instances with init_signals=true.
19880 * toplev.c (general_init): Add param "init_signals", and use it to
19881 conditionalize the calls to signal and host_hooks.extra_signals.
19882 (toplev::toplev): Add param "init_signals".
19883 (toplev::main): When invoking general_init, pass m_init_signals
19884 to control whether signal-handlers are installed.
19885 * toplev.h (toplev::toplev): Add param "init_signals".
19886 (toplev::m_init_signals): New field.
19887
19888 2015-01-23 David Malcolm <dmalcolm@redhat.com>
19889
19890 PR jit/64722
19891 * emit-rtl.c (init_emit_regs): Set pic_offset_table_rtx to
19892 NULL_RTX before testing PIC_OFFSET_TABLE_REGNUM, since the
19893 latter may be affected by the former (e.g. on i686).
19894
19895 2015-01-23 Martin Liska <mliska@suse.cz>
19896
19897 * tree.h (tree_vec_elt_check): Workaround -Wstrict-overflow
19898 false positive during profiledbootstrap.
19899
19900 2015-01-23 Tom de Vries <tom@codesourcery.com>
19901
19902 PR libgomp/64672
19903 * lto-opts.c (lto_write_options): Output non-explicit conservative
19904 -fno-openacc.
19905 * lto-wrapper.c (merge_and_complain): Handle merging -fopenacc.
19906 (append_compiler_options): Pass -fopenacc through.
19907
19908 2015-01-23 Tom de Vries <tom@codesourcery.com>
19909
19910 PR libgomp/64707
19911 * lto-opts.c (lto_write_options): Output non-explicit conservative
19912 -fno-openmp.
19913 * lto-wrapper.c (merge_and_complain): Handle merging -fopenmp.
19914 (append_compiler_options): Pass -fopenmp through.
19915
19916 2015-01-23 Jakub Jelinek <jakub@redhat.com>
19917
19918 PR debug/64511
19919 * dwarf2out.c (struct dw_loc_descr_node): Add chain_next
19920 GTY markup.
19921
19922 * diagnostic-core.h (internal_error_no_backtrace): New prototype.
19923 * diagnostic.def (DK_ICE_NOBT): New kind.
19924 * diagnostic.c (diagnostic_action_after_output): Handle DK_ICE_NOBT
19925 like DK_ICE, but never print backtrace.
19926 (diagnostic_report_diagnostic): Handle DK_ICE_NOBT like DK_ICE.
19927 (internal_error_no_backtrace): New function.
19928 * gcc.c (execute): Use internal_error_no_backtrace instead of
19929 internal_error.
19930
19931 2015-01-22 Jeff Law <law@redhat.com>
19932
19933 PR target/52076
19934 * config/m68k/m68k.md (xorsi3_internal): Twiddle constraints to
19935 improve code density for small immediate to memory case.
19936 (insv): Better handle bitfield assignments when the field is
19937 being set to all ones.
19938 * config/m68k/predicates.md (reg_or_pow2_m1_operand): New
19939 operand predicate.
19940
19941 2015-01-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
19942 Jakub Jelinek <jakub@redhat.com>
19943
19944 PR middle-end/64729
19945 * gcc.c (LINK_SSP_SPEC): Handle -fstack-protector-explicit
19946 for !TARGET_LIBC_PROVIDES_SSP version and
19947 -fstack-protector-{all,strong,explicit} otherwise.
19948 * config/freebsd.h (LINK_SSP_SPEC): Handle
19949 -fstack-protector-{strong,explicit}.
19950
19951 2015-01-22 Jan Hubicka <hubicka@ucw.cz>
19952 H.J. Lu <hongjiu.lu@intel.com>
19953
19954 PR ipa/64694
19955 * ipa-inline.c (inline_small_functions): Fix thinko in maintenance of
19956 heap.
19957
19958 2015-01-22 Wei Mi <wmi@google.com>
19959
19960 PR rtl-optimization/64557
19961 * dse.c (record_store): Call get_addr for mem_addr.
19962 (check_mem_read_rtx): Likewise.
19963
19964 2015-01-22 Eric Botcazou <ebotcazou@adacore.com>
19965
19966 * fold-const.c (const_binop): Add early return for non-tcc_binary.
19967
19968 2015-01-22 Chen Gang <gang.chen.5i5j@gmail.com>
19969
19970 * toplev.c (init_local_tick): Process the failure when read
19971 fails for random_seed.
19972
19973 * ubsan.c (ubsan_type_descriptor): Use 'pretty_print' for
19974 'pretty_name' to avoid memory overflow.
19975
19976 2015-01-22 Richard Biener <rguenther@suse.de>
19977
19978 PR middle-end/64728
19979 * tree-ssa-coalesce.c (coalesce_partitions): Do not perform
19980 abnormal coalescing on undefined SSA names.
19981
19982 2015-22-01 Uros Bizjak <ubizjak@gmail.com>
19983
19984 PR target/64688
19985 PR target/64477
19986 * config/i386/sse.md (vec_set<mode>_0): Use (Yi/r/C) constraints
19987 for alternative 3.
19988 (*vec_dup<mode>): Use (Yi/$r) constraints for alternative 1.
19989
19990 2015-01-22 Trevor Saunders <tsaunders@mozilla.com>
19991
19992 PR middle-end/63325
19993 * fold-const.c (fold_checksum_tree): Don't include value of
19994 expr->decl_with_vis.symtab_node in the checksum.
19995
19996 2015-01-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
19997
19998 * config/s390/s390.md (atomic code attribute): Fix typo "ior" -> "or".
19999
20000 2015-01-22 Max Ostapenko <m.ostapenko@partner.samsung.com>
20001
20002 PR driver/64690
20003 * gcc.c (insert_comments): New function.
20004 (try_generate_repro): Call it.
20005 (append_text): Removed.
20006
20007 2015-01-22 Richard Biener <rguenther@suse.de>
20008
20009 * ipa-inline.c (can_inline_edge_p): Disable inlining of edges
20010 with IL incompatible options. Properly honor user optimize
20011 attributes.
20012
20013 2015-01-21 Segher Boessenkool <segher@kernel.crashing.org>
20014
20015 PR rtl-optimization/64682
20016 * combine.c (distribute_notes): When moving a death note for
20017 a register that is set in the new I2, make sure to put it
20018 before that new I2.
20019
20020 2015-01-21 David Edelsohn <dje.gcc@gmail.com>
20021
20022 * config/rs6000/rs6000.c (rs6000_file_start): Use rs6000_isa_flags
20023 not TARGET_DEFAULT.
20024
20025 2015-01-21 Jakub Jelinek <jakub@redhat.com>
20026
20027 PR debug/64511
20028 * simplify-rtx.c (simplify_relational_operation_1): Don't try to
20029 optimize (eq/ne (and (side_effects) (const_int 0)) (const_int 0))
20030 into (eq/ne (and (not (side_effects)) (const_int 0)) (const_int 0)).
20031
20032 PR sanitizer/64706
20033 * doc/invoke.texi (-fsanitize=vptr): Document.
20034
20035 PR rtl-optimization/62078
20036 * dse.c: Include cfgcleanup.h.
20037 (rest_of_handle_dse): For -fnon-call-exceptions, if DSE removed
20038 anything call purge_all_dead_edges and cleanup_cfg at the end
20039 of the pass.
20040
20041 2015-01-21 Jan Hubicka <hubicka@ucw.cz>
20042
20043 * ipa-utils.c (ipa_merge_profiles): Avoid ICE on mismatch in indirect
20044 edges.
20045
20046 2015-01-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
20047
20048 * gimplify.c (gimplify_function_tree): Check the no_sanitize_thread
20049 decl attribute.
20050
20051 2015-01-21 David Sherwood <david.sherwood@arm.com>
20052 Tejas Belagod <Tejas.Belagod@arm.com>
20053
20054 * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Removed.
20055 * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class): Removed.
20056 * config/aarch64/aarch64-protos.h (aarch64_cannot_change_mode_class):
20057 Removed.
20058
20059 2015-01-21 David Sherwood <david.sherwood@arm.com>
20060 Tejas Belagod <Tejas.Belagod@arm.com>
20061
20062 * config/aarch64/aarch64-protos.h (aarch64_simd_attr_length_rglist)
20063 (aarch64_reverse_mask): New decls.
20064 * config/aarch64/iterators.md (UNSPEC_REV_REGLIST): New enum.
20065 (insn_count): New mode_attr.
20066 * config/aarch64/aarch64-simd.md (vec_store_lanesoi, vec_store_lanesci)
20067 (vec_store_lanesxi, vec_load_lanesoi, vec_load_lanesci)
20068 (vec_load_lanesxi): Made ABI compliant for Big Endian targets.
20069 (aarch64_rev_reglist, aarch64_simd_ld2, aarch64_simd_ld3)
20070 (aarch64_simd_ld4, aarch64_simd_st2, aarch64_simd_st3)
20071 (aarch64_simd_st4): New patterns.
20072 * config/aarch64/aarch64.c (aarch64_simd_attr_length_rglist)
20073 (aarch64_reverse_mask): New functions.
20074
20075 2015-01-21 Richard Sandiford <richard.sandiford@arm.com>
20076
20077 * config/aarch64/aarch64-protos.h (aarch64_simd_disambiguate_copy):
20078 Declare.
20079 * config/aarch64/aarch64.c (aarch64_classify_address): Allow extra
20080 addressing modes for BE.
20081 (aarch64_print_operand): Add 'R' specifier.
20082 (aarch64_simd_disambiguate_copy): Delete.
20083 (aarch64_simd_emit_reg_reg_move): New function.
20084 * config/aarch64/aarch64-simd.md: Use aarch64_simd_emit_reg_reg_move
20085 in define_splits for structural moves.
20086 (mov<mode>): Use less restrictive predicates.
20087 (*aarch64_mov<mode>): Simplify and only allow for LE.
20088 (*aarch64_be_movoi, *aarch64_be_movci, *aarch64_be_movxi): New.
20089
20090 2015-01-21 Alan Hayward <alan.hayward@arm.com>
20091
20092 * rtlanal.c (subreg_get_info): Exit early for simple and common cases.
20093
20094 2015-01-21 Richard Henderson <rth@redhat.com>
20095
20096 PR target/64669
20097 * ccmp.c (used_in_cond_stmt_p): Remove.
20098 (expand_ccmp_expr): Don't use it.
20099
20100 2015-01-21 Nick Clifton <nickc@redhat.com>
20101
20102 * config/rl78/rl78.c (rl78_calculate_death_notes): Look inside
20103 PARALLELs.
20104
20105 2015-01-21 Richard Biener <rguenther@suse.de>
20106
20107 PR middle-end/64313
20108 * tree-core.h (builtin_info, builtin_info_type): Turn from
20109 an object with two arrays into an array of an object with
20110 decl and two flags, implicit_p and declared_p.
20111 * tree.h (builtin_decl_explicit, builtin_decl_implicit,
20112 set_builtin_decl, set_builtin_decl_implicit_p,
20113 builtin_decl_explicit_p, builtin_decl_implicit_p): Adjust.
20114 (set_builtin_decl_declared_p, builtin_decl_declared_p): New functions.
20115 * builtins.c (builtin_info): Adjust.
20116 * gimplify.c (gimplify_addr_expr): References to builtins
20117 that have been declared by the user makes them eligible for
20118 use by the compiler. Call set_builtin_decl_implicit_p on them.
20119
20120 2015-01-20 Jeff Law <law@redhat.com>
20121
20122 PR target/59946
20123 * config/m68k/m68k.md (Comparison expanders and patterns): Do not
20124 allow pc-relative addresses in operand predicates or constraints.
20125
20126 2015-01-21 Bin Cheng <bin.cheng@arm.com>
20127
20128 * config/arm/arm.c (arm_cortex_a53_tune, arm_cortex_a57_tune): Prefer
20129 neon on aarch32 processors for stringops.
20130
20131 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
20132
20133 PR ipa/63576
20134 * ipa-utils.c (ipa_merge_profiles): Merge speculative edges.
20135
20136 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
20137
20138 PR lto/45375
20139 * ipa-inline.c: Include lto-streamer.h
20140 (report_inline_failed_reason): Output source file differences and
20141 flags on optimization/target node mismatch.
20142 (can_inline_edge_p): Consider caller to be the outer inline function;
20143 be less restrictive about matching opimize and optimize_size attributes.
20144 (inline_account_function_p): Break out from ...
20145 (inline_small_functions): ... here.
20146 * ipa-inline-transform.c (clone_inlined_nodes): Use
20147 inline_account_function_p.
20148 (inline_call): Use optimize attribution; use inline_account_function_p.
20149 (inline_transform): Use opt_for_fn.
20150 * ipa-inline.h (inline_account_function_p): Declare.
20151
20152 2015-01-20 Jakub Jelinek <jakub@redhat.com>
20153
20154 PR debug/64663
20155 * dwarf2out.c (decl_piece_node): Don't put bitsize into
20156 mode if bitsize <= 0.
20157 (decl_piece_bitsize, adjust_piece_list, add_var_loc_to_decl,
20158 dw_sra_loc_expr): Use HOST_WIDE_INT instead of int for bit
20159 sizes and positions.
20160
20161 2015-01-20 Chung-Lin Tang <cltang@codesourcery.com>
20162
20163 * config/nios2/nios2.c (nios2_asm_file_end): Implement
20164 TARGET_ASM_FILE_END hook for adding .note.GNU-stack section when
20165 needed.
20166 (TARGET_ASM_FILE_END): Define.
20167
20168 2015-01-20 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
20169
20170 * config/arm/arm-protos.h (enum arm_sched_autopref): New constants.
20171 (struct tune_params): Use the enum.
20172 * arm.c (arm_*_tune): Update.
20173 (arm_option_override): Update.
20174
20175 2015-01-20 Richard Biener <rguenther@suse.de>
20176
20177 PR ipa/64684
20178 * ipa-reference.c (add_static_var): Inline ...
20179 (analyze_function): ... here after splitting out from ...
20180 (is_proper_for_analysis): ... this.
20181
20182 2015-01-20 Matthew Wahab <matthew.wahab@arm.com>
20183
20184 PR target/64149
20185 * config/arm/arm.opt: Remove lra option and arm_lra_flag variablesle.
20186 * config/arm/arm.h (MODE_BASE_REG_CLASS): Remove use of arm_lra_flagag,
20187 replace the conditional with it's true branch.
20188 * config/arm/arm.config (TARGET_LRA_P): Set to hook_bool_void_true.
20189 (arm_lra_p): Remove.
20190
20191 2015-01-20 Eric Botcazou <ebotcazou@adacore.com>
20192
20193 * config/visium/visium.h (LIB_SPEC): Adjust in default case.
20194
20195 2015-01-20 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
20196
20197 * config/tilegx/mul-tables.c: Move symtab.h include after
20198 coretypes.h include.
20199 * config/tilepro/mul-tables.c: Add includes hashtab.h, hash-set.h,
20200 vec.h, machmode.h, tm.h, hard-reg-set.h, input.h, function.h, rtl.h,
20201 flags.h, statistics.h, double-int.h, real.h, fixed-value.h, alias.h,
20202 wide-int.h, inchash.h, tree.h, insn-config.h, expmed.h, dojump.h,
20203 explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.
20204
20205 2015-01-20 Igor Zamyatin <igor.zamyatin@intel.com>
20206
20207 PR bootstrap/64676
20208 Revert:
20209 2015-01-19 Igor Zamyatin <igor.zamyatin@intel.com>
20210
20211 PR rtl-optimization/64081
20212 * loop-iv.c (def_pred_latch_p): New function.
20213 (latch_dominating_def): Allow specific cases with non-single
20214 definitions.
20215 (iv_get_reaching_def): Likewise.
20216 (check_complex_exit_p): New function.
20217 (check_simple_exit): Use check_complex_exit_p to allow certain cases
20218 with exits not executing on any iteration.
20219
20220 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
20221
20222 PR lto/45375
20223 * i386.c (ix86_option_override_internal): Use ix86_tune_cost
20224 to set branch cost.
20225
20226 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
20227
20228 PR lto/45375
20229 * i386.c (gate): Check flag_expensive_optimizations and
20230 optimize_size.
20231 (ix86_option_override_internal): Drop optimize_size condition
20232 on MASK_ACCUMULATE_OUTGOING_ARGS, MASK_VZEROUPPER,
20233 MASK_AVX256_SPLIT_UNALIGNED_LOAD, MASK_AVX256_SPLIT_UNALIGNED_STORE,
20234 MASK_PREFER_AVX128.
20235 (ix86_avx256_split_vector_move_misalign,
20236 ix86_avx256_split_vector_move_misalign): Check optimize_insn_for_speed.
20237 * sse.md (all uses of TARGET_PREFER_AVX128): Add
20238 optimize_insn_for_speed_p check.
20239
20240 2015-01-19 Matthew Fortune <matthew.fortune@imgtec.com>
20241
20242 * config/mips/mips.h (FP_ASM_SPEC): New define.
20243 (ASM_SPEC): Remove floating-point options and use FP_ASM_SPEC
20244 instead.
20245
20246 2015-01-19 Oleg Endo <olegendo@gcc.gnu.org>
20247
20248 PR target/53988
20249 * config/sh/sh-protos.h (sh_find_set_of_reg): Make sure not to return
20250 nullptr for insn when reaching the first insn.
20251 * config/sh/sh.c (sh_unspec_insn_p): Rewrite using subrtx_iterator.
20252 (sh_insn_operands_modified_between_p): Add nullptr check.
20253 (sh_find_extending_set_of_reg): Fix log message. Don't accept
20254 sign extending mem load if the insn contains any UNSPEC or
20255 UNSPEC_VOLATILE.
20256
20257 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
20258
20259 * params.def (inline-unit-growth): Drop to 15%.
20260 * invoke.texi (inline-unit-growth): Document change.
20261
20262 2015-01-19 Martin Liska <mliska@suse.cz>
20263
20264 PR ipa/64668
20265 * ipa-icf-gimple.c (func_checker::compare_operand): Call proper
20266 function for second argument of OBJ_TYPE_REF.
20267
20268 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
20269
20270 PR ipa/64218
20271 * ipa-inline.c (want_inline_function_to_all_callers_p): Fix check
20272 whether function is an alias.
20273
20274 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
20275
20276 * ipa-devirt.c (ipa_devirt): Drop polymorphic call info in hopeless
20277 cases.
20278
20279 2015-01-19 Vladimir Makarov <vmakarov@redhat.com>
20280
20281 PR rtl-optimization/64671
20282 * lra-remat.c (operand_to_remat): Don't consider jump and call
20283 insns.
20284
20285 2015-01-19 David Edelsohn <dje.gcc@gmail.com>
20286
20287 PR target/59828
20288 * config/rs6000/default64.h: Include rs6000-cpus.def.
20289 (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use ISA 2.7 (POWER8).
20290 (TARGET_DEFAULT) [BIG_ENDIAN]: Use POWER4.
20291 * config/rs6000/driver-rs6000.c (detect_processor_aix): Add POWER7
20292 and POWER8.
20293 * config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Always default to
20294 POWER8.
20295 * config/rs6000/rs6000.c (rs6000_file_start): Emit .machine
20296 pseudo-op to specify assembler dialect.
20297
20298 2015-01-19 Martin Liska <mliska@suse.cz>
20299
20300 PR ipa/64664
20301 * ipa-icf.c (sem_item_optimizer::filter_removed_items):
20302 Handle safe potentially removed nodes during filtering.
20303
20304 2015-01-19 Martin Liska <mliska@suse.cz>
20305
20306 * doc/extend.texi (no_icf): Add new attribute description.
20307 * ipa-icf.c (sem_item_optimizer::merge_classes): Handle cases
20308 where the pass attempts to merge a function with no_icf attribute.
20309
20310 2015-01-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
20311
20312 PR target/64532
20313 * doc/md.texi (ARM Options): Document register constraints.
20314
20315 2015-01-19 Jiong Wang <jiong.wang@arm.com>
20316 Andrew Pinski <apinski@cavium.com>
20317
20318 PR target/64304
20319 * config/aarch64/aarch64.md (define_insn "*ashl<mode>3_insn"): Deleted.
20320 (ashl<mode>3): Don't expand if operands[2] is not constant.
20321
20322 2015-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
20323
20324 PR target/64448
20325 * config/aarch64/aarch64-simd.md (aarch64_simd_bsl<mode>_internal):
20326 Match xor-and-xor RTL pattern.
20327
20328 2015-01-19 Igor Zamyatin <igor.zamyatin@intel.com>
20329
20330 PR rtl-optimization/64081
20331 * loop-iv.c (def_pred_latch_p): New function.
20332 (latch_dominating_def): Allow specific cases with non-single
20333 definitions.
20334 (iv_get_reaching_def): Likewise.
20335 (check_complex_exit_p): New function.
20336 (check_simple_exit): Use check_complex_exit_p to allow certain cases
20337 with exits not executing on any iteration.
20338
20339 2015-01-19 Jakub Jelinek <jakub@redhat.com>
20340
20341 * common.opt (fgraphite): Fix a typo.
20342
20343 2015-01-19 Felix Yang <felix.yang@huawei.com>
20344
20345 * config/aarch64/aarch64-simd.md (aarch64_<maxmin_uns>p<mode>): New
20346 pattern.
20347 * config/aarch64/aarch64-simd-builtins.def (smaxp, sminp, umaxp,
20348 uminp, smax_nanp, smin_nanp): New builtins.
20349 * config/aarch64/arm_neon.h (vpmax_s8, vpmax_s16, vpmax_s32,
20350 vpmax_u8, vpmax_u16, vpmax_u32, vpmaxq_s8, vpmaxq_s16, vpmaxq_s32,
20351 vpmaxq_u8, vpmaxq_u16, vpmaxq_u32, vpmax_f32, vpmaxq_f32, vpmaxq_f64,
20352 vpmaxqd_f64, vpmaxs_f32, vpmaxnm_f32, vpmaxnmq_f32, vpmaxnmq_f64,
20353 vpmaxnmqd_f64, vpmaxnms_f32, vpmin_s8, vpmin_s16, vpmin_s32, vpmin_u8,
20354 vpmin_u16, vpmin_u32, vpminq_s8, vpminq_s16, vpminq_s32, vpminq_u8,
20355 vpminq_u16, vpminq_u32, vpmin_f32, vpminq_f32, vpminq_f64, vpminqd_f64,
20356 vpmins_f32, vpminnm_f32, vpminnmq_f32, vpminnmq_f64, vpminnmqd_f64,
20357 vpminnms_f32): Rewrite using builtin functions.
20358
20359 2015-01-19 Thomas Schwinge <thomas@codesourcery.com>
20360
20361 PR libgomp/64625
20362 * omp-low.c (offload_symbol_decl): Remove variable.
20363 (get_offload_symbol_decl): Remove function.
20364 (expand_omp_target): For BUILT_IN_GOMP_TARGET,
20365 BUILT_IN_GOMP_TARGET_DATA, BUILT_IN_GOMP_TARGET_UPDATE pass NULL
20366 instead of &__OFFLOAD_TABLE__, for BUILT_IN_GOACC_DATA_START,
20367 BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL,
20368 BUILT_IN_GOACC_UPDATE don't pass it at all.
20369
20370 2015-01-19 Ilya Enkovich <ilya.enkovich@intel.com>
20371
20372 * tree-sra.c (some_callers_have_mismatched_arguments_p): Allow thunk
20373 callers.
20374
20375 2015-01-19 Ilya Enkovich <ilya.enkovich@intel.com>
20376
20377 * ipa-chkp.c (chkp_produce_thunks): Add early param
20378 to split thunks production into two passes. Keep
20379 'always_inline' function bodies after the first pass.
20380 (pass_data_ipa_chkp_early_produce_thunks): New.
20381 (pass_ipa_chkp_early_produce_thunks): New.
20382 (pass_ipa_chkp_produce_thunks::execute): Adjust to new
20383 chkp_produce_thunks signature.
20384 (make_pass_ipa_chkp_early_produce_thunks): New.
20385 * passes.def (pass_ipa_chkp_early_produce_thunks): New.
20386 (pass_ipa_chkp_produce_thunks): Move after local optimizations.
20387 * tree-pass.h (make_pass_ipa_chkp_early_produce_thunks): New.
20388
20389 2015-01-18 Jan Hubicka <hubicka@ucw.cz>
20390
20391 * cgraph.c (cgraph_node::dump): Dump profile flags.
20392
20393 2015-01-18 Oleg Endo <olegendo@gcc.gnu.org>
20394
20395 PR target/64652
20396 * config/sh/sh.md (udivsi3_i4, divsi3_i4): Make use of sfunc address
20397 reg appear first in the parallel.
20398
20399 2015-01-18 Jan Hubicka <hubicka@ucw.cz>
20400
20401 * ipa-reference.c (set_reference_optimization_summary,
20402 ipa_reference_get_not_written_global): Do nothing if ipa-reference is
20403 disabled.
20404 (ignore_module_statics): New static var.
20405 (propagate_bits): If ipa-reference is disabled, do not look into local
20406 properties.
20407 (analyze_function): Disable analysis when ipa_reference is disabled.
20408 (generate_summary): Do not dump when reference is disabled;
20409 collect vars accessed from functions with ipa-reference disabled.
20410 (get_read_write_all_from_node): When ipa-reference is disabled, use the
20411 node flags.
20412 (gate): Enable for LTO.
20413 (ignore_edge_p): New function.
20414 (propagate): Skip functions w/o ipa-reference analysis.
20415 * optc-save-gen.awk: Handle optimize_debug correctly.
20416 * opth-gen.awk: Likewise.
20417 * common.opt (fauto-inc-dec, fdelete-dead-exceptions, ffunction-cse,
20418 fgraphite, fstrict-volatile-bitfields, fira-algorithm, fira-region,
20419 fira-share-save-slots, fira-share-spill-slots,
20420 fmodulo-sched-allow-regmoves, fpartial-inlining,
20421 sched-stalled-insns, fsched-stalled-insns-dep, fstrict-overflow,
20422 ftracer, ftree-parallelize-loops, fassociative-math,
20423 freciprocal-math, fvect-cost-model, fsimd-cost-model): Mark as
20424 Optimization
20425 (fauto-profile, fcommon, fdata-sections, fipa-icf-variables,
20426 ftoplevel-reorder, funit-at-a-time, fwhole-program): Do not mark as
20427 Optimization.
20428 * ipa-icf.c (gate, sem_item_optimizer::filter_removed_items):
20429 Fix for IPA.
20430
20431 2015-01-18 Jan Hubicka <hubicka@ucw.cz>
20432
20433 PR ipa/64378
20434 * ipa-prop.c (try_make_edge_direct_virtual_call): Clear speculative
20435 flag correctly.
20436 * ipa-cp.c (ipa_get_indirect_edge_target_1): Handle speculation.
20437
20438 2015-01-18 Sandra Loosemore <sandra@codesourcery.com>
20439
20440 * doc/invoke.texi ([-funroll-loops], [-funroll-all-loops]):
20441 Remove duplicate option listings.
20442
20443 2015-01-18 Felix Yang <felix.yang@huawei.com>
20444
20445 * auto-profile.c (afdo_find_equiv_class): Remove unnecessary test.
20446 (autofdo_source_profile::get_callsite_total_count,
20447 function_instance::get_function_instance_by_decl,
20448 string_table::get_index, string_table::get_index_by_decl,
20449 afdo_vpt_for_early_inline, afdo_callsite_hot_enough_for_early_inline):
20450 Fix comment typos. Reformatting and minor code rearrangement.
20451
20452 2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
20453
20454 * config/rs6000/rs6000.md (probe_stack): Delete.
20455 (probe_stack_address): New.
20456
20457 2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
20458
20459 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Use TARGET_32BIT
20460 to test for 32-bit ABIs, not !TARGET_POWERPC64.
20461
20462 2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
20463
20464 * config/rs6000/rs6000.c (rs6000_parallel_return): New function.
20465 (rs6000_function_value): Use it. Handle SCmode and TCmode as well,
20466 for TARGET_32BIT && TARGET_POWERPC64. Fix another BITS_PER_WORD
20467 snafu.
20468 (rs6000_libcall_value): Use the new function.
20469
20470 2015-01-17 Sandra Loosemore <sandra@codesourcery.com>
20471
20472 * doc/invoke.texi ([-ftracer]): Remove duplicate option listing.
20473
20474 2015-01-17 Eric Botcazou <ebotcazou@adacore.com>
20475
20476 * reorg.c (fill_simple_delay_slots): If TARGET_FLAGS_REGNUM is valid,
20477 implement a more precise life analysis for it during backward scan.
20478
20479 2015-01-17 Jan Kratochvil <jan.kratochvil@redhat.com>
20480
20481 * dwarf2out.c (gen_producer_string): Ignore also OPT_fpreprocessed.
20482
20483 2015-01-17 Bernd Schmidt <bernds@codesourcery.com>
20484
20485 PR rtl-optimization/52773
20486 * calls.c (emit_library_call_value): When pushing arguments use
20487 stack_pointer_rtx rather than virtual_outgoing_args_rtx in
20488 CALL_INSN_FUNCTION_USAGE. Only emit one of use of the magic
20489 stack pointer reference into CALL_INSN_FUNCTION_USAGE.
20490
20491 2015-01-17 Jeff Law <law@redhat.com>
20492
20493 PR rtl-optimization/32790
20494 * reginfo.c (reg_scan_mark_refs): Look for ZERO_EXTRACT,
20495 not ZERO_EXTEND in SET_DESTs.
20496
20497 2015-01-17 Alan Modra <amodra@gmail.com>
20498
20499 * cprop.c (do_local_cprop): Revert last change.
20500
20501 2015-01-16 DJ Delorie <dj@redhat.com>
20502 Nick Clifton <nickc@redhat.com>
20503
20504 * config/rl78/rl78-real.md (addqi3_real): Allow volatiles.
20505 (addhi3_real): Likewise. Fix [HL+0] syntax.
20506 (subqi3_real): Likewise.
20507 (subhi3_real): Likewise.
20508 (cbranchqi4_real): Likewise. Allow saddr,#imm.
20509 (cbranchhi4_real): Likewise.
20510 (cbranchhi4_real_inverted): Likewise.
20511 (cbranchsi4_real_lt): Likewise.
20512 (cbranchsi4_real_ge): Likewise.
20513 (cbranchsi4_real_ge): Likewise.
20514 * config/rl78/rl78-virt.md (add<mode>3_virt): Likewise.
20515 (sub<mode>3_virt): Likewise.
20516 (cbranchqi4_virt): Likewise.
20517 (cbranchhi4_virt): Likewise.
20518 * config/rl78/rl78.c (rl78_print_operand_1): 'p' modifier means
20519 always use '[reg+imm]' even when imm is zero.
20520 * config/rl78/predicates.md (rl78_volatile_memory_operand): New.
20521 (rl78_general_operand): New.
20522 (rl78_nonimmediate_operand): New.
20523 (rl78_nonfar_operand): Use them.
20524 (rl78_nonfar_nonimm_operand): Likewise.
20525 (rl78_stack_based_mem): Fix.
20526 * config/rl78/constraints.md (Ibqi): New.
20527 (IBqi): New.
20528 (Wsa): New.
20529 (Wsf): New.
20530 (Cs1): Fix.
20531 * config/rl78/rl78-expand.md (andqi3): Accept volatiles.
20532 (iorqi3): Likewise.
20533 (xorqi3): Likewise.
20534 * config/rl78/rl78-protos.h (rl78_sfr_p): New.
20535
20536 * config/rl78/constrains (Qs8): New constraint.
20537 * config/rl78/rl78.c (rl78_flags_already_set): New function.
20538 * config/rl78/rl78-protos.h (rl78_flags_already_set): New prototype.
20539 * config/rl78/rl78-real.md (update_Z): New attribute.
20540 Update patterns to set it.
20541 (cbranchqi4_real): Call rl78_flags_already_set() to determine if a
20542 shorter compare and branch sequence can be used.
20543 (cbranchhi4_real): Likewise.
20544 (cbranchhi4_real_inverted): Likewise.
20545
20546 * config/rl78/predicates.md (uword_operand): Allow symbol_refs.
20547 * config/rl78/rl78-c.c (rl78_register_pragmas): Register __near
20548 address space.
20549 * config/rl78/rl78.c (rl78_get_name_encoding): New.
20550 (rl78_option_override): Allow -mes0 only if C.
20551 (characterize_address): Support subregs of symbol_refs.
20552 (rl78_addr_space_address_mode): Move. Add __near.
20553 (rl78_far_p): Likewise.
20554 (rl78_addr_space_pointer_mode): Likewise.
20555 (rl78_as_legitimate_address): Likewise.
20556 (rl78_addr_space_subset_p): Likewise.
20557 (rl78_addr_space_convert): Likewise.
20558 (rl78_print_operand_1): Support 16-bit addressing of 32-bit
20559 symbols with -mes0.
20560 (transcode_memory_rtx): Don't copy ES if -mes0. Allow symbol[BC]
20561 addressing.
20562 (rl78_alloc_physical_registers_op1): Change logic to prefer
20563 symbol[BC] addressing.
20564 (frodata_section): New.
20565 (rl78_asm_init_sections): Initialize it.
20566 (rl78_select_section): Put __far readonly symbols in .frodata.
20567 (rl78_make_type_far): New.
20568 (rl78_insert_attributes): Force all readonly symbols to be
20569 __far when -mes0.
20570 (rl78_asm_out_integer): New.
20571 * config/rl78/rl78.h (ADDR_SPACE_NEAR): New.
20572 * config/rl78/rl78.opt (-mes0): New.
20573
20574 * config/rl78/rl78.h (ASM_OUTPUT_LABELREF): New.
20575 (ASM_OUTPUT_ALIGNED_DECL_COMMON): New.
20576 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
20577 * config/rl78/rl78-protos.h (rl78_output_labelref): New.
20578 (rl78_saddr_p): New.
20579 (rl78_output_aligned_common): New.
20580 * config/rl78/rl78.c (rl78_output_symbol_ref): Strip encodings.
20581 (rl78_handle_saddr_attribute): New.
20582 (rl78_handle_naked_attribute): New.
20583 (rl78_attribute_table): Add saddr.
20584 (rl78_print_operand_1): Don't print '!' on saddr operands.
20585 (rl78_print_operand_1): Strip encodings.
20586 (rl78_sfr_p): New.
20587 (rl78_strip_name_encoding): New.
20588 (rl78_attrlist_to_encoding): New.
20589 (rl78_encode_section_info): New.
20590 (rl78_asm_init_sections): New.
20591 (rl78_select_section): New.
20592 (rl78_output_labelref): New.
20593 (rl78_output_aligned_common): New.
20594 (rl78_asm_out_integer): New.
20595 (rl78_asm_ctor_dtor): New.
20596 (rl78_asm_constructor): New.
20597 (rl78_asm_destructor): New.
20598
20599 * config/rl78/rl78-real.md (movqi_es): Rename to movqi_to_es.
20600 * config/rl78/rl78.c (rl78_expand_epilogue): Update.
20601 (transcode_memory_rtx): Update.
20602 (rl78_expand_epilogue): Use A_REG instead of 0.
20603
20604 2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
20605
20606 * config/arm/arm-protos.h (struct tune_params): New field
20607 sched_autopref_queue_depth.
20608 * config/arm/arm.c (sched-int.h): Include header.
20609 (arm_first_cycle_multipass_dfa_lookahead_guard,)
20610 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): Define hook.
20611 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,)
20612 (arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,)
20613 (arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,)
20614 (arm_cortex_a53_tune, arm_cortex_a57_tune, arm_xgene1_tune,)
20615 (arm_cortex_a5_tune, arm_cortex_a9_tune, arm_cortex_a12_tune,)
20616 (arm_v7m_tune, arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune):
20617 Specify sched_autopref_queue_depth value. Enabled for A15 and A57.
20618 * config/arm/t-arm (arm.o): Update.
20619 * haifa-sched.c (update_insn_after_change): Update.
20620 (rank_for_schedule): Use auto-prefetcher model, if requested.
20621 (autopref_multipass_init): New static function.
20622 (autopref_rank_for_schedule): New rank_for_schedule heuristic.
20623 (autopref_multipass_dfa_lookahead_guard_started_dump_p): New static
20624 variable for debug dumps.
20625 (autopref_multipass_dfa_lookahead_guard_1): New static helper function.
20626 (autopref_multipass_dfa_lookahead_guard): New global function that
20627 implements TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD hook.
20628 (init_h_i_d): Update.
20629 * params.def (PARAM_SCHED_AUTOPREF_QUEUE_DEPTH): New tuning knob.
20630 * sched-int.h (enum autopref_multipass_data_status): New const enum.
20631 (autopref_multipass_data_): Structure for auto-prefetcher data.
20632 (autopref_multipass_data_def, autopref_multipass_data_t): New typedefs.
20633 (struct _haifa_insn_data:autopref_multipass_data): New field.
20634 (INSN_AUTOPREF_MULTIPASS_DATA): New access macro.
20635 (autopref_multipass_dfa_lookahead_guard): Declare.
20636
20637 2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
20638
20639 * rtlanal.c (get_base_term): Handle SCRATCH.
20640
20641 2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
20642
20643 * config/aarch64/aarch64.c
20644 (aarch64_sched_first_cycle_multipass_dfa_lookahead): Implement hook.
20645 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
20646 * config/arm/arm.c
20647 (arm_first_cycle_multipass_dfa_lookahead): Implement hook.
20648 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
20649
20650 2015-01-17 Alan Modra <amodra@gmail.com>
20651
20652 * cprop.c (do_local_cprop): Disallow replacement of fixed
20653 hard registers.
20654
20655 2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
20656
20657 PR target/62066
20658 * config/arm/arm-builtins.c (arm_expand_neon_args): Call va_end before
20659 early return 0.
20660
20661 2015-01-16 Bernd Edlinger <bernd.edlinger@hotmail.de>
20662
20663 * sanitizer.def (BUILT_IN_TSAN_VPTR_UPDATE): Fixed parameters.
20664 * tsan.c (instrument_expr): Fixed parameters of __tsan_vptr_update.
20665
20666 2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
20667
20668 * config/arm/arm.md: Move comment about splitting Thumb1 patterns to...
20669 * config/arm/thumb1.md: ... Here.
20670
20671 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
20672
20673 * config/rs6000/rs6000.c (rs6000_scalar_mode_supported_p): Disallow
20674 TImode for TARGET_32BIT.
20675
20676 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
20677
20678 * config/rs6000/rs6000.c (TARGET_LIBGCC_CMP_RETURN_MODE,
20679 TARGET_LIBGCC_SHIFT_COUNT_MODE, TARGET_UNWIND_WORD_MODE): Implement
20680 as ...
20681 (rs6000_abi_word_mode): New function.
20682
20683 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
20684
20685 * config/rs6000/rs6000.c (rs6000_va_start): Use MIN_UNITS_PER_WORD
20686 instead of UNITS_PER_WORD to describe the size of stack slots.
20687
20688 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
20689
20690 * config/rs6000/rs6000.c (TARGET_PROMOTE_FUNCTION_MODE): Implement
20691 as rs6000_promote_function_mode. Move comment to there.
20692 (rs6000_promote_function_mode): New function.
20693
20694 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
20695
20696 * config/rs6000/rs6000.h (PROMOTE_MODE): Correct test for when -m32
20697 -mpowerpc64 is active.
20698
20699 2015-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
20700
20701 PR middle-end/64353
20702 * tree-cfg.c (pass_data_fixup_cfg): Update SSA for
20703 virtuals on start.
20704
20705 2015-01-16 James Greenhalgh <james.greenhalgh@arm.com>
20706
20707 * config/arm/cortex-a57.md: Remove duplicate of file accidentally
20708 introduced in revision 219724.
20709
20710 2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
20711 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
20712
20713 PR target/64263
20714 * config/aarch64/aarch64.md (*movsi_aarch64): Don't split if the
20715 destination is not a GP reg.
20716 (*movdi_aarch64): Likewise.
20717
20718 2015-01-16 David Edelsohn <dje.gcc@gmail.com>
20719
20720 PR target/64623
20721 * config/rs6000/default64.h: Revert ISA change.
20722
20723 2015-01-16 Richard Biener <rguenther@suse.de>
20724
20725 PR middle-end/64614
20726 * tree-ssa-uninit.c: Include tree-cfg.h.
20727 (MAX_SWITCH_CASES): New define.
20728 (convert_control_dep_chain_into_preds): Handle switch statements.
20729 (is_pred_expr_subset_of): Handle x == CST vs. (x & CST) != 0.
20730 (normalize_one_pred_1): Do not split bit-manipulations.
20731 Record (x & CST).
20732
20733 2015-01-16 Richard Biener <rguenther@suse.de>
20734
20735 PR tree-optimization/64568
20736 * tree-ssa-forwprop.c (pass_forwprop::execute): Guard
20737 complex load rewriting for TARGET_MEM_REFs.
20738
20739 2015-01-16 Uros Bizjak <ubizjak@gmail.com>
20740
20741 * builtins.c (expand_builtin_acc_on_device): Check target for NULL.
20742
20743 2015-01-16 Matthew Wahab <matthew.wahab@arm.com>
20744
20745 PR target/64149
20746 * config/aarch64/aarch64.opt: Remove lra option and aarch64_lra_flag
20747 variable.
20748 * config/aarch64/aarch64.c (TARGET_LRA_P): Set to hook_bool_void_true.
20749 (aarch64_lra_p): Remove.
20750
20751 2015-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
20752
20753 PR target/64363
20754 * ipa-chkp.h (chkp_instrumentable_p): New.
20755 * ipa-chkp.c: Include tree-inline.h.
20756 (chkp_instrumentable_p): New.
20757 (chkp_maybe_create_clone): Use chkp_instrumentable_p.
20758 Fix processing of not instrumentable functions.
20759 (chkp_versioning): Use chkp_instrumentable_p. Warn about
20760 not instrumentable functions.
20761 * tree-chkp.c (chkp_add_bounds_to_call_stmt): Use
20762 chkp_instrumentable_p.
20763 * tree-inline.h (copy_forbidden): New.
20764 * tree-inline.c (copy_forbidden): Not static anymore.
20765
20766 2015-01-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
20767
20768 * optc-save-gen.awk (cl_target_option_print_diff): Mark indent,
20769 ptr1, ptr2 unused.
20770
20771 2015-01-16 Robert Suchanek <robert.suchanek@imgtec.com>
20772
20773 * lra-constraints.c (curr_insn_transform): Change a reload pseudo of
20774 type OP_OUT to OP_INOUT.
20775
20776 2015-01-16 Robert Suchanek <robert.suchanek@imgtec.com>
20777
20778 * simplify-rtx.c (simplify_replace_fn_rtx): Simplify (lo_sum
20779 (high x) y) to y if x and y have the same base.
20780
20781 2015-01-16 James Greenhalgh <james.greenhalgh@arm.com>
20782
20783 * config/arm/cortex-a57.md: New.
20784 * config/aarch64/aarch64.md: Include it.
20785 * config/aarch64/aarch64-cores.def (cortex-a57): Tune for it.
20786 * config/aarch64/aarch64-tune.md: Regenerate.
20787
20788 2015-01-16 Zhenqiang Chen <zhenqiang.chen@arm.com>
20789
20790 PR target/64015
20791 * ccmp.c (expand_ccmp_next): New function.
20792 (expand_ccmp_expr_1, expand_ccmp_expr): Handle operand insn sequence
20793 and compare insn sequence.
20794 * config/aarch64/aarch64.c (aarch64_code_to_ccmode,
20795 aarch64_gen_ccmp_first, aarch64_gen_ccmp_next): New functions.
20796 (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): New MICRO.
20797 * config/aarch64/aarch64.md (*ccmp_and): Changed to ccmp_and<mode>.
20798 (*ccmp_ior): Changed to ccmp_ior<mode>.
20799 (cmp<mode>): New pattern.
20800 * doc/tm.texi (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): Update
20801 parameters.
20802 * target.def (gen_ccmp_first, gen_ccmp_next): Update parameters.
20803
20804 2015-01-16 Ilya Tocar <ilya.tocar@intel.com>
20805
20806 * config/i386/avx2intrin.h (_mm256_bslli_epi128,
20807 _mm256_bsrli_epi128): New.
20808 * config/i386/emmintrin.h (_mm_bsrli_si128, _mm_bslli_si128): Ditto.
20809
20810 2015-01-15 Jiong Wang <jiong.wang@arm.com>
20811
20812 * expmed.c (store_bit_field_using_insv): Improve warning message.
20813 Use %wu instead of HOST_WIDE_INT_PRINT_UNSIGNED.
20814
20815 2015-01-15 Jiong Wang <jiong.wang@arm.com>
20816
20817 PR rtl-optimization/64011
20818 * expmed.c (store_bit_field_using_insv): Warn and truncate bitsize when
20819 there is partial overflow.
20820
20821 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
20822
20823 * config/nds32/nds32-protos.h (nds32_expand_epilogue): Change
20824 prototype.
20825 (nds32_expand_epilogue_v3pop): Likewise.
20826 * config/nds32/nds32.md (sibcall): Define this for sibling call
20827 optimization.
20828 (sibcall_register): Likewise.
20829 (sibcall_immediate): Likewise.
20830 (sibcall_value): Likewise.
20831 (sibcall_value_register): Likewise.
20832 (sibcall_value_immediate): Likewise.
20833 (sibcall_epilogue): Likewise.
20834 (epilogue): Pass false to indicate this is not a sibcall epilogue.
20835 * config/nds32/nds32.c (nds32_expand_epilogue): Consider sibcall case.
20836 (nds32_expand_epilogue_v3pop): Likewise.
20837
20838 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
20839
20840 * config/nds32/nds32-protos.h (nds32_can_use_return_insn): New.
20841 * config/nds32/nds32.md (unspec_volatile_func_return): Remove.
20842 (return_internal): New.
20843 (return): Define this named pattern.
20844 (simple_return): Define this named pattern.
20845 * config/nds32/nds32.c (nds32_expand_epilogue): Emit return_internal
20846 pattern instead of unspec_volatile_func_return.
20847 (nds32_expand_epilogue_v3pop): Likewise.
20848 (nds32_can_use_return_insn): New function.
20849
20850 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
20851
20852 * config/nds32/constants.md (UNSPEC_VOLATILE_POP25_RETURN): New.
20853 * config/nds32/nds32.md (pop25return): New.
20854 * config/nds32/nds32.c (nds32_expand_epilogue_v3pop): Emit
20855 pop25return pattern.
20856
20857 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
20858
20859 * doc/invoke.texi (NDS32 Options): Remove -mforce-fp-as-gp,
20860 -mforbid-fp-as-gp, and -mex9 options.
20861
20862 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
20863
20864 * doc/invoke.texi (NDS32 Options): Add -mcmodel= option and
20865 remove -mgp-direct option.
20866
20867 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
20868
20869 * doc/invoke.texi (--param early-inlining-insns): Update default value.
20870 * params.def (PARAM_EARLY_INLINING_INSNS): Set to 14.
20871
20872 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
20873
20874 * ipa-inline.c (inline_small_functions): Work around hints
20875 cache issue.
20876
20877 2015-01-15 Sandra Loosemore <sandra@codesourcery.com>
20878
20879 PR target/59710
20880 * doc/invoke.texi (Option Summary): Document new Nios II
20881 -mgpopt= syntax.
20882 (Nios II Options): Likewise.
20883 * config/nios2/nios2.opt: Add -mgpopt= option support.
20884 Modify existing -mgpopt and -mno-gpopt options to be aliases.
20885 * config/nios2/nios2-opts.h (enum nios2_gpopt_type): New.
20886 * config/nios2/nios2.c (nios2_option_override): Adjust
20887 -mgpopt defaulting.
20888 (nios2_in_small_data_p): Return true for explicit small data
20889 sections even with -G0.
20890 (nios2_symbol_ref_in_small_data_p): Adjust to handle new -mgpopt=
20891 option choices.
20892
20893 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
20894
20895 PR ipa/64612
20896 * ipa-inline-transform.c (can_remove_node_now_p): Fix handling
20897 of comdat locals.
20898 (inline_call): Fix removal of aliases.
20899
20900 2015-01-15 Jakub Jelinek <jakub@redhat.com>
20901
20902 * flag-types.h (enum sanitize_code): Add SANITIZE_VPTR,
20903 include SANITIZE_VPTR in SANITIZE_UNDEFINED.
20904 * opts.c (common_handle_option): Add -fsanitize=vptr.
20905 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS,
20906 BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS_ABORT): New.
20907 * ubsan.h (enum ubsan_null_ckind): Add UBSAN_DOWNCAST_POINTER,
20908 UBSAN_DOWNCAST_REFERENCE, UBSAN_UPCAST and UBSAN_CAST_TO_VBASE.
20909 (ubsan_expand_vptr_ifn): New prototype.
20910 * internal-fn.c (expand_ANNOTATE, expand_GOMP_SIMD_LANE,
20911 expand_GOMP_SIMD_VF, expand_GOMP_SIMD_LAST_LANE, expand_UBSAN_NULL,
20912 expand_UBSAN_BOUNDS, expand_UBSAN_OBJECT_SIZE, expand_ASAN_CHECK,
20913 expand_LOOP_VECTORIZED): Make argument nameless, remove
20914 ATTRIBUTE_UNUSED.
20915 (expand_UBSAN_VPTR): New function.
20916 * internal-fn.def (UBSAN_NULL, ASAN_CHECK): Use R instead of W
20917 in fn spec.
20918 (UBSAN_VPTR): New internal function.
20919 * sanopt.c (tree_map_traits): Renamed to ...
20920 (sanopt_tree_map_traits): ... this.
20921 (sanopt_tree_triplet, sanopt_tree_triplet_map_traits): New classes.
20922 (sanopt_ctx): Adjust asan_check_map type for tree_map_traits
20923 to sanopt_tree_map_traits renaming. Add vptr_check_map field.
20924 (maybe_optimize_ubsan_vptr_ifn): New function.
20925 (sanopt_optimize_walker): Handle IFN_UBSAN_VPTR.
20926 (pass_sanopt::execute): Likewise. Call sanopt_optimize even for
20927 -fsanitize=vptr.
20928 * tree-ssa-alias.c (call_may_clobber_ref_p_1): Handle certain
20929 internal calls like pure functions for aliasing, even when they
20930 have other side-effects that prevent making them ECF_PURE.
20931 * ubsan.c (ubsan_vptr_type_cache_decl): New variable.
20932 (ubsan_expand_vptr_ifn): New function.
20933
20934 2015-01-15 Vladimir Makarov <vmakarov@redhat.com>
20935
20936 PR rtl-optimization/64110
20937 * stmt.c (parse_output_constraint): Process '^' and '$'.
20938 (parse_input_constraint): Ditto.
20939 * lra-constraints.c (process_alt_operands): Process the new
20940 constraints.
20941 * ira-costs.c (record_reg_classes): Process the new constraint
20942 '^'.
20943 * genoutput.c (indep_constraints): Add '^' and '$'.
20944 * config/i386/sse.md (*vec_dup<mode>): Use '$' instead of '!'.
20945 * doc/md.texi: Add description of the new constraints.
20946
20947 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
20948 Bernd Schmidt <bernds@codesourcery.com>
20949 Cesar Philippidis <cesar@codesourcery.com>
20950 James Norris <jnorris@codesourcery.com>
20951 Tom de Vries <tom@codesourcery.com>
20952 Ilmir Usmanov <i.usmanov@samsung.com>
20953 Dmitry Bocharnikov <dmitry.b@samsung.com>
20954 Evgeny Gavrin <e.gavrin@samsung.com>
20955 Jakub Jelinek <jakub@redhat.com>
20956
20957 * builtin-types.def (BT_FN_VOID_INT_INT_VAR)
20958 (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
20959 (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
20960 New function types.
20961 * builtins.c: Include "gomp-constants.h".
20962 (expand_builtin_acc_on_device): New function.
20963 (expand_builtin, is_inexpensive_builtin): Handle
20964 BUILT_IN_ACC_ON_DEVICE.
20965 * builtins.def (DEF_GOACC_BUILTIN, DEF_GOACC_BUILTIN_COMPILER):
20966 New macros.
20967 * cgraph.c (cgraph_node::create): Consider flag_openacc next to
20968 flag_openmp.
20969 * config.gcc <nvptx-*> (tm_file): Add nvptx/offload.h.
20970 <*-intelmic-* | *-intelmicemul-*> (tm_file): Add
20971 i386/intelmic-offload.h.
20972 * gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): For -fopenacc, link
20973 to libgomp and its dependencies.
20974 * config/arc/arc.h (LINK_COMMAND_SPEC): Likewise.
20975 * config/darwin.h (LINK_COMMAND_SPEC_A): Likewise.
20976 * config/i386/mingw32.h (GOMP_SELF_SPECS): Likewise.
20977 * config/ia64/hpux.h (LIB_SPEC): Likewise.
20978 * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
20979 * config/pa/pa64-hpux.h (LIB_SPEC): Likewise.
20980 * doc/generic.texi: Update for OpenACC changes.
20981 * doc/gimple.texi: Likewise.
20982 * doc/invoke.texi: Likewise.
20983 * doc/sourcebuild.texi: Likewise.
20984 * gimple-pretty-print.c (dump_gimple_omp_for): Handle
20985 GF_OMP_FOR_KIND_OACC_LOOP.
20986 (dump_gimple_omp_target): Handle GF_OMP_TARGET_KIND_OACC_KERNELS,
20987 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_DATA,
20988 GF_OMP_TARGET_KIND_OACC_UPDATE,
20989 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
20990 Dump more data.
20991 * gimple.c: Update comments for OpenACC changes.
20992 * gimple.def: Likewise.
20993 * gimple.h: Likewise.
20994 (enum gf_mask): Add GF_OMP_FOR_KIND_OACC_LOOP,
20995 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
20996 GF_OMP_TARGET_KIND_OACC_DATA, GF_OMP_TARGET_KIND_OACC_UPDATE,
20997 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
20998 (gimple_omp_for_cond, gimple_omp_for_set_cond): Sort in the
20999 appropriate place.
21000 (is_gimple_omp_oacc, is_gimple_omp_offloaded): New functions.
21001 * gimplify.c: Include "gomp-constants.h".
21002 Update comments for OpenACC changes.
21003 (is_gimple_stmt): Handle OACC_PARALLEL, OACC_KERNELS, OACC_DATA,
21004 OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE, OACC_ENTER_DATA,
21005 OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
21006 (gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses): Handle
21007 OMP_CLAUSE__CACHE_, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
21008 OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
21009 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER,
21010 OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
21011 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_INDEPENDENT, OMP_CLAUSE_AUTO,
21012 OMP_CLAUSE_SEQ.
21013 (gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses): Use
21014 GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
21015 OMP_CLAUSE_SET_MAP_KIND.
21016 (gimplify_oacc_cache): New function.
21017 (gimplify_omp_for): Handle OACC_LOOP.
21018 (gimplify_omp_workshare): Handle OACC_KERNELS, OACC_PARALLEL,
21019 OACC_DATA.
21020 (gimplify_omp_target_update): Handle OACC_ENTER_DATA,
21021 OACC_EXIT_DATA, OACC_UPDATE.
21022 (gimplify_expr): Handle OACC_LOOP, OACC_CACHE, OACC_HOST_DATA,
21023 OACC_DECLARE, OACC_KERNELS, OACC_PARALLEL, OACC_DATA,
21024 OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE.
21025 (gimplify_body): Consider flag_openacc next to flag_openmp.
21026 * lto-streamer-out.c: Include "gomp-constants.h".
21027 * omp-builtins.def (BUILT_IN_ACC_GET_DEVICE_TYPE)
21028 (BUILT_IN_GOACC_DATA_START, BUILT_IN_GOACC_DATA_END)
21029 (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL)
21030 (BUILT_IN_GOACC_UPDATE, BUILT_IN_GOACC_WAIT)
21031 (BUILT_IN_GOACC_GET_THREAD_NUM, BUILT_IN_GOACC_GET_NUM_THREADS)
21032 (BUILT_IN_ACC_ON_DEVICE): New builtins.
21033 * omp-low.c: Include "gomp-constants.h".
21034 Update comments for OpenACC changes.
21035 (struct omp_context): Add reduction_map, gwv_below, gwv_this
21036 members.
21037 (extract_omp_for_data, use_pointer_for_field, install_var_field)
21038 (new_omp_context, delete_omp_context, scan_sharing_clauses)
21039 (create_omp_child_function, scan_omp_for, scan_omp_target)
21040 (check_omp_nesting_restrictions, lower_reduction_clauses)
21041 (build_omp_regions_1, diagnose_sb_0, make_gimple_omp_edges):
21042 Update for OpenACC changes.
21043 (scan_sharing_clauses): Handle OMP_CLAUSE_NUM_GANGS:
21044 OMP_CLAUSE_NUM_WORKERS: OMP_CLAUSE_VECTOR_LENGTH,
21045 OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT, OMP_CLAUSE_GANG,
21046 OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
21047 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_INDEPENDENT,
21048 OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ. Use GOMP_MAP_* instead of
21049 OMP_CLAUSE_MAP_*.
21050 (expand_omp_for_static_nochunk, expand_omp_for_static_chunk):
21051 Handle GF_OMP_FOR_KIND_OACC_LOOP.
21052 (expand_omp_target, lower_omp_target): Handle
21053 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
21054 GF_OMP_TARGET_KIND_OACC_UPDATE,
21055 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA,
21056 GF_OMP_TARGET_KIND_OACC_DATA.
21057 (pass_expand_omp::execute, execute_lower_omp)
21058 (pass_diagnose_omp_blocks::gate): Consider flag_openacc next to
21059 flag_openmp.
21060 (offload_symbol_decl): New variable.
21061 (oacc_get_reduction_array_id, oacc_max_threads)
21062 (get_offload_symbol_decl, get_base_type, lookup_oacc_reduction)
21063 (maybe_lookup_oacc_reduction, enclosing_target_ctx)
21064 (oacc_loop_or_target_p, oacc_lower_reduction_var_helper)
21065 (oacc_gimple_assign, oacc_initialize_reduction_data)
21066 (oacc_finalize_reduction_data, oacc_process_reduction_data): New
21067 functions.
21068 (is_targetreg_ctx): Remove function.
21069 * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE__CACHE_,
21070 OMP_CLAUSE_DEVICE_RESIDENT, OMP_CLAUSE_USE_DEVICE,
21071 OMP_CLAUSE_GANG, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
21072 OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT,
21073 OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_NUM_GANGS,
21074 OMP_CLAUSE_NUM_WORKERS, OMP_CLAUSE_VECTOR_LENGTH.
21075 * tree.c (omp_clause_code_name, walk_tree_1): Update accordingly.
21076 * tree.h (OMP_CLAUSE_GANG_EXPR, OMP_CLAUSE_GANG_STATIC_EXPR)
21077 (OMP_CLAUSE_ASYNC_EXPR, OMP_CLAUSE_WAIT_EXPR)
21078 (OMP_CLAUSE_VECTOR_EXPR, OMP_CLAUSE_WORKER_EXPR)
21079 (OMP_CLAUSE_NUM_GANGS_EXPR, OMP_CLAUSE_NUM_WORKERS_EXPR)
21080 (OMP_CLAUSE_VECTOR_LENGTH_EXPR): New macros.
21081 * tree-core.h: Update comments for OpenACC changes.
21082 (enum omp_clause_map_kind): Remove.
21083 (struct tree_omp_clause): Change type of map_kind member from enum
21084 omp_clause_map_kind to unsigned char.
21085 * tree-inline.c: Update comments for OpenACC changes.
21086 * tree-nested.c: Likewise. Include "gomp-constants.h".
21087 (convert_nonlocal_reference_stmt, convert_local_reference_stmt)
21088 (convert_tramp_reference_stmt, convert_gimple_call): Update for
21089 OpenACC changes. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
21090 OMP_CLAUSE_SET_MAP_KIND.
21091 * tree-pretty-print.c: Include "gomp-constants.h".
21092 (dump_omp_clause): Handle OMP_CLAUSE_DEVICE_RESIDENT,
21093 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_GANG,
21094 OMP_CLAUSE_ASYNC, OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ,
21095 OMP_CLAUSE_WAIT, OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR,
21096 OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
21097 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_INDEPENDENT. Use GOMP_MAP_*
21098 instead of OMP_CLAUSE_MAP_*.
21099 (dump_generic_node): Handle OACC_PARALLEL, OACC_KERNELS,
21100 OACC_DATA, OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE,
21101 OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
21102 * tree-streamer-in.c: Include "gomp-constants.h".
21103 (unpack_ts_omp_clause_value_fields) Use GOMP_MAP_* instead of
21104 OMP_CLAUSE_MAP_*. Use OMP_CLAUSE_SET_MAP_KIND.
21105 * tree-streamer-out.c: Include "gomp-constants.h".
21106 (pack_ts_omp_clause_value_fields): Use GOMP_MAP_* instead of
21107 OMP_CLAUSE_MAP_*.
21108 * tree.def (OACC_PARALLEL, OACC_KERNELS, OACC_DATA)
21109 (OACC_HOST_DATA, OACC_LOOP, OACC_CACHE, OACC_DECLARE)
21110 (OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE): New tree codes.
21111 * tree.c (omp_clause_num_ops): Update accordingly.
21112 * tree.h (OMP_BODY, OMP_CLAUSES, OMP_LOOP_CHECK, OMP_CLAUSE_SIZE):
21113 Likewise.
21114 (OACC_PARALLEL_BODY, OACC_PARALLEL_CLAUSES, OACC_KERNELS_BODY)
21115 (OACC_KERNELS_CLAUSES, OACC_DATA_BODY, OACC_DATA_CLAUSES)
21116 (OACC_HOST_DATA_BODY, OACC_HOST_DATA_CLAUSES, OACC_CACHE_CLAUSES)
21117 (OACC_DECLARE_CLAUSES, OACC_ENTER_DATA_CLAUSES)
21118 (OACC_EXIT_DATA_CLAUSES, OACC_UPDATE_CLAUSES)
21119 (OACC_KERNELS_COMBINED, OACC_PARALLEL_COMBINED): New macros.
21120 * tree.h (OMP_CLAUSE_MAP_KIND): Cast it to enum gomp_map_kind.
21121 (OMP_CLAUSE_SET_MAP_KIND): New macro.
21122 * varpool.c (varpool_node::get_create): Consider flag_openacc next
21123 to flag_openmp.
21124 * config/i386/intelmic-offload.h: New file.
21125 * config/nvptx/offload.h: Likewise.
21126
21127 2015-01-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
21128
21129 * explow.h: Remove duplicate contents.
21130 * dojump.h: Likewise.
21131
21132 2015-01-15 Richard Earnshaw <rearnsha@arm.com>
21133
21134 * arm.c (arm_xgene_tune): Add default initializer for instruction
21135 fusion.
21136
21137 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
21138
21139 PR ipa/64068
21140 PR ipa/64559
21141 * ipa.c (symbol_table::remove_unreachable_nodes):
21142 Do not put abstract origins into boundary.
21143
21144 2015-01-15 Evgeny Stupachenko <evstupac@gmail.com>
21145
21146 * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Remove EBX register usage.
21147 * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Ditto.
21148
21149 2015-01-15 Steve Ellcey <sellcey@mips.com>
21150
21151 * Makefile.in (PLUGIN_HEADERS): Add dominance.h, cfg.h, cfgrtl.h,
21152 cfganal.h, cfgbuild.h, cfgcleanup.h, lcm.h, cfgloopmanip.h,
21153 builtins.def, and chkp-builtins.def.
21154
21155 2015-01-15 David Edelsohn <dje.gcc@gmail.com>
21156
21157 * config/rs6000/default64.h (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use
21158 ISA 2.7 (POWER8).
21159
21160 2015-01-15 Richard Biener <rguenther@suse.de>
21161
21162 PR tree-optimization/61743
21163 * tree-ssa-pre.c (insert_into_preds_of_block): Preserve range
21164 information on PHIs for some simple cases.
21165
21166 2015-01-15 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
21167
21168 * config/arm/arm.md (generic_sched): Specify xgene1 in 'no' list.
21169 Include xgene1.md.
21170 * config/arm/arm.c (arm_issue_rate): Specify 4 for xgene1.
21171 * config/arm/arm-cores.def (xgene1): New entry.
21172 * config/arm/arm-tables.opt: Regenerate.
21173 * config/arm/arm-tune.md: Regenerate.
21174 * config/arm/bpabi.h (BE8_LINK_SPEC): Specify mcpu=xgene1.
21175
21176 2015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com>
21177
21178 * tree-if-conv.c: Include hash-map.h.
21179 (aggressive_if_conv): New variable.
21180 (fold_build_cond_expr): Add simplification of non-zero condition.
21181 (add_to_dst_predicate_list): Invoke add_to_predicate_list if edge
21182 destination block is not always executed.
21183 (if_convertible_phi_p): Fix commentary, allow phi nodes have more
21184 than two predecessors if AGGRESSIVE_IF_CONV is true.
21185 (if_convertible_stmt_p): Fix commentary.
21186 (all_preds_critical_p): New function.
21187 (has_pred_critical_p): New function.
21188 (if_convertible_bb_p): Fix commentary, if AGGRESSIVE_IF_CONV is true
21189 BB can have more than two predecessors and all incoming edges can be
21190 critical.
21191 (predicate_bbs): Skip predication for loop exit block, use build2_loc
21192 to compute predicate for true edge.
21193 (find_phi_replacement_condition): Delete this function.
21194 (is_cond_scalar_reduction): Add arguments ARG_0, ARG_1 and EXTENDED.
21195 Allow interchange PHI arguments if EXTENDED is false.
21196 Change check that block containing reduction statement candidate
21197 is predecessor of phi-block since phi may have more than two arguments.
21198 (phi_args_hash_traits): New helper structure.
21199 (struct phi_args_hash_traits): New type.
21200 (phi_args_hash_traits::hash): New function.
21201 (phi_args_hash_traits::equal_keys): New function.
21202 (gen_phi_arg_condition): New function.
21203 (predicate_scalar_phi): Add handling of phi nodes with more than two
21204 arguments, delete COND and TRUE_BB arguments, insert body of
21205 find_phi_replacement_condition to predicate ordinary phi nodes.
21206 (predicate_all_scalar_phis): Skip blocks with the only predecessor,
21207 delete call of find_phi_replacement_condition and invoke
21208 predicate_scalar_phi with two arguments.
21209 (insert_gimplified_predicates): Add assert that non-predicated block
21210 don't have statements to insert.
21211 (ifcvt_split_critical_edges): New function.
21212 (ifcvt_split_def_stmt): Likewise.
21213 (ifcvt_walk_pattern_tree): Likewise.
21214 (stmt_is_root_of_bool_pattern): Likewise.
21215 (ifcvt_repair_bool_pattern): Likewise.
21216 (ifcvt_local_dce): Likewise.
21217 (tree_if_conversion): Add initialization of AGGRESSIVE_IF_CONV which
21218 is copy of inner or outer loop force_vectorize field, invoke
21219 ifcvt_split_critical_edges, ifcvt_local_dce and
21220 ifcvt_repair_bool_pattern for aggressive if-conversion.
21221
21222 2015-01-15 Philipp Tomsich <ptomsich@theobroma-systems.com>
21223
21224 * config/aarch64/aarch64.md: Include xgene1.md.
21225 * config/aarch64/xgene1.md: New file.
21226
21227 2015-01-15 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
21228
21229 * config/aarch64/aarch64-cores.def (xgene1): Update/add the
21230 xgene1 (APM XGene-1) core definition.
21231 * gcc/config/aarch64/aarch64.c: Add cost tables for APM XGene-1
21232 * config/arm/aarch-cost-tables.h: Add cost tables for APM XGene-1
21233 * doc/invoke.texi: Document -mcpu=xgene1.
21234
21235 2015-01-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
21236
21237 * dojump.h: New header file.
21238 * explow.h: Likewise.
21239 * expr.h: Remove includes.
21240 Move expmed.c prototypes to expmed.h.
21241 Move dojump.c prototypes to dojump.h.
21242 Move alias.c prototypes to alias.h.
21243 Move explow.c prototypes to explow.h.
21244 Move calls.c prototypes to calls.h.
21245 Move emit-rtl.c prototypes to emit-rtl.h.
21246 Move varasm.c prototypes to varasm.h.
21247 Move stmt.c prototypes to stmt.h.
21248 (saved_pending_stack_adjust): Move to dojump.h.
21249 (adjust_address): Move to explow.h.
21250 (adjust_address_nv): Move to emit-rtl.h.
21251 (adjust_bitfield_address): Likewise.
21252 (adjust_bitfield_address_size): Likewise.
21253 (adjust_bitfield_address_nv): Likewise.
21254 (adjust_automodify_address_nv): Likewise.
21255 * explow.c (expr_size): Move to expr.c.
21256 (int_expr_size): Likewise.
21257 (tree_expr_size): Likewise.
21258 Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21259 fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
21260 * genemit.c (main): Generate includes statistics.h, real.h,
21261 fixed-value.h, insn-config.h, expmed.h, dojump.h, explow.h, emit-rtl.h,
21262 stmt.h.
21263 * genopinit.c (main): Generate includes hashtab.h, hard-reg-set.h,
21264 function.h, statistics.h, real.h, fixed-value.h, expmed.h, dojump.h,
21265 explow.h, emit-rtl.h, stmt.h.
21266 * genoutput.c (main): Generate includes hashtab.h, statistics.h, real.h,
21267 fixed-value.h, expmed.h, dojump.h, explow.h, emit-rtl.h, stmt.h.
21268 * genemit.c (open_base_files): Generate includes flags.h, statistics.h,
21269 real.h, fixed-value.h, tree.h, expmed.h, dojump.h, explow.h, calls.h,
21270 emit-rtl.h, varasm.h, stmt.h.
21271 * config/tilepro/gen-mul-tables.cc: Generate includes hashtab.h,
21272 hash-set.h, vec.h, machmode.h, tm.h, hard-reg-set.h, input.h,
21273 function.h, rtl.h, flags.h, statistics.h, double-int.h, real.h,
21274 fixed-value.h, alias.h, wide-int.h, inchash.h, tree.h, insn-config.h,
21275 expmed.h, dojump.h, explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.
21276 * config/tilegx/mul-tables.c: Include alias.h calls.h dojump.h
21277 double-int.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h
21278 function.h hard-reg-set.h hash-set.h hashtab.h inchash.h input.h
21279 insn-config.h machmode.h real.h rtl.h statistics.h stmt.h symtab.h
21280 tm.h tree.h varasm.h vec.h wide-int.h.
21281 * rtlhooks.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
21282 explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h
21283 hash-set.h hashtab.h inchash.h input.h insn-config.h machmode.h
21284 real.h statistics.h stmt.h tree.h varasm.h vec.h wide-int.h.
21285 * cfgloopanal.c: Include alias.h calls.h dojump.h double-int.h
21286 emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h
21287 insn-config.h real.h statistics.h stmt.h tree.h varasm.h wide-int.h.
21288 * loop-iv.c: Likewise.
21289 * lra-assigns.c: Include alias.h calls.h dojump.h double-int.h
21290 emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h real.h
21291 statistics.h stmt.h tree.h varasm.h wide-int.h.
21292 * lra-constraints.c: Likewise.
21293 * lra-eliminations.c: Likewise.
21294 * lra-lives.c: Likewise.
21295 * lra-remat.c: Likewise.
21296 * bt-load.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
21297 explow.h expmed.h fixed-value.h inchash.h insn-config.h real.h
21298 statistics.h stmt.h tree.h varasm.h wide-int.h.
21299 * hw-doloop.c: Likewise.
21300 * ira-color.c: Likewise.
21301 * ira-emit.c: Likewise.
21302 * loop-doloop.c: Likewise.
21303 * loop-invariant.c: Likewise.
21304 * reload.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
21305 explow.h expmed.h fixed-value.h inchash.h real.h rtl.h
21306 statistics.h stmt.h tree.h varasm.h wide-int.h.
21307 * caller-save.c: Include alias.h calls.h dojump.h double-int.h
21308 emit-rtl.h explow.h expmed.h fixed-value.h inchash.h real.h
21309 statistics.h stmt.h tree.h varasm.h wide-int.h.
21310 * combine-stack-adj.c: Likewise.
21311 * cse.c: Likewise.
21312 * ddg.c: Likewise.
21313 * ifcvt.c: Likewise.
21314 * ira-costs.c: Likewise.
21315 * jump.c: Likewise.
21316 * lra-coalesce.c: Likewise.
21317 * lra-spills.c: Likewise.
21318 * profile.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
21319 explow.h expmed.h fixed-value.h insn-config.h real.h statistics.h
21320 stmt.h varasm.h wide-int.h.
21321 * lra.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
21322 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
21323 varasm.h.
21324 * config/sh/sh_treg_combine.cc: Include alias.h calls.h dojump.h
21325 double-int.h explow.h expmed.h fixed-value.h flags.h real.h
21326 statistics.h stmt.h varasm.h wide-int.h.
21327 * reorg.c: Include alias.h calls.h dojump.h double-int.h explow.h
21328 expmed.h fixed-value.h inchash.h real.h statistics.h stmt.h tree.h
21329 varasm.h wide-int.h.
21330 * reload1.c: Include alias.h calls.h dojump.h double-int.h explow.h
21331 expmed.h fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
21332 * config/tilegx/tilegx.c: Include alias.h dojump.h double-int.h
21333 emit-rtl.h explow.h expmed.h fixed-value.h flags.h real.h
21334 statistics.h stmt.h.
21335 * config/tilepro/tilepro.c: Likewise.
21336 * config/mmix/mmix.c: Include alias.h dojump.h double-int.h emit-rtl.h
21337 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h.
21338 * config/pdp11/pdp11.c: Likewise.
21339 * config/xtensa/xtensa.c: Likewise.
21340 * config/lm32/lm32.c: Include alias.h dojump.h double-int.h emit-rtl.h
21341 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
21342 varasm.h.
21343 * tree-chkp.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21344 fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
21345 insn-config.h real.h rtl.h statistics.h stmt.h tm.h.
21346 * cilk-common.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21347 fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
21348 insn-config.h real.h rtl.h statistics.h stmt.h tm.h varasm.h.
21349 * rtl-chkp.c: Likewise.
21350 * tree-chkp-opt.c: Likewise.
21351 * config/arm/arm-builtins.c: Include calls.h dojump.h emit-rtl.h
21352 explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h
21353 hashtab.h insn-config.h real.h statistics.h stmt.h varasm.h.
21354 * ipa-icf.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21355 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
21356 statistics.h stmt.h.
21357 * tree-vect-data-refs.c: Likewise.
21358 * graphite-sese-to-poly.c: Include calls.h dojump.h emit-rtl.h explow.h
21359 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
21360 rtl.h statistics.h stmt.h varasm.h.
21361 * internal-fn.c: Likewise.
21362 * ipa-icf-gimple.c: Likewise.
21363 * lto-section-out.c: Likewise.
21364 * tree-data-ref.c: Likewise.
21365 * tree-nested.c: Likewise.
21366 * tree-outof-ssa.c: Likewise.
21367 * tree-predcom.c: Likewise.
21368 * tree-pretty-print.c: Likewise.
21369 * tree-scalar-evolution.c: Likewise.
21370 * tree-ssa-strlen.c: Likewise.
21371 * tree-vect-loop.c: Likewise.
21372 * tree-vect-patterns.c: Likewise.
21373 * tree-vect-slp.c: Likewise.
21374 * tree-vect-stmts.c: Likewise.
21375 * tsan.c: Likewise.
21376 * targhooks.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21377 fixed-value.h flags.h hashtab.h insn-config.h real.h statistics.h
21378 stmt.h.
21379 * config/sh/sh-mem.cc: Include calls.h dojump.h emit-rtl.h explow.h
21380 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
21381 statistics.h stmt.h varasm.h.
21382 * loop-unroll.c: Likewise.
21383 * ubsan.c: Likewise.
21384 * tree-ssa-loop-prefetch.c: Include calls.h dojump.h emit-rtl.h explow.h
21385 expmed.h fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h
21386 stmt.h varasm.h.
21387 * dse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21388 fixed-value.h function.h hashtab.h statistics.h stmt.h varasm.h.
21389 * tree-switch-conversion.c: Include calls.h dojump.h emit-rtl.h explow.h
21390 expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
21391 statistics.h stmt.h.
21392 * generic-match-head.c: Include calls.h dojump.h emit-rtl.h explow.h
21393 expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
21394 statistics.h stmt.h varasm.h.
21395 * gimple-match-head.c: Likewise.
21396 * lto-cgraph.c: Likewise.
21397 * lto-section-in.c: Likewise.
21398 * lto-streamer-in.c: Likewise.
21399 * lto-streamer-out.c: Likewise.
21400 * tree-affine.c: Likewise.
21401 * tree-cfg.c: Likewise.
21402 * tree-cfgcleanup.c: Likewise.
21403 * tree-if-conv.c: Likewise.
21404 * tree-into-ssa.c: Likewise.
21405 * tree-ssa-alias.c: Likewise.
21406 * tree-ssa-copyrename.c: Likewise.
21407 * tree-ssa-dse.c: Likewise.
21408 * tree-ssa-forwprop.c: Likewise.
21409 * tree-ssa-live.c: Likewise.
21410 * tree-ssa-math-opts.c: Likewise.
21411 * tree-ssa-pre.c: Likewise.
21412 * tree-ssa-sccvn.c: Likewise.
21413 * tree-tailcall.c: Likewise.
21414 * tree-vect-generic.c: Likewise.
21415 * tree-sra.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21416 fixed-value.h hashtab.h insn-config.h real.h rtl.h stmt.h varasm.h.
21417 * stor-layout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21418 fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h.
21419 * varasm.c: Likewise.
21420 * coverage.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21421 fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h
21422 varasm.h.
21423 * init-regs.c: Likewise.
21424 * ira.c: Likewise.
21425 * omp-low.c: Likewise.
21426 * stack-ptr-mod.c: Likewise.
21427 * tree-ssa-reassoc.c: Likewise.
21428 * tree-complex.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21429 fixed-value.h hashtab.h insn-config.h rtl.h statistics.h stmt.h
21430 varasm.h.
21431 * dwarf2cfi.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21432 fixed-value.h hashtab.h insn-config.h statistics.h stmt.h varasm.h.
21433 * shrink-wrap.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21434 fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h.
21435 * recog.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21436 fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h varasm.h.
21437 * tree-ssa-phiopt.c: Likewise.
21438 * config/darwin.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21439 fixed-value.h hashtab.h real.h statistics.h stmt.h.
21440 * config/fr30/fr30.c: Likewise.
21441 * config/frv/frv.c: Likewise.
21442 * expr.c: Likewise.
21443 * final.c: Likewise.
21444 * optabs.c: Likewise.
21445 * passes.c: Likewise.
21446 * simplify-rtx.c: Likewise.
21447 * stmt.c: Likewise.
21448 * toplev.c: Likewise.
21449 * var-tracking.c: Likewise.
21450 * gcse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21451 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
21452 * lower-subreg.c: Likewise.
21453 * postreload-gcse.c: Likewise.
21454 * ree.c: Likewise.
21455 * reginfo.c: Likewise.
21456 * store-motion.c: Likewise.
21457 * combine.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21458 fixed-value.h hashtab.h real.h stmt.h varasm.h.
21459 * emit-rtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21460 fixed-value.h hashtab.h statistics.h stmt.h.
21461 * dojump.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21462 fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
21463 * except.c: Likewise.
21464 * explow.c: Likewise.
21465 * tree-dfa.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21466 fixed-value.h insn-config.h real.h rtl.h statistics.h stmt.h
21467 varasm.h.
21468 * gimple-fold.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21469 fixed-value.h insn-config.h real.h rtl.h statistics.h varasm.h.
21470 * tree-ssa-structalias.c: Likewise.
21471 * cfgexpand.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21472 fixed-value.h insn-config.h real.h statistics.h.
21473 * calls.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21474 fixed-value.h insn-config.h real.h statistics.h stmt.h.
21475 * bb-reorder.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21476 fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
21477 * cfgbuild.c: Likewise.
21478 * function.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21479 fixed-value.h real.h rtl.h statistics.h stmt.h.
21480 * cfgrtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21481 fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
21482 * dbxout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21483 fixed-value.h real.h statistics.h stmt.h.
21484 * auto-inc-dec.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21485 fixed-value.h real.h statistics.h stmt.h varasm.h.
21486 * cprop.c: Likewise.
21487 * modulo-sched.c: Likewise.
21488 * postreload.c: Likewise.
21489 * ccmp.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
21490 flags.h function.h hard-reg-set.h hashtab.h insn-config.h real.h
21491 statistics.h stmt.h varasm.h.
21492 * gimple-ssa-strength-reduction.c: Include calls.h dojump.h emit-rtl.h
21493 explow.h fixed-value.h flags.h hashtab.h insn-config.h real.h
21494 rtl.h statistics.h stmt.h varasm.h.
21495 * tree-ssa-loop-ivopts.c: Include calls.h dojump.h emit-rtl.h explow.h
21496 fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h stmt.h
21497 varasm.h.
21498 * expmed.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
21499 function.h hard-reg-set.h hashtab.h real.h statistics.h stmt.h
21500 varasm.h.
21501 * target-globals.c: Include calls.h dojump.h emit-rtl.h explow.h
21502 fixed-value.h function.h hashtab.h real.h statistics.h stmt.h
21503 varasm.h.
21504 * tree-ssa-address.c: Include calls.h dojump.h emit-rtl.h explow.h
21505 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
21506 * cfgcleanup.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
21507 function.h real.h statistics.h stmt.h varasm.h.
21508 * alias.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
21509 insn-config.h real.h statistics.h stmt.h.
21510 * dwarf2out.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
21511 statistics.h stmt.h.
21512 * config/nvptx/nvptx.c: Include dojump.h emit-rtl.h explow.h expmed.h
21513 fixed-value.h flags.h hard-reg-set.h insn-config.h real.h
21514 statistics.h stmt.h varasm.h.
21515 * gimplify.c: Include dojump.h emit-rtl.h explow.h expmed.h
21516 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h statistics.h.
21517 * asan.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
21518 flags.h hashtab.h insn-config.h real.h rtl.h statistics.h stmt.h.
21519 * ipa-devirt.c: Include dojump.h emit-rtl.h explow.h expmed.h
21520 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
21521 statistics.h stmt.h varasm.h.
21522 * ipa-polymorphic-call.c: Likewise.
21523 * config/aarch64/aarch64.c: Include dojump.h emit-rtl.h explow.h
21524 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
21525 statistics.h stmt.h.
21526 * config/c6x/c6x.c: Likewise.
21527 * config/aarch64/aarch64-builtins.c: Include dojump.h emit-rtl.h
21528 explow.h expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
21529 statistics.h stmt.h varasm.h.
21530 * ipa-prop.c: Include dojump.h emit-rtl.h explow.h expmed.h
21531 fixed-value.h hashtab.h insn-config.h real.h rtl.h statistics.h
21532 stmt.h varasm.h.
21533 * ipa-split.c: Likewise.
21534 * tree-eh.c: Likewise.
21535 * tree-ssa-dce.c: Likewise.
21536 * tree-ssa-loop-niter.c: Likewise.
21537 * tree-vrp.c: Likewise.
21538 * config/nds32/nds32-cost.c: Include dojump.h emit-rtl.h explow.h
21539 expmed.h fixed-value.h hashtab.h insn-config.h real.h statistics.h
21540 stmt.h.
21541 * config/nds32/nds32-fp-as-gp.c: Likewise.
21542 * config/nds32/nds32-intrinsic.c: Likewise.
21543 * config/nds32/nds32-isr.c: Likewise.
21544 * config/nds32/nds32-md-auxiliary.c: Likewise.
21545 * config/nds32/nds32-memory-manipulation.c: Likewise.
21546 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
21547 * config/nds32/nds32-predicates.c: Likewise.
21548 * config/nds32/nds32.c: Likewise.
21549 * config/cris/cris.c: Include dojump.h emit-rtl.h explow.h expmed.h
21550 fixed-value.h hashtab.h real.h statistics.h.
21551 * config/alpha/alpha.c: Include dojump.h emit-rtl.h explow.h expmed.h
21552 fixed-value.h hashtab.h real.h statistics.h stmt.h.
21553 * config/arm/arm.c: Likewise.
21554 * config/avr/avr.c: Likewise.
21555 * config/bfin/bfin.c: Likewise.
21556 * config/h8300/h8300.c: Likewise.
21557 * config/i386/i386.c: Likewise.
21558 * config/ia64/ia64.c: Likewise.
21559 * config/iq2000/iq2000.c: Likewise.
21560 * config/m32c/m32c.c: Likewise.
21561 * config/m32r/m32r.c: Likewise.
21562 * config/m68k/m68k.c: Likewise.
21563 * config/mcore/mcore.c: Likewise.
21564 * config/mep/mep.c: Likewise.
21565 * config/mips/mips.c: Likewise.
21566 * config/mn10300/mn10300.c: Likewise.
21567 * config/moxie/moxie.c: Likewise.
21568 * config/pa/pa.c: Likewise.
21569 * config/rl78/rl78.c: Likewise.
21570 * config/rx/rx.c: Likewise.
21571 * config/s390/s390.c: Likewise.
21572 * config/sh/sh.c: Likewise.
21573 * config/sparc/sparc.c: Likewise.
21574 * config/spu/spu.c: Likewise.
21575 * config/stormy16/stormy16.c: Likewise.
21576 * config/v850/v850.c: Likewise.
21577 * config/vax/vax.c: Likewise.
21578 * config/cr16/cr16.c: Include dojump.h emit-rtl.h explow.h expmed.h
21579 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
21580 * config/msp430/msp430.c: Likewise.
21581 * predict.c: Likewise.
21582 * value-prof.c: Likewise.
21583 * config/epiphany/epiphany.c: Include dojump.h emit-rtl.h explow.h
21584 expmed.h fixed-value.h hashtab.h statistics.h stmt.h.
21585 * config/microblaze/microblaze.c: Likewise.
21586 * config/nios2/nios2.c: Likewise.
21587 * config/rs6000/rs6000.c: Likewise.
21588 * tree.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
21589 insn-config.h real.h rtl.h statistics.h stmt.h.
21590 * cgraph.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
21591 insn-config.h real.h statistics.h stmt.h.
21592 * fold-const.c: Include dojump.h emit-rtl.h explow.h expmed.h
21593 fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
21594 * tree-inline.c: Include dojump.h emit-rtl.h explow.h expmed.h
21595 fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
21596 * builtins.c: Include dojump.h emit-rtl.h explow.h expmed.h
21597 fixed-value.h real.h statistics.h stmt.h.
21598 * config/arc/arc.c: Include dojump.h emit-rtl.h explow.h expmed.h
21599 fixed-value.h statistics.h stmt.h.
21600 * config/visium/visium.c: Include dojump.h emit-rtl.h explow.h expmed.h
21601 stmt.h.
21602
21603 2015-01-15 Jakub Jelinek <jakub@redhat.com>
21604
21605 * gengtype.c (create_user_defined_type): Workaround
21606 -Wmaybe-uninitialized false positives.
21607 * cse.c (fold_rtx): Likewise.
21608 * loop-invariant.c (gain_for_invariant): Likewise.
21609
21610 2015-01-15 Eric Botcazou <ebotcazou@adacore.com>
21611
21612 * expr.c (expand_expr_real_1) <normal_inner_ref>: Use the expression to
21613 set the memory attributes in all cases but clear MEM_EXPR if need be.
21614
21615 2015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com>
21616
21617 PR tree-optimization/64434
21618 * cfgexpand.c (reorder_operands): New function.
21619 (expand_gimple_basic_block): Insert call of reorder_operands if
21620 optimized is true.
21621
21622 2015-01-15 Matthew Fortune <matthew.fortune@imgtec.com>
21623
21624 * config/mips/micromips.md (*swp): Remove explicit parallel.
21625 (jraddiusp, *movep<MOVEP1:mode><MOVEP2:mode>): Likewise.
21626 * config/mips/mips-dsp.md (add<DSPV:mode>3): Likewise.
21627 (mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>, sub<DSPV:mode>3): Likewise.
21628 (mips_sub<DSP:dspfmt1>_s_<DSP:dspfmt2>, mips_addsc): Likewise.
21629 (mips_addwc, mips_absq_s_<DSPQ:dspfmt2>): Likewise.
21630 (mips_precrq_rs_ph_w, mips_precrqu_s_qb_ph): Likewise.
21631 (mips_shll_<DSPV:dspfmt2>, mips_shll_s_<DSPQ:dspfmt2>): Likewise.
21632 (mips_muleu_s_ph_qbl, mips_muleu_s_ph_qbr): Likewise.
21633 (mips_mulq_rs_ph, mips_muleq_s_w_phl, mips_muleq_s_w_phr): Likewise.
21634 (mips_dpaq_s_w_ph, mips_dpsq_s_w_ph, mips_mulsaq_s_w_ph): Likewise.
21635 (mips_dpaq_sa_l_w, mips_dpsq_sa_l_w, mips_maq_s_w_phl): Likewise.
21636 (mips_maq_s_w_phr, mips_maq_sa_w_phl, mips_maq_sa_w_phr): Likewise.
21637 (mips_extr_w, mips_extr_r_w, mips_extr_rs_w): Likewise.
21638 (mips_extr_s_h, mips_extp, mips_extpdp, mips_mthlip): Likewise.
21639 (mips_wrdsp): Likewise.
21640 * config/mips/mips-dspr2.md (mips_absq_s_qb): Remove explicit
21641 parallel.
21642 (mips_addu_ph, mips_addu_s_ph, mips_cmpgdu_eq_qb): Likewise.
21643 (mips_cmpgdu_lt_qb, mips_cmpgdu_le_qb, mulv2hi3): Likewise.
21644 (mips_mul_s_ph, mips_mulq_rs_w, mips_mulq_s_ph): Likewise.
21645 (mips_mulq_s_w, mips_subu_ph, mips_subu_s_ph): Likewise.
21646 (mips_dpaqx_s_w_ph, mips_dpaqx_sa_w_ph): Likewise.
21647 (mips_dpsqx_s_w_ph, mips_dpsqx_sa_w_ph): Likewise.
21648 * config/mips/mips-fixed.md (usadd<mode>3): Remove explicit parallel.
21649 (ssadd<mode>3, ussub<mode>3, sssub<mode>3, ssmul<mode>3): Likewise.
21650 (ssmaddsqdq4, ssmsubsqdq4): Likewise.
21651
21652 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
21653
21654 * config/mips/mips.c (mips_rtx_costs): Set costs for LSA/DLSA.
21655 (mips_print_operand): Support 'y' to print exact log2 in decimal
21656 of a const_int.
21657 * config/mips/mips.h (ISA_HAS_LSA): New define.
21658 (ISA_HAS_DLSA): Likewise.
21659 * config/mips/mips.md (<GPR:d>lsa): New define_insn.
21660 * config/mips/predicates.md (const_immlsa_operand): New predicate.
21661
21662 2015-01-15 Martin Liska <mliska@suse.cz>
21663
21664 PR target/64377
21665 * optc-save-gen.awk: Add support for array types.
21666
21667 2015-01-15 Richard Biener <rguenther@suse.de>
21668
21669 PR middle-end/64365
21670 * tree-data-ref.c (dr_analyze_indices): Make sure that accesses
21671 for MEM_REF access functions with the same base can never partially
21672 overlap.
21673
21674 2015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
21675
21676 * common.opt: New option -fstack-protector-explicit.
21677 * cfgexpand.c (SPCT_FLAG_EXPLICIT): New enum.
21678 (stack_protect_decl_phase): Handle stack_protect attribute for
21679 explicit stack protection requests.
21680 (expand_used_vars): Similarly.
21681 * doc/cpp.texi (__SSP_EXPLICIT__): Document predefined macro.
21682 * doc/extend.texi: Add documentation for "stack_protect" attribute.
21683 * doc/invoke.texi: Add documentation for -fstack-protector-explicit.
21684
21685 2015-01-14 Oleg Endo <olegendo@gcc.gnu.org>
21686
21687 PR target/53988
21688 * config/sh/sh-protos.h (sh_find_set_of_reg): Add option to ignore
21689 reg-reg copies.
21690 (sh_extending_set_of_reg): New struct.
21691 (sh_find_extending_set_of_reg, sh_split_tst_subregs,
21692 sh_remove_reg_dead_or_unused_notes): New Declarations.
21693 * config/sh/sh.c (sh_remove_reg_dead_or_unused_notes,
21694 sh_find_extending_set_of_reg, sh_split_tst_subregs,
21695 sh_extending_set_of_reg::use_as_extended_reg): New functions.
21696 * config/sh/sh.md (*tst<mode>_t_zero): Rename to *tst<mode>_t_subregs,
21697 convert to insn_and_split and use new function sh_split_tst_subregs.
21698
21699 2015-01-14 Sandra Loosemore <sandra@codesourcery.com>
21700
21701 * doc/invoke.texi (Option Summary): Reclassify -fuse-ld as a linker
21702 option.
21703 (Optimization Options): Move -fuse-ld documentation to...
21704 (Link Options): ...here.
21705
21706 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
21707
21708 * config/mips/constraints.md (ZC): Add support for R6 LL/SC
21709 offsets.
21710 (ZD): Update to use ISA_HAS_9BIT_DISPLACEMENT.
21711 * config/mips/mips.h (ISA_HAS_PREFETCH_9BIT): Rename to...
21712 (ISA_HAS_9BIT_DISPLACEMENT): ... this. New macro.
21713 * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZC
21714 instead of ZR for the memory operand of LL/SC.
21715 (compare_and_swap_12, sync_add<mode>): Likewise.
21716 (sync_<optab>_12, sync_old_<optab>_12): Likewise.
21717 (sync_new_<optab>_12, sync_nand_12): Likewise.
21718 (sync_old_nand_12, sync_new_nand_12): Likewise.
21719 (sync_sub<mode>, sync_old_add<mode>): Likewise.
21720 (sync_old_sub<mode>, sync_new_add<mode>): Likewise.
21721 (sync_new_sub<mode>, sync_<optab><mode>): Likewise.
21722 (sync_old_<optab><mode>, sync_new_<optab><mode>"): Likewise.
21723 (sync_nand<mode>, sync_old_nand<mode>): Likewise.
21724 (sync_new_nand<mode>, sync_lock_test_and_set<mode>): Likewise.
21725 (test_and_set_12, atomic_compare_and_swap<mode>): Likewise.
21726 (atomic_exchange<mode>_llsc, atomic_fetch_add<mode>_llsc): Likewise.
21727 * doc/md.texi (ZC): Update description.
21728
21729 2015-01-14 Andrew MacLeod <amacleod@redhat.com>
21730
21731 * builtins.c (expand_builtin_atomic_exchange): Remove error when
21732 memory model is CONSUME.
21733 (expand_builtin_atomic_compare_exchange, expand_builtin_atomic_load,
21734 expand_builtin_atomic_store): Change invalid memory model errors to
21735 warnings.
21736 (expand_builtin_atomic_clear): Change invalid model errors to warnings
21737 and issue warning for CONSUME.
21738
21739 2015-01-14 Aldy Hernandez <aldyh@redhat.com>
21740
21741 * lto-cgraph: Update function comments for
21742 lto_symtab_encoder_encode_*.
21743
21744 2015-01-14 Ilya Verbin <ilya.verbin@intel.com>
21745
21746 * Makefile.in (site.exp): Do not set ENABLE_LTO.
21747
21748 2015-01-14 Ilya Verbin <ilya.verbin@intel.com>
21749
21750 * cgraphunit.c (ipa_passes): Remove argument from ipa_write_summaries.
21751 * lto-cgraph.c (select_what_to_stream): Remove argument, use
21752 lto_stream_offload_p instead.
21753 * lto-streamer.h (select_what_to_stream): Remove argument.
21754 * passes.c (ipa_write_summaries): Likewise.
21755 * tree-pass.h (ipa_write_summaries): Likewise.
21756
21757 2015-01-14 Richard Biener <rguenther@suse.de>
21758
21759 PR tree-optimization/59354
21760 * tree-vect-slp.c (vect_build_slp_tree_1): Treat loads from
21761 groups larger than the slp group size as having gaps.
21762
21763 2015-01-14 Andrew MacLeod <amacleod@redhat.com>
21764
21765 PR middle-end/59448
21766 * builtins.c (get_memmodel): Promote consume to acquire always.
21767
21768 2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
21769
21770 PR target/64386
21771 * config/i386/i386.c (ix86_expand_sse_cmp): Handle V64QImode,
21772 V32HImode.
21773
21774 2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
21775
21776 PR target/64393
21777 * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VBMI_SET):
21778 Enable AVX512BW.
21779 (OPTION_MASK_ISA_AVX512BW_UNSET): Disable AVX512VBMI.
21780 * config/i386/i386.c (ix86_hard_regno_mode_ok): Don't check
21781 AVX512VBMI, as it implies AVX512BW.
21782
21783 2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
21784
21785 PR target/64387
21786 * config/i386/sse.md (vec_unpacks_hi_v8sf): Fix predicate.
21787 (vec_unpacks_hi_v16sf): Ditto.
21788
21789 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
21790
21791 * config/aarch64/arm_neon.h: Error out if AdvancedSIMD
21792 is not available.
21793
21794 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
21795
21796 * doc/invoke.texi (mapcs): Mention deprecation.
21797 (mapcs-frame): Likewise.
21798
21799 2015-01-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
21800
21801 PR target/64453
21802 * config/arm/arm.c (callee_saved_reg_p): Define.
21803 (arm_compute_save_reg0_reg12_mask): Use callee_saved_reg_p to check if
21804 register is callee saved instead of !call_used_regs[reg].
21805 (thumb1_compute_save_reg_mask): Likewise.
21806
21807 2015-01-14 Hale Wang <hale.wang@arm.com>
21808
21809 * config/arm/arm.c: Tune the max_cond_insns/branch_cost for
21810 Cortex-M7.
21811
21812 2015-01-14 Richard Biener <rguenther@suse.de>
21813
21814 PR lto/64415
21815 * tree-inline.c (insert_debug_decl_map): Check destination
21816 function MAY_HAVE_DEBUG_STMTS.
21817 (insert_init_debug_bind): Likewise.
21818 (insert_init_stmt): Remove redundant check.
21819 (remap_gimple_stmt): Drop debug stmts if the destination
21820 function has var-tracking assignments disabled.
21821
21822 2015-01-14 Martin Liska <mliska@suse.cz>
21823
21824 * ipa-icf-gimple.c (func_checker::compare_operand): Add support for
21825 IMAGPART_EXPR and REALPART_EXPR and fix BIT_FIELD_REF comparison.
21826
21827 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
21828
21829 PR target/64460
21830 * config/arm/arm.md (*<arith_shift_insn>_multsi): Set 'shift' to 2.
21831 (*<arith_shift_insn>_shiftsi): Set 'shift' attr to 3.
21832
21833 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
21834
21835 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Only infer an ISA
21836 level from an ARCH; do not inject the default.
21837 (MIPS_DEFAULT_ISA_LEVEL_SPEC): New macro split out from
21838 MIPS_ISA_LEVEL_SPEC.
21839 (MIPS_ISA_NAN2008_SPEC): Update comment.
21840 (BASE_DRIVER_SELF_SPECS): Likewise.
21841 * config/mips/elfoabi.h (DRIVER_SELF_SPECS): Add
21842 MIPS_DEFAULT_ISA_LEVEL_SPEC.
21843 * config/mips/mti-elf.h (DRIVER_SELF_SPECS): Likewise.
21844 * config/mips/mti-linux.h (DRIVER_SELF_SPECS): Likewise.
21845 * config/mips/sde.h (DRIVER_SELF_SPECS): Likewise.
21846
21847 2015-01-14 Richard Biener <rguenther@suse.de>
21848
21849 PR tree-optimization/64493
21850 PR tree-optimization/64495
21851 * tree-vect-loop.c (vect_finalize_reduction): For double-reductions
21852 assign the proper vectorized PHI to the inner loop exit PHIs.
21853
21854 2015-01-14 Joey Ye <joey.ye@arm.com>
21855
21856 * config/arm/arm.c (arm_compute_save_reg_mask):
21857 Do not save lr in case of tail call.
21858 * config/arm/thumb2.md (*thumb2_pop_single): New pattern.
21859
21860 2015-01-14 Martin Uecker <uecker@eecs.berkeley.edu>
21861
21862 * tree-vrp.c (check_array_ref): Emit more warnings
21863 for warn_array_bounds >= 2.
21864 * common.opt: New option -Warray-bounds=.
21865 * doc/invoke.texi: Document -Warray-bounds=.
21866
21867 2015-01-14 Chung-Ju Wu <jasonwucj@gmail.com>
21868
21869 * config/nds32/nds32.opt (mforce-fp-as-gp): Remove.
21870 (mforbid-fp-as-gp): Remove.
21871 (mex9): Remove.
21872 * config/nds32/nds32-fp-as-gp.c (nds32_have_prologue_p): Remove.
21873 (nds32_symbol_load_store_p): Remove.
21874 (nds32_fp_as_gp_check_available): Clean up implementation.
21875 * config/nds32/nds32.h (LINK_SPEC): Remove -mforce-as-gp and -mex9
21876 cases.
21877 * config/nds32/nds32.c (nds32_asm_file_start): No need to consider
21878 fp-as-gp and ex9 cases.
21879
21880 2015-01-13 Jan Hubicka <hubicka@ucw.cz>
21881
21882 * tree-profile.c (init_ic_make_global_vars): Drop workaround
21883 for bintuils bug 14342.
21884 (init_ic_make_global_vars): Likewise.
21885 (gimple_init_edge_profiler): Likewise.
21886 (gimple_gen_ic_func_profiler): Likewise.
21887
21888 2015-01-13 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
21889
21890 * ipa-inline.c (inline_small_functions): Swap the operands in
21891 enum.
21892
21893 2015-01-13 Jan Hubicka <hubicka@ucw.cz>
21894
21895 PR ipa/64481
21896 * ipa-inline-analysis.c (node_growth_cache): Remove.
21897 (initialize_growth_caches): Do not initialize it.
21898 (free_growth_caches): Do not free it.
21899 (do_estimate_growth): Rename to ...
21900 (estimate_growth): ... this one; drop growth cache code.
21901 (growth_likely_positive): Always go the heuristics way.
21902 * ipa-inline.c (can_inline_edge_p): Walk through aliases.
21903 (reset_edge_caches): Do not reset node growth.
21904 (heap_edge_removal_hook): Do not maintain cache.
21905 (inline_small_functions): Likewise; strenghten sanity check.
21906 (ipa_inline): Do not maintain caches.
21907 * ipa-inline.h (node_growth_cache): Remove.
21908 (do_estimate_growth): Remove to ...
21909 (estimate_growth): this one; remove inline version.
21910 (reset_node_growth_cache): Remove.
21911
21912 2015-01-13 Jan Hubicka <hubicka@ucw.cz>
21913
21914 PR ipa/64565
21915 * ipa-inline.c (inline_small_functions): Update callee keys after
21916 resolving speculation
21917 (inline_small_functions): Always check monotonicity of the queue.
21918
21919 2015-01-13 Marek Polacek <polacek@redhat.com>
21920
21921 PR middle-end/64391
21922 * trans-mem.c (get_attrs_for): Return NULL_TREE if X is NULL_TREE.
21923
21924 2015-01-13 Jakub Jelinek <jakub@redhat.com>
21925
21926 PR rtl-optimization/64286
21927 * ree.c (combine_reaching_defs): Move part of comment earlier,
21928 remove !SCALAR_INT_MODE_P check.
21929 (add_removable_extension): Don't add vector mode
21930 extensions if all uses of the source register aren't the same
21931 vector extensions.
21932
21933 2015-01-13 Renlin Li <renlin.li@arm.com>
21934
21935 * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): Return 2.
21936 (CTZ_DEFINED_VALUE_AT_ZERO): Ditto.
21937
21938 2015-01-13 Martin Liska <mliska@suse.cz>
21939
21940 * ipa-icf.c (sem_function::equals_private): Call new functions
21941 cl_target_option_print_diff and cl_optimization_print_diff.
21942 * optc-save-gen.awk (cl_target_option_print_diff): New function.
21943 (cl_optimization_print_diff): Likewise.
21944 * opth-gen.awk: Likewise.
21945
21946 2015-01-13 Richard Sandiford <richard.sandiford@arm.com>
21947
21948 * config/aarch64/aarch64.md (subsi3, *subsi3_uxtw, subdi3)
21949 (*sub_<optab><ALLX:mode>_<GPI:mode>, *sub_<optab><SHORT:mode>_si_uxtw)
21950 (*sub_<optab><ALLX:mode>_shft_<GPI:mode>)
21951 (*sub_<optab><SHORT:mode>_shft_si_uxtw, *sub_<optab><mode>_multp2)
21952 (*sub_<optab>si_multp2_uxtw, *sub_uxt<mode>_multp2)
21953 (*sub_uxtsi_multp2_uxtw): Add stack pointer sources.
21954
21955 2015-01-13 Andrew Pinski <apinski@cavium.com>
21956
21957 * config/aarch64/aarch64.c (fusion_load_store): Check dest mode
21958 instead of src mode.
21959
21960 2015-01-13 Richard Biener <rguenther@suse.de>
21961
21962 PR lto/64373
21963 * lto-streamer-out.c (tree_is_indexable): Guard for NULL
21964 DECL_CONTEXT.
21965
21966 2015-01-13 Andrew Pinski <apinski@cavium.com>
21967
21968 * config/aarch64/aarch64.c (aarch64_operands_ok_for_ldpstp): Reject
21969 volatile mems.
21970 (aarch64_operands_adjust_ok_for_ldpstp): Likewise.
21971
21972 2015-01-13 Jakub Jelinek <jakub@redhat.com>
21973
21974 PR middle-end/63974
21975 * cfgexpand.c (expand_computed_goto): Don't call
21976 convert_memory_address here.
21977
21978 2015-01-13 Richard Biener <rguenther@suse.de>
21979
21980 PR tree-optimization/64406
21981 * tree-loop-distibution.c (pass_loop_distribution::execute):
21982 Reset the SCEV hashtable if we distributed anything.
21983
21984 2015-01-13 Richard Biener <rguenther@suse.de>
21985
21986 PR tree-optimization/64404
21987 * tree-vect-stmts.c (vectorizable_load): Reject conflicting
21988 SLP types for CSEd loads.
21989
21990 2015-01-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
21991
21992 PR tree-optimization/64436
21993 * tree-ssa-math-opts.c (find_bswap_or_nop_1): Move code performing the
21994 merge of two symbolic numbers for a bitwise OR to ...
21995 (perform_symbolic_merge): This. Also fix computation of the range and
21996 end of the symbolic number corresponding to the result of a bitwise OR.
21997
21998 2015-01-13 Richard Biener <rguenther@suse.de>
21999
22000 PR tree-optimization/64568
22001 * tree-ssa-forwprop.c (pass_forwprop::execute): Properly
22002 release defs of removed stmts, avoid splitting TARGET_MEM_REFs.
22003
22004 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
22005
22006 * config/nds32/nds32.c (nds32_legitimate_address_p): Consider
22007 TARGET_CMODEL_LARGE and TARGET_CMODEL_MEDIUM cases.
22008
22009 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
22010
22011 * config/nds32/nds32.h (NDS32_SYMBOL_FLAG_RODATA): Define our own
22012 target-specific symbol_ref flag.
22013 (NDS32_SYMBOL_REF_RODATA_P): Define it to check if the symbol_ref
22014 resides in rodata section.
22015 * config/nds32/nds32.c (TARGET_ENCODE_SECTION_INFO): Define.
22016 (nds32_encode_section_info): New function.
22017
22018 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
22019
22020 * config/nds32/nds32.md (call): Use pseudo instruction bal which
22021 clobbers TA_REGNUM if large code model is specified.
22022 (call_register): Likewise.
22023 (call_immediate): Likewise.
22024 (call_value): Likewise.
22025 (call_value_register): Likewise.
22026 (call_value_immediate): Likewise.
22027
22028 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
22029
22030 * config/nds32/nds32.h (TARGET_CMODEL_SMALL): New macro.
22031 (TARGET_CMODEL_MEDIUM): New macro.
22032 (TARGET_CMODEL_LARGE): New macro.
22033 * config/nds32/nds32.c (nds32_asm_file_start): Display corresponding
22034 code model setting in assembly code.
22035
22036 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
22037
22038 * common/config/nds32/nds32-common.c (TARGET_DEFAULT_TARGET_FLAGS):
22039 Remove MASK_GP_DIRECT flag.
22040 * config/nds32/nds32.h (MULTILIB_DEFAULTS): Have -mcmodel=medium as
22041 one of the multilib default options.
22042 * config/nds32/nds32.opt (mgp-direct): Remove.
22043 * config/nds32/t-mlibs (MULTILIB_OPTIONS): Use -mcmodel instead of
22044 -mgp-direct. We also remove unnecessary -mlittle-endian/-mbig-endian.
22045
22046 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
22047
22048 * config/nds32/nds32.opt (mcmodel): Add new option.
22049 * config/nds32/nds32-opts.h (nds32_cmodel_type): Add new enum type
22050 to describe code model.
22051
22052 2015-01-13 Oleg Endo <olegendo@gcc.gnu.org>
22053
22054 PR target/64479
22055 * rtlanal.c (set_reg_p): Handle SEQUENCE constructs.
22056
22057 2015-01-12 Kaz Kojima <kkojima@gcc.gnu.org>
22058
22059 * config/sh/sh.c (sh_atomic_assign_expand_fenv): New function.
22060 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
22061 (sh_builtin_get_fpscr, sh_builtin_set_fpscr): New variables.
22062 (sh_init_builtins): Record decls for __builtin_sh_get_fpscr and
22063 __builtin_sh_set_fpscr.
22064
22065 2015-01-12 Sandra Loosemore <sandra@codesourcery.com>
22066
22067 * doc/invoke.texi ([-Wsuggest-attribute=]): Don't use parentheses
22068 after a funtion name just to indicate it is a function.
22069 ([-fsanitize-undefined-trap-on-error]): Likewise.
22070 ([-fdbg-cnt=]): Likewise.
22071 ([-mmemcpy]): Likewise.
22072 ([-mflush-func]): Likewise.
22073 ([-msynci]): Likewise.
22074
22075 2015-01-12 Sandra Loosemore <sandra@codesourcery.com>
22076
22077 * doc/invoke.texi ([-Wbad-function-cast]): Rewrite to avoid confusing
22078 example.
22079
22080 2015-01-12 Jakub Jelinek <jakub@redhat.com>
22081
22082 PR tree-optimization/64563
22083 * tree-vrp.c (vrp_evaluate_conditional): Check for VR_RANGE
22084 instead of != VR_VARYING.
22085
22086 PR target/64513
22087 * config/i386/i386.c (ix86_expand_prologue): Add
22088 REG_FRAME_RELATED_EXPR to %rax and %r10 pushes.
22089
22090 PR tree-optimization/64454
22091 * tree-vrp.c (simplify_div_or_mod_using_ranges): Optimize
22092 op0 % op1 into op0 if op0 is in range [-op1 + 1, op1 - 1]
22093 for signed or [0, op1 - 1] for unsigned modulo.
22094 (simplify_stmt_using_ranges): Call simplify_div_or_mod_using_ranges
22095 even if op1 does not satisfy integer_pow2p.
22096
22097 PR other/64370
22098 * sreal.c (sreal::to_double): Use ldexp instead of scalbnl.
22099
22100 2015-01-12 Jeff Law <law@redhat.com>
22101
22102 PR target/64461
22103 * config/m68k/m68k.md (truncsiqi2): Disable for TARGET_COLDFIRE.
22104 (trunchiqi2, truncsihi2): Similarly.
22105
22106 * config/h8300/h8300.c (Fpa): Use RTX_FRAME_RELATED_P directly
22107 rather than calling F.
22108
22109 2015-01-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
22110
22111 * tsan.c (instrument_expr): Use force_gimple_operand.
22112 Use may_be_nonaddressable_p instead of is_gimple_addressable.
22113
22114 2015-01-12 Richard Biener <rguenther@suse.de>
22115
22116 PR tree-optimization/64530
22117 * tree-loop-distribution.c (pg_add_dependence_edges): Shuffle
22118 back dr1.
22119
22120 2015-01-12 Richard Biener <rguenther@suse.de>
22121
22122 PR middle-end/64357
22123 * tree-cfg.c (gimple_can_merge_blocks_p): Protect simple
22124 latches properly.
22125
22126 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
22127
22128 * config/arm/arm.c (arm_cortex_a12_tune): Update entries to match
22129 Cortex-A17 tuning parameters.
22130 * config/arm/arm-cores.def (cortex-a12): Schedule for cortex-a17.
22131
22132 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
22133
22134 * config/arm/arm-protos.h (tune_params): Add fuseable_ops field.
22135 * config/arm/arm.c (arm_macro_fusion_p): New function.
22136 (arm_macro_fusion_pair_p): Likewise.
22137 (TARGET_SCHED_MACRO_FUSION_P): Define.
22138 (TARGET_SCHED_MACRO_FUSION_PAIR_P): Likewise.
22139 (ARM_FUSE_NOTHING): Likewise.
22140 (ARM_FUSE_MOVW_MOVT): Likewise.
22141 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,
22142 arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,
22143 arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,
22144 arm_cortex_a53_tune, arm_cortex_a57_tune, arm_cortex_a9_tune,
22145 arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune, arm_fa726te_tune
22146 arm_cortex_a5_tune): Specify fuseable_ops value.
22147
22148 2015-01-12 H.J. Lu <hongjiu.lu@intel.com>
22149
22150 PR bootstrap/64561
22151 * configure.ac (HAVE_LD_PIE_COPYRELOC): Update Linux/x86-64 linker
22152 test for PIE with copy reloc.
22153 * configure: Regenerated.
22154
22155 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
22156
22157 * config/arm/arm.c (arm_load_tp): Use R0_REGNUM instead of constant 0
22158 in gen_rtx_REG.
22159 (arm_tls_descseq_addr): Likewise.
22160 (arm_gen_movmemqi): Likewise.
22161 (arm_expand_epilogue_apcs_frame): Likewise.
22162 (arm_expand_epilogue): Likewise.
22163 (arm_expand_prologue): Likewise. Use R1_REGNUM instead of constant 1
22164 in gen_rtx_REG.
22165
22166 2015-01-12 Martin Liska <mliska@suse.cz>
22167
22168 PR ipa/64550
22169 * ipa-icf-gimple.c (func_checker::compare_memory_operand): Compare
22170 volatility for correct operands.
22171
22172 2015-01-12 Martin Liska <mliska@suse.cz>
22173
22174 * ipa-icf.c (sem_function::equals_wpa): Add indirect_calls as
22175 indication that a function is not leaf.
22176 (sem_function::compare_polymorphic_p): Likewise.
22177
22178 2015-01-12 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
22179
22180 * config/visium/visium.c: Add includes hashtab.h, hash-set.h,
22181 machmode.h, input.h, statistics.h, vec.h, double-int.h, real.h,
22182 fixed-value.h, alias.h, symtab.h, tree-core.h, wide-int.h, inchash.h,
22183 fold-const.h, tree-check.h.
22184
22185 2015-01-12 Jan Hubicka <hubicka@ucw.cz>
22186
22187 PR ipa/63967
22188 PR ipa/64425
22189 * ipa-inline.c (compute_uninlined_call_time,
22190 compute_inlined_call_time): Use counts for extra precision when
22191 needed possible.
22192 (big_speedup_p): Fix formating.
22193 (RELATIVE_TIME_BENEFIT_RANGE): Remove.
22194 (relative_time_benefit): Remove.
22195 (edge_badness): Turn DECL_DISREGARD_INLINE_LIMITS into hint;
22196 merge guessed and read profile paths.
22197 (inline_small_functions): Count only !optimize_size functions into
22198 initial size; be more lax about sanity check when profile is used;
22199 be sure to update inlined function profile when profile is read.
22200
22201 2015-01-12 Jan Hubicka <hubicka@ucw.cz>
22202
22203 PR ipa/63470
22204 * ipa-inline-analysis.c (inline_edge_duplication_hook): Adjust
22205 cost when edge becomes direct.
22206 * ipa-prop.c (make_edge_direct): Do not adjust when speculation
22207 is resolved or when introducing new speculation.
22208
22209 2015-01-12 Chen Gang <gang.chen.5i5j@gmail.com>
22210
22211 PR ipa/64551
22212 PR ipa/64552
22213 * ipa-icf.c (sem_function::equals_private): Use '&&' instead of
22214 '||' to fix typo issue.
22215
22216 * gcc/tree.h (target_opts_for_fn): Check NULL_TREE since it can
22217 accept and return NULL.
22218
22219 2015-01-12 Martin Liska <mliska@suse.cz>
22220
22221 * cgraph.c (cgraph_edge::remove_callee): Move function to header
22222 file for being inlined.
22223 (cgraph_set_edge_callee): Delete.
22224 (cgraph_edge::redirect_callee): Move function to header file
22225 for being inlined.
22226 (cgraph_edge::make_direct): Use new function.
22227 (cgraph_edge::dump_edge_flags): New function created from
22228 static dump_edge_flags function.
22229 (cgraph_node::dump): Use new function.
22230 (cgraph_edge::verify_count_and_frequency): New function created
22231 from verify_edge_count_and_frequency.
22232 (cgraph_edge::verify_corresponds_to_fndecl): New function created
22233 from verify_edge_corresponds_to_fndecl.
22234 (verify_edge_corresponds_to_fndecl): Delete.
22235 (cgraph_node::verify_node): Use new function.
22236 * cgraph.h (cgraph_edge::set_callee): New function.
22237 (cgraph_edge::dump_edge_flags): Likewise.
22238 (cgraph_edge::verify_corresponds_to_fndecl): Likewise.
22239
22240 2015-01-11 Jan Hubicka <hubicka@ucw.cz>
22241
22242 * ipa-utils.c (estimate_function_body_sizes): Do not
22243 free node params when called late with early=true.
22244
22245 2015-01-11 James Greenhalgh <james.greenhalgh@arm.com>
22246
22247 * doc/md.texi (Instruction Patterns): Rewrite text for
22248 clarity.
22249 (Example): Likewise.
22250
22251 2015-01-10 Sandra Loosemore <sandra@codesourcery.com>
22252
22253 * doc/invoke.texi (Option Summary): Break long lines.
22254 [(-fdiagnostics-color)]: Put long literal in @smallexample
22255 instead of inline.
22256 [(-fsanitize-recover)]: Likewise.
22257 [(-fdump-rtl-split*)]: Rewrite to fix over-full hbox.
22258 [(-ffast-math)]: Likewise.
22259 [(--param max-inline-insns-recursive)]: Likewise.
22260 [(--param max-inline-recursive-depth)]: Likewise.
22261 [(-mno-text-section-literals)]: Likewise.
22262
22263 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
22264
22265 * doc/install.texi: Update for libgomp being renamed from "GNU
22266 OpenMP Runtime Library" to "GNU Offloading and Multi Processing
22267 Runtime Library".
22268 * doc/sourcebuild.texi: Likewise.
22269
22270 2015-01-10 Anthony Green <green@moxielogic.com>
22271
22272 * config/moxie/moxie.c (moxie_option_override): Fix forcing of
22273 mul.x availability for moxiebox configuration.
22274
22275 2015-01-09 Anthony Green <green@moxielogic.com>
22276
22277 * config/moxie/moxie.md: Tabify assembly output.
22278
22279 2015-01-09 Anthony Green <green@moxielogic.com>
22280
22281 * config/moxie/moxie.md (CC_REG): Correct register definition.
22282
22283 2015-01-09 Sandra Loosemore <sandra@codesourcery.com>
22284
22285 * doc/invoke.texi ([-fvtable-verify]): Copy-edit and fix markup.
22286 ([-fvtv-debug], [-fvtv-counts]): Likewise. Correct location
22287 of log files.
22288
22289 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
22290
22291 * config/arm/arm.h (MAX_SYNC_LIBFUNC_SIZE): Delete semicolon.
22292
22293 2015-01-09 Bernd Schmidt <bernds@codesourcery.com>
22294 Jakub Jelinek <jakub@redhat.com>
22295
22296 PR middle-end/64412
22297 * lto-streamer.h (lto_stream_offload_p): New declaration.
22298 * lto-streamer.c (lto_stream_offload_p): New variable.
22299 * cgraphunit.c (ipa_passes): Set lto_stream_offload_p
22300 at the same time as section_name_prefix.
22301 * lto-streamer-out.c (hash_tree): Don't hash TREE_TARGET_OPTION
22302 if lto_stream_offload_p.
22303 * tree-streamer-out.c (streamer_pack_tree_bitfields): Don't
22304 stream TREE_TARGET_OPTION if lto_stream_offload_p.
22305 (write_ts_function_decl_tree_pointers): Don't
22306 stream DECL_FUNCTION_SPECIFIC_TARGET if lto_stream_offload_p.
22307 * tree-streamer-in.c (unpack_value_fields): Don't stream
22308 TREE_TARGET_OPTION in if ACCEL_COMPILER.
22309 (lto_input_ts_function_decl_tree_pointers): Don't stream
22310 DECL_FUNCTION_SPECIFIC_TARGET in if ACCEL_COMPILER.
22311 * lto-opts.c (lto_write_options): Use lto_stream_offload_p
22312 instead of section_name_prefix string comparisons.
22313
22314 2015-01-09 Jakub Jelinek <jakub@redhat.com>
22315
22316 PR rtl-optimization/64536
22317 * cfgrtl.c (rtl_tidy_fallthru_edge): Handle removal of degenerate
22318 tablejumps.
22319
22320 2015-01-09 Michael Collison <michael.collison@linaro.org>
22321
22322 PR tree-optimization/64322
22323 * tree-vrp.c (extract_range_from_binary_expr_1): Attempt to derive
22324 range for RSHIFT_EXPR even if vr0 range is not VR_RANGE or is symbolic.
22325
22326 2015-01-09 Tom de Vries <tom@codesourcery.com>
22327
22328 PR rtl-optimization/64539
22329 * regcprop.c (kill_clobbered_values): Factor out of ...
22330 (copyprop_hardreg_forward_1): ... here. Use kill_clobbered_values
22331 instead of note_stores with kill_clobbered_value.
22332
22333 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
22334
22335 * ginclude/unwind-arm-common.h: Revert previous commit.
22336
22337 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
22338
22339 * config.gcc (arm*-*-freebsd*): New configuration.
22340 * config/arm/freebsd.h: New file.
22341 * config.host: Add extra components for arm*-*-freebsd*.
22342 * config/arm/arm.h: Introduce MAX_SYNC_LIBFUNC_SIZE.
22343 * config/arm/arm.c (arm_init_libfuncs): Use MAX_SYNC_LIBFUNC_SIZE.
22344
22345 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
22346
22347 * config/rs6000/rtems.h (CPP_OS_RTEMS_SPEC): Define __PPC_CPU_E6500__
22348 for -mcpu=e6500.
22349 * config/rs6000/t-rtems: Add e6500 multilibs.
22350
22351 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
22352
22353 * config/rs6000/t-rtems: Add -mno-spe to soft-float multilib for
22354 MPC8540.
22355
22356 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
22357
22358 * config/rs6000/t-rtems: Use MULTILIB_REQUIRED instead of
22359 MULTILIB_EXCEPTIONS.
22360
22361 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
22362
22363 * config/arm/t-rtems: Use MULTILIB_REQUIRED instead of
22364 MULTILIB_EXCEPTIONS.
22365
22366 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
22367
22368 * config/arm/t-rtems-eabi: Rename to...
22369 * config/arm/t-rtems: ...this.
22370 * config/arm/rtems-eabi.h: Rename to...
22371 * config/arm/rtems.h: ...this.
22372 * config.gcc (arm*-*-rtems*): Reflect changes above.
22373
22374 2015-01-09 Richard Biener <rguenther@suse.de>
22375
22376 PR tree-optimization/64410
22377 * tree-ssa.c (non_rewritable_lvalue_p): Allow REALPART/IMAGPART_EXPR
22378 on the LHS.
22379 (execute_update_addresses_taken): Deal with that.
22380 * tree-ssa-forwprop.c (pass_forwprop::execute): Use component-wise
22381 loads/stores for complex variables.
22382
22383 2015-01-09 Martin Liska <mliska@suse.cz>
22384
22385 * ipa-icf-gimple.c (func_checker::compare_ssa_name): Enhance SSA
22386 name comparison.
22387 (func_checker::compare_memory_operand): New function.
22388 (func_checker::compare_operand): Split case to newly
22389 added functions.
22390 (func_checker::compare_cst_or_decl): New function.
22391 (func_checker::compare_gimple_call): Identify
22392 memory operands.
22393 (func_checker::compare_gimple_assign): Likewise.
22394 * ipa-icf-gimple.h: New function.
22395
22396 2015-01-09 Martin Liska <mliska@suse.cz>
22397
22398 PR ipa/64503
22399 * sreal.c (sreal::dump): Change unsigned format to signed for
22400 m_exp value.
22401 (sreal::to_double): Replace exp2 with scalbln.
22402
22403 2015-01-09 Martin Liska <mliska@suse.cz>
22404
22405 * cgraphunit.c (cgraph_node::create_wrapper): Fix level of indentation.
22406 * ipa-icf.c (sem_function::equals_private): Add support for target and
22407 (sem_item_optimizer::merge_classes): Remove redundant function
22408 optimization flags comparison.
22409 * tree.h (target_opts_for_fn): New function.
22410
22411 2015-01-09 Tom de Vries <tom@codesourcery.com>
22412
22413 * omp-low.c (expand_omp_for_static_chunk): Fix assert.
22414
22415 2015-01-09 Kito Cheng <kito@0xlab.org>
22416
22417 PR rtl-optimization/64348
22418 * lra-constraints.c (split_reg): Fix caller-save store/restore
22419 instruction generation.
22420
22421 2015-01-08 John David Anglin <danglin@gcc.gnu.org>
22422
22423 PR gcov-profile/61790
22424 * gcov-tool.c (do_rewrite): Use strtoll instead of atoll if host has
22425 long long. Fallback to int64_t if host doesn't have long long and
22426 use strtol if int64_t is long. Otherwise, use sscanf for conversion.
22427
22428 2015-01-08 Jakub Jelinek <jakub@redhat.com>
22429
22430 PR tree-optimization/63989
22431 * params.def (PARAM_MAX_TRACKED_STRLENS): Increment default
22432 from 1000 to 10000.
22433 * tree-ssa-strlen.c (get_strinfo): Moved earlier.
22434 (get_stridx): If we don't have a record for certain SSA_NAME,
22435 but it is POINTER_PLUS_EXPR of some SSA_NAME we do with
22436 constant offset, call get_stridx_plus_constant.
22437 (get_stridx_plus_constant): New function.
22438 (zero_length_string): Don't use get_stridx here.
22439
22440 PR target/55023
22441 PR middle-end/64388
22442 * dse.c (struct insn_info): Mention frame_read set also
22443 before reload for tail calls on some targets.
22444 (scan_insn): Revert 2014-12-22 change. Set frame_read
22445 also before reload for tail calls if
22446 HARD_FRAME_POINTER_IS_ARG_POINTER. Call add_wild_read
22447 instead of add_non_frame_wild_read for non-const/memset
22448 tail calls after reload.
22449
22450 2015-01-08 Jason Merrill <jason@redhat.com>
22451
22452 * ubsan.c (do_ubsan_in_current_function): New.
22453 (pass_ubsan::gate): Use it.
22454 * ubsan.h: Declare it.
22455 * convert.c (convert_to_integer): Use it.
22456
22457 2015-01-08 Jakub Jelinek <jakub@redhat.com>
22458
22459 PR target/64338
22460 * config/i386/i386.c (ix86_expand_int_movcc): Don't reverse
22461 compare_code when it is unconditionally overwritten afterwards.
22462 Use ix86_reverse_condition instead of reverse_condition. Don't
22463 change code if *reverse_condition* returned UNKNOWN and don't
22464 swap ct/cf and negate diff in that case.
22465
22466 2015-01-08 Mike Stump <mikestump@comcast.net>
22467
22468 * tsan.c (pass_tsan::gate): Add no_sanitize_thread support.
22469 (pass_tsan_O0::gate): Likewise.
22470 * extend.texi (Function Attributes): Add no_sanitize_thread
22471 documentation.
22472
22473 2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
22474
22475 * builtins.def (DEF_GOMP_BUILTIN): Also consider flag_offload_abi
22476 for registering builtins.
22477 * config/i386/intelmic-mkoffload.c (prepare_target_image): Don't
22478 add -fopenmp to the argv_obstack used when invoking
22479 compile_for_target.
22480
22481 * config/i386/intelmic-mkoffload.c (compile_for_target): Always
22482 add "-m32" or "-m64" to argv_obstack.
22483 (generate_host_descr_file): Likewise, when invoking host_compiler.
22484 (main): Always add "-m elf_i386" or "-m elf_x86_64" when invoking
22485 ld.
22486
22487 2015-01-08 Oleg Endo <olegendo@gcc.gnu.org>
22488
22489 * config/sh/sh-mem.cc: Use constant as second operand when emitting
22490 tstsi_t insns.
22491
22492 2015-01-08 Oleg Endo <olegendo@gcc.gnu.org>
22493
22494 PR target/55212
22495 * config/sh/sh.md (*addsi3_compact): Emit reg-reg copy instead of
22496 constant load if constant operand fits into I08.
22497
22498 2015-01-08 Jakub Jelinek <jakub@redhat.com>
22499
22500 PR sanitizer/64336
22501 * tree.c (build2_stat): Fix up initialization of TREE_READONLY
22502 and TREE_THIS_VOLATILE for MEM_REFs.
22503 (build5_stat): Fix up initialization of TREE_READONLY and
22504 TREE_THIS_VOLATILE for TARGET_MEM_REFs.
22505
22506 2015-01-08 Kaz Kojima <kkojima@gcc.gnu.org>
22507
22508 PR target/64533
22509 * config/sh/sh.md (*addsi3_compact): Use u constraint instead
22510 of r for the second alternative of the destination operand.
22511
22512 2015-01-07 Segher Boessenkool <segher@kernel.crashing.org>
22513
22514 PR target/36557
22515 * config/rs6000/rs6000.md (*eqsi3_ext<mode>, *nesi3_ext<mode>): New.
22516
22517 2015-01-07 Sandra Loosemore <sandra@codesourcery.com>
22518
22519 * doc/invoke.texi ([-fvtable-verify]): Fix markup on option
22520 keywords.
22521 ([-fivar-visibility], [-fvisibility]): Likewise.
22522
22523 2015-01-07 Sandra Loosemore <sandra@codesourcery.com>
22524
22525 * doc/invoke.texi: Fix incorrect uses of @samp markup throughout
22526 the file where @code, @command, etc is more appropriate.
22527
22528 2015-01-06 Sandra Loosemore <sandra@codesourcery.com>
22529
22530 * doc/invoke.texi (RS/6000 and PowerPC Options): Tidy formatting
22531 of -mrecip= documentation.
22532
22533 2015-01-06 Michael Meissner <meissner@linux.vnet.ibm.com>
22534
22535 PR target/64505
22536 * config/rs6000/rs6000.c (rs6000_secondary_reload): Return the
22537 correct reload handler if -m32 -mpowerpc64 is used.
22538
22539 2015-01-06 Tom de Vries <tom@codesourcery.com>
22540
22541 * tree-ssa-tail-merge.c: Fix typo in struct same_succ_def comment.
22542
22543 2015-01-08 Christian Bruel <christian.bruel@st.com>
22544
22545 PR target/64507
22546 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Check 0 length.
22547
22548 2015-01-06 Thomas Preud'homme <thomas.preudhomme@arm.com>
22549
22550 PR tree-optimization/63259
22551 * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Stop checking
22552 if optab exists for 16bit byteswap.
22553
22554 2015-01-06 Jakub Jelinek <jakub@redhat.com>
22555
22556 * opts.c (common_handle_option): Add support for
22557 -fno-sanitize=all and -f{,no-}sanitize-recover=all.
22558 * doc/invoke.texi: Document -fno-sanitize=all,
22559 -f{,no-}sanitize-recover=all. Document that
22560 -fsanitize=float-cast-overflow is not enabled
22561 by -fsanitize=undefined. Fix up documentation
22562 of -f{,no-}sanitize-recover.
22563
22564 2015-01-06 Eric Botcazou <ebotcazou@adacore.com>
22565
22566 * config.gcc: Add Visium support.
22567 * configure.ac: Likewise.
22568 * configure: Regenerate.
22569 * doc/extend.texi (interrupt attribute): Add Visium.
22570 * doc/invoke.texi: Document Visium options.
22571 * doc/install.texi: Document Visium target.
22572 * doc/md.texi: Document Visium constraints.
22573 * common/config/visium: New directory.
22574 * config/visium: Likewise.
22575
22576 2015-01-05 Segher Boessenkool <segher@kernel.crashing.org>
22577
22578 * simplify-rtx.c (simplify_binary_operation_1): Handle more cases
22579 for the "(and X (ior (not X) Y) -> (and X Y)" transform.
22580
22581 2015-01-05 Segher Boessenkool <segher@kernel.crashing.org>
22582
22583 * combine.c (combine_validate_cost): Do not count the cost of a
22584 split I2 twice. Do not display it twice in the dump, either.
22585
22586 2015-01-05 Sandra Loosemore <sandra@codesourcery.com>
22587
22588 Revert parts of r219199.
22589 * doc/invoke.texi ([-Wliteral-suffix]): Restore markup on
22590 <inttypes.h>.
22591 ([-Wtraditional]): Restore markup on <limits.h>.
22592
22593 2015-01-05 Trevor Saunders <tsaunders@mozilla.com>
22594
22595 PR c++/31397
22596 * doc/invoke.texi: Document -Wsuggest-override.
22597
22598 2015-01-05 Radovan Obradovic <radovan.obradovic@imgtec.com>
22599
22600 PR rtl-optimization/64287
22601 * toplev.c (HAVE_epilogue, HAVE_prologue): Provide default.
22602 (process_options): Disable flag_ipa_ra if profiling.
22603
22604 2015-01-05 Eric Botcazou <ebotcazou@adacore.com>
22605
22606 * config/nds32/nds32-peephole2.md: Do not mention define_peephole.
22607
22608 2015-01-05 Max Filippov <jcmvbkbc@gmail.com>
22609
22610 * config/xtensa/xtensa.c (hwloop_optimize, hwloop_fail,
22611 hwloop_pattern_reg, xtensa_doloop_hooks, xtensa_reorg_loops):
22612 put under #if TARGET_LOOPS guard.
22613
22614 2015-01-05 Uros Bizjak <ubizjak@gmail.com>
22615
22616 * config/i386/i386.c (output_387_binary_op): Use std::swap.
22617
22618 2015-01-05 Oleg Endo <olegendo@gcc.gnu.org>
22619
22620 * rtlanal.c (refers_to_regno_p): Change return value from int to bool.
22621 * rtl.h (refers_to_regno_p): Add overload.
22622 * cse.c: Use it.
22623 * bt-load.c: Likewise.
22624 * combine.c: Likewise.
22625 * df-scan.c: Likewise.
22626 * sched-deps.c: Likewise.
22627 * config/s390/s390.c: Likewise.
22628 * config/m32r/m32r.c: Likewise.
22629 * config/rs6000/spe.md: Likewise.
22630 * config/rs6000/rs6000.c: Likewise.
22631 * config/pa/pa.c: Likewise.
22632 * config/stormy16/stormy16.c: Likewise.
22633 * config/cris/cris.c: Likewise.
22634 * config/arc/arc.md: Likewise.
22635 * config/arc/arc.c: Likewise.
22636 * config/sh/sh.md: Likewise.
22637 * config/sh/sh.c: Likewise.
22638 * config/frv/frv.c: Likewise.
22639
22640 2015-01-05 Jakub Jelinek <jakub@redhat.com>
22641
22642 PR sanitizer/64265
22643 * gimplify.c (gimplify_function_tree): Add TSAN_FUNC_EXIT internal
22644 call as cleanup of the whole body.
22645 * internal-fn.def (TSAN_FUNC_EXIT): New internal call.
22646 * tsan.c (replace_func_exit): New function.
22647 (instrument_func_exit): Moved earlier.
22648 (instrument_memory_accesses): Adjust TSAN_FUNC_EXIT internal calls.
22649 Call instrument_func_exit if no TSAN_FUNC_EXIT internal calls have
22650 been found.
22651 (tsan_pass): Don't call instrument_func_exit.
22652 * internal-fn.c (expand_TSAN_FUNC_EXIT): New function.
22653 * tree-inline.c (copy_bb): Drop TSAN_FUNC_EXIT internal calls during
22654 inlining.
22655
22656 PR sanitizer/64344
22657 * ubsan.h (ubsan_instrument_float_cast): Add ARG argument.
22658 * ubsan.c (ubsan_instrument_float_cast): Add ARG argument, pass
22659 it to libubsan handler instead of EXPR. Fold comparisons earlier,
22660 if the result is integer_zerop, return NULL_TREE.
22661 * convert.c (convert_to_integer): Pass expr as ARG.
22662
22663 PR tree-optimization/64465
22664 * tree-inline.c (redirect_all_calls): During inlining
22665 clean up EH stmts and EH edges if redirect_call_stmt_to_callee
22666 changed the stmt to a non-throwing call.
22667
22668 2015-01-05 Sandra Loosemore <sandra@codesourcery.com>
22669
22670 * doc/invoke.texi: Fix incorrect uses of @code, @option, @samp,
22671 etc markup throughout the file.
22672
22673 2015-01-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
22674
22675 Enable experimental TSAN support for Ada.
22676 * tsan.c (instrument_expr): Handle VIEW_CONVERT_EXPR.
22677
22678 2015-01-05 Jakub Jelinek <jakub@redhat.com>
22679
22680 PR tree-optimization/64494
22681 * tree-ssa-loop-im.c (move_computations_dom_walker::before_dom): Also
22682 clear SSA_NAME_ANTI_RANGE_P flag.
22683
22684 2015-01-05 Marek Polacek <polacek@redhat.com>
22685
22686 * doc/extend.texi (Arrays of Length Zero): Add missing comma.
22687
22688 2015-01-05 Jakub Jelinek <jakub@redhat.com>
22689
22690 Update copyright years.
22691
22692 * gcc.c (process_command): Update copyright notice dates.
22693 * gcov-dump.c: Ditto.
22694 * gcov.c: Ditto.
22695 * doc/cpp.texi: Bump @copying's copyright year.
22696 * doc/cppinternals.texi: Ditto.
22697 * doc/gcc.texi: Ditto.
22698 * doc/gccint.texi: Ditto.
22699 * doc/gcov.texi: Ditto.
22700 * doc/install.texi: Ditto.
22701 * doc/invoke.texi: Ditto.
22702
22703 * auto-profile.c, auto-profile.h: Fix up Copyright line.
22704
22705 2015-01-04 Sandra Loosemore <sandra@codesourcery.com>
22706
22707 * doc/invoke.texi ([-fsized-deallocation]): Copy-edit to fix
22708 verb tense, etc.
22709 ([-fvtable-verify], [-fvtv-debug]): Likewise.
22710 ([-Wabi]): Likewise.
22711 ([-fmessage-length]): Likewise.
22712 ([-Wsuggest-final-types], [-Wsuggest-final-methods]): Likewise.
22713 ([-Wno-discarded-qualifiers]): Likewise.
22714 ([-Wnodiscarded-array-qualifiers]): Likewise.
22715 ([-Wno-virtual-move-assign]): Likewise.
22716 ([-fsanitize=address], [-fsanitize=thread]): Likewise.
22717 ([-fsanitize=leak], [-fsanitize=undefined]): Likewise.
22718 ([-fsanitize=unreachable], [-fsanitize-recover]): Likewise.
22719 ([-fsanitize-undefined-trap-on-error]): Likewise.
22720 ([-floop-interchange]): Likewise.
22721 ([-ftree-coalesce-inlined-vars]): Likewise.
22722 ([-fvect-cost-model]): Likewise.
22723 ([-flto]): Likewise.
22724 ([--param]): Likewise.
22725 (Spec Files): Likewise.
22726 ([-mstrict-align]): Likewise.
22727 ([-mfix-cortex-a53-835769]): Likewise.
22728 ([-march], [-mtune]): Likewise.
22729 ([-mpic-register]): Likewise.
22730 ([-munaligned-access]): Likewise.
22731 ([-msp8]): Likewise.
22732 (EIND and Devices with more than 128 Ki Bytes of Flash): Likewise.
22733 (AVR Built-in Macros): Likewise.
22734 ([-mpreferred-stack-boundary]): Likewise.
22735 ([-mtune-crtl]): Likewise.
22736 ([-mashf]): Likewise.
22737 ([-mmcu=]): Likewise.
22738 ([-minrt]): Likewise.
22739 ([-maltivec], [-maltivec=be], [-maltivec=le]): Likewise.
22740 ([-mupper-regs]): Likewise.
22741 ([-matomic-model]): Likewise.
22742 ([-mdiv]): Likewise.
22743 ([-mzdcbranch]): Likewise.
22744 ([-mdisable-callt]): Likewise.
22745 ([-msoft-float]): Likewise.
22746 ([-m8byte-align]): Likewise.
22747 ([-fstack-reuse]): Likewise.
22748
22749 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
22750
22751 * doc/invoke.texi ([-fprofile-generate], [-fprofile-use]):
22752 Fix markup, light copy-editing.
22753 ([-fauto-profile]): Rewrite to fix formatting and content
22754 problems.
22755
22756 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
22757
22758 * doc/invoke.texi ([-fisolate-erroneous-paths-dereference]):
22759 Copy-edit description.
22760 ([-fisolate-erroneous-paths-attribute]): Likewise.
22761 * common.opt (fisolate-erroneous-paths-dereference):
22762 Copy-edit description.
22763 (fisolate-erroneous-paths-attribute): Likewise.
22764
22765 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
22766
22767 * doc/invoke.texi ([-fsemantic-interposition]): Fix typos and
22768 tidy grammar.
22769
22770 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
22771
22772 * doc/invoke.texi ([-fplan9-extensions]): Add/fix @opindex.
22773 ([-fvtv-debug]): Likewise.
22774 ([-Wc++-compat]): Likewise.
22775 ([-Wc++11-compat]): Likewise.
22776 ([-Wc++14-compat]): Likewise.
22777 ([-Wno-sized-deallocation]): Likewise.
22778 ([-femit-class-debug-always]): Likewise.
22779 ([-femit-struct-debug-detailed]): Likewise.
22780 ([-fno-keep-inline-dllexport]): Likewise.
22781 ([-fira-algorithm]): Likewise.
22782 ([-fira-region]): Likewise.
22783 ([-flra-remat]): Likewise.
22784 ([-fipa-ra]): Likewise.
22785 ([-fhoist-adjacent-loads]): Likewise.
22786 ([-fisolate-erroneous-paths-dereference]): Likewise.
22787 ([-fisolate-erroneous-paths-attribute]): Likewise.
22788 ([-ftree-switch-conversion]): Likewise.
22789 ([-ftree-tail-merge]): Likewise.
22790 ([-ftree-loop-if-convert]): Likewise.
22791 ([-ftree-loop-if-convert-stores]): Likewise.
22792 ([-ftree-loop-distribution]): Likewise.
22793 ([-ftree-loop-distribute-patterns]): Likewise.
22794 ([-flto-compression-level]): Likewise.
22795 ([-flto-report]): Likewise.
22796 ([-flto-report-wpa]): Likewise.
22797 ([-fuse-linker-plugin]): Likewise.
22798 ([-mfix-cortex-a53-835769]): Likewise.
22799 ([-mno-fix-cortex-a53-835769]): Likewise.
22800 ([-mmmx]...[-mno-3dnow]): Remove the -mno- forms from the
22801 explicit listing; add a note to the discussion indicating they
22802 exist. Reorder table to group similar options. Add missing
22803 @opindex entries. Add @need commands throughout the table to
22804 allow it to be split across multiple pages.
22805 ([-m8bit-idiv]): Fix @opindex.
22806 ([-mavx256-split-unaligned-load]): Likewise.
22807 ([-mavx256-split-unaligned-store]): Likewise.
22808 ([-mstack-protector-guard]): Likewise.
22809 ([-mcpu=]): Likewise.
22810 ([-mcpu]): Likewise.
22811 ([-mpointer-size=]): Likewise.
22812
22813 2015-01-03 John David Anglin <danglin@gcc.gnu.org>
22814
22815 * config/pa/pa.md (decrement_and_branch_until_zero): Use `Q' constraint
22816 instead of `m' constraint. Likewise for unnamed movb comparison
22817 patterns using reg_before_reload_operand predicate.
22818 * config/pa/predicates.md (reg_before_reload_operand): Tighten
22819 predicate to reject register index and LO_SUM DLT memory forms
22820 after reload.
22821
22822 2015-01-02 Sandra Loosemore <sandra@codesourcery.com>
22823
22824 * doc/invoke.texi (Option Summary): Fix spelling of
22825 -fdevirtualize-at-ltrans.
22826 ([-fdevirtualize]): Fix markup.
22827 ([-fdevirtualize-speculatively]): Fix typo.
22828 ([-fdevirtualize-at-ltrans]): Likewise. Make description less
22829 implementor-speaky.
22830 * common.opt (fdevirtualize-at-ltrans): Likewise.
22831 * ipa-devirt.c: Fix typos in comments throughout the file.
22832 (ipa_devirt): Fix typos in format strings for dump output.
22833
22834 2015-01-02 Sandra Loosemore <sandra@codesourcery.com>
22835
22836 * doc/invoke.texi ([-fopt-info]): Fix markup, consolidate
22837 discussion of defaults, light copy-editing.
22838
22839 2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
22840
22841 * tsan.c (instrument_expr): corrected previous checkin.
22842
22843 2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
22844
22845 Instrument bit field and unaligned accesses for TSAN.
22846 * sanitizer.def (BUILT_IN_TSAN_READ_RANGE): New built-in function.
22847 (BUILT_IN_TSAN_WRITE_RANGE): New built-in function.
22848 * tsan.c (instrument_expr): Handle COMPONENT_REF and BIT_FIELD_REF.
22849 Use BUILT_IN_TSAN_READ_RANGE and BUILT_IN_TSAN_WRITE_RANGE for
22850 unaligned memory regions.
22851
22852 2015-01-01 Anthony Green <green@moxielogic.com>
22853
22854 * config/moxie/predicates.md (moxie_general_movsrc_operand):
22855 Restrict move source register offsets to 16 bits.
22856 \f
22857 Copyright (C) 2015 Free Software Foundation, Inc.
22858
22859 Copying and distribution of this file, with or without modification,
22860 are permitted in any medium without royalty provided the copyright
22861 notice and this notice are preserved.