[PATCH 2/4] S390 -march=native related fixes
[gcc.git] / gcc / ChangeLog
1 2015-07-24 Dominik Vogt <vogt@linux.vnet.ibm.com>
2
3 * config/s390/s390.c (s390_issue_rate): Handle
4 PROCESSOR_2094_Z9_EC.
5 (s390_option_override): Likewise.
6 (s390_adjust_priority): Likewise.
7
8 2015-07-24 Dominik Vogt <vogt@linux.vnet.ibm.com>
9
10 * config/s390/s390.h: S390: Do not define EXTRA_SPEC_FUNCTIONS
11 when cross compiling.
12
13 2015-07-24 Richard Biener <rguenther@suse.de>
14
15 * fold-const.c (maybe_canonicalize_comparison_1): Move
16 A code CST canonicalization ...
17 * match.pd: ... to a pattern here.
18
19 2015-07-24 Jiong Wang <jiong.wang@arm.com>
20
21 Revert:
22 2015-07-22 Jiong Wang <jiong.wang@arm.com>
23 PR target/63521
24 * config/aarch64/aarch64.h (REG_ALLOC_ORDER): Define.
25 (HONOR_REG_ALLOC_ORDER): Define.
26
27 2015-07-24 Richard Biener <rguenther@suse.de>
28
29 * genmatch.c (add_operator): Allow SSA_NAME as predicate.
30 * fold-const.c (fold_comparison): Move parameter does not
31 alias &local simplification ...
32 * match.pd: ... as a pattern here.
33
34 2015-07-24 Richard Biener <rguenther@suse.de>
35
36 * gimple-fold.c (replace_stmt_with_simplification): Special-case
37 valueizing call operands.
38 * gimple-match-head.c (maybe_push_res_to_seq): Take
39 number of call arguments from ops array.
40 (do_valueize): New function.
41 (gimple_simplify): Return true if valueization changed
42 any operand even if the result didn't simplify further.
43
44 2015-07-24 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
45
46 PR middle-end/25530
47 * match.pd (mult (trunc_div @0 integer_pow2p@1) @1) : New simplifier.
48
49 2015-07-24 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
50
51 PR middle-end/25529
52 * match.pd (trunc_div (mult @0 integer_pow2p@1) @1) : New simplifier.
53
54 2015-07-23 Kugan Vivekanandarajah <kuganv@linaro.org>
55
56 * config/arm/arm.c (arm_emit_movpair): Add REG_EQUAL notes to
57 instruction.
58
59 2015-07-23 Kugan Vivekanandarajah <kuganv@linaro.org>
60
61 * cse.c (cse_insn): Fix missing check for STRICT_LOW_PART and minor
62 clean up.
63
64 2015-07-23 Uros Bizjak <ubizjak@gmail.com>
65
66 * config/i386/i386.c (ix86_build_builtin_va_list_64): Rename
67 from ix86_build_builtin_va_list_abi. Handle only 64bit non-MS_ABI
68 targets here.
69 (ix86_build_builtin_va_list): Rewrite sysv_va_list_type_node and
70 ms_va_list_type_node initialization.
71
72 2015-07-23 Jeff Law <law@redhat.com>
73
74 PR lto/66752
75 * tree-ssa-threadedge.c (simplify_conrol_stmt_condition): If we are
76 unable to find X NE 0 in the tables, return X as the simplified
77 condition.
78 (fsm_find_control_statement_thread_paths): If nodes in NEXT_PATH are
79 in VISISTED_BBS, then return failure. Else add nodes from NEXT_PATH
80 to VISISTED_BBS. */
81 * tree-ssa-threadupdate.c (duplicate_thread_path): Fix up edge flags
82 after removing the control flow statement and unnecessary edges.
83
84 2015-07-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
85
86 * tree-pass.h (get_current_pass_name): Removed.
87
88 2015-07-23 Alexandre Oliva <aoliva@redhat.com>
89
90 PR rtl-optimization/64164
91 * Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
92 * tree-ssa-copyrename.c: Removed.
93 * opts.c (default_options_table): Drop -ftree-copyrename. Add
94 -ftree-coalesce-vars.
95 * passes.def: Drop all occurrences of pass_rename_ssa_copies.
96 * common.opt (ftree-copyrename): Ignore.
97 (ftree-coalesce-inlined-vars): Likewise.
98 * doc/invoke.texi: Remove the ignored options above.
99 * gimple-expr.h (gimple_can_coalesce_p): Move declaration
100 * tree-ssa-coalesce.h: ... here.
101 * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
102 headers required by it.
103 * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
104 across variables when flag_tree_coalesce_vars. Check register
105 use and promoted modes to allow coalescing. Moved to
106 tree-ssa-coalesce.c.
107 * tree-ssa-live.c (struct tree_int_map_hasher): Move along
108 with its member functions to tree-ssa-coalesce.c.
109 (var_map_base_init): Likewise. Renamed to
110 compute_samebase_partition_bases.
111 (partition_view_normal): Drop want_bases parameter.
112 (partition_view_bitmap): Likewise.
113 * tree-ssa-live.h: Adjust declarations.
114 * tree-ssa-coalesce.c: Include explow.h.
115 (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
116 default defs at the entry point.
117 (dump_part_var_map): New.
118 (compute_optimized_partition_bases): New, called by...
119 (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
120 of compute_samebase_partition_bases. Adjust.
121 * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
122 * cfgexpand.c (leader_merge): New.
123 (get_rtl_for_parm_ssa_default_def): New.
124 (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
125 vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
126 (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
127 redundant MEM attr setting.
128 (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
129 from...
130 (expand_one_stack_var): ... this. New wrapper to check and
131 skip already expanded SSA partitions.
132 (record_alignment_for_reg_var): New, factored out of...
133 (expand_one_var): ... this.
134 (expand_one_ssa_partition): New.
135 (adjust_one_expanded_partition_var): New.
136 (expand_one_register_var): Check and skip already expanded SSA
137 partitions.
138 (expand_used_vars): Don't create DECLs for anonymous SSA
139 names. Expand all SSA partitions, then adjust all SSA names.
140 (pass::execute): Replace the loops that set
141 SA.partition_to_pseudo from partition leaders and cleared
142 DECL_RTL for multi-location variables, and that which used to
143 rename vars and set attrs, with one that clears DECL_RTL and
144 checks that PARMs and RESULTs default_defs match DECL_RTL.
145 * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
146 * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl.
147 * explow.c (promote_ssa_mode): New.
148 * explow.h (promote_ssa_mode): Declare.
149 * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
150 * function.c: Include cfgexpand.h.
151 (use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
152 (use_register_for_parm_decl): Wrapper for the above to
153 special-case the result_ptr.
154 (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
155 (split_complex_args): Take assign_parm_data_all argument.
156 Pass it to rtl_for_parm. Set up rtl and context for split
157 args.
158 (assign_parms_augmented_arg_list): Adjust.
159 (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
160 multiple locations. Recognize split complex args.
161 (assign_parm_adjust_stack_rtl): Add all and parm arguments,
162 for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
163 (assign_parm_setup_block): Prefer SSA-assigned location.
164 (assign_parm_setup_reg): Likewise. Use entry_parm for equiv
165 if stack_parm is NULL.
166 (assign_parm_setup_stack): Prefer SSA-assigned location.
167 (assign_parms): Maybe reset DECL_RTL of params. Adjust stack
168 rtl before testing for pointer bounds. Special-case result_ptr.
169 (expand_function_start): Maybe reset DECL_RTL of result.
170 Prefer SSA-assigned location for result and static chain.
171 Factor out DECL_RESULT and SET_DECL_RTL.
172 * tree-outof-ssa.c (insert_value_copy_on_edge): Handle
173 anonymous SSA names. Use promote_ssa_mode.
174 (get_temp_reg): Likewise.
175 (remove_ssa_form): Adjust.
176 * stor-layout.c (layout_decl): Don't set mem attributes of
177 non-MEMs.
178 * var-tracking.c (dataflow_set_clear_at_call): Take call_insn
179 and get its reg_usage for reg invalidation.
180 (compute_bb_dataflow): Pass it insn.
181 (emit_notes_in_bb): Likewise.
182
183 2015-07-23 Segher Boessenkool <segher@kernel.crashing.org>
184
185 PR target/66217
186 * config/rs6000/rs6000-protos.h (rs6000_emit_2insn_and): Change
187 prototype.
188 * config/rs6000/rs6000.c (rs6000_emit_dot_insn): New function.
189 (rs6000_emit_2insn_and): Handle dot forms.
190 * config/rs6000/rs6000.md (and<mode>3): Adjust.
191 (*and<mode>3_2insn): Remove TODO. Adjust. Add "type" attr.
192 (*and<mode>3_2insn_dot, *and<mode>3_2insn_dot2): New.
193
194 2015-07-23 Richard Biener <rguenther@suse.de>
195
196 * generic-match-head.c: Include cgraph.h.
197 * gimple-match-head.c: Likewise.
198 * tree-ssa-sccvn.c (free_scc_vn): Guard against newly created
199 SSA names.
200 * fold-const.c (fold_binary_loc): Move &A ==/!= &B simplification...
201 * match.pd: ...to a pattern here. Add &A ==/!= 0 simplification
202 pattern.
203
204 2015-07-23 Richard Biener <rguenther@suse.de>
205
206 * gimple-fold.c (fold_gimple_cond): Do not require folding
207 results to pass valid_gimple_rhs_p.
208 * tree-cfg.h (fold_cond_expr_cond): Remove.
209 * tree-cfg.c (fold_cond_expr_cond): Likewise.
210 (make_edges): Do not call it.
211 * tree-inline.c (tree_function_versioning): Likewise.
212
213 2015-07-23 Tom de Vries <tom@codesourcery.com>
214
215 * tree-parloops.c (gather_scalar_reductions): Add arg to call to
216 vect_force_simple_reduction.
217 * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Same.
218 (vect_is_simple_reduction_1): Add and handle
219 need_wrapping_integral_overflow parameter.
220 (vect_is_simple_reduction, vect_force_simple_reduction): Add and pass
221 need_wrapping_integral_overflow parameter.
222 (vectorizable_reduction): Add arg to call to vect_is_simple_reduction.
223 * tree-vectorizer.h (vect_force_simple_reduction): Add parameter to
224 decl.
225
226 2015-07-23 Yuri Rumyantsev <ysrumyan@gmail.com>
227
228 PR tree-optimization/66926,66951
229 * tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge): Delete
230 INNER_LOOP and fix up condition for renaming virtual operands.
231
232 2015-07-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
233
234 * combine.c (try_combine): Use std::swap instead of manually
235 swapping.
236
237 2015-07-23 Prachi Godbole <prachi.godbole@imgtec.com>
238
239 * config/mips/i6400.md: New file.
240 * config/mips/mips-cpus.def (mips32r6): Change to PROCESSOR_I6400.
241 (mips64r6): Likewise.
242 (i6400): Define.
243 * config/mips/mips-tables.opt: Regenerate.
244 * config/mips/mips.c (mips_rtx_cost_data): Add I6400 processor.
245 (mips_issue_rate): Add support for i6400.
246 (mips_multipass_dfa_lookahead): Likewise.
247 * config/mips/mips.h (TUNE_I6400): Define.
248 * config/mips/mips.md: Include i6400.md.
249 (processor): Add i6400.
250 * doc/invoke.texi (-march=@var{arch}): Add i6400.
251
252 2015-07-23 Richard Biener <rguenther@suse.de>
253
254 PR middle-end/66916
255 * match.pd: Guard widen and sign-change comparison simplification
256 with single_use.
257
258 2015-07-23 Richard Biener <rguenther@suse.de>
259
260 PR tree-optimization/66945
261 * tree-ssa-propagate.c (substitute_and_fold_dom_walker
262 ::before_dom_children): Force the propagators idea of
263 non-executable edges to materialize, not what the folder
264 chooses.
265
266 2015-07-23 Richard Biener <rguenther@suse.de>
267
268 * gimple.h (gimple_cond_make_false): Use 0 != 0.
269 (gimple_cond_make_true): Use 1 != 0.
270
271 2015-07-22 DJ Delorie <dj@redhat.com>
272
273 * config/msp430/t-msp430 (MULTILIB_DIRNAMES): Remove trailing
274 slashes.
275
276 * config/msp430/msp430.md (ashlhi3): Optimize shifts of subregs.
277 (ashrhi3): Likewise.
278 (lshrhi3): Likewise.
279 (movhi): Take advantage of zero-extend to load small constants.
280 (movpsi): Likewise.
281 (and<mode>3): Likewise.
282 (zero_extendqihi2): Likewise.
283 (zero_extendqisi2): New.
284 * config/msp430/constraints.md (N,O): New.
285 * config/msp430/msp430.h (WORD_REGISTER_OPERATIONS): Define.
286
287 2015-07-22 Uros Bizjak <ubizjak@gmail.com>
288
289 PR target/66954
290 * config/i386/i386.c (get_builtin_code_for_version): Add P_AES
291 to enum feature_priority and feature_list.
292 (fold_builtin_cpu): Add F_AES to enum processor_features
293 and isa_names_table.
294
295 2015-07-22 Ilya Enkovich <enkovich.gnu@gmail.com>
296
297 PR driver/66737
298 * config/i386/linux-common.h (MPX_SPEC): Use linker option
299 for 64bit target only.
300
301 2015-07-22 Bernd Schmidt <bernds@codesourcery.com>
302
303 * config/nvptx/nvptx.c: Expand some comments.
304
305 2015-07-22 James Greenhalgh <james.greenhalgh@arm.com>
306
307 * config/arm/cortex-a53 (cortex_53_advsimd): Rename to...
308 (cortex_a53_advsimd): ...This.
309
310 2015-07-22 Richard Biener <rguenther@suse.de>
311
312 * genmatch.c (expr::gen_transform): Clarify error message
313 and display location.
314
315 2015-07-22 Richard Biener <rguenther@suse.de>
316
317 * genmatch.c (struct operand): Add location member.
318 (predicate, expr, c_expr, capture, if_expr, with_expr): Adjust
319 constructors.
320 (struct simplify): Remove match_location and result_location
321 members.
322 (elsehwere): Adjust.
323
324 2015-07-22 Prachi Godbole <prachi.godbole@imgtec.com>
325
326 * config/mips/m5100.md: New file.
327 * config/mips/mips-cpus.def (m5100, m5101): Define.
328 * config/mips/mips-tables.opt: Regenerate.
329 * config/mips/mips.c (mips_rtx_cost_data): Add costs for m5100.
330 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Map -march=m5100 and
331 -march=m5101 to -mips32r5.
332 (MIPS_ARCH_FLOAT_SPEC): Map -m5101 to -msoft-float.
333 (MIPS_ISA_NAN2008_SPEC): Map -march=m51* to -mnan=2008 if
334 !-msoft-float.
335 * config/mips/mips.md: Include m5100.md.
336 (processor): Add m5100.
337 * doc/invoke.texi (-march=@var{arch}): Add m5100, m5101.
338
339 2015-07-22 Robert Suchanek <robert.suchanek@imgtec.com>
340
341 * config/mips/mips-cpus.def (interaptiv): Define.
342 * config/mips/mips-tables.opt: Regenerate.
343 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Map -march=interaptiv to
344 -mips32r2.
345 (BASE_DRIVER_SELF_SPECS): Likewise but map to -mdsp.
346 * doc/invoke.texi (-march=@var{arch}): Add interaptiv.
347
348 2015-07-22 Jiong Wang <jiong.wang@arm.com>
349
350 PR target/63521
351 * config/aarch64/aarch64.h (REG_ALLOC_ORDER): Define.
352 (HONOR_REG_ALLOC_ORDER): Define.
353
354 2015-07-22 Richard Biener <rguenther@suse.de>
355
356 PR tree-optimization/66952
357 * tree-ssa-ifcombine.c (pass_tree_ifcombine::execute): For
358 blocks we end up executing unconditionally reset all SSA
359 info such as range and alignment.
360 * tree-ssanames.h (reset_flow_sensitive_info): Declare.
361 * tree-ssanames.c (reset_flow_sensitive_info): New function.
362
363 2015-07-22 Charles Baylis <charles.baylis@linaro.org>
364
365 * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>): Fix
366 typo in attribute.
367
368 2015-07-22 Richard Biener <rguenther@suse.de>
369
370 * genmatch.c (parser::parse_result): Properly handle
371 match with result operands and conditions.
372
373 2015-07-22 Charles Baylis <charles.baylis@linaro.org>
374
375 PR target/63870
376 * config/aarch64/aarch64-builtins.c (enum aarch64_type_qualifiers):
377 Add qualifier_struct_load_store_lane_index.
378 (aarch64_types_loadstruct_lane_qualifiers): Use
379 qualifier_struct_load_store_lane_index for lane index argument for
380 last argument.
381 (aarch64_types_storestruct_lane_qualifiers): Ditto.
382 (builtin_simd_arg): Add SIMD_ARG_STRUCT_LOAD_STORE_LANE_INDEX.
383 (aarch64_simd_expand_args): Add new argument describing mode of
384 builtin. Check lane bounds for arguments with
385 SIMD_ARG_STRUCT_LOAD_STORE_LANE_INDEX.
386 (aarch64_simd_expand_builtin): Emit error for incorrect lane indices
387 if marked with SIMD_ARG_STRUCT_LOAD_STORE_LANE_INDEX.
388 (aarch64_simd_expand_builtin): Handle arguments with
389 qualifier_struct_load_store_lane_index. Pass machine mode of builtin to
390 aarch64_simd_expand_args.
391 * config/aarch64/aarch64-simd-builtins.def: Declare ld[234]_lane and
392 vst[234]_lane with BUILTIN_VALLDIF.
393 * config/aarch64/aarch64-simd.md:
394 (aarch64_vec_load_lanesoi_lane<mode>): Use VALLDIF iterator. Perform
395 endianness reversal on lane index.
396 (aarch64_vec_load_lanesci_lane<mode>): Ditto.
397 (aarch64_vec_load_lanesxi_lane<mode>): Ditto.
398 (vec_store_lanesoi_lane<mode>): Use VALLDIF iterator.
399 (vec_store_lanesci_lane<mode>): Ditto.
400 (vec_store_lanesxi_lane<mode>): Ditto.
401 (aarch64_ld2_lane<mode>): Use VALLDIF iterator. Remove endianness
402 reversal of lane index.
403 (aarch64_ld3_lane<mode>): Ditto.
404 (aarch64_ld4_lane<mode>): Ditto.
405 (aarch64_st2_lane<mode>): Ditto.
406 (aarch64_st3_lane<mode>): Ditto.
407 (aarch64_st4_lane<mode>): Ditto.
408 * config/aarch64/arm_neon.h (__LD2_LANE_FUNC): Rename mode parameter
409 to qmode. Add new mode parameter. Update uses.
410 (__LD3_LANE_FUNC): Ditto.
411 (__LD4_LANE_FUNC): Ditto.
412 (__ST2_LANE_FUNC): Ditto.
413 (__ST3_LANE_FUNC): Ditto.
414 (__ST4_LANE_FUNC): Ditto.
415
416 2015-07-22 Jonathan Wakely <jwakely@redhat.com>
417
418 * doc/invoke.texi (Language Independent Options): Rename node to
419 Diagnostic Message Formatting Options.
420
421 2015-07-21 Vladimir Makarov <vmakarov@redhat.com>
422
423 PR ipa/66424.
424 * lra-remat.c (operand_to_remat): Prevent using insns with input
425 subregs processed separately by IRA.
426
427 2015-07-21 Andrew MacLeod <amacleod@redhat.com>
428
429 * ssa-iterators.h (has_zero_uses, has_single_use): Implement as
430 straight loops.
431 (single_imm_use): Check for iterator node.
432 (num_imm_uses): Likewise.
433 * tree-ssa-operands.c (has_zero_uses_1): Delete.
434 (single_imm_use_1): Check for iterator node.
435
436 2015-07-21 Mike Frysinger <vapier@gentoo.org>
437 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
438
439 * configure.ac: Add check for new options in isl-0.15.
440 * config.in, configure: Rebuilt.
441 * graphite-blocking.c: Include <isl/constraint.h>
442 * graphite-interchange.c, graphite-poly.c: Likewise.
443 * graphhite-scop-detection.c, graphite-sese-to-poly.c: Likewise.
444 * graphite.c: Likewise.
445 * graphite-isl-ast-to-gimple.c: Include <isl/constraint.h> and
446 <isl/union_set.h>.
447 * graphite-dependences.c: Include <isl/constraint.h>.
448 (max_number_of_out_dimensions): Returns isl_stat.
449 (extend_schedule_1): Likewise
450 (extend_schedule): Corresponding changes.
451 * graphite-optimize-isl.c: Include <isl/constraint.h> and
452 <isl/union_set.h>.
453 (getSingleMap): Change return type of isl_stat.
454 (optimize_isl): Conditionally use
455 isl_options_set_schedule_serialize_sccs.
456 * graphite-poly.h (isl_stat, isl_stat_ok): Define fallbacks
457 if not HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS.
458
459 2015-07-21 Georg-Johann Lay <avr@gjlay.de>
460
461 PR target/66956
462 * config/avr/avr-dimode.md (<extend_u>mulsidi3_insn)
463 (<extend_u>mulsidi3): Don't use if !AVR_HAVE_MUL.
464
465 2015-07-21 Richard Biener <rguenther@suse.de>
466
467 PR tree-optimization/66948
468 * genmatch.c (capture_info::walk_match): Also recurse to
469 captures. Properly compute expr state from captures of
470 captures.
471 * match.pd: Add single-use guards to
472 (X & C2) >> C1 into (X >> C1) & (C2 >> C1) transform.
473
474 2015-07-21 Nathan Sidwell <nathan@codesourcery.com>
475
476 * config/nvptx/mkoffload.c (process): Add static destructor call.
477
478 2015-07-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
479
480 PR middle-end/66915
481 * match.pd (A - B -> A + (-B)): Don't allow folding
482 when type if a fixed-point type.
483
484 2015-07-20 DJ Delorie <dj@redhat.com>
485
486 * config/rl78/rl78-real.md (andqi3_real): Expand operands for clr1.
487 (iorqi3_real): Likewise for set1.
488
489 2015-07-20 Uros Bizjak <ubizjak@gmail.com>
490
491 * config/i386/i386.c (ix86_md_asm_adjust): Handle DImode dest_mode
492 for !TARGET_64BIT.
493
494 2015-07-20 Aditya Kumar <hiraditya@msn.com>
495
496 * graphite-isl-ast-to-gimple.c:
497 Refactor so that each function can access 'region'. This will help
498 maintain a parameter rename_map within a region.
499
500 2015-07-20 Segher Boessenkool <segher@kernel.crashing.org>
501
502 * config/rs6000/rs6000.md (*lt0_disi): New.
503
504 2015-07-20 Segher Boessenkool <segher@kernel.crashing.org>
505
506 PR target/66217
507 * config/rs6000/constraints.md ("S", "T", "t"): Delete. Update
508 "available letters" comment.
509 * config/rs6000/predicates.md (mask_operand, mask_operand_wrap,
510 mask64_operand, mask64_2_operand, any_mask_operand, and64_2_operand,
511 and_2rld_operand): Delete.
512 (and_operand): Adjust.
513 (rotate_mask_operator): New.
514 * config/rs6000/rs6000-protos.h (build_mask64_2_operands,
515 includes_lshift_p, includes_rshift_p, includes_rldic_lshift_p,
516 includes_rldicr_lshift_p, insvdi_rshift_rlwimi_p, extract_MB,
517 extract_ME): Delete.
518 (rs6000_is_valid_mask, rs6000_is_valid_and_mask,
519 rs6000_is_valid_shift_mask, rs6000_is_valid_insert_mask,
520 rs6000_insn_for_and_mask, rs6000_insn_for_shift_mask,
521 rs6000_insn_for_insert_mask, rs6000_is_valid_2insn_and,
522 rs6000_emit_2insn_and): New.
523 * config/rs6000/rs6000.c (num_insns_constant): Adjust.
524 (build_mask64_2_operands, includes_lshift_p, includes_rshift_p,
525 includes_rldic_lshift_p, includes_rldicr_lshift_p,
526 insvdi_rshift_rlwimi_p, extract_MB, extract_ME): Delete.
527 (rs6000_is_valid_mask, rs6000_is_valid_and_mask,
528 rs6000_insn_for_and_mask, rs6000_is_valid_shift_mask,
529 s6000_insn_for_shift_mask, rs6000_is_valid_insert_mask,
530 rs6000_insn_for_insert_mask, rs6000_is_valid_2insn_and,
531 rs6000_emit_2insn_and): New.
532 (print_operand) <'b', 'B', 'm', 'M', 's', 'S', 'W'>: Delete.
533 (rs6000_rtx_costs) <CONST_INT>: Delete mask_operand and mask64_operand
534 handling.
535 <NOT>: Don't fall through to next case.
536 <AND>: Handle the various rotate-and-mask cases directly.
537 <IOR>: Always cost as one insn.
538 * config/rs6000/rs6000.md (splitter for bswap:SI): Adjust.
539 (and<mode>3): Adjust expander for the new patterns.
540 (and<mode>3_imm, and<mode>3_imm_dot, and<mode>3_imm_dot2,
541 and<mode>3_imm_mask_dot, and<mode>3_imm_mask_dot2): Adjust condition.
542 (*and<mode>3_imm_dot_shifted): New.
543 (*and<mode>3_mask): Delete, rewrite as ...
544 (and<mode>3_mask): ... New.
545 (*and<mode>3_mask_dot, *and<mode>3_mask_dot): Rewrite.
546 (andsi3_internal0_nomc): Delete.
547 (*andsi3_internal6): Delete.
548 (*and<mode>3_2insn): New.
549 (insv, insvsi_internal, *insvsi_internal1, *insvsi_internal2,
550 *insvsi_internal3, *insvsi_internal4, *insvsi_internal5,
551 *insvsi_internal6, insvdi_internal, *insvdi_internal2,
552 *insvdi_internal3): Delete.
553 (*rotl<mode>3_mask, *rotl<mode>3_mask_dot, *rotl<mode>3_mask_dot2,
554 *rotl<mode>3_insert, *rotl<mode>3_insert_2, *rotl<mode>3_insert_3,
555 *rotl<mode>3_insert_4, two splitters for multi-precision shifts,
556 *ior<mode>_mask): New.
557 (extzv, extzvdi_internal, *extzvdi_internal1, *extzvdi_internal2,
558 *rotlsi3_mask, *rotlsi3_mask_dot, *rotlsi3_mask_dot2,
559 *ashlsi3_imm_mask, *ashlsi3_imm_mask_dot, *ashlsi3_imm_mask_dot2,
560 *lshrsi3_imm_mask, *lshrsi3_imm_mask_dot, *lshrsi3_imm_mask_dot2):
561 Delete.
562 (ashr<mode>3): Delete expander.
563 (*ashr<mode>3): Rename to ...
564 (ashr<mode>3): ... This.
565 (ashrdi3_no_power, *ashrdisi3_noppc64be): Delete.
566 (*rotldi3_internal4, *rotldi3_internal5 and split,
567 *rotldi3_internal6 and split, *ashldi3_internal4, ashldi3_internal5
568 and split, *ashldi3_internal6 and split, *ashldi3_internal7,
569 ashldi3_internal8 and split, *ashldi3_internal9 and split): Delete.
570 (*anddi3_2rld, *anddi3_2rld_dot, *anddi3_2rld_dot2): Delete.
571 (splitter for loading a mask): Adjust.
572 * doc/md.texi (Machine Constraints): Remove q, S, T, t constraints.
573
574 2015-07-20 Marek Polacek <polacek@redhat.com>
575
576 * genemit.c (print_code, gen_exp, gen_insn, gen_expand, gen_split,
577 output_add_clobbers, output_added_clobbers_hard_reg_p,
578 gen_rtx_scratch): Remove declarations.
579
580 2015-07-20 Marek Polacek <polacek@redhat.com>
581
582 PR c++/55095
583 * doc/invoke.texi: Document -Wshift-overflow and -Wshift-overflow=.
584
585 2015-07-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
586
587 * simplify-rtx.c (simplify_unary_operation_1, NEG case):
588 (neg (x ? (neg y) : y)) -> !x ? (neg y) : y.
589
590 2015-07-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
591
592 * combine.c (combine_simplify_rtx): Move simplification step
593 before various transformations/substitutions.
594
595 2015-07-20 Mikhail Maltsev <maltsevm@gmail.com>
596
597 * wide-int.h (struct binary_traits): Fix partial specialization syntax.
598 (struct int_traits): Likewise.
599
600 2015-07-18 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
601
602 * vmsdbgout.c (vmsdbgout_decl): Change name of prototyped
603 function to vmsdbgout_function_decl.
604
605 2015-07-18 Uros Bizjak <ubizjak@gmail.com>
606
607 PR target/66922
608 * config/i386/i386.c (ix86_expand_pextr): Reject extractions
609 from misaligned positions.
610 (ix86_expand_pinsr): Reject insertions to misaligned positions.
611
612 2015-07-18 Sebastian Pop <s.pop@samsung.com>
613
614 PR middle-end/46851
615 PR middle-end/60340
616 * Makefile.in: Removed omega.o.
617 * common.opt: Document flag fcheck-data-deps as deprecated.
618 * doc/invoke.texi: Remove documentation for fcheck-data-deps and
619 its associated params: omega-max-vars, omega-max-geqs,
620 omega-max-eqs, omega-max-wild-cards, omega-hash-table-size,
621 omega-max-keys, omega-eliminate-redundant-constraints.
622 * doc/loop.texi: Remove all the section on Omega.
623 * graphite-blocking.c: Include missing params.h: it used to be
624 included through tree-data-ref.h and omega.h.
625 * graphite-isl-ast-to-gimple.c: Same.
626 * graphite-optimize-isl.c: Same.
627 * graphite-sese-to-poly.c: Same.
628 * graphite.c: Same.
629 * omega.c: Remove.
630 * omega.h: Remove.
631 * params.def: Removed PARAM_OMEGA_MAX_VARS, PARAM_OMEGA_MAX_GEQS,
632 PARAM_OMEGA_MAX_EQS, PARAM_OMEGA_MAX_WILD_CARDS,
633 PARAM_OMEGA_HASH_TABLE_SIZE, PARAM_OMEGA_MAX_KEYS, and
634 PARAM_OMEGA_ELIMINATE_REDUNDANT_CONSTRAINTS.
635 * passes.def: Remove pass_check_data_deps.
636 * tree-data-ref.c (dump_affine_function): Declare DEBUG_FUNCTION.
637 (dump_conflict_function): Same.
638 (dump_subscript): Same.
639 (print_direction_vector): Same.
640 (print_dir_vectors): Same.
641 (print_lambda_vector): Same.
642 (print_dist_vectors): Same.
643 (dump_data_dependence_relation): Same.
644 (dump_data_dependence_relations): Same.
645 (dump_dist_dir_vectors): Same.
646 (dump_ddrs): Same.
647 (init_omega_eq_with_af): Removed.
648 (omega_extract_distance_vectors): Removed.
649 (omega_setup_subscript): Removed.
650 (init_omega_for_ddr_1): Removed.
651 (init_omega_for_ddr): Removed.
652 (ddr_consistent_p): Removed.
653 (compute_affine_dependence): Do not use omega to check data
654 dependences.
655 (compute_data_dependences_for_bb): Removed.
656 (analyze_all_data_dependences): Removed.
657 (tree_check_data_deps): Removed.
658 * tree-data-ref.h: Do not include omega.h.
659 (compute_data_dependences_for_bb): Removed.
660 (tree_check_data_deps): Removed.
661 * tree-ssa-loop.c (pass_check_data_deps): Removed.
662 (make_pass_check_data_deps): Removed.
663 * tree-ssa-phiopt.c: Include params.h.
664 * tree-vect-data-refs.c: Same.
665 * tree-vect-slp.c: Same.
666
667 2015-07-18 Uros Bizjak <ubizjak@gmail.com>
668
669 * config/i386/i386.md (pushsf splitter): Pass curr_insn to
670 find_constant_src. FAIL if find_constant_src returns NULL_RTX.
671 (mem->fpreg splitters): Ditto.
672 (general_operand->nonimmediate_operand splitter): Use explicit modes.
673 Disable DFmode for TARGET_64BIT.
674
675 2015-07-17 H.J. Lu <hongjiu.lu@intel.com>
676
677 PR target/66906
678 * config/i386/i386.c (ix86_expand_prologue): Replicate static
679 chain on the stack.
680
681 2015-07-17 Nathan Sidwell <nathan@codesourcery.com>
682
683 * config/nvptx/mkoffload.c (process): Constify host data.
684 * config/i386/intelmic-mkoffload.c (generate_target_descr_file):
685 Constify host data.
686 (generate_host_descr_file): Likewise.
687
688 2015-07-17 Aditya Kumar <aditya.k7@samsung.com>
689 Sebastian Pop <s.pop@samsung.com>
690
691 PR middle-end/61929
692 * graphite-dependences.c (add_pdr_constraints): Renamed
693 pdr->extent to pdr->subscript_sizes.
694 * graphite-interchange.c (build_linearized_memory_access): Add
695 back all gcc_assert's that the "isl_int to isl_val conversion"
696 patch has removed. Refactored.
697 (pdr_stride_in_loop): Renamed pdr->extent to pdr->subscript_sizes.
698 * graphite-poly.c (new_poly_dr): Same.
699 (free_poly_dr): Same.
700 * graphite-poly.h (struct poly_dr): Same.
701 * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Ignore
702 all data references other than ARRAY_REF, MEM_REF, and COMPONENT_REF.
703 * graphite-scop-detection.h: Fix space.
704 * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Add
705 back all gcc_assert's removed by a previous patch.
706 (wrap): Remove the_isl_ctx global variable that the same patch has
707 added.
708 (build_loop_iteration_domains): Same.
709 (add_param_constraints): Same.
710 (pdr_add_data_dimensions): Same. Refactored.
711 (build_poly_dr): Renamed extent to subscript_sizes.
712
713 2015-07-17 Marek Polacek <polacek@redhat.com>
714
715 * fold-const.c (fold_binary_loc): Move A - (A & B) into ~B & A ...
716 * match.pd: ... here.
717
718 2015-07-17 Nathan Sidwell <nathan@codesourcery.com>
719
720 * config/nvptx/mkoffload.c (process): Constify target data.
721 * config/i386/intelmic-mkoffload.c (generate_target_descr_file):
722 Constify target data.
723 (generate_target_offloadend_file): Likewise.
724
725 2015-07-17 Yuri Rumyantsev <ysrumyan@gmail.com>
726
727 * tree-vect-loop-manip.c (rename_variables_in_bb): Add argument
728 to allow renaming of PHI arguments on edges incoming from outer
729 loop header, add corresponding check before start PHI iterator.
730 (slpeel_tree_duplicate_loop_to_edge_cfg): Introduce new bool
731 variable DUPLICATE_OUTER_LOOP and set it to true for outer loops
732 with true force_vectorize. Set-up dominator for outer loop too.
733 Pass DUPLICATE_OUTER_LOOP as argument to rename_variables_in_bb.
734 (slpeel_can_duplicate_loop_p): Allow duplicate of outer loop if it
735 was marked with force_vectorize and has restricted cfg.
736 (slpeel_tree_peel_loop_to_edge): Do not rename exit PHI uses in
737 inner loop.
738 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Do not
739 do peeling for outer loops.
740
741 2015-07-17 Yvan Roux <yvan.roux@linaro.org>
742 Matthias Klose <doko@ubuntu.com>
743
744 * configure.ac: Move AC_ARG_WITH checks for native-system-header-dir,
745 build-sysroot, sysroot from the `Miscenalleous configure options' to
746 the `Directories' section and strip trailing `/' from with_sysroot.
747 (gcc_gxx_include_dir): Don't strip a `/' sysroot value.
748 * configure: Regenerated.
749
750 2015-07-17 Uros Bizjak <ubizjak@gmail.com>
751
752 PR target/66824
753 * config/i386/i386.h (TARGET_HARD_SF_REGS): New define.
754 (TARGET_HARD_DF_REGS): Ditto.
755 (TARGET_HARD_XF_REGS): Ditto.
756 * config/i386/i386.md (*movxf_internal): Add alternatives 9 and 10.
757 Enable alternatives 9 and 10 only for !TARGET_HARD_XF_REG target.
758 (*movdf_internal): Add alternatives 22, 23, 24 and 25. Enable
759 alternatives 22, 23, 24 and 25 only for !TARGET_HARD_DF_REG target.
760 (*movsf_internal): Add alternatives 16 and 17. Enable
761 alternatives 16 and 17 only for !TARGET_HARD_SF_REG target.
762
763 2015-07-17 Uros Bizjak <ubizjak@gmail.com>
764
765 PR rtl-optimization/66891
766 * calls.c (expand_call): Wrap precompute_register_parameters with
767 NO_DEFER_POP/OK_DEFER_POP to prevent deferred pops.
768
769 2015-07-16 Nathan Sidwell <nathan@codesourcery.com>
770
771 * config/nvptx/mkoffload.c (process): Constify mapping variables.
772 Define target data struct and initialize it.
773
774 2015-07-16 Vladimir Makarov <vmakarov@redhat.com>
775
776 PR rtl-optimization/66626
777 * ira.h (emit-rtl.h): Include.
778 (non_spilled_static_chain_regno_p): New.
779 * ira-color.c (setup_profitable_hard_regs): Clear profitable regs
780 unless it is non spilled static chain pseudo.
781 (assign_hard_rego): Spill memory profitable allocno unless it is
782 non spilled static chain pseudo.
783 (allocno_spill_priority_compare): Put non spilled static chain
784 pseudo at the end of sorted array.
785 (improve_allocation): Do nothing if we have static chain and
786 non-local goto.
787 (allocno__priority_compare_func): Put non spilled static chain
788 pseudo at the beginning of sorted array.
789 (move_spill_restore): Ignore non spilled static chain pseudo.
790 * ira-costs.c (find_costs_and_classes): Don't assign class NO_REGS
791 to non spilled static chain pseudo.
792 * lra-assigns.c (pseudo_compare_func): Put non spilled static chain
793 pseudo at the beginning of sorted array.
794 (spill_for): Spill non spilled static chain pseudo last.
795 * lra-constraints.c (lra_constraints): Remove static chain pseudo
796 check for equivalence.
797
798 2015-07-16 Martin Liska <mliska@suse.cz>
799
800 PR ipa/66896.
801 * ipa-prop.c (update_jump_functions_after_inlining): Create properly
802 dst_ctx if it does not exist.
803
804 2015-07-16 Martin Liska <mliska@suse.cz>
805
806 * hash-set.h (remove): New function.
807 (iterator): New iteration class for hash_set.
808
809 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
810
811 * genattrtab.c (make_canonical): Add a file_location parameter.
812 Use fatal_at rather than fatal.
813 (get_attr_value): Likewise. Update call to make_canonical.
814 (fill_attr, make_length_attrs, optimize_attrs, gen_attr)
815 (make_internal_attr): Update calls accordingly.
816
817 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
818
819 * read-md.h (message_with_line, error_with_line): Delete.
820 * read-md.c (message_with_line, error_with_line): Delete.
821 * gensupport.h: Include read-md.h.
822 (md_rtx_info): New structure.
823 (read_md_rtx): Use it. Return a bool success value.
824 * gensupport.c (read_md_rtx): Likewise.
825 * genattr-common.c (gen_attr): Take an md_rtx_info rather than an rtx.
826 (main): Update after interface changes.
827 * genattr.c (gen_attr): Take an md_rtx_info rather than an rtx.
828 (main): Update after interface changes.
829 * genattrtab.c (insn_code_number): Delete.
830 (optimize_attrs): Add a max_insn_code parameter and use it instead
831 of insn_code_number.
832 (gen_attr): Take an md_rtx_info rather than an rtx and lineno.
833 Use *_at rather than *_with_line functions.
834 (gen_insn): Likewise.
835 (gen_delay): Likewise.
836 (gen_insn_reserv): Likewise.
837 (gen_bypass): Take an md_rtx_info rather than an rtx.
838 (main): Update after interface changes. Use a local max_insn_code
839 variable instead of insn_code_number.
840 * genautomata.c (gen_cpu_unit): Take an md_rtx_info rather than
841 an rtx. Use fatal_at rather than fatal.
842 (gen_query_cpu_unit, gen_bypass, gen_excl_set)
843 (gen_presence_absence_set, gen_presence_set, gen_final_presence_set)
844 (gen_absence_set, gen_final_absence_set, gen_automaton)
845 (gen_automata_option, gen_reserv, gen_insn_reserv): Likewise.
846 (main): Update after interface changes.
847 * gencodes.c (gen_insn): Take an md_rtx_info rather than an rtx
848 and code number.
849 (main): Update after interface changes.
850 * genconditions.c (main): Use new read_md_rtx interface.
851 * genconfig.c (gen_insn): Take an md_rtx_info rather than an rtx.
852 (gen_expand, gen_split, gen_peephole, gen_peephole2): Likewise.
853 (main): Update after interface changes.
854 * genemit.c (insn_code_number, insn_index_number): Delete.
855 (gen_insn): Take an md_rtx_info rather than an rtx and lineno.
856 Use fatal_at rather than fatal.
857 (gen_expand): Take an md_rtx_info rather than an rtx. Use fatal_at
858 rather than fatal.
859 (gen_split): Likewise.
860 (main): Update after interface changes.
861 * genextract.c (line_no): Delete.
862 (gen_insn): Take an md_rtx_info rather than an rtx and lineno.
863 Update call to walk_rtx.
864 (VEC_safe_set_locstr): Add an md_rtx_info argument. Use message_at
865 rather than message_with_line.
866 (walk_rtx): Add an md_rtx_info argument. Update call to
867 VEC_safe_set_locstr.
868 (main): Update after interface changes.
869 * genflags.c (gen_insn): Take an md_rtx_info rather than an rtx
870 and lineno. Use error_at rather than separate message_with_line
871 calls and have_error assignments.
872 (main): Update after interface changes.
873 * genmddump.c (main): Use new read_md_rtx interface.
874 * genopinit.c (insn): Take an md_rtx_info rather than an rtx.
875 (main): Update after interface changes.
876 * genoutput.c (next_code_number): Delete.
877 (gen_insn): Take an md_rtx_info rather than an rtx and lineno.
878 (gen_peephole, gen_expand, gen_split): Likewise.
879 (note_constraint): Likewise. Use *_at rather than *_with_line
880 functions.
881 (main): Update after interface changes.
882 * genpeep.c (gen_peephole): Take an md_rtx_info rather than an
883 rtx and lineno.
884 (main): Update after interface changes.
885 * genpreds.c (process_define_predicate): Take an md_rtx_info rather
886 than an rtx and lineno.
887 (process_define_constraint): Likewise.
888 (process_define_register_constraint): Likewise.
889 (main): Update after interface changes.
890 * genrecog.c (next_insn_code, pattern_lineno): Delete.
891 (validate_pattern): Replace top-level rtx with an md_rtx_info.
892 Use *_at rather than *_with_line functions.
893 (match_pattern_2): Likewise.
894 (match_pattern_1, match_pattern): Add an md_rtx_info parameter.
895 (get_peephole2_pattern): Take an md_rtx_info rather than an rtvec.
896 Use *_at rather than *_with_line functions.
897 * gentarget-def.c (add_insn): New function.
898 (main): Use it. Use new read_md_rtx interface.
899
900 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
901
902 * gensupport.h (compute_test_codes): Take a file_location rather
903 than a line number.
904 * gensupport.c (compute_test_codes): Likewise. Use *_at functions
905 rather than *_with_line functions.
906 (process_define_predicate): Update call to compute_test_codes.
907 * genpreds.c (validate_exp): Take a file_location rather than a
908 line number. Use *_at functions rather than *_with_line functions.
909 (process_define_predicate): Update call to validate_exp.
910 (constraint_data): Replace lineno field with a file_location.
911 (add_constraint): Take a file_location rather than a line number.
912 Use *_at functions rather than *_with_line functions. Fix error
913 message for address constraints. Update after changes to
914 validate_exp, constraint_data and compute_test_codes.
915 (process_define_constraint): Update accordingly.
916 (process_define_register_constraint): Likewise.
917
918 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
919
920 * genoutput.c (data): Use a file_location to record the source
921 position.
922 (nothing): Delete.
923 (idata, idata_end): Remove initialization.
924 (constraint_data): Replace lineno with a file_location.
925 (output_insn_data): Update after changes to data.
926 (gen_insn, gen_peephole, gen_expand, gen_split): Likewise.
927 (scan_operands): Likewise, using *_at rather than *_with_line
928 functions.
929 (process_template): Likewise.
930 (validate_insn_alternatives): Likewise.
931 (validate_insn_operands): Likewise.
932 (validate_optab_operands): Likewise.
933 (init_insn_for_nothing): Initialize idata and idata_end.
934 (note_constraint): Update after changes to constraint_data,
935 using at rather than with_line functions.
936 (mdep_constraint_len): Take a file_location rather than a
937 line number. Use at rather than with_line functions.
938
939 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
940
941 * read-md.h (fatal_at): Declare.
942 * read-md.c (fatal_at): New function.
943 * genattrtab.c (insn_def, attr_desc, delay_desc): Use a file_location
944 to record the source position.
945 (check_attr_test): Take a file_location instead of a line number.
946 Use fatal_at instead of fatal.
947 (check_attr_value): Update after above changes, using "at"
948 rather than "with_line" reporting functions.
949 (convert_set_attr_alternative): Likewise.
950 (gen_attr): Likewise.
951 (check_defs): Likewise. Don't assign to read_md_filename.
952 (gen_insn): Update initialization after above changes.
953 (gen_delay): Likewise.
954 (write_insn_cases): Print the filename for a define_peephole.
955 (gen_insn_reserv): Take a line number as argument and update
956 the call to check_attr_test.
957 (main): Pass a line number to gen_insn_reserv.
958
959 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
960
961 * read-md.h (file_location): New structure.
962 (directive_handler_t): Take a file_location rather than a line number.
963 (message_at, error_at): Declare.
964 (read_skip_construct): Delete.
965 * read-md.c (message_with_line_1): Replace with...
966 (message_at_1): ...this new function.
967 (message_at, error_at): New functions.
968 (message_with_line, error_with_line): Update to use message_at_1.
969 (handle_enum): Take a file_location rather than a line number
970 and use error_at for error reporting.
971 (handle_include): Likewise.
972 (read_skip_construct): Likewise. Make static.
973 (handle_file): Update after above changes. Pass a file_location
974 rather than a line number to handle_directive.
975 * gensupport.c (queue_elem): Replace separate filename and lineno
976 with a file_location.
977 (queue_pattern): Replace filename and lineno arguments with a
978 file_location. Update after change to queue_elem.
979 (process_define_predicate): Replace lineno argument with a
980 file_location and use error_at for error reporting. Update
981 after above changes.
982 (process_rtx): Likewise.
983 (subst_pattern_match): Likewise.
984 (get_alternatives_number): Likewise.
985 (alter_predicate_for_insn): Likewise.
986 (rtx_handle_directive): Likewise.
987 (is_predicable): Update after above changes, using error_at rather
988 than error_with_line.
989 (has_subst_attribute): Likewise.
990 (identify_predicable_attribute): Likewise.
991 (alter_attrs_for_subst_insn): Likewise.
992 (process_one_cond_exec): Likewise.
993 (process_substs_on_one_elem): Likewise.
994 (process_define_subst): Likewise.
995 (check_define_attr_duplicates): Likewise.
996 (read_md_rtx): Update after change to queue_elem.
997
998 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
999
1000 * genoutput.c (next_index_number): Delete.
1001 (data): Remove index_number.
1002 (gen_insn, gen_peephole, gen_expand, gen_split): Update accordingly.
1003 (main): Remove manipulation of next_index_number.
1004
1005 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
1006
1007 * genattrtab.c (check_attr_value): Remove handling of null attrs.
1008 (make_canonical): Likewise.
1009
1010 2015-07-16 Eric Botcazou <ebotcazou@adacore.com>
1011
1012 * config/sparc/sparc.md (save_stack_nonlocal): Use adjust_address
1013 instead of adjust_address_nv.
1014 (restore_stack_nonlocal): Likewise.
1015 (nonlocal_goto): Likewise.
1016
1017 2015-07-16 Tom de Vries <tom@codesourcery.com>
1018
1019 * tree-parloops.c (create_parallel_loop): Handle case that exit phi does
1020 not have a corresponding loop header phi.
1021
1022 2015-07-16 Tom de Vries <tom@codesourcery.com>
1023
1024 * tree-parloops.c (create_loads_for_reductions): Handle case that
1025 reduction is unused.
1026
1027 2015-07-16 Richard Biener <rguenther@suse.de>
1028
1029 PR tree-optimization/66894
1030 * tree-vrp.c (register_edge_assert_for_2): Fix bad assumption
1031 about deriving NE_EXPR from truncated values.
1032
1033 2015-07-16 Martin Liska <mliska@suse.cz>
1034
1035 * alloc-pool.h
1036 (object_allocator): Add new class.
1037 (pool_allocator::initialize): Use the underlying class.
1038 (pool_allocator::allocate): Likewise.
1039 (pool_allocator::remove): Likewise.
1040 (operator new): A new generic allocator.
1041 * asan.c (struct asan_mem_ref): Remove unused members.
1042 (asan_mem_ref_new): Replace new operator with
1043 object_allocator::allocate.
1044 (free_mem_ref_resources): Change deallocation.
1045 * cfg.c (initialize_original_copy_tables): Replace pool_allocator
1046 with object_allocator.
1047 * config/sh/sh.c (add_constant): Replace new operator with
1048 object_allocator::allocate.
1049 (sh_reorg): Change call to a release method.
1050 * cselib.c (struct elt_list): Remove unused members.
1051 (new_elt_list): Replace new operator with
1052 object_allocator::allocate.
1053 (new_elt_loc_list): Likewise.
1054 (new_cselib_val): Likewise.
1055 (unchain_one_elt_list): Change delete operator with remove method.
1056 (unchain_one_elt_loc_list): Likewise.
1057 (unchain_one_value): Likewise.
1058 (cselib_finish): Release newly added static allocators.
1059 * cselib.h (struct cselib_val): Remove unused members.
1060 (struct elt_loc_list): Likewise.
1061 * df-problems.c (df_chain_alloc): Replace pool_allocator with
1062 object_allocator.
1063 * df-scan.c (struct df_scan_problem_data): Likewise.
1064 (df_scan_alloc): Likewise.
1065 * df.h (struct dataflow): Likewise.
1066 * dse.c (struct read_info_type): Likewise.
1067 (struct insn_info_type): Likewise.
1068 (struct dse_bb_info_type): Likewise.
1069 (struct group_info): Likewise.
1070 (struct deferred_change): Likewise.
1071 (get_group_info): Likewise.
1072 (delete_dead_store_insn): Likewise.
1073 (free_read_records): Likewise.
1074 (replace_read): Likewise.
1075 (check_mem_read_rtx): Likewise.
1076 (scan_insn): Likewise.
1077 (dse_step1): Likewise.
1078 (dse_step7): Likewise.
1079 * et-forest.c (struct et_occ): Remove unused members.
1080 (et_new_occ): Use allocate instead of new operator.
1081 (et_new_tree): Likewise.
1082 (et_free_tree): Call release method explicitly.
1083 (et_free_tree_force): Likewise.
1084 (et_free_pools): Likewise.
1085 (et_split): Use remove instead of delete operator.
1086 * et-forest.h (struct et_node): Remove unused members.
1087 * ipa-cp.c: Change pool_allocator to object_allocator.
1088 * ipa-inline-analysis.c: Likewise.
1089 * ipa-profile.c: Likewise.
1090 * ipa-prop.c: Likewise.
1091 * ipa-prop.h: Likewise.
1092 * ira-build.c (initiate_cost_vectors): Cast return value.
1093 (ira_allocate_cost_vector): Likewise.
1094 * ira-color.c (struct update_cost_record): Remove unused members.
1095 * lra-int.h (struct lra_live_range): Likewise.
1096 (struct lra_copy): Likewise.
1097 (struct lra_insn_reg): Likewise.
1098 * lra-lives.c (lra_live_ranges_finish): Release new static allocator.
1099 * lra.c (new_insn_reg): Replace new operator with allocate method.
1100 (free_insn_regs): Same for operator delete.
1101 (finish_insn_regs): Release new static allocator.
1102 (finish_insn_recog_data): Likewise.
1103 (lra_free_copies): Replace delete operator with remove method.
1104 (lra_create_copy): Replace operator new with allocate method.
1105 (invalidate_insn_data_regno_info): Same for remove method.
1106 * regcprop.c (struct queued_debug_insn_change): Remove unused members.
1107 (free_debug_insn_changes): Replace delete operator with remove method.
1108 (replace_oldest_value_reg): Replace operator new with allocate method.
1109 (pass_cprop_hardreg::execute): Release new static variable.
1110 * sched-deps.c (sched_deps_init): Change pool_allocator to
1111 object_allocator.
1112 * sel-sched-ir.c: Likewise.
1113 * sel-sched-ir.h: Likewise.
1114 * stmt.c (expand_case): Likewise.
1115 (expand_sjlj_dispatch_table): Likewise.
1116 * tree-sra.c (struct access): Remove unused members.
1117 (struct assign_link): Likewise.
1118 (sra_deinitialize): Release newly added static pools.
1119 (create_access_1):Replace operator new with allocate method.
1120 (build_accesses_from_assign): Likewise.
1121 (create_artificial_child_access): Likewise.
1122 * tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Change
1123 pool_allocator to object_allocator.
1124 * tree-ssa-pre.c: Likewise.
1125 * tree-ssa-reassoc.c: Likewise.
1126 * tree-ssa-sccvn.c (allocate_vn_table): Likewise.
1127 * tree-ssa-strlen.c: Likewise.
1128 * tree-ssa-structalias.c: Likewise.
1129 * var-tracking.c (onepart_pool_allocate): New function.
1130 (unshare_variable): Use the newly added function.
1131 (variable_merge_over_cur): Likewise.
1132 (variable_from_dropped): Likewise.
1133 (variable_was_changed): Likewise.
1134 (set_slot_part): Likewise.
1135 (emit_notes_for_differences_1): Likewise.
1136 (vt_finalize): Release newly added static pools.
1137
1138 2015-07-16 Martin Jambor <mjambor@suse.cz>
1139
1140 * ipa-prop.h (param_aa_status): Rename to ipa_param_aa_status. Adjust
1141 all uses. Fix two typos in its general comment.
1142 (func_body_info): Rename to ipa_func_body_info. Adjust all uses.
1143
1144 2015-07-16 Ilya Enkovich <enkovich.gnu@gmail.com>
1145
1146 * config/i386/linux-common.h (LINK_MPX): New.
1147 (MPX_SPEC): Use LINK_MPX instead of %(link_mpx).
1148 * configure.ac: Add HAVE_LD_BNDPLT_SUPPORT macro
1149 indicating '-z bndplt' support by linker.
1150 * configure: Regenerate.
1151 * config.in: Regenerate.
1152
1153 2015-07-16 Richard Biener <rguenther@suse.de>
1154
1155 * fold-const.c (fold_widened_comparison): Remove.
1156 (fold_sign_changed_comparison): Likewise.
1157 (fold_comparison): Move widened and sign-changed comparison
1158 simplification ...
1159 * match.pd: ... to patterns here.
1160 * generic-match-head.c: Include target.h.
1161 * gimple-match-head.c: Likewise.
1162
1163 2015-07-16 Richard Biener <rguenther@suse.de>
1164
1165 * tree-ssa-dom.c (dom_valueize): New function.
1166 (record_temporary_equivalences): Also record equivalences
1167 for dominating stmts that have uses of equivalences we are
1168 about to record.
1169
1170 2015-07-16 Bin Cheng <bin.cheng@arm.com>
1171
1172 * tree-ssa-loop-ivopts.c (add_candidate): Remove call to
1173 add_autoinc_candidates.
1174 (add_iv_candidate_for_biv): Rename to add_iv_candidate_for_biv.
1175 (add_iv_candidate_for_biv): Rename from add_iv_candidate_for_biv.
1176 (add_old_ivs_candidates): Rename to add_iv_candidate_for_bivs.
1177 (add_iv_candidate_for_bivs): Rename from add_old_ivs_candidates.
1178 Call new function.
1179 (add_iv_value_candidates): Rename to add_iv_candidate_for_use.
1180 (add_iv_candidate_for_use): Rename from add_iv_value_candidates.
1181 Remove parameter struct iv*. Call add_autoinc_candidates here.
1182 (add_derived_ivs_candidates): Rename to add_iv_candidate_for_uses.
1183 (add_iv_candidate_for_uses): Rename from add_derived_ivs_candidates.
1184 Call new function.
1185 (find_iv_candidates): Call new functions.
1186
1187 2015-07-16 Sandra Loosemore <sandra@codesourcery.com>
1188
1189 * config/nios2/nios2.c (nios2_emit_stack_limit_check): Fix
1190 uninitialized-variable warning.
1191
1192 2015-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
1193
1194 PR target/65249
1195 * config/sh/sh.md (movdi): Split simple reg move to two movsi
1196 when the destination is R0.
1197
1198 2015-07-16 Uros Bizjak <ubizjak@gmail.com>
1199
1200 PR target/66866
1201 * config/i386/i386-protos.h (ix86_expand_pextr): New prototype.
1202 * config/i386/i386.c (ix86_expand_pextr): New function.
1203 (ix86_expand_pinsr): Handle V1TI and TI modes. Call ix86_expand_pextr
1204 for non-lowpart subregs.
1205 * config/i386/i386.md (extzv<mode>): Expand with ix86_expand_pextr.
1206 (insv<mode>): Use SWI248 mode iterator.
1207 (insv<mode>_1): Ditto.
1208
1209 2015-07-15 Aditya Kumar <aditya.k7@samsung.com>
1210 Sebastian Pop <s.pop@samsung.com>
1211
1212 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Point
1213 iterator to use_stmt.
1214
1215 2015-07-15 Aditya Kumar <aditya.k7@samsung.com>
1216 Sebastian Pop <s.pop@samsung.com>
1217
1218 * graphite-scop-detection.c (build_scops_1): Discard scops for
1219 which entry==exit.
1220
1221 2015-07-15 Aditya Kumar <aditya.k7@samsung.com>
1222 Sebastian Pop <s.pop@samsung.com>
1223
1224 * graphite-scop-detection.c (stmt_simple_for_scop_p): Bail out in
1225 case of a return statement in scop.
1226
1227 2015-07-15 Aditya Kumar <aditya.k7@samsung.com>
1228 Sebastian Pop <s.pop@samsung.com>
1229
1230 * graphite-sese-to-poly.c (parameter_index_in_region): Only handle
1231 INTEGER_TYPE parameters.
1232 (scan_tree_for_params): Handle REAL_CST, COMPLEX_CST, and
1233 VECTOR_CST in scan_tree_for_params.
1234 (add_conditions_to_domain): Only constrain on INTEGER_TYPE.
1235
1236 2015-07-15 Andrew MacLeod <amacleod@redhat.com>
1237
1238 * gimple-pretty-print.h: Don't include pretty-print.h.
1239 * tree-streamer.h: Don't include lto-streamer.h.
1240 * gimple-streamer.h: Include tree-streamer.h rather than lto-streamer.h.
1241 * gimple-streamer-in.c: Remove redundant includes.
1242 * gimple-streamer-out.c: Likewise.
1243 * ipa-devirt.c: Likewise.
1244 * ipa-icf.c: Likewise.
1245 * ipa-inline-analysis.c: Likewise.
1246 * ipa-polymorphic-call.c: Likewise.
1247 * ipa-profile.c: Likewise.
1248 * ipa-prop.c: Likewise.
1249 * ipa-pure-const.c: Likewise.
1250 * lto-cgraph.c: Likewise.
1251 * lto-streamer-in.c: Likewise.
1252 * lto-streamer-out.c: Likewise.
1253 * lto-streamer.c: Likewise.
1254 * tree-streamer-in.c: Likewise.
1255 * tree-streamer-out.c: Likewise.
1256 * tree-streamer.c: Likewise.
1257
1258 2015-07-15 Andrew MacLeod <amacleod@redhat.com>
1259
1260 * opth-gen.awk: Check for UNKNOWN_LOCATION rather than GCC_TM_H, don't
1261 include input.h.
1262 * opts.c: Remove multiline #include comment.
1263
1264 2015-07-15 Nathan Sidwell <nathan@codesourcery.com>
1265
1266 * config/nvptx/mkoffload.c (process): Add C++ protection to
1267 emitted code.
1268
1269 2015-07-14 Michael Meissner <meissner@linux.vnet.ibm.com>
1270
1271 PR target/66854
1272 * config/rs6000/rs6000.c (rs6000_pass_by_reference): Move test for
1273 null before IEEE 128-bit floating point support patch.
1274
1275 2015-07-15 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1276
1277 * simplify-rtx.c (simplify_ternary_operation): Add simplification
1278 for (!c) != {0,...,0} ? a : b for vector modes.
1279
1280 2015-07-15 Paolo Bonzini <bonzini@gnu.org>
1281 Martin Jambor <mjambor@suse.cz>
1282
1283 * ipa-inline-analysis.c (unmodified_parm_or_parm_agg_item): Accept
1284 struct func_body_info* instead of struct ipa_node_params*, expecting
1285 fbi->info to be filled in. Replace throughout. Adjust call to
1286 ipa_load_from_parm_agg.
1287 (set_cond_stmt_execution_predicate): Accept struct func_body_info*
1288 instead of struct ipa_node_params*. Adjust calls to other functions
1289 so that they pass either fbi or fbi->info.
1290 (set_switch_stmt_execution_predicate): Likewise.
1291 (will_be_nonconstant_predicate): Likewise.
1292 (compute_bb_predicates): Likewise.
1293 (estimate_function_body_sizes): Move asserts earlier. Fill in
1294 struct func_body_info, replace parms_info with fbi.info. Adjust
1295 calls to functions that now accept struct func_body_info.
1296 * ipa-prop.c (param_aa_status, struct ipa_bb_info): Move to ipa-prop.h.
1297 (struct func_body_info): Likewise.
1298 (ipa_load_from_parm_agg_1): Rename to ipa_load_from_parm_agg,
1299 remove static. Adjust callers.
1300 (ipa_load_from_parm_agg): Remove.
1301 * ipa-prop.h (param_aa_status, ipa_bb_info): Move from ipa-prop.c.
1302 (func_body_info): Likewise.
1303 (ipa_load_from_parm_agg): Adjust prototype.
1304
1305 2015-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
1306
1307 * gensupport.c (rtx_handle_directive): Adjust.
1308 * read-rtl.c (apply_iterators): Take vector to add rtxs to
1309 instead of expr list rtx.
1310 (add_define_attr_for_define_subst): Likewise.
1311 (add_define_subst_attr): Likewise.
1312 (read_subst_mapping): Likewise.
1313 (read_rtx): Likewise.
1314 * rtl.h (read_rtx): Adjust.
1315
1316 2015-07-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1317
1318 * config/aarch64/aarch64.md (*csinc2<mode>_insn): Use cinc mnemonic.
1319
1320 2015-07-15 Uros Bizjak <ubizjak@gmail.com>
1321
1322 PR target/58066
1323 * config/i386/i386.md (*tls_global_dynamic_64_<mode>): Depend on SP_REG.
1324 (*tls_local_dynamic_base_64_<mode>): Ditto.
1325 (*tls_local_dynamic_base_64_largepic): Ditto.
1326 (tls_global_dynamic_64_<mode>): Update expander pattern.
1327 (tls_local_dynamic_base_64_<mode>): Ditto.
1328
1329 2015-07-15 Richard Biener <rguenther@suse.de>
1330
1331 * fold-const.c (fold_binary_loc): Move bool_var != 0 -> bool_var
1332 and bool_var == 1 -> bool_var simplifications ...
1333 * match.pd: ... to patterns here. Factor out negate_expr_p
1334 cases from the A - B -> A + (-B) patterns as negate_expr_p
1335 predicate and add a -(A + B) -> (-B) - A pattern.
1336
1337 2015-07-15 Robert Suchanek <robert.suchanek@imgtec.com>
1338
1339 * config/mips/mips.c (mips_emit_save_slot_move): Fix typo.
1340
1341 2015-07-15 Matthew Fortune <matthew.fortune@imgtec.com>
1342 Robert Suchanek <robert.suchanek@imgtec.com>
1343
1344 * config/mips/mips.c (mips_int_mask): New enum.
1345 (mips_shadow_set): Likewise.
1346 (int_mask): New variable.
1347 (use_shadow_register_set_p): Change type to enum mips_shadow_set.
1348 (machine_function): Add int_mask and use_shadow_register_set.
1349 (mips_attribute_table): Add attribute handlers for interrupt and
1350 use_shadow_register_set.
1351 (mips_interrupt_mask): New static function.
1352 (mips_handle_interrupt_attr): Likewise.
1353 (mips_handle_use_shadow_register_set_attr): Likewise.
1354 (mips_use_shadow_register_set): Change return type to enum
1355 mips_shadow_set. Add argument handling for use_shadow_register_set
1356 attribute.
1357 (mips_interrupt_extra_called_saved_reg_p): Update the conditional to
1358 compare with mips_shadow_set enum.
1359 (mips_compute_frame_info): Add interrupt mask and
1360 use_shadow_register_set to per-function information structure.
1361 Add a stack slot for EPC unconditionally.
1362 (mips_expand_prologue): Compare use_shadow_register_set value
1363 with mips_shadow_set enum. Save EPC always in K1, clobber only K1 for
1364 masked interrupt register but in EIC mode use K0 and save Cause in K0.
1365 EPC saved and restored unconditionally. Use PMODE_INSN macro when
1366 copying the stack pointer from the shadow register set.
1367 * config/mips/mips.h (SR_IM0): New define.
1368 * config/mips/mips.md (mips_rdpgpr): Rename to...
1369 (mips_rdpgpr_<mode>): ...this. Use the Pmode iterator.
1370 * doc/extend.texi (Declaring Attributes of Functions): Document
1371 optional arguments for interrupt and use_shadow_register_set
1372 attributes.
1373
1374 2015-07-15 Robert Suchanek <robert.suchanek@imgtec.com>
1375
1376 * config/mips/mips.c (mips_compute_frame_info): Allow -mhard-float in
1377 interrupt attribute.
1378 (mips_expand_prologue): Disable the floating point unit in an ISR.
1379 * config/mips/mips.h (SR_COP1): New define.
1380
1381 2015-07-15 Richard Biener <rguenther@suse.de>
1382
1383 * genmatch.c (parser::peek, parser::peek_ident): Add argument
1384 to tell how many tokens to peek ahead (default 1).
1385 (parser::eat_token, parser::eat_ident): Return token consumed.
1386 (parser::parse_result): Parse new switch statement.
1387 * match.pd: Use case statements where appropriate.
1388
1389 2015-07-15 Uros Bizjak <ubizjak@gmail.com>
1390
1391 PR rtl-optimization/58066
1392 * calls.c (expand_call): Precompute register parameters before stack
1393 alignment is performed.
1394
1395 2015-07-15 Uros Bizjak <ubizjak@gmail.com>
1396
1397 PR rtl-optimization/66838
1398 * postreload.c (reload_cse_move2add): Also process
1399 CALL_INSN_FUNCTION_USAGE when resetting information of
1400 call-clobbered registers.
1401
1402 2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
1403 Cesar Philippidis <cesar@codesourcery.com>
1404 Chung-Lin Tang <cltang@codesourcery.com>
1405
1406 * config/nios2/constraints.md (U, v): New constraints.
1407 * config/nios2/predicates.md (rdprs_dcache_operand): New.
1408 (ldstex_memory_operand): New.
1409 * config/nios2/sync.md: New file.
1410 * config/nios2/nios2.md (unspecv): Add new builtin function
1411 UNSPECV codes.
1412 (rdprs, flushd, flushda, wrpie, eni): New patterns.
1413 (top-level): Include sync.md.
1414 * config/nios2/nios2.c (N2_FTYPES): Add function types for
1415 new builtins.
1416 (N2_BUILTINS): Add arch field setting, add new builtins.
1417 (enum nios2_builtin_code,nios2_builtins): Update N2_BUILTIN_DEF
1418 for arch field.
1419 (nios2_expand_ldst_builtin): Rename from nios2_expand_ldstio_builtin.
1420 Also handle ldex/stex/ldsex/stsex builtins.
1421 (nios2_expand_rdprs_builtin): New function.
1422 (nios2_expand_cache_builtin): New function.
1423 (nios2_expand_wrpie_builtin): New function.
1424 (nios2_expand_eni_builtin): New function.
1425 (nios2_expand_builtin): Add arch field handling and new builtin
1426 cases.
1427 * doc/extend.texi (Altera Nios II Built-in Functions): Document
1428 new builtins.
1429 * doc/md.texi (Machine Constraints): Document U and v constraints.
1430
1431 2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
1432 Cesar Philippidis <cesar@codesourcery.com>
1433 Chung-Lin Tang <cltang@codesourcery.com>
1434
1435 * config/nios2/nios2-protos.h (nios2_expand_return): Declare.
1436 * config/nios2/nios2.c (struct GTY (()) machine_function): Add
1437 callee_save_reg_size and uses_anonymous_args fields.
1438 (nios2_compute_frame_layout): Update for CDX push.n/pop.n usage.
1439 (nios2_create_cfa_notes): New function.
1440 (nios2_adjust_stack): New function for adjusting stack.
1441 (nios2_expand_prologue): Update for CDX push.n/pop.n usage.
1442 Use nios2_adjust_stack.
1443 (nios2_expand_epilogue): Likewise.
1444 (nios2_expand_return): New function.
1445 (nios2_can_use_return_insn): Update for CDX pop.n usage.
1446 (nios2_setup_incoming_varargs): Set uses_anonymous_args flag.
1447 If TARGET_HAS_CDX, defer pushing regs to nios2_expand_prologue.
1448 * config/nios2/nios2.md (return): Use nios2_expand_return.
1449
1450 2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
1451 Cesar Philippidis <cesar@codesourcery.com>
1452 Chung-Lin Tang <cltang@codesourcery.com>
1453
1454 * config/nios2/predicates.md (pop_operation): New.
1455 (ldwm_operation, stwm_operation): New.
1456 (nios2_hard_register_operand): New.
1457 * config/nios2/nios2-protos.h (pop_operation_p): Declare.
1458 (ldstwm_operation_p): Declare.
1459 (gen_ldstwm_peep): Declare.
1460 * config/nios2/nios2.c: (nios2_ldst_parallel): Declare.
1461 (base_reg_adjustment_p): New.
1462 (pop_operation_p): New.
1463 (CDX_LDSTWM_VALID_REGS_0, CDX_LDSTWM_VALID_REGS_1): Define.
1464 (nios2_ldstwm_regset_p): New.
1465 (ldstwm_operation_p): New.
1466 (gen_ldst): New.
1467 (nios2_ldst_parallel): New.
1468 (struct ldswm_operand): Declare.
1469 (compare_ldstwm_operands): New.
1470 (can_use_cdx_ldstw): New.
1471 (gen_ldstwm_peep): New.
1472 * config/nios2/nios2-ldstwm.sml: New.
1473 * config/nios2/nios2.md: Include ldstwm.md.
1474 * config/nios2/ldstwm.md: Generated.
1475
1476 2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
1477 Cesar Philippidis <cesar@codesourcery.com>
1478 Chung-Lin Tang <cltang@codesourcery.com>
1479
1480 * config/nios2/nios2.h (LABEL_ALIGN): Define.
1481 (REG_ALLOC_ORDER): Define.
1482 (ADJUST_REG_ALLOC_ORDER): Define.
1483 (HONOR_REG_ALLOC_ORDER): Define.
1484 (CDX_REG_P): Define.
1485 (ANDCLEAR_INT): Define.
1486 * config/nios2/nios2-protos.h (nios2_add_insn_asm): Declare.
1487 (nios2_label_align): Declare.
1488 (nios2_cdx_narrow_form_p): Declare.
1489 (nios2_adjust_reg_alloc_order): Declare.
1490 * config/nios2/nios2.c (nios2_rtx_costs): Adjust for BMX zero-extract
1491 operation.
1492 (nios2_large_unspec_reloc_p): New function, split from...
1493 (nios2_legitimate_pic_operand_p): ...here.
1494 (nios2_emit_move_sequence): Add *high/*lo_sum constant expand code.
1495 (nios2_print_operand_punct_valid_p): New.
1496 (nios2_print_operand): Add %., %!, %x, %y, %A. Remove %U.
1497 (split_mem_address): New.
1498 (split_alu_insn): New.
1499 (cdxreg): New.
1500 (cdx_add_immed, cdx_and_immed, cdx_mov_immed, cdx_shift_immed): New.
1501 (enum nios2_add_insn_kind): New.
1502 (nios2_add_insn_names, nios2_add_insn_narrow): New.
1503 (nios2_add_insn_classify): New.
1504 (nios2_add_insn_asm): New.
1505 (nios2_cdx_narrow_form_p): New.
1506 (label_align, min_labelno, max_labelno): New.
1507 (nios2_reorg): New.
1508 (nios2_label_align): New.
1509 (nios2_adjust_reg_alloc_order): New.
1510 (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
1511 (TARGET_MACHINE_DEPENDENT_REORG): Define.
1512 * config/nios2/constraints.md (P): New constraint.
1513 * config/nios2/predicates.md (const_and_operand): New.
1514 (and_operand): New.
1515 (stack_memory_operand): New.
1516 * config/nios2/nios2.md (SP_REGNO): Define stack pointer regno.
1517 (length): Update to use nios2_cdx_narrow_form_p().
1518 (type): Add new insn type values.
1519 (control, alu, st, ld, shift): Update insn reservations with
1520 new insn type values.
1521 (*high, *lo_sum): Define new insn patterns for constant generation.
1522 (movqi_internal, movhi_internal, movsi_internal): Reduce
1523 alternatives, update asm template to handle CDX variants, update
1524 type attributes.
1525 (zero_extendhisi2, zero_extendqi<mode>2): Add CDX variants to asm
1526 template, update type attributes.
1527 (extendhisi2, extendqi<mode>2): Likewise.
1528 (addsi3): Change to use function for asm string.
1529 (subsi3): Add CDX notation to asm template, update type attributes.
1530 (negsi3, one_cmplsi3): Likewise.
1531 (andsi3): New pattern, specialized from logical patterns.
1532 (<code>si3): Remove and case, combine alternatives, update asm
1533 template.
1534 (<shift_op>si3): Add CDX notation, update type attributes.
1535 (rotrsi3): Update type attribute.
1536 (*merge, extzv, insv): New insn patterns.
1537 (return): Change to define_expand.
1538 (simple_return): Add CDX notation, update type attributes.
1539 (indirect_jump): Add CDX notation.
1540 (jump): Update asm cases, update length attribute expression.
1541 (*call, *call_value, *sibcall, *sibcall_value): Add CDX variant.
1542 (nios2_cbranch): Update asm cases and length attribute expression
1543 to handle CDX variants.
1544 (nios2_cmp<code>): Update asm template.
1545 (nop): Add CDX notation, update type attributes.
1546 (trap): Add CDX notation.
1547 (ctrapsi4): Update asm cases and length attribute expression to
1548 handle CDX variant.
1549 * doc/md.texi (Machine Constraints): Document P constraint.
1550
1551 2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
1552 Cesar Philippidis <cesar@codesourcery.com>
1553 Chung-Lin Tang <cltang@codesourcery.com>
1554
1555 * config/nios2/nios2.h (SMALL_INT12): New macro.
1556 * config/nios2/nios2.c (nios2_valid_addr_offset_p): New function.
1557 (nios2_valid_addr_expr_p): Use it.
1558 (nios2_symbol_ref_in_small_data_p): Disallow GP-relative addressing
1559 with implicit "io" instructions on R2.
1560 * config/nios2/constraints.md (w): New constraint.
1561 * config/nios2/predicates.md (ldstio_memory_operand): New.
1562 * config/nios2/nios2.md (ld<bhw_uns>io, ld<bh>io): Update memory
1563 operand predicate and constraint.
1564 (ld<bh>io_signed, st<bhw>io>): Likewise.
1565 * doc/md.texi (Machine Constraints): Document w constraint.
1566
1567 2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
1568 Cesar Philippidis <cesar@codesourcery.com>
1569 Chung-Lin Tang <cltang@codesourcery.com>
1570
1571 * config/nios2/nios2.opt (march, mbmx, mcdx): New options.
1572 * config/nios2/nios2-opts.h (enum nios2_arch_type): New enum for
1573 Nios II architecture level.
1574 * config/nios2/nios2.h (TARGET_ARCH_R2): New define.
1575 (TARGET_CPU_CPP_BUILTINS): Add definition of __nios2_arch__ symbol.
1576 (OPTION_DEFAULT_SPECS): Define.
1577 (ASM_SPEC): Add -march= spec strings.
1578 * config/nios2/nios2.c (nios2_option_override): Check for
1579 conflicts involving new options.
1580 * config.gcc (nios2*-*-*): Support --with-arch=.
1581 * doc/invoke.texi (Option Summary, Nios II Options): Document
1582 -march=, -mbmx, and -mcdx.
1583
1584 2015-07-14 Vladimir Makarov <vmakarov@redhat.com>
1585
1586 PR rtl-optimization/66626
1587 * lra-constraints.c (lra_constraints): Prevent equivalence
1588 substitution for static chain pseudo in functions with nonlocal
1589 goto.
1590
1591 2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
1592
1593 * config/nios2/nios2.c (TEMP_REG_NUM): Move define up in file.
1594 (nios2_emit_stack_limit_check): Add size parameter. Handle
1595 -fstack-limit-symbol as well as -fstack-limit-register.
1596 (nios2_expand_prologue): Emit only a single stack limit check,
1597 even if multiple stack adjustments are required.
1598 (nios2_option_override): Diagnose unsupported combination of -fpic
1599 and -stack-limit-symbol.
1600
1601 2015-07-14 H.J. Lu <hongjiu.lu@intel.com>
1602
1603 * Makefile.in (top_srcdir): New.
1604 * configure.ac: Use AM_ZLIB.
1605 * configure: Regeneated.
1606
1607 2015-07-14 Matthias Klose <doko@ubuntu.com>
1608
1609 PR target/66840
1610 * config/rs6000/t-rs6000 (TM_H): Add rs6000-cpus.def.
1611
1612 2015-07-14 Richard Biener <rguenther@suse.de>
1613
1614 PR tree-optimization/66863
1615 * tree-vrp.c (register_edge_assert_for_2): Properly restrict
1616 what we record for conversion use stmt lhs inequalities.
1617
1618 2015-07-14 Richard Biener <rguenther@suse.de>
1619
1620 * genmatch.c (dt_node::gen_kids_1): Fix case label indenting.
1621 (decision_tree::gen_gimple): Likewise.
1622
1623 2015-07-14 Tom de Vries <tom@codesourcery.com>
1624
1625 * gcc.c (greater_than_spec_func): Declare forward.
1626 (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): Use gt to ignore
1627 -ftree-parallelize-loops={0,1}.
1628 (static_spec_functions): Add greater_than_spec_func function with name
1629 "gt".
1630 (greater_than_spec_func): New function.
1631
1632 2015-07-14 Richard Biener <rguenther@suse.de>
1633
1634 * tree-ssa-dom.c (record_temporary_equivalences): Merge
1635 wideing type conversion case from record_equivalences_from_incoming_edge
1636 and use record_equality to record equivalences.
1637 (record_equivalences_from_incoming_edge): Call
1638 record_temporary_equivalences.
1639
1640 2015-07-14 Richard Biener <rguenther@suse.de>
1641
1642 * genmatch.c (struct operand): Add OP_IF and OP_WITH op_types.
1643 (struct if_expr): New.
1644 (struct with_expr): Likewise.
1645 (is_a_helper): Add helpers for if_expr and with_expr.
1646 (struct simplify): Add simplify_kind enum and member. Remove
1647 ifexpr_vec member.
1648 (simplify::simplify): Adjust.
1649 (lower_commutative): Adjust.
1650 (lower_opt_convert): Likewise.
1651 (lower_cond): Likewise.
1652 (replace_id): Handle with_expr and if_expr.
1653 (lower_for): Adjust.
1654 (dt_simplify::gen_1): New recursive worker, split out from ...
1655 (dt_simplify::gen): ... here. Deal with if and with expansion
1656 recursively.
1657 (capture_info::capture_info): Take context argument
1658 (capture_info::walk_result): Only analyze specific result.
1659 (parser::parse_result): New function.
1660 (parser::parse_simplify): Adjust to parse ifs with then end
1661 else case.
1662 (parser::parse_if): Simplify.
1663 (parser::parse_pattern): Pass down simplify kind.
1664 * match.pd: Convert if structure to new syntax.
1665
1666 2015-07-13 Marek Polacek <polacek@redhat.com>
1667
1668 * rtl.c (rtx_equal_p_cb): Fix typo.
1669
1670 2015-07-13 Andrew MacLeod <amacleod@redhat.com>
1671
1672 * omega.h: Don't include config.h, don't include params.h again if
1673 omega.h has already been included.
1674 * graphite-poly.h: Include sese.h.
1675 * graphite.c: Don't include sese.h, remove needless includes and
1676 minimize includes outside #ifdef HAVE_isl block.
1677 * graphite-blocking.c: Don't include sese.h, remove needless includes,
1678 and wrap entire file in #ifdef HAVE_isl
1679 * graphite-dependences.c: Likewise.
1680 * graphite-interchange.c: Likewise.
1681 * graphite-isl-ast-to-gimple.c: Likewise.
1682 * graphite-optimize-isl.c: Likewise.
1683 * graphite-poly.c: Likewise.
1684 * graphite-scop-detection.c: Likewise.
1685 * graphite-sese-to-poly.c: Likewise.
1686
1687 2015-07-13 Tom de Vries <tom@codesourcery.com>
1688
1689 * omp-low.c (build_receiver_ref): Mark *.omp_data_i as non-trapping.
1690
1691 2015-07-13 Renlin Li <renlin.li@arm.com>
1692
1693 PR rtl/66556
1694 * simplify-rtx.c (simplify_const_relational_operation): Add
1695 side_effects_p checks.
1696
1697 2015-07-12 Aldy Hernandez <aldyh@redhat.com>
1698
1699 * bitmap.h: Fix double word typos.
1700 * builtins.c: Same.
1701 * calls.c: Same.
1702 * cfgloopmanip.c: Same.
1703 * cgraph.c: Same.
1704 * cgraph.h: Same.
1705 * cgraphclones.c: Same.
1706 * combine.c: Same.
1707 * config/aarch64/aarch64-protos.h: Same.
1708 * config/aarch64/aarch64.c: Same.
1709 * config/aarch64/aarch64.md: Same.
1710 * config/arm/arm.md: Same.
1711 * config/arm/arm1020e.md: Same.
1712 * config/arm/arm1026ejs.md: Same.
1713 * config/arm/arm926ejs.md: Same.
1714 * config/arm/fa526.md: Same.
1715 * config/arm/fa606te.md: Same.
1716 * config/arm/fa626te.md: Same.
1717 * config/arm/fa726te.md: Same.
1718 * config/arm/fmp626.md: Same.
1719 * config/darwin.c: Same.
1720 * config/epiphany/epiphany.c: Same.
1721 * config/frv/frv.c: Same.
1722 * config/ft32/ft32.c: Same.
1723 * config/gnu-user.h: Same.
1724 * config/h8300/constraints.md: Same.
1725 * config/i386/i386.c: Same.
1726 * config/i386/i386.md: Same.
1727 * config/iq2000/iq2000.md: Same.
1728 * config/mips/mips.c: Same.
1729 * config/mmix/mmix.md: Same.
1730 * config/moxie/moxie.c: Same.
1731 * config/nds32/nds32.md: Same.
1732 * config/pa/pa.h: Same.
1733 * config/rs6000/aix.h: Same.
1734 * config/rs6000/rs6000.h: Same.
1735 * config/sh/sh.c: Same.
1736 * config/tilegx/tilegx.md: Same.
1737 * config/tilepro/gen-mul-tables.cc: Same.
1738 * cse.c: Same.
1739 * dbxout.c: Same.
1740 * doc/invoke.texi: Same.
1741 * dse.c: Same.
1742 * dwarf2out.c: Same.
1743 * final.c: Same.
1744 * gcc.c: Same.
1745 * genmatch.c: Same.
1746 * gimplify.c: Same.
1747 * hash-table.h: Same.
1748 * internal-fn.c: Same.
1749 * ipa-cp.c: Same.
1750 * ipa-devirt.c: Same.
1751 * ipa-icf.c: Same.
1752 * ipa-icf.h: Same.
1753 * ipa-profile.c: Same.
1754 * ipa-prop.c: Same.
1755 * ipa-prop.h: Same.
1756 * ira.c: Same.
1757 * omp-low.c: Same.
1758 * reg-stack.c: Same.
1759 * regcprop.c: Same.
1760 * reorg.c: Same.
1761 * rtl.h: Same.
1762 * sbitmap.h: Same.
1763 * tree-eh.c: Same.
1764 * tree-inline.c: Same.
1765 * tree-sra.c: Same.
1766 * tree-ssa-dom.c: Same.
1767 * tree-ssa-loop-ivopts.c: Same.
1768 * tree-ssa-structalias.c: Same.
1769 * tree-ssa-tail-merge.c: Same.
1770 * tree-ssa-ter.c: Same.
1771 * tree-ssa-threadupdate.c: Same.
1772 * tree-ssa-uninit.c: Same.
1773 * tree-ssanames.c: Same.
1774 * tree-vect-loop-manip.c: Same.
1775 * tree-vrp.c: Same.
1776 * tree.c: Same.
1777 * valtrack.c: Same.
1778 * vec.h: Same.
1779
1780 2015-07-12 Kugan Vivekanandarajah <kuganv@linaro.org>
1781
1782 PR middle-end/66726
1783 * tree-ssa-phiopt.c(factor_out_conditional_conversion): New function.
1784 tree_ssa_phiopt_worker): Call it.
1785
1786 2015-07-12 Kugan Vivekanandarajah <kuganv@linaro.org>
1787
1788 * cse.c (cse_insn): Calculate src_eqv for ZERO_EXTRACT.
1789 * emit-rtl.c (set_for_reg_notes): Allow ZERO_EXTRACT to set
1790 REG_EQUAL note.
1791
1792 2015-07-11 Marek Polacek <polacek@redhat.com>
1793
1794 PR middle-end/66353
1795 * basic-block.h (has_abnormal_call_or_eh_pred_edge_p): New function.
1796 * ira-lives.c (bb_has_abnormal_call_pred): Remove function.
1797 (process_bb_node_lives): Call has_abnormal_call_or_eh_pred_edge_p
1798 rather than bb_has_abnormal_call_pred.
1799 * lra-lives.c (bb_has_abnormal_call_pred): Remove function.
1800 (process_bb_lives): Call has_abnormal_call_or_eh_pred_edge_p
1801 rather than bb_has_abnormal_call_pred.
1802
1803 2015-07-10 Anatoly Sokolov <aesok@post.ru>
1804
1805 * config/v850/v850.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
1806 REG_OK_FOR_BASE_P_STRICT, REG_OK_FOR_INDEX_P_STRICT, STRICT,
1807 RTX_OK_FOR_BASE_P, GO_IF_LEGITIMATE_ADDRESS): Remove macros.
1808 * config/v850/v850.c (v850_reg_ok_for_base_, v850_rtx_ok_for_base_p,
1809 v850_legitimate_address_p): New functions.
1810 (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define.
1811
1812 2015-07-10 H.J. Lu <hongjiu.lu@intel.com>
1813
1814 PR target/66819
1815 * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
1816 indirect sibcall with register arguments if register available
1817 for argument passing.
1818 (init_cumulative_args): Set cfun->machine->arg_reg_available
1819 to (cum->nregs > 0) or to true if function has a variable
1820 argument list.
1821 (function_arg_advance_32): Set cfun->machine->arg_reg_available
1822 to false if cum->nregs <= 0.
1823 * config/i386/i386.h (machine_function): Add arg_reg_available.
1824
1825 2015-07-10 Uros Bizjak <ubizjak@gmail.com>
1826
1827 * config/i386/sse.md (movdi_to_sse): Use gen_lowpart
1828 and gen_higpart instead of gen_rtx_SUBREG.
1829 * config/i386/i386.md
1830 (floatdi<X87MODEF:mode>2_i387_with_xmm splitter): Ditto.
1831 (read-modify peephole2): Use gen_lowpart instead of
1832 gen_rtx_SUBREG for operand 5.
1833
1834 2015-07-10 Andrew MacLeod <amacleod@redhat.com>
1835
1836 * config/tilepro/gen-mul-tables.cc (main): Change include list for
1837 generated files.
1838 * config/tilepro/mul-tables.c: Regenerate.
1839 * config/tilegx/mul-tables.c: Regenerate.
1840
1841 2015-07-10 Richard Biener <rguenther@suse.de>
1842
1843 * fold-const.c (distribute_bit_expr): Remove.
1844 (fold_binary_loc): Move simplifying (A & C1) + (B & C2)
1845 to (A & C1) | (B & C2), distributing (A & B) | (A & C)
1846 to A & (B | C) and simplifying A << C1 << C2 to ...
1847 * match.pd: ... patterns here.
1848
1849 2015-07-10 Jiong Wang <jiong.wang@arm.com>
1850
1851 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
1852 Mark mem as READONLY and NOTRAP for PIC symbol.
1853
1854 2015-07-10 Andrew MacLeod <amacleod@redhat.com>
1855
1856 * gimple-predict.h: New file.
1857 (gimple_predict_predictor, gimple_predict_set_predictor,
1858 gimple_predict_outcome, gimple_predict_set_outcome,
1859 gimple_build_predict): Relocate here.
1860 * gimple.h (gimple_predict_predictor, gimple_predict_set_predictor,
1861 gimple_predict_outcome, gimple_predict_set_outcome): Move to
1862 gimple-predict.h.
1863 * gimple.c (gimple_build_predict): Move to gimple-predict.h
1864 * basic-block.h: Don't include cfghooks.h.
1865 * backend.h: Don't include predict.h.
1866 * cfghooks.h: Include predict.h.
1867 * gimple-pretty-print.c: Include gimple-predict.h.
1868 * gimplify.c: Likwise.
1869 * predict.c: Adjust includes.
1870 * tree-inline.c: Likewise.
1871 * asan.c: Likewise.
1872 * auto-inc-dec.c: Likewise.
1873 * auto-profile.c: Likewise.
1874 * bb-reorder.c: Likewise.
1875 * builtins.c: Likewise.
1876 * caller-save.c: Likewise.
1877 * calls.c: Likewise.
1878 * cfganal.c: Likewise.
1879 * cfgbuild.c: Likewise.
1880 * cfg.c: Likewise.
1881 * cfgcleanup.c: Likewise.
1882 * cfgexpand.c: Likewise.
1883 * cfghooks.c: Likewise.
1884 * cfgloopanal.c: Likewise.
1885 * cfgloop.c: Likewise.
1886 * cfgloopmanip.c: Likewise.
1887 * cfgrtl.c: Likewise.
1888 * cgraph.c: Likewise.
1889 * cgraphunit.c: Likewise.
1890 * combine.c: Likewise.
1891 * cprop.c: Likewise.
1892 * cse.c: Likewise.
1893 * dce.c: Likewise.
1894 * dojump.c: Likewise.
1895 * dse.c: Likewise.
1896 * except.c: Likewise.
1897 * expmed.c: Likewise.
1898 * expr.c: Likewise.
1899 * final.c: Likewise.
1900 * fold-const.c: Likewise.
1901 * function.c: Likewise.
1902 * fwprop.c: Likewise.
1903 * gcc-plugin.h: Likewise.
1904 * gcse.c: Likewise.
1905 * genattrtab.c: Likewise.
1906 * genemit.c: Likewise.
1907 * gengtype.c: Likewise.
1908 * genopinit.c: Likewise.
1909 * genoutput.c: Likewise.
1910 * genpreds.c: Likewise.
1911 * genrecog.c: Likewise.
1912 * gimple-fold.c: Likewise.
1913 * gimple-iterator.c: Likewise.
1914 * gimple-ssa-isolate-paths.c: Likewise.
1915 * gimple-ssa-strength-reduction.c: Likewise.
1916 * graph.c: Likewise.
1917 * graphite-blocking.c: Likewise.
1918 * graphite.c: Likewise.
1919 * graphite-dependences.c: Likewise.
1920 * graphite-interchange.c: Likewise.
1921 * graphite-isl-ast-to-gimple.c: Likewise.
1922 * graphite-optimize-isl.c: Likewise.
1923 * graphite-poly.c: Likewise.
1924 * graphite-scop-detection.c: Likewise.
1925 * graphite-sese-to-poly.c: Likewise.
1926 * haifa-sched.c: Likewise.
1927 * ifcvt.c: Likewise.
1928 * internal-fn.c: Likewise.
1929 * ipa-cp.c: Likewise.
1930 * ipa-profile.c: Likewise.
1931 * ipa-split.c: Likewise.
1932 * ipa-utils.c: Likewise.
1933 * ira-build.c: Likewise.
1934 * ira-color.c: Likewise.
1935 * ira-conflicts.c: Likewise.
1936 * ira-costs.c: Likewise.
1937 * ira-emit.c: Likewise.
1938 * ira-lives.c: Likewise.
1939 * jump.c: Likewise.
1940 * loop-doloop.c: Likewise.
1941 * loop-init.c: Likewise.
1942 * loop-invariant.c: Likewise.
1943 * loop-unroll.c: Likewise.
1944 * lower-subreg.c: Likewise.
1945 * lra-assigns.c: Likewise.
1946 * lra.c: Likewise.
1947 * lra-coalesce.c: Likewise.
1948 * lra-constraints.c: Likewise.
1949 * lra-lives.c: Likewise.
1950 * lto-cgraph.c: Likewise.
1951 * lto-streamer-in.c: Likewise.
1952 * mode-switching.c: Likewise.
1953 * modulo-sched.c: Likewise.
1954 * omp-low.c: Likewise.
1955 * optabs.c: Likewise.
1956 * passes.c: Likewise.
1957 * postreload.c: Likewise.
1958 * postreload-gcse.c: Likewise.
1959 * profile.c: Likewise.
1960 * recog.c: Likewise.
1961 * regstat.c: Likewise.
1962 * reload1.c: Likewise.
1963 * reorg.c: Likewise.
1964 * rtlanal.c: Likewise.
1965 * sched-ebb.c: Likewise.
1966 * sel-sched-ir.c: Likewise.
1967 * sese.c: Likewise.
1968 * shrink-wrap.c: Likewise.
1969 * simplify-rtx.c: Likewise.
1970 * stmt.c: Likewise.
1971 * store-motion.c: Likewise.
1972 * tracer.c: Likewise.
1973 * trans-mem.c: Likewise.
1974 * tree-call-cdce.c: Likewise.
1975 * tree-cfg.c: Likewise.
1976 * tree-cfgcleanup.c: Likewise.
1977 * tree-chkp.c: Likewise.
1978 * tree-complex.c: Likewise.
1979 * tree-eh.c: Likewise.
1980 * tree-if-conv.c: Likewise.
1981 * tree-loop-distribution.c: Likewise.
1982 * tree-outof-ssa.c: Likewise.
1983 * tree-parloops.c: Likewise.
1984 * tree-predcom.c: Likewise.
1985 * tree-pretty-print.c: Likewise.
1986 * tree-profile.c: Likewise.
1987 * tree-sra.c: Likewise.
1988 * tree-ssa.c: Likewise.
1989 * tree-ssa-coalesce.c: Likewise.
1990 * tree-ssa-dce.c: Likewise.
1991 * tree-ssa-dom.c: Likewise.
1992 * tree-ssa-forwprop.c: Likewise.
1993 * tree-ssa-ifcombine.c: Likewise.
1994 * tree-ssa-loop-ch.c: Likewise.
1995 * tree-ssa-loop-im.c: Likewise.
1996 * tree-ssa-loop-ivcanon.c: Likewise.
1997 * tree-ssa-loop-ivopts.c: Likewise.
1998 * tree-ssa-loop-manip.c: Likewise.
1999 * tree-ssa-loop-prefetch.c: Likewise.
2000 * tree-ssa-loop-unswitch.c: Likewise.
2001 * tree-ssa-math-opts.c: Likewise.
2002 * tree-ssa-phiopt.c: Likewise.
2003 * tree-ssa-pre.c: Likewise.
2004 * tree-ssa-reassoc.c: Likewise.
2005 * tree-ssa-sink.c: Likewise.
2006 * tree-ssa-tail-merge.c: Likewise.
2007 * tree-ssa-threadedge.c: Likewise.
2008 * tree-ssa-threadupdate.c: Likewise.
2009 * tree-switch-conversion.c: Likewise.
2010 * tree-tailcall.c: Likewise.
2011 * tree-vect-data-refs.c: Likewise.
2012 * tree-vect-loop.c: Likewise.
2013 * tree-vect-loop-manip.c: Likewise.
2014 * tree-vectorizer.c: Likewise.
2015 * tree-vrp.c: Likewise.
2016 * ubsan.c: Likewise.
2017 * value-prof.c: Likewise.
2018 * varasm.c: Likewise.
2019 * var-tracking.c: Likewise.
2020 * config/aarch64/aarch64-builtins.c: Likewise.
2021 * config/aarch64/aarch64.c: Likewise.
2022 * config/aarch64/cortex-a57-fma-steering.c: Likewise.
2023 * config/alpha/alpha.c: Likewise.
2024 * config/arc/arc.c: Likewise.
2025 * config/arm/arm.c: Likewise.
2026 * config/avr/avr.c: Likewise.
2027 * config/bfin/bfin.c: Likewise.
2028 * config/c6x/c6x.c: Likewise.
2029 * config/cr16/cr16.c: Likewise.
2030 * config/cris/cris.c: Likewise.
2031 * config/darwin.c: Likewise.
2032 * config/darwin-c.c: Likewise.
2033 * config/epiphany/epiphany.c: Likewise.
2034 * config/epiphany/mode-switch-use.c: Likewise.
2035 * config/epiphany/resolve-sw-modes.c: Likewise.
2036 * config/fr30/fr30.c: Likewise.
2037 * config/frv/frv.c: Likewise.
2038 * config/ft32/ft32.c: Likewise.
2039 * config/h8300/h8300.c: Likewise.
2040 * config/i386/i386.c: Likewise.
2041 * config/i386/winnt.c: Likewise.
2042 * config/ia64/ia64.c: Likewise.
2043 * config/iq2000/iq2000.c: Likewise.
2044 * config/lm32/lm32.c: Likewise.
2045 * config/m32c/m32c.c: Likewise.
2046 * config/m32r/m32r.c: Likewise.
2047 * config/m68k/m68k.c: Likewise.
2048 * config/mcore/mcore.c: Likewise.
2049 * config/mep/mep.c: Likewise.
2050 * config/microblaze/microblaze.c: Likewise.
2051 * config/mips/mips.c: Likewise.
2052 * config/mmix/mmix.c: Likewise.
2053 * config/mn10300/mn10300.c: Likewise.
2054 * config/moxie/moxie.c: Likewise.
2055 * config/msp430/msp430.c: Likewise.
2056 * config/nds32/nds32.c: Likewise.
2057 * config/nds32/nds32-cost.c: Likewise.
2058 * config/nds32/nds32-fp-as-gp.c: Likewise.
2059 * config/nds32/nds32-intrinsic.c: Likewise.
2060 * config/nds32/nds32-isr.c: Likewise.
2061 * config/nds32/nds32-md-auxiliary.c: Likewise.
2062 * config/nds32/nds32-memory-manipulation.c: Likewise.
2063 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
2064 * config/nds32/nds32-predicates.c: Likewise.
2065 * config/nios2/nios2.c: Likewise.
2066 * config/nvptx/nvptx.c: Likewise.
2067 * config/pa/pa.c: Likewise.
2068 * config/pdp11/pdp11.c: Likewise.
2069 * config/rl78/rl78.c: Likewise.
2070 * config/rs6000/rs6000.c: Likewise.
2071 * config/rx/rx.c: Likewise.
2072 * config/s390/s390.c: Likewise.
2073 * config/sh/sh.c: Likewise.
2074 * config/sh/sh-mem.cc: Likewise.
2075 * config/sh/sh_optimize_sett_clrt.cc: Likewise.
2076 * config/sh/sh_treg_combine.cc: Likewise.
2077 * config/sparc/sparc.c: Likewise.
2078 * config/spu/spu.c: Likewise.
2079 * config/stormy16/stormy16.c: Likewise.
2080 * config/tilegx/tilegx.c: Likewise.
2081 * config/tilepro/tilepro.c: Likewise.
2082 * config/v850/v850.c: Likewise.
2083 * config/vax/vax.c: Likewise.
2084 * config/visium/visium.c: Likewise.
2085 * config/xtensa/xtensa.c: Likewise.
2086
2087 2015-07-10 Richard Biener <rguenther@suse.de>
2088
2089 * genmatch.c (dt_node::gen_kids_1): Fix indenting of case labels.
2090 (decision_tree::gen_gimple): Likewise.
2091 (decision_tree::gen_generic): Likewise.
2092
2093 2015-07-10 Uros Bizjak <ubizjak@gmail.com>
2094
2095 PR target/66813
2096 * config/i386/i386.c (ix86_md_asm_adjust): Emit movstrictqi
2097 sequence for TARGET_ZERO_EXTEND_WITH_AND targets.
2098
2099 2015-07-10 Jakub Jelinek <jakub@redhat.com>
2100
2101 PR middle-end/66820
2102 * gimplify.c (maybe_fold_stmt): Don't fold in ORT_PARALLEL
2103 or ORT_TASK contexts.
2104 * omp-low.c (lower_omp): Call fold_stmt even if taskreg_nesting_level
2105 is non-zero.
2106
2107 2015-07-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2108
2109 * expr.c (expand_cond_expr_using_cmove): Fix typos in comment
2110 above function.
2111
2112 2015-07-10 Tom de Vries <tom@codesourcery.com>
2113
2114 * tree-parloops.c (try_transform_to_exit_first_loop_alt): If not found,
2115 insert nit + 1 bound.
2116
2117 2015-07-10 Richard Biener <rguenther@suse.de>
2118
2119 * tree-if-conv.c (if_convertible_gimple_assign_stmt_p):
2120 Use ifcvt_could_trap_p also when not flag_tree_loop_if_convert_stores.
2121 (if_convertible_loop_p_1): For this always compute bb predicates.
2122 (if_convertible_loop_p): And free them.
2123
2124 2015-07-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
2125
2126 * ipa-icf.c (sem_item_optimizer::do_congruence_step): Fix typo
2127 in dump message.
2128
2129 2015-07-10 Richard Biener <rguenther@suse.de>
2130
2131 PR tree-optimization/66823
2132 * tree-if-conv.c (memrefs_read_or_written_unconditionally): Fix
2133 inverted predicate.
2134
2135 2015-07-09 Steve Ellcey <sellcey@imgtec.com>
2136
2137 * config/mips/mti-linux.h (MIPS_SYSVERSION_SPEC): Update
2138 to handle mips[32|64]r3 and mips[32|64]r5.
2139
2140 2015-07-09 Jakub Jelinek <jakub@redhat.com>
2141
2142 PR middle-end/66633
2143 * tree-nested.c (get_static_chain): Or in a flag into
2144 info->static_chain_added.
2145 (get_frame_field, get_nonlocal_debug_decl): Likewise.
2146 (convert_nonlocal_omp_clauses, convert_local_omp_clauses): Revert
2147 2015-07-01 changes.
2148 (convert_tramp_reference_stmt): If a frame_decl or chain_decl
2149 is needed newly inside of GIMPLE_OMP_{PARALLEL,TASK,TARGET} body,
2150 add it to clauses.
2151
2152 PR tree-optimization/66718
2153 * tree-vect-stmts.c (struct simd_call_arg_info): Add simd_lane_linear
2154 field.
2155 (vect_simd_lane_linear): New function.
2156 (vectorizable_simd_clone_call): Support using linear arguments for
2157 addresses of arrays elements indexed by GOMP_SIMD_LANE result.
2158
2159 2015-07-09 H.J. Lu <hongjiu.lu@intel.com>
2160
2161 PR target/66821
2162 * config/i386/i386.c (iamcu_cost): Adjust variable shift costs.
2163
2164 2015-07-09 Michael Meissner <meissner@linux.vnet.ibm.com>
2165
2166 * config/rs6000/rs6000-protos.h (rs6000_secondary_reload_memory):
2167 Use machine mode, not enum machine_mode in the prototype.
2168
2169 * config/rs6000/rs6000.h (FLOAT128_IEEE_P): New helper macros to
2170 classify 128-bit floating point support.
2171 (FLOAT128_IBM_P): Likewise.
2172 (FLOAT128_VECTOR_P): Likewise.
2173 (FLOAT128_2REG_P): Likewise.
2174 (SCALAR_FLOAT_MODE_NOT_VECTOR_P): Likewise.
2175 (SLOW_UNALIGNED_ACCESS): Add IEEE 128-bit floating point support.
2176 (HARD_REGNO_CALLER_SAVE_MODE): Likewise.
2177 (HARD_REGNO_CALL_PART_CLOBBERED): Likewise.
2178
2179 * config/rs6000/rs6000.c (rs6000_hard_regno_nregs_internal): Drop
2180 tests against TFmode/TDmode, since those modes do not use VSX
2181 addresses.
2182 (rs6000_hard_regno_mode_ok): Add IEEE 128-bit floating point
2183 support.
2184 (rs6000_init_hard_regno_mode_ok): Use new helper macros instead of
2185 tests against TFmode, etc.
2186 (invalid_e500_subreg): Add tests against IFmode/KFmode.
2187 (reg_offset_addressing_ok_p): Likewise.
2188 (rs6000_legitimate_offset_address_p): Likewise.
2189 (rs6000_legitimize_address): Likewise.
2190 (rs6000_legitimize_reload_address): Likewise.
2191 (rs6000_legitimate_address_p): Clean up tests against TFmode and
2192 TDmode to use the new helper macros, which will include IFmode and
2193 KFmode.
2194 (rs6000_emit_move): Likewise.
2195 (rs6000_darwin64_record_arg_recurse): Likewise.
2196 (print_operand): Likewise.
2197 (rs6000_member_type_forces_blk): Treat IEEE 128-bit floating point
2198 that uses a single vector register as a vector and not as a
2199 floating point register in terms of the calling sequence.
2200 (rs6000_discover_homogeneous_aggregate): Likewise.
2201 (rs6000_return_in_memory): Likewise.
2202 (init_cumulative_args): Likewise.
2203 (rs6000_function_arg_boundary): Likewise.
2204 (rs6000_function_arg_advance_1): Likewise.
2205 (rs6000_function_arg): Likewise.
2206 (rs6000_pass_by_reference): Likewise.
2207 (rs6000_gimplify_va_arg): Likewise.
2208 (rs6000_secondary_reload_memory): Use machine_mode not enum
2209 machine mode.
2210 (rs6000_split_multireg_move): Use new helper macros.
2211 (spe_func_has_64bit_regs_p): Likewise.
2212 (rs6000_output_function_epilogue): Add IFmode/KFmode support.
2213 (output_toc): Use new helper macros.
2214 (rs6000_register_move_cost): Likewise.
2215 (rs6000_function_value): Add IEEE 128-bit floating point calling
2216 sequence support.
2217 (rs6000_libcall_value): Likewise.
2218 (rs6000_scalar_mode_supported_p): Add support for IEEE 128-bit
2219 floating point support.
2220 (rs6000_vector_mode_supported_p): Likewise.
2221
2222 2015-07-09 Vladimir Makarov <vmakarov@redhat.com>
2223
2224 PR rtl-optimization/66782
2225 * lra-int.h (struct lra_insn_recog_data): Add comment about
2226 clobbered hard regs for arg_hard_regs.
2227 * lra.c (lra_set_insn_recog_data): Add clobbered hard regs.
2228 * lra-lives.c (process_bb_lives): Process clobbered hard regs.
2229 Add condition for processing used hard regs.
2230 * lra-constraints.c (update_ebb_live_info, inherit_in_ebb):
2231 Process clobbered hard regs.
2232
2233 2015-07-09 Michael Matz <matz@suse.de>
2234
2235 * genmatch.c (fprintf_indent): New function.
2236 (operand::gen_transform): Add indent parameter.
2237 (expr::gen_transform, c_expr::gen_transform,
2238 capture::gen_transform): Ditto and use fprintf_indent.
2239 (dt_node::gen, dt_node::gen_kids, dt_node::gen_kids_1): Ditto.
2240 (dt_operand::gen, dt_operand::gen_predicate,
2241 dt_operand::gen_match_op, dt_operand::gen_gimple_expr,
2242 dt_operand::gen_generic_expr, dt_simplify::gen): Ditto.
2243 (decision_tree::gen_gimple): Adjust calls and indent generated
2244 code.
2245 (decision_tree::gen_generic): Ditto.
2246 (write_predicate): Ditto.
2247
2248 2015-07-08 Uros Bizjak <ubizjak@gmail.com>
2249
2250 PR target/66814
2251 * config/i386/predicates.md (nonimmediate_gr_operand): New predicate.
2252 * config/i386/i386.md (not peephole2): Use nonimmediate_gr_operand.
2253 (varous peephole2s): Use {GENERAL,SSE,MMX}_REGNO_P instead of
2254 {GENERAL,SSE,MMX}_REG_P where appropriate.
2255
2256 2015-07-09 Andrew MacLeod <amacleod@redhat.com>
2257
2258 * lto-streamer.h: Don't include target.h and alloc-pool.h.
2259 * builtins.c: Adjust includes.
2260 * gimple.c: Likewise.
2261 * ipa-icf.c: Likewise.
2262 * lto-opts.c: Likewise.
2263 * ipa-reference.c: Likewise.
2264 * lto-section-out.c: Likewise.
2265 * lto-streamer-in.c: Likewise.
2266 * lto-streamer-out.c: Likewise.
2267 * opts-global.c: Likewise.
2268 * symtab.c: Likewise.
2269 * tree-chkp.c: Likewise.
2270 * tree-ssa-live.c: Likewise.
2271 * tree-streamer-in.c: Likewise.
2272 * tree-streamer-out.c: Likewise.
2273 * config/darwin.c: Likewise.
2274 * config/i386/winnt.c: Likewise.
2275
2276 2015-07-09 Richard Biener <rguenther@suse.de>
2277
2278 * genmatch.c (struct expr): Add force_single_use flag.
2279 (expr::expr): Add copy constructor.
2280 (capture_info::walk_match): Gather force_single_use captures.
2281 (expr::gen_transform): Use possibly NULLified sequence.
2282 (dt_simplify::gen): Apply single-use restrictions by NULLifying
2283 seq if any constrained expr is not single-use.
2284 (parser::parse_expr): Refactor to allow multiple flags. Handle
2285 's' flag to force an expression have a single-use if the pattern
2286 simplifies to more than one statement.
2287 * match.pd: Convert most single_use conditionals to :s flags.
2288
2289 2015-07-09 H.J. Lu <hongjiu.lu@intel.com>
2290
2291 * config/i386/iamcu.h (ASM_OUTPUT_ALIGNED_BSS): New.
2292 (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
2293 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
2294
2295 2015-07-09 Andrew MacLeod <amacleod@redhat.com>
2296
2297 * flags.h: Don't include flag-types.h or options.h.
2298 * opts-common.c: Adjust includes.
2299 * opts-global.c: Likewise.
2300 * common/config/epiphany/epiphany-common.c: Likewise.
2301
2302 2015-07-09 H.J. Lu <hongjiu.lu@intel.com>
2303
2304 PR target/66818
2305 * config/i386/i386.h (ATTRIBUTE_ALIGNED_VALUE): Defined to 32
2306 for IA MCU.
2307
2308 2015-07-09 H.J. Lu <hongjiu.lu@intel.com>
2309
2310 PR target/66817
2311 * config/i386/i386.c (ix86_return_in_memory): Return true
2312 if int_size_in_bytes returns negative for IA MCU.
2313
2314 2015-07-09 Marek Polacek <polacek@redhat.com>
2315
2316 PR tree-optimization/66718
2317 * Makefile.in (OBJS): Add gimple-laddress.o.
2318 * passes.def: Schedule pass_laddress.
2319 * timevar.def (DEFTIMEVAR): Add TV_GIMPLE_LADDRESS.
2320 * tree-pass.h (make_pass_laddress): Declare.
2321 * gimple-laddress.c: New file.
2322
2323 2015-07-09 Richard Biener <rguenther@suse.de>
2324
2325 * toplev.c (compile_file): Reset maximum_field_alignment after parsing.
2326
2327 2015-07-09 Richard Biener <rguenther@suse.de>
2328
2329 PR tree-optimization/66807
2330 * tree-chkp-opt.c (chkp_opt_fini): Free post dominator info.
2331
2332 2015-07-08 Kito Cheng <kito.cheng@gmail.com>
2333
2334 * function.c (stack_protect_epilogue): Use if rather than switch for
2335 check targetm.have_stack_protect_test.
2336
2337 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2338
2339 * defaults.h: Provide default for WORD_REGISTER_OPERATIONS.
2340 * config/alpha/alpha.h: Define WORD_REGISTER_OPERATIONS to 1.
2341 * config/arc/arc.h: Likewise.
2342 * config/arm/arm.h: Likewise.
2343 * config/bfin/bfin.h: Likewise.
2344 * config/epiphany/epiphany.h: Likewise.
2345 * config/frv/frv.h: Likewise.
2346 * config/ia64/ia64.h: Likewise.
2347 * config/iq2000/iq2000.h: Likewise.
2348 * config/lm32/lm32.h: Likewise.
2349 * config/m32r/m32r.h: Likewise.
2350 * config/mcore/mcore.h: Likewise.
2351 * config/mep/mep.h: Likewise.
2352 * config/microblaze/microblaze.h: Likewise.
2353 * config/mips/mips.h: Likewise.
2354 * config/mmix/mmix.h: Likewise.
2355 * config/mn10300/mn10300.h: Likewise.
2356 * config/nds32/nds32.h: Likewise.
2357 * config/nios2/nios2.h: Likewise.
2358 * config/pa/pa.h: Likewise.
2359 * config/rl78/rl78.h: Likewise.
2360 * config/sh/sh.h: Likewise.
2361 * config/sparc/sparc.h: Likewise.
2362 * config/stormy16/stormy16.h: Likewise.
2363 * config/tilegx/tilegx.h: Likewise.
2364 * config/tilepro/tilepro.h: Likewise.
2365 * config/v850/v850.h: Likewise.
2366 * config/xtensa/xtensa.h: Likewise.
2367 * doc/tm.texi: Regenerate.
2368 * doc/tm.texi.in: Adjust.
2369 * combine.c (simplify_set): Likewise.
2370 (simplify_comparison): Likewise.
2371 * expr.c (store_constructor): Likewise.
2372 * internal-fn.c (expand_arith_overflow): Likewise.
2373 * reload.c (push_reload): Likewise.
2374 (find_reloads): Likewise.
2375 (find_reloads_subreg_address): Likewise.
2376 * reload1.c (eliminate_regs_1): Likewise.
2377 * rtlanal.c (nonzero_bits1): Likewise.
2378 (num_sign_bit_copies1): Likewise.
2379 * simplify-rtx.c (simplify_truncation): Likewise.
2380
2381 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2382
2383 * auto-inc-dec.c (pass_inc_dec::execute): Don't check the value
2384 of AUTO_INC_DEC with the preprocessor.
2385 * combine.c (combine_instructions): Likewise.
2386 (can_combine_p): Likewise.
2387 (try_combine): Likewise.
2388 * emit-rtl.c (try_split): Likewise.
2389 * loop-invariant.c (calculate_loop_reg_pressure): Likewise.
2390 * lower-subreg.c (resolve_simple_move): Likewise.
2391 * lra.c (update_inc_notes): Likewise.
2392 * recog.c (asm_operand_ok): Likewise.
2393 (constrain_operands): Likewise.
2394 * regrename.c (scan_rtx_address): Likewise.
2395 * reload.c (update_auto_inc_notes): Likewise.
2396 (reg_inc_found_and_valid_p): Likewise.
2397 * reload1.c (reload): Likewise.
2398 (emit_input_reload_insns): Likewise.
2399 (delete_output_reload): Likewise.
2400 * sched-deps.c (init_insn_reg_pressure_info): Likewise.
2401 * valtrack.c (cleanup_auto_inc_dec): Likewise.
2402
2403 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2404
2405 * rtl.h: Always define AUTO_INC_DEC.
2406 * auto-inc-dec.c (pass_inc_dec::execute): Adjust.
2407 * combine.c (combine_instructions): Likewise.
2408 (can_combine_p): Likewise.
2409 (try_combine): Likewise.
2410 * emit-rtl.c (try_split): Likewise.
2411 * loop-invariant.c (calculate_loop_reg_pressure): Likewise.
2412 * lower-subreg.c (resolve_simple_move): Likewise.
2413 * lra.c (update_inc_notes): Likewise.
2414 * recog.c (asm_operand_ok): Likewise.
2415 (constrain_operands): Likewise.
2416 * regrename.c (scan_rtx_address): Likewise.
2417 * reload.c (update_auto_inc_notes): Likewise.
2418 (find_equiv_reg): Likewise.
2419 * reload1.c (reload): Likewise.
2420 (reload_as_needed): Likewise.
2421 (choose_reload_regs): Likewise.
2422 (emit_input_reload_insns): Likewise.
2423 (delete_output_reload): Likewise.
2424 * sched-deps.c (init_insn_reg_pressure_info): Likewise.
2425 * valtrack.c (cleanup_auto_inc_dec): Likewise.
2426
2427 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2428
2429 * combine.c (can_combine_def_p): Don't check the value of
2430 HARD_FRAME_POINTER_IS_FRAME_POINTER with the preprocessor.
2431 (combinable_i3pat): Likewise.
2432 (mark_used_regs_combine): Likewise.
2433 * regrename.c (rename_chains): Likewise.
2434 * reload.c (find_reloads_address): Likewise.
2435 * sel-sched.c (mark_unavailable_hard_regs): Likewise.
2436
2437 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2438
2439 * combine.c (update_rsp_from_reg_equal): Don't check if
2440 SHORT_IMMEDIATES_SIGN_EXTEND is defined.
2441 (reg_nonzero_bits_for_combine): Likewise.
2442 * config/alpha/alpha.h: Define SHORT_IMMEDIATES_SIGN_EXTEND to
2443 1.
2444 * config/frv/frv.h: Likewise.
2445 * config/lm32/lm32.h: Likewise.
2446 * config/mep/mep.h: Likewise.
2447 * config/mips/mips.h: Likewise.
2448 * config/rs6000/rs6000.h: Likewise.
2449 * config/sh/sh.h: Likewise.
2450 * config/tilegx/tilegx.h (enum reg_class): Likewise.
2451 * config/tilepro/tilepro.h: Likewise.
2452 * defaults.h: Add default for SHORT_IMMEDIATES_SIGN_EXTEND.
2453 * doc/tm.texi: Regenerate.
2454 * doc/tm.texi.in: Adjust.
2455 * rtlanal.c (nonzero_bits1): Likewise.
2456
2457 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2458
2459 * combine.c (do_SUBST_MODE): Don't check the value of HAVE_cc0
2460 with the preprocessor.
2461 (combine_instructions): Likewise.
2462 (try_combine): Likewise.
2463 (subst): Likewise.
2464 (distribute_notes): Likewise.
2465
2466 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2467
2468 * combine.c (try_combine): Don't check if LOAD_EXTEND_OP is
2469 defined.
2470 (simplify_set): Likewise.
2471 * cse.c (cse_insn): Likewise.
2472 * fold-const.c (fold_single_bit_test): Likewise.
2473 (fold_unary_loc): Likewise.
2474 * postreload.c (reload_cse_simplify_set): Likewise.
2475 (reload_cse_simplify_operands): Likewise.
2476
2477 2015-07-08 Jiong Wang <jiong.wang@arm.com>
2478
2479 * config/aarch64/aarch64.c (aarch64_unspec_may_trap_p): New function.
2480 (TARGET_UNSPEC_MAY_TRAP_P): Define as aarch64_unspec_may_trap_p.
2481
2482 2015-07-08 H.J. Lu <hongjiu.lu@intel.com>
2483
2484 PR target/66746
2485 * config/i386/x86intrin.h: Include <adxintrin.h> even if
2486 __iamcu__ is defined.
2487
2488 2015-07-08 Uros Bizjak <ubizjak@gmail.com>
2489
2490 * config/i386/predicates.md (general_reg_operand): Use GENERAL_REGNO_P.
2491
2492 2015-07-08 Iain Sandoe <iain@codesourcery.com>
2493
2494 PR target/66523
2495 * config/darwin.c (darwin_mark_decl_preserved): Exclude 'L' label
2496 names from preservation.
2497
2498 2015-07-08 H.J. Lu <hongjiu.lu@intel.com>
2499
2500 PR target/66806
2501 * config/i386/i386.c (type_natural_mode): Don't warn vector ABI
2502 change for IAMCU.
2503 (function_arg_advance_32): Don't pass vectors in registers for
2504 IAMCU.
2505 (function_arg_32): Likewise.
2506 (ix86_return_in_memory): Don't return vectors in registers for
2507 IAMCU.
2508
2509 2015-07-08 Vladimir Makarov <vmakarov@redhat.com>
2510
2511 PR middle-end/66334
2512 * ira-lives.c (process_bb_node_lives): Make conflicts with PIC
2513 hard regno live at the start of BB with incoming abnormal edges.
2514 * lra-lives.c (process_bb_lives): Ditto.
2515
2516 2015-07-08 Thomas Schwinge <thomas@codesourcery.com>
2517
2518 PR libgomp/65099
2519 * config/nvptx/mkoffload.c (main): Create an offload image only in
2520 64-bit configurations.
2521
2522 2015-07-08 Martin Liska <mliska@suse.cz>
2523
2524 PR bootstrap/66744
2525 * tree-sra.c (create_access_1): Call ctor without brackets.
2526 (create_artificial_child_access): Likewise.
2527
2528 2015-07-08 Richard Biener <rguenther@suse.de>
2529
2530 PR tree-optimization/66793
2531 * gimple-ssa-isolate-paths.c (insert_trap_and_remove_trailing_statemen):
2532 Properly split the block after stmts ending it.
2533
2534 2015-07-08 Richard Biener <rguenther@suse.de>
2535
2536 PR tree-optimization/66794
2537 * passes.c (execute_function_todo): Assert that post-dominators
2538 are not computed.
2539 * gimple-ssa-isolate-paths.c (gimple_ssa_isolate_erroneous_paths):
2540 Free post-dominators.
2541
2542 2015-07-08 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2543
2544 * config/s390/s390.c (s390_init_frame_layout): Replace assertion
2545 with early exit.
2546
2547 2015-07-08 Uros Bizjak <ubizjak@gmail.com>
2548
2549 * config/i386/i386.md (*jcc_bt<mode>): Only allow const_int values
2550 more than or equal 8 and less than 32 when optimizing for size.
2551
2552 2015-07-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2553
2554 * config/arm/arm.c (arm_new_rtx_costs): Initialise cost to
2555 COSTS_N_INSNS (1) and increment it appropriately throughout the
2556 function.
2557
2558 2015-07-08 Richard Biener <rguenther@suse.de>
2559
2560 * fold-const.c (fold_widened_comparison): Fix inverted comparison.
2561
2562 2015-07-08 Alan Modra <amodra@gmail.com>
2563
2564 * target.def (rtx_costs): Remove "code" param, add "mode".
2565 * rtl.h (rtx_cost, get_full_rtx_cost): Update prototype.
2566 (set_src_cost, get_full_set_src_cost): Likewise. Move later in file.
2567 (set_rtx_cost, get_full_set_rtx_cost): Move later in file.
2568 * rtlanal.c (rtx_cost): Add "mode" parameter. Update targetm.rtx_costs
2569 call. Track mode when given in rtx.
2570 (get_full_rtx_cost): Add "mode" parameter. Update rtx_cost calls.
2571 (default_address_cost): Pass Pmode to rtx_cost.
2572 (insn_rtx_cost): Pass dest mode of set to set_src_cost.
2573 * cprop.c (try_replace_reg): Ensure set_rtx_cost is not called
2574 with NULL set.
2575 * cse.c (COST, COST_IN): Add MODE param. Update all uses.
2576 (notreg_cost): Add mode param. Use it.
2577 * gcse.c (want_to_gcse_p): Delete forward declaration. Add
2578 mode param and pass to set_src_cost. Update all calls.
2579 (hash_scan_set): Formatting.
2580 * hooks.c (hook_bool_rtx_int_int_int_intp_bool_false): Delete.
2581 (hook_bool_rtx_mode_int_int_intp_bool_false): New function.
2582 * hooks.h: Ditto.
2583 * expmed.c (init_expmed_one_conv, init_expmed_one_mode,
2584 init_expmed, expand_mult, mult_by_coeff_cost, expand_smod_pow2,
2585 emit_store_flag): Update set_src_cost and rtx_cost calls.
2586 * auto-inc-dec.c (attempt_change): Likewise.
2587 * calls.c (precompute_register_parameters): Likewise.
2588 * combine.c (expand_compound_operation, make_extraction,
2589 force_to_mode, distribute_and_simplify_rtx): Likewise.
2590 * dojump.c (prefer_and_bit_test): Likewise.
2591 * dse.c (find_shift_sequence): Likewise.
2592 * expr.c (compress_float_constant): Likewise.
2593 * fwprop.c (should_replace_address, try_fwprop_subst): Likewise.
2594 * ifcvt.c (noce_try_sign_mask): Likewise.
2595 * loop-doloop.c (doloop_optimize): Likewise.
2596 * loop-invariant.c (create_new_invariant): Likewise.
2597 * lower-subreg.c (shift_cost, compute_costs): Likewise.
2598 * optabs.c (avoid_expensive_constant, prepare_cmp_insn,
2599 lshift_cheap_p): Likewise.
2600 * postreload.c (reload_cse_simplify_set, reload_cse_simplify_operands,
2601 try_replace_in_use, reload_cse_move2add): Likewise.
2602 * reload1.c (calculate_elim_costs_all_insns, note_reg_elim_costly):
2603 Likewise.
2604 * simplify-rtx.c (simplify_binary_operation_1): Likewise.
2605 * tree-ssa-loop-ivopts.c (computation_cost): Likewise.
2606 * tree-ssa-reassoc.c (optimize_range_tests_to_bit_test): Likewise.
2607 * tree-switch-conversion.c (emit_case_bit_tests): Likewise.
2608 * config/aarch64/aarch64.c (aarch64_rtx_costs): Delete "code" param,
2609 add "mode" param. Use "mode: in place of GET_MODE (x). Pass mode
2610 to rtx_cost calls.
2611 * config/alpha/alpha.c (alpha_rtx_costs): Likewise.
2612 * config/arc/arc.c (arc_rtx_costs): Likewise.
2613 * config/arm/arm.c (arm_rtx_costs): Likewise.
2614 * config/avr/avr.c (avr_rtx_costs, avr_rtx_costs_1): Likewise.
2615 * config/bfin/bfin.c (bfin_rtx_costs): Likewise.
2616 * config/c6x/c6x.c (c6x_rtx_costs): Likewise.
2617 * config/cris/cris.c (cris_rtx_costs): Likewise.
2618 * config/epiphany/epiphany.c (epiphany_rtx_costs): Likewise.
2619 * config/frv/frv.c (frv_rtx_costs): Likewise.
2620 * config/h8300/h8300.c (h8300_rtx_costs): Likewise.
2621 * config/i386/i386.c (ix86_rtx_costs): Likewise.
2622 * config/ia64/ia64.c (ia64_rtx_costs): Likewise.
2623 * config/iq2000/iq2000.c (iq2000_rtx_costs): Likewise.
2624 * config/lm32/lm32.c (lm32_rtx_costs): Likewise.
2625 * config/m32c/m32c.c (m32c_rtx_costs): Likewise.
2626 * config/m32r/m32r.c (m32r_rtx_costs): Likewise.
2627 * config/m68k/m68k.c (m68k_rtx_costs): Likewise.
2628 * config/mcore/mcore.c (mcore_rtx_costs): Likewise.
2629 * config/mep/mep.c (mep_rtx_cost): Likewise.
2630 * config/microblaze/microblaze.c (microblaze_rtx_costs): Likewise.
2631 * config/mips/mips.c (mips_rtx_costs): Likewise.
2632 * config/mmix/mmix.c (mmix_rtx_costs): Likewise.
2633 * config/mn10300/mn10300.c (mn10300_rtx_costs): Likewise.
2634 * config/msp430/msp430.c (msp430_rtx_costs): Likewise.
2635 * config/nds32/nds32-cost.c (nds32_rtx_costs_impl): Likewise.
2636 * config/nds32/nds32-protos.h (nds32_rtx_costs_impl): Likewise.
2637 * config/nds32/nds32.c (nds32_rtx_costs): Likewise.
2638 * config/nios2/nios2.c (nios2_rtx_costs): Likewise.
2639 * config/pa/pa.c (hppa_rtx_costs): Likewise.
2640 * config/pdp11/pdp11.c (pdp11_rtx_costs): Likewise.
2641 * config/rl78/rl78.c (rl78_rtx_costs): Likewise.
2642 * config/rs6000/rs6000.c (rs6000_rtx_costs): Likewise.
2643 * config/s390/s390.c (s390_rtx_costs): Likewise.
2644 * config/sh/sh.c (sh_rtx_costs): Likewise.
2645 * config/sparc/sparc.c (sparc_rtx_costs): Likewise.
2646 * config/spu/spu.c (spu_rtx_costs): Likewise.
2647 * config/stormy16/stormy16.c (xstormy16_rtx_costs): Likewise.
2648 * config/tilegx/tilegx.c (tilegx_rtx_costs): Likewise.
2649 * config/tilepro/tilepro.c (tilepro_rtx_costs): Likewise.
2650 * config/v850/v850.c (v850_rtx_costs): Likewise.
2651 * config/vax/vax.c (vax_rtx_costs): Likewise.
2652 * config/visium/visium.c (visium_rtx_costs): Likewise.
2653 * config/xtensa/xtensa.c (xtensa_rtx_costs): Likewise.
2654 * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Change type of
2655 "code" param, and pass as outer_code to first rtx_cost call. Pass
2656 mode to rtx_cost calls.
2657 (aarch64_address_cost, aarch64_if_then_else_costs): Update rtx_cost
2658 calls.
2659 (aarch64_rtx_costs_wrapper): Update.
2660 * config/arm/arm.c (arm_rtx_costs_1, arm_size_rtx_costs,
2661 arm_unspec_cost, arm_new_rtx_costs, arm_slowmul_rtx_costs): Update
2662 rtx_cost calls.
2663 * config/avr/avr.c (avr_final_prescan_insn): Update set_src_cost
2664 and rtx_cost calls.
2665 (avr_operand_rtx_cost): Similarly.
2666 (avr_rtx_costs_1): Correct mode passed to avr_operand_rtx_cost
2667 for subexpressions of ZERO_EXTEND, SIGN_EXTEND and COMPARE.
2668 * config/mips/mips.c (mips_stack_address_p): Comment typo.
2669 (mips_binary_cost): Update rtx_cost and set_src_cost calls.
2670 (mips_rtx_costs): Use GET_MODE (x) to detect const_int.
2671 * config/mn10300/mn10300.c (mn10300_address_cost): Pass Pmode to
2672 rtx_cost.
2673 (mn10300_rtx_costs): Correct mode passed to mn10300_address_cost.
2674 * config/rs6000/rs6000.c (rs6000_debug_rtx_costs): Update.
2675 * config/sh/sh.c (and_xor_ior_costs): Update rtx_cost call.
2676 * doc/tm.texi: Regenerate.
2677
2678 2015-07-07 Andrew MacLeod <amacleod@redhat.com>
2679
2680 * tree-core.h: Include symtab.h.
2681 * rtl.h: Include hard-reg-set.h but not flags.h.
2682 (HARD_CONST): Remove condition compilation involving HARD_CONST since
2683 hard-reg-set.h is always included.
2684 * regs.h: Don't include hard-reg-set.h or rtl.h.
2685 * cfg.h: Include dominance.h.
2686 * gimple.h: Include tree-ssa-alias.h and gimple-expr.h.
2687 * backend.h: New. Aggregate commonly used backend header files.
2688 * gimple-ssa.h: Don't include tree-hasher.h.
2689 * ssa.h: New. Aggregate commonly used SSA header files.
2690 * regset.h: Remove bitmap.h and hard-reg-set.h #includes.
2691 * sel-sched-ir.h: Flatten includes.
2692 * lra-int.h: Flatten completely.
2693 * sel-sched-dump.h: Flatten includes.
2694 * ira-int.h: Flatten includes.
2695 * gimple-streamer.h: Remove all includes.
2696 * cfgloop.h: Remove all #includes except cfgloopmanip.h.
2697 * resource.h: Flatten hard-reg-set.h and df.h.
2698 * sched-int.h: Flatten insn-arrt.h and df.h.
2699 * valtrack.h: flatten bitmap.h, df.h, and rtl.h
2700 * df.h: Flatten includes, leaving regset.h, alloc-pool.h and timevar.h.
2701 * genattrtab.c (write_header): Adjust generated includes.
2702 * genautomata.c (main): Likewise.
2703 * genconditions.c (write-header): Likewise.
2704 * genemit.c (main): Likewise.
2705 * gengtype.c (open_base_files): Likewise.
2706 * genopinit.c (main): Likewise.
2707 * genoutput.c (output_prologue): Likewise.
2708 * genpeep.c (main): Likewise.
2709 * genpreds.c (write_insn_preds_c): Likewise.
2710 * genrecog.c (write_header): Likewise.
2711 * alias.c: Adjust includes.
2712 * asan.c: Likewise.
2713 * attribs.c: Likewise.
2714 * auto-inc-dec.c: Likewise.
2715 * auto-profile.c: Likewise.
2716 * bb-reorder.c: Likewise.
2717 * bt-load.c: Likewise.
2718 * builtins.c: Likewise.
2719 * caller-save.c: Likewise.
2720 * calls.c: Likewise.
2721 * ccmp.c: Likewise.
2722 * cfg.c: Likewise.
2723 * cfganal.c: Likewise.
2724 * cfgbuild.c: Likewise.
2725 * cfgcleanup.c: Likewise.
2726 * cfgexpand.c: Likewise.
2727 * cfghooks.c: Likewise.
2728 * cfgloop.c: Likewise.
2729 * cfgloopanal.c: Likewise.
2730 * cfgloopmanip.c: Likewise.
2731 * cfgrtl.c: Likewise.
2732 * cgraph.c: Likewise.
2733 * cgraphbuild.c: Likewise.
2734 * cgraphclones.c: Likewise.
2735 * cgraphunit.c: Likewise.
2736 * cilk-common.c: Likewise.
2737 * combine-stack-adj.c: Likewise.
2738 * combine.c: Likewise.
2739 * compare-elim.c: Likewise.
2740 * convert.c: Likewise.
2741 * coverage.c: Likewise.
2742 * cppbuiltin.c: Likewise.
2743 * cprop.c: Likewise.
2744 * cse.c: Likewise.
2745 * cselib.c: Likewise.
2746 * data-streamer-in.c: Likewise.
2747 * data-streamer-out.c: Likewise.
2748 * data-streamer.c: Likewise.
2749 * dbxout.c: Likewise.
2750 * dce.c: Likewise.
2751 * ddg.c: Likewise.
2752 * debug.c: Likewise.
2753 * df-core.c: Likewise.
2754 * df-problems.c: Likewise.
2755 * df-scan.c: Likewise.
2756 * dfp.c: Likewise.
2757 * dojump.c: Likewise.
2758 * dominance.c: Likewise.
2759 * domwalk.c: Likewise.
2760 * double-int.c: Likewise.
2761 * dse.c: Likewise.
2762 * dumpfile.c: Likewise.
2763 * dwarf2asm.c: Likewise.
2764 * dwarf2cfi.c: Likewise.
2765 * dwarf2out.c: Likewise.
2766 * emit-rtl.c: Likewise.
2767 * et-forest.c: Likewise.
2768 * except.c: Likewise.
2769 * explow.c: Likewise.
2770 * expmed.c: Likewise.
2771 * expr.c: Likewise.
2772 * final.c: Likewise.
2773 * fixed-value.c: Likewise.
2774 * fold-const.c: Likewise.
2775 * function.c: Likewise.
2776 * fwprop.c: Likewise.
2777 * gcc-plugin.h: Likewise.
2778 * gcse-common.c: Likewise.
2779 * gcse.c: Likewise.
2780 * generic-match-head.c: Likewise.
2781 * ggc-page.c: Likewise.
2782 * gimple-builder.c: Likewise.
2783 * gimple-expr.c: Likewise.
2784 * gimple-fold.c: Likewise.
2785 * gimple-iterator.c: Likewise.
2786 * gimple-low.c: Likewise.
2787 * gimple-match-head.c: Likewise.
2788 * gimple-pretty-print.c: Likewise.
2789 * gimple-ssa-isolate-paths.c: Likewise.
2790 * gimple-ssa-strength-reduction.c: Likewise.
2791 * gimple-streamer-in.c: Likewise.
2792 * gimple-streamer-out.c: Likewise.
2793 * gimple-walk.c: Likewise.
2794 * gimple.c: Likewise.
2795 * gimplify-me.c: Likewise.
2796 * gimplify.c: Likewise.
2797 * godump.c: Likewise.
2798 * graph.c: Likewise.
2799 * graphite-blocking.c: Likewise.
2800 * graphite-dependences.c: Likewise.
2801 * graphite-interchange.c: Likewise.
2802 * graphite-isl-ast-to-gimple.c: Likewise.
2803 * graphite-optimize-isl.c: Likewise.
2804 * graphite-poly.c: Likewise.
2805 * graphite-scop-detection.c: Likewise.
2806 * graphite-sese-to-poly.c: Likewise.
2807 * graphite.c: Likewise.
2808 * haifa-sched.c: Likewise.
2809 * hw-doloop.c: Likewise.
2810 * ifcvt.c: Likewise.
2811 * init-regs.c: Likewise.
2812 * internal-fn.c: Likewise.
2813 * ipa-chkp.c: Likewise.
2814 * ipa-comdats.c: Likewise.
2815 * ipa-cp.c: Likewise.
2816 * ipa-devirt.c: Likewise.
2817 * ipa-icf-gimple.c: Likewise.
2818 * ipa-icf.c: Likewise.
2819 * ipa-inline-analysis.c: Likewise.
2820 * ipa-inline-transform.c: Likewise.
2821 * ipa-inline.c: Likewise.
2822 * ipa-polymorphic-call.c: Likewise.
2823 * ipa-profile.c: Likewise.
2824 * ipa-prop.c: Likewise.
2825 * ipa-pure-const.c: Likewise.
2826 * ipa-ref.c: Likewise.
2827 * ipa-reference.c: Likewise.
2828 * ipa-split.c: Likewise.
2829 * ipa-utils.c: Likewise.
2830 * ipa-visibility.c: Likewise.
2831 * ipa.c: Likewise.
2832 * ira-build.c: Likewise.
2833 * ira-color.c: Likewise.
2834 * ira-conflicts.c: Likewise.
2835 * ira-costs.c: Likewise.
2836 * ira-emit.c: Likewise.
2837 * ira-lives.c: Likewise.
2838 * ira.c: Likewise.
2839 * jump.c: Likewise.
2840 * langhooks.c: Likewise.
2841 * lcm.c: Likewise.
2842 * loop-doloop.c: Likewise.
2843 * loop-init.c: Likewise.
2844 * loop-invariant.c: Likewise.
2845 * loop-iv.c: Likewise.
2846 * loop-unroll.c: Likewise.
2847 * lower-subreg.c: Likewise.
2848 * lra-assigns.c: Likewise.
2849 * lra-coalesce.c: Likewise.
2850 * lra-constraints.c: Likewise.
2851 * lra-eliminations.c: Likewise.
2852 * lra-lives.c: Likewise.
2853 * lra-remat.c: Likewise.
2854 * lra-spills.c: Likewise.
2855 * lra.c: Likewise.
2856 * lto-cgraph.c: Likewise.
2857 * lto-compress.c: Likewise.
2858 * lto-opts.c: Likewise.
2859 * lto-section-in.c: Likewise.
2860 * lto-section-out.c: Likewise.
2861 * lto-streamer-in.c: Likewise.
2862 * lto-streamer-out.c: Likewise.
2863 * lto-streamer.c: Likewise.
2864 * mcf.c: Likewise.
2865 * mode-switching.c: Likewise.
2866 * modulo-sched.c: Likewise.
2867 * omega.c: Likewise.
2868 * omp-low.c: Likewise.
2869 * optabs.c: Likewise.
2870 * opts-global.c: Likewise.
2871 * passes.c: Likewise.
2872 * plugin.c: Likewise.
2873 * postreload-gcse.c: Likewise.
2874 * postreload.c: Likewise.
2875 * predict.c: Likewise.
2876 * print-rtl.c: Likewise.
2877 * print-tree.c: Likewise.
2878 * profile.c: Likewise.
2879 * real.c: Likewise.
2880 * realmpfr.c: Likewise.
2881 * recog.c: Likewise.
2882 * ree.c: Likewise.
2883 * reg-stack.c: Likewise.
2884 * regcprop.c: Likewise.
2885 * reginfo.c: Likewise.
2886 * regrename.c: Likewise.
2887 * regstat.c: Likewise.
2888 * reload.c: Likewise.
2889 * reload1.c: Likewise.
2890 * reorg.c: Likewise.
2891 * resource.c: Likewise.
2892 * rtl-chkp.c: Likewise.
2893 * rtlanal.c: Likewise.
2894 * rtlhooks.c: Likewise.
2895 * sanopt.c: Likewise.
2896 * sched-deps.c: Likewise.
2897 * sched-ebb.c: Likewise.
2898 * sched-rgn.c: Likewise.
2899 * sched-vis.c: Likewise.
2900 * sdbout.c: Likewise.
2901 * sel-sched-dump.c: Likewise.
2902 * sel-sched-ir.c: Likewise.
2903 * sel-sched.c: Likewise.
2904 * sese.c: Likewise.
2905 * shrink-wrap.c: Likewise.
2906 * simplify-rtx.c: Likewise.
2907 * stack-ptr-mod.c: Likewise.
2908 * stmt.c: Likewise.
2909 * stor-layout.c: Likewise.
2910 * store-motion.c: Likewise.
2911 * stringpool.c: Likewise.
2912 * symtab.c: Likewise.
2913 * target-globals.c: Likewise.
2914 * targhooks.c: Likewise.
2915 * toplev.c: Likewise.
2916 * tracer.c: Likewise.
2917 * trans-mem.c: Likewise.
2918 * tree-affine.c: Likewise.
2919 * tree-browser.c: Likewise.
2920 * tree-call-cdce.c: Likewise.
2921 * tree-cfg.c: Likewise.
2922 * tree-cfgcleanup.c: Likewise.
2923 * tree-chkp-opt.c: Likewise.
2924 * tree-chkp.c: Likewise.
2925 * tree-chrec.c: Likewise.
2926 * tree-complex.c: Likewise.
2927 * tree-data-ref.c: Likewise.
2928 * tree-dfa.c: Likewise.
2929 * tree-diagnostic.c: Likewise.
2930 * tree-dump.c: Likewise.
2931 * tree-eh.c: Likewise.
2932 * tree-emutls.c: Likewise.
2933 * tree-if-conv.c: Likewise.
2934 * tree-inline.c: Likewise.
2935 * tree-into-ssa.c: Likewise.
2936 * tree-iterator.c: Likewise.
2937 * tree-loop-distribution.c: Likewise.
2938 * tree-nested.c: Likewise.
2939 * tree-nrv.c: Likewise.
2940 * tree-object-size.c: Likewise.
2941 * tree-outof-ssa.c: Likewise.
2942 * tree-parloops.c: Likewise.
2943 * tree-phinodes.c: Likewise.
2944 * tree-predcom.c: Likewise.
2945 * tree-pretty-print.c: Likewise.
2946 * tree-profile.c: Likewise.
2947 * tree-scalar-evolution.c: Likewise.
2948 * tree-sra.c: Likewise.
2949 * tree-ssa-address.c: Likewise.
2950 * tree-ssa-alias.c: Likewise.
2951 * tree-ssa-ccp.c: Likewise.
2952 * tree-ssa-coalesce.c: Likewise.
2953 * tree-ssa-copy.c: Likewise.
2954 * tree-ssa-copyrename.c: Likewise.
2955 * tree-ssa-dce.c: Likewise.
2956 * tree-ssa-dom.c: Likewise.
2957 * tree-ssa-dse.c: Likewise.
2958 * tree-ssa-forwprop.c: Likewise.
2959 * tree-ssa-ifcombine.c: Likewise.
2960 * tree-ssa-live.c: Likewise.
2961 * tree-ssa-loop-ch.c: Likewise.
2962 * tree-ssa-loop-im.c: Likewise.
2963 * tree-ssa-loop-ivcanon.c: Likewise.
2964 * tree-ssa-loop-ivopts.c: Likewise.
2965 * tree-ssa-loop-manip.c: Likewise.
2966 * tree-ssa-loop-niter.c: Likewise.
2967 * tree-ssa-loop-prefetch.c: Likewise.
2968 * tree-ssa-loop-unswitch.c: Likewise.
2969 * tree-ssa-loop.c: Likewise.
2970 * tree-ssa-math-opts.c: Likewise.
2971 * tree-ssa-operands.c: Likewise.
2972 * tree-ssa-phiopt.c: Likewise.
2973 * tree-ssa-phiprop.c: Likewise.
2974 * tree-ssa-pre.c: Likewise.
2975 * tree-ssa-propagate.c: Likewise.
2976 * tree-ssa-reassoc.c: Likewise.
2977 * tree-ssa-sccvn.c: Likewise.
2978 * tree-ssa-scopedtables.c: Likewise.
2979 * tree-ssa-sink.c: Likewise.
2980 * tree-ssa-strlen.c: Likewise.
2981 * tree-ssa-structalias.c: Likewise.
2982 * tree-ssa-tail-merge.c: Likewise.
2983 * tree-ssa-ter.c: Likewise.
2984 * tree-ssa-threadedge.c: Likewise.
2985 * tree-ssa-threadupdate.c: Likewise.
2986 * tree-ssa-uncprop.c: Likewise.
2987 * tree-ssa-uninit.c: Likewise.
2988 * tree-ssa.c: Likewise.
2989 * tree-ssanames.c: Likewise.
2990 * tree-stdarg.c: Likewise.
2991 * tree-streamer-in.c: Likewise.
2992 * tree-streamer-out.c: Likewise.
2993 * tree-streamer.c: Likewise.
2994 * tree-switch-conversion.c: Likewise.
2995 * tree-tailcall.c: Likewise.
2996 * tree-vect-data-refs.c: Likewise.
2997 * tree-vect-generic.c: Likewise.
2998 * tree-vect-loop-manip.c: Likewise.
2999 * tree-vect-loop.c: Likewise.
3000 * tree-vect-patterns.c: Likewise.
3001 * tree-vect-slp.c: Likewise.
3002 * tree-vect-stmts.c: Likewise.
3003 * tree-vectorizer.c: Likewise.
3004 * tree-vrp.c: Likewise.
3005 * tree.c: Likewise.
3006 * tsan.c: Likewise.
3007 * ubsan.c: Likewise.
3008 * valtrack.c: Likewise.
3009 * value-prof.c: Likewise.
3010 * var-tracking.c: Likewise.
3011 * varasm.c: Likewise.
3012 * varpool.c: Likewise.
3013 * vmsdbgout.c: Likewise.
3014 * vtable-verify.c: Likewise.
3015 * web.c: Likewise.
3016 * wide-int.cc: Likewise.
3017 * xcoffout.c: Likewise.
3018 * config/aarch64/aarch64-builtins.c: Likewise.
3019 * config/aarch64/aarch64.c: Likewise.
3020 * config/aarch64/cortex-a57-fma-steering.c: Likewise.
3021 * config/alpha/alpha.c: Likewise.
3022 * config/arc/arc.c: Likewise.
3023 * config/arm/aarch-common.c: Likewise.
3024 * config/arm/arm-builtins.c: Likewise.
3025 * config/arm/arm-c.c: Likewise.
3026 * config/arm/arm.c: Likewise.
3027 * config/avr/avr-c.c: Likewise.
3028 * config/avr/avr-log.c: Likewise.
3029 * config/avr/avr.c: Likewise.
3030 * config/bfin/bfin.c: Likewise.
3031 * config/c6x/c6x.c: Likewise.
3032 * config/cr16/cr16.c: Likewise.
3033 * config/cris/cris.c: Likewise.
3034 * config/darwin-c.c: Likewise.
3035 * config/darwin.c: Likewise.
3036 * config/epiphany/epiphany.c: Likewise.
3037 * config/epiphany/mode-switch-use.c: Likewise.
3038 * config/epiphany/resolve-sw-modes.c: Likewise.
3039 * config/fr30/fr30.c: Likewise.
3040 * config/frv/frv.c: Likewise.
3041 * config/ft32/ft32.c: Likewise.
3042 * config/h8300/h8300.c: Likewise.
3043 * config/i386/i386-c.c: Likewise.
3044 * config/i386/i386.c: Likewise.
3045 * config/i386/msformat-c.c: Likewise.
3046 * config/i386/winnt-cxx.c: Likewise.
3047 * config/i386/winnt-stubs.c: Likewise.
3048 * config/i386/winnt.c: Likewise.
3049 * config/ia64/ia64-c.c: Likewise.
3050 * config/ia64/ia64.c: Likewise.
3051 * config/iq2000/iq2000.c: Likewise.
3052 * config/lm32/lm32.c: Likewise.
3053 * config/m32c/m32c-pragma.c: Likewise.
3054 * config/m32c/m32c.c: Likewise.
3055 * config/m32r/m32r.c: Likewise.
3056 * config/m68k/m68k.c: Likewise.
3057 * config/mcore/mcore.c: Likewise.
3058 * config/mep/mep-pragma.c: Likewise.
3059 * config/mep/mep.c: Likewise.
3060 * config/microblaze/microblaze-c.c: Likewise.
3061 * config/microblaze/microblaze.c: Likewise.
3062 * config/mips/mips.c: Likewise.
3063 * config/mmix/mmix.c: Likewise.
3064 * config/mn10300/mn10300.c: Likewise.
3065 * config/moxie/moxie.c: Likewise.
3066 * config/msp430/msp430-c.c: Likewise.
3067 * config/msp430/msp430.c: Likewise.
3068 * config/nds32/nds32-cost.c: Likewise.
3069 * config/nds32/nds32-fp-as-gp.c: Likewise.
3070 * config/nds32/nds32-intrinsic.c: Likewise.
3071 * config/nds32/nds32-isr.c: Likewise.
3072 * config/nds32/nds32-md-auxiliary.c: Likewise.
3073 * config/nds32/nds32-memory-manipulation.c: Likewise.
3074 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
3075 * config/nds32/nds32-predicates.c: Likewise.
3076 * config/nds32/nds32.c: Likewise.
3077 * config/nios2/nios2.c: Likewise.
3078 * config/nvptx/nvptx.c: Likewise.
3079 * config/pa/pa.c: Likewise.
3080 * config/pdp11/pdp11.c: Likewise.
3081 * config/rl78/rl78-c.c: Likewise.
3082 * config/rl78/rl78.c: Likewise.
3083 * config/rs6000/rs6000-c.c: Likewise.
3084 * config/rs6000/rs6000.c: Likewise.
3085 * config/rx/rx.c: Likewise.
3086 * config/s390/s390-c.c: Likewise.
3087 * config/s390/s390.c: Likewise.
3088 * config/sh/sh-c.c: Likewise.
3089 * config/sh/sh-mem.cc: Likewise.
3090 * config/sh/sh.c: Likewise.
3091 * config/sh/sh_optimize_sett_clrt.cc: Likewise.
3092 * config/sh/sh_treg_combine.cc: Likewise.
3093 * config/sol2-c.c: Likewise.
3094 * config/sol2-cxx.c: Likewise.
3095 * config/sol2-stubs.c: Likewise.
3096 * config/sol2.c: Likewise.
3097 * config/sparc/sparc-c.c: Likewise.
3098 * config/sparc/sparc.c: Likewise.
3099 * config/spu/spu-c.c: Likewise.
3100 * config/spu/spu.c: Likewise.
3101 * config/stormy16/stormy16.c: Likewise.
3102 * config/tilegx/mul-tables.c: Likewise.
3103 * config/tilegx/tilegx-c.c: Likewise.
3104 * config/tilegx/tilegx.c: Likewise.
3105 * config/tilepro/mul-tables.c: Likewise.
3106 * config/tilepro/tilepro-c.c: Likewise.
3107 * config/tilepro/tilepro.c: Likewise.
3108 * config/v850/v850-c.c: Likewise.
3109 * config/v850/v850.c: Likewise.
3110 * config/vax/vax.c: Likewise.
3111 * config/visium/visium.c: Likewise.
3112 * config/vms/vms-c.c: Likewise.
3113 * config/vms/vms.c: Likewise.
3114 * config/vxworks.c: Likewise.
3115 * config/xtensa/xtensa.c: Likewise.
3116
3117 2015-07-07 Uros Bizjak <ubizjak@gmail.com>
3118
3119 * config/i386/i386.md (*jcc_bt<mode>): Only split before reload.
3120 Remove operand constraints. Change operand 2 predicate to
3121 nonmemory operand. Limit const_int values to mode bitsize. Only
3122 allow const_int values less than 32 when optimizing for size.
3123 (*jcc_bt<mode>_1, *jcc_bt<mode>_mask): Only split before reload.
3124 Remove operand constraints.
3125 (*bt<mode>): Use SImode for const_int values less than 32.
3126 (regmode): Remove mode attribute.
3127
3128 2015-07-07 Anatoly Sokolov <aesok@post.ru>
3129
3130 * config/moxie/moxie.h (GO_IF_LEGITIMATE_ADDRESS): Remove macros.
3131 * config/moxie/moxie.c (moxie_reg_ok_for_base_p,
3132 moxie_legitimate_address_p): New functions.
3133 (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define.
3134
3135 2015-07-07 Tom de Vries <tom@codesourcery.com>
3136
3137 PR tree-optimization/66642
3138 * tree-parloops.c (transform_to_exit_first_loop_alt): Update function
3139 header comment. Rename split_edge variable to edge_at_split. Split
3140 exit edge to create new loop exit bb. Insert loop exit phis in new
3141 loop exit bb.
3142
3143 2015-07-07 Tom de Vries <tom@codesourcery.com>
3144
3145 * tree-cfg.c (get_virtual_phi): New function.
3146 * tree-cfg.h (get_virtual_phi): Declare.
3147 * tree-ssa-loop-manip.c (replace_uses_in_dominated_bbs)
3148 (rewrite_virtuals_into_loop_closed_ssa): New function.
3149 * tree-ssa-loop-manip.h (rewrite_virtuals_into_loop_closed_ssa):
3150 Declare.
3151 * tree-parloops.c (replace_uses_in_bbs_by): Remove.
3152 (transform_to_exit_first_loop_alt): Use
3153 rewrite_virtuals_into_loop_closed_ssa.
3154
3155 2015-07-07 Richard Biener <rguenther@suse.de>
3156
3157 * fold-const.c (fold_binary_loc): Move
3158 (X & C2) << C1 -> (X << C1) & (C2 << C1) simplification ...
3159 * match.pd: ... here.
3160 Add (X * C1) % C2 -> 0 simplification pattern derived from
3161 extract_muldiv_1.
3162
3163 2015-07-07 Kaz Kojima <kkojima@gcc.gnu.org>
3164
3165 PR target/66780
3166 * config/sh/sh.md (symGOT_load): Revert a part of 2015-03-03
3167 change for target/65249.
3168
3169 2015-07-07 Paulo Matos <pmatos@broadcom.com>
3170
3171 * symtab.c (address_matters_1): Fix typo in comment above.
3172 (can_increase_alignment_p): Likewise.
3173
3174 2015-07-07 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
3175
3176 * function.c (free_after_compilation): Clear PROP_cfg in
3177 f->curr_properties.
3178
3179 2015-07-07 Richard Biener <rguenther@suse.de>
3180
3181 * tree-ssa-propagate.c (add_ssa_edge): Dump what edge list we
3182 add which use to.
3183 (add_control_edge): Remove excessive vertical space in dumping.
3184 (process_ssa_edge_worklist): Simulate at most one statement and
3185 return whether we did. Do not simulate PHIs if they are in a
3186 BB not yet simulated.
3187 (ssa_propagate): Adjust to always drain the BB worklist whenever
3188 a BB is available there, likewise the VARYING edges list before
3189 the interesting edge list.
3190
3191 2015-07-07 Christian Bruel <christian.bruel@st.com>
3192
3193 PR target/52144
3194 * config/arm/elf.h (TARGET_ASM_FILE_START_APP_OFF): Delete.
3195
3196 2015-07-07 Richard Biener <rguenther@suse.de>
3197
3198 PR middle-end/66739
3199 * match.pd: Condition A - B ==/!= 0 -> A ==/!= B on single-use
3200 A - B.
3201
3202 2015-07-06 Uros Bizjak <ubizjak@gmail.com>
3203
3204 * config/i386/i386.md (insv<mode>): Rename from insv. Use SWI48
3205 modes for operands 0 and 3. Use SImode for operands 2 and 3.
3206 Copy operand 0 to a temporary if !ext_register_operand. Remove
3207 ancient extract_bit_field workaround.
3208 (insv<mode>_1): Rename from mov<mode>_insv_1.
3209 (*insvqi): Rename from *movqi_insv_2.
3210 * config/i386/i386.c (emit_i386_cw_initialization): Update calls
3211 for renamed insvsi_1.
3212 (promote_duplicated_reg): Ditto for renamed insv<mode>_1.
3213
3214 2015-07-06 Nathan Sidwell <nathan@codesourcery.com>
3215
3216 * config/nvptx/nvptx.c (nvptx_reorg): Remove unused vars. Fix
3217 call to nvptx_reorg_subreg.
3218
3219 2015-07-06 Jim Wilson <jim.wilson@linaro.org>
3220
3221 * graphite-blocking.c (HAVE_isl): Include <stddef.h>.
3222 * graphite-dependencies.c, graphite-interchange.c,
3223 graphite-isl-ast-to-gimple.c, graphite-optimize-isl.c, graphite-poly.c,
3224 graphite-scop-detection.c, graphite-sese-to-poly.c, graphite.c:
3225 Likewise.
3226
3227 2015-07-06 Marc Glisse <marc.glisse@inria.fr>
3228
3229 * match.pd: Remove element_mode inside HONOR_*.
3230 (~ (-A) -> A - 1, ~ (A - 1) -> -A): Handle complex types.
3231 (~X | X -> -1, ~X ^ X -> -1): Merge.
3232 * tree.c (build_each_one_cst): New function.
3233 * tree.h (build_each_one_cst): Likewise.
3234
3235 2015-07-06 H.J. Lu <hongjiu.lu@intel.com>
3236
3237 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
3238 PROCESSOR_IAMCU.
3239
3240 2015-07-06 Steve Ellcey <sellcey@imgtec.com>
3241
3242 * config.gcc <mips*-*-*>: Add fused-madd.opt.
3243 * config/mips/mips.opt (mfused-madd): Remove.
3244 * config/mips/mips.c (mips_rtx_costs): Update cost calculations.
3245 * config/mips/mips.h (TARGET_MIPS8000): New.
3246 (ISA_HAS_FP_MADD4_MSUB4): Remove.
3247 (ISA_HAS_FP_MADDF_MSUBF): Remove.
3248 (ISA_HAS_FP_MADD3_MSUB3): Remove.
3249 (ISA_HAS_NMADD4_NMSUB4): Remove.
3250 (ISA_HAS_NMADD3_NMSUB3): Remove.
3251 (ISA_HAS_FUSED_MADD4): New.
3252 (ISA_HAS_UNFUSED_MADD4): New.
3253 (ISA_HAS_FUSED_MADDF): New.
3254 (ISA_HAS_FUSED_MADD3): New.
3255 * config/mips/mips.md: (fma<mode>4) Change from insn to expand.
3256 (*fma<mode>4_madd3) New.
3257 (*fma<mode>4_madd4) New.
3258 (*fma<mode>4_maddf) New.
3259 (fms<mode>4) New.
3260 (*fms<mode>4_msub3) New.
3261 (*fms<mode>4_msub4) New.
3262 (fnma<mode>4) New.
3263 (*fnma<mode>4_nmadd3) New.
3264 (*fnma<mode>4_nmadd4) New.
3265 (fnms<mode>4) New.
3266 (*fnms<mode>4_nmsub3) New.
3267 (*fnms<mode>4_nmsub4) New.
3268 (*madd4<mode>) Modify to be unfused only.
3269 (*msub4<mode>) Modify to be unfused only.
3270 (*nmadd4<mode>) Modify to be unfused only.
3271 (*nmsub4<mode>) Modify to be unfused only.
3272 (*madd3<mode>) Remove.
3273 (*msub3<mode>) Remove.
3274 (*nmadd3<mode>) Remove.
3275 (*nmsub3<mode>) Remove.
3276 (*nmadd3<mode>_fastmath) Remove.
3277 (*nmsub3<mode>_fastmath) Remove.
3278 (*nmadd4<mode>_fastmath) Update condition.
3279 (*nmsub4<mode>_fastmath) Update condition.
3280
3281 2015-07-06 Alan Lawrence <alan.lawrence@arm.com>
3282
3283 PR target/65956
3284 * config/arm/arm.c (arm_needs_doubleword_align): Drop any outer
3285 alignment attribute, exploring one level down for records and arrays.
3286
3287 2015-07-06 Uros Bizjak <ubizjak@gmail.com>
3288
3289 * config/i386/i386.md (extv<mode>): Rename from extv. Use SWI24
3290 modes for operands 0 and 1. Use SImode for operands 2 and 3.
3291 Copy operand 1 to a temporary if !ext_register_operand. Remove
3292 ancient extract_bit_field workaround.
3293 (*extv<mode>): Rename from *mov<mode>_extv_1.
3294 (*extvqi): Rename from *movqi_extv_1.
3295 (extzv<mode>): Rename from extzv. Use SWI248 modes for
3296 operands 0 and 1. Use SImode for operands 2 and 3. Copy operand 1
3297 to a temporary if !ext_register_operand. Remove ancient
3298 extract_bit_field workaround.
3299 (*extzv<mode>): Rename from *mov<mode>_extzv_1.
3300 (*extzvqi): Rename from *movqi_extzv_2.
3301 (*testqi_ext_3): Remove modes from const_int_operand predicated
3302 operands. Add "n" constraint.
3303 (*btsq, *btrq, *btcq): Remove mode from const_0_to_63 predicated
3304 operand. Add "J" constraint.
3305 (*btsq, *btrq, *btcq peephole2s): Remove mode from
3306 const_0_to_63 predicated operand.
3307 (regmode): New insn attribute.
3308 (*bt<mode>): Use SImode for operand 1. Change operand 1 predicate
3309 to nonmemory_operand. Use regmode insn attribute.
3310 (*jcc_bt<mode>_1): Convert operand 2 to SImode.
3311 (*jcc_bt<mode>_mask): Remove mode from operand 3.
3312 (*jcc_btsi_1, *jcc_btsi_mask_1): Remove patterns.
3313 (tbm_bextri_<mode>): Remove modes from const_0_to_255 predicated
3314 operands. Use "N" constraint instead of "n".
3315
3316 2015-07-06 Alan Lawrence <alan.lawrence@arm.com>
3317
3318 * config/arm/arm.md (movdi): Avoid odd-number ldrd/strd in ARM state.
3319
3320 2015-07-06 H.J. Lu <hongjiu.lu@intel.com>
3321
3322 PR target/66749
3323 * config/i386/i386.c (iamcu_cost): New.
3324 (m_IAMCU): Likewise.
3325 (initial_ix86_arch_features): Disable X86_ARCH_CMOV for m_IAMCU.
3326 (processor_target_table): Add an entry for "iamcu".
3327 (processor_alias_table): Likewise.
3328 (ix86_issue_rate): Handle PROCESSOR_IAMCU.
3329 (ix86_adjust_cost): Likewise.
3330 (ia32_multipass_dfa_lookahead): Likewise.
3331 * config/i386/i386.h (processor_type): Add PROCESSOR_IAMCU.
3332 * config/i386/x86-tune.def: Updated for m_IAMCU.
3333
3334 2015-07-06 Richard Biener <rguenther@suse.de>
3335
3336 PR tree-optimization/66772
3337 * tree-ssa-ccp.c (ccp_visit_phi_node): Make sure that copy
3338 values are available in the PHI node BB when there are
3339 still unexecutable edges.
3340
3341 2015-07-06 Richard Biener <rguenther@suse.de>
3342
3343 PR tree-optimization/66767
3344 * tree-vect-loop-manip.c (vect_create_cond_for_align_checks):
3345 Make sure to build the alignment test on a SSA name without
3346 final alignment info valid only if the alignment test
3347 evaluates to true.
3348
3349 2015-07-06 Bernd Schmidt <bernds@codesourcery.com>
3350
3351 PR target/66620
3352 * config/bfin/bfin.c (hwloop_optimize): Create new bb between jump and
3353 loop start when inserting LSETUP.
3354
3355 2015-07-06 H.J. Lu <hongjiu.lu@intel.com>
3356
3357 PR target/53383
3358 * config/i386/i386.c (ix86_option_override_internal): Allow
3359 -mincoming-stack-boundary=3 for 64-bit if SSE is disabled.
3360
3361 2015-07-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3362
3363 * read-md.c (decimal_string): Rename to ...
3364 (md_decimal_string): ... this.
3365 (handle_enum): Reflect this.
3366
3367 2015-07-06 Szabolcs Nagy <szabolcs.nagy@arm.com>
3368
3369 PR target/66731
3370 * config/aarch64/aarch64.md (fnmul<mode>3): Handle -frounding-math.
3371
3372 2015-07-06 Richard Biener <rguenther@suse.de>
3373
3374 PR middle-end/66759
3375 * match.pd: Add missing constraint of y to REAL_CST in
3376 REAL_CST - x CMP y to y - CST CMP x simplification.
3377
3378 2015-07-06 Eric Botcazou <ebotcazou@adacore.com>
3379
3380 PR tree-optimization/66757
3381 * match.pd: Add missing condition to ~X ^ C -> X ^ ~C.
3382
3383 2015-07-05 Chung-Lin Tang <cltang@codesourcery.com>
3384 Sandra Loosemore <sandra@codesourcery.com>
3385
3386 * config/nios2/nios2-protos.h (nios2_symbol_ref_in_small_data_p):
3387 Delete extern declaration.
3388 (gprel_constant_p): Add extern declaration.
3389 * config/nios2/constraints.md ("S"): Use gprel_constant_p
3390 instead of nios2_symbol_ref_in_small_data_p.
3391 * config/nios2/nios2.c (nios2_legitimate_address_p): Likewise.
3392 (nios2_symbol_ref_in_small_data_p): Make static.
3393 (gprel_constant_p): Make non-static.
3394
3395 2015-07-05 Gerald Pfeifer <gerald@pfeifer.com>
3396
3397 * doc/fragments.texi (Target Fragment): Convert debian.org
3398 link to use https.
3399 * doc/install.texi (Configuration): Ditto.
3400
3401 2015-07-05 Jakub Jelinek <jakub@redhat.com>
3402
3403 PR tree-optimization/66718
3404 * tree-vect-stmts.c (vectorizable_call): Replace uses of
3405 GOMP_SIMD_LANE outside of loop with vf - 1 rather than 0.
3406
3407 PR tree-optimization/66718
3408 * tree-vect-stmts.c (vectorizable_assignment, vectorizable_store,
3409 vectorizable_load, vectorizable_condition): Move vectype,
3410 nunits, ncopies computation after checking what kind of statement
3411 stmt is.
3412
3413 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
3414
3415 * target-insns.def (extv, extzv, insv): New targetm instruction
3416 patterns.
3417 * optabs.c (get_extraction_insn): Use them instead of HAVE_*/gen_*
3418 interface.
3419 * recog.c (simplify_while_replacing): Likewise.
3420
3421 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
3422
3423 * target-insns.def (doloop_begin, doloop_end): New targetm
3424 instruction patterns.
3425 * loop-init.c: Include target.h.
3426 (pass_loop2::gate): Use the new targetm patterns instead of
3427 HAVE_*/gen_* interface.
3428 (pass_rtl_doloop::gate): Likewise.
3429 (pass_rtl_doloop::execute): Remove preprocessor condition.
3430 * hw-doloop.c: Build unconditionally.
3431 * loop-doloop.c: Likewise.
3432 (doloop_optimize): Use the new targetm patterns instead of
3433 HAVE_*/gen_* interface.
3434 (doloop_modify): Likewise. Change type of doloop_seq to rtx_insn *.
3435 * modulo-sched.c (doloop_register_get): Likewise.
3436
3437 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
3438
3439 * target-insns.def (clear_cache): New targetm instruction pattern.
3440 * builtins.c (expand_builtin___clear_cache): Use it instead of
3441 HAVE_*/gen_* interface.
3442
3443 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
3444
3445 * target-insns.def (allocate_stack, check_stack, probe_stack)
3446 (probe_stack_address, split_stack_prologue, split_stack_space_check):
3447 New targetm instruction patterns.
3448 * explow.c (allocate_dynamic_stack_space): Use them instead of
3449 HAVE_*/gen_* interface.
3450 (emit_stack_probe): Likewise.
3451 (probe_stack_range): Likewise.
3452 * function.c (thread_prologue_and_epilogue_insns): Likewise.
3453
3454 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
3455
3456 * target-insns.def (stack_protect_set, stack_protect_test): New
3457 targetm instruction patterns.
3458 * cfgexpand.c (stack_protect_prologue): Use them instead of
3459 HAVE_*/gen_* interface.
3460 * function.c (stack_protect_epilogue): Likewise.
3461
3462 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
3463
3464 * expr.h (gen_move_insn_uncast): Delete.
3465 * expr.c (gen_move_insn_uncast): Delete.
3466
3467 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
3468
3469 * target-insns.def (restore_stack_block, restore_stack_function)
3470 (restore_stack_nonlocal, save_stack_block, save_stack_function)
3471 (save_stack_nonlocal): New targetm instruction patterns.
3472 * builtins.c (expand_builtin_apply): Use them instead of
3473 HAVE_*/gen_* interface.
3474 * explow.c (emit_stack_save, emit_stack_restore): Likewise.
3475
3476 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
3477
3478 * target-insns.def (trap): New targetm instruction pattern.
3479 * builtins.c (expand_builtin_trap): Use it instead of HAVE_*/gen_*
3480 interface.
3481 * explow.c (allocate_dynamic_stack_space): Likewise.
3482 * ifcvt.c (find_if_header): Likewise.
3483
3484 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
3485
3486 * target-insns.def (prefetch): New targetm instruction pattern.
3487 * tree-ssa-loop-prefetch.c: Include targeth.
3488 (tree_ssa_prefetch_arrays): Use prefetch targetm pattern instead
3489 of HAVE_*/gen_* interface.
3490 * builtins.c (expand_builtin_prefetch): Likewise.
3491 * toplev.c (process_options): Likewise.
3492
3493 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
3494
3495 * target-insns.def (untyped_call, untyped_return): New targetm
3496 instruction patterns.
3497 * builtins.c (expand_builtin_apply): Use them instead of
3498 HAVE_*/gen_* interface.
3499 (result_vector): Define unconditionally.
3500
3501 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
3502
3503 * target-insns.def (builtin_longjmp, builtin_setjmp_receiver)
3504 (builtin_setjmp_setup, exception_receiver, nonlocal_goto)
3505 (nonlocal_goto_receiver): New targetm instruction patterns.
3506 * builtins.c (expand_builtin_setjmp_setup): Use them instead
3507 of HAVE_*/gen_* interface.
3508 (expand_builtin_setjmp_receiver): Likewise.
3509 (expand_builtin_longjmp, expand_builtin_nonlocal_goto): Likewise.
3510 * except.c (expand_dw2_landing_pad_for_region): Likewise.
3511
3512 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
3513
3514 * target.def: Add code_for_* hooks.
3515 * gentarget-def.c (def_target_insn): Add TARGET_CODE_FOR_* macros.
3516 * defaults.h (HAVE_tablejump, gen_tablejump): Delete.
3517 * target-insns.def (casesi, tablejump): New targetm instruction
3518 patterns.
3519 * expr.c (try_casesi): Use them instead of HAVE_*/gen_* interface.
3520 (do_tablejump): Likewise.
3521 * stmt.c (expand_switch_as_decision_tree_p): Likewise.
3522 (expand_sjlj_dispatch_table): Likewise.
3523 * targhooks.c (default_case_values_threshold): Likewise.
3524
3525 2015-07-04 Sandra Loosemore <sandra@codesourcery.com>
3526
3527 * config/nios2/nios2.c (save_reg, restore_reg): Use plus_constant.
3528 Use rtx_insn * instead of rtx.
3529 (nios2_emit_add_constant): Use rtx_insn * instead of rtx.
3530 (nios2_expand_prologue, nios2_expand_epilogue): Likewise.
3531 (nios2_call_tls_get_addr): Likewise.
3532 (nios2_emit_expensive_div): Likewise.
3533 (nios2_emit_move_sequence): Change return type to bool.
3534 * config/nios2/nios2-protos.h (nios2_emit_move_sequence):
3535 Change return type to bool.
3536
3537 2015-07-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
3538
3539 PR target/66747
3540 * config/mips/mips.c (mips_find_gp_ref): Handle instruction sequences.
3541
3542 2015-07-04 John David Anglin <danglin@gcc.gnu.org>
3543
3544 PR target/66114
3545 * config/pa/pa.md (indirect_jump): Use pmode_register_operand instead
3546 of register_operand. Remove constraint.
3547
3548 2015-07-04 Marc Glisse <marc.glisse@inria.fr>
3549
3550 * tree-cfg.c (verify_gimple_assign_ternary) <VEC_COND_EXPR>: Check
3551 the first argument.
3552
3553 2015-07-03 Paolo Carlini <paolo.carlini@oracle.com>
3554
3555 * attribs.c (decl_attributes): Guard inform with the return value
3556 of the preceding warning.
3557
3558 2015-07-03 James Greenhalgh <james.greenhalgh@arm.com>
3559
3560 * doc/invoke.texi (moverride): Move to correct section.
3561
3562 2015-07-03 Richard Biener <rguenther@suse.de>
3563
3564 * genmatch.c (commutative_tree_code, commutative_ternary_tree_code):
3565 Copy from tree.c
3566 (dt_operand::gen_gimple_expr): After valueizing operands
3567 re-canonicalize operand order for commutative tree codes.
3568
3569 2015-07-03 H.J. Lu <hongjiu.lu@intel.com>
3570
3571 PR target/66746.
3572 * config/i386/ia32intrin.h (__crc32b): Don't define if __iamcu__
3573 is defined.
3574 (__crc32w): Likewise.
3575 (__crc32d): Likewise.
3576 (__rdpmc): Likewise.
3577 (__rdtscp): Likewise.
3578 (_rdpmc): Likewise.
3579 (_rdtscp): Likewise.
3580 * config/i386/x86intrin.h: Only include ia32intrin.h if __iamcu__
3581 is defined.
3582
3583 2015-07-03 Richard Biener <rguenther@suse.de>
3584
3585 * fold-const.c (fold_mathfn_compare): Remove.
3586 (fold_inf_compare): Likewise.
3587 (fold_comparison): Move floating point comparison simplifications...
3588 * match.pd: ... to patterns here. Introduce simple_comparisons
3589 operator list and use it for patterns formerly in fold_comparison.
3590
3591 2015-07-03 James Greenhalgh <james.greenhalgh@arm.com>
3592
3593 PR tree-optimization/66119
3594 * toplev.c (process_options): Don't set up default values for
3595 the sra_max_scalarization_size_{speed,size} parameters.
3596 * tree-sra (analyze_all_variable_accesses): If no values
3597 have been set for the sra_max_scalarization_size_{speed,size}
3598 parameters, call get_move_ratio to get target defaults.
3599
3600 2015-07-03 Richard Biener <rguenther@suse.de>
3601
3602 * fold-const.c (fold_binary_loc): Move (T)ptr & CST folding...
3603 * match.pd: ... here.
3604
3605 2015-07-03 Gerald Pfeifer <gerald@pfeifer.com>
3606
3607 PR target/37072
3608 * doc/invoke.texi (i386 and x86-64 Options): -mno-fancy-math-387
3609 is not actually the default on FreeBSD.
3610
3611 2015-07-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3612
3613 * config/rs6000/rs6000-builtin.def (CMPGE_16QI): New built-in
3614 definition.
3615 (CMPGE_8HI): Likewise.
3616 (CMPGE_4SI): Likewise.
3617 (CMPGE_2DI): Likewise.
3618 (CMPGE_U16QI): Likewise.
3619 (CMPGE_U8HI): Likewise.
3620 (CMPGE_U4SI): Likewise.
3621 (CMPGE_U2DI): Likewise.
3622 (CMPLE_16QI): Likewise.
3623 (CMPLE_8HI): Likewise.
3624 (CMPLE_4SI): Likewise.
3625 (CMPLE_2DI): Likewise.
3626 (CMPLE_U16QI): Likewise.
3627 (CMPLE_U8HI): Likewise.
3628 (CMPLE_U4SI): Likewise.
3629 (CMPLE_U2DI): Likewise.
3630 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
3631 overloads for ALTIVEC_BUILTIN_VEC_CMPGE and
3632 ALTIVEC_BUILTIN_VEC_CMPLE.
3633 * config/rs6000/vector.md (vector_ge<mode>): Restrict to
3634 floating-point vector modes.
3635 (vector_nlt<mode>): New define_expand.
3636 (vector_nltu<mode>): Likewise.
3637 (vector_ngt<mode>): Likewise.
3638 (vector_ngtu<mode>): Likewise.
3639
3640 2015-07-02 Segher Boessenkool <segher@kernel.crashing.org>
3641
3642 PR rtl-optimization/66706
3643 * combine.c (make_compound_operation): If an AND of SUBREG of
3644 LSHIFTRT does not simplify, see if just the AND of SUBREG does.
3645
3646 2015-07-02 Alan Lawrence <alan.lawrence@arm.com>
3647
3648 * tree-pass.h (make_pass_ch_vect): New.
3649 * passes.def: Add pass_ch_vect just before pass_if_conversion.
3650
3651 * tree-ssa-loop-ch.c (ch_base, pass_ch_vect, pass_data_ch_vect,
3652 pass_ch::process_loop_p, pass_ch_vect::process_loop_p,
3653 make_pass_ch_vect): New.
3654 (pass_ch): Extend ch_base.
3655
3656 (pass_ch::execute): Move all but loop_optimizer_init/finalize to...
3657 (ch_base::copy_headers): ...here.
3658
3659 2015-07-02 Richard Biener <rguenther@suse.de>
3660
3661 * builtins.c (get_pointer_alignment_1): Handle POINTER_PLUS_EXPR.
3662 * fold-const.c (get_pointer_modulus_and_residue): Remove.
3663 (fold_binary_loc): Implement (T)ptr & CST in terms of
3664 get_pointer_alignment_1.
3665 * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop):
3666 Make sure to build the alignment test on a SSA name without
3667 final alignment info valid only after the prologue.
3668
3669 2015-07-02 Hans-Peter Nilsson <hp@axis.com>
3670
3671 * config/cris/cris.md ("epilogue"): Remove condition.
3672 ("prologue"): Ditto.
3673
3674 2015-07-02 Richard Biener <rguenther@suse.de>
3675
3676 * tree-ssa-dom.c (build_and_record_new_cond): Add optional
3677 parameter to record a condition that is false.
3678 (record_conditions): When recording an extra NE_EXPR that is
3679 true also record a EQ_EXPR that is false.
3680
3681 2015-07-02 Bin Cheng <bin.cheng@arm.com>
3682
3683 * tree-ssa-loop-ivopts.c (struct ivopts_data): New field iv_obstack.
3684 (tree_ssa_iv_optimize_init): Initialize iv_obstack.
3685 (alloc_iv): New parameter. Allocate struct iv using obstack_alloc.
3686 (set_iv, find_interesting_uses_address, add_candidate_1): New
3687 argument to alloc_iv.
3688 (find_interesting_uses_op, find_interesting_uses_cond): Don't
3689 duplicate struct iv.
3690 (free_loop_data): Don't free struct iv explicitly.
3691 (tree_ssa_iv_optimize_finalize): Free iv_obstack.
3692
3693 2015-07-01 DJ Delorie <dj@redhat.com>
3694
3695 * config/s390/tpf.h (LIBSTDCXX): Change to CPP1.
3696 (LIB_SPEC): Add.
3697 (SUPPORTS_DISCRIMINATOR): Define.
3698
3699 2015-07-01 Richard Sandiford <richard.sandiford@arm.com>
3700
3701 PR bootstrap/66685
3702 * rtl.c (classify_insn): Only return JUMP_INSN for parallel returns if
3703 there are no CALLs in the same pattern.
3704
3705 2015-07-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
3706
3707 PR rtl-optimization/61047
3708 * rtlanal.c (get_initial_register_offset): New function.
3709 (rtx_addr_can_trap_p_1): Check offsets of stack references.
3710
3711 2015-07-01 Richard Biener <rguenther@suse.de>
3712
3713 * fold-const.c (fold_comparison): Move X - Y CMP 0 -> X CMP Y,
3714 X * C1 CMP 0 -> X CMP 0, X CMP X, ~X CMP ~Y -> Y CMP X and
3715 ~X CMP C -> X CMP' ~C to ...
3716 * match.pd: ... patterns here.
3717
3718 2015-07-01 Nick Clifton <nickc@redhat.com>
3719
3720 * config/msp430/msp430.md (zero_extendhipsi2): Use MOVX.A to store
3721 a 16-bit value into a 20-bit memory slot.
3722
3723 2015-07-01 Jiong Wang <jiong.wang@arm.com>
3724
3725 * doc/sourcebuild.texi (AArch64-specific attributes): Document
3726 "aarch64_tiny", "aarch64_small", "aarch64_large",
3727 "aarch64_little_endian", "aarch64_big_endian".
3728
3729 2015-07-01 Jiong Wang <jiong.wang@arm.com>
3730
3731 * doc/sourcebuild.texi (AArch64-specific attributes): New subsection.
3732 Document "aarch64_small_fpic".
3733
3734 2015-07-01 Jiong Wang <jiong.wang@arm.com>
3735
3736 * configure.ac: Add check for aarch64 assembler -fpic relocation
3737 modifier support.
3738 * configure: Regenerate.
3739 * config.in: Regenerate.
3740 * config/aarch64/aarch64.c (initialize_aarch64_code_model): Fall back
3741 to -fPIC if not support of -fpic relocation modifier in assembler.
3742
3743 2015-07-01 Richard Sandiford <richard.sandiford@arm.com>
3744
3745 PR bootstrap/66685
3746 * rtl.c (classify_insn): Handle returns in PARALLELs.
3747
3748 2015-07-01 Eric Botcazou <ebotcazou@adacore.com>
3749
3750 PR middle-end/66633
3751 * tree-nested.c (convert_nonlocal_omp_clauses): Initialize need_chain
3752 to true if the function is nested and if not optimizing.
3753 (convert_local_omp_clauses): Initialize need_frame to true if the
3754 function contains nested functions and if not optimizing.
3755
3756 2015-07-01 Richard Biener <rguenther@suse.de>
3757
3758 * fold-const.c (fold_binary_loc): Move ~X ^ X -> -1 and
3759 (X & Y) ^ Y -> ~X & Y transforms to ...
3760 * match.pd: ... here.
3761
3762 2015-07-01 Richard Biener <rguenther@suse.de>
3763
3764 * genmatch.c (expr::gen_transform): Shortcut re-simplifying
3765 of converts to avoid uninteresting noise from the conversion
3766 simplifying patterns.
3767
3768 2015-06-30 Sandra Loosemore <sandra@codesourcery.com>
3769
3770 * config/c6x/c6x.c (try_rename_operands): Do not depend on
3771 gcc_assert evaluating its argument for side-effect.
3772
3773 2015-06-30 Kaz Kojima <kkojima@gcc.gnu.org>
3774
3775 PR target/64833
3776 * config/sh/sh.md (casesi_worker_1): Set length to 8 when
3777 flag_pic is set.
3778
3779 2015-06-30 Eric Botcazou <ebotcazou@adacore.com>
3780
3781 * lto-streamer-out.c (class DFS): Adjust hash_scc method.
3782 (DFS::DFS): Pass this_ref_p and ref_p to hash_scc.
3783 (hash_scc): Add this_ref_p and ref_p parameters and pass them
3784 to the inner DFS walk.
3785
3786 2015-06-30 Richard Sandiford <richard.sandiford@arm.com>
3787
3788 * target-insns.def (jump): New targetm instruction pattern.
3789 * bb-reorder.c (get_uncond_jump_length): Use targetm.gen_jump
3790 instead of gen_jump.
3791 (fix_up_crossing_landing_pad): Likewise.
3792 (add_labels_and_missing_jumps): Likewise.
3793 (fix_crossing_conditional_branches): Likewise.
3794 * cfgrtl.c (try_redirect_by_replacing_jump): Likewise.
3795 (force_nonfallthru_and_redirect): Likewise.
3796 * cse.c (cse_insn): Likewise.
3797 * expmed.c (expand_divmod): Likewise.
3798 * expr.c (store_expr_with_bounds, expand_expr_real_2): Likewise.
3799 * haifa-sched.c (init_before_recovery): Likewise.
3800 (sched_create_recovery_edges): Likewise.
3801 * ifcvt.c (find_cond_trap): Likewise.
3802 * optabs.c (expand_doubleword_shift, expand_doubleword_clz): Likewise.
3803 (expand_float, expand_fix): Likewise.
3804 * stmt.c (emit_jump): Likewise.
3805
3806 2015-06-30 Richard Sandiford <richard.sandiford@arm.com>
3807
3808 * defaults.h (HAVE_load_multiple, gen_load_multiple)
3809 (HAVE_store_multiple, gen_store_multiple): Delete.
3810 * target-insns.def (load_multiple, store_multiple): New targetm
3811 instruction patterns.
3812 * expr.c (move_block_to_reg, move_block_from_reg): Use them instead
3813 of HAVE_*/gen_* interface.
3814
3815 2015-06-30 Richard Sandiford <richard.sandiford@arm.com>
3816
3817 * defaults.h (HAVE_mem_thread_fence, gen_mem_thread_fence)
3818 (HAVE_memory_barrier, gen_memory_barrier, HAVE_mem_signal_fence)
3819 (gen_mem_signal_fence): Delete.
3820 * target-insns.def (mem_signal_fence, mem_thread_fence)
3821 (memory_barrier): New targetm instruction patterns.
3822 * optabs.c (expand_mem_thread_fence): Use them instead of HAVE_*/gen_*
3823 interface.
3824 (expand_mem_signal_fence): Likewise.
3825
3826 2015-06-30 Richard Sandiford <richard.sandiford@arm.com>
3827
3828 * defaults.h (HAVE_epilogue, gen_epilogue): Delete.
3829 * target-insns.def (epilogue, prologue, sibcall_prologue): New
3830 targetm instruction patterns.
3831 * alias.c (init_alias_analysis): Use them instead of HAVE_*/gen_*
3832 interface.
3833 * calls.c (expand_call): Likewise.
3834 * cfgrtl.c (cfg_layout_finalize): Likewise.
3835 * df-scan.c (df_get_entry_block_def_set): Likewise.
3836 (df_get_exit_block_use_set): Likewise.
3837 * dwarf2cfi.c (pass_dwarf2_frame::gate): Likewise.
3838 * final.c (final_start_function): Likewise.
3839 * function.c (thread_prologue_and_epilogue_insns): Likewise.
3840 (reposition_prologue_and_epilogue_notes): Likewise.
3841 * reorg.c (find_end_label): Likewise.
3842 * toplev.c (process_options): Likewise.
3843
3844 2015-06-30 David Malcolm <dmalcolm@redhat.com>
3845
3846 * typed-splay-tree.h: New file.
3847
3848 2015-06-30 Vladimir Makarov <vmakarov@redhat.com>
3849
3850 PR debug/66691
3851 * lra-int.h (lra_substitute_pseudo): Add a parameter.
3852 (lra_substitute_pseudo_within_insn): Ditto.
3853 * lra.c (lra_substitute_pseudo): Add a parameter. Simplify subreg
3854 of constant.
3855 (lra_substitute_pseudo_within_insn): Add a parameter. Transfer it
3856 to lra_substitute_pseudo.
3857 * lra-lives.c (process_bb_lives): Add an argument to
3858 lra_substitute_pseudo_within_insn call.
3859 * lra-constraints.c (inherit_reload_reg, split_reg): Add an
3860 argument to lra_substitute_pseudo and
3861 lra_substitute_pseudo_within_insn calls.
3862 (remove_inheritance_pseudos, undo_optional_reloads): Ditto.
3863
3864 2015-06-30 H.J. Lu <hongjiu.lu@intel.com>
3865
3866 * configure: Regenerated.
3867
3868 2015-06-30 H.J. Lu <hongjiu.lu@intel.com>
3869
3870 * config.gcc: Support i[34567]86-*-elfiamcu target.
3871 * config/i386/iamcu.h: New.
3872 * config/i386/i386.opt: Add -miamcu.
3873 * doc/invoke.texi: Document -miamcu.
3874 * common/config/i386/i386-common.c (ix86_handle_option): Turn
3875 off x87/MMX/SSE/AVX codegen for -miamcu.
3876 * config/i386/i386-c.c (ix86_target_macros_internal): Define
3877 __iamcu/__iamcu__ for -miamcu.
3878 * config/i386/i386.h (PREFERRED_STACK_BOUNDARY_DEFAULT): Set
3879 to MIN_STACK_BOUNDARY if TARGET_IAMCU is true.
3880 (BIGGEST_ALIGNMENT): Set to 32 if TARGET_IAMCU is true.
3881 * config/i386/i386.c (ix86_option_override_internal): Ignore and
3882 warn -mregparm for Intel MCU. Turn on -mregparm=3 for Intel
3883 MCU by default. Default long double to 64-bit for Intel MCU.
3884 Turn on -freg-struct-return for Intel MCU. Issue an error when
3885 -miamcu is used in 64-bit or x32 mode or if x87, MMX, SSE or
3886 AVX is turned on.
3887 (function_arg_advance_32): Pass value whose size is no larger
3888 than 8 bytes in registers for Intel MCU.
3889 (function_arg_32): Likewise.
3890 (ix86_return_in_memory): Return value whose size is no larger
3891 than 8 bytes in registers for Intel MCU.
3892 (iamcu_alignment): New function.
3893 (ix86_data_alignment): Call iamcu_alignment if TARGET_IAMCU is
3894 true.
3895 (ix86_local_alignment): Don't increase alignment for Intel MCU.
3896 (x86_field_alignment): Return iamcu_alignment if TARGET_IAMCU is
3897 true.
3898
3899 2015-06-30 Marek Polacek <polacek@redhat.com>
3900
3901 * match.pd (X - (X / Y) * Y): Use convert1 and convert2. Convert
3902 both operands of the resulting expression.
3903
3904 * match.pd (~x | x): Don't use tree_nop_conversion_p. Build
3905 the final expression with the operand's type and then convert
3906 it to the type of the expression.
3907
3908 2015-06-30 Richard Biener <rguenther@suse.de>
3909
3910 * fold-const.c (fold_binary_loc): Move ~x & ~y -> ~(x | y) and
3911 ~x | ~y -> ~(x & y), (x & CST) ^ (x & CST2) -> (x & CST) | (x & CST2),
3912 (X | Y) ^ X -> Y & ~ X, ~X ^ ~Y to X ^ Y and ~X ^ C to X ^ ~C ...
3913 * match.pd: ... to patterns here.
3914
3915 2015-06-30 Richard Biener <rguenther@suse.de>
3916
3917 PR tree-optimization/66704
3918 * tree-vect-data-refs.c (vect_setup_realignment): Use
3919 make_ssa_name for non-SSA name source.
3920
3921 2015-06-30 Jakub Jelinek <jakub@redhat.com>
3922
3923 PR middle-end/66702
3924 * omp-low.c (simd_clone_adjust): Handle addressable linear
3925 or uniform parameters or non-gimple type uniform parameters.
3926
3927 2015-06-30 Richard Biener <rguenther@suse.de>
3928
3929 * fold-const.c (fold_unary_loc): Move abs(abs(x)) -> abs(x),
3930 ~ (-A) to A - 1, ~ (A - 1) or ~ (A + -1) to -A and some cases of
3931 ~(X ^ Y) to ~X ^ Y or X ^ ~Y if ~X or ~Y simplify to ...
3932 * match.pd: ... here.
3933 Add a few cases of A - B -> A + (-B) when B "easily" negates.
3934 Move (x & y) | x -> x and friends before
3935 (x | CST1) & CST2 -> (x & CST2) | (CST1 & CST2).
3936
3937 2015-06-30 Eric Botcazou <ebotcazou@adacore.com>
3938
3939 * config/sparc/leon.md (leon_load): Enable for all LEON variants if
3940 -mfix-ut699 is not specified.
3941 (leon3_load): Rename into...
3942 (ut699_load): ...this. Enable for all LEON variants if -mfix-ut699
3943 is specified.
3944
3945 2015-06-30 Marek Polacek <polacek@redhat.com>
3946
3947 * fold-const.c (fold_binary_loc): Move ~X | X folding ...
3948 * match.pd: ... here.
3949
3950 2015-06-30 Richard Biener <rguenther@suse.de>
3951
3952 * target-insns.def (canonicalize_funcptr_for_compare): Add.
3953 * fold-const.c (build_range_check): Replace uses of
3954 HAVE_canonicalize_funcptr_for_compare.
3955 (fold_widened_comparison): Likewise.
3956 (fold_sign_changed_comparison): Likewise.
3957 * dojump.c: Include "target.h".
3958 (do_compare_and_jump): Replace uses of
3959 HAVE_canonicalize_funcptr_for_compare and
3960 gen_canonicalize_funcptr_for_compare.
3961 * expr.c (do_store_flag): Likewise.
3962
3963 2015-06-30 Tom de Vries <tom@codesourcery.com>
3964
3965 PR tree-optimization/66652
3966 * tree-parloops.c (try_transform_to_exit_first_loop_alt): Use
3967 max_loop_iterations to determine if nit + 1 overflows.
3968
3969 2015-06-30 Richard Biener <rguenther@suse.de>
3970
3971 * tree-vrp.c (register_edge_assert_for_2): Also register
3972 asserts for dominating conversion results.
3973
3974 2015-06-30 Bin Cheng <bin.cheng@arm.com>
3975
3976 * tree-ssa-loop-ivopts.c (record_sub_use): Don't reset ssa_name
3977 field in struct iv.
3978
3979 2015-06-29 Jack Howarth <howarth.at.gcc@gmail.com>
3980
3981 PR target/66509
3982 * configure.ac: Fix filds and fildq test for 64-bit.
3983 * configure: Regenerated.
3984
3985 2015-06-29 Nathan Sidwell <nathan@codesourcery.com>
3986
3987 * config/nvptx/nvptx.md (nvptx_reorg_subreg): New fn, broken out of ...
3988 (nvptx_reorg): Here. Keep the non-subreg pieces.
3989
3990 2015-06-29 H.J. Lu <hongjiu.lu@intel.com>
3991
3992 * config/gnu-user.h (GNU_USER_TARGET_ENDFILE_SPEC): Use
3993 PIE_SPEC and NO_PIE_SPEC if HAVE_LD_PIE is defined.
3994
3995 2015-06-29 Uros Bizjak <ubizjak@gmail.com>
3996
3997 * config/i386/i386.md (*jcc_1): Use %! in asm template.
3998 Set attribute "length_nobnd" instead of "length".
3999 (*jcc_2): Ditto.
4000 (jump): Ditto.
4001 (*jcc_1_bnd, *jcc_2_bnd, jump_bnd): Remove insn patterns.
4002
4003 2015-06-29 Sandra Loosemore <sandra@codesourcery.com>
4004
4005 * config/nios2/nios2.c (nios2_delegitimize_address): Make
4006 assert less restrictive.
4007
4008 2015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
4009
4010 PR fortran/66605
4011 * cgraphunit.c (cgraph_node::finalize_function): Do not call
4012 do_warn_unused_parameter.
4013 * function.c (do_warn_unused_parameter): Move from here.
4014 * function.h (do_warn_unused_parameter): Do not declare.
4015
4016 2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
4017
4018 PR target/65697
4019 * gcc.target/arm/armv-sync-comp-swap.c: New.
4020 * gcc.target/arm/armv-sync-op-acquire.c: New.
4021 * gcc.target/arm/armv-sync-op-full.c: New.
4022 * gcc.target/arm/armv-sync-op-release.c: New.
4023
4024 2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
4025
4026 PR target/65697
4027 * config/armc/arm.c (arm_split_compare_and_swap): For ARMv8, replace an
4028 initial acquire barrier with final barrier.
4029
4030 2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
4031
4032 PR target/65697
4033 * config/armc/arm.c (arm_split_atomic_op): For ARMv8, replace an
4034 initial acquire barrier with final barrier.
4035
4036 2015-06-29 Richard Henderson <rth@redhat.com>
4037
4038 * config/i386/constraints.md (Bf): New constraint.
4039 * config/i386/i386-c.c (ix86_target_macros): Define
4040 __GCC_ASM_FLAG_OUTPUTS__.
4041 * config/i386/i386.c (ix86_md_asm_adjust): Handle =@cc* constraints
4042 as flags outputs.
4043 * doc/extend.texi (FlagOutputOperands): Document them.
4044
4045 2015-06-29 Jiong Wang <jiong.wang@arm.com>
4046
4047 * config/arch64/aarch64.md (UNSPEC_TLSLE): New enumeration.
4048 * config/arch64/aarch64.md (tlsle_small): Rename to tlsle and use new
4049 unspec name.
4050 (tlsle_small_<mode>): Rename to tlsle_<mode> and use new unspec name.
4051 * config/arch64/aarch64-protos.h (arch64_symbol_type): Rename
4052 SYMBOL_SMALL_TPREL to SYMBOL_TLSLE.
4053 (aarch64_symbol_context): Ditto.
4054 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Ditto
4055 and use new pattern name.
4056 (aarch64_expand_mov_immediate): Ditto.
4057 (aarch64_print_operand): Ditto.
4058 (aarch64_classify_tls_symbol): Ditto.
4059
4060 2015-06-29 Marek Polacek <polacek@redhat.com>
4061 Marc Glisse <marc.glisse@inria.fr>
4062
4063 * fold-const.c (fold_binary_loc): Move X - (X / Y) * Y -> X % Y to ...
4064 * match.pd: ... pattern here.
4065
4066 2015-06-29 Tom de Vries <tom@codesourcery.com>
4067
4068 * tree-parloops.c (try_transform_to_exit_first_loop_alt): Simplify
4069 function structure.
4070
4071 2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
4072
4073 * doc/invoke.texi (Aarch64 Options, -march): Split out arch and
4074 feature description, split out the native option, add a link to
4075 the feature documentation, rearrange and slightly rewrite text.
4076 (Aarch64 options, -mcpu): Likewise.
4077 (Aarch64 options, Feature Modifiers): Add an anchor. Mention
4078 +rdma implies Adv. SIMD.
4079
4080 2015-06-29 Marek Polacek <polacek@redhat.com>
4081
4082 PR c/66322
4083 * function.c (stack_protect_epilogue): Remove a cast to int.
4084 * doc/invoke.texi: Update -Wswitch-bool description.
4085
4086 2015-06-29 Richard Biener <rguenther@suse.de>
4087
4088 * genmatch.c (add_operator): Treat ADDR_EXPR as atom.
4089 * fold-const.c (fold_binary_loc): Move &A - &B simplification
4090 via ptr_difference_const ...
4091 * match.pd: ... here.
4092 When matching (X ^ Y) == Y also match with swapped operands.
4093
4094 2015-06-29 Richard Biener <rguenther@suse.de>
4095
4096 * lto-streamer.h (LTO_major_version): Bump to 5.
4097
4098 2015-06-29 Richard Biener <rguenther@suse.de>
4099
4100 PR tree-optimization/66677
4101 * tree-vect-stmts.c (vect_transform_stmt): Make assert about
4102 STMT_VINFO_VEC_STMT clobbering less strict.
4103
4104 2015-06-29 Kugan Vivekanandarajah <kuganv@linaro.org>
4105
4106 PR middle-end/64130
4107 * tree-vrp.c (extract_range_from_binary_expr_1): For unsigned
4108 division, compute max and min when value ranges for dividend and
4109 divisor are available.
4110
4111 2015-06-28 Chung-Lin Tang <cltang@codesourcery.com>
4112 Sandra Loosemore <sandra@codesourcery.com>
4113
4114 * regrename.h (regrename_do_replace): Change to return bool.
4115 * regrename.c (rename_chains): Check return value of
4116 regname_do_replace.
4117 (regrename_do_replace): Re-validate the modified insns and
4118 return bool status.
4119 * config/aarch64/cortex-a57-fma-steering.c (rename_single_chain):
4120 Update to match rename_chains changes.
4121 * config/c6x/c6x.c (try_rename_operands): Assert that
4122 regrename_do_replace returns true.
4123
4124 2015-06-28 Uros Bizjak <ubizjak@gmail.com>
4125
4126 * config/i386/i386.md (<mode>_ldx): Do not zero-extend non-Pmode
4127 operand 2 here. Use copy_addr_to_reg to copy non-index
4128 register operand 2 to a temporary.
4129 (<mode>_stx): Ditto for operand 1.
4130 (*<mode>_ldx, *<mode>_stx): Remove enclosing parallel.
4131 * config/i386/i386.c (ix86_load_bounds): Zero-extend non-Pmode ptr here.
4132 (ix86_store_bounds): Ditto.
4133
4134 2015-06-27 Patrick Palka <ppalka@gcc.gnu.org>
4135
4136 * print-tree.c (print_node) [TREE_VEC]: Print its length.
4137
4138 2015-06-26 Andrew MacLeod <amacleod@redhat.com>
4139
4140 * gimple.c (gimple_call_set_fndecl): Remove.
4141 * gimple.h (gimple_call_set_fndecl): Relocate to gimple.h and call
4142 build1_loc directly instead of build_fold_addr_expr_loc.
4143
4144 2015-06-26 Richard Sandiford <richard.sandiford@arm.com>
4145
4146 * hash-map.h (hash_map::traverse): Use the definition of the
4147 Key typedef rather than the typedef itself.
4148
4149 2015-06-26 Martin Jambor <mjambor@suse.cz>
4150
4151 PR debug/66301
4152 * tree-ssa-pre.c (before_dom_children): Check that dump_file is not
4153 NULL instead of calling dump_enabled_p.
4154
4155 2015-06-26 James Greenhalgh <james.greenhalgh@arm.com>
4156
4157 * config/aarch64/aarch64.opt: (override): New.
4158 * doc/invoke.texi (override): Document.
4159 * config/aarch64/aarch64.c (aarch64_flag_desc): New
4160 (aarch64_fusible_pairs): Likewise.
4161 (aarch64_tuning_flags): Likewise.
4162 (aarch64_tuning_override_function): Likewise.
4163 (aarch64_tuning_override_functions): Likewise.
4164 (aarch64_parse_one_option_token): Likewise.
4165 (aarch64_parse_boolean_options): Likewise.
4166 (aarch64_parse_fuse_string): Likewise.
4167 (aarch64_parse_tune_string): Likewise.
4168 (aarch64_parse_one_override_token): Likewise.
4169 (aarch64_parse_override_string): Likewise.
4170 (aarch64_override_options): Parse the -override string if it
4171 is present.
4172
4173 2015-06-26 James Greenhalgh <james.greenhalgh@arm.com>
4174
4175 * config/aarch64/aarch64-protos.h (tune_params): Remove
4176 const from members.
4177 (aarch64_tune_params): Remove const, change to no longer be
4178 a pointer.
4179 * config/aarch64/aarch64.c (aarch64_tune_params): Remove const,
4180 change to no longer be a pointer, initialize to generic_tunings.
4181 (aarch64_min_divisions_for_recip_mul): Change dereference of
4182 aarch64_tune_params to member access.
4183 (aarch64_reassociation_width): Likewise.
4184 (aarch64_rtx_mult_cost): Likewise.
4185 (aarch64_address_cost): Likewise.
4186 (aarch64_branch_cost): Likewise.
4187 (aarch64_rtx_costs): Likewise.
4188 (aarch64_register_move_cost): Likewise.
4189 (aarch64_memory_move_cost): Likewise.
4190 (aarch64_sched_issue_rate): Likewise.
4191 (aarch64_builtin_vectorization_cost): Likewise.
4192 (aarch64_override_options): Take a copy of the selected tuning
4193 struct in to aarch64_tune_params, rather than just setting
4194 a pointer, change dereferences of aarch64_tune_params to member
4195 accesses.
4196 (aarch64_override_options_after_change): Change dereferences of
4197 aarch64_tune_params to member access.
4198 (aarch64_macro_fusion_p): Likewise.
4199 (aarch_macro_fusion_pair_p): Likewise.
4200 * config/aarch64/cortex-a57-fma-steering.c (gate): Likewise.
4201
4202 2015-06-26 James Greenhalgh <james.greenhalgh@arm.com>
4203
4204 * config/aarch64/aarch64.h (AARCH64_FL_USE_FMA_STEERING_PASS): Delete.
4205 (aarch64_tune_flags): Likewise.
4206 (AARCH64_TUNE_FMA_STEERING): Likewise.
4207 * config/aarch64/aarch64-cores.def (cortex-a57): Remove reference
4208 to AARCH64_FL_USE_FMA_STEERING_PASS.
4209 (cortex-a57.cortex-a53): Likewise.
4210 (cortex-a72): Use cortexa72_tunings.
4211 (cortex-a72.cortex-a53): Likewise.
4212 (exynos-m1): Likewise.
4213 * config/aarch64/aarch64-protos.h (tune_params): Add
4214 a field: extra_tuning_flags.
4215 * config/aarch64/aarch64-tuning-flags.def: New.
4216 * config/aarch64/aarch64-protos.h (AARCH64_EXTRA_TUNING_OPTION): New.
4217 (aarch64_extra_tuning_flags): Likewise.
4218 (aarch64_tune_params): Declare here.
4219 * config/aarch64/aarch64.c (generic_tunings): Set extra_tuning_flags.
4220 (cortexa53_tunings): Likewise.
4221 (cortexa57_tunings): Likewise.
4222 (thunderx_tunings): Likewise.
4223 (xgene1_tunings): Likewise.
4224 (cortexa72_tunings): New.
4225 * config/aarch64/cortex-a57-fma-steering.c: Include aarch64-protos.h.
4226 (gate): Check against aarch64_tune_params.
4227 * config/aarch64/t-aarch64 (cortex-a57-fma-steering.o): Depend on
4228 aarch64-protos.h.
4229
4230 2015-06-26 James Greenhalgh <james.greenhalgh@arm.com>
4231
4232 * config/aarch64/aarch64-fusion-pairs.def: New.
4233 * config/aarch64/aarch64-protos.h (aarch64_fusion_pairs): New.
4234 * config/aarch64/aarch64.c (AARCH64_FUSE_NOTHING): Move to
4235 aarch64_fusion_pairs.
4236 (AARCH64_FUSE_MOV_MOVK): Likewise.
4237 (AARCH64_FUSE_ADRP_ADD): Likewise.
4238 (AARCH64_FUSE_MOVK_MOVK): Likewise.
4239 (AARCH64_FUSE_ADRP_LDR): Likewise.
4240 (AARCH64_FUSE_CMP_BRANCH): Likewise.
4241
4242 2015-06-26 Jiong Wang <jiong.wang@arm.com>
4243
4244 * config/aarch64/aarch64-protos.h (aarch64_symbol_type): New type
4245 SYMBOL_SMALL_GOT_28K.
4246 * config/aarch64/aarch64.md: (ldr_got_small_<mode>): Support new GOT
4247 relocation modifiers.
4248 (unspec): New enum "UNSPEC_GOTMALLPIC28K.
4249 (ldr_got_small_28k_<mode>): New.
4250 (ldr_got_small_28k_sidi): New.
4251 * config/aarch64/iterators.md (got_modifier): New mode iterator.
4252 * config/aarch64/aarch64-otps.h (aarch64_code_model): New model.
4253 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Support
4254 SYMBOL_SMALL_GOT_28K.
4255 (aarch64_rtx_costs): Add costs for new instruction sequences.
4256 (initialize_aarch64_code_model): Initialize new model.
4257 (aarch64_classify_symbol): Recognize new model and new symbol classification.
4258 (aarch64_asm_preferred_eh_data_format): Support new model.
4259 (aarch64_load_symref_appropriately): Generate new instruction
4260 sequences for -fpic.
4261 (TARGET_USE_PSEUDO_PIC_REG): New definition.
4262 (aarch64_use_pseudo_pic_reg): New function.
4263
4264 2015-06-26 Jiong Wang <jiong.wang@arm.com>
4265
4266 * config/aarch64/aarch64-protos.h (aarch64_symbol_type): Rename
4267 SYMBOL_SMALL_GOT to SYMBOL_SMALL_GOT_4G.
4268 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Ditto.
4269 (aarch64_expand_mov_immediate): Ditto.
4270 (aarch64_print_operand): Ditto.
4271 (aarch64_classify_symbol): Ditto.
4272
4273 2015-06-26 Nathan Sidwell <nathan@codesourcery.com>
4274
4275 * config/nvptx/nvptx.md (call_operation): Remove unused variables.
4276
4277 2015-06-26 Bin Cheng <bin.cheng@arm.com>
4278
4279 PR bootstrap/66638
4280 * tree-ssa-loop-niter.c (loop_exits_before_overflow): Skip if
4281 assertion failed. Remove assertion itself.
4282
4283 2015-06-26 Richard Biener <rguenther@suse.de>
4284
4285 * fold-const.c (fold_binary_loc): Remove -A CMP -B -> A CMP B
4286 and -A CMP CST -> A CMP -CST which is redundant with a pattern
4287 in match.pd.
4288 Move (A | C) == D where C & ~D != 0 -> 0, (X ^ Y) ==/!= 0 -> X ==/!= Y,
4289 (X ^ Y) ==/!= {Y,X} -> {X,Y} ==/!= 0 and
4290 (X ^ C1) op C2 -> X op (C1 ^ C2) to ...
4291 * match.pd: ... patterns here.
4292
4293 2015-06-26 Marek Polacek <polacek@redhat.com>
4294
4295 * match.pd ((x | y) & ~(x & y) -> x ^ y,
4296 (x | y) & (~x ^ y) -> x & y): New patterns.
4297
4298 2015-06-26 Richard Sandiford <richard.sandiford@arm.com>
4299
4300 * rtl.h (emit): Add an optional boolean parameter to control
4301 whether barriers are emitted.
4302 * emit-rtl.c (emit): Likewise.
4303 * gensupport.c (get_emit_function): Return null rather than "emit".
4304 * genemit.c (gen_emit_seq): Handle the null return value.
4305 Don't emit barriers after the final instruction in the sequence.
4306 * gentarget-def.c (main): Don't emit barriers after the instruction.
4307
4308 2015-06-26 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
4309
4310 * config/arm/arm.c (arm_output_multireg_pop): Fix use of
4311 TARGET_UNIFIED_ASM.
4312
4313 2015-06-26 Richard Biener <rguenther@suse.de>
4314
4315 * match.pd: Allow associating FLOAT_TYPE_P when flag_associative_math.
4316
4317 2015-06-26 Richard Biener <rguenther@suse.de>
4318
4319 * match.pd: Allow (p +p off1) +p off2 to (p +p (off1 + off2))
4320 irrespective on whether the inner operation has a single use
4321 of both off are constant.
4322
4323 2015-06-26 Uros Bizjak <ubizjak@gmail.com>
4324 Segher Boessenkool <segher@kernel.crashing.org>
4325
4326 PR target/66412
4327 * config/i386/i386.md (various splitters): Use shallow_copy_rtx
4328 before doing PUT_MODE or PUT_CODE on operands to avoid
4329 in-place RTX modification.
4330
4331 2015-06-25 H.J. Lu <hongjiu.lu@intel.com>
4332
4333 * gentarget-def.c (def_target_insn): Cast return of strtol to
4334 unsigned int.
4335
4336 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
4337
4338 * gimple.h (gimple_call_set_fn): Move inline function.
4339 * gimple.c (gimple_call_set_fn): Relocate here.
4340
4341 2015-06-25 Oleg Endo <olegendo@gcc.gnu.org>
4342
4343 PR target/65979
4344 PR target/66611
4345 * config/sh/sh.md (tstsi_t peephole2): Use insn_invalid_p to check if
4346 the replacement insn will work.
4347
4348 2015-06-25 H.J. Lu <hongjiu.lu@intel.com>
4349
4350 * gcc.c (driver_handle_option): Validate -pie if PIE is enabled
4351 by default.
4352
4353 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
4354
4355 * function.h (ipa_opt_pass, ipa_opt_pass_d): Move forward declarations.
4356 * cgraph.h: Include ipa-ref.h and plugin-api.h.
4357 (ipa_opt_pass, ipa_opt_pass_d)): Relocate forward declarations here.
4358 (symtab_node::address_can_be_compared_p): Move function.
4359 * cgraph.c (symtab_node::address_can_be_compared_p): Relocate function
4360 definition here.
4361 * asan.c: Remove ipa-ref.h and plugin-api.h from include list.
4362 * auto-profile.c: Likewise.
4363 * bb-reorder.c: Likewise.
4364 * builtins.c: Likewise.
4365 * calls.c: Likewise.
4366 * cfgexpand.c: Likewise.
4367 * cgraphbuild.c: Likewise.
4368 * cgraphclones.c: Likewise.
4369 * cgraphunit.c: Likewise.
4370 * combine.c: Likewise.
4371 * coverage.c: Likewise.
4372 * data-streamer-in.c: Likewise.
4373 * data-streamer-out.c: Likewise.
4374 * data-streamer.c: Likewise.
4375 * dbxout.c: Likewise.
4376 * dwarf2out.c: Likewise.
4377 * except.c: Likewise.
4378 * expr.c: Likewise.
4379 * final.c: Likewise.
4380 * fold-const.c: Likewise.
4381 * ggc-page.c: Likewise.
4382 * gimple-fold.c: Likewise.
4383 * gimple-iterator.c: Likewise.
4384 * gimple-pretty-print.c: Likewise.
4385 * gimple-streamer-in.c: Likewise.
4386 * gimple-streamer-out.c: Likewise.
4387 * gimple.c: Likewise.
4388 * gimplify.c: Likewise.
4389 * ipa-chkp.c: Likewise.
4390 * ipa-comdats.c: Likewise.
4391 * ipa-cp.c: Likewise.
4392 * ipa-devirt.c: Likewise.
4393 * ipa-icf-gimple.c: Likewise.
4394 * ipa-icf.c: Likewise.
4395 * ipa-inline-analysis.c: Likewise.
4396 * ipa-inline-transform.c: Likewise.
4397 * ipa-inline.c: Likewise.
4398 * ipa-polymorphic-call.c: Likewise.
4399 * ipa-profile.c: Likewise.
4400 * ipa-prop.c: Likewise.
4401 * ipa-pure-const.c: Likewise.
4402 * ipa-ref.c: Likewise.
4403 * ipa-reference.c: Likewise.
4404 * ipa-split.c: Likewise.
4405 * ipa-utils.c: Likewise.
4406 * ipa-visibility.c: Likewise.
4407 * ipa.c: Likewise.
4408 * langhooks.c: Likewise.
4409 * lto-cgraph.c: Likewise.
4410 * lto-compress.c: Likewise.
4411 * lto-opts.c: Likewise.
4412 * lto-section-in.c: Likewise.
4413 * lto-section-out.c: Likewise.
4414 * lto-streamer-in.c: Likewise.
4415 * lto-streamer-out.c: Likewise.
4416 * lto-streamer.c: Likewise.
4417 * omp-low.c: Likewise.
4418 * opts-global.c: Likewise.
4419 * passes.c: Likewise.
4420 * predict.c: Likewise.
4421 * print-tree.c: Likewise.
4422 * profile.c: Likewise.
4423 * ree.c: Likewise.
4424 * sanopt.c: Likewise.
4425 * stor-layout.c: Likewise.
4426 * symtab.c: Likewise.
4427 * toplev.c: Likewise.
4428 * trans-mem.c: Likewise.
4429 * tree-cfg.c: Likewise.
4430 * tree-chkp.c: Likewise.
4431 * tree-eh.c: Likewise.
4432 * tree-emutls.c: Likewise.
4433 * tree-inline.c: Likewise.
4434 * tree-nested.c: Likewise.
4435 * tree-parloops.c: Likewise.
4436 * tree-pretty-print.c: Likewise.
4437 * tree-profile.c: Likewise.
4438 * tree-sra.c: Likewise.
4439 * tree-ssa-alias.c: Likewise.
4440 * tree-ssa-live.c: Likewise.
4441 * tree-ssa-loop-ivcanon.c: Likewise.
4442 * tree-ssa-loop-ivopts.c: Likewise.
4443 * tree-ssa-pre.c: Likewise.
4444 * tree-ssa-sccvn.c: Likewise.
4445 * tree-ssa-strlen.c: Likewise.
4446 * tree-ssa-structalias.c: Likewise.
4447 * tree-streamer-in.c: Likewise.
4448 * tree-streamer-out.c: Likewise.
4449 * tree-streamer.c: Likewise.
4450 * tree-switch-conversion.c: Likewise.
4451 * tree-tailcall.c: Likewise.
4452 * tree-vect-data-refs.c: Likewise.
4453 * tree-vect-stmts.c: Likewise.
4454 * tree-vectorizer.c: Likewise.
4455 * tree.c: Likewise.
4456 * tsan.c: Likewise.
4457 * ubsan.c: Likewise.
4458 * value-prof.c: Likewise.
4459 * varasm.c: Likewise.
4460 * varpool.c: Likewise.
4461 * config/arm/arm.c: Likewise.
4462 * config/bfin/bfin.c: Likewise.
4463 * config/c6x/c6x.c: Likewise.
4464 * config/cris/cris.c: Likewise.
4465 * config/darwin-c.c: Likewise.
4466 * config/darwin.c: Likewise.
4467 * config/i386/i386.c: Likewise.
4468 * config/i386/winnt.c: Likewise.
4469 * config/microblaze/microblaze.c: Likewise.
4470 * config/mips/mips.c: Likewise.
4471 * config/rs6000/rs6000.c: Likewise.
4472 * config/rx/rx.c: Likewise.
4473 * config/s390/s390.c: Likewise.
4474 * config/tilegx/mul-tables.c: Likewise.
4475
4476 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4477
4478 * config/aarch64/aarch64.c, config/alpha/alpha.c,
4479 config/arm/arm.c, config/avr/avr.c, config/bfin/bfin.c,
4480 config/c6x/c6x.c, config/cr16/cr16.c, config/cris/cris.c,
4481 config/fr30/fr30.c, config/frv/frv.c, config/h8300/h8300.c,
4482 config/i386/i386.c, config/ia64/ia64.c, config/iq2000/iq2000.c,
4483 config/lm32/lm32.c, config/m32c/m32c.c, config/m32r/m32r.c,
4484 config/m68k/m68k.c, config/mcore/mcore.c, config/mep/mep.c,
4485 config/microblaze/microblaze.c, config/mips/mips.c,
4486 config/mmix/mmix.c, config/mn10300/mn10300.c,
4487 config/moxie/moxie.c, config/msp430/msp430.c,
4488 config/nds32/nds32.c, config/nios2/nios2.c, config/nvptx/nvptx.c,
4489 config/pa/pa.c, config/pdp11/pdp11.c, config/rl78/rl78.c,
4490 config/rs6000/rs6000.c, config/rx/rx.c, config/s390/s390.c,
4491 config/sh/sh.c, config/sparc/sparc.c, config/spu/spu.c,
4492 config/stormy16/stormy16.c, config/tilegx/tilegx.c,
4493 config/tilepro/tilepro.c, config/v850/v850.c, config/vax/vax.c,
4494 config/visium/visium.c, config/xtensa/xtensa.c: Add comment above
4495 target-def.h include.
4496 * config/ft32/ft32.c: Likewise. Fix misapplied hunk.
4497
4498 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4499
4500 * Makefile.in (TARGET_DEF): Add target-insns.def.
4501 (.PRECIOUS, simple_rtl_generated_h): Add insn-target-def.h.
4502 (build/gentarget-def.o): New rule.
4503 (genprogrtl): Add target-def.
4504 * target-insns.def, gentarget-def.c: New files.
4505 * target.def: Add targetm.have_* and targetm.gen_* hooks,
4506 based on the contents of target-insns.def.
4507 * defaults.h (HAVE_simple_return, gen_simple_return): Delete.
4508 (HAVE_return, gen_return): Delete.
4509 * target-def.h: Include insn-target-def.h.
4510 * cfgrtl.c (force_nonfallthru_and_redirect): Use targetm interface
4511 instead of direct calls. Rely on them to do the appropriate assertions.
4512 * function.c (gen_return_pattern): Likewise. Return an rtx_insn *.
4513 (convert_jumps_to_returns): Use targetm interface instead of
4514 direct calls.
4515 (thread_prologue_and_epilogue_insns): Likewise.
4516 * reorg.c (find_end_label, dbr_schedule): Likewise.
4517 * shrink-wrap.h (SHRINK_WRAPPING_ENABLED): Likewise.
4518 * shrink-wrap.c (convert_to_simple_return): Likewise.
4519 (try_shrink_wrapping): Use SHRINK_WRAPPING_ENABLED.
4520
4521 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4522
4523 * config/aarch64/aarch64.c, config/alpha/alpha.c, config/arm/arm.c,
4524 config/avr/avr.c, config/bfin/bfin.c, config/c6x/c6x.c,
4525 config/cr16/cr16.c, config/cris/cris.c, config/fr30/fr30.c,
4526 config/frv/frv.c, config/ft32/ft32.c, config/h8300/h8300.c,
4527 config/i386/i386.c, config/ia64/ia64.c, config/iq2000/iq2000.c,
4528 config/lm32/lm32.c, config/m32c/m32c.c, config/m32r/m32r.c,
4529 config/m68k/m68k.c, config/mcore/mcore.c, config/mep/mep.c,
4530 config/microblaze/microblaze.c, config/mips/mips.c, config/mmix/mmix.c,
4531 config/mn10300/mn10300.c, config/moxie/moxie.c, config/msp430/msp430.c,
4532 config/nds32/nds32.c, config/nios2/nios2.c, config/nvptx/nvptx.c,
4533 config/pa/pa.c, config/pdp11/pdp11.c, config/rl78/rl78.c,
4534 config/rs6000/rs6000.c, config/rx/rx.c, config/s390/s390.c,
4535 config/sh/sh.c, config/sparc/sparc.c, config/spu/spu.c,
4536 config/stormy16/stormy16.c, config/tilegx/tilegx.c,
4537 config/tilepro/tilepro.c, config/v850/v850.c, config/vax/vax.c,
4538 config/visium/visium.c, config/xtensa/xtensa.c: Move target-def.h
4539 includes to end.
4540
4541 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4542
4543 * hash-map-traits.h (simple_hashmap_traits::key_type): New typedef.
4544 (unbounded_int_hashmap_traits::key_type): Likewise.
4545 * hash-map.h (hash_map): Get the key type from the traits.
4546 * hash-traits.h (default_hash_traits): By default, inherit from the
4547 template parameter.
4548 * alias.c (alias_set_traits): Delete.
4549 (alias_set_entry_d::children): Use alias_set_hash as the first
4550 template parameter.
4551 (record_alias_subset): Update accordingly.
4552 * except.c (tree_hash_traits): Delete.
4553 (type_to_runtime_map): Use tree_hash as the first template parameter.
4554 (init_eh): Update accordingly.
4555 * genmatch.c (capture_id_map_hasher): Delete.
4556 (cid_map_t): Use nofree_string_hash as first template parameter.
4557 * ipa-icf.h (symbol_compare_hashmap_traits): Delete.
4558 * ipa-icf.c (sem_item_optimizer::subdivide_classes_by_sensitive_refs):
4559 Use symbol_compare_hash as the first template parameter in
4560 subdivide_hash_map.
4561 * mem-stats.h (mem_usage_pair::mem_alloc_hashmap_traits): Delete.
4562 (mem_usage_pair::mem_map_t): Use mem_location_hash as the first
4563 template parameter.
4564 * passes.c (pass_registry_hasher): Delete.
4565 (name_to_pass_map): Use nofree_string_hash as the first template
4566 parameter.
4567 (register_pass_name): Update accordingly.
4568 * sanopt.c (sanopt_tree_map_traits): Delete.
4569 (sanopt_tree_triplet_map_traits): Delete.
4570 (sanopt_ctx::asan_check_map): Use tree_operand_hash as the first
4571 template parameter.
4572 (sanopt_ctx::vptr_check_map): Use sanopt_tree_triplet_hash as
4573 the first template parameter.
4574 * sese.c (rename_map_hasher): Delete.
4575 (rename_map_type): Use tree_ssa_name_hash as the first template
4576 parameter.
4577 * symbol-summary.h (function_summary::summary_hashmap_traits): Delete.
4578 (function_summary::m_map): Use map_hash as the first template
4579 parameter.
4580 (function_summary::release): Update accordingly.
4581 * tree-if-conv.c (phi_args_hash_traits): Delete.
4582 (predicate_scalar_phi): Use tree_operand_hash as the first template
4583 parameter to phi_arg_map.
4584 * tree-inline.h (dependence_hasher): Delete.
4585 (copy_body_data::dependence_map): Use dependence_hash as the first
4586 template parameter.
4587 * tree-inline.c (remap_dependence_clique): Update accordingly.
4588 * tree-ssa-strlen.c (stridxlist_hash_traits): Delete.
4589 (decl_to_stridxlist_htab): Use tree_decl_hash as the first template
4590 parameter.
4591 (addr_stridxptr): Update accordingly.
4592 * value-prof.c (profile_id_traits): Delete.
4593 (cgraph_node_map): Use profile_id_hash as the first template
4594 parameter.
4595 (init_node_map): Update accordingly.
4596 * config/alpha/alpha.c (string_traits): Delete.
4597 (machine_function::links): Use nofree_string_hash as the first
4598 template parameter.
4599 (alpha_use_linkage, alpha_write_linkage): Update accordingly.
4600 * config/m32c/m32c.c (pragma_traits): Delete.
4601 (pragma_htab): Use nofree_string_hash as the first template parameter.
4602 (m32c_note_pragma_address): Update accordingly.
4603 * config/mep/mep.c (pragma_traits): Delete.
4604 (pragma_htab): Use nofree_string_hash as the first template parameter.
4605 (mep_note_pragma_flag): Update accordingly.
4606 * config/mips/mips.c (mips16_flip_traits): Delete.
4607 (mflip_mips16_htab): Use nofree_string_hash as the first template
4608 parameter.
4609 (mflip_mips16_use_mips16_p): Update accordingly.
4610 (local_alias_traits): Delete.
4611 (mips16_local_aliases): Use nofree_string_hash as the first template
4612 parameter.
4613 (mips16_local_alias): Update accordingly.
4614
4615 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4616
4617 * hash-map-traits.h (default_hashmap_traits): Delete.
4618
4619 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4620
4621 * hash-map-traits.h (unbounded_hashmap_traits): New class.
4622 (unbounded_int_hashmap_traits): Likewise.
4623 * cfgexpand.c (part_traits): Use unbounded_int_hashmap_traits.
4624
4625 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4626
4627 * ipa-icf.h (symbol_compare_hash): New class.
4628 (symbol_compare_hashmap_traits): Use it.
4629 * mem-stats.h (mem_alloc_description::mem_location_hash): New class.
4630 (mem_alloc_description::mem_alloc_hashmap_traits): Use it.
4631 (mem_alloc_description::reverse_mem_map_t): Remove redundant
4632 default_hashmap_traits.
4633 * sanopt.c (sanopt_tree_triplet_hash): New class.
4634 (sanopt_tree_triplet_map_traits): Use it.
4635
4636 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4637
4638 * gengtype-parse.c (require_template_declaration): Allow '+' in
4639 template parameters. Consolidate cases.
4640 * hash-traits.h (int_hash): New class.
4641 * alias.c (alias_set_hash): New structure.
4642 (alias_set_traits): Use it.
4643 * symbol-summary.h (function_summary::map_hash): New class.
4644 (function_summary::summary_hashmap_traits): Use it.
4645 * tree-inline.h (dependence_hash): New class.
4646 (dependence_hasher): Use it.
4647 * tree-ssa-reassoc.c (oecount_hasher): Use int_hash.
4648 * value-prof.c (profile_id_hash): New class.
4649 (profile_id_traits): Use it.
4650
4651 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4652
4653 * config/mips/mips.c (mips16_flip_traits): Use it.
4654 (local_alias_traits, mips16_local_aliases): Convert from a map of
4655 rtxes to a map of symbol names.
4656 (mips16_local_alias): Update accordingly.
4657
4658 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4659
4660 * hash-traits.h (string_hash, nofree_string_hash): New classes.
4661 * genmatch.c (capture_id_map_hasher): Use nofree_string_hash.
4662 * passes.c (pass_registry_hasher): Likewise.
4663 * config/alpha/alpha.c (string_traits): Likewise.
4664 * config/i386/winnt.c (i386_find_on_wrapper_list): Likewise.
4665 * config/m32c/m32c.c (pragma_traits): Likewise.
4666 * config/mep/mep.c (pragma_traits): Likewise.
4667
4668 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4669
4670 * tree-hash-traits.h (tree_hash): New class.
4671 * except.c: Include tree-hash-traits.h.
4672 (tree_hash_traits): Use tree_hash.
4673
4674 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4675
4676 * tree-hash-traits.h (tree_ssa_name_hasher): New class.
4677 * sese.c: Include tree-hash-traits.h.
4678 (rename_map_hasher): Use tree_ssa_name_hasher.
4679
4680 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4681
4682 * tree-hash-traits.h (tree_decl_hash): New class.
4683 * tree-ssa-strlen.c: Include tree-hash-traits.h.
4684 (stridxlist_hash_traits): Use tree_decl_hash.
4685
4686 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4687
4688 * tree-hash-traits.h: New file.
4689 (tree_operand_hash): New class.
4690 * sanopt.c: Include tree-hash-traits.h.
4691 (sanopt_tree_map_traits): Use tree_operand_hash.
4692 * tree-if-conv.c: Include tree-hash-traits.h.
4693 (phi_args_hash_traits): Use tree_operand_hash.
4694 * tree-ssa-uncprop.c: Include tree-hash-traits.h.
4695 (val_ssa_equiv_hash_traits): Use tree_operand_hash.
4696
4697 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4698
4699 * hash-map-traits.h: Include hash-traits.h.
4700 (simple_hashmap_traits): New class.
4701 * mem-stats.h (hash_map): Change the default traits to
4702 simple_hashmap_traits<default_hash_traits<Key> >.
4703
4704 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4705
4706 * hash-table.h: Update comments.
4707
4708 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4709
4710 * hash-traits.h (default_hash_traits): New structure.
4711 * hash-set.h (default_hashset_traits): Delete.
4712 (hash_set): Use default_hash_traits<Key> instead of
4713 default_hashset_traits. Delete hash_entry type and use Key directly.
4714 * ipa-devirt.c (pair_traits): Delete.
4715 (default_hash_traits <type_pair>): Override.
4716 (odr_subtypes_equivalent_p): Remove pair_types template parameter.
4717 (odr_types_equivalent_p, add_type_duplicate): Likewise.
4718
4719 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4720
4721 * hash-traits.h (typed_noop_remove): Don't require a pointer type.
4722
4723 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4724
4725 * hash-table.h (has_is_deleted, is_deleted_helper): Delete.
4726 (has_is_empty, is_empty_helper): Delete.
4727 (has_mark_deleted, mark_deleted_helper): Delete.
4728 (has_mark_empty, mark_empty_helper): Delete.
4729 (hash_table::is_deleted): Call the Descriptor unconditionally.
4730 (hash_table::is_empty): Likewise.
4731 (hash_table::mark_deleted): Likewise.
4732 (hash_table::mark_empty): Likewise.
4733
4734 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4735
4736 * cgraph.h (asmname_hasher): Inherit from ggc_ptr_hash. Remove
4737 redundant typedefs and members.
4738 * coverage.c (counts_entry): Inherit from pointer_hash. Remove
4739 redundant typedefs.
4740 * dwarf2out.c (cu_hash_table_entry_hasher): Likewise.
4741 * ipa-devirt.c (odr_name_hasher): Likewise.
4742 (polymorphic_call_target_hasher): Likewise.
4743 * ira-costs.c (cost_classes_hasher): Likewise.
4744 * statistics.c (stats_counter_hasher): Likewise.
4745 * trans-mem.c (log_entry_hasher): Likewise.
4746 * tree-ssa-dom.c (expr_elt_hasher): Likewise.
4747 * tree-ssa-sccvn.c (vn_phi_hasher, vn_reference_hasher): Likewise.
4748 * tree-ssa-tail-merge.c (same_succ_def): Likewise.
4749 * var-tracking.c (variable_hasher): Likewise.
4750 * valtrack.h (dead_debug_hash_descr): Inherit from free_ptr_hash.
4751 Remove redundant typedefs and members.
4752
4753 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4754
4755 * hash-traits.h (ggc_cache_hasher): Rename to...
4756 (ggc_cache_remove): ...this and remove typedefs.
4757 (ggc_cache_ptr_hash): New class.
4758 * hash-table.h: Update commentary.
4759 * emit-rtl.c (const_int_hasher): Inherit from ggc_cache_ptr_hash
4760 rather than ggc_cache_hasher.
4761 (const_wide_int_hasher, reg_attr_hasher): Likewise.
4762 (const_double_hasher, const_fixed_hasher): Likewise.
4763 * function.c (insn_cache_hasher): Likewise.
4764 * trans-mem.c (tm_wrapper_hasher): Likewise.
4765 * tree.h (tree_decl_map_cache_hasher): Likewise.
4766 * tree.c (type_cache_hasher, int_cst_hasher): Likewise.
4767 (cl_option_hasher, tree_vec_map_cache_hasher): Likewise.
4768 * ubsan.c (tree_type_map_cache_hasher): Likewise.
4769 * varasm.c (tm_clone_hasher): Likewise.
4770 * config/i386/i386.c (dllimport_hasher): Likewise.
4771 * config/nvptx/nvptx.c (declared_libfunc_hasher): Likewise.
4772 (tree_hasher): Likewise.
4773
4774 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4775
4776 * hash-traits.h (ggc_hasher): Rename to...
4777 (ggc_remover): ...this and remove typedefs.
4778 (ggc_cache_hasher): Update accordingly. Add typedefs.
4779 (ggc_ptr_hash): New class.
4780 * hash-table.h: Update comment.
4781 * cfgloop.h (loop_exit_hasher): Inherit from ggc_ptr_hash rather than
4782 ggc_hasher.
4783 * cgraph.h (section_name_hasher, cgraph_edge_hasher): Likewise.
4784 (tree_descriptor_hasher): Likewise.
4785 * cgraph.c (function_version_hasher): Likewise.
4786 * dwarf2out.c (indirect_string_hasher, dwarf_file_hasher): Likewise.
4787 (decl_die_hasher, block_die_hasher, decl_loc_hasher): Likewise.
4788 (dw_loc_list_hasher, addr_hasher): Likewise.
4789 * function.h (used_type_hasher): Likewise.
4790 * function.c (temp_address_hasher): Likewise.
4791 * gimple-ssa.h (tm_restart_hasher, ssa_name_hasher): Likewise.
4792 * libfuncs.h (libfunc_hasher): Likewise.
4793 * lto-streamer.h (decl_state_hasher): Likewise.
4794 * optabs.c (libfunc_decl_hasher): Likewise.
4795 * tree-scalar-evolution.c (scev_info_hasher): Likewise.
4796 * varasm.c (section_hasher, object_block_hasher): Likewise.
4797 (const_rtx_desc_hasher): Likewise.
4798 * config/darwin.c (indirection_hasher, cfstring_hasher): Likewise.
4799 * config/rs6000/rs6000.c (toc_hasher, builtin_hasher): Likewise.
4800
4801 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4802
4803 * hash-traits.h (free_ptr_hash): New class.
4804 * dwarf2out.c (decl_table_entry_hasher): Inherit from free_ptr_hash
4805 rather than typed_free_remove. Remove redudant typedefs.
4806 (external_ref_hasher): Likewise.
4807 * except.c (action_record_hasher, ttypes_filter_hasher): Likewise.
4808 (ehspec_hasher): Likewise.
4809 * ggc-common.c (saving_hasher): Likewise.
4810 * gimplify.c (gimplify_hasher): Likewise.
4811 * haifa-sched.c (delay_i2_hasher): Likewise.
4812 * loop-invariant.c (invariant_expr_hasher): Likewise.
4813 * loop-iv.c (biv_entry_hasher): Likewise.
4814 * loop-unroll.c (iv_split_hasher, var_expand_hasher): Likewise.
4815 * trans-mem.c (tm_mem_map_hasher, tm_memop_hasher): Likewise.
4816 * tree-cfg.c (locus_discrim_hasher): Likewise.
4817 * tree-eh.c (finally_tree_hasher): Likewise.
4818 * tree-into-ssa.c (var_info_hasher): Likewise.
4819 * tree-parloops.c (reduction_hasher, name_to_copy_hasher): Likewise.
4820 * tree-ssa-loop-ivopts.c (iv_inv_expr_hasher): Likewise.
4821 * tree-ssa-phiopt.c (ssa_names_hasher): Likewise.
4822 * tree-ssa-pre.c (expr_pred_trans_d): Likewise.
4823 * tree-ssa-sccvn.c (vn_constant_hasher): Likewise.
4824 * tree-ssa-structalias.c (equiv_class_hasher): Likewise.
4825 (shared_bitmap_hasher): Likewise.
4826 * tree-ssa-threadupdate.c (redirection_data): Likewise.
4827 * tree-vectorizer.h (peel_info_hasher): Likewise.
4828 * tree-vectorizer.c (simduid_to_vf, simd_array_to_simduid): Likewise.
4829 * config/mips/mips.c (mips_lo_sum_offset_hasher): Likewise.
4830
4831 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4832
4833 * hash-table.h: Update comments.
4834 * hash-traits.h (pointer_hash): Don't inherit from typed_noop_remove.
4835 (nofree_ptr_hash): New class.
4836 * asan.c (asan_mem_ref_hasher): Inherit from nofree_ptr_hash rather
4837 than typed_noop_remove. Remove redudant typedefs.
4838 * attribs.c (attribute_hasher): Likewise.
4839 * cfg.c (bb_copy_hasher): Likewise.
4840 * cselib.c (cselib_hasher): Likewise.
4841 * dse.c (invariant_group_base_hasher): Likewise.
4842 * dwarf2cfi.c (trace_info_hasher): Likewise.
4843 * dwarf2out.c (macinfo_entry_hasher): Likewise.
4844 (comdat_type_hasher, loc_list_hasher): Likewise.
4845 * gcse.c (pre_ldst_expr_hasher): Likewise.
4846 * genmatch.c (id_base): Likewise.
4847 * genrecog.c (test_pattern_hasher): Likewise.
4848 * gimple-ssa-strength-reduction.c (cand_chain_hasher): Likewise.
4849 * haifa-sched.c (delay_i1_hasher): Likewise.
4850 * hard-reg-set.h (simplifiable_subregs_hasher): Likewise.
4851 * ipa-icf.h (congruence_class_group_hash): Likewise.
4852 * ipa-profile.c (histogram_hash): Likewise.
4853 * ira-color.c (allocno_hard_regs_hasher): Likewise.
4854 * lto-streamer.h (string_slot_hasher): Likewise.
4855 * lto-streamer.c (tree_entry_hasher): Likewise.
4856 * plugin.c (event_hasher): Likewise.
4857 * postreload-gcse.c (expr_hasher): Likewise.
4858 * store-motion.c (st_expr_hasher): Likewise.
4859 * tree-sra.c (uid_decl_hasher): Likewise.
4860 * tree-ssa-coalesce.c (coalesce_pair_hasher): Likewise.
4861 (ssa_name_var_hash): Likewise.
4862 * tree-ssa-live.c (tree_int_map_hasher): Likewise.
4863 * tree-ssa-loop-im.c (mem_ref_hasher): Likewise.
4864 * tree-ssa-pre.c (pre_expr_d): Likewise.
4865 * tree-ssa-sccvn.c (vn_nary_op_hasher): Likewise.
4866 * vtable-verify.h (registration_hasher): Likewise.
4867 * vtable-verify.c (vtbl_map_hasher): Likewise.
4868 * config/arm/arm.c (libcall_hasher): Likewise.
4869 * config/i386/winnt.c (wrapped_symbol_hasher): Likewise.
4870 * config/ia64/ia64.c (bundle_state_hasher): Likewise.
4871 * config/sol2.c (comdat_entry_hasher): Likewise.
4872 * fold-const.c (fold): Use nofree_ptr_hash instead of pointer_hash.
4873 (print_fold_checksum, fold_checksum_tree): Likewise.
4874 (debug_fold_checksum, fold_build1_stat_loc): Likewise.
4875 (fold_build2_stat_loc, fold_build3_stat_loc): Likewise.
4876 (fold_build_call_array_loc): Likewise.
4877 * tree-ssa-ccp.c (gimple_htab): Likewise.
4878 * tree-browser.c (tree_upper_hasher): Inherit from nofree_ptr_hash
4879 rather than pointer_type.
4880
4881 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4882
4883 * hash-traits.h (pointer_hash::mark_deleted, pointer_hash::mark_empty)
4884 (pointer_hash::is_deleted, pointer_hash::is_empty): New functions.
4885
4886 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4887
4888 * hash-traits.h (ggc_hasher::remove): Take a reference parameter.
4889 (ggc_hasher::ggc_mx): Likewise.
4890 (ggc_cache_hasher): Inherit from ggc_hasher. Remove definitions
4891 that duplicate ggc_hasher ones.
4892
4893 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4894
4895 * hash-table.h (hash_table): Add gt_cleare_cache as a friend.
4896 (gt_cleare_cache): Check here for deleted and empty entries.
4897 Replace handle_cache_entry with a call to keep_cache_entry.
4898 * hash-traits.h (ggc_cache_hasher::handle_cache_entry): Delete.
4899 (ggc_cache_hasher::keep_cache_entry): New function.
4900 * trans-mem.c (tm_wrapper_hasher::handle_cache_entry): Delete.
4901 (tm_wrapper_hasher::keep_cache_entry): New function.
4902 * tree.h (tree_decl_map_cache_hasher::handle_cache_entry): Delete.
4903 (tree_vec_map_cache_hasher::keep_cache_entry): New function.
4904 * tree.c (type_cache_hasher::handle_cache_entry): Delete.
4905 (type_cache_hasher::keep_cache_entry): New function.
4906 (tree_vec_map_cache_hasher::handle_cache_entry): Delete.
4907 (tree_vec_map_cache_hasher::keep_cache_entry): New function.
4908 * ubsan.c (tree_type_map_cache_hasher::handle_cache_entry): Delete.
4909 (tree_type_map_cache_hasher::keep_cache_entry): New function.
4910 * varasm.c (tm_clone_hasher::handle_cache_entry): Delete.
4911 (tm_clone_hasher::keep_cache_entry): New function.
4912 * config/i386/i386.c (dllimport_hasher::handle_cache_entry): Delete.
4913 (dllimport_hasher::keep_cache_entry): New function.
4914
4915 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4916
4917 * hash-table.h: Include hash-traits.h.
4918 (typed_free_remove, typed_noop_remove, pointer_hash, ggc_hasher)
4919 (ggc_cache_hasher): Move to...
4920 * hash-traits.h: ...this new file.
4921
4922 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
4923
4924 * tree-core.h (struct tree_optimization_option): Make opts a pointer to
4925 struct cl_optimization.
4926 * tree.h (TREE_OPTIMIZATION): Return the pointer, not the address of it.
4927 * tree.c (make_node_stat): Allocate cl_optimization struct.
4928 (copy_node_stat): Allocate and copy cl_optimization struct.
4929
4930 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
4931
4932 * function.h (struct incoming_args): Move struct.
4933 (pass_by_reference, reference_callee_copied): Remove prototypes.
4934 * emit-rtl.h (struct incoming_args): Relocate struct here.
4935 * calls.h (pass_by_reference, reference_callee_copied): Relocate
4936 prototypes here.
4937 * function.c (pass_by_reference, reference_callee_copied): Move.
4938 * calls.c (pass_by_reference, reference_callee_copied): Relocate here.
4939 * cfgloop.h: Don't include tm.h or hard-reg-set.h.
4940 * ipa-chkp.c: Include calls.h.
4941
4942 2015-06-25 Andrew Macleod <amacleod@redhat.com>
4943
4944 * alias.h (alias_set_type): Move typedef.
4945 * coretypes.h (alias_set_type): Relocate typedef here.
4946 * rtl.h: Don't include alias.h.
4947
4948 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
4949
4950 * cgraph.h (cgraph_rtl_info): Move to rtl.h
4951 (cgraph_node): Maintain pointer to struct cgraph_rtl_info instead of
4952 and instance.
4953 * rtl.h (struct cgraph_rtl_info): Define when HARD_REG_SET available.
4954 * cgraph.c (cgraph_node::rtl_info): Allocate cgraph_rtl_info if one
4955 doesn't exist.
4956 * calls.c: Include hard-reg-set.h before rtl.h.
4957 * ira.c: Likewise.
4958
4959 2015-06-25 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
4960 Vladimir Makarov <vmakarov@redhat.com>
4961
4962 * ira-color.c (assign_hard_reg): Remove unecessary bitmap check.
4963 Add assert.
4964
4965 2015-06-25 Richard Biener <rguenther@suse.de>
4966
4967 * fold-const.c (fold_binary_loc): Move simplification of
4968 (X <<>> C1) & C2 ...
4969 * match.pd: ... here.
4970
4971 2015-06-25 Eric Botcazou <ebotcazou@adacore.com>
4972
4973 * lto-streamer-out.c (DFS::hash_scc): Fix typos & formatting glitches.
4974
4975 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4976
4977 * match.pd: Add patterns for vec_conds between 1 and 0.
4978
4979 2015-06-25 Richard Biener <rguenther@suse.de>
4980
4981 * tree-vect-stmts.c (vectorizable_conversion): Do not set
4982 STMT_VINFO_VEC_STMT for SLP.
4983 (vectorizable_store): Likewise.
4984 (vectorizable_load): Likewise.
4985 (vect_transform_stmt): Catch SLP vectorization clobbering
4986 STMT_VINFO_VEC_STMT.
4987
4988 2015-06-25 Richard Biener <rguenther@suse.de>
4989
4990 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Improve debug
4991 dumping.
4992 (vect_create_mask_and_perm): Do not set STMT_VINFO_VEC_STMT and
4993 cleanup resulting dead code and parameters.
4994 (vect_transform_slp_perm_load): Adjust.
4995
4996 2015-06-25 Nick Clifton <nickc@redhat.com>
4997
4998 * config/bfin/bfin.c (bfin_expand_prologue): Set
4999 current_function_static_stack_size if flag_stack_usage_info is set.
5000 * config/ft32/ft32.c (ft32_expand_prologue): Likewise.
5001 * config/h8300/h8300.c (h8300_expand_prologue): Likewise.
5002 * config/iq2000/iq2000.c (iq2000_expand_prologue): Likewise.
5003 * config/m32c/m32c.c (m32c_emit_prologue): Likewise.
5004
5005 2015-06-25 Tom de Vries <tom@codesourcery.com>
5006
5007 * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Don't claim in header
5008 comment that the generated IV is unsigned.
5009
5010 2015-06-25 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
5011
5012 PR target/29693
5013 * config/arm/arm.c (arm_dbx_register_number): Return
5014 DWARF_FRAME_REGISTERS by default.
5015
5016 2015-06-25 Tom de Vries <tom@codesourcery.com>
5017
5018 * dominance.c (calculate_dominance_info): Fix verify_dominators call
5019 argument. Call verify_dominator when reusing dominator info.
5020
5021 2015-06-24 Kaz Kojima <kkojima@gcc.gnu.org>
5022
5023 PR target/66563
5024 * config/sh/sh.md (GOTaddr2picreg): Add a new operand for
5025 an additional element of the unspec vector. Modify indices
5026 of operands.
5027 (builtin_setjmp_receiver): Pass const0_rtx to gen_GOTaddr2picreg.
5028 * config/sh/sh.c (prepare_move_operands): Pass incremented
5029 const_int to gen_GOTaddr2picreg.
5030 (sh_expand_prologue): Pass const0_rtx to gen_GOTaddr2picreg.
5031
5032 2015-06-24 Alan Lawrence <alan.lawrence@arm.com>
5033
5034 * config/aarch64/aarch64.md (<optab><fcvt_target><GPF:mode>2):
5035 Condition on TARGET_FLOAT.
5036
5037 2015-06-24 Alan Lawrence <alan.lawrence@arm.com>
5038
5039 * doc/invoke.texi: Clarify AArch64 feature modifiers (no)fp, (no)simd
5040 and (no)crypto.
5041
5042 2015-06-24 Alan Lawrence <alan.lawrence@arm.com>
5043
5044 * config/aarch64/aarch64-protos.h (aarch64_err_no_fpadvsimd): New.
5045
5046 * config/aarch64/aarch64.md (mov<mode>/GPF, movtf): Use
5047 aarch64_err_no_fpadvsimd.
5048
5049 * config/aarch64/aarch64.c (aarch64_err_no_fpadvsimd): New.
5050 (aarch64_layout_arg, aarch64_init_cumulative_args): Use
5051 aarch64_err_no_fpadvsimd if !TARGET_FLOAT and we need FP regs.
5052 (aarch64_expand_builtin_va_start, aarch64_setup_incoming_varargs):
5053 Turn error into assert, test TARGET_FLOAT.
5054 (aarch64_gimplify_va_arg_expr): Use aarch64_err_no_fpadvsimd, test
5055 TARGET_FLOAT.
5056
5057 2015-06-24 Aldy Hernandez <aldyh@redhat.com>
5058
5059 PR debug/66482
5060 * dwarf2out.c (gen_formal_parameter_die): Remove assert.
5061
5062 2015-06-24 Ilya Enkovich <enkovich.gnu@gmail.com>
5063
5064 * tree-vect-slp.c (vect_build_slp_tree_1): Init vectype.
5065
5066 2015-06-24 Renlin Li <renlin.li@arm.com>
5067
5068 * config/aarch64/aarch64.h(TARGET_CPU_CPP_BUILTINS): Add
5069 __ARM_ALIGN_MAX_PWR, __ARM_ALIGN_MAX_STACK_PWR.
5070
5071 2015-06-24 Richard Biener <rguenther@suse.de>
5072
5073 * genmatch.c (enum tree_code): Add VIEW_CONVERT[012].
5074 (main): Likewise.
5075 (lower_opt_convert): Support lowering of conditional view_convert.
5076 (parser::parse_operation): Likewise.
5077 (parser::parse_for): Likewise.
5078
5079 2015-06-24 Renlin Li <renlin.li@arm.com>
5080
5081 * varasm.c (emit_local): Use unsigned int for align variable.
5082
5083 2015-06-24 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
5084
5085 PR target/63408
5086 * config/arm/arm.c (vfp3_const_double_for_fract_bits): Disable
5087 for negative numbers.
5088
5089 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5090
5091 PR rtl-optimization/66306
5092 * reload.c (find_reloads): Swap the match_dup info for
5093 commutative operands.
5094
5095 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5096
5097 * config/s390/vx-builtins.md
5098 ("vec_scatter_element<mode>_<non_vec_int>")
5099 ("vec_scatter_element<V_HW_64:mode>_SI"): Replace gf mode
5100 attribute with bhfgq.
5101
5102 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5103
5104 * config/s390/s390-builtins.def: Fix vpopct instruction comments.
5105
5106 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5107
5108 * config/s390/s390-builtin-types.def: Add flag to indicate the
5109 options under which the function type is needed.
5110 * config/s390/s390-builtins.def: Add flag to indicate the options
5111 under which the builtin is enabled.
5112 * config/s390/s390-builtins.h: Add flags parameter to macro
5113 definitions.
5114 (bflags_for_builtin): New function.
5115 (flags_for_builtin): Renamed to ...
5116 (opflags_for_builtin): ... this.
5117 * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Rename
5118 flags_for_builtin to bflags_for_builtin and
5119 flags_overloaded_builtin_var to opflags_overloaded_builtin_var.
5120 * config/s390/s390.c: Add initialization of bflags_builtin and
5121 opflags_builtin arrays.
5122 Remove code for flags_builtin.
5123 (s390_init_builtins): Only create builtin function types if one of
5124 their flags is active.
5125 Only create builtins if all of their flags are active.
5126 (s390_expand_builtin): Rename flags_for_builtin to
5127 opflags_for_builtin.
5128
5129 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5130
5131 * config/s390/vecintrin.h: Remove internal builtins.
5132
5133 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5134
5135 * config/s390/s390.c (s390_secondary_reload): Fix check for
5136 GENERAL_REGS register class.
5137
5138 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5139
5140 * config/s390/s390.c (s390_support_vector_misalignment): Call
5141 default implementation for !TARGET_VX.
5142
5143 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5144
5145 * config/s390/s390.c (s390_legitimate_constant_p): Add
5146 TARGET_VX check.
5147
5148 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5149
5150 * config/s390/s390.c (s390_vector_abi): New variable definition.
5151 (s390_check_type_for_vector_abi): New function.
5152 (TARGET_ASM_FILE_END): New macro definition.
5153 (s390_asm_file_end): New function.
5154 (s390_function_arg): Call s390_check_type_for_vector_abi.
5155 (s390_gimplify_va_arg): Likewise.
5156 * configure: Regenerate.
5157 * configure.ac: Check for .gnu_attribute Binutils feature.
5158
5159 2015-06-23 Chen Gang <gang.chen.5i5j@gmail.com>
5160
5161 PR target/65803
5162 * config/bfin/bfin.c (hwloop_optimize): Initialize
5163 JUMP_LABEL for newly created jump.
5164
5165 2015-06-23 Tristan Gingold <gingold@adacore.com>
5166
5167 * collect-utils.c (collect_wait): Unlink the response file here
5168 instead of...
5169 (do_wait): ...here.
5170 (utils_cleanup): ...and here.
5171
5172 2015-06-23 Richard Sandiford <richard.sandiford@arm.com>
5173
5174 * df-scan.c: Don't include target-def.h.
5175 * targhooks.c: Likewise.
5176 * config/arm/arm-c.c: Likewise.
5177 * config/i386/i386-c.c: Likewise.
5178 * config/nds32/nds32-cost.c: Likewise.
5179 * config/nds32/nds32-fp-as-gp.c: Likewise.
5180 * config/nds32/nds32-intrinsic.c: Likewise.
5181 * config/nds32/nds32-isr.c: Likewise.
5182 * config/nds32/nds32-md-auxiliary.c: Likewise.
5183 * config/nds32/nds32-memory-manipulation.c: Likewise.
5184 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
5185 * config/nds32/nds32-predicates.c: Likewise.
5186
5187 2015-06-23 Richard Biener <rguenther@suse.de>
5188
5189 PR tree-optimization/66636
5190 * tree-vect-stmts.c (vectorizable_store): Properly compute the
5191 def type for further defs for strided stores.
5192
5193 2015-06-23 Nathan Sidwell <nathan@codesourcery.com>
5194
5195 * config/nvptx/nvptx.md (sel_true<mode>, sel_false<mode>): New
5196 conditional selects.
5197 (setcc_int<mode>, setcc_float<mode>): Reformat.
5198
5199 2015-06-23 Marek Polacek <polacek@redhat.com>
5200
5201 * match.pd ((x + y) - (x | y) -> x & y,
5202 (x + y) - (x & y) -> x | y): New patterns.
5203
5204 2015-06-23 Ludovic Courtès <ludo@gnu.org>
5205
5206 PR 65711
5207 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Move
5208 '-dynamic-linker' within %{!shared: ...}.
5209
5210 2015-06-23 Uros Bizjak <ubizjak@gmail.com>
5211
5212 PR target/66560
5213 * config/i386/predicates.md (addsub_vm_operator): New predicate.
5214 (addsub_vs_operator): Ditto.
5215 (addsub_vs_parallel): Ditto.
5216 * config/i386/sse.md (ssedoublemode): Add V4SF and V2DF modes.
5217 (avx_addsubv4df3, avx_addsubv8sf3, sse3_addsubv2df3, sse3_addsubv4sf3):
5218 Put minus RTX before plus and adjust vec_merge selector.
5219 (*avx_addsubv4df3_1, *avx_addsubv4df3_1s, *sse3_addsubv2df3_1)
5220 (*sse_addsubv2df3_1s, *avx_addsubv8sf3_1, *avx_addsubv8sf3_1s)
5221 (*sse3_addsubv4sf3_1, *sse_addsubv4sf3_1s): Remove insn patterns.
5222 (addsub vec_merge splitters): New combiner splitters.
5223 (addsub vec_select/vec_concat splitters): Ditto.
5224
5225 2015-06-23 Bin Cheng <bin.cheng@arm.com>
5226
5227 PR tree-optimization/66449
5228 * tree-ssa-loop-niter.c (loop_exits_before_overflow): Use
5229 POINTER_PLUS_EXPR for pointers.
5230
5231 2015-06-23 Alan Modra <amodra@gmail.com>
5232
5233 * rtlanal.c (commutative_operand_precedence): Correct comments.
5234 * simplify-rtx.c (simplify_plus_minus_op_data_cmp): Delete forward
5235 declaration. Return an int. Distinguish REG,REG return from
5236 others.
5237 (struct simplify_plus_minus_op_data): Make local to function.
5238 (simplify_plus_minus): Don't set canonicalized if merely sorting
5239 registers. Avoid packing ops if nothing changes. White space fixes.
5240
5241 2015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
5242
5243 * gcc.c (default_compilers): Pass "-o %g.s" to cc1 for headers even if
5244 -fdump-ada-spec is passed but not if -fsyntax-only is.
5245
5246 2015-06-22 Vladimir Makarov <vmakarov@redhat.com>
5247
5248 PR bootstrap/63740
5249 * lra-lives.c (process_bb_lives): Check insn copying the same
5250 reload pseudo and don't create a copy for it.
5251
5252 2015-06-22 Tom de Vries <tom@codesourcery.com>
5253
5254 * tree-parloops.c (transform_to_exit_first_loop_alt): Add update_stmt
5255 for cond_stmt.
5256
5257 2015-06-22 Tom de Vries <tom@codesourcery.com>
5258
5259 * builtins.def (DEF_GOMP_BUILTIN): Test
5260 'flag_tree_parallelize_loops > 1' instead of
5261 'flag_tree_parallelize_loops'. Test flag_cilkplus.
5262
5263 2015-06-22 Tom de Vries <tom@codesourcery.com>
5264
5265 * dominance.c (calculate_dominance_info): Verify dominators if
5266 early-out.
5267
5268 2015-06-22 Marek Polacek <polacek@redhat.com>
5269
5270 * match.pd ((x ^ y) ^ (x | y) -> x & y,
5271 (x & y) + (x ^ y) -> x | y, (x & y) | (x ^ y) -> x | y,
5272 (x & y) ^ (x ^ y) -> x | y, (x & y) + (x | y) -> x + y,
5273 (x | y) - (x ^ y) -> x & y, (x | y) - (x & y) -> x ^ y): New patterns.
5274
5275 2015-06-22 Uros Bizjak <ubizjak@gmail.com>
5276
5277 PR target/65871
5278 * config/i386/i386.c (ix86_rtx_costs) <case COMPARE>: Ignore the
5279 cost of embedded comparison.
5280
5281 2015-06-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
5282
5283 PR target/65914
5284 * config/rs6000/predicates.md (altivec_register_operand): Permit
5285 virtual stack registers.
5286 (vsx_register_operand): Likewise.
5287 (vfloat_operand): Likewise.
5288 (vint_operand): Likewise.
5289 (vlogical_operand): Likewise.
5290
5291 2015-06-22 Richard Biener <rguenther@suse.de>
5292
5293 * tree-vectorizer.h (_loop_vec_info): Add scalar_cost_vec
5294 and single_scalar_iteration_cost members.
5295 (LOOP_VINFO_SCALAR_ITERATION_COST): New.
5296 (LOOP_VINFO_SINGLE_SCALAR_ITERATION_COST): Likewise.
5297 (vect_get_single_scalar_iteration_cost): Remove.
5298 * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost):
5299 Use LOOP_VINFO_SCALAR_ITERATION_COST.
5300 * tree-vect-loop.c (destroy_loop_vec_info): Free
5301 scalar_cost_vec.
5302 (vect_get_single_scalar_iteration_cost): Compute result into
5303 LOOP_VINFO_SINGLE_SCALAR_ITERATION_COST and
5304 LOOP_VINFO_SCALAR_ITERATION_COST. Make static.
5305 (vect_analyze_loop_2): Call vect_get_single_scalar_iteration_cost.
5306 (vect_estimate_min_profitable_iters): Use them.
5307
5308 2015-06-22 Christian Bruel <christian.bruel@st.com>
5309
5310 PR target/52144
5311 * config/arm/arm.c (add_attribute, arm_insert_attributes): New functions
5312 (TARGET_INSERT_ATTRIBUTES): Define.
5313 (thumb_flipper): New var.
5314 * config/arm/arm.opt (-mflip-thumb): New switch.
5315
5316 2015-06-22 Jan Hubicka <hubicka@ucw.cz>
5317 Martin Liska <mliska@suse.cz>
5318
5319 PR ipa/65908
5320 * ipa-icf.c (sem_item::target_supports_symbol_aliases): Remove
5321 construction of arg_types.
5322 (sem_function::sem_function): Likewise.
5323 (sem_function::~sem_function): Remove destruction of arg_types.
5324 (sem_function::compatible_parm_types_p): New function.
5325 (sem_function::equals_wpa): Reorg matching of return values
5326 and parameter types.
5327 (sem_function::equals_private): Reorg mathcing of argument types.
5328 (sem_function::parse_tree_args): Remove.
5329 * ipa-icf.h (init_wpa): Do not call it.
5330 (parse_tree_args): Remove.
5331 (compatible_parm_types_p): Declare.
5332 (result_type): Remove.
5333 (arg_types): Remove.
5334
5335 2015-06-22 Jan Hubicka <hubicka@ucw.cz>
5336
5337 PR ipa/66351
5338 * ipa-polymorphic-call.c
5339 (ipa_polymorphic_call_context::get_dynamic_type): Fix thinko when
5340 initializing alias oracle; fix formating; set base_alias_set if it
5341 is known.
5342
5343 2015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
5344
5345 * auto-inc-dec.c (reverse_mem, reverse_inc): Remove.
5346 (parse_add_or_inc): Use std::swap instead of reverse_{mem,inc}.
5347 (find_inc): Likewise.
5348 * combine.c (combine_simplify_rtx): Use std::swap instead of manually
5349 swapping.
5350 * df-core.c (df_worklist_dataflow_doublequeue): Likewise.
5351 * df-scan.c (df_swap_refs): Remove.
5352 (df_sort_and_compress_refs): Use std::swap instead of df_swap_refs.
5353 * dominance.c (link_roots): Use std::swap instead of manually swapping.
5354 * expr.c (expand_expr_real_2, do_store_flag): Likewise.
5355 * fold-const.c (fold_relational_const): Likewise.
5356 * genattrtab.c (simplify_test_exp): Likewise.
5357 * gimple-match-head.c (gimple_resimplify2, gimple_resimplify3,
5358 gimple_simplify): Likewise.
5359 * ifcvt.c (noce_try_abs, find_if_header): Likewise.
5360 * internal-fn.c (expand_addsub_overflow, expand_mul_overflow): Likewise.
5361 * ipa-devirt.c (add_type_duplicate): Likewise.
5362 * loop-iv.c (get_biv_step_1, iv_number_of_iterations): Likewise.
5363 * lra-lives.c (lra_setup_reload_pseudo_preferenced_hard_reg): Likewise.
5364 * lra.c (lra_create_copy): Likewise.
5365 * lto-streamer-out.c (DFS::DFS): Likewise.
5366 * modulo-sched.c (get_sched_window): Likewise.
5367 * omega.c (omega_pretty_print_problem): Likewise.
5368 * optabs.c (prepare_float_lib_cmp, expand_mult_highpart): Likewise.
5369 * reload1.c (reloads_unique_chain_p): Likewise.
5370 * sel-sched-ir.c (exchange_lv_sets, exchange_av_sets): Remove.
5371 (exchange_data_sets): Move logic from exchange_{av,lv}_sets here and
5372 use std::swap.
5373 * simplify-rtx.c (simplify_unary_operation_1): Use std::swap instead of
5374 manually swapping.
5375 * tree-if-conv.c (is_cond_scalar_reduction, predicate_scalar_phi,
5376 predicate_mem_writes): Likewise.
5377 * tree-loop-distribution.c (pg_add_dependence_edges): Likewise.
5378 * tree-predcom.c (combine_chains): Likewise.
5379 * tree-ssa-alias.c (nonoverlapping_component_refs_p,
5380 refs_may_alias_p_1): Likewise.
5381 * tree-ssa-ifcombine.c (recognize_if_then_else): Likewise.
5382 * tree-ssa-loop-ivopts.c (extract_cond_operands): Likewise.
5383 * tree-ssa-loop-niter.c (refine_bounds_using_guard,
5384 number_of_iterations_cond): Likewise.
5385 * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Likewise.
5386 * tree-ssa-sccvn.c (vn_nary_op_compute_hash): Likewise.
5387 * tree-vect-slp.c (vect_build_slp_tree): Likewise.
5388 * tree-vect-stmts.c (supportable_widening_operation): Likewise.
5389 * tree-vrp.c (extract_range_from_binary_expr_1,
5390 extract_range_from_unary_expr_1): Likewise.
5391
5392 2015-06-20 Marek Polacek <polacek@redhat.com>
5393
5394 * common.opt (fsanitize-undefined-trap-on-error): Add Driver.
5395
5396 2015-06-19 Kaz Kojima <kkojima@gcc.gnu.org>
5397
5398 PR target/66591
5399 * config/sh/sh.c (prepare_move_operands): Replace subreg
5400 index term with R0 for base and index addressing.
5401
5402 2015-06-19 Jim Wilson <jim.wilson@linaro.org>
5403
5404 * config/aarch64/aarch64.md (mov<mode>:GPF): Don't call force_reg if
5405 op1 is an fp zero.
5406 (movsf_aarch64): Change condition from register_operand to
5407 aarch64_reg_or_fp_zero for op1. Change type for alternative 6 to
5408 load1. Change type for alternative 7 to store1.
5409 (movdf_aarch64): Likewise.
5410
5411 2015-06-19 James Greenhalgh <james.greenhalgh@arm.com>
5412
5413 * config/vax/vax.md: Adjust sign/zero extend patterns to
5414 handle SUBREGs in operands[1].
5415
5416 2015-06-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5417
5418 * config/i386/i386.c (ix86_function_versions): Use std::swap instead
5419 of manually swapping.
5420 (expand_vec_perm_interleave2): Likewise.
5421
5422 2015-06-19 Ilya Enkovich <enkovich.gnu@gmail.com>
5423
5424 * tree-chkp.c (chkp_compute_bounds_for_assignment): Don't
5425 reuse bounds created for abnormal ssa names.
5426
5427 2015-06-19 Jakub Jelinek <jakub@redhat.com>
5428
5429 * config/nvptx/nvptx.md (allocate_stack): Rename to...
5430 (allocate_stack_<mode>): ... this, and add :P on both
5431 match_operand and unspec.
5432 (allocate_stack): New expander.
5433
5434 2015-06-19 Christian Bruel <christian.bruel@st.com>
5435
5436 PR target/66541
5437 PR target/52144
5438 * config/arm/arm.c (arm_set_current_function): Handle
5439 explicit default options.
5440
5441 2015-06-18 Uros Bizjak <ubizjak@gmail.com>
5442
5443 * config/i386/i386.md (*movsicc_noc_zext): New insn.
5444 (zero-extended cmove with mem peephole2): New pattern.
5445 (cmove with mem peephole2): Merge patterns.
5446
5447 2015-06-18 Segher Boessenkool <segher@kernel.crashing.org>
5448
5449 * config/rs6000/rs6000.h (WORD_REGISTER_OPERATIONS): Delete.
5450
5451 2015-06-18 Steve Ellcey <sellcey@imgtec.com>
5452
5453 * config/mips/mips.c (mips_rtx_costs): Remove HONOR_NAN check.
5454 * config/mips/mips.md (*madd4<mode>): Ditto.
5455 (*nmadd3<mode>) Ditto.
5456 (*nmadd4<mode>_fastmath): Ditto.
5457 (*nmadd3<mode>_fastmath): Ditto.
5458 (*nmsub4<mode>): Ditto.
5459 (*nmsub3<mode>): Ditto.
5460 (*nmsub4<mode>_fastmath): Ditto.
5461 (*nmsub3<mode>_fastmath): Ditto.
5462
5463 2015-06-18 Michael Matz <matz@suse.de>
5464
5465 PR middle-end/66253
5466 * tree-vect-stmts.c (vectorizable_store): Implement non-SLP
5467 grouped strided stores.
5468 (vectorizable_load): Don't use the DR from first_stmt in
5469 the non-SLP grouped strided case.
5470
5471 2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com>
5472
5473 PR target/66569
5474 * function.c (assign_bounds): Add arguments assign_regs,
5475 assign_special, assign_bt.
5476 (assign_parms): For vararg functions handle bounds in BT
5477 and special slots after incoming vararg bounds.
5478
5479 2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com>
5480
5481 PR middle-end/66568
5482 * cfgexpand.c (expand_return): Handle missing bounds.
5483 (expand_gimple_stmt_1): Likewise.
5484 * tree-chkp.c (chkp_expand_zero_bounds): New.
5485 * tree-chkp.h (chkp_expand_zero_bounds): New.
5486
5487 2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com>
5488
5489 PR middle-end/66567
5490 * ipa-chkp.c (chkp_maybe_create_clone): Require
5491 functions to be instrumentable.
5492 * tree-chkp.c (chkp_replace_function_pointer): Use
5493 chkp_instrumentable_p instead of attribute check.
5494
5495 2015-06-18 Richard Biener <rguenther@suse.de>
5496
5497 PR tree-optimization/66510
5498 * tree-vect-stmts.c (vectorizable_load): Properly compute the
5499 number of vector loads for SLP permuted loads.
5500 * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Also
5501 check the stride for loop vectorization.
5502 (vect_enhance_data_refs_alignment): Deal with SLP adjusted
5503 vectorization factor.
5504 (vect_analyze_group_access): If the group size is not a power
5505 of two require a epilogue loop.
5506 * tree-vect-loop.c (vect_analyze_loop_2): Move alignment
5507 compute and optimizing and alias test pruning after final
5508 vectorization factor computation.
5509 * tree-vect-slp.c (vect_build_slp_tree_1): Remove check on
5510 vector alignment.
5511 (vect_transform_slp_perm_load): Properly compute the original
5512 number of vector load stmts.
5513
5514 2015-06-18 Uros Bizjak <ubizjak@gmail.com>
5515
5516 * doc/invoke.texi (-fsanitize-sections): Split @var to avoid
5517 "unlikely character , in @var" warning.
5518
5519 2015-06-17 Uros Bizjak <ubizjak@gmail.com>
5520
5521 * config/i386/i386.c (ix86_function_arg): Nest TARGET_64BIT code.
5522 (ix86_function_arg_advance): Ditto.
5523 (ix86_pass_by_reference): Ditto. Rewrite MS_ABI part.
5524
5525 2015-06-17 Andrew MacLeod <amacleod@redhat.com>
5526
5527 * function.h (struct rtl_data): Remove struct and accessor macros.
5528 * emit-rtl.h (struct rtl_data): Relocate to here.
5529 * Makefile.in (GTFILES): Add emit-rtl.h.
5530 * df-core.c: Include emit-rtl.h.
5531 * genattrtab.c: Likewise.
5532 * genconditions.c: Likewise.
5533 * genpreds.c: Likewise.
5534 * genrecog.c: Likewise.
5535 * regcprop.c: Likewise.
5536 * resource.c: Likewise.
5537 * sched-rgn.c: Likewise.
5538 * config/aarch64/cortex-a57-fma-steering.c: Likewise.
5539 * config/i386/winnt.c: Likewise.
5540
5541 2015-06-17 Jakub Jelinek <jakub@redhat.com>
5542
5543 PR middle-end/66429
5544 * omp-low.c (expand_omp_taskreg, expand_omp_target): Use child_cfun
5545 instead of DECL_STRUCT_FUNCTION (child_fn). Or in has_simduid_loops
5546 and has_force_vectorize_loops flags from cfun into
5547 child_cfun.
5548 (expand_omp_simd): For broken loop, set cfun->has_simduid_loops
5549 if simduid is non-NULL.
5550 * tree-pass.h (make_pass_simduid_cleanup): New prototype.
5551 * passes.def (pass_simduid_cleanup): Add new pass after loop
5552 passes.
5553 * tree-vectorizer.c (adjust_simduid_builtins): Remove one unnecessary
5554 indirection from htab argument's type.
5555 (shrink_simd_arrays): New function.
5556 (vectorize_loops): Use it. Adjust adjust_simduid_builtins caller.
5557 Don't call adjust_simduid_builtins if there are no loops.
5558 (pass_data_simduid_cleanup, pass_simduid_cleanup): New variables.
5559 (pass_simduid_cleanup::execute): New method.
5560 (make_pass_simduid_cleanup): New function.
5561
5562 2017-06-17 Andrew MacLeod <amacleod@redhat.com>
5563
5564 * tree-core.h (tree_target_option): Make opts field a pointer to a
5565 cl_target_option instead of an instance of the struct.
5566 * tree.h (TREE_TARGET_OPTION): Return the pointer, not an address of
5567 the structure.
5568 * tree.c (make_node_stat ): Allocate a cl_target_option struct for
5569 TARGET_OPTION_NODE.
5570 (copy_node_stat): Allocate and copy struct cl_target_option.
5571
5572 2015-06-17 Andrew MacLeod <amacleod@redhat.com>
5573
5574 * tree.h (merge_dllimport_decl_attributes, handle_dll_attribute):
5575 Remove conditional exposure of prototypes.
5576 (ANON_AGGRNAME_FORMAT, ANON_AGGRNAME_P): Delete.
5577 * tree.c (anon_aggrname_format, anon_aggrname_p): New. Replace macro
5578 definitions in tree.h with functions.
5579 * lto-streamer-out.c (DFS_write_tree_body, hash_tree): Use
5580 anon_aggrname_p.
5581 * tree-streamer-out.c (write_ts_decl_minimal_tree_pointers): Likewise.
5582
5583 2015-06-17 Segher Boessenkool <segher@kernel.crashing.org>
5584
5585 * config/rs6000/rs6000.md (*cmp<mode>_internal1): Rename to...
5586 (*cmp<mode>_signed): ... this.
5587 (*cmpsi_internal2, *cmpdi_internal2): Merge, rename to...
5588 (*cmp<mode>_unsigned): ... this. Remove %b.
5589
5590 2015-06-17 Andrew MacLeod <amacleod@redhat.com>
5591
5592 * coretypes.h: Include input.h and as-a.h.
5593 * rtl.h: Include input.h and as-a.h for generator files.
5594 * hwint.c: Include coretypes.h, don't include diagnostic-core.h.
5595 * vec.c: Don't include diagnostic-core.h.
5596 * alias.c: Do not include input.h, line-map.h or is-a.h.
5597 * asan.c: Likewise.
5598 * attribs.c: Likewise.
5599 * auto-inc-dec.c: Likewise.
5600 * auto-profile.c: Likewise.
5601 * bb-reorder.c: Likewise.
5602 * bt-load.c: Likewise.
5603 * builtins.c: Likewise.
5604 * caller-save.c: Likewise.
5605 * calls.c: Likewise.
5606 * ccmp.c: Likewise.
5607 * cfg.c: Likewise.
5608 * cfganal.c: Likewise.
5609 * cfgbuild.c: Likewise.
5610 * cfgcleanup.c: Likewise.
5611 * cfgexpand.c: Likewise.
5612 * cfghooks.c: Likewise.
5613 * cfgloop.c: Likewise.
5614 * cfgloop.h: Likewise.
5615 * cfgloopanal.c: Likewise.
5616 * cfgloopmanip.c: Likewise.
5617 * cfgrtl.c: Likewise.
5618 * cgraph.c: Likewise.
5619 * cgraphbuild.c: Likewise.
5620 * cgraphclones.c: Likewise.
5621 * cgraphunit.c: Likewise.
5622 * cilk-common.c: Likewise.
5623 * combine-stack-adj.c: Likewise.
5624 * combine.c: Likewise.
5625 * compare-elim.c: Likewise.
5626 * convert.c: Likewise.
5627 * coverage.c: Likewise.
5628 * cppbuiltin.c: Likewise.
5629 * cprop.c: Likewise.
5630 * cse.c: Likewise.
5631 * cselib.c: Likewise.
5632 * data-streamer-in.c: Likewise.
5633 * data-streamer-out.c: Likewise.
5634 * data-streamer.c: Likewise.
5635 * dbxout.c: Likewise.
5636 * dce.c: Likewise.
5637 * ddg.c: Likewise.
5638 * debug.c: Likewise.
5639 * df-core.c: Likewise.
5640 * df-problems.c: Likewise.
5641 * df-scan.c: Likewise.
5642 * df.h: Likewise.
5643 * dfp.c: Likewise.
5644 * diagnostic-core.h: Likewise.
5645 * diagnostic.c: Likewise.
5646 * dojump.c: Likewise.
5647 * dominance.c: Likewise.
5648 * domwalk.c: Likewise.
5649 * double-int.c: Likewise.
5650 * dse.c: Likewise.
5651 * dumpfile.c: Likewise.
5652 * dumpfile.h: Likewise.
5653 * dwarf2asm.c: Likewise.
5654 * dwarf2cfi.c: Likewise.
5655 * dwarf2out.c: Likewise.
5656 * emit-rtl.c: Likewise.
5657 * et-forest.c: Likewise.
5658 * except.c: Likewise.
5659 * explow.c: Likewise.
5660 * expmed.c: Likewise.
5661 * expr.c: Likewise.
5662 * final.c: Likewise.
5663 * fixed-value.c: Likewise.
5664 * fold-const.c: Likewise.
5665 * function.c: Likewise.
5666 * fwprop.c: Likewise.
5667 * gcc-plugin.h: Likewise.
5668 * gcse.c: Likewise.
5669 * generic-match-head.c: Likewise.
5670 * ggc-page.c: Likewise.
5671 * gimple-builder.c: Likewise.
5672 * gimple-expr.c: Likewise.
5673 * gimple-fold.c: Likewise.
5674 * gimple-iterator.c: Likewise.
5675 * gimple-low.c: Likewise.
5676 * gimple-match-head.c: Likewise.
5677 * gimple-pretty-print.c: Likewise.
5678 * gimple-ssa-isolate-paths.c: Likewise.
5679 * gimple-ssa-strength-reduction.c: Likewise.
5680 * gimple-streamer-in.c: Likewise.
5681 * gimple-streamer-out.c: Likewise.
5682 * gimple-streamer.h: Likewise.
5683 * gimple-walk.c: Likewise.
5684 * gimple.c: Likewise.
5685 * gimplify-me.c: Likewise.
5686 * gimplify.c: Likewise.
5687 * godump.c: Likewise.
5688 * graph.c: Likewise.
5689 * graphite-blocking.c: Likewise.
5690 * graphite-dependences.c: Likewise.
5691 * graphite-interchange.c: Likewise.
5692 * graphite-isl-ast-to-gimple.c: Likewise.
5693 * graphite-optimize-isl.c: Likewise.
5694 * graphite-poly.c: Likewise.
5695 * graphite-scop-detection.c: Likewise.
5696 * graphite-sese-to-poly.c: Likewise.
5697 * graphite.c: Likewise.
5698 * haifa-sched.c: Likewise.
5699 * hw-doloop.c: Likewise.
5700 * ifcvt.c: Likewise.
5701 * init-regs.c: Likewise.
5702 * input.c: Likewise.
5703 * internal-fn.c: Likewise.
5704 * ipa-chkp.c: Likewise.
5705 * ipa-comdats.c: Likewise.
5706 * ipa-cp.c: Likewise.
5707 * ipa-devirt.c: Likewise.
5708 * ipa-icf-gimple.c: Likewise.
5709 * ipa-icf.c: Likewise.
5710 * ipa-inline-analysis.c: Likewise.
5711 * ipa-inline-transform.c: Likewise.
5712 * ipa-inline.c: Likewise.
5713 * ipa-polymorphic-call.c: Likewise.
5714 * ipa-profile.c: Likewise.
5715 * ipa-prop.c: Likewise.
5716 * ipa-pure-const.c: Likewise.
5717 * ipa-ref.c: Likewise.
5718 * ipa-reference.c: Likewise.
5719 * ipa-split.c: Likewise.
5720 * ipa-utils.c: Likewise.
5721 * ipa-visibility.c: Likewise.
5722 * ipa.c: Likewise.
5723 * ira-build.c: Likewise.
5724 * ira-color.c: Likewise.
5725 * ira-conflicts.c: Likewise.
5726 * ira-costs.c: Likewise.
5727 * ira-emit.c: Likewise.
5728 * ira-lives.c: Likewise.
5729 * ira.c: Likewise.
5730 * jump.c: Likewise.
5731 * langhooks.c: Likewise.
5732 * lcm.c: Likewise.
5733 * loop-doloop.c: Likewise.
5734 * loop-init.c: Likewise.
5735 * loop-invariant.c: Likewise.
5736 * loop-iv.c: Likewise.
5737 * loop-unroll.c: Likewise.
5738 * lower-subreg.c: Likewise.
5739 * lra-assigns.c: Likewise.
5740 * lra-coalesce.c: Likewise.
5741 * lra-constraints.c: Likewise.
5742 * lra-eliminations.c: Likewise.
5743 * lra-lives.c: Likewise.
5744 * lra-remat.c: Likewise.
5745 * lra-spills.c: Likewise.
5746 * lra.c: Likewise.
5747 * lto-cgraph.c: Likewise.
5748 * lto-compress.c: Likewise.
5749 * lto-opts.c: Likewise.
5750 * lto-section-in.c: Likewise.
5751 * lto-section-out.c: Likewise.
5752 * lto-streamer-in.c: Likewise.
5753 * lto-streamer-out.c: Likewise.
5754 * lto-streamer.c: Likewise.
5755 * mcf.c: Likewise.
5756 * mode-switching.c: Likewise.
5757 * modulo-sched.c: Likewise.
5758 * omega.c: Likewise.
5759 * omp-low.c: Likewise.
5760 * optabs.c: Likewise.
5761 * opts-global.c: Likewise.
5762 * opts.h: Likewise.
5763 * passes.c: Likewise.
5764 * plugin.c: Likewise.
5765 * postreload-gcse.c: Likewise.
5766 * postreload.c: Likewise.
5767 * predict.c: Likewise.
5768 * pretty-print.h: Likewise.
5769 * print-rtl.c: Likewise.
5770 * print-tree.c: Likewise.
5771 * profile.c: Likewise.
5772 * real.c: Likewise.
5773 * realmpfr.c: Likewise.
5774 * recog.c: Likewise.
5775 * ree.c: Likewise.
5776 * reg-stack.c: Likewise.
5777 * regcprop.c: Likewise.
5778 * reginfo.c: Likewise.
5779 * regrename.c: Likewise.
5780 * regstat.c: Likewise.
5781 * reload.c: Likewise.
5782 * reload1.c: Likewise.
5783 * reorg.c: Likewise.
5784 * resource.c: Likewise.
5785 * rtl-chkp.c: Likewise.
5786 * rtl-error.c: Likewise.
5787 * rtlanal.c: Likewise.
5788 * rtlhooks.c: Likewise.
5789 * sanopt.c: Likewise.
5790 * sched-deps.c: Likewise.
5791 * sched-ebb.c: Likewise.
5792 * sched-rgn.c: Likewise.
5793 * sched-vis.c: Likewise.
5794 * sdbout.c: Likewise.
5795 * sel-sched-dump.c: Likewise.
5796 * sel-sched-ir.c: Likewise.
5797 * sel-sched.c: Likewise.
5798 * sese.c: Likewise.
5799 * shrink-wrap.c: Likewise.
5800 * simplify-rtx.c: Likewise.
5801 * stack-ptr-mod.c: Likewise.
5802 * statistics.c: Likewise.
5803 * stmt.c: Likewise.
5804 * stor-layout.c: Likewise.
5805 * store-motion.c: Likewise.
5806 * streamer-hooks.c: Likewise.
5807 * stringpool.c: Likewise.
5808 * symtab.c: Likewise.
5809 * target-globals.c: Likewise.
5810 * targhooks.c: Likewise.
5811 * toplev.c: Likewise.
5812 * tracer.c: Likewise.
5813 * trans-mem.c: Likewise.
5814 * tree-affine.c: Likewise.
5815 * tree-browser.c: Likewise.
5816 * tree-call-cdce.c: Likewise.
5817 * tree-cfg.c: Likewise.
5818 * tree-cfgcleanup.c: Likewise.
5819 * tree-chkp-opt.c: Likewise.
5820 * tree-chkp.c: Likewise.
5821 * tree-chrec.c: Likewise.
5822 * tree-complex.c: Likewise.
5823 * tree-data-ref.c: Likewise.
5824 * tree-dfa.c: Likewise.
5825 * tree-diagnostic.c: Likewise.
5826 * tree-dump.c: Likewise.
5827 * tree-eh.c: Likewise.
5828 * tree-emutls.c: Likewise.
5829 * tree-if-conv.c: Likewise.
5830 * tree-inline.c: Likewise.
5831 * tree-into-ssa.c: Likewise.
5832 * tree-iterator.c: Likewise.
5833 * tree-loop-distribution.c: Likewise.
5834 * tree-nested.c: Likewise.
5835 * tree-nrv.c: Likewise.
5836 * tree-object-size.c: Likewise.
5837 * tree-outof-ssa.c: Likewise.
5838 * tree-parloops.c: Likewise.
5839 * tree-phinodes.c: Likewise.
5840 * tree-predcom.c: Likewise.
5841 * tree-pretty-print.c: Likewise.
5842 * tree-profile.c: Likewise.
5843 * tree-scalar-evolution.c: Likewise.
5844 * tree-sra.c: Likewise.
5845 * tree-ssa-address.c: Likewise.
5846 * tree-ssa-alias.c: Likewise.
5847 * tree-ssa-ccp.c: Likewise.
5848 * tree-ssa-coalesce.c: Likewise.
5849 * tree-ssa-copy.c: Likewise.
5850 * tree-ssa-copyrename.c: Likewise.
5851 * tree-ssa-dce.c: Likewise.
5852 * tree-ssa-dom.c: Likewise.
5853 * tree-ssa-dse.c: Likewise.
5854 * tree-ssa-forwprop.c: Likewise.
5855 * tree-ssa-ifcombine.c: Likewise.
5856 * tree-ssa-live.c: Likewise.
5857 * tree-ssa-loop-ch.c: Likewise.
5858 * tree-ssa-loop-im.c: Likewise.
5859 * tree-ssa-loop-ivcanon.c: Likewise.
5860 * tree-ssa-loop-ivopts.c: Likewise.
5861 * tree-ssa-loop-manip.c: Likewise.
5862 * tree-ssa-loop-niter.c: Likewise.
5863 * tree-ssa-loop-prefetch.c: Likewise.
5864 * tree-ssa-loop-unswitch.c: Likewise.
5865 * tree-ssa-loop.c: Likewise.
5866 * tree-ssa-math-opts.c: Likewise.
5867 * tree-ssa-operands.c: Likewise.
5868 * tree-ssa-phiopt.c: Likewise.
5869 * tree-ssa-phiprop.c: Likewise.
5870 * tree-ssa-pre.c: Likewise.
5871 * tree-ssa-propagate.c: Likewise.
5872 * tree-ssa-reassoc.c: Likewise.
5873 * tree-ssa-sccvn.c: Likewise.
5874 * tree-ssa-scopedtables.c: Likewise.
5875 * tree-ssa-sink.c: Likewise.
5876 * tree-ssa-strlen.c: Likewise.
5877 * tree-ssa-structalias.c: Likewise.
5878 * tree-ssa-tail-merge.c: Likewise.
5879 * tree-ssa-ter.c: Likewise.
5880 * tree-ssa-threadedge.c: Likewise.
5881 * tree-ssa-threadupdate.c: Likewise.
5882 * tree-ssa-uncprop.c: Likewise.
5883 * tree-ssa-uninit.c: Likewise.
5884 * tree-ssa.c: Likewise.
5885 * tree-ssanames.c: Likewise.
5886 * tree-stdarg.c: Likewise.
5887 * tree-streamer-in.c: Likewise.
5888 * tree-streamer-out.c: Likewise.
5889 * tree-streamer.c: Likewise.
5890 * tree-switch-conversion.c: Likewise.
5891 * tree-tailcall.c: Likewise.
5892 * tree-vect-data-refs.c: Likewise.
5893 * tree-vect-generic.c: Likewise.
5894 * tree-vect-loop-manip.c: Likewise.
5895 * tree-vect-loop.c: Likewise.
5896 * tree-vect-patterns.c: Likewise.
5897 * tree-vect-slp.c: Likewise.
5898 * tree-vect-stmts.c: Likewise.
5899 * tree-vectorizer.c: Likewise.
5900 * tree-vrp.c: Likewise.
5901 * tree.c: Likewise.
5902 * tsan.c: Likewise.
5903 * ubsan.c: Likewise.
5904 * valtrack.c: Likewise.
5905 * value-prof.c: Likewise.
5906 * var-tracking.c: Likewise.
5907 * varasm.c: Likewise.
5908 * varpool.c: Likewise.
5909 * vmsdbgout.c: Likewise.
5910 * vtable-verify.c: Likewise.
5911 * web.c: Likewise.
5912 * wide-int.cc: Likewise.
5913 * xcoffout.c: Likewise.
5914 * common/common-target.h: Do not include input.h, line-map.h or is-a.h.
5915 * common/common-targhooks.c: Likewise.
5916 * config/aarch64/aarch64-builtins.c: Likewise.
5917 * config/aarch64/aarch64.c: Likewise.
5918 * config/alpha/alpha.c: Likewise.
5919 * config/arc/arc.c: Likewise.
5920 * config/arm/aarch-common.c: Likewise.
5921 * config/arm/arm-builtins.c: Likewise.
5922 * config/arm/arm-c.c: Likewise.
5923 * config/arm/arm.c: Likewise.
5924 * config/avr/avr-c.c: Likewise.
5925 * config/avr/avr-log.c: Likewise.
5926 * config/avr/avr.c: Likewise.
5927 * config/bfin/bfin.c: Likewise.
5928 * config/c6x/c6x.c: Likewise.
5929 * config/cr16/cr16.c: Likewise.
5930 * config/cris/cris.c: Likewise.
5931 * config/darwin-c.c: Likewise.
5932 * config/darwin.c: Likewise.
5933 * config/default-c.c: Likewise.
5934 * config/epiphany/epiphany.c: Likewise.
5935 * config/epiphany/mode-switch-use.c: Likewise.
5936 * config/epiphany/resolve-sw-modes.c: Likewise.
5937 * config/fr30/fr30.c: Likewise.
5938 * config/frv/frv.c: Likewise.
5939 * config/ft32/ft32.c: Likewise.
5940 * config/glibc-c.c: Likewise.
5941 * config/h8300/h8300.c: Likewise.
5942 * config/i386/i386-c.c: Likewise.
5943 * config/i386/i386.c: Likewise.
5944 * config/i386/msformat-c.c: Likewise.
5945 * config/i386/winnt-cxx.c: Likewise.
5946 * config/i386/winnt-stubs.c: Likewise.
5947 * config/i386/winnt.c: Likewise.
5948 * config/ia64/ia64-c.c: Likewise.
5949 * config/ia64/ia64.c: Likewise.
5950 * config/iq2000/iq2000.c: Likewise.
5951 * config/lm32/lm32.c: Likewise.
5952 * config/m32c/m32c-pragma.c: Likewise.
5953 * config/m32c/m32c.c: Likewise.
5954 * config/m32r/m32r.c: Likewise.
5955 * config/m68k/m68k.c: Likewise.
5956 * config/mcore/mcore.c: Likewise.
5957 * config/mep/mep-pragma.c: Likewise.
5958 * config/mep/mep.c: Likewise.
5959 * config/microblaze/microblaze-c.c: Likewise.
5960 * config/microblaze/microblaze.c: Likewise.
5961 * config/mips/mips.c: Likewise.
5962 * config/mmix/mmix.c: Likewise.
5963 * config/mn10300/mn10300.c: Likewise.
5964 * config/moxie/moxie.c: Likewise.
5965 * config/msp430/msp430-c.c: Likewise.
5966 * config/msp430/msp430.c: Likewise.
5967 * config/nds32/nds32-cost.c: Likewise.
5968 * config/nds32/nds32-fp-as-gp.c: Likewise.
5969 * config/nds32/nds32-intrinsic.c: Likewise.
5970 * config/nds32/nds32-isr.c: Likewise.
5971 * config/nds32/nds32-md-auxiliary.c: Likewise.
5972 * config/nds32/nds32-memory-manipulation.c: Likewise.
5973 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
5974 * config/nds32/nds32-predicates.c: Likewise.
5975 * config/nds32/nds32.c: Likewise.
5976 * config/nios2/nios2.c: Likewise.
5977 * config/nvptx/nvptx.c: Likewise.
5978 * config/pa/pa.c: Likewise.
5979 * config/pdp11/pdp11.c: Likewise.
5980 * config/rl78/rl78-c.c: Likewise.
5981 * config/rl78/rl78.c: Likewise.
5982 * config/rs6000/rs6000-c.c: Likewise.
5983 * config/rs6000/rs6000.c: Likewise.
5984 * config/rx/rx.c: Likewise.
5985 * config/s390/s390-c.c: Likewise.
5986 * config/s390/s390.c: Likewise.
5987 * config/sh/sh-c.c: Likewise.
5988 * config/sh/sh-mem.cc: Likewise.
5989 * config/sh/sh.c: Likewise.
5990 * config/sh/sh_optimize_sett_clrt.cc: Likewise.
5991 * config/sh/sh_treg_combine.cc: Likewise.
5992 * config/sol2-c.c: Likewise.
5993 * config/sol2-cxx.c: Likewise.
5994 * config/sol2-stubs.c: Likewise.
5995 * config/sol2.c: Likewise.
5996 * config/sparc/sparc-c.c: Likewise.
5997 * config/sparc/sparc.c: Likewise.
5998 * config/spu/spu-c.c: Likewise.
5999 * config/spu/spu.c: Likewise.
6000 * config/stormy16/stormy16.c: Likewise.
6001 * config/tilegx/mul-tables.c: Likewise.
6002 * config/tilegx/tilegx-c.c: Likewise.
6003 * config/tilegx/tilegx.c: Likewise.
6004 * config/tilepro/mul-tables.c: Likewise.
6005 * config/tilepro/tilepro-c.c: Likewise.
6006 * config/tilepro/tilepro.c: Likewise.
6007 * config/v850/v850-c.c: Likewise.
6008 * config/v850/v850.c: Likewise.
6009 * config/vax/vax.c: Likewise.
6010 * config/visium/visium.c: Likewise.
6011 * config/vms/vms-c.c: Likewise.
6012 * config/vms/vms.c: Likewise.
6013 * config/vxworks.c: Likewise.
6014 * config/winnt-c.c: Likewise.
6015 * config/xtensa/xtensa.c: Likewise.
6016
6017 2015-06-17 Robert Suchanek <robert.suchanek@imgtec.com>
6018
6019 * config/mips/mips.c (mips_ira_change_pseudo_allocno_class): New
6020 function.
6021 (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): Define macro.
6022
6023 2015-06-17 Richard Biener <rguenther@suse.de>
6024
6025 PR tree-optimization/66251
6026 * tree-vect-stmts.c (vectorizable_store): Fix gathering of vectorized
6027 stmts for SLP strided stores.
6028
6029 Revert
6030 2015-05-22 Richard Biener <rguenther@suse.de>
6031
6032 PR tree-optimization/66251
6033 * tree-vect-stmts.c (vectorizable_conversion): Properly
6034 set STMT_VINFO_VEC_STMT even for the SLP case.
6035
6036 2015-05-26 Michael Matz <matz@suse.de>
6037
6038 PR middle-end/66251
6039 * tree-vect-stmts.c (vect_create_vectorized_demotion_stmts): Always set
6040 STMT_VINFO_VEC_STMT, also with SLP.
6041
6042 2015-06-16 Uros Bizjak <ubizjak@gmail.com>
6043
6044 PR target/56766
6045 * config/i386/sse.md (*avx_addsubv4df3_1): New insn pattern.
6046 (*avx_addsubv4df3_1s): Ditto.
6047 (*sse3_addsubv2df3_1): Ditto.
6048 (*sse3_addsubv2df3_1s): Ditto.
6049 (*avx_addsubv8sf3_1): Ditto.
6050 (*avx_addsubv8sf3_1s): Ditto.
6051 (*sse3_addsubv4sf3_1): Ditto.
6052 (*sse3_addsubv4sf3_1s): Ditto.
6053
6054 2015-06-16 Steve Ellcey <sellcey@imgtec.com>
6055
6056 * config/mips/mti-linux.h (MIPS_SYSVERSION_SPEC): New.
6057 (SYSROOT_SUFFIX_SPEC): Update.
6058 (SYSROOT_HEADERS_SUFFIX_SPEC): New.
6059 (STARTFILE_PREFIX_SPEC): Update.
6060 * config/mips/t-mti-linux (MULTILIB_EXCEPTIONS): Remove.
6061 (MULTILIB_REQUIRED): New.
6062 (MULTILIB_OSDIRNAMES): New.
6063 * config/mips/t-img-linux (MULTILIB_EXCEPTIONS): Remove.
6064 (MULTILIB_REQUIRED): New.
6065 (MULTILIB_OSDIRNAMES): New.
6066
6067 2015-06-16 Matthew Wahab <matthew.wahab@arm.com>
6068
6069 * config/aarch64/aarch64-arches.def: Add "armv8.1-a".
6070 * config/aarch64/aarch64-options-extensions.def: Update "fP",
6071 "simd" and "crypto". Add "lse", "pan", "lor" and "rdma".
6072 * gcc/config/aarch64/aarch64.h (AARCH64_FL_LSE): New.
6073 (AARCH64_FL_PAN): New.
6074 (AARCH64_FL_LOR): New.
6075 (AARCH64_FL_RDMA): New.
6076 (AARCH64_FL_FOR_ARCH8_1): New.
6077 * doc/invoke.texi (AArch64 Options): Add "armv8.1-a" to
6078 -march. Add "lse", "pan", "lor", "rdma" to feature modifiers.
6079
6080 2015-06-16 Martin Liska <mliska@suse.cz>
6081
6082 * bitmap.c (dump_bitmap_statistics): Fix GNU coding style.
6083 * hash-table.c (void dump_hash_table_loc_statistics): Add missing
6084 guard.
6085
6086 2015-06-16 Richard Biener <rguenther@suse.de>
6087
6088 * tree-vect-stmts.c (vectorizable_store): Adjust.
6089 (vectorizable_load): Likewise.
6090 * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
6091 Simplify.
6092 (vect_create_data_ref_ptr): Likewise.
6093 (bump_vector_ptr): Adjust.
6094
6095 2015-06-16 Richard Biener <rguenther@suse.de>
6096
6097 * tree-vect-stmts.c (vectorizable_load): Properly start loads
6098 with the first element if this is grouped loads.
6099
6100 2015-06-16 James Greenhalgh <james.greenhalgh@arm.com>
6101
6102 * config/arm/arm-protos.h (struct tune_params): Rename
6103 log_op_non_sc to log_op_non_short_circuit, and rename enum
6104 values to expand SC to SHORT_CIRCUIT.
6105 * config/arm/arm.c (arm_slowmul_tune): Expand LOG_OP_NON_SC
6106 to LOG_OP_NON_SHORT_CIRCUIT.
6107 (arm_fastmul_tune):Likewise
6108 (arm_strongarm_tune): Likewise.
6109 (arm_xscale_tune): Likewise.
6110 (arm_9e_tune): Likewise.
6111 (arm_marvell_pj4_tune): Likewise.
6112 (arm_v6t2_tune): Likewise.
6113 (arm_cortex_tune): Likewise.
6114 (arm_cortex_a8_tune): Likewise.
6115 (arm_cortex_a7_tune): Likewise.
6116 (arm_cortex_a15_tune): Likewise.
6117 (arm_cortex_a53_tune): Likewise.
6118 (arm_cortex_a57_tune): Likewise.
6119 (arm_xgene1_tune): Likewise.
6120 (arm_cortex_a5_tune): Likewise.
6121 (arm_cortex_a9_tune): Likewise.
6122 (arm_cortex_a12_tune): Likewise.
6123 (arm_v7m_tune): Likewise.
6124 (arm_cortex_m7_tune): Likewise.
6125 (arm_v6m_tune): Likewise.
6126 (arm_fa726te_tune): Likewise.
6127
6128 2015-06-15 David Edelsohn <dje.gcc@gmail.com>
6129
6130 * altivec.md: Delete UNSPEC_VMLADDUHM.
6131 (mulv4si3_p8): New pattern.
6132 (mulv4si3): Use it for POWER8.
6133 (mulv8hi3): Use vmladduhm with zero addend.
6134 (altivec_vmladduhm): Descriptive RTL.
6135
6136 2015-06-15 Jim Wilson <jim.wilson@linaro.org>
6137
6138 * config/aarch64/aarch64.md (mov<mode>_aarch64): Change alternative 2
6139 to use neon_move instead of mov_imm.
6140 (movdi_aarch64): Change alternative 14 to use neon_move not fmov.
6141 (movtf_aarch64): Change alternative 4 to use neon_move_q not fconstd.
6142
6143 * config/aarch64/aarch64.c (aarch64_valid_floating_const): Move
6144 aarch64_float_const_zero_rtx_p check before TFmode check.
6145 * config/aarch64/aarch64.md (movtf): Don't call force_reg if op1 is
6146 an fp zero.
6147 (movtf_aarch64): Separate ?rY alternative into two. Adjust assembly
6148 code and attributes to match. Change condition from register_operand
6149 to aarch64_reg_or_fp_zero for op1. Change type for ldp from
6150 neon_load1_2reg to load2. Change type for stp from neon_store1_2reg
6151 to store2.
6152
6153 2015-06-15 Aldy Hernandez <aldyh@redhat.com>
6154
6155 PR debug/66535
6156 * dwarf2out.c (gen_subprogram_die): Do not check a parent's tag if
6157 there is no parent.
6158
6159 2015-06-14 Shiva Chen <shiva0217@gmail.com>
6160
6161 * aarch64.c (aarch64_simd_lane_bounds): Change %ld to %wd for
6162 HOST_WIDE_INT parameter.
6163
6164 2015-06-14 Jan Hubicka <hubicka@ucw.cz>
6165
6166 PR ipa/66181
6167 * lto-streamer-out.c (hash_tree): Do not hash TYPE_NO_FORCE_BLK.
6168 * tree-streamer-out.c (pack_ts_type_common_value_fields): Do not stream
6169 TYPE_NO_FORCE_BLK.
6170 * tree-streamer-in.c (unpack_ts_type_common_value_fields): Likewise.
6171
6172 2015-06-14 Richard Sandiford <richard.sandiford@arm.com>
6173
6174 * rtl.h (classify_insn): Declare.
6175 * emit-rtl.c (classify_insn): Move to...
6176 * rtl.c: ...here and add generator support.
6177 * gensupport.h (get_emit_function, needs_barrier_p): Declare.
6178 * gensupport.c (get_emit_function, needs_barrier_p): New functions.
6179 * genemit.c (gen_emit_seq): New function.
6180 (gen_expand, gen_split): Use it.
6181
6182 2015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
6183
6184 * tree.c (make_vector_stat): Fix comment to state that the
6185 function returns a VECTOR_CST.
6186
6187 2015-06-13 Richard Sandiford <richard.sandiford@arm.com>
6188
6189 * gensupport.h (add_implicit_parallel): Declare.
6190 * genrecog.c (add_implicit_parallel): Move to...
6191 * gensupport.c (add_implicit_parallel): ...here.
6192 (process_one_cond_exec): Use it.
6193 * genemit.c (gen_insn): Likewise.
6194
6195 2015-06-13 Iain Sandoe <iain@codesourcery.com>
6196
6197 PR bootstrap/66448
6198 * passes.c (rest_of_decl_compilation): Do not register globals for
6199 early debug if they are declared in built-ins.
6200
6201 2015-06-12 Aldy Hernandez <aldyh@redhat.com>
6202
6203 * dwarf2out.c (check_die): Protect with ENABLE_CHECKING.
6204
6205 2015-06-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6206
6207 * ifcvt.c (noce_try_store_flag_constants): Use std::swap instead of
6208 manually swapping.
6209 (noce_try_cmove_arith): Likewise.
6210 (noce_get_alt_condition): Likewise.
6211
6212 2015-06-12 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
6213
6214 * common/config/i386/i386-common.c
6215 (OPTION_MASK_ISA_MWAITX_SET): New.
6216 (ix86_handle_option): Handle mwaitx.
6217 * config.gcc (i[34567]86-*-*): Add mwaitxintrin.h,
6218 (x86_64-*-*): Likewise.
6219 * config/i386/mwaitxintrin.h: New header.
6220 * config/i386/cpuid.h (bit_MWAITX): Define.
6221 * config/i386/driver-i386.c (host_detect_local_cpu): Detect
6222 MWAITX support.
6223 * config/i386/i386.opt (mwaitx): New.
6224 * config/i386/i386-builtin-types.def
6225 (VOID_FTYPE_UNSIGNED_ UNSIGNED_UNSIGNED): New function type.
6226 * config/i386/i386-c.c: Define __MWAITX__ if needed.
6227 * config/i386/i386.c (ix86_target_string): Define -mmwaitx option.
6228 (PTA_MWAITX): New.
6229 (ix86_option_override_internal): Handle new option.
6230 (processor_alias_table): Added PTA_MWAITX.
6231 (ix86_valid_target_attribute_inner_p): Add OPT_mmwaitx.
6232 (ix86_builtins): Add IX86_BUILTIN_MWAITX, IX86_BUILTIN_MONITORX.
6233 (ix86_expand_builtin): Handle IX86_BUILTIN_MWAITX and
6234 IX86_BUILTIN_MONITORX built-ins.
6235 * config/i386/i386.h (TARGET_MWAITX): New.
6236 * config/i386/i386.md (unspecv): Add UNSPEC_MWAITX and
6237 UNSPEC_MONITORX.
6238 (mwaitx): New pattern.
6239 (monitorx_<mode>): New pattern.
6240 * config/i386/x86intrin.h: Include mwaitxintrin.h.
6241 * doc/extend.texi: Document monitorx and mwaitx builtins.
6242 * doc/invoke.texi: Document -mmwaitx option.
6243
6244 2015-06-12 Uros Bizjak <ubizjak@gmail.com>
6245
6246 * emit-rtl.c (need_atomic_barrier_p): Mask model with
6247 MEMMODEL_BASE_MASK. Remove MEMMODEL_SYNC_* cases.
6248
6249 2015-06-11 David Edelsohn <dje.gcc@gmail.com>
6250
6251 * dbxout.c (xcoff_debug_hooks): Provide a function for
6252 register_main_translation_unit hook.
6253
6254 2015-06-11 David Edelsohn <dje.gcc@gmail.com>
6255
6256 * config/rs6000/rs6000.c (rs6000_pre_atomic_barrier): Remove SYNC
6257 variants cases from switch.
6258 (rs6000_post_atomic_barrier): Same.
6259 (rs6000_expand_atomic_compare_and_swap): Use memmodel_base.
6260 (rs6000_expand_atomic_exchange): Same.
6261 (rs6000_expand_atomic_op): Same.
6262 * config/rs6000/sync.md (mem_thread_fence): Use memodel_base. Remove
6263 SYNC variants cases from switch.
6264 (atomic_load): Same.
6265 (atomic_store): Same.
6266
6267 2015-06-11 John David Anglin <danglin@gcc.gnu.org>
6268
6269 * config/pa/pa.c (pa_output_global_address): Handle LABEL_REF plus
6270 CONST_INT for goto.
6271
6272 2015-06-11 Aldy Hernandez <aldyh@redhat.com>
6273
6274 PR bootstrap/66448
6275 * dwarf2out.c (check_die): Check for common duplicate attributes.
6276 (add_location_or_const_value_attribute): Do not add duplicate
6277 attributes.
6278 (gen_formal_parameter_die): Do not add DW_AT_artificial the second
6279 time around.
6280 (gen_struct_or_union_type_die): Bail early if TREE_ASM_WRITTEN.
6281 (gen_type_die_with_usage): Call check_die.
6282 (dwarf2out_decl): Only call check_die() when ENABLE_CHECKING.
6283
6284 2015-06-11 Jason Merrill <jason@redhat.com>
6285
6286 * dwarf2out.c (prune_unused_types): Handle unused top-level limbo
6287 dies.
6288
6289 2015-06-11 Marek Polacek <polacek@redhat.com>
6290
6291 * match.pd ((x & y) ^ (x | y)): Don't check for single_use.
6292
6293 2015-06-11 Eric Botcazou <ebotcazou@adacore.com>
6294
6295 PR bootstrap/66252
6296 * config/sparc/sparc.c (hard_regno_mode_classes): Add ??? comment.
6297 * config/sparc/sparc.md (zero_extendsidi2_insn_sp32): Use single order.
6298 (*addx_extend_sp32): Fix pasto.
6299 (*subx_extend): Rename into...
6300 (*subx_extend_sp32): ...this.
6301 (*adddi3_extend_sp32): Add earlyclobber.
6302 (*subdi3_insn_sp32): Likewise.
6303 (*subdi3_extend_sp32): Likewise.
6304 (*and_not_di_sp32): Likewise.
6305 (*or_not_di_sp32): Likewise.
6306 (*xor_not_di_sp32): Likewise.
6307 (*negdi2_sp32): Likewise.
6308 (*one_cmpldi2_sp32): Likewise.
6309
6310 2015-06-11 Pierre-Marie de Rodat <derodat@adacore.com>
6311
6312 * debug.h (struct gcc_debug_hooks): Add a
6313 register_main_translation_unit hook.
6314 * debug.c (do_nothing_debug_hooks): Provide a function for this
6315 new hook.
6316 * dbxout.c (dbx_debug_hooks): Likewise.
6317 * sdbout.c (sdb_debug_hooks): Likewise.
6318 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
6319 * dwarf2out.c (main_translation_unit): New global variable.
6320 (dwarf2out_register_main_translation_unit): New function
6321 implementing the new hook.
6322 (dwarf2_debug_hooks): Assign
6323 dwarf2out_register_main_translation_unit to this new hook.
6324 (dwarf2out_init): Associate any main translation unit to
6325 comp_unit_die ().
6326
6327 2015-06-11 Marek Polacek <polacek@redhat.com>
6328
6329 * match.pd ((x & y) ^ (x | y) -> x ^ y): New pattern.
6330
6331 2015-06-11 Marek Polacek <polacek@redhat.com>
6332
6333 * match.pd: Use single_use throughout.
6334
6335 2015-06-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6336
6337 * config/arm/arm.c (arm_option_params_internal): When optimising
6338 for speed set max_insns_skipped when arm_restrict_it.
6339
6340 2015-06-11 Christian Bruel <christian.bruel@st.com>
6341
6342 PR target/52144
6343 * config/arm/arm-c.c (arm_cpu_cpp_builtins): Conditionally define
6344 macros in ...
6345 (arm_cpu_builtins): New function.
6346 (arm_pragma_target_parse): Call arm_cpu_builtins.
6347 * config/arm/arm-protos.h (arm_cpu_builtins): Declare.
6348 (arm_register_target_pragmas): Likewise.
6349 * config/arm/arm.h (REGISTER_TARGET_PRAGMAS):
6350 Call arm_register_target_pragmas.
6351 * config/arm/arm-c.c (arm_register_target_pragmas): New function.
6352 (arm_pragma_target_parse): Likewise.
6353
6354 2015-06-10 Kaz Kojima <kkojima@gcc.gnu.org>
6355
6356 * config/sh/sh.md (tstsi_t): Add '?' modifier to 'r' alternative
6357 of the second operand.
6358
6359 2015-06-10 Uros Bizjak <ubizjak@gmail.com>
6360
6361 PR target/66473
6362 * config/i386/i386.c (ix86_expand_vector_set): Use gen_int_mode
6363 to prepare mask operand for AVX512 modes.
6364
6365 2015-06-10 Michael Meissner <meissner@linux.vnet.ibm.com>
6366
6367 PR target/66474
6368 * doc/md.texi (Machine Constraints): Document that on the PowerPC
6369 if you use a constraint that targets a VSX register, you must use
6370 %x<n> in the template.
6371
6372 2015-06-10 Max Filippov <jcmvbkbc@gmail.com>
6373
6374 * config/xtensa/xtensa.h (TARGET_DEBUG): New definition.
6375 * config/xtensa/xtensa.md (define_attr "type"): New type "trap".
6376 (define_insn "trap"): New definition.
6377
6378 2015-06-10 Richard Biener <rguenther@suse.de>
6379
6380 * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Split
6381 out from ...
6382 (vect_supported_load_permutation_p): ... here. Handle
6383 supportable permutations in reductions.
6384 * tree-vect-stmts.c (vectorizable_load): Handle SLP permutations
6385 for vectorizing strided group loads.
6386
6387 2015-06-10 Jakub Jelinek <jakub@redhat.com>
6388
6389 PR target/66470
6390 * config/i386/i386.c (ix86_split_long_move): For collisions
6391 involving direct tls segment refs, move the UNSPEC_TP possibly
6392 wrapped in ZERO_EXTEND out of the address for lea, to each of
6393 the memory loads.
6394
6395 2015-06-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
6396
6397 * config/arm/sync.md (*memory_barrier): Use dmb ish instead of
6398 dmb sy. Adjust tabs.
6399
6400 2015-06-10 Tom de Vries <tom@codesourcery.com>
6401
6402 * omp-low.c (expand_omp_target): Remove duplicate declaration of node.
6403
6404 2015-06-10 Martin Liska <mliska@suse.cz>
6405
6406 PR bootstrap/66471
6407 * mem-stats-traits.h (enum mem_alloc_origin): Add _ORIGIN suffix for
6408 all enum values in mem_alloc_origin.
6409 * alloc-pool.c (dump_alloc_pool_statistics): Use newly changed enum
6410 name.
6411 * alloc-pool.h (pool_allocator::pool_allocator): Likewise.
6412 * bitmap.c (bitmap_register): Likewise.
6413 (dump_bitmap_statistics): Likewise.
6414 * ggc-common.c (dump_ggc_loc_statistics): Likewise.
6415 (ggc_record_overhead): Likewise.
6416 * hash-map.h: Likewise.
6417 * hash-set.h: Likewise.
6418 * hash-table.c (void dump_hash_table_loc_statistics): Likewise.
6419 * hash-table.h: Likewise.
6420 * vec.c (vec_prefix::register_overhead): Likewise.
6421 (vec_prefix::release_overhead): Likewise.
6422 (dump_vec_loc_statistics): Likewise.
6423
6424 2015-06-09 Christian Bruel <christian.bruel@st.com>
6425
6426 PR target/52144
6427 * config/arm/arm.opt (THUMB, arm_restrict_it, inline_asm_unified): Save.
6428 * config/arm/arm-protos.h (arm_valid_target_attribute_tree): Declare.
6429 (arm_reset_previous_fndecl, arm_change_mode_p): Likewise.
6430 * config/arm/arm.h (SWITCHABLE_TARGET): Define.
6431 * config/arm/arm.c (arm_reset_previous_fndecl): New functions.
6432 (arm_valid_target_attribute_tree, arm_change_mode_p): Likewise.
6433 (arm_valid_target_attribute_p): Likewise.
6434 (arm_set_current_function, arm_can_inline_p): Likewise.
6435 (arm_valid_target_attribute_rec): Likewise.
6436 (arm_previous_fndecl): New variable.
6437 (TARGET_SET_CURRENT_FUNCTION, TARGET_OPTION_VALID_ATTRIBUTE_P): Define.
6438 (TARGET_CAN_INLINE_P): Define.
6439 (arm_asm_trampoline_template): Emit mode.
6440 (arm_file_start): Don't set unified syntax.
6441 (arm_declare_function_name): Set unified syntax and mode.
6442 (arm_option_override): Init target_option_default_node.
6443 and target_option_current_node.
6444 * config/arm/arm.md (*call_value_symbol): Set mode when possible.
6445 (*call_symbol): Likewise.
6446 * doc/extend.texi: Document ARM/Thumb target attribute.
6447 * doc/invoke.texi: Likewise.
6448
6449 2015-06-09 Alexandre Oliva <aoliva@redhat.com>
6450
6451 Revert:
6452 2015-06-09 Alexandre Oliva <aoliva@redhat.com>
6453 PR rtl-optimization/64164
6454 * Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
6455 * tree-ssa-copyrename.c: Removed.
6456 * opts.c (default_options_table): Drop -ftree-copyrename. Add
6457 -ftree-coalesce-vars.
6458 * passes.def: Drop all occurrences of pass_rename_ssa_copies.
6459 * common.opt (ftree-copyrename): Ignore.
6460 (ftree-coalesce-inlined-vars): Likewise.
6461 * doc/invoke.texi: Remove the ignored options above.
6462 * gimple-expr.h (gimple_can_coalesce_p): Move declaration
6463 * tree-ssa-coalesce.h: ... here.
6464 * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
6465 headers required by it.
6466 * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
6467 across variables when flag_tree_coalesce_vars. Check register
6468 use and promoted modes to allow coalescing. Moved to
6469 tree-ssa-coalesce.c.
6470 * tree-ssa-live.c (struct tree_int_map_hasher): Move along
6471 with its member functions to tree-ssa-coalesce.c.
6472 (var_map_base_init): Likewise. Renamed to
6473 compute_samebase_partition_bases.
6474 (partition_view_normal): Drop want_bases parameter.
6475 (partition_view_bitmap): Likewise.
6476 * tree-ssa-live.h: Adjust declarations.
6477 * tree-ssa-coalesce.c: Include explow.h.
6478 (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
6479 default defs at the entry point.
6480 (dump_part_var_map): New.
6481 (compute_optimized_partition_bases): New, called by...
6482 (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
6483 of compute_samebase_partition_bases. Adjust.
6484 * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
6485 * cfgexpand.c (leader_merge): New.
6486 (get_rtl_for_parm_ssa_default_def): New.
6487 (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
6488 vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
6489 (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
6490 redundant MEM attr setting.
6491 (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
6492 from...
6493 (expand_one_stack_var): ... this. New wrapper to check and
6494 skip already expanded SSA partitions.
6495 (record_alignment_for_reg_var): New, factored out of...
6496 (expand_one_var): ... this.
6497 (expand_one_ssa_partition): New.
6498 (adjust_one_expanded_partition_var): New.
6499 (expand_one_register_var): Check and skip already expanded SSA
6500 partitions.
6501 (expand_used_vars): Don't create DECLs for anonymous SSA
6502 names. Expand all SSA partitions, then adjust all SSA names.
6503 (pass::execute): Replace the loops that set
6504 SA.partition_to_pseudo from partition leaders and cleared
6505 DECL_RTL for multi-location variables, and that which used to
6506 rename vars and set attrs, with one that clears DECL_RTL and
6507 checks that PARMs and RESULTs default_defs match DECL_RTL.
6508 * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
6509 * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl.
6510 * explow.c (promote_ssa_mode): New.
6511 * explow.h (promote_ssa_mode): Declare.
6512 * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
6513 * function.c: Include cfgexpand.h.
6514 (use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
6515 (use_register_for_parm_decl): Wrapper for the above to
6516 special-case the result_ptr.
6517 (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
6518 (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
6519 multiple locations.
6520 (assign_parm_adjust_stack_rtl): Add all and parm arguments,
6521 for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
6522 (assign_parm_setup_block): Prefer SSA-assigned location.
6523 (assign_parm_setup_reg): Likewise. Use entry_parm for equiv
6524 if stack_parm is NULL.
6525 (assign_parm_setup_stack): Prefer SSA-assigned location.
6526 (assign_parms): Maybe reset DECL_RTL of params. Adjust stack
6527 rtl before testing for pointer bounds. Special-case result_ptr.
6528 (expand_function_start): Maybe reset DECL_RTL of result.
6529 Prefer SSA-assigned location for result and static chain.
6530 Factor out DECL_RESULT and SET_DECL_RTL.
6531 * tree-outof-ssa.c (insert_value_copy_on_edge): Handle
6532 anonymous SSA names. Use promote_ssa_mode.
6533 (get_temp_reg): Likewise.
6534 (remove_ssa_form): Adjust.
6535 * var-tracking.c (dataflow_set_clear_at_call): Take call_insn
6536 and get its reg_usage for reg invalidation.
6537 (compute_bb_dataflow): Pass it insn.
6538 (emit_notes_in_bb): Likewise.
6539 * tree-ssa-loop-niter.c (loop_exits_before_overflow): Don't
6540 fail assert on conversion between unsigned types.
6541
6542 2015-06-09 Tom de Vries <tom@codesourcery.com>
6543
6544 PR tree-optimization/65460
6545 * omp-low.c (expand_omp_target): Set parallelized_function on
6546 cgraph_node for child_fn.
6547
6548 2015-06-09 Tom de Vries <tom@codesourcery.com>
6549
6550 * omp-low.c (finalize_task_copyfn, expand_omp_taskreg): Mark function
6551 parallelized_function before add_new_function.
6552
6553 2015-06-09 Andrew MacLeod <amacleod@redhat.com>
6554
6555 * gcc-plugin.h: Move decls to plugin.h and include it.
6556 * plugin.h: Relocate decls from gcc-plugin.h
6557 * ggc-page.c: Include required header files.
6558 * passes.c: Likewise.
6559 * cgraphunit.c: Likewise.
6560
6561 2015-06-09 Tom de Vries <tom@codesourcery.com>
6562
6563 * tree-stdarg.c (expand_ifn_va_arg_1): Handle location.
6564
6565 2015-06-09 Jason Merrill <jason@redhat.com>
6566
6567 PR bootstrap/66448
6568 * toplev.c (check_global_declaration): Don't warn about a clone.
6569
6570 2015-06-09 Marek Polacek <polacek@redhat.com>
6571
6572 PR tree-optimization/66299
6573 * match.pd ((CST1 << A) == CST2 -> A == ctz (CST2) - ctz (CST1)
6574 ((CST1 << A) != CST2 -> A != ctz (CST2) - ctz (CST1)): New
6575 patterns.
6576
6577 2015-06-09 Richard Biener <rguenther@suse.de>
6578
6579 * tree-vect-slp.c (vect_build_slp_tree_1): Remove bailout on gaps.
6580 (vect_analyze_slp_instance): Instead do not falsely drop
6581 load permutations.
6582
6583 2015-06-09 Richard Biener <rguenther@suse.de>
6584
6585 PR middle-end/66423
6586 * match.pd: Handle A % (unsigned)(1 << B).
6587
6588 2015-06-09 Aldy Hernandez <aldyh@redhat.com>
6589
6590 * varasm.c (output_object_block_htab): Remove.
6591 (output_object_block_compare): New.
6592 (output_object_blocks): Sort named object_blocks before outputting
6593 them.
6594
6595 2015-06-09 Richard Biener <rguenther@suse.de>
6596
6597 PR tree-optimization/66419
6598 * tree-vect-slp.c (vect_supported_load_permutation_p): Properly
6599 consider GROUP_GAP when detecting a perfect subchain.
6600
6601 2015-06-09 Nick Clifton <nickc@redhat.com>
6602
6603 * config/rl78/rl78.c (rl78_select_section): When -mes0 is active
6604 place read only data in the .frodata section.
6605
6606 2015-06-09 Shiva Chen <shiva0217@gmail.com>
6607
6608 * sync.md (atomic_load<mode>): Add conditional code for lda/ldr
6609 (atomic_store<mode>): Likewise.
6610
6611 2015-06-09 Richard Biener <rguenther@suse.de>
6612
6613 * cfgloop.c (get_loop_body_in_bfs_order): Fix assert.
6614
6615 2015-06-09 Richard Biener <rguenther@suse.de>
6616
6617 PR middle-end/66413
6618 * tree-inline.c (insert_init_debug_bind): Unshare value.
6619
6620 2015-06-09 Richard Biener <rguenther@suse.de>
6621
6622 PR tree-optimization/66396
6623 * graphite-isl-ast-to-gimple.c (graphite_regenerate_ast_isl):
6624 Rename virtual operands.
6625
6626 2015-06-09 Tom de Vries <tom@codesourcery.com>
6627
6628 * gimple-iterator.h (gimple_seq_nondebug_singleton_p): Don't
6629 always return false.
6630
6631 2015-06-09 Alexandre Oliva <aoliva@redhat.com>
6632
6633 PR rtl-optimization/64164
6634 * Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
6635 * tree-ssa-copyrename.c: Removed.
6636 * opts.c (default_options_table): Drop -ftree-copyrename. Add
6637 -ftree-coalesce-vars.
6638 * passes.def: Drop all occurrences of pass_rename_ssa_copies.
6639 * common.opt (ftree-copyrename): Ignore.
6640 (ftree-coalesce-inlined-vars): Likewise.
6641 * doc/invoke.texi: Remove the ignored options above.
6642 * gimple-expr.h (gimple_can_coalesce_p): Move declaration
6643 * tree-ssa-coalesce.h: ... here.
6644 * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
6645 headers required by it.
6646 * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
6647 across variables when flag_tree_coalesce_vars. Check register
6648 use and promoted modes to allow coalescing. Moved to
6649 tree-ssa-coalesce.c.
6650 * tree-ssa-live.c (struct tree_int_map_hasher): Move along
6651 with its member functions to tree-ssa-coalesce.c.
6652 (var_map_base_init): Likewise. Renamed to
6653 compute_samebase_partition_bases.
6654 (partition_view_normal): Drop want_bases parameter.
6655 (partition_view_bitmap): Likewise.
6656 * tree-ssa-live.h: Adjust declarations.
6657 * tree-ssa-coalesce.c: Include explow.h.
6658 (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
6659 default defs at the entry point.
6660 (dump_part_var_map): New.
6661 (compute_optimized_partition_bases): New, called by...
6662 (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
6663 of compute_samebase_partition_bases. Adjust.
6664 * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
6665 * cfgexpand.c (leader_merge): New.
6666 (get_rtl_for_parm_ssa_default_def): New.
6667 (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
6668 vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
6669 (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
6670 redundant MEM attr setting.
6671 (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
6672 from...
6673 (expand_one_stack_var): ... this. New wrapper to check and
6674 skip already expanded SSA partitions.
6675 (record_alignment_for_reg_var): New, factored out of...
6676 (expand_one_var): ... this.
6677 (expand_one_ssa_partition): New.
6678 (adjust_one_expanded_partition_var): New.
6679 (expand_one_register_var): Check and skip already expanded SSA
6680 partitions.
6681 (expand_used_vars): Don't create DECLs for anonymous SSA
6682 names. Expand all SSA partitions, then adjust all SSA names.
6683 (pass::execute): Replace the loops that set
6684 SA.partition_to_pseudo from partition leaders and cleared
6685 DECL_RTL for multi-location variables, and that which used to
6686 rename vars and set attrs, with one that clears DECL_RTL and
6687 checks that PARMs and RESULTs default_defs match DECL_RTL.
6688 * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
6689 * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl.
6690 * explow.c (promote_ssa_mode): New.
6691 * explow.h (promote_ssa_mode): Declare.
6692 * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
6693 * function.c: Include cfgexpand.h.
6694 (use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
6695 (use_register_for_parm_decl): Wrapper for the above to
6696 special-case the result_ptr.
6697 (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
6698 (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
6699 multiple locations.
6700 (assign_parm_adjust_stack_rtl): Add all and parm arguments,
6701 for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
6702 (assign_parm_setup_block): Prefer SSA-assigned location.
6703 (assign_parm_setup_reg): Likewise. Use entry_parm for equiv
6704 if stack_parm is NULL.
6705 (assign_parm_setup_stack): Prefer SSA-assigned location.
6706 (assign_parms): Maybe reset DECL_RTL of params. Adjust stack
6707 rtl before testing for pointer bounds. Special-case result_ptr.
6708 (expand_function_start): Maybe reset DECL_RTL of result.
6709 Prefer SSA-assigned location for result and static chain.
6710 Factor out DECL_RESULT and SET_DECL_RTL.
6711 * tree-outof-ssa.c (insert_value_copy_on_edge): Handle
6712 anonymous SSA names. Use promote_ssa_mode.
6713 (get_temp_reg): Likewise.
6714 (remove_ssa_form): Adjust.
6715 * var-tracking.c (dataflow_set_clear_at_call): Take call_insn
6716 and get its reg_usage for reg invalidation.
6717 (compute_bb_dataflow): Pass it insn.
6718 (emit_notes_in_bb): Likewise.
6719 * tree-ssa-loop-niter.c (loop_exits_before_overflow): Don't
6720 fail assert on conversion between unsigned types.
6721
6722 2015-06-09 Alexandre Oliva <aoliva@redhat.com>
6723
6724 PR debug/58315
6725 * tree-inline.c (reset_debug_binding): New.
6726 (reset_debug_bindings): Likewise.
6727 (expand_call_inline): Call it.
6728
6729 2015-06-08 Jan Hubicka <hubicka@ucw.cz>
6730
6731 * tree.c (gimple_canonical_types_compatible_p): Drop comparsion of
6732 TYPE_STRING_FLAG.
6733
6734 2015-06-08 Jan Hubicka <hubicka@ucw.cz>
6735
6736 * lto-streamer-out.c (lto_output_location): Stream
6737 reserved locations correctly.
6738 * lto-streamer-in.c (lto_output_location): Likewise.
6739
6740 2015-06-08 Andrew MacLeod <amacleod@redhat.com>
6741
6742 * coretypes.h: Include hash-table.h and hash-set.h for host files.
6743 * ggc.h: Don't include statistics.h>
6744 * hash-map.h: Remove all includes.
6745 * hash-set.h: Likewise.
6746 * hash-table.h: Add statistics.h, inchash.h and hash-map-traits.h to
6747 the include list. Remove <new>.
6748 * inchash.h: Remove all includes.
6749 * mem-stats.h: Likewise.
6750 * vec.h: No special processing for generators or ggc.
6751 * alias.c : Adjust include files.
6752 * alloc-pool.c : Likewise.
6753 * alloc-pool.h : Likewise.
6754 * asan.c : Likewise.
6755 * attribs.c : Likewise.
6756 * auto-inc-dec.c : Likewise.
6757 * auto-profile.c : Likewise.
6758 * bb-reorder.c : Likewise.
6759 * bitmap.c : Likewise.
6760 * bitmap.h : Likewise.
6761 * bt-load.c : Likewise.
6762 * builtins.c : Likewise.
6763 * caller-save.c : Likewise.
6764 * calls.c : Likewise.
6765 * ccmp.c : Likewise.
6766 * cfg.c : Likewise.
6767 * cfganal.c : Likewise.
6768 * cfgbuild.c : Likewise.
6769 * cfgcleanup.c : Likewise.
6770 * cfgexpand.c : Likewise.
6771 * cfghooks.c : Likewise.
6772 * cfgloop.c : Likewise.
6773 * cfgloop.h : Likewise.
6774 * cfgloopanal.c : Likewise.
6775 * cfgloopmanip.c : Likewise.
6776 * cfgrtl.c : Likewise.
6777 * cgraph.c : Likewise.
6778 * cgraphbuild.c : Likewise.
6779 * cgraphclones.c : Likewise.
6780 * cgraphunit.c : Likewise.
6781 * cilk-common.c : Likewise.
6782 * combine-stack-adj.c : Likewise.
6783 * combine.c : Likewise.
6784 * compare-elim.c : Likewise.
6785 * context.c : Likewise.
6786 * convert.c : Likewise.
6787 * coverage.c : Likewise.
6788 * cppbuiltin.c : Likewise.
6789 * cprop.c : Likewise.
6790 * cse.c : Likewise.
6791 * cselib.c : Likewise.
6792 * data-streamer-in.c : Likewise.
6793 * data-streamer-out.c : Likewise.
6794 * data-streamer.c : Likewise.
6795 * data-streamer.h : Likewise.
6796 * dbxout.c : Likewise.
6797 * dce.c : Likewise.
6798 * ddg.c : Likewise.
6799 * debug.c : Likewise.
6800 * df-core.c : Likewise.
6801 * df-problems.c : Likewise.
6802 * df-scan.c : Likewise.
6803 * df.h : Likewise.
6804 * dfp.c : Likewise.
6805 * dojump.c : Likewise.
6806 * dominance.c : Likewise.
6807 * domwalk.c : Likewise.
6808 * double-int.c : Likewise.
6809 * dse.c : Likewise.
6810 * dumpfile.c : Likewise.
6811 * dwarf2asm.c : Likewise.
6812 * dwarf2cfi.c : Likewise.
6813 * dwarf2out.c : Likewise.
6814 * emit-rtl.c : Likewise.
6815 * et-forest.c : Likewise.
6816 * except.c : Likewise.
6817 * except.h : Likewise.
6818 * explow.c : Likewise.
6819 * expmed.c : Likewise.
6820 * expr.c : Likewise.
6821 * final.c : Likewise.
6822 * fixed-value.c : Likewise.
6823 * fold-const.c : Likewise.
6824 * function.c : Likewise.
6825 * fwprop.c : Likewise.
6826 * gcc-plugin.h : Likewise.
6827 * gcc.c : Likewise.
6828 * gcse-common.c : Likewise.
6829 * gcse.c : Likewise.
6830 * genattrtab.c : Likewise.
6831 * genautomata.c : Likewise.
6832 * genconditions.c : Likewise.
6833 * genemit.c : Likewise.
6834 * generic-match-head.c : Likewise.
6835 * genextract.c : Likewise.
6836 * gengtype-state.c : Likewise.
6837 * gengtype.c : Likewise.
6838 * genhooks.c : Likewise.
6839 * genmatch.c : Likewise.
6840 * genmodes.c : Likewise.
6841 * genrecog.c : Likewise.
6842 * gensupport.c : Likewise.
6843 * ggc-common.c : Likewise.
6844 * ggc-internal.h : Likewise.
6845 * ggc-none.c : Likewise.
6846 * ggc-page.c : Likewise.
6847 * gimple-builder.c : Likewise.
6848 * gimple-expr.c : Likewise.
6849 * gimple-fold.c : Likewise.
6850 * gimple-iterator.c : Likewise.
6851 * gimple-low.c : Likewise.
6852 * gimple-match-head.c : Likewise.
6853 * gimple-pretty-print.c : Likewise.
6854 * gimple-ssa-isolate-paths.c : Likewise.
6855 * gimple-ssa-strength-reduction.c : Likewise.
6856 * gimple-ssa.h : Likewise.
6857 * gimple-streamer-in.c : Likewise.
6858 * gimple-streamer-out.c : Likewise.
6859 * gimple-streamer.h : Likewise.
6860 * gimple-walk.c : Likewise.
6861 * gimple.c : Likewise.
6862 * gimplify-me.c : Likewise.
6863 * gimplify.c : Likewise.
6864 * godump.c : Likewise.
6865 * graph.c : Likewise.
6866 * graphds.c : Likewise.
6867 * graphite-blocking.c : Likewise.
6868 * graphite-dependences.c : Likewise.
6869 * graphite-interchange.c : Likewise.
6870 * graphite-isl-ast-to-gimple.c : Likewise.
6871 * graphite-optimize-isl.c : Likewise.
6872 * graphite-poly.c : Likewise.
6873 * graphite-scop-detection.c : Likewise.
6874 * graphite-sese-to-poly.c : Likewise.
6875 * graphite.c : Likewise.
6876 * haifa-sched.c : Likewise.
6877 * hard-reg-set.h : Likewise.
6878 * hw-doloop.c : Likewise.
6879 * ifcvt.c : Likewise.
6880 * inchash.c : Likewise.
6881 * incpath.c : Likewise.
6882 * init-regs.c : Likewise.
6883 * input.c : Likewise.
6884 * internal-fn.c : Likewise.
6885 * ipa-chkp.c : Likewise.
6886 * ipa-comdats.c : Likewise.
6887 * ipa-cp.c : Likewise.
6888 * ipa-devirt.c : Likewise.
6889 * ipa-icf-gimple.c : Likewise.
6890 * ipa-icf.c : Likewise.
6891 * ipa-inline-analysis.c : Likewise.
6892 * ipa-inline-transform.c : Likewise.
6893 * ipa-inline.c : Likewise.
6894 * ipa-polymorphic-call.c : Likewise.
6895 * ipa-profile.c : Likewise.
6896 * ipa-prop.c : Likewise.
6897 * ipa-pure-const.c : Likewise.
6898 * ipa-ref.c : Likewise.
6899 * ipa-reference.c : Likewise.
6900 * ipa-split.c : Likewise.
6901 * ipa-utils.c : Likewise.
6902 * ipa-visibility.c : Likewise.
6903 * ipa.c : Likewise.
6904 * ira-build.c : Likewise.
6905 * ira-color.c : Likewise.
6906 * ira-conflicts.c : Likewise.
6907 * ira-costs.c : Likewise.
6908 * ira-emit.c : Likewise.
6909 * ira-lives.c : Likewise.
6910 * ira.c : Likewise.
6911 * jump.c : Likewise.
6912 * langhooks.c : Likewise.
6913 * lcm.c : Likewise.
6914 * libfuncs.h : Likewise.
6915 * lists.c : Likewise.
6916 * loop-doloop.c : Likewise.
6917 * loop-init.c : Likewise.
6918 * loop-invariant.c : Likewise.
6919 * loop-iv.c : Likewise.
6920 * loop-unroll.c : Likewise.
6921 * lower-subreg.c : Likewise.
6922 * lra-assigns.c : Likewise.
6923 * lra-coalesce.c : Likewise.
6924 * lra-constraints.c : Likewise.
6925 * lra-eliminations.c : Likewise.
6926 * lra-lives.c : Likewise.
6927 * lra-remat.c : Likewise.
6928 * lra-spills.c : Likewise.
6929 * lra.c : Likewise.
6930 * lto-cgraph.c : Likewise.
6931 * lto-compress.c : Likewise.
6932 * lto-opts.c : Likewise.
6933 * lto-section-in.c : Likewise.
6934 * lto-section-out.c : Likewise.
6935 * lto-streamer-in.c : Likewise.
6936 * lto-streamer-out.c : Likewise.
6937 * lto-streamer.c : Likewise.
6938 * lto-streamer.h : Likewise.
6939 * mcf.c : Likewise.
6940 * mode-switching.c : Likewise.
6941 * modulo-sched.c : Likewise.
6942 * omega.c : Likewise.
6943 * omp-low.c : Likewise.
6944 * optabs.c : Likewise.
6945 * opts-global.c : Likewise.
6946 * opts.h : Likewise.
6947 * passes.c : Likewise.
6948 * plugin.c : Likewise.
6949 * postreload-gcse.c : Likewise.
6950 * postreload.c : Likewise.
6951 * predict.c : Likewise.
6952 * print-rtl.c : Likewise.
6953 * print-tree.c : Likewise.
6954 * profile.c : Likewise.
6955 * read-md.c : Likewise.
6956 * read-md.h : Likewise.
6957 * read-rtl.c : Likewise.
6958 * real.c : Likewise.
6959 * realmpfr.c : Likewise.
6960 * recog.c : Likewise.
6961 * ree.c : Likewise.
6962 * reg-stack.c : Likewise.
6963 * regcprop.c : Likewise.
6964 * reginfo.c : Likewise.
6965 * regrename.c : Likewise.
6966 * regstat.c : Likewise.
6967 * reload.c : Likewise.
6968 * reload1.c : Likewise.
6969 * reorg.c : Likewise.
6970 * resource.c : Likewise.
6971 * rtl-chkp.c : Likewise.
6972 * rtl.c : Likewise.
6973 * rtl.h : Likewise.
6974 * rtlanal.c : Likewise.
6975 * rtlhash.c : Likewise.
6976 * rtlhash.h : Likewise.
6977 * rtlhooks.c : Likewise.
6978 * sanopt.c : Likewise.
6979 * sched-deps.c : Likewise.
6980 * sched-ebb.c : Likewise.
6981 * sched-rgn.c : Likewise.
6982 * sched-vis.c : Likewise.
6983 * sdbout.c : Likewise.
6984 * sel-sched-dump.c : Likewise.
6985 * sel-sched-ir.c : Likewise.
6986 * sel-sched-ir.h : Likewise.
6987 * sel-sched.c : Likewise.
6988 * sese.c : Likewise.
6989 * shrink-wrap.c : Likewise.
6990 * shrink-wrap.h : Likewise.
6991 * simplify-rtx.c : Likewise.
6992 * stack-ptr-mod.c : Likewise.
6993 * statistics.c : Likewise.
6994 * stmt.c : Likewise.
6995 * stor-layout.c : Likewise.
6996 * store-motion.c : Likewise.
6997 * stringpool.c : Likewise.
6998 * symtab.c : Likewise.
6999 * target-globals.c : Likewise.
7000 * targhooks.c : Likewise.
7001 * tlink.c : Likewise.
7002 * toplev.c : Likewise.
7003 * tracer.c : Likewise.
7004 * trans-mem.c : Likewise.
7005 * tree-affine.c : Likewise.
7006 * tree-affine.h : Likewise.
7007 * tree-browser.c : Likewise.
7008 * tree-call-cdce.c : Likewise.
7009 * tree-cfg.c : Likewise.
7010 * tree-cfgcleanup.c : Likewise.
7011 * tree-chkp-opt.c : Likewise.
7012 * tree-chkp.c : Likewise.
7013 * tree-chrec.c : Likewise.
7014 * tree-complex.c : Likewise.
7015 * tree-data-ref.c : Likewise.
7016 * tree-dfa.c : Likewise.
7017 * tree-diagnostic.c : Likewise.
7018 * tree-dump.c : Likewise.
7019 * tree-eh.c : Likewise.
7020 * tree-eh.h : Likewise.
7021 * tree-emutls.c : Likewise.
7022 * tree-hasher.h : Likewise.
7023 * tree-if-conv.c : Likewise.
7024 * tree-inline.c : Likewise.
7025 * tree-inline.h : Likewise.
7026 * tree-into-ssa.c : Likewise.
7027 * tree-iterator.c : Likewise.
7028 * tree-loop-distribution.c : Likewise.
7029 * tree-nested.c : Likewise.
7030 * tree-nrv.c : Likewise.
7031 * tree-object-size.c : Likewise.
7032 * tree-outof-ssa.c : Likewise.
7033 * tree-parloops.c : Likewise.
7034 * tree-phinodes.c : Likewise.
7035 * tree-predcom.c : Likewise.
7036 * tree-pretty-print.c : Likewise.
7037 * tree-profile.c : Likewise.
7038 * tree-scalar-evolution.c : Likewise.
7039 * tree-sra.c : Likewise.
7040 * tree-ssa-address.c : Likewise.
7041 * tree-ssa-alias.c : Likewise.
7042 * tree-ssa-ccp.c : Likewise.
7043 * tree-ssa-coalesce.c : Likewise.
7044 * tree-ssa-copy.c : Likewise.
7045 * tree-ssa-copyrename.c : Likewise.
7046 * tree-ssa-dce.c : Likewise.
7047 * tree-ssa-dom.c : Likewise.
7048 * tree-ssa-dse.c : Likewise.
7049 * tree-ssa-forwprop.c : Likewise.
7050 * tree-ssa-ifcombine.c : Likewise.
7051 * tree-ssa-live.c : Likewise.
7052 * tree-ssa-loop-ch.c : Likewise.
7053 * tree-ssa-loop-im.c : Likewise.
7054 * tree-ssa-loop-ivcanon.c : Likewise.
7055 * tree-ssa-loop-ivopts.c : Likewise.
7056 * tree-ssa-loop-manip.c : Likewise.
7057 * tree-ssa-loop-niter.c : Likewise.
7058 * tree-ssa-loop-prefetch.c : Likewise.
7059 * tree-ssa-loop-unswitch.c : Likewise.
7060 * tree-ssa-loop.c : Likewise.
7061 * tree-ssa-math-opts.c : Likewise.
7062 * tree-ssa-operands.c : Likewise.
7063 * tree-ssa-phiopt.c : Likewise.
7064 * tree-ssa-phiprop.c : Likewise.
7065 * tree-ssa-pre.c : Likewise.
7066 * tree-ssa-propagate.c : Likewise.
7067 * tree-ssa-reassoc.c : Likewise.
7068 * tree-ssa-sccvn.c : Likewise.
7069 * tree-ssa-scopedtables.c : Likewise.
7070 * tree-ssa-sink.c : Likewise.
7071 * tree-ssa-strlen.c : Likewise.
7072 * tree-ssa-structalias.c : Likewise.
7073 * tree-ssa-tail-merge.c : Likewise.
7074 * tree-ssa-ter.c : Likewise.
7075 * tree-ssa-threadedge.c : Likewise.
7076 * tree-ssa-threadupdate.c : Likewise.
7077 * tree-ssa-uncprop.c : Likewise.
7078 * tree-ssa-uninit.c : Likewise.
7079 * tree-ssa.c : Likewise.
7080 * tree-ssanames.c : Likewise.
7081 * tree-stdarg.c : Likewise.
7082 * tree-streamer-in.c : Likewise.
7083 * tree-streamer-out.c : Likewise.
7084 * tree-streamer.c : Likewise.
7085 * tree-streamer.h : Likewise.
7086 * tree-switch-conversion.c : Likewise.
7087 * tree-tailcall.c : Likewise.
7088 * tree-vect-data-refs.c : Likewise.
7089 * tree-vect-generic.c : Likewise.
7090 * tree-vect-loop-manip.c : Likewise.
7091 * tree-vect-loop.c : Likewise.
7092 * tree-vect-patterns.c : Likewise.
7093 * tree-vect-slp.c : Likewise.
7094 * tree-vect-stmts.c : Likewise.
7095 * tree-vectorizer.c : Likewise.
7096 * tree-vectorizer.h : Likewise.
7097 * tree-vrp.c : Likewise.
7098 * tree.c : Likewise.
7099 * tsan.c : Likewise.
7100 * ubsan.c : Likewise.
7101 * valtrack.c : Likewise.
7102 * valtrack.h : Likewise.
7103 * value-prof.c : Likewise.
7104 * var-tracking.c : Likewise.
7105 * varasm.c : Likewise.
7106 * varpool.c : Likewise.
7107 * vec.c: Likewise.
7108 * vmsdbgout.c : Likewise.
7109 * vtable-verify.c : Likewise.
7110 * vtable-verify.h : Likewise.
7111 * web.c : Likewise.
7112 * wide-int.cc : Likewise.
7113 * xcoffout.c : Likewise.
7114 * config/aarch64/aarch64-builtins.c : Likewise.
7115 * config/aarch64/aarch64.c : Likewise.
7116 * config/aarch64/cortex-a57-fma-steering.c : Likewise.
7117 * config/alpha/alpha.c : Likewise.
7118 * config/arc/arc.c : Likewise.
7119 * config/arm/aarch-common.c : Likewise.
7120 * config/arm/arm-builtins.c : Likewise.
7121 * config/arm/arm-c.c : Likewise.
7122 * config/arm/arm.c : Likewise.
7123 * config/avr/avr-c.c : Likewise.
7124 * config/avr/avr-log.c : Likewise.
7125 * config/avr/avr.c : Likewise.
7126 * config/bfin/bfin.c : Likewise.
7127 * config/c6x/c6x.c : Likewise.
7128 * config/cr16/cr16.c : Likewise.
7129 * config/cris/cris.c : Likewise.
7130 * config/darwin-c.c : Likewise.
7131 * config/darwin.c : Likewise.
7132 * config/default-c.c : Likewise.
7133 * config/epiphany/epiphany.c : Likewise.
7134 * config/epiphany/mode-switch-use.c : Likewise.
7135 * config/epiphany/resolve-sw-modes.c : Likewise.
7136 * config/fr30/fr30.c : Likewise.
7137 * config/frv/frv.c : Likewise.
7138 * config/ft32/ft32.c : Likewise.
7139 * config/glibc-c.c : Likewise.
7140 * config/h8300/h8300.c : Likewise.
7141 * config/i386/i386-c.c : Likewise.
7142 * config/i386/i386.c : Likewise.
7143 * config/i386/msformat-c.c : Likewise.
7144 * config/i386/winnt-cxx.c : Likewise.
7145 * config/i386/winnt-stubs.c : Likewise.
7146 * config/i386/winnt.c : Likewise.
7147 * config/ia64/ia64-c.c : Likewise.
7148 * config/ia64/ia64.c : Likewise.
7149 * config/iq2000/iq2000.c : Likewise.
7150 * config/lm32/lm32.c : Likewise.
7151 * config/m32c/m32c-pragma.c : Likewise.
7152 * config/m32c/m32c.c : Likewise.
7153 * config/m32r/m32r.c : Likewise.
7154 * config/m68k/m68k.c : Likewise.
7155 * config/mcore/mcore.c : Likewise.
7156 * config/mep/mep-pragma.c : Likewise.
7157 * config/mep/mep.c : Likewise.
7158 * config/microblaze/microblaze-c.c : Likewise.
7159 * config/microblaze/microblaze.c : Likewise.
7160 * config/mips/mips.c : Likewise.
7161 * config/mmix/mmix.c : Likewise.
7162 * config/mn10300/mn10300.c : Likewise.
7163 * config/moxie/moxie.c : Likewise.
7164 * config/msp430/msp430-c.c : Likewise.
7165 * config/msp430/msp430.c : Likewise.
7166 * config/nds32/nds32-cost.c : Likewise.
7167 * config/nds32/nds32-fp-as-gp.c : Likewise.
7168 * config/nds32/nds32-intrinsic.c : Likewise.
7169 * config/nds32/nds32-isr.c : Likewise.
7170 * config/nds32/nds32-md-auxiliary.c : Likewise.
7171 * config/nds32/nds32-memory-manipulation.c : Likewise.
7172 * config/nds32/nds32-pipelines-auxiliary.c : Likewise.
7173 * config/nds32/nds32-predicates.c : Likewise.
7174 * config/nds32/nds32.c : Likewise.
7175 * config/nios2/nios2.c : Likewise.
7176 * config/nvptx/nvptx.c : Likewise.
7177 * config/pa/pa.c : Likewise.
7178 * config/pdp11/pdp11.c : Likewise.
7179 * config/rl78/rl78-c.c : Likewise.
7180 * config/rl78/rl78.c : Likewise.
7181 * config/rs6000/rs6000-c.c : Likewise.
7182 * config/rs6000/rs6000.c : Likewise.
7183 * config/rx/rx.c : Likewise.
7184 * config/s390/s390-c.c : Likewise.
7185 * config/s390/s390.c : Likewise.
7186 * config/sh/sh-c.c : Likewise.
7187 * config/sh/sh-mem.cc : Likewise.
7188 * config/sh/sh.c : Likewise.
7189 * config/sh/sh_optimize_sett_clrt.cc : Likewise.
7190 * config/sh/sh_treg_combine.cc : Likewise.
7191 * config/sol2-c.c : Likewise.
7192 * config/sol2-cxx.c : Likewise.
7193 * config/sol2-stubs.c : Likewise.
7194 * config/sol2.c : Likewise.
7195 * config/sparc/sparc-c.c : Likewise.
7196 * config/sparc/sparc.c : Likewise.
7197 * config/spu/spu-c.c : Likewise.
7198 * config/spu/spu.c : Likewise.
7199 * config/stormy16/stormy16.c : Likewise.
7200 * config/tilegx/mul-tables.c : Likewise.
7201 * config/tilegx/tilegx-c.c : Likewise.
7202 * config/tilegx/tilegx.c : Likewise.
7203 * config/tilepro/mul-tables.c : Likewise.
7204 * config/tilepro/tilepro-c.c : Likewise.
7205 * config/tilepro/tilepro.c : Likewise.
7206 * config/v850/v850-c.c : Likewise.
7207 * config/v850/v850.c : Likewise.
7208 * config/vax/vax.c : Likewise.
7209 * config/visium/visium.c : Likewise.
7210 * config/vms/vms-c.c : Likewise.
7211 * config/vms/vms.c : Likewise.
7212 * config/vxworks.c : Likewise.
7213 * config/winnt-c.c : Likewise.
7214 * config/xtensa/xtensa.c : Likewise.
7215
7216 2015-06-08 Jan Hubicka <hubicka@ucw.cz>
7217
7218 PR lto/65378
7219 * ipa-utils.h (warn_types_mismatch): Update prototype.
7220 * ipa-devirt.c (odr_types_equivalent_p): Add loc1/loc2
7221 parameters.
7222 (type_mismatch_p): New function.
7223 (warn_types_mismatch): Reorg to work better on non-C++ types.
7224 (odr_types_equivalent_p): Add loc1/loc2 parameters.
7225 (add_type_duplicate): Update.
7226
7227 2015-06-08 Tom de Vries <tom@codesourcery.com>
7228
7229 PR rtl-optimization/66444
7230 * postreload.c (reload_combine): Use get_call_reg_set_usage instead of
7231 call_used_regs.
7232
7233 2015-06-08 Richard Biener <rguenther@suse.de>
7234
7235 PR tree-optimization/66422
7236 * tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Split
7237 block after inserted gcc_unreachable.
7238
7239 2015-06-08 Nick Clifton <nickc@redhat.com>
7240
7241 * config/rx/rx.c (rx_function_value): Do not promote vector types.
7242 (rx_promote_function_mode): Likewise.
7243 * config/rx/rx.h (LIBCALL_VALUE): Likewise.
7244
7245 2015-06-08 Jakub Jelinek <jakub@redhat.com>
7246
7247 * genattrtab.c (insn_alternatives): Change type from int *
7248 to uint64_t *.
7249 (check_attr_test): Shift ((uint64_t) 1) instead of 1 up.
7250 (get_attr_value): Change type of num_alt to uint64_t.
7251 (compute_alternative_mask): Change return type from
7252 int to uint64_t, shift ((uint64_t) 1) instead of 1 up.
7253 (make_alternative_compare, mk_attr_alt): Change argument type
7254 from int to uint64_t.
7255 (simplify_test_exp): Change type of i from int to uint64_t.
7256 Shift ((uint64_t) 1) instead of 1 up.
7257 (main): Adjust oballocvec first argument from int to uint64_t.
7258 Shift ((uint64_t) 1) instead of 1 up.
7259
7260 2015-06-08 Jan Kratochvil <jan.kratochvil@redhat.com>
7261
7262 PR other/65366
7263 * gdbhooks.py: Import sys.
7264 (intptr): New function. Replace int(...) by intptr(...).
7265
7266 2015-06-08 Richard Biener <rguenther@suse.de>
7267
7268 * tree-vect-stmts.c (vectorizable_load): Compute the pointer
7269 adjustment for gaps at the end of a SLP load group properly.
7270 * tree-vect-slp.c (vect_supported_load_permutation_p): Allow
7271 all permutations we can generate.
7272 (vect_transform_slp_perm_load): Use the correct group-size.
7273
7274 2015-06-08 Marc Glisse <marc.glisse@inria.fr>
7275
7276 * genmatch.c (expr::gen_transform): For conditions, guess the type
7277 from the second operand.
7278
7279 2015-06-08 Tom de Vries <tom@codesourcery.com>
7280
7281 PR tree-optimization/66442
7282 * gimple-iterator.h (gimple_seq_nondebug_singleton_p): Add function.
7283 * tree-parloops.c (try_transform_to_exit_first_loop_alt): Return false
7284 if the loop latch is not a singleton. Use
7285 gimple_seq_nondebug_singleton_p instead of gimple_seq_singleton_p.
7286
7287 2015-06-08 Marek Polacek <polacek@redhat.com>
7288
7289 PR sanitizer/66452
7290 * toplev.c (check_global_declaration): Don't warn about artificial
7291 decls.
7292
7293 2015-06-08 Tom de Vries <tom@codesourcery.com>
7294
7295 PR tree-optimization/66436
7296 * cgraphunit.c (cgraph_node::analyze): Don't dump function to gimple
7297 dump file.
7298 * gimplify.c: Add tree-dump.h include.
7299 (gimplify_function_tree): Dump function to gimple dump file.
7300 * stor-layout.c (finalize_size_functions): Don't dump function to gimple
7301 dump file.
7302
7303 2015-06-08 Tom de Vries <tom@codesourcery.com>
7304
7305 PR tree-optimization/66435
7306 * cgraphunit.c (cgraph_node::add_new_function): Dump message on new
7307 function.
7308
7309 2015-06-06 Jan Hubicka <hubicka@ucw.cz>
7310
7311 * alias.c (get_alias_set): Be ready for TYPE_CANONICAL
7312 of ptr_type_node to not be ptr_to_node.
7313 * tree.c (gimple_types_compatible_p): Do not match TREE_CODE of
7314 TREE_TYPE of pointers.
7315 * gimple-expr.c (useless_type_conversion): Reorder the check for
7316 function pointers and TYPE_CANONICAL.
7317
7318 2015-06-06 John David Anglin <danglin@gcc.gnu.org>
7319
7320 PR bootstrap/66319
7321 * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Rearrange builtin
7322 defines. Define _LARGEFILE_SOURCE and _LARGEFILE64_SOURCE for c++.
7323 Define _XOPEN_UNIX and _XOPEN_SOURCE_EXTENDED for c++ if unix95 or
7324 later.
7325 * config/pa/pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Likewise.
7326 Define _INCLUDE_STDC_SOURCE_PRE_199901, _INCLUDE_STDC_SOURCE_199901,
7327 _INCLUDE_XOPEN_SOURCE_PRE_500, _INCLUDE_XOPEN_SOURCE_520,
7328 _INCLUDE_XOPEN_SOURCE_PRE_600 and _INCLUDE_XOPEN_SOURCE_600 for c++
7329 and non iso if unix2003.
7330
7331 2015-06-06 Aldy Hernandez <aldyh@redhat.com>
7332
7333 * dwarf2out.c (gen_lexical_block_die): Initialize stmt_die.
7334
7335 2015-06-06 Richard Sandiford <richard.sandiford@arm.com>
7336
7337 * emit-rtl.c, expr.c, gcse.c, optabs.c, optabs.h, print-rtl.c,
7338 rtl.h, bb-reorder.c, builtins.c, calls.c, cfgbuild.c, cfgexpand.c,
7339 cfgrtl.c, cilk-common.c, config/i386/i386.md, cse.c, dwarf2cfi.c,
7340 except.c, final.c, function.c, gcse-common.c, genemit.c,
7341 haifa-sched.c, ifcvt.c, jump.c, loop-invariant.c, loop-iv.c,
7342 lra-constraints.c, lra.c, reload1.c, resource.c, rtlanal.c,
7343 sched-deps.c, sched-ebb.c, sel-sched-ir.c, sel-sched.c,
7344 shrink-wrap.c, stmt.c, store-motion.c: Replace rtx base types with
7345 more derived ones.
7346
7347 2015-06-06 Mikhail Maltsev <maltsevm@gmail.com>
7348
7349 * combine.c (combine_split_insns): Remove cast.
7350 * config/bfin/bfin.c (hwloop_fail): Add cast in try_split call.
7351 * config/sh/sh.c (sh_try_split_insn_simple): Remove cast.
7352 * config/sh/sh_treg_combine.cc (sh_treg_combine::execute): Add cast.
7353 * emit-rtl.c (try_split): Promote type of trial argument to rtx_insn.
7354 * genemit.c (gen_split): Change return type of generated functions to
7355 rtx_insn.
7356 * genrecog.c (get_failure_return): Use NULL instead of NULL_RTX.
7357 (print_subroutine_start): Promote rtx to rtx_insn in gen_split_* and
7358 gen_peephole2_* functions.
7359 (print_subroutine, main): Likewise.
7360 * recog.c (peephole2_optimize): Remove cast.
7361 (peep2_next_insn): Promote return type to rtx_insn.
7362 * recog.h (peep2_next_insn): Fix prototype.
7363 * rtl.h (try_split, split_insns): Likewise.
7364
7365 2015-06-06 DJ Delorie <dj@redhat.com>
7366
7367 * config/msp430/msp430.c (msp430_asm_integer): Support addition
7368 and subtraction too.
7369
7370 2015-06-05 Kaz Kojima <kkojima@gcc.gnu.org>
7371
7372 PR target/66410
7373 * config/sh/constraints.md (Sid, Ssd): New memory constraints.
7374 * config/sh/sh.md (*mov<mode>): Use Sid and Ssd alternatives
7375 instead of Snd. Disparage Sid/z alternative with '^'.
7376
7377 2015-06-05 Aldy Hernandez <aldyh@redhat.com>
7378
7379 * dwarf2out.c: Remove deferred_locations*.
7380 (dwarf2_debug_hooks): Add early_finish hook.
7381 Remove global_decl hook.
7382 Add early_global_decl and late_global_decl hook.
7383 New global early_dwarf.
7384 New structure set_early_dwarf.
7385 (output_die): Indicate whether a DIE was generated early
7386 when generating assembly with -dA.
7387 (struct limbo_die_struct): Document created_for field.
7388 Remove file_table_last_lookup.
7389 (remove_AT): Return TRUE if successful.
7390 (remove_child_TAG): Clear die_parent.
7391 (reparent_child): New function abstracted from...
7392 (splice_child_die): ...here.
7393 (new_die): ICE if a DIE ends up in limbo too late.
7394 (check_die): New.
7395 (defer_location): Remove.
7396 (add_subscript_info): Reuse DW_TAG_subrange_type if available.
7397 (fill_variable_array_bounds): New.
7398 (decl_start_label): Call fill_variable_array_bounds.
7399 (gen_formal_parameter_die): Rewrite to reuse previously generated
7400 DIEs.
7401 (gen_subprogram_die): Same.
7402 (gen_variable_die): Same.
7403 (gen_const_die): Same.
7404 (gen_label_die): Same.
7405 (gen_lexical_block_die): Same.
7406 (decl_will_get_specification_p): New.
7407 (local_function_static): New.
7408 (gen_struct_or_union_type_die): Fill in variable-length fields.
7409 (gen_typedef_die): Fill in variable-length typedefs.
7410 (gen_tagged_type_die): Gracefully return on error_mark_node.
7411 Handle re-entrancy.
7412 (gen_type_die_with_usage): Handle variable-length types.
7413 Remove duplicate code for ARRAY_TYPE case.
7414 (process_scope_var): Only process imported modules during early
7415 dwarf.
7416 (dwarf2out_early_global_decl): New.
7417 (dwarf2out_late_global_decl): Rename from dwarf2out_global_decl.
7418 (dwarf2out_type_decl): Set early_dwarf while calling
7419 dwarf2out_decl.
7420 (dwarf2out_decl): Verify that we did not recreate a previously
7421 generated DIE.
7422 Do not return on DECL_EXTERNALs in VAR_DECLs.
7423 Abstract some code to local_function_static.
7424 (lookup_filename): Remove use of file_table_last_lookup.
7425 Gracefully exit on missing file_name.
7426 (dwarf2out_finish): Verify limbo list.
7427 Remove deferred_locations_list use.
7428 Move deferred_asm_name and limbo flushing to...
7429 (dwarf2out_early_finish): ...here. New.
7430 (dwarf2out_c_finalize): Remove set of deferred_location_list,
7431 deferred_asm_name, and file_table_last_lookup.
7432 * cgraph.h (referred_to_p): Add default argument.
7433 * cgraphunit.c (referred_to_p): Add and handle include_self
7434 argument.
7435 (analyze_functions): Add first_time argument.
7436 Call check_global_declaration for all symbols.
7437 Call late_global_decl for nodes for moribund nodes.
7438 (finalize_compilation_unit): Add new argument to
7439 analyze_functions.
7440 Call early_global_decl for functions.
7441 Call early_finish debug hook.
7442 * dbxout.c (dbxout_early_global_decl): New.
7443 (dbxout_late_global_decl): New. Adapted from dbxout_global_decl.
7444 (dbx_debug_hooks): Add new hooks.
7445 (xcoff_debug_hooks): Same.
7446 * debug.c (do_nothing_debug_hooks): Add early_finish field.
7447 Add early and late debug hooks.
7448 Remove global_decl hook.
7449 * debug.h (struct gcc_debug_hooks): Add early_finish,
7450 early_global_decl, and late_global_decl fields.
7451 Remove global_decl field.
7452 Document gcc_debug_hooks.
7453 * gengtype.c (output_typename): Remove.
7454 * godump.c (go_early_global_decl): New.
7455 (go_late_global_decl): New.
7456 (go_global_decl): Remove.
7457 (dump_go_spec_init): Remove global_decl. Add
7458 {early,late}_global_decl.
7459 * langhooks-def.h (LANG_HOOKS_WRITE_GLOBALS): Remove.
7460 (LANG_HOOKS_POST_COMPILATION_PARSING_CLEANUPS): New.
7461 * langhooks.c (lhd_warn_unused_global_decl): Adjust comment.
7462 (write_global_declarations): Remove.
7463 (global_decl_processing): New.
7464 * langhooks.h (struct lang_hooks_for_decls): Remove
7465 final_write_globals field.
7466 Add post_compilation_parsing_cleanups field.
7467 * passes.c (rest_of_decl_compilation): Call early_global_decl.
7468 * sdbout.c: Add early and late_global_decl hooks. Remove
7469 sdbout_global_decl hook.
7470 Add early_finish field for sdb_debug_hooks.
7471 (sdbout_global_decl): Remove.
7472 (sdbout_early_global_decl): New.
7473 (sdbout_late_global_decl): New.
7474 * timevar.def (TV_PHASE_LATE_PARSING_CLEANUPS): New.
7475 * toplev.c (check_global_declaration): Rename from
7476 check_global_declaration_1.
7477 Adapt to use symtab infrastructure.
7478 (check_global_declarations): Remove.
7479 (emit_debug_global_declarations): Remove.
7480 (compile_file): Remove call to final_write_globals langhook.
7481 Run the actual compilation process.
7482 Perform any post compilation parser cleanups.
7483 Generate late debug info.
7484 * toplev.h (check_global_declaration): New.
7485 (check_global_declaration_1): Remove.
7486 (check_global_declarations): Remove.
7487 (write_global_declarations): Remove.
7488 (emit_debug_global_declarations): Remove.
7489 (global_decl_processing): New.
7490 * tree-core.h (struct tree_block): Add DIE field.
7491 * tree.h (BLOCK_DIE): New.
7492 * vmsdbgout.c (vmsdbgout_global_decl): Remove function and its use
7493 throughout.
7494 (vmsdbgout_early_global_decl): New.
7495 (vmsdbgout_late_global_decl): New.
7496 Add early_finish debug hook field to vmsdbg_debug_hooks.
7497 Remove vmsdbgout_decl to vmsdbgout_function_decl.
7498 Add early and late_global_decl debug hooks.
7499
7500 2015-06-05 Julian Brown <julian@codesourcery.com>
7501 Sandra Loosemore <sandra@codesourcery.com>
7502
7503 * config/print-sysroot-suffix.sh: Handle MULTILIB_REUSE settings.
7504 * config/t-sysroot-suffix (sysroot-suffix.h): Pass MULTILIB_REUSE
7505 to print-sysroot-suffix.sh script.
7506
7507 2015-06-05 Tom de Vries <tom@codesourcery.com>
7508
7509 merge from gomp4 branch:
7510 2015-05-28 Tom de Vries <tom@codesourcery.com>
7511
7512 PR tree-optimization/65443
7513 * tree-parloops.c (replace_imm_uses, replace_uses_in_bb_by)
7514 (replace_uses_in_bbs_by, transform_to_exit_first_loop_alt)
7515 (try_transform_to_exit_first_loop_alt): New function.
7516 (transform_to_exit_first_loop): Use
7517 try_transform_to_exit_first_loop_alt.
7518
7519 2015-06-05 James Greenhalgh <james.greenhalgh@arm.com>
7520
7521 * builtins.c (expand_builtin_atomic_compare_exchange): Call
7522 emit_cmp_and_jump_insns with the mode of target.
7523
7524 2015-06-05 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
7525
7526 * config/i386/sse.md (sse3_mwait): Swap the operand constriants.
7527
7528 2015-06-04 DJ Delorie <dj@redhat.com>
7529
7530 * config/msp430/msp430.md (movsi_s): New. Special case for
7531 storing a 20-bit symbol into a 32-bit register.
7532 * config/msp430/msp430.c (msp430_subreg): Add support for it.
7533 * config/msp430/predicates.md (msp430_symbol_operand): New.
7534
7535 2015-06-04 Sriraman Tallam <tmsriram@google.com>
7536
7537 * c-family/c-common.c (noplt): New attribute.
7538 (handle_noplt_attribute): New handler.
7539 * calls.c (prepare_call_address): Check for noplt
7540 attribute.
7541 * config/i386/i386.c (ix86_expand_call): Check
7542 for noplt attribute.
7543 (ix86_nopic_noplt_attribute_p): New function.
7544 (ix86_output_call_insn): Output indirect call for non-pic
7545 no plt calls.
7546 * doc/extend.texi (noplt): Document new attribute.
7547 * doc/invoke.texi: Document new attribute.
7548
7549 2015-06-04 Andrew MacLeod <amacleod@redhat.com>
7550
7551 * coretypes.h: Include machmode.h, signop.h, wide-int.h, double-int.h,
7552 real.h, and fixed-value.h when included in host source files.
7553 * double-int.h: Remove redundant #includes listed above.
7554 * fixed-value.h: Likewise.
7555 * real.h: Likewise.
7556 * wide-int.h: Likewise.
7557 * inchash.h: Likewise.
7558 * rtl.h: Add some include files When included from a generator file.
7559 * target.h: Remove wide-int.h and insn-modes.h from the include list.
7560 * internal-fn.h: Don't include coretypes.h.
7561 * alias.c: Adjust includes for restructured coretypes.h.
7562 * asan.c: Likewise.
7563 * attribs.c: Likewise.
7564 * auto-inc-dec.c: Likewise.
7565 * auto-profile.c: Likewise.
7566 * bb-reorder.c: Likewise.
7567 * bt-load.c: Likewise.
7568 * builtins.c: Likewise.
7569 * caller-save.c: Likewise.
7570 * calls.c: Likewise.
7571 * ccmp.c: Likewise.
7572 * cfg.c: Likewise.
7573 * cfganal.c: Likewise.
7574 * cfgbuild.c: Likewise.
7575 * cfgcleanup.c: Likewise.
7576 * cfgexpand.c: Likewise.
7577 * cfghooks.c: Likewise.
7578 * cfgloop.c: Likewise.
7579 * cfgloop.h: Likewise.
7580 * cfgloopanal.c: Likewise.
7581 * cfgloopmanip.c: Likewise.
7582 * cfgrtl.c: Likewise.
7583 * cgraph.c: Likewise.
7584 * cgraphbuild.c: Likewise.
7585 * cgraphclones.c: Likewise.
7586 * cgraphunit.c: Likewise.
7587 * cilk-common.c: Likewise.
7588 * combine-stack-adj.c: Likewise.
7589 * combine.c: Likewise.
7590 * compare-elim.c: Likewise.
7591 * convert.c: Likewise.
7592 * coverage.c: Likewise.
7593 * cppbuiltin.c: Likewise.
7594 * cprop.c: Likewise.
7595 * cse.c: Likewise.
7596 * cselib.c: Likewise.
7597 * data-streamer-in.c: Likewise.
7598 * data-streamer-out.c: Likewise.
7599 * data-streamer.c: Likewise.
7600 * dbxout.c: Likewise.
7601 * dce.c: Likewise.
7602 * ddg.c: Likewise.
7603 * debug.c: Likewise.
7604 * df-core.c: Likewise.
7605 * df-problems.c: Likewise.
7606 * df-scan.c: Likewise.
7607 * df.h: Likewise.
7608 * dfp.c: Likewise.
7609 * dojump.c: Likewise.
7610 * dominance.c: Likewise.
7611 * domwalk.c: Likewise.
7612 * double-int.c: Likewise.
7613 * dse.c: Likewise.
7614 * dumpfile.c: Likewise.
7615 * dwarf2asm.c: Likewise.
7616 * dwarf2cfi.c: Likewise.
7617 * dwarf2out.c: Likewise.
7618 * dwarf2out.h: Likewise.
7619 * emit-rtl.c: Likewise.
7620 * et-forest.c: Likewise.
7621 * except.c: Likewise.
7622 * explow.c: Likewise.
7623 * expmed.c: Likewise.
7624 * expr.c: Likewise.
7625 * final.c: Likewise.
7626 * fixed-value.c: Likewise.
7627 * fold-const.c: Likewise.
7628 * function.c: Likewise.
7629 * fwprop.c: Likewise.
7630 * gcc-plugin.h: Likewise.
7631 * gcse.c: Likewise.
7632 * generic-match-head.c: Likewise.
7633 * ggc-page.c: Likewise.
7634 * gimple-builder.c: Likewise.
7635 * gimple-expr.c: Likewise.
7636 * gimple-fold.c: Likewise.
7637 * gimple-iterator.c: Likewise.
7638 * gimple-low.c: Likewise.
7639 * gimple-match-head.c: Likewise.
7640 * gimple-pretty-print.c: Likewise.
7641 * gimple-ssa-isolate-paths.c: Likewise.
7642 * gimple-ssa-strength-reduction.c: Likewise.
7643 * gimple-streamer-in.c: Likewise.
7644 * gimple-streamer-out.c: Likewise.
7645 * gimple-streamer.h: Likewise.
7646 * gimple-walk.c: Likewise.
7647 * gimple.c: Likewise.
7648 * gimplify-me.c: Likewise.
7649 * gimplify.c: Likewise.
7650 * godump.c: Likewise.
7651 * graph.c: Likewise.
7652 * graphite-blocking.c: Likewise.
7653 * graphite-dependences.c: Likewise.
7654 * graphite-interchange.c: Likewise.
7655 * graphite-isl-ast-to-gimple.c: Likewise.
7656 * graphite-optimize-isl.c: Likewise.
7657 * graphite-poly.c: Likewise.
7658 * graphite-scop-detection.c: Likewise.
7659 * graphite-sese-to-poly.c: Likewise.
7660 * graphite.c: Likewise.
7661 * haifa-sched.c: Likewise.
7662 * hooks.h: Likewise.
7663 * hw-doloop.c: Likewise.
7664 * ifcvt.c: Likewise.
7665 * incpath.c: Likewise.
7666 * init-regs.c: Likewise.
7667 * internal-fn.c: Likewise.
7668 * ipa-chkp.c: Likewise.
7669 * ipa-comdats.c: Likewise.
7670 * ipa-cp.c: Likewise.
7671 * ipa-devirt.c: Likewise.
7672 * ipa-icf-gimple.c: Likewise.
7673 * ipa-icf.c: Likewise.
7674 * ipa-inline-analysis.c: Likewise.
7675 * ipa-inline-transform.c: Likewise.
7676 * ipa-inline.c: Likewise.
7677 * ipa-polymorphic-call.c: Likewise.
7678 * ipa-profile.c: Likewise.
7679 * ipa-prop.c: Likewise.
7680 * ipa-pure-const.c: Likewise.
7681 * ipa-ref.c: Likewise.
7682 * ipa-reference.c: Likewise.
7683 * ipa-split.c: Likewise.
7684 * ipa-utils.c: Likewise.
7685 * ipa-visibility.c: Likewise.
7686 * ipa.c: Likewise.
7687 * ira-build.c: Likewise.
7688 * ira-color.c: Likewise.
7689 * ira-conflicts.c: Likewise.
7690 * ira-costs.c: Likewise.
7691 * ira-emit.c: Likewise.
7692 * ira-lives.c: Likewise.
7693 * ira.c: Likewise.
7694 * jump.c: Likewise.
7695 * langhooks.c: Likewise.
7696 * lcm.c: Likewise.
7697 * loop-doloop.c: Likewise.
7698 * loop-init.c: Likewise.
7699 * loop-invariant.c: Likewise.
7700 * loop-iv.c: Likewise.
7701 * loop-unroll.c: Likewise.
7702 * lower-subreg.c: Likewise.
7703 * lra-assigns.c: Likewise.
7704 * lra-coalesce.c: Likewise.
7705 * lra-constraints.c: Likewise.
7706 * lra-eliminations.c: Likewise.
7707 * lra-lives.c: Likewise.
7708 * lra-remat.c: Likewise.
7709 * lra-spills.c: Likewise.
7710 * lra.c: Likewise.
7711 * lto-cgraph.c: Likewise.
7712 * lto-compress.c: Likewise.
7713 * lto-opts.c: Likewise.
7714 * lto-section-in.c: Likewise.
7715 * lto-section-out.c: Likewise.
7716 * lto-streamer-in.c: Likewise.
7717 * lto-streamer-out.c: Likewise.
7718 * lto-streamer.c: Likewise.
7719 * mcf.c: Likewise.
7720 * mode-switching.c: Likewise.
7721 * modulo-sched.c: Likewise.
7722 * omega.c: Likewise.
7723 * omp-low.c: Likewise.
7724 * optabs.c: Likewise.
7725 * opts-global.c: Likewise.
7726 * passes.c: Likewise.
7727 * plugin.c: Likewise.
7728 * postreload-gcse.c: Likewise.
7729 * postreload.c: Likewise.
7730 * predict.c: Likewise.
7731 * print-rtl.c: Likewise.
7732 * print-tree.c: Likewise.
7733 * profile.c: Likewise.
7734 * real.c: Likewise.
7735 * realmpfr.c: Likewise.
7736 * realmpfr.h: Likewise.
7737 * recog.c: Likewise.
7738 * ree.c: Likewise.
7739 * reg-stack.c: Likewise.
7740 * regcprop.c: Likewise.
7741 * reginfo.c: Likewise.
7742 * regrename.c: Likewise.
7743 * regs.h: Likewise.
7744 * regstat.c: Likewise.
7745 * reload.c: Likewise.
7746 * reload1.c: Likewise.
7747 * reorg.c: Likewise.
7748 * resource.c: Likewise.
7749 * rtl-chkp.c: Likewise.
7750 * rtlanal.c: Likewise.
7751 * rtlhooks.c: Likewise.
7752 * sanopt.c: Likewise.
7753 * sched-deps.c: Likewise.
7754 * sched-ebb.c: Likewise.
7755 * sched-rgn.c: Likewise.
7756 * sched-vis.c: Likewise.
7757 * sdbout.c: Likewise.
7758 * sel-sched-dump.c: Likewise.
7759 * sel-sched-ir.c: Likewise.
7760 * sel-sched.c: Likewise.
7761 * sese.c: Likewise.
7762 * shrink-wrap.c: Likewise.
7763 * shrink-wrap.h: Likewise.
7764 * simplify-rtx.c: Likewise.
7765 * stack-ptr-mod.c: Likewise.
7766 * statistics.c: Likewise.
7767 * stmt.c: Likewise.
7768 * stor-layout.c: Likewise.
7769 * store-motion.c: Likewise.
7770 * stringpool.c: Likewise.
7771 * symtab.c: Likewise.
7772 * target-globals.c: Likewise.
7773 * targhooks.c: Likewise.
7774 * toplev.c: Likewise.
7775 * tracer.c: Likewise.
7776 * trans-mem.c: Likewise.
7777 * tree-affine.c: Likewise.
7778 * tree-affine.h: Likewise.
7779 * tree-browser.c: Likewise.
7780 * tree-call-cdce.c: Likewise.
7781 * tree-cfg.c: Likewise.
7782 * tree-cfgcleanup.c: Likewise.
7783 * tree-chkp-opt.c: Likewise.
7784 * tree-chkp.c: Likewise.
7785 * tree-chrec.c: Likewise.
7786 * tree-complex.c: Likewise.
7787 * tree-data-ref.c: Likewise.
7788 * tree-dfa.c: Likewise.
7789 * tree-diagnostic.c: Likewise.
7790 * tree-dump.c: Likewise.
7791 * tree-eh.c: Likewise.
7792 * tree-emutls.c: Likewise.
7793 * tree-if-conv.c: Likewise.
7794 * tree-inline.c: Likewise.
7795 * tree-into-ssa.c: Likewise.
7796 * tree-iterator.c: Likewise.
7797 * tree-loop-distribution.c: Likewise.
7798 * tree-nested.c: Likewise.
7799 * tree-nrv.c: Likewise.
7800 * tree-object-size.c: Likewise.
7801 * tree-outof-ssa.c: Likewise.
7802 * tree-parloops.c: Likewise.
7803 * tree-phinodes.c: Likewise.
7804 * tree-predcom.c: Likewise.
7805 * tree-pretty-print.c: Likewise.
7806 * tree-pretty-print.h: Likewise.
7807 * tree-profile.c: Likewise.
7808 * tree-scalar-evolution.c: Likewise.
7809 * tree-sra.c: Likewise.
7810 * tree-ssa-address.c: Likewise.
7811 * tree-ssa-alias.c: Likewise.
7812 * tree-ssa-ccp.c: Likewise.
7813 * tree-ssa-coalesce.c: Likewise.
7814 * tree-ssa-copy.c: Likewise.
7815 * tree-ssa-copyrename.c: Likewise.
7816 * tree-ssa-dce.c: Likewise.
7817 * tree-ssa-dom.c: Likewise.
7818 * tree-ssa-dse.c: Likewise.
7819 * tree-ssa-forwprop.c: Likewise.
7820 * tree-ssa-ifcombine.c: Likewise.
7821 * tree-ssa-live.c: Likewise.
7822 * tree-ssa-loop-ch.c: Likewise.
7823 * tree-ssa-loop-im.c: Likewise.
7824 * tree-ssa-loop-ivcanon.c: Likewise.
7825 * tree-ssa-loop-ivopts.c: Likewise.
7826 * tree-ssa-loop-manip.c: Likewise.
7827 * tree-ssa-loop-niter.c: Likewise.
7828 * tree-ssa-loop-prefetch.c: Likewise.
7829 * tree-ssa-loop-unswitch.c: Likewise.
7830 * tree-ssa-loop.c: Likewise.
7831 * tree-ssa-loop.h: Likewise.
7832 * tree-ssa-math-opts.c: Likewise.
7833 * tree-ssa-operands.c: Likewise.
7834 * tree-ssa-phiopt.c: Likewise.
7835 * tree-ssa-phiprop.c: Likewise.
7836 * tree-ssa-pre.c: Likewise.
7837 * tree-ssa-propagate.c: Likewise.
7838 * tree-ssa-reassoc.c: Likewise.
7839 * tree-ssa-sccvn.c: Likewise.
7840 * tree-ssa-scopedtables.c: Likewise.
7841 * tree-ssa-sink.c: Likewise.
7842 * tree-ssa-strlen.c: Likewise.
7843 * tree-ssa-structalias.c: Likewise.
7844 * tree-ssa-tail-merge.c: Likewise.
7845 * tree-ssa-ter.c: Likewise.
7846 * tree-ssa-threadedge.c: Likewise.
7847 * tree-ssa-threadupdate.c: Likewise.
7848 * tree-ssa-uncprop.c: Likewise.
7849 * tree-ssa-uninit.c: Likewise.
7850 * tree-ssa.c: Likewise.
7851 * tree-ssanames.c: Likewise.
7852 * tree-stdarg.c: Likewise.
7853 * tree-streamer-in.c: Likewise.
7854 * tree-streamer-out.c: Likewise.
7855 * tree-streamer.c: Likewise.
7856 * tree-switch-conversion.c: Likewise.
7857 * tree-tailcall.c: Likewise.
7858 * tree-vect-data-refs.c: Likewise.
7859 * tree-vect-generic.c: Likewise.
7860 * tree-vect-loop-manip.c: Likewise.
7861 * tree-vect-loop.c: Likewise.
7862 * tree-vect-patterns.c: Likewise.
7863 * tree-vect-slp.c: Likewise.
7864 * tree-vect-stmts.c: Likewise.
7865 * tree-vectorizer.c: Likewise.
7866 * tree-vrp.c: Likewise.
7867 * tree.c: Likewise.
7868 * tsan.c: Likewise.
7869 * ubsan.c: Likewise.
7870 * valtrack.c: Likewise.
7871 * value-prof.c: Likewise.
7872 * var-tracking.c: Likewise.
7873 * varasm.c: Likewise.
7874 * varpool.c: Likewise.
7875 * vmsdbgout.c: Likewise.
7876 * vtable-verify.c: Likewise.
7877 * web.c: Likewise.
7878 * wide-int-print.cc: Likewise.
7879 * wide-int-print.h: Likewise.
7880 * wide-int.cc: Likewise.
7881 * xcoffout.c: Likewise.
7882 * config/aarch64/aarch64-builtins.c: Likewise.
7883 * config/aarch64/aarch64.c: Likewise.
7884 * config/aarch64/cortex-a57-fma-steering.c: Likewise.
7885 * config/alpha/alpha.c: Likewise.
7886 * config/arc/arc.c: Likewise.
7887 * config/arm/aarch-common.c: Likewise.
7888 * config/arm/arm-builtins.c: Likewise.
7889 * config/arm/arm-c.c: Likewise.
7890 * config/arm/arm.c: Likewise.
7891 * config/avr/avr-c.c: Likewise.
7892 * config/avr/avr-log.c: Likewise.
7893 * config/avr/avr.c: Likewise.
7894 * config/bfin/bfin.c: Likewise.
7895 * config/c6x/c6x.c: Likewise.
7896 * config/cr16/cr16.c: Likewise.
7897 * config/cris/cris.c: Likewise.
7898 * config/darwin-c.c: Likewise.
7899 * config/darwin.c: Likewise.
7900 * config/default-c.c: Likewise.
7901 * config/epiphany/epiphany.c: Likewise.
7902 * config/epiphany/mode-switch-use.c: Likewise.
7903 * config/epiphany/resolve-sw-modes.c: Likewise.
7904 * config/fr30/fr30.c: Likewise.
7905 * config/frv/frv.c: Likewise.
7906 * config/ft32/ft32.c: Likewise.
7907 * config/glibc-c.c: Likewise.
7908 * config/h8300/h8300.c: Likewise.
7909 * config/i386/i386-c.c: Likewise.
7910 * config/i386/i386.c: Likewise.
7911 * config/i386/msformat-c.c: Likewise.
7912 * config/i386/winnt-cxx.c: Likewise.
7913 * config/i386/winnt-stubs.c: Likewise.
7914 * config/i386/winnt.c: Likewise.
7915 * config/ia64/ia64-c.c: Likewise.
7916 * config/ia64/ia64.c: Likewise.
7917 * config/iq2000/iq2000.c: Likewise.
7918 * config/lm32/lm32.c: Likewise.
7919 * config/m32c/m32c-pragma.c: Likewise.
7920 * config/m32c/m32c.c: Likewise.
7921 * config/m32r/m32r.c: Likewise.
7922 * config/m68k/m68k.c: Likewise.
7923 * config/mcore/mcore.c: Likewise.
7924 * config/mep/mep-pragma.c: Likewise.
7925 * config/mep/mep.c: Likewise.
7926 * config/microblaze/microblaze-c.c: Likewise.
7927 * config/microblaze/microblaze.c: Likewise.
7928 * config/mips/mips.c: Likewise.
7929 * config/mmix/mmix.c: Likewise.
7930 * config/mn10300/mn10300.c: Likewise.
7931 * config/moxie/moxie.c: Likewise.
7932 * config/msp430/msp430-c.c: Likewise.
7933 * config/msp430/msp430.c: Likewise.
7934 * config/nds32/nds32-cost.c: Likewise.
7935 * config/nds32/nds32-fp-as-gp.c: Likewise.
7936 * config/nds32/nds32-intrinsic.c: Likewise.
7937 * config/nds32/nds32-isr.c: Likewise.
7938 * config/nds32/nds32-md-auxiliary.c: Likewise.
7939 * config/nds32/nds32-memory-manipulation.c: Likewise.
7940 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
7941 * config/nds32/nds32-predicates.c: Likewise.
7942 * config/nds32/nds32.c: Likewise.
7943 * config/nios2/nios2.c: Likewise.
7944 * config/nvptx/nvptx.c: Likewise.
7945 * config/pa/pa.c: Likewise.
7946 * config/pdp11/pdp11.c: Likewise.
7947 * config/rl78/rl78-c.c: Likewise.
7948 * config/rl78/rl78.c: Likewise.
7949 * config/rs6000/rs6000-c.c: Likewise.
7950 * config/rs6000/rs6000.c: Likewise.
7951 * config/rx/rx.c: Likewise.
7952 * config/s390/s390-c.c: Likewise.
7953 * config/s390/s390.c: Likewise.
7954 * config/sh/sh-c.c: Likewise.
7955 * config/sh/sh-mem.cc: Likewise.
7956 * config/sh/sh.c: Likewise.
7957 * config/sh/sh_optimize_sett_clrt.cc: Likewise.
7958 * config/sh/sh_treg_combine.cc: Likewise.
7959 * config/sol2-c.c: Likewise.
7960 * config/sol2-cxx.c: Likewise.
7961 * config/sol2-stubs.c: Likewise.
7962 * config/sol2.c: Likewise.
7963 * config/sparc/sparc-c.c: Likewise.
7964 * config/sparc/sparc.c: Likewise.
7965 * config/spu/spu-c.c: Likewise.
7966 * config/spu/spu.c: Likewise.
7967 * config/stormy16/stormy16.c: Likewise.
7968 * config/tilegx/mul-tables.c: Likewise.
7969 * config/tilegx/tilegx-c.c: Likewise.
7970 * config/tilegx/tilegx.c: Likewise.
7971 * config/tilepro/mul-tables.c: Likewise.
7972 * config/tilepro/tilepro-c.c: Likewise.
7973 * config/tilepro/tilepro.c: Likewise.
7974 * config/v850/v850-c.c: Likewise.
7975 * config/v850/v850.c: Likewise.
7976 * config/vax/vax.c: Likewise.
7977 * config/visium/visium.c: Likewise.
7978 * config/vms/vms-c.c: Likewise.
7979 * config/vms/vms.c: Likewise.
7980 * config/vxworks.c: Likewise.
7981 * config/winnt-c.c: Likewise.
7982 * config/xtensa/xtensa.c: Likewise.
7983 * common/config/bfin/bfin-common.c: Likewise.
7984
7985 2015-06-04 Jan Hubicka <hubicka@ucw.cz>
7986
7987 * tree.h (tree_code_for_canonical_type_merging): New function.
7988 * tree.c (gimple_canonical_types_compatible_p): Use
7989 tree_code_for_canonical_type_merging..
7990
7991 2015-06-04 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7992
7993 PR c++/66192
7994 PR target/66200
7995 * doc/tm.texi: Regenerate.
7996 * doc/tm.texi.in (TARGET_RELAXED_ORDERING): Delete.
7997 * target.def (TARGET_RELAXED_ORDERING): Likewise.
7998 * config/alpha/alpha.c (TARGET_RELAXED_ORDERING): Likewise.
7999 * config/ia64/ia64.c (TARGET_RELAXED_ORDERING): Likewise.
8000 * config/rs6000/rs6000.c (TARGET_RELAXED_ORDERING): Likewise.
8001 * config/sparc/linux.h (SPARC_RELAXED_ORDERING): Likewise.
8002 * config/sparc/linux64.h (SPARC_RELAXED_ORDERING): Likewise.
8003 * config/sparc/sparc.c (TARGET_RELAXED_ORDERING): Likewise.
8004 * config/sparc/sparc.h (SPARC_RELAXED_ORDERING): Likewise.
8005
8006 2015-06-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8007
8008 * config/aarch64/aarch64.c (aarch64_override_options): Unconditionally
8009 register fma steering pass.
8010 * config/aarch64/cortex-a57-fma-steering.c (gate): Add gating on
8011 AARCH64_TUNE_FMA_STEERING.
8012
8013 2015-06-03 Jan Hubicka <hubicka@ucw.cz>
8014
8015 * tree.c (verify_type_variant): Verify that type and variant is
8016 compatible.
8017 (gimple_canonical_types_compatible_p): Look for main variants.
8018
8019 2015-06-03 Michael Meissner <meissner@linux.vnet.ibm.com>
8020
8021 * config.gcc (powerpc*-*-*): Add support for a new configure
8022 option --with-advance-toolchain=<xxx> which overrides using the
8023 default header files, libraries and dynamic linker.
8024
8025 * config/rs6000/linux64.h (SUBSUBTARGET_EXTRA_SPECS): Add new
8026 specs to support the configure --with-advance-toolchain=<xxx>
8027 option.
8028 (INCLUDE_EXTRA_SPEC): Likewise.
8029 (LINK_OS_EXTRA_SPEC32): Likewise.
8030 (LINK_OK_EXTRA_SPEC64): Likewise.
8031 (LINK_OS_NEW_DTAGS_SPEC): Likewise.
8032 (DYNAMIC_LINKER_PREFIX): Likewise.
8033 (CPP_OS_DEFAULT_SPEC): Use the new specs for providing advance
8034 toolchain support.
8035 (GLIBC_DYNAMIC_LINKER32): Likewise.
8036 (GLIBC_DYNAMIC_LINKER64): Likewise.
8037 (LINK_OS_LINUX_SPEC32): Likewise.
8038 (LINK_OS_LINUX_SPEC64): Likewise.
8039
8040 * doc/install.texi (--enable-advance-toolchain=<xx>): Document new
8041 configuration option.
8042
8043 2015-06-03 Uros Bizjak <ubizjak@gmail.com>
8044
8045 PR target/66275
8046 * config/i386/i386.c (ix86_function_arg_regno): Use ix86_cfun_abi
8047 to determine current function ABI.
8048 (ix86_function_value_regno_p): Ditto.
8049
8050 2015-06-03 Martin Liska <mliska@suse.cz>
8051
8052 * alloc-pool.h (struct pool_usage): Correct GNU coding style.
8053 * bitmap.h (struct bitmap_usage): Likewise.
8054 * ggc-common.c (struct ggc_usage): Likewise.
8055 * mem-stats.h (struct mem_location): Likewise.
8056 (struct mem_usage): Likewise.
8057 * vec.c (struct vec_usage): Likewise.
8058
8059 2015-06-03 Benigno B. Junior <bbj@gentoo.org>
8060
8061 * config/netbsd-elf.h (NETBSD_LINK_SPEC_ELF): Turn -symbolic into
8062 -Bsymbolic.
8063
8064 2015-06-02 Andres Tiraboschi <andres.tiraboschi@tallertechnologies.com>
8065
8066 * doc/plugins.texi (enum plugin_event): New event.
8067 * plugin.c (register_callback): Handle PLUGIN_START_PARSE_FUNCTION
8068 and PLUGIN_FINISH_FUNCTION.
8069 * plugin.def (PLUGIN_START_PARSE_FUNCTION): Add plugin event
8070 (PLUGIN_FINISH_PARSE_FUNCTION): Likewise.
8071
8072 2015-06-03 Richard Biener <rguenther@suse.de>
8073
8074 * tree-vect-data-refs.c (vect_analyze_group_access): Properly
8075 compute GROUP_GAP for the first element.
8076 * tree-vect-slp.c (vect_build_slp_tree_1): Remove restriction
8077 on in-group gaps.
8078
8079 2015-06-03 Nick Clifton <nickc@redhat.com>
8080
8081 * config/rl78/rl78-real.md: Add peepholes to avoid a register
8082 copy when calling a function.
8083 * config/rl78/rl78.c (need_to_save): Do not push the frame
8084 pointer in an interrupt handler prologue if it is never used.
8085
8086 2015-06-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8087
8088 * ifcvt (end_ifcvt_sequence): Fix typo in comment above.
8089
8090 2015-06-03 Ilya Enkovich <ilya.enkovich@intel.com>
8091
8092 * ipa-chkp.c (chkp_maybe_create_clone): Create alias
8093 reference when cloning alias node.
8094
8095 2015-06-03 Martin Liska <mliska@suse.cz>
8096
8097 * alloc-pool.h (struct pool_usage): Correct space padding.
8098 * ggc-page.c (ggc_print_statistics): Align columns in a report.
8099 * mem-stats.h (struct mem_usage): Add argument to print_dash_line.
8100 * tree.c (dump_tree_statistics): Align columns in a report.
8101
8102 2015-06-03 Martin Liska <mliska@suse.cz>
8103
8104 * alloc-pool.c (allocate_pool_descriptor): Remove.
8105 (struct pool_output_info): Likewise.
8106 (print_alloc_pool_statistics): Likewise.
8107 (dump_alloc_pool_statistics): Likewise.
8108 * alloc-pool.h (struct pool_usage): New struct.
8109 (pool_allocator::initialize): Change usage of memory statistics
8110 to a new interface.
8111 (pool_allocator::release): Likewise.
8112 (pool_allocator::allocate): Likewise.
8113 (pool_allocator::remove): Likewise.
8114 * mem-stats-traits.h (enum mem_alloc_origin): Add new enum value
8115 for a pool allocator.
8116 * mem-stats.h (struct mem_location): Add new ctor.
8117 (struct mem_usage): Add counter for number of
8118 instances.
8119 (mem_alloc_description::register_descriptor): New overload of
8120 * mem-stats.h (mem_location::to_string): New function.
8121 * bitmap.h (struct bitmap_usage): Use this new function.
8122 * ggc-common.c (struct ggc_usage): Likewise.
8123 the function.
8124
8125 2015-06-03 Richard Sandiford <richard.sandiford@arm.com>
8126
8127 * defaults.h (SWITCHABLE_TARGET, TARGET_SUPPORTS_WIDE_INT): Move out
8128 of GCC_INSN_FLAGS_H block.
8129
8130 2015-06-03 Andrew Bennett <andrew.bennett@imgtec.com>
8131
8132 * explow.c (plus_constant): Update check after force_const_mem call
8133 to see if the value returned is not a NULL_RTX.
8134
8135 2015-06-03 Ilya Enkovich <ilya.enkovich@intel.com>
8136
8137 * ipa.c (symbol_table::remove_unreachable_nodes): Don't
8138 remove instumentation thunks calling reachable functions.
8139 * lto-cgraph.c (output_refs): Always output IPA_REF_CHKP.
8140 * lto/lto-partition.c (privatize_symbol_name_1): New.
8141 (privatize_symbol_name): Privatize both decl and orig_decl
8142 names for instrumented functions.
8143 * cgraph.c (cgraph_node::verify_node): Add transparent
8144 alias chain check for instrumented node.
8145
8146 2015-06-03 Marek Polacek <polacek@redhat.com>
8147
8148 PR c/64223
8149 PR c/29358
8150 * tree.c (attribute_value_equal): Handle attribute format.
8151 (cmp_attrib_identifiers): Factor out of lookup_ident_attribute.
8152
8153 2015-06-03 Richard Biener <rguenther@suse.de>
8154
8155 PR tree-optimization/63916
8156 * tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address):
8157 Forward-propagate non-invariant addresses by splicing their
8158 reference ops if the result isn't going to be used by PRE.
8159 (vn_reference_lookup_3): Remove pointless assert.
8160
8161 2015-06-03 Richard Biener <rguenther@suse.de>
8162
8163 PR tree-optimization/66375
8164 * tree-scalar-evolution.c (follow_ssa_edge_binary): First
8165 add to the evolution before following SSA edges.
8166
8167 2015-06-03 Bin Cheng <bin.cheng@arm.com>
8168
8169 * tree-ssa-loop-ivopts.c (dump_iv): New parameter.
8170 (dump_use, dump_cand, find_induction_variables): Pass new argument
8171 to dump_iv.
8172 (record_use): Preserve the ssa name information in IV.
8173
8174 2015-06-03 Richard Sandiford <richard.sandiford@arm.com>
8175
8176 * genpreds.c (mark_mode_tests): Mark all MATCH_CODEs as
8177 NO_MODE_TEST.
8178 (add_mode_tests): Don't add mode tests if the predicate only
8179 accepts scalar constant integers. Otherwise, allow the mode
8180 of "op" to be VOIDmode if the predicate does accept such integers.
8181
8182 2015-06-02 Jim Wilson <jim.wilson@linaro.org>
8183
8184 PR target/66258
8185 * config/aarch64/aarch64.c (aarch64_function_value_regno_p): Change
8186 !TARGET_GENERAL_REGS_ONLY to TARGET_FLOAT.
8187 (aarch64_secondary_reload): Likewise
8188 (aarch64_expand_builtin_va_start): Change TARGET_GENERAL_REGS_ONLY
8189 to !TARGET_FLOAT.
8190 (aarch64_gimplify_va_arg_expr, aarch64_setup_incoming_varargs):
8191 Likewise.
8192
8193 2015-06-03 Kugan Vivekanandarajah <kuganv@linaro.org>
8194 Zhenqiang Chen <zhenqiang.chen@linaro.org>
8195
8196 PR target/65768
8197 * cprop.c (try_replace_reg): Check cost of constants before propagating.
8198
8199 2015-06-02 Michael Meissner <meissner@linux.vnet.ibm.com>
8200
8201 * config/rs6000/rs6000-modes.def (IFmode): Define IFmode to
8202 provide access to the IBM extended double floating point mode if
8203 long double is IEEE 128-bit floating point.
8204 (KFmode): Define KFmode to provide access to IEEE 128-bit floating
8205 point if long double is the IBM extended double type.
8206
8207 * config/rs6000/rs6000.opt (-mfloat128-none): New switches to
8208 enable adding IEEE 128-bit floating point support.
8209 (-mfloat128-software): Likewise.
8210 (-mfloat128-sw): Likewise.
8211
8212 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Do not allow
8213 128-bit floating point types to occupy any register if
8214 -mlong-double-64. Do not allow use of IFmode/KFmode unless
8215 -mfloat128-software is enabled.
8216 (rs6000_debug_reg_global): Add IEEE 128-bit floating point debug
8217 support.
8218 (rs6000_option_override_internal): Add -mfloat128-* support.
8219 (rs6000_init_builtins): Setup __ibm128 and __float128 type modes.
8220
8221 * config/rs6000/rs6000.h (rs6000_builtin_type_index): Add ibm128
8222 and float128 type nodes.
8223 (ieee128_float_type_node): Likewise.
8224 (ibm128_float_type_node): Likewise.
8225
8226 2015-06-02 Szabolcs Nagy <szabolcs.nagy@arm.com>
8227
8228 PR target/66136
8229 * config/aarch64/geniterators.sh: Rewrite in awk.
8230
8231 2015-06-02 Martin Liska <mliska@suse.cz>
8232
8233 * alloc-pool.h (pool_allocator::pool_allocator): Set implicit
8234 values to avoid -Wmaybe-uninitialized errors.
8235
8236 2015-06-02 Richard Biener <rguenther@suse.de>
8237
8238 PR debug/65549
8239 * dwarf2out.c (lookup_context_die): New function.
8240 (resolve_addr): Avoid forcing a full DIE for the
8241 target of a DW_TAG_GNU_call_site during late compilation.
8242 Instead create a stub DIE without a type if we have a
8243 context DIE present.
8244
8245 2015-06-02 Uros Bizjak <ubizjak@gmail.com>
8246
8247 * df-scan.c (df_scan_start_dump): Add space between regno and regname.
8248
8249 2015-06-02 Bin Cheng <bin.cheng@arm.com>
8250
8251 PR tree-optimization/48052
8252 * cfgloop.h (struct control_iv): New.
8253 (struct loop): New field control_ivs.
8254 * tree-ssa-loop-niter.c : Include "stor-layout.h".
8255 (number_of_iterations_lt): Set no_overflow information.
8256 (number_of_iterations_exit): Init control iv in niter struct.
8257 (record_control_iv): New.
8258 (estimate_numbers_of_iterations_loop): Call record_control_iv.
8259 (loop_exits_before_overflow): New. Interface factored out of
8260 scev_probably_wraps_p.
8261 (scev_probably_wraps_p): Factor loop niter related code into
8262 loop_exits_before_overflow.
8263 (free_numbers_of_iterations_estimates_loop): Free control ivs.
8264 * tree-ssa-loop-niter.h (free_loop_control_ivs): New.
8265
8266 2015-06-02 Eric Botcazou <ebotcazou@adacore.com>
8267
8268 * gimplify.c (gimplify_modify_expr): Do not create a DECL_DEBUG_EXPR if
8269 the target doesn't belong to the current function.
8270
8271 2015-06-02 Marek Polacek <polacek@redhat.com>
8272
8273 PR middle-end/66345
8274 * gimple-fold.c (gimple_fold_builtin_snprintf): Return false if
8275 get_maxval_strlen does not produce an INTEGER_CST.
8276
8277 2015-06-02 Richard Sandiford <richard.sandiford@arm.com>
8278
8279 * config/arc/constraints.md: Use lower-case names in match_code.
8280 * config/mmix/constraints.md: Likewise.
8281
8282 2015-06-02 Richard Biener <rguenther@suse.de>
8283
8284 PR tree-optimization/65961
8285 * tree-vect-slp.c (vect_get_and_check_slp_defs): Remove bogus
8286 check and clarify dump message.
8287 (vect_build_slp_tree): If all children are built up from scalars
8288 build up the parent from scalars instead.
8289 * tree-vect-stmts.c (vect_is_simple_use): Cleanup.
8290
8291 2015-06-02 Jan Kratochvil <jan.kratochvil@redhat.com>
8292
8293 PR other/65366
8294 * gdbhooks.py: Use int(...) instead of long(...). Use print(...)
8295 instead of print ... .
8296
8297 2015-06-02 Alan Modra <amodra@gmail.com>
8298
8299 * config/rs6000/vsx.md (vsx_extract_v4sf): Revert accidental
8300 2014-08-11 change.
8301
8302 2015-06-02 Bin Cheng <bin.cheng@arm.com>
8303
8304 PR tree-optimization/52563
8305 PR tree-optimization/62173
8306 * tree-ssa-loop-ivopts.c (struct iv): New field. Reorder fields.
8307 (alloc_iv, set_iv): New parameter.
8308 (determine_biv_step): Delete.
8309 (find_bivs): Inline original determine_biv_step. Pass new
8310 argument to set_iv.
8311 (idx_find_step): Use no_overflow information for conversion.
8312 * tree-scalar-evolution.c (analyze_scalar_evolution_in_loop): Let
8313 resolve_mixers handle folded_casts.
8314 (instantiate_scev_name): Change bool parameter to bool pointer.
8315 (instantiate_scev_poly, instantiate_scev_binary): Ditto.
8316 (instantiate_array_ref, instantiate_scev_not): Ditto.
8317 (instantiate_scev_3, instantiate_scev_2): Ditto.
8318 (instantiate_scev_1, instantiate_scev_r): Ditto.
8319 (instantiate_scev_convert, ): Change parameter. Pass argument
8320 to chrec_convert_aggressive.
8321 (instantiate_scev): Change argument.
8322 (resolve_mixers): New parameter and set it.
8323 (scev_const_prop): New argument.
8324 * tree-scalar-evolution.h (resolve_mixers): New parameter.
8325 * tree-chrec.c (convert_affine_scev): Call chrec_convert instead
8326 of chrec_conert_1.
8327 (chrec_convert): New parameter. Move definition below.
8328 (chrec_convert_aggressive): New parameter and set it. Call
8329 convert_affine_scev.
8330 * tree-chrec.h (chrec_convert): New parameter.
8331 (chrec_convert_aggressive): Ditto.
8332
8333 2015-06-01 Eric Botcazou <ebotcazou@adacore.com>
8334
8335 * gimplify.c (gimplify_modify_expr_rhs): Use simple test on the size.
8336 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Do not remove
8337 the LHS of a no-return call if its type has variable size.
8338 * tree-cfgcleanup.c (fixup_noreturn_call): Likewise.
8339 * tree-cfg.c (verify_gimple_call): Accept these no-return calls.
8340
8341 2015-06-01 Andreas Tobler <andreast@gcc.gnu.org>
8342
8343 * read-rtl.c: Adapt to use HAVE_DECL_ATOLL instead of HAVE_ATOLL.
8344 * config.in: Regenerate.
8345
8346 2015-06-01 Yuri Rumyantsev <ysrumyan@gmail.com>
8347
8348 * tree-vect-data-refs.c (vect_analyze_data_ref_access): Allow
8349 consecutive accesses within outer-loop with force_vectorize
8350 for references with zero step in inner-loop.
8351
8352 2015-06-01 Vidya Praveen <vidyapraveen@arm.com>
8353
8354 * Makefile.in: Pick up gcov-dump dependencies from gcc/ directory
8355 rather than from gcc/build directory.
8356
8357 2015-06-01 Matthew Wahab <matthew.wahab@arm.com>
8358
8359 PR target/65697
8360 * config/aarch64/aarch64.c (aarch64_split_compare_and_swap): Check
8361 for __sync memory models, emit initial loads and final barriers as
8362 appropriate.
8363
8364 2015-06-01 Matthew Wahab <matthew.wahab@arm.com>
8365
8366 PR target/65697
8367 * config/aarch64/aarch64.c (aarch64_emit_post_barrier):New.
8368 (aarch64_split_atomic_op): Check for __sync memory models, emit
8369 appropriate initial loads and final barriers.
8370
8371 2015-06-01 Vidya Praveen <vidyapraveen@arm.com>
8372
8373 * Makefile.in: Fix gcov dependencies that should
8374 not point to a build folder.
8375
8376 2015-06-01 Richard Biener <rguenther@suse.de>
8377
8378 Revert
8379 2015-05-29 Richard Biener <rguenther@suse.de>
8380
8381 PR tree-optimization/66314
8382 * tree-ssa-threadupdate.c (create_block_for_threading): Add
8383 parameter that says which loop the new block belongs to.
8384 (ssa_create_duplicates): Blocks duplicated for the threaded
8385 path belong to the loop of the thread destination.
8386
8387 2015-06-01 Martin Liska <mliska@suse.cz>
8388
8389 * sched-deps.c: Include pool-alloc.h before
8390 cselib.h header file is included.
8391
8392 2015-06-01 Richard Biener <rguenther@suse.de>
8393
8394 * tree-ssa-structalias.c (ipa_pta_execute): Handle address-taken
8395 functions.
8396
8397 2015-06-01 Martin Liska <mliska@suse.cz>
8398
8399 * alloc-pool.h: Add ATTRIBUTE_UNUSED for
8400 a function local variable.
8401
8402 2015-06-01 Martin Liska <mliska@suse.cz>
8403
8404 * alloc-pool.c (create_alloc_pool): Remove.
8405 (empty_alloc_pool): Likewise.
8406 (free_alloc_pool): Likewise.
8407 (free_alloc_pool_if_empty): Likewise.
8408 (pool_alloc): Likewise.
8409 (pool_free): Likewise.
8410 * alloc-pool.h: Remove old declarations.
8411
8412 2015-06-01 Martin Liska <mliska@suse.cz>
8413
8414 * ira-build.c (initiate_allocnos): Use new type-based pool allocator.
8415 (ira_create_object): Likewise.
8416 (ira_create_allocno): Likewise.
8417 (ira_create_live_range): Likewise.
8418 (copy_live_range): Likewise.
8419 (ira_finish_live_range): Likewise.
8420 (ira_free_allocno_costs): Likewise.
8421 (finish_allocno): Likewise.
8422 (finish_allocnos): Likewise.
8423 (initiate_prefs): Likewise.
8424 (ira_create_pref): Likewise.
8425 (finish_pref): Likewise.
8426 (finish_prefs): Likewise.
8427 (initiate_copies): Likewise.
8428 (ira_create_copy): Likewise.
8429 (finish_copy): Likewise.
8430 (finish_copies): Likewise.
8431 (finish_prefs): Likewise.
8432
8433 2015-06-01 Martin Liska <mliska@suse.cz>
8434
8435 * ipa-cp.c (ipcp_value::add_source): Use new type-based pool allocator.
8436 (allocate_and_init_ipcp_value): Likewise.
8437 (ipcp_lattice::add_value): Likewise.
8438 (merge_agg_lats_step): Likewise.
8439 (ipcp_driver): Likewise.
8440 * ipa-prop.c (ipa_free_all_structures_after_ipa_cp): Likewise.
8441 (ipa_free_all_structures_after_iinln): Likewise.
8442 * ipa-prop.h: Likewise.
8443
8444 2015-06-01 Martin Liska <mliska@suse.cz>
8445
8446 * ipa-inline-analysis.c (edge_set_predicate): Use new type-based
8447 pool allocator.
8448 (set_hint_predicate): Likewise.
8449 (inline_summary_alloc): Likewise.
8450 (reset_inline_edge_summary): Likewise.
8451 (reset_inline_summary): Likewise.
8452 (set_cond_stmt_execution_predicate): Likewise.
8453 (set_switch_stmt_execution_predicate): Likewise.
8454 (compute_bb_predicates): Likewise.
8455 (estimate_function_body_sizes): Likewise.
8456 (inline_free_summary): Likewise.
8457
8458 2015-06-01 Martin Liska <mliska@suse.cz>
8459
8460 * ipa-prop.c (ipa_set_jf_constant): Use new type-based pool allocator.
8461 (ipa_edge_duplication_hook): Likewise.
8462 (ipa_free_all_structures_after_ipa_cp): Likewise.
8463 (ipa_free_all_structures_after_iinln): Likewise.
8464
8465 2015-06-01 Martin Liska <mliska@suse.cz>
8466
8467 * ipa-profile.c (account_time_size): Use new type-based pool allocator.
8468 (ipa_profile_generate_summary): Likewise.
8469 (ipa_profile_read_summary): Likewise.
8470 (ipa_profile): Likewise.
8471
8472 2015-06-01 Martin Liska <mliska@suse.cz>
8473
8474 * tree-ssa-structalias.c (new_var_info): Use new type-based
8475 pool allocator.
8476 (new_constraint): Likewise.
8477 (init_alias_vars): Likewise.
8478 (delete_points_to_sets): Likewise.
8479
8480 2015-06-01 Martin Liska <mliska@suse.cz>
8481
8482 * tree-ssa-strlen.c (new_strinfo): Use new type-based pool allocator.
8483 (free_strinfo): Likewise.
8484 (pass_strlen::execute): Likewise.
8485
8486 2015-06-01 Martin Liska <mliska@suse.cz>
8487
8488 * tree-ssa-sccvn.c (vn_reference_insert): Use new type-based
8489 pool allocator.
8490 (vn_reference_insert_pieces): Likewise.
8491 (vn_phi_insert): Likewise.
8492 (visit_reference_op_call): Likewise.
8493 (copy_phi): Likewise.
8494 (copy_reference): Likewise.
8495 (process_scc): Likewise.
8496 (allocate_vn_table): Likewise.
8497 (free_vn_table): Likewise.
8498
8499 2015-06-01 Martin Liska <mliska@suse.cz>
8500
8501 * tree-ssa-reassoc.c (add_to_ops_vec): Use new type-based
8502 pool allocator.
8503 (add_repeat_to_ops_vec): Likewise.
8504 (get_ops): Likewise.
8505 (maybe_optimize_range_tests): Likewise.
8506 (init_reassoc): Likewise.
8507 (fini_reassoc): Likewise.
8508
8509 2015-06-01 Martin Liska <mliska@suse.cz>
8510
8511 * tree-ssa-pre.c (get_or_alloc_expr_for_name): Use new type-based
8512 pool allocator.
8513 (bitmap_set_new): Likewise.
8514 (get_or_alloc_expr_for_constant): Likewise.
8515 (get_or_alloc_expr_for): Likewise.
8516 (phi_translate_1): Likewise.
8517 (compute_avail): Likewise.
8518 (init_pre): Likewise.
8519 (fini_pre): Likewise.
8520
8521 2015-06-01 Martin Liska <mliska@suse.cz>
8522
8523 * sched-deps.c (create_dep_node): Use new type-based pool allocator.
8524 (delete_dep_node): Likewise.
8525 (create_deps_list): Likewise.
8526 (free_deps_list): Likewise.
8527 (sched_deps_init): Likewise.
8528 (sched_deps_finish): Likewise.
8529
8530 2015-06-01 Martin Liska <mliska@suse.cz>
8531
8532 * regcprop.c (free_debug_insn_changes): Use new type-based
8533 pool allocator.
8534 (replace_oldest_value_reg): Likewise.
8535 (pass_cprop_hardreg::execute): Likewise.
8536
8537 2015-06-01 Martin Liska <mliska@suse.cz>
8538
8539 * ira-build.c (initiate_cost_vectors): Use new type-based
8540 pool allocator.
8541 (ira_allocate_cost_vector): Likewise.
8542 (ira_free_cost_vector): Likewise.
8543 (finish_cost_vectors): Likewise.
8544
8545 2015-06-01 Martin Liska <mliska@suse.cz>
8546
8547 * sel-sched-ir.c (alloc_sched_pools): Use new type-based
8548 pool allocator.
8549 (free_sched_pools): Likewise.
8550 * sel-sched-ir.h (_list_alloc): Likewise.
8551 (_list_remove): Likewise.
8552
8553 2015-06-01 Martin Liska <mliska@suse.cz>
8554
8555 * stmt.c (add_case_node): Use new type-based pool allocator.
8556 (expand_case): Likewise.
8557 (expand_sjlj_dispatch_table): Likewise.
8558
8559 2015-06-01 Martin Liska <mliska@suse.cz>
8560
8561 * tree-ssa-math-opts.c (occ_new): Use new type-based pool allocator.
8562 (free_bb): Likewise.
8563 (pass_cse_reciprocals::execute): Likewise.
8564
8565 2015-06-01 Martin Liska <mliska@suse.cz>
8566
8567 * tree-sra.c (sra_initialize): Use new type-based pool allocator.
8568 (sra_deinitialize) Likewise.
8569 (create_access_1) Likewise.
8570 (build_accesses_from_assign) Likewise.
8571 (create_artificial_child_access) Likewise.
8572
8573 2015-06-01 Martin Liska <mliska@suse.cz>
8574
8575 * dse.c (get_group_info):Use new type-based pool allocator.
8576 (dse_step0) Likewise.
8577 (free_store_info) Likewise.
8578 (delete_dead_store_insn) Likewise.
8579 (free_read_records) Likewise.
8580 (record_store) Likewise.
8581 (replace_read) Likewise.
8582 (check_mem_read_rtx) Likewise.
8583 (scan_insn) Likewise.
8584 (dse_step1) Likewise.
8585 (dse_step7) Likewise.
8586
8587 2015-06-01 Martin Liska <mliska@suse.cz>
8588
8589 * df-scan.c (struct df_scan_problem_data):Use new type-based
8590 pool allocator.
8591 (df_scan_free_internal) Likewise.
8592 (df_scan_alloc) Likewise.
8593 (df_grow_reg_info) Likewise.
8594 (df_free_ref) Likewise.
8595 (df_insn_create_insn_record) Likewise.
8596 (df_mw_hardreg_chain_delete) Likewise.
8597 (df_insn_info_delete) Likewise.
8598 (df_free_collection_rec) Likewise.
8599 (df_mw_hardreg_chain_delete_eq_uses) Likewise.
8600 (df_sort_and_compress_mws) Likewise.
8601 (df_ref_create_structure) Likewise.
8602 (df_ref_record) Likewise.
8603
8604 2015-06-01 Martin Liska <mliska@suse.cz>
8605
8606 * df-problems.c (df_chain_create):Use new type-based pool allocator.
8607 (df_chain_unlink_1) Likewise.
8608 (df_chain_unlink) Likewise.
8609 (df_chain_remove_problem) Likewise.
8610 (df_chain_alloc) Likewise.
8611 (df_chain_free) Likewise.
8612 * df.h (struct dataflow) Likewise.
8613
8614 2015-06-01 Martin Liska <mliska@suse.cz>
8615
8616 * cselib.c (new_elt_list):Use new type-based pool allocator.
8617 (new_elt_loc_list) Likewise.
8618 (unchain_one_elt_list) Likewise.
8619 (unchain_one_elt_loc_list) Likewise.
8620 (unchain_one_value) Likewise.
8621 (new_cselib_val) Likewise.
8622 (cselib_init) Likewise.
8623 (cselib_finish) Likewise.
8624
8625 2015-06-01 Martin Liska <mliska@suse.cz>
8626
8627 * config/sh/sh.c (add_constant):Use new type-based pool allocator.
8628 (sh_reorg) Likewise.
8629
8630 2015-06-01 Martin Liska <mliska@suse.cz>
8631
8632 * cfg.c (initialize_original_copy_tables):Use new type-based
8633 pool allocator.
8634 (free_original_copy_tables) Likewise.
8635 (copy_original_table_clear) Likewise.
8636 (copy_original_table_set) Likewise.
8637
8638 2015-06-01 Martin Liska <mliska@suse.cz>
8639
8640 * asan.c (asan_mem_ref_get_alloc_pool):Use new type-based
8641 pool allocator.
8642 (asan_mem_ref_new) Likewise.
8643 (free_mem_ref_resources) Likewise.
8644
8645 2015-06-01 Martin Liska <mliska@suse.cz>
8646
8647 * var-tracking.c (variable_htab_free):Use new type-based
8648 pool allocator.
8649 (attrs_list_clear) Likewise.
8650 (attrs_list_insert) Likewise.
8651 (attrs_list_copy) Likewise.
8652 (shared_hash_unshare) Likewise.
8653 (shared_hash_destroy) Likewise.
8654 (unshare_variable) Likewise.
8655 (var_reg_delete_and_set) Likewise.
8656 (var_reg_delete) Likewise.
8657 (var_regno_delete) Likewise.
8658 (drop_overlapping_mem_locs) Likewise.
8659 (variable_union) Likewise.
8660 (insert_into_intersection) Likewise.
8661 (canonicalize_values_star) Likewise.
8662 (variable_merge_over_cur) Likewise.
8663 (dataflow_set_merge) Likewise.
8664 (remove_duplicate_values) Likewise.
8665 (variable_post_merge_new_vals) Likewise.
8666 (dataflow_set_preserve_mem_locs) Likewise.
8667 (dataflow_set_remove_mem_locs) Likewise.
8668 (variable_from_dropped) Likewise.
8669 (variable_was_changed) Likewise.
8670 (set_slot_part) Likewise.
8671 (clobber_slot_part) Likewise.
8672 (delete_slot_part) Likewise.
8673 (loc_exp_insert_dep) Likewise.
8674 (notify_dependents_of_changed_value) Likewise.
8675 (emit_notes_for_differences_1) Likewise.
8676 (vt_emit_notes) Likewise.
8677 (vt_initialize) Likewise.
8678 (vt_finalize) Likewise.
8679
8680 2015-06-01 Martin Liska <mliska@suse.cz>
8681
8682 * ira-color.c (init_update_cost_records):Use new type-based
8683 pool allocator.
8684 (get_update_cost_record) Likewise.
8685 (free_update_cost_record_list) Likewise.
8686 (finish_update_cost_records) Likewise.
8687 (initiate_cost_update) Likewise.
8688
8689 2015-06-01 Martin Liska <mliska@suse.cz>
8690
8691 * lra.c (init_insn_regs): Use new type-based pool allocator.
8692 (new_insn_reg) Likewise.
8693 (free_insn_reg) Likewise.
8694 (free_insn_regs) Likewise.
8695 (finish_insn_regs) Likewise.
8696 (init_insn_recog_data) Likewise.
8697 (init_reg_info) Likewise.
8698 (finish_reg_info) Likewise.
8699 (lra_free_copies) Likewise.
8700 (lra_create_copy) Likewise.
8701 (invalidate_insn_data_regno_info) Likewise.
8702
8703 2015-06-01 Martin Liska <mliska@suse.cz>
8704
8705 * lra-lives.c (free_live_range): Use new type-based pool allocator.
8706 (free_live_range_list) Likewise.
8707 (create_live_range) Likewise.
8708 (copy_live_range) Likewise.
8709 (lra_merge_live_ranges) Likewise.
8710 (remove_some_program_points_and_update_live_ranges) Likewise.
8711 (lra_live_ranges_init) Likewise.
8712 (lra_live_ranges_finish) Likewise.
8713
8714 2015-06-01 Martin Liska <mliska@suse.cz>
8715
8716 * et-forest.c (et_new_occ): Use new type-based pool allocator.
8717 (et_new_tree): Likewise.
8718 (et_free_tree): Likewise.
8719 (et_free_tree_force): Likewise.
8720 (et_free_pools): Likewise.
8721 (et_split): Likewise.
8722
8723 2015-06-01 Martin Liska <mliska@suse.cz>
8724
8725 * alloc-pool.c (struct alloc_pool_descriptor): Move definition
8726 to header file.
8727 * alloc-pool.h (pool_allocator::pool_allocator): New function.
8728 (pool_allocator::release): Likewise.
8729 (inline pool_allocator::release_if_empty): Likewise.
8730 (inline pool_allocator::~pool_allocator): Likewise.
8731 (pool_allocator::allocate): Likewise.
8732 (pool_allocator::remove): Likewise.
8733
8734 2015-06-01 James Greenhalgh <james.greenhalgh@arm.com>
8735
8736 * sched-deps.c (sched_analyze_2): Replace fuseable with fusible
8737 in comment.
8738
8739 2015-06-01 James Greenhalgh <james.greenhalgh@arm.com>
8740
8741 * gcc/config/arm/arm-protos.h (tune_params): Rename fuseable_ops
8742 to fusible_ops.
8743 * gcc/config/arm/arm.c (arm_print_tune_info): Likewise.
8744 (arm_macro_fusion_p): Likewise.
8745 (arm_macro_fusion_pair_p): Likewise.
8746
8747 2015-06-01 James Greenhalgh <james.greenhalgh@arm.com>
8748
8749 * config/aarch64/aarch64-protos.h (tune_params): Rename
8750 fuseable_ops to fusible_ops.
8751 * config/aarch64/aarch64.c (generic_tunings): Rename
8752 fuseable_ops to fusible_ops.
8753 (cortexa53_tunings): Likewise.
8754 (cortexa57_tunings): Likewise.
8755 (thunderx_tunings): Likewise.
8756 (xgene1_tunings): Likewise.
8757 (aarch64_macro_fusion_p): Likewise.
8758 (aarch64_macro_fusion_pair_p): Likewise.
8759
8760 2015-06-01 Dominik Vogt <vogt@linux.vnet.ibm.com>
8761
8762 * config/s390/driver-native.c: New file.
8763 * config/s390/x-native: New file.
8764 * config.host: Add new files for s390.
8765 * config/s390/s390.h (DRIVER_SELF_SPECS): Add support for -mtune=native
8766 and -march=native
8767 * config.gcc: Likewise.
8768 * config/s390/s390.opt (march): Likewise; add PROCESSOR_NATIVE
8769 * config/s390/s390-opts.h (enum processor_type): Ditto.
8770 * config/s390/s390.c (s390_option_override): Catch unhandled
8771 PROCESSOR_NATIVE
8772
8773 2015-06-01 Ilya Enkovich <ilya.enkovich@intel.com>
8774
8775 PR target/65527
8776 * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Add
8777 redirection for instrumented calls.
8778 * lto-wrapper.c (merge_and_complain): Merge -fcheck-pointer-bounds.
8779 (append_compiler_options): Append -fcheck-pointer-bounds.
8780 * tree-chkp.h (chkp_copy_call_skip_bounds): New.
8781 (chkp_redirect_edge): New.
8782 * tree-chkp.c (chkp_copy_call_skip_bounds): New.
8783 (chkp_redirect_edge): New.
8784
8785 2015-06-01 Richard Biener <rguenther@suse.de>
8786
8787 PR tree-optimization/66280
8788 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Fix pattern
8789 def-use walking.
8790
8791 2015-06-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8792
8793 * config/aarch64/aarch64.md
8794 (*<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3): Change type to
8795 logic_shift_imm.
8796
8797 2015-06-01 Eric Botcazou <ebotcazou@adacore.com>
8798
8799 * config/i386/winnt.c (i386_pe_encode_section_info) <FUNCTION_DECL>:
8800 Remove obsolete kludge.
8801
8802 2015-06-01 Richard Biener <rguenther@suse.de>
8803
8804 * tree-ssa-reassoc.c (get_rank): Simplify.
8805
8806 2015-05-31 H.J. Lu <hongjiu.lu@intel.com>
8807
8808 * configure.ac (NO_PIE_CFLAGS): Check CXXFLAGS instead of CFLAGS.
8809 * configure: Regenerated.
8810
8811 2015-05-31 Mikhail Maltsev <maltsevm@gmail.com>
8812
8813 * config/cris/cris.h (CRIS_ARCH_CPP_DEFAULT): Fix C++11 compatibility
8814 issue (add space between string literal and macro).
8815 * config/i386/mingw32.h (REAL_LIBGCC_SPEC): Likewise.
8816
8817 2015-05-30 Andreas Schwab <schwab@linux-m68k.org>
8818
8819 * config/m68k/m68k.h (ASM_PCREL_SPEC): Pass --pcrel also for
8820 implict or explicit -fPIE or -fpie.
8821
8822 2015-05-30 Mike Frysinger <vapier@gentoo.org>
8823
8824 * gcc/config/alpha/elf.h (ASM_SPEC): Add %{mcpu=*:-m%*}.
8825
8826 2015-05-28 DJ Delorie <dj@redhat.com>
8827
8828 * expmed.c (extract_bit_field_1): Avoid clobbering a
8829 yet-to-be-used base/index register.
8830
8831 2015-05-30 Jan Hubicka <hubicka@ucw.cz>
8832
8833 * alias.c (alias_set_entry_d): Add is_pointer and has_pointer.
8834 (alias_stats): Add num_universal.
8835 (alias_set_subset_of): Special case pointers; be ready for NULL
8836 children.
8837 (alias_sets_conflict_p): Special case pointers; be ready for NULL
8838 children.
8839 (init_alias_set_entry): Break out from ...
8840 (record_alias_subset): ... here; propagate new fields;
8841 allocate children only when really needed.
8842 (get_alias_set): Do less generous pointer globbing.
8843 (dump_alias_stats_in_alias_c): Update statistics.
8844
8845 2015-05-30 Alan Modra <amodra@gmail.com>
8846
8847 * config/rs6000/rs6000.c (split_stack_arg_pointer_used_p): Scan
8848 correct block for use of r12.
8849 (rs6000_expand_split_stack_prologue): Error on r29 asm global reg.
8850
8851 2015-05-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
8852
8853 PR target/66215
8854 * config/s390/s390.c (s390_reorg): Fix placement of post-label NOPs
8855 with -mhotpatch=.
8856
8857 2015-05-29 Jakub Jelinek <jakub@redhat.com>
8858
8859 PR tree-optimization/66142
8860 * tree-if-conv.c (if_convertible_phi_p): Don't give up on
8861 virtual phis that feed themselves.
8862
8863 2015-05-29 Richard Biener <rguenther@suse.de>
8864
8865 PR tree-optimization/66314
8866 * tree-ssa-threadupdate.c (create_block_for_threading): Add
8867 parameter that says which loop the new block belongs to.
8868 (ssa_create_duplicates): Blocks duplicated for the threaded
8869 path belong to the loop of the thread destination.
8870
8871 2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
8872
8873 * config/arm/neon-testgen.ml (emit_epilogue): Remove manual call
8874 to cleanup-saved-temps.
8875 * doc/sourcebuild.texi (Clean up generated test files): Expand
8876 introduction.
8877 (dg-keep-saved-temps): Document new proc.
8878 (cleanup-ipa-dump, cleanup-rtl-dump, cleanup-tree-dump,
8879 cleanup-saved-temps): Remove.
8880
8881 2015-05-28 Andreas Tobler <andreast@gcc.gnu.org>
8882
8883 * configure.ac: Move the atoll check from AC_CHECK_FUNCS to
8884 gcc_AC_CHECK_DECLS.
8885 * configure: Regenerate.
8886
8887 2015-05-28 Mike Frysinger <vapier@gentoo.org>
8888
8889 * config/nios2/linux.h (CPP_SPEC): Define.
8890
8891 2015-05-28 Mike Frysinger <vapier@gentoo.org>
8892
8893 * config/microblaze/linux.h (CPP_SPEC): Define.
8894
8895 2015-05-28 Mike Frysinger <vapier@gentoo.org>
8896
8897 * config/pa/pa-linux.h (CPP_SPEC): Change so -D_REENTRANT is used when
8898 -pthread is specified.
8899
8900 2015-05-28 Richard Biener <rguenther@suse.de>
8901
8902 * tree-vect-loop.c (vect_fixup_reduc_chain): New function.
8903 (vect_fixup_scalar_cycles_with_patterns): Likewise.
8904 (vect_analyze_loop_2): Call vect_fixup_scalar_cycles_with_patterns
8905 after pattern recog.
8906 (vect_create_epilog_for_reduction): Properly handle reductions
8907 with patterns.
8908 (vectorizable_reduction): Likewise.
8909 * tree-vect-slp.c (vect_analyze_slp_instance): Properly mark
8910 reduction chains.
8911 (vect_get_constant_vectors): Create the correct number of
8912 initial values for reductions.
8913 (vect_schedule_slp_instance): Handle reduction chains that are
8914 type changing properly.
8915 * tree-vect-stmts.c (vect_analyze_stmt): Adjust.
8916
8917 2015-05-28 Richard Biener <rguenther@suse.de>
8918
8919 PR tree-optimization/66142
8920 * tree-ssa-sccvn.c (vn_reference_lookup_3): Handle non-GIMPLE
8921 values better in memcpy destination handling. Handle non-aliasing
8922 we discover here.
8923
8924 2015-05-28 Lawrence Velázquez <vq@larryv.me>
8925
8926 PR target/63810
8927 * config/darwin-c.c (version_components): New global enum.
8928 (parse_version, version_as_legacy_macro)
8929 (version_as_modern_macro, macosx_version_as_macro): New functions.
8930 (version_as_macro): Remove.
8931 (darwin_cpp_builtins): Use new function.
8932
8933 2015-05-28 H.J. Lu <hongjiu.lu@intel.com>
8934
8935 * builtins.c (expand_builtin_acc_on_device): Mark parameters
8936 with ATTRIBUTE_UNUSED.
8937
8938 2015-05-28 Julian Brown <julian@codesourcery.com>
8939
8940 PR libgomp/65742
8941
8942 * builtins.c (expand_builtin_acc_on_device): Don't use open-coded
8943 sequence for !ACCEL_COMPILER.
8944
8945 2015-05-28 Nick Clifton <nickc@redhat.com>
8946
8947 * config/rx/rx.c (push_regs): New function. Extracts code from...
8948 (rx_expand_prologue): ... here. Use push_regs to push even small
8949 spans of registers.
8950 (pop_regs): New function.
8951 (rx_expand_epilogue): Use pop_regs to pop even small spans of
8952 registers.
8953
8954 2015-05-28 Richard Biener <rguenther@suse.de>
8955
8956 * tree-vectorizer.h (struct _slp_instance): Remove body_cost_vec
8957 member.
8958 (SLP_INSTANCE_BODY_COST_VEC): Remove.
8959 (vect_update_slp_costs_according_to_vf): Likewise.
8960 (vect_slp_analyze_operations): Update prototype.
8961 * tree-vect-loop.c (vect_analyze_loop_2): Remove call to
8962 vect_update_slp_costs_according_to_vf, adjust.
8963 * tree-vect-slp.c (vect_free_slp_instance): Adjust.
8964 (vect_analyze_slp_cost_1): Likewise.
8965 (vect_analyze_slp_cost): Likewise. Properly deal with
8966 widening reduction ops. Commit body costs.
8967 (vect_analyze_slp_instance): Adjust. Do not analyze SLP
8968 cost for loops from here.
8969 (vect_slp_analyze_operations): But do it from here when
8970 the vectorization factor is known and stmts are analyzed.
8971 (vect_bb_vectorization_profitable_p): Simplify.
8972 (vect_slp_analyze_bb_1): Do not compute SLP cost here.
8973 (vect_update_slp_costs_according_to_vf): Remove.
8974
8975 2015-05-27 Magnus Granberg <zorry@gentoo.org>
8976 H.J. Lu <hongjiu.lu@intel.com>
8977
8978 * Makefile.in (COMPILER): Add @NO_PIE_CFLAGS@.
8979 (BUILD_CFLAGS): Likewise.
8980 (BUILD_CXXFLAGS): Likewise.
8981 (LINKER): Add @NO_PIE_FLAG@.
8982 (BUILD_LDFLAGS): Likewise.
8983 (libgcc.mvars): Set NO_PIE_CFLAGS to -fno-PIE for
8984 --enable-default-pie.
8985 * common.opt (fPIE): Initialize to -1.
8986 (fpie): Likewise.
8987 (no-pie): New option.
8988 (pie): Replace "Negative(shared)" with "Negative(no-pie)".
8989 * configure.ac: Add --enable-default-pie.
8990 (NO_PIE_CFLAGS): New. Check if -fno-PIE works. AC_SUBST.
8991 (NO_PIE_FLAG): New. Check if -no-pie works. AC_SUBST.
8992 * defaults.h (DEFAULT_FLAG_PIE): New. Default PIE to -fPIE.
8993 * gcc.c (NO_PIE_SPEC): New.
8994 (PIE_SPEC): Likewise.
8995 (NO_FPIE1_SPEC): Likewise.
8996 (FPIE1_SPEC): Likewise.
8997 (NO_FPIE2_SPEC): Likewise.
8998 (FPIE2_SPEC): Likewise.
8999 (NO_FPIE2_SPEC): Likewise.
9000 (FPIE_SPEC): Likewise.
9001 (NO_FPIE_SPEC): Likewise.
9002 (NO_FPIC1_SPEC): Likewise.
9003 (FPIC1_SPEC): Likewise.
9004 (NO_FPIC2_SPEC): Likewise.
9005 (FPIC2_SPEC): Likewise.
9006 (NO_FPIC2_SPEC): Likewise.
9007 (FPIC_SPEC): Likewise.
9008 (NO_FPIC_SPEC): Likewise.
9009 (NO_FPIE1_AND_FPIC1_SPEC): Likewise.
9010 (FPIE1_OR_FPIC1_SPEC): Likewise.
9011 (NO_FPIE2_AND_FPIC2_SPEC): Likewise.
9012 (FPIE2_OR_FPIC2_SPEC): Likewise.
9013 (NO_FPIE_AND_FPIC_SPEC): Likewise.
9014 (FPIE_OR_FPIC_SPEC): Likewise.
9015 (LD_PIE_SPEC): Likewise.
9016 (LINK_PIE_SPEC): Handle -no-pie. Use PIE_SPEC and LD_PIE_SPEC.
9017 * opts.c (finish_options): Update opts->x_flag_pie if it is -1.
9018 * config/darwin.h (PIE_SPEC): Renamed to ...
9019 (DARWIN_PIE_SPEC): This.
9020 (LINK_SPEC): Replace PIE_SPEC with DARWIN_PIE_SPEC.
9021 * config/darwin9.h (PIE_SPEC): Renamed to ...
9022 (DARWIN_PIE_SPEC): This.
9023 * config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Use
9024 PIE_SPEC and NO_PIE_SPEC if HAVE_LD_PIE is defined.
9025 * config/openbsd.h (ASM_SPEC): Use FPIE1_OR_FPIC1_SPEC and
9026 FPIE2_OR_FPIC2_SPEC.
9027 * config/m68k/netbsd-elf.h (ASM_SPEC): Likewise.
9028 * config/m68k/openbsd.h (ASM_SPEC): Likewise.
9029 * gcc/config/sol2.h (ASM_PIC_SPEC): Likewise.
9030 * config/arm/freebsd.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
9031 * config/arm/netbsd-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
9032 * config/arm/semi.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
9033 * config/cris/linux.h (CRIS_ASM_SUBTARGET_SPEC): Likewise.
9034 * config/m32r/m32r.h (ASM_SPEC): Likewise.
9035 * config/m68k/uclinux.h (DRIVER_SELF_SPECS): Likewise.
9036 * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
9037 * config/rs6000/sysv4.h (ASM_SPEC): Likewise.
9038 * config/sparc/freebsd.h (ASM_SPEC): Likewise.
9039 * config/sparc/linux.h (ASM_SPEC): Likewise.
9040 * config/sparc/linux64.h (ASM_SPEC): Likewise.
9041 * config/sparc/netbsd-elf.h (ASM_SPEC): Likewise.
9042 * config/sparc/openbsd64.h (ASM_SPEC): Likewise.
9043 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
9044 * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
9045 * config/sparc/sparc.h (ASM_SPEC): Likewise.
9046 * config/sparc/sysv4.h (ASM_SPEC): Likewise.
9047 * config/sparc/vxworks.h (ASM_SPEC): Likewise.
9048 * config/c6x/elf-common.h (ASM_SPEC): Use NO_FPIC2_SPEC,
9049 FPIC2_SPEC, FPIC1_SPEC and FPIC2_SPEC.
9050 * config/c6x/uclinux-elf.h (LINK_SPEC): Use FPIE_SPEC.
9051 * config/frv/frv.h (DRIVER_SELF_SPECS): Use FPIC_SPEC,
9052 NO_FPIC_SPEC and NO_FPIE1_AND_FPIC1_SPEC.
9053 (ASM_SPEC): Use FPIE1_OR_FPIC1_SPEC and FPIE2_OR_FPIC2_SPEC.
9054 * config/m68k/m68k.h (ASM_PCREL_SPEC): Use FPIC_SPEC and NO_FPIC_SPEC.
9055 * config/mips/gnu-user.h (NO_SHARED_SPECS): Use NO_FPIE_AND_FPIC_SPEC.
9056 * config/mips/vxworks.h (SUBTARGET_ASM_SPEC): Use FPIC_SPEC.
9057 * config/rs6000/freebsd64.h (ASM_SPEC32): Likewise.
9058 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
9059 * config/vax/linux.h (ASM_SPEC): Likewise.
9060 * doc/install.texi: Document --enable-default-pie.
9061 * doc/invoke.texi: Document -no-pie.
9062 * config.in: Regenerated.
9063 * configure: Likewise.
9064
9065 2015-05-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
9066
9067 PR rtl-optimization/66168
9068 * loop-invariant.c (move_invariant_reg): Pass dest rather than reg to
9069 can_move_invariant_reg.
9070
9071 2015-05-27 John David Anglin <danglin@gcc.gnu.org>
9072
9073 PR target/66148
9074 * config/pa/pa.c (pa_emit_move_sequence): Correct placement of
9075 REG_EQUAL note when doing insert.
9076
9077 * config/pa/pa.c (pa_print_operand): Use HOST_WIDE_INT_PRINT_DEC
9078 instead of "%d" for 'o' operand.
9079
9080 2015-05-27 Nathan Sidwell <nathan@acm.org>
9081
9082 PR c++/66270
9083 * tree.c (build_pointer_type_for_mode): Canonical type does not
9084 inherit can_alias_all.
9085 (build_reference_type_for_mode): Likewise.
9086
9087 2015-05-27 Eric Botcazou <ebotcazou@adacore.com>
9088
9089 * expr.h (array_at_struct_end_p): Move to...
9090 (array_ref_element_size): Likewise.
9091 (component_ref_field_offset): Likewise.
9092 * tree.h (array_ref_element_size): ...here.
9093 (array_at_struct_end_p): Likewise.
9094 (component_ref_field_offset): Likewise.
9095 * expr.c (array_ref_element_size): Move to...
9096 (array_ref_low_bound): Likewise.
9097 (array_at_struct_end_p): Likewise.
9098 (array_ref_up_bound): Likewise.
9099 (component_ref_field_offset): Likewise.
9100 * tree.c (array_ref_element_size): ...here.
9101 (array_ref_low_bound): Likewise.
9102 (array_ref_up_bound): Likewise.
9103 (array_at_struct_end_p): Likewise.
9104 (component_ref_field_offset): Likewise.
9105
9106 2015-05-27 Gregor Richards <gregor.richards@uwaterloo.ca>
9107 Szabolcs Nagy <szabolcs.nagy@arm.com>
9108
9109 * config/aarch64/aarch64-linux.h (MUSL_DYNAMIC_LINKER): Define.
9110
9111 2015-05-27 Jason Merrill <jason@redhat.com>
9112
9113 PR bootstrap/66304
9114 * configure.ac: Use ACX_PROG_CXX_WARNING_OPTS,
9115 ACX_PROG_CXX_WARNING_ALMOST_PEDANTIC, and
9116 ACX_PROG_CXX_WARNINGS_ARE_ERRORS.
9117
9118 2015-05-22 Aditya Kumar <hiraditya@msn.com>
9119
9120 * auto-profile.c (afdo_calculate_branch_prob): Break once has_sample
9121 is true.
9122
9123 * statistics.c (statistics_fini_pass): Print pass name.
9124
9125 2015-05-27 Richard Biener <rguenther@suse.de>
9126
9127 PR tree-optimization/66272
9128 Revert parts of
9129 2014-08-15 Richard Biener <rguenther@suse.de>
9130
9131 PR tree-optimization/62031
9132 * tree-data-ref.c (dr_analyze_indices): Do not set
9133 DR_UNCONSTRAINED_BASE.
9134 (dr_may_alias_p): All indirect accesses have to go the
9135 formerly DR_UNCONSTRAINED_BASE path.
9136 * tree-data-ref.h (struct indices): Remove
9137 unconstrained_base member.
9138 (DR_UNCONSTRAINED_BASE): Remove.
9139
9140 2015-05-27 Aldy Hernandez <aldyh@redhat.com>
9141
9142 * dwarf2out.c: Remove block_map.
9143 (gen_call_site_die): Replace block_map use with BLOCK_DIE.
9144 (gen_lexical_block_die): Same.
9145 (dwarf2out_function_decl): Remove block_map use.
9146 (dwarf2out_c_finalize): Same.
9147 * tree-core.h (struct tree_block): Add die field.
9148 * tree.h (BLOCK_DIE): New.
9149
9150 2015-05-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9151
9152 PR target/65358
9153 * expr.c (memory_load_overlap): New function.
9154 (emit_push_insn): When pushing partial args to the stack would
9155 clobber the register part load the overlapping part into a pseudo
9156 and put it into the hard reg after pushing. Change return type
9157 to bool. Add bool argument.
9158 * expr.h (emit_push_insn): Change return type to bool.
9159 Add bool argument.
9160 * calls.c (expand_call): Cancel sibcall optimization when encountering
9161 partial argument on targets with ARGS_GROW_DOWNWARD and
9162 !STACK_GROWS_DOWNWARD.
9163 (emit_library_call_value_1): Update callsite of emit_push_insn.
9164 (store_one_arg): Likewise.
9165
9166 2015-05-27 Gregor Richards <gregor.richards@uwaterloo.ca>
9167
9168 * config/arm/linux-eabi.h (MUSL_DYNAMIC_LINKER): Define.
9169
9170 2015-05-27 Martin Liska <mliska@suse.cz>
9171
9172 * Makefile.in: Add additional dependencies related to memory report
9173 enhancement.
9174 * alloc-pool.c (allocate_pool_descriptor): Use new ctor.
9175 * bitmap.c (struct bitmap_descriptor_d): Remove.
9176 (struct loc): Likewise.
9177 (struct bitmap_desc_hasher): Likewise.
9178 (bitmap_desc_hasher::hash): Likewise.
9179 (bitmap_desc_hasher::equal): Likewise.
9180 (get_bitmap_descriptor): Likewise.
9181 (bitmap_register): User new memory descriptor API.
9182 (register_overhead): Likewise.
9183 (bitmap_find_bit): Register nsearches and search_iter statistics.
9184 (struct bitmap_output_info): Remove.
9185 (print_statistics): Likewise.
9186 (dump_bitmap_statistics): Use new memory descriptor.
9187 * bitmap.h (struct bitmap_usage): New class.
9188 * genmatch.c: Extend header file inclusion.
9189 * genpreds.c: Likewise.
9190 * ggc-common.c (struct ggc_usage): New class.
9191 (struct ggc_loc_desc_hasher): Remove.
9192 (ggc_loc_desc_hasher::hash): Likewise.
9193 (ggc_loc_desc_hasher::equal): Likewise.
9194 (struct ggc_ptr_hash_entry): Likewise.
9195 (struct ptr_hash_hasher): Likewise.
9196 (ptr_hash_hasher::hash): Likewise.
9197 (ptr_hash_hasher::equal): Likewise.
9198 (make_loc_descriptor): Likewise.
9199 (ggc_prune_ptr): Likewise.
9200 (dump_ggc_loc_statistics): Use new memory descriptor.
9201 (ggc_record_overhead): Likewise.
9202 (ggc_free_overhead): Likewise.
9203 (final_cmp_statistic): Remove.
9204 (cmp_statistic): Likewise.
9205 (ggc_add_statistics): Liekwise.
9206 (ggc_prune_overhead_list): Likewise.
9207 * hash-map-traits.h: New file.
9208 * hash-map.h (struct default_hashmap_traits): Move the traits to a
9209 separate header file.
9210 * hash-set.h: Pass memory statistics info to ctor.
9211 * hash-table.c (void dump_hash_table_loc_statistics): New function.
9212 * hash-table.h (hash_table::hash_table): Add new ctor arguments.
9213 (hash_table::~hash_table): Register memory release operation.
9214 (hash_table::alloc_entries): Handle memory allocation operation.
9215 (hash_table::expand): Likewise.
9216 * inchash.c (iterative_hash_hashval_t): Move implementation to header
9217 file.
9218 (iterative_hash_host_wide_int): Likewise.
9219 * inchash.h (class hash): Likewise.
9220 * mem-stats-traits.h: New file.
9221 * mem-stats.h: New file.
9222 (mem_location): Add new class.
9223 (mem_usage): Likewise.
9224 (mem_alloc_description): Likewise.
9225 * sese.c: Add new header file inclusision.
9226 * toplev.c (dump_memory_report): Add report for hash_table, hash_map
9227 and hash_set.
9228 * tree-sra.c: Add new header file inclusision.
9229 * vec.c (struct vec_descriptor): Remove.
9230 (hash_descriptor): Likewise.
9231 (struct vec_usage): Likewise.
9232 (struct ptr_hash_entry): Likewise.
9233 (hash_ptr): Likewise.
9234 (eq_ptr): Likewise.
9235 (vec_prefix::register_overhead): Use new memory descriptor API.
9236 (vec_prefix::release_overhead): Likewise.
9237 (add_statistics): Remove.
9238 (dump_vec_loc_statistics): Use new memory descriptor API.
9239 * vec.h (struct vec_prefix): Likewise.
9240 (va_heap::reserve): Likewise.
9241 (va_heap::release): Likewise.
9242 * emit-rtl.c (gen_raw_REG): Fix passing MEM_STAT.
9243
9244 2015-05-27 Richard Biener <rguenther@suse.de>
9245
9246 * tree-vect-stmts.c (vectorizable_load): Initialize slp_perm
9247 earlier and remove ??? comment.
9248 (vect_analyze_stmt): If we are analyzing a pure SLP stmt
9249 and got called from loop analysis bail out. Always pass the SLP
9250 node to the vectorizable_* functions.
9251 * tree-vect-loop.c (vect_analyze_loop_operations): Remove
9252 the premature SLP check here.
9253 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Dump hybrid
9254 detected SLP stmts.
9255 (vect_detect_hybrid_slp_1): Likewise.
9256
9257 2015-05-26 Jeff Law <law@redhat.com>
9258
9259 * combine.c (find_split_point): Verify that the shift count is a
9260 constant when choosing (plus (ashift ...)) as a split point.
9261
9262 * tree-ssa-threadupdate.c: Replace 8 space sequences with tabs.
9263 No functional changes.
9264
9265 2015-05-26 Jan Hubicka <hubicka@ucw.cz>
9266
9267 * ipa-polymorphic-call.c
9268 (ipa_polymorphic_call_context::get_dynamic_type): Short circuit the
9269 case when call target is already known.
9270
9271 2015-05-26 Oleg Endo <olegendo@gcc.gnu.org>
9272
9273 PR target/65979
9274 * config/sh/sh.md (tstsi_t peephole2): Use gen_rtx_SET and
9275 take into account the case that operands[1] and operands[2]
9276 are the same register.
9277
9278 2015-05-26 Michael Matz <matz@suse.de>
9279
9280 PR middle-end/66251
9281
9282 * tree-vect-stmts.c (vect_model_store_cost): Handled strided group
9283 stores.
9284 (vect_create_vectorized_demotion_stmts): Always set
9285 STMT_VINFO_VEC_STMT, also with SLP.
9286 (vectorizable_store): Handle strided group stores.
9287
9288 2015-05-26 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
9289
9290 PR target/66049
9291 * config/aarch64/aarch64.md
9292 (*adds_shift_imm_<mode>): New pattern.
9293 (*subs_shift_imm_<mode>): Likewise.
9294 (*adds_<optab><ALLX:mode>_shift_<GPI:mode>): Likewise.
9295 (*subs_<optab><ALLX:mode>_shift_<GPI:mode>): Likewise.
9296 (*add_uxt<mode>_shift2): Likewise.
9297 (*add_uxtsi_shift2_uxtw): Likewise.
9298 (*sub_uxt<mode>_shift2): Likewise.
9299 (*sub_uxtsi_shift2_uxtw): Likewise.
9300
9301 2015-05-26 David Edelsohn <dje.gcc@gmail.com>
9302
9303 * config/rs6000/constraints.md (Y, U): Use match_test.
9304
9305 2015-05-26 Christian Bruel <christian.bruel@st.com>
9306
9307 PR target/52144
9308 * config/arm/arm.c (arm_option_check_internal)
9309 (arm_option_params_internal): Check opts->target_flags to set macros.
9310 (TREE_TARGET_ARM, TREE_TARGET_THUMB)
9311 (TREE_TARGET_THUMB1, TREE_TARGET_THUMB2) Replace with...
9312 (TARGET_ARM_P, TARGET_THUMB_P, TARGET_THUMB1_P, TARGET_THUMB2_P)
9313 (builtin_define): Replaced with def_or_undef_macro.
9314 * config/arm/arm.h (TREE_TARGET_ARM, TREE_TARGET_THUMB)
9315 TREE_TARGET_THUMB1, TREE_TARGET_THUMB2) Redefine with...
9316 (TARGET_ARM_P, TARGET_THUMB_P, TARGET_THUMB1_P, TARGET_THUMB2_P)
9317 (TARGET_32BIT_P, TARGET_ARM_QBIT_P, TARGET_ARM_SAT_P, TARGET_IDIV_P)
9318 (TARGET_HAVE_LDREX_P, TARGET_HAVE_LDREXBH_P, TARGET_HAVE_LDREXD_P)
9319 (TARGET_ARM_FEATURE_LDREX_P)
9320 (TARGET_DSP_MULTIPLY_P, TARGET_INT_SIMD_P): New macros.
9321 * config/arm/arm-c.c (def_or_undef_macro): New function.
9322 (arm_cpu_cpp_builtins): Use def_or_undef_macro for macros definition.
9323
9324 2015-05-26 Christian Bruel <christian.bruel@st.com>
9325
9326 * c-common.h (builtin_define_with_int_value)
9327 (builtin_define_type_sizeof): Declare.
9328 * c-cppbuiltin.c (builtin_define_with_int_value)
9329 (builtin_define_type_sizeof): Externalize.
9330 (builtin_define_std): Cleanup declaration.
9331 * config/arm/arm-protos.h (arm_cpu_cpp_builtins): Declare.
9332 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Move macro defines into...
9333 * config/arm/arm-c.c (arm_cpu_cpp_builtins): New function.
9334 (builtin_define, builtin_assert): New macros.
9335
9336 2015-05-26 Richard Biener <rguenther@suse.de>
9337
9338 PR tree-optimization/66142
9339 * tree-ssa-sccvn.c (vn_reference_lookup_3): Manually compare
9340 MEM_REFs for the same base address.
9341
9342 2015-05-26 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
9343
9344 PR ipa/66181
9345 * tree.c (verify_type_variant): Do not check TYPE_NO_FORCE_BLK.
9346
9347 2015-05-26 Jason Merrill <jason@redhat.com>
9348
9349 * configure.ac: Set CXXFLAGS for ISL test.
9350 * configure: Regenerate.
9351
9352 * configure.ac: Use C++ for all tests. Use AC_CHECK_DECLS for
9353 strstr and basename.
9354 * configure: Regenerate.
9355
9356 2015-05-26 Richard Biener <rguenther@suse.de>
9357
9358 * fold-const.c (fold_binary_loc): Move X % -Y -> X % Y and
9359 X % C -> X & (C - 1) for C being a power-of two to ...
9360 * match.pd: ... patterns.
9361
9362 2015-05-26 Marc Glisse <marc.glisse@inria.fr>
9363
9364 * match.pd (swapped_tcc_comparison): New operator list.
9365 (-A CMP -B): New simplification.
9366 * fold-const.c (fold_comparison): Remove corresponding code.
9367
9368 2015-05-26 Richard Sandiford <richard.sandiford@arm.com>
9369
9370 * caller-save.c (init_caller_save): Base temporary register numbers
9371 on LAST_VIRTUAL_REGISTER + 1 rather than FIRST_PSEUDO_REGISTER.
9372 * cfgloopanal.c (init_set_costs): Likewise.
9373 * dojump.c (prefer_and_bit_test): Likewise.
9374 * expr.c (init_expr_target): Likewise.
9375 * ira.c (setup_prohibited_mode_move_regs): Likewise.
9376 * lower-subreg.c (init_lower_subreg): Likewise.
9377 * postreload.c (reload_cse_regs_1): Likewise.
9378
9379 2015-05-26 Richard Sandiford <richard.sandiford@arm.com>
9380
9381 * gensupport.h (compute_test_codes): Declare.
9382 * gensupport.c (compute_predicate_codes): Rename to...
9383 (compute_test_codes): ...this. Generalize error message.
9384 (process_define_predicate): Update accordingly.
9385 * genpreds.c (compute_maybe_allows): Delete.
9386 (add_constraint): Use compute_test_codes to determine whether
9387 something can accept a SUBREG, REG or MEM.
9388
9389 2015-05-26 Torvald Riegel <triegel@redhat.com>
9390
9391 * doc/extend.texi (__atomic Builtins): Use 'memory order' instead of
9392 'memory model' to align with C++11; fix description of memory orders;
9393 fix a few typos.
9394
9395 2015-05-26 Richard Biener <rguenther@suse.de>
9396
9397 * tree-vect-loop.c (vect_update_vf_for_slp): Split out from ...
9398 (vect_analyze_loop_operations): ... here. Remove slp parameter,
9399 detect whether we apply SLP. Remove call to
9400 vect_update_slp_costs_according_to_vf.
9401 (vect_analyze_loop_2): Call vect_update_vf_for_slp and
9402 vect_update_slp_costs_according_to_vf from here. Dispatch
9403 to vect_slp_analyze_operations to analyze SLP stmts.
9404 * tree-vect-slp.c (vect_slp_analyze_node_operations): Drop
9405 unused bb_vec_info parameter, adjust assert.
9406 (vect_slp_analyze_operations): Pass in the slp instance tree
9407 instead of bb_vec_info.
9408 (vect_slp_analyze_bb_1): Adjust call to vect_slp_analyze_operations.
9409 * tree-vectorizer.h (vect_slp_analyze_operations): Declare.
9410
9411 2015-05-25 Alexander Monakov <amonakov@ispras.ru>
9412
9413 * config/i386/i386.h (enum reg_class): Move CLOBBERED_REGS prior to
9414 Q_REGS. Expand comment.
9415 (REG_CLASS_NAMES): Ditto.
9416 (REG_CLASS_CONTENTS): Ditto.
9417
9418 2015-05-25 Uros Bizjak <ubizjak@gmail.com>
9419
9420 PR target/66274
9421 * config/i386/i386.c (print_reg): Only print "r" for TARGET_64BIT
9422 when LEGACY_INT_REGNO_P is processed.
9423
9424 2015-05-25 Alexander Monakov <amonakov@ispras.ru>
9425
9426 * config/i386/i386.c (ix86_function_ok_for_sibcall): Check flag_plt.
9427
9428 2015-05-25 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
9429
9430 * config/avr/avr.c (avr_out_load_psi_reg_no_disp_tiny): Restore base
9431 register if not marked dead/unused, before return.
9432
9433 2015-05-24 Jan Hubicka <hubicka@ucw.cz>
9434
9435 PR lto/66180
9436 * ipa-devirt.c (type_with_linkage): Check that TYPE_STUB_DECL
9437 is set; check for assembler name at LTO time.
9438 (type_in_anonymous_namespace): Remove hacks, check that all
9439 anonymous types are called "<anon>"
9440 (odr_type_p): Simplify; add check for "<anon>"
9441 (odr_subtypes_equivalent): Add odr_type_p check.
9442 * tree.c (need_assembler_name_p): Even anonymous namespace needs
9443 assembler name.
9444
9445 2015-05-24 Jan Hubicka <hubicka@ucw.cz>
9446
9447 * ipa-utils.h (method_class_type): Remove.
9448 * cgraphunit.c (walk_polymorphic_call_targets): Use
9449 TYPE_METHOD_BASETYPE.
9450 * ipa-devirt.c (type_in_anonymous_namespace_p): Check that it is called
9451 on main variants only.
9452 (method_class_type): Remove.
9453 (update_type_inheritance_graph): Use TYPE_METHOD_BASETYPE.
9454 (build_type_inheritance_graph): Likewise.
9455 * ipa-icf.c (sem_function::equals_wpa): Likewise.
9456 * pa-polymorphic-call.c (decl_maybe_in_construction_p,
9457 check_stmt_for_type_change): Use TYPE_METHOD_BASETYPE.
9458
9459 2015-05-24 Jan Hubicka <hubicka@ucw.cz>
9460
9461 * tree.c (prototype_p, virtual_method_call_p, obj_type_ref_class,
9462 is_typedef_decl, typedef_variant_p): Constify.
9463 * tree.h (prototype_p, virtual_method_call_p, obj_type_ref_class,
9464 is_typedef_decl, typedef_variant_p): Constify.
9465
9466 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9467
9468 * defaults.h (gen_tablejump): New function.
9469 (HAVE_tablejump): Add default value.
9470 * expr.c: Adjust.
9471 * stmt.c: Likewise.
9472
9473 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9474
9475 * defaults.h (gen_store_multiple): New function.
9476 (HAVE_store_multiple): Add default value.
9477 * expr.c (move_block_from_reg): Adjust.
9478
9479 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9480
9481 * defaults.h (gen_load_multiple): New function.
9482 (HAVE_load_multiple): Add default value.
9483 * expr.c (move_block_to_reg): Adjust.
9484
9485 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9486
9487 * defaults.h (gen_mem_signal_fence): New function.
9488 (HAVE_mem_signal_fence): Add default value.
9489 * optabs.c: Adjust.
9490
9491 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9492
9493 * defaults.h (gen_memory_barrier): New function.
9494 (HAVE_memory_barrier): Add default value.
9495 * optabs.c: Adjust.
9496
9497 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9498
9499 * defaults.h (gen_mem_thread_fence): New function.
9500 (HAVE_mem_thread_fence): Add default definition.
9501 * optabs.c: Adjust.
9502
9503 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9504
9505 * combine.c (find_split_point): Check the value of HAVE_lo_sum
9506 instead of if it is defined.
9507 (combine_simplify_rtx): Likewise.
9508 * lra-constraints.c (process_address_1): Likewise.
9509 * config/darwin.c: Adjust.
9510 * genconfig.c (main): Always define HAVE_lo_sum.
9511
9512 2015-05-23 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
9513
9514 * genmatch.c (parser::parse_operation): Reject expanding
9515 operator-list inside 'for'.
9516
9517 2015-05-23 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
9518
9519 * genmatch.c (parser::parse_for): Reject iterator if used as
9520 operator-list.
9521
9522 2015-05-23 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
9523
9524 * genmatch.c (parser::parse_operator_list): Check for CPP_CLOSE_PAREN
9525 after end of id-list.
9526
9527 2015-05-22 Jan Hubicka <hubicka@ucw.cz>
9528
9529 * tree.c (gimple_canonical_types_compatible_p): Sanity check that
9530 we do not try to compute canonical type for type that does not need
9531 alias set.
9532 (verify_type): Drop FIXME for METHOD_TYPE, update FIXME for
9533 FUNCITON_TYPE.
9534 * tree.h (type_with_alias_set_p): New.
9535
9536 2015-05-22 Jan Hubicka <hubicka@ucw.cz>
9537
9538 * tree.c (gimple_canonical_types_compatible_p): Do not compare
9539 function attributes.
9540 (verify_type): Remove METHOD_TYPE FIXME; update FUNCTION_TYPE.
9541
9542 2015-05-22 Jim Wilson <jim.wilson@linaro.org>
9543
9544 * Makefile.in (check_gcc_parallelize): Delete.
9545 (lang_checks_parallelized): Update comment.
9546
9547 2015-05-22 Mikhail Maltsev <maltsevm@gmail.com>
9548
9549 PR rtl-optimization/66237
9550 * bb-reorder.c (fix_crossing_conditional_branches): Fix wrong
9551 location of an "as_a" cast.
9552
9553 2015-05-22 Jeff Law <law@redhat.com>
9554
9555 * config/pa/pa.md (non-canonical shift-add insns): Remove.
9556 (peepholes with non-canonical RTL sources): Remove.
9557 (peepholes for indexed stores of FP regs in integer modes): Match and
9558 generate canonical RTL.
9559
9560 2015-05-22 Marc Glisse <marc.glisse@inria.fr>
9561
9562 PR tree-optimization/63387
9563 * match.pd ((X /[ex] A) * A -> X): Remove unnecessary condition.
9564 ((x ord x) & (y ord y) -> (x ord y),
9565 (x ord x) & (x ord y) -> (x ord y)): New simplifications.
9566 * fold-const.c (tree_unary_nonnegative_warnv_p) <ABS_EXPR>: Handle
9567 vectors like scalars.
9568
9569 2015-05-22 Marc Glisse <marc.glisse@inria.fr>
9570
9571 * convert.c (convert_to_integer, convert_to_vector): Include the
9572 types in the error message.
9573
9574 2015-05-22 Marc Glisse <marc.glisse@inria.fr>
9575
9576 * match.pd ((x | y) & ~x -> y & ~x, (x & y) | ~x -> y | ~x): New
9577 simplifications.
9578
9579 2015-05-22 Jeff Law <law@redhat.com>
9580
9581 * config/pa/pa.md (integer_indexed_store splitters): Use
9582 mem_shadd_operand. Use ASHIFT rather than MULT in the resulting
9583 insns -- adjusting the constant 2nd operand accordingly.
9584
9585 * combine.c (try_combine): Canonicalize (plus (mult X pow2) Y) into
9586 (plus (ashift X log2) Y) if it is a split point.
9587
9588 * config/pa/pa.c (mem_shadd_or_shadd_rtx_p): New function factoredx
9589 out of hppa_legitimize_address to handle both forms of a multiply
9590 by 2, 4 or 8.
9591 (hppa_legitimize_address): Use mem_shadd_or_shadd_rtx_p.
9592 Always generate the ASHIFT variant as the result is not directly
9593 used in a MEM. Update comments and refactor slightly to improve
9594 readability.
9595
9596 2015-05-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9597
9598 PR target/65491
9599 * config/aarch64/aarch64.c (aarch64_short_vector_p): Move above
9600 aarch64_composite_type_p. Remove check for aarch64_composite_type_p.
9601 (aarch64_composite_type_p): Return false if given type and mode are
9602 for a short vector.
9603
9604 2015-05-22 Richard Biener <rguenther@suse.de>
9605
9606 * tree-vectorizer.h (struct _slp_oprnd_info): Add second_pattern
9607 member.
9608 * tree-vect-loop.c (vect_analyze_loop_operations): Look at
9609 patterns when determining whether SLP is pure.
9610 (vect_is_slp_reduction): Remove check for pattern stmts.
9611 (vect_is_simple_reduction_1): Remove dead code.
9612 * tree-vect-slp.c (vect_create_oprnd_info): Initialize second_pattern.
9613 (vect_get_and_check_slp_defs): Pass in the stmt number.
9614 Allow the first def in a reduction to be not a pattern stmt when
9615 the rest of the stmts def are patterns.
9616 (vect_build_slp_tree_1): Allow tcc_expression codes like
9617 SAD_EXPR and DOT_PROD_EXPR.
9618 (vect_build_slp_tree): Adjust.
9619 (vect_analyze_slp): Refactor and move BB vect error message ...
9620 (vect_slp_analyze_bb_1): ... here.
9621
9622 2015-05-22 Aldy Hernandez <aldyh@redhat.com>
9623
9624 * tree-switch-conversion.c (build_one_array): Set DECL_IGNORED_P
9625 for CSWTCH temporary.
9626
9627 2015-05-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9628
9629 * config/arm/arm.c (arm_new_rtx_costs): Handle UNSPEC_VOLATILE.
9630 (arm_unspec_cost): Allow UNSPEC_VOLATILE. Do not recurse inside
9631 unknown unspecs.
9632
9633 2015-05-22 Richard Biener <rguenther@suse.de>
9634
9635 PR tree-optimization/66251
9636 * tree-vect-stmts.c (vectorizable_conversion): Properly
9637 set STMT_VINFO_VEC_STMT even for the SLP case.
9638
9639 2015-05-22 Marek Polacek <polacek@redhat.com>
9640
9641 * doc/extend.texi: Use @pxref instead of @xref.
9642
9643 2015-05-22 hiraditya <hiraditya@msn.com>
9644
9645 * gimple.h (gimple_expr_type): Refactor to make it concise. Remove
9646 redundant if.
9647
9648 2015-05-22 Richard Biener <rguenther@suse.de>
9649
9650 PR tree-optimization/65701
9651 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
9652 Move peeling cost models into one place. Peel for alignment
9653 for single loads only if an aligned load is cheaper than
9654 an unaligned load.
9655
9656 2015-05-22 Marek Polacek <polacek@redhat.com>
9657
9658 PR c/47043
9659 * doc/extend.texi (Enumerator Attributes): New section.
9660 Document syntax of enumerator attributes.
9661
9662 2015-05-22 Richard Biener <rguenther@suse.de>
9663
9664 * tree-vect-loop.c (get_reduction_op): New function.
9665 (vect_model_reduction_cost): Use it, add reduc_index parameter.
9666 Make ready for BB reductions.
9667 (vect_create_epilog_for_reduction): Use get_reduction_op.
9668 (vectorizable_reduction): Init reduc_index to a valid value.
9669 Adjust vect_model_reduction_cost call.
9670 * tree-vect-slp.c (vect_get_constant_vectors): Use the proper
9671 operand for reduction defaults. Add SAD_EXPR support.
9672 Assert we have a neutral op for SLP reductions.
9673 * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): When
9674 walking pattern stmt ops only recurse to SSA names.
9675
9676 2015-05-22 Richard Biener <rguenther@suse.de>
9677
9678 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Replace
9679 assert with guard, remove check on detected reduction.
9680 (vect_recog_sad_pattern): Likewise.
9681 (vect_recog_widen_sum_pattern): Likewise.
9682
9683 2015-05-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9684
9685 * config/aarch64/arm_neon.h (vaeseq_u8): Add __extension__ and
9686 __always_inline__ attribute.
9687 (vaesdq_u8): Likewise.
9688 (vaesmcq_u8): Likewise.
9689 (vaesimcq_u8): Likewise.
9690 (vsha1cq_u32): Likewise.
9691 (vsha1mq_u32): Likewise.
9692 (vsha1pq_u32): Likewise.
9693 (vsha1h_u32): Likewise.
9694 (vsha1su0q_u32): Likewise.
9695 (vsha1su1q_u32): Likewise.
9696 (vsha256hq_u32): Likewise.
9697 (vsha256h2q_u32): Likewise.
9698 (vsha256su0q_u32): Likewise.
9699 (vsha256su1q_u32): Likewise.
9700 (vmull_p64): Likewise.
9701 (vmull_high_p64): Likewise.
9702
9703 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9704
9705 * final.c (final_scan_insn): Don't check HAVE_peephole with the
9706 preprocessor.
9707 * output.h: Likewise.
9708 * genconfig.c (main): Alwways define HAVE_peephole.
9709 * genpeep.c: Don't emit checks of HAVE_peephole.
9710
9711 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9712
9713 * combine.c, expmed.c, expr.c, optabs.c optabs.h, toplev.c: DOn't
9714 check HAVE_conditional_move with the preprocessor.
9715
9716 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9717
9718 * genconfig.c (main): Always define HAVE_conditional_move.
9719 * combine.c, expmed.c, expr.c, ifcvt.c, optabs.c, optabs.h,
9720 toplev.c, tree-ssa-phiopt.c: Don't check if HAVE_conditional_move
9721 is defined.
9722
9723 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9724
9725 * combine.c, df-problems.c, df-scan.c, emit-rtl.c, reginfo.c,
9726 reload.c, rtlanal.c: Remove comparison of ARG_FRAME_POINTER_REGNUM
9727 and FRAME_POINTER_REGNUM with the preprocessor.
9728
9729 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9730
9731 * defaults.h: Add default for STACK_PUSH_CODE.
9732 * expr.c: Don't redefine STACK_PUSH_CODE.
9733 * recog.c: Likewise.
9734
9735 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9736
9737 * builtins.c, dwarf2cfi.c, explow.c, expr.c, recog.c,
9738 sched-deps.c: Use if instead of preprocessor checks with
9739 STACK_GROWS_DOWNWARD.
9740
9741 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9742
9743 * *.c: Check the value of STACK_GROWS_DOWNWARD rather than if it
9744 is defined.
9745 * config/**/*.h: Define STACK_GROWS_DOWNWARD to an integer.
9746 * defaults.h: Provide default for STACK_GROWS_DOWNWARD.
9747 * doc/tm.texi.in: Update references to STACK_GROWS_DOWNWARD.
9748 * doc/tm.texi: Regenerate.
9749
9750 2015-05-21 H.J. Lu <hongjiu.lu@intel.com>
9751
9752 PR target/66232
9753 * config/i386/constraints.md (Bg): New constraint for GOT memory
9754 operand.
9755 * config/i386/i386.md (*call_got_x32): New pattern.
9756 (*call_value_got_x32): Likewise.
9757 * config/i386/predicates.md (GOT_memory_operand): New predicate.
9758
9759 2015-05-21 Jakub Jelinek <jakub@redhat.com>
9760
9761 PR tree-optimization/66233
9762 * match.pd (ocvt (icvt@1 @0)): Don't handle vector types.
9763 Simplify.
9764
9765 2015-05-21 Jeff Law <law@redhat.com>
9766
9767 * config/pa/pa.md (add-with-constant splitter): Use ASHIFT rather
9768 than MULT for shadd sequences.
9769
9770 2015-05-08 Jan Hubicka <hubicka@ucw.cz>
9771
9772 * alias.c (alias_stats): New static var.
9773 (alias_sets_conflict_p, alias_sets_must_conflict_p): Update stats.
9774 (dump_alias_stats_in_alias_c): New function.
9775 * alias.h (dump_alias_stats_in_alias_c): Declare.
9776 * tree-ssa-alias.c (dump_alias_stats): Call it.
9777
9778 2015-05-08 Michael Matz <matz@suse.de>
9779
9780 * tree-vectorizer.h (struct _stmt_vec_info): Rename stride_load_p
9781 to strided_p.
9782 (STMT_VINFO_STRIDE_LOAD_P): Rename to ...
9783 (STMT_VINFO_STRIDED_P): ... this.
9784 * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Adjust.
9785 (vect_verify_datarefs_alignment): Likewise.
9786 (vect_enhance_data_refs_alignment): Likewise.
9787 (vect_analyze_data_ref_access): Likewise.
9788 (vect_analyze_data_refs): Accept strided stores.
9789 * tree-vect-stmts.c (vect_model_store_cost): Count strided stores.
9790 (vect_model_load_cost): Adjust for macro rename.
9791 (vectorizable_mask_load_store): Likewise.
9792 (vectorizable_load): Likewise.
9793 (vectorizable_store): Open code strided stores.
9794
9795 2015-05-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9796
9797 * doc/sourcebuild.texi (7.2.3.9 Other hardware attributes):
9798 Document sqrt_insn.
9799
9800 2015-05-21 Richard Biener <rguenther@suse.de>
9801
9802 PR c++/66211
9803 * match.pd: Guard pattern optimzing (int)(float)int
9804 conversions to apply only on GIMPLE.
9805
9806 2015-05-21 Jeff Law <law@redhat.com>
9807
9808 * combine.c (find_split_point): Handle ASHIFT like MULT to encourage
9809 multiply-accumulate/shift-add insn generation.
9810
9811 2015-05-21 Oleg Endo <olegendo@gcc.gnu.org>
9812
9813 PR target/54236
9814 * config/sh/sh.md (*round_int_even): Reject pattern if operands[0] and
9815 operands[1] are the same.
9816
9817 2015-05-21 Ilya Enkovich <enkovich.gnu@gmail.com>
9818
9819 PR middle-end/66221
9820 * ipa-chkp.c (chkp_copy_function_type_adding_bounds): Use
9821 build_distinct_type_copy to copy bounds.
9822
9823 2015-05-21 Thomas Schwinge <thomas@codesourcery.com>
9824
9825 * genrecog.c (MAX_DEPTH, MIN_NUM_STATEMENTS, MAX_NUM_STATEMENTS):
9826 Change to unsigned int.
9827
9828 2015-05-20 Jeff Law <law@redhat.com>
9829
9830 * config/pa/pa.c (pa_print_operand): New 'o' output modifier.
9831 (pa_mem_shadd_constant_p): Renamed from pa_shadd_constant_p.
9832 (pa_shadd_constant_p): Allow constants for shadd insns rather
9833 than valid scaling constants for memory addresses.
9834 * config/pa/pa-protos.h (pa_mem_shadd_constant_p): Add prototype.
9835 * config/pa/predicates.md (mem_shadd_operand): New predicate.
9836 * config/pa/pa.md (shift-add insns using MULT): Use mem_shadd_operand.
9837 (shift-add insns using ASHIFT): New patterns.
9838
9839 2015-05-20 Mikhail Maltsev <maltsevm@gmail.com>
9840
9841 * bb-reorder.c (set_edge_can_fallthru_flag): Use rtx_jump_insn where
9842 feasible.
9843 (fix_up_fall_thru_edges): Likewise.
9844 (fix_crossing_conditional_branches): Likewise. Promote jump targets
9845 from to rtx_insn to rtx_code_label where feasible.
9846 * bt-load.c (move_btr_def): Remove as-a cast of the value returned by
9847 gen_move_insn (returned type changed to rtx_insn).
9848 * builtins.c (expand_errno_check): Fix arguments of
9849 do_compare_rtx_and_jump (now expects rtx_code_label).
9850 (expand_builtin_acc_on_device): Likewise.
9851 * cfgcleanup.c (try_simplify_condjump): Add cast when calling
9852 invert_jump (now exprects rtx_jump_insn).
9853 * cfgexpand.c (label_rtx_for_bb): Promote return type to rtx_code_label.
9854 (construct_init_block): Use rtx_code_label.
9855 * cfgrtl.c (block_label): Promote return type to rtx_code_label.
9856 (try_redirect_by_replacing_jump): Use cast to rtx_jump_insn when
9857 calling redirect_jump.
9858 (patch_jump_insn): Likewise.
9859 (redirect_branch_edge): Likewise.
9860 (force_nonfallthru_and_redirect): Likewise.
9861 (fixup_reorder_chain): Explicitly use rtx_jump_insn instead of rtx_insn
9862 when suitable.
9863 (rtl_lv_add_condition_to_bb): Update call of do_compare_rtx_and_jump.
9864 * cfgrtl.h: Promote return type of block_label to rtx_code_label.
9865 * config/bfin/bfin.c (hwloop_optimize): Fix call of emit_label_before.
9866 * config/i386/i386.c (ix86_emit_cmove): Explicitly use rtx_code_label
9867 to store the value retured by gen_label_rtx.
9868 * config/mips/mips.c (mips16_split_long_branches): Promote rtx_insn to
9869 rtx_jump_insn.
9870 * config/sh/sh.c (gen_far_branch): Likewise. Fix call of invert_jump.
9871 (split_branches): Fix calls of redirect_jump.
9872 * dojump.c (jumpifnot): Promote argument type from rtx to
9873 rtx_code_label.
9874 (jumpifnot_1): Likewise.
9875 (jumpif): Likewise.
9876 (jumpif_1): Likewise.
9877 (do_jump_1): Likewise.
9878 (do_jump): Likewise. Use rtx_code_label when feasible.
9879 (do_jump_by_parts_greater_rtx): Likewise.
9880 (do_jump_by_parts_zero_rtx): Likewise.
9881 (do_jump_by_parts_equality_rtx): Likewise.
9882 (do_compare_rtx_and_jump): Likewise.
9883 * dojump.h: Update function prototypes.
9884 * dse.c (emit_inc_dec_insn_before): Remove case (gen_move_insn now
9885 returns rtx_insn).
9886 * emit-rtl.c (emit_jump_insn_before_noloc): Promote return type to
9887 rtx_jump_insn.
9888 (emit_label_before): Likewise.
9889 (emit_jump_insn_after_noloc): Likewise.
9890 (emit_jump_insn_after_setloc): Likewise.
9891 (emit_jump_insn_after): Likewise
9892 (emit_jump_insn_before_setloc): Likewise.
9893 (emit_jump_insn_before): Likewise.
9894 (emit_label_before): Promote return type to rtx_code_label.
9895 (emit_label): Likewise.
9896 * except.c (sjlj_emit_dispatch_table): Use jump_target_rtx.
9897 * explow.c (emit_stack_save): Use gen_move_insn_uncast instead of
9898 gen_move_insn.
9899 (emit_stack_restore): Likewise.
9900 * expmed.c (emit_store_flag_force): Fix calls of do_compare_rtx_and_jump.
9901 (do_cmp_and_jump): Likewise.
9902 * expr.c (expand_expr_real_2): Likewise. Promote some local variables
9903 from rtx to rtx_code_label.
9904 (gen_move_insn_uncast): New function.
9905 * expr.h: Update return type of gen_move_insn (promote to rtx_insn).
9906 * function.c (convert_jumps_to_returns): Fix call of redirect_jump.
9907 * gcse.c (pre_insert_copy_insn): Use rtx_insn instead of rtx.
9908 * ifcvt.c (dead_or_predicable): Use rtx_jump_insn when calling
9909 invert_jump_1 and redirect_jump_1.
9910 * internal-fn.c (expand_arith_overflow_result_store): Fix call of
9911 do_compare_rtx_and_jump.
9912 (expand_addsub_overflow): Likewise.
9913 (expand_neg_overflow): Likewise.
9914 (expand_mul_overflow): Likewise.
9915 * ira.c (split_live_ranges_for_shrink_wrap): Use rtx_insn for
9916 return value of gen_move_insn.
9917 * jump.c (redirect_jump): Promote argument from rtx to rtx_jump_insn.
9918 * loop-doloop.c (add_test): Use rtx_code_label.
9919 (doloop_modify): Likewise.
9920 (doloop_optimize): Likewise.
9921 * loop-unroll.c (compare_and_jump_seq): Promote rtx to rtx_code_label.
9922 * lra-constraints.c (emit_spill_move): Remove cast of value returned
9923 by gen_move_insn.
9924 (inherit_reload_reg): Add cast when calling dump_insn_slim.
9925 (split_reg): Likewise.
9926 * modulo-sched.c (schedule_reg_moves): Remove cast of value returned by
9927 gen_move_insn.
9928 * optabs.c (expand_binop_directly): Remove casts of values returned by
9929 maybe_gen_insn.
9930 (expand_unop_direct): Likewise.
9931 (expand_abs): Likewise.
9932 (maybe_emit_unop_insn): Likewise.
9933 (maybe_gen_insn): Promote return type to rtx_insn.
9934 * optabs.h: Update prototype of maybe_gen_insn.
9935 * postreload-gcse.c (eliminate_partially_redundant_load): Remove
9936 redundant cast.
9937 * recog.c (struct peep2_insn_data): Promote type of insn field to
9938 rtx_insn.
9939 (peep2_reinit_state): Use NULL instead of NULL_RTX.
9940 (peep2_attempt): Remove casts of insn in peep2_insn_data.
9941 (peep2_fill_buffer): Promote argument from rtx to rtx_insn
9942 * recog.h (struct insn_gen_fn): Promote return types of function
9943 pointers and operator ().from rtx to rtx_insn.
9944 * reorg.c (fill_simple_delay_slots): Promote rtx_insn to rtx_jump_insn.
9945 (fill_eager_delay_slots): Likewise.
9946 (relax_delay_slots): Likewise.
9947 (make_return_insns): Likewise.
9948 (dbr_schedule): Likewise.
9949 (optimize_skips): Likewise.
9950 (reorg_redirect_jump): Likewise.
9951 (fill_slots_from_thread): Likewise.
9952 * reorg.h: Update prototypes.
9953 * resource.c (find_dead_or_set_registers): Use dyn_cast to
9954 rtx_jump_insn instead of check. Use it's jump_target method.
9955 * rtl.h (rtx_jump_insn::jump_label): Define new method.
9956 (rtx_jump_insn::jump_target): Define new method.
9957 (rtx_jump_insn::set_jump_target): Define new method.
9958 * rtlanal.c (tablejump_p): Promote type of one local variable.
9959 * sched-deps.c (sched_analyze_2): Promote rtx to rtx_insn_list.
9960 (sched_analyze_insn): Likewise.
9961 * sched-vis.c (print_insn_with_notes): Promote rtx to rtx_insn.
9962 (print_insn): Likewise.
9963 * stmt.c (label_rtx): Promote return type to rtx_insn.
9964 (force_label_rtx): Likewise.
9965 (jump_target_rtx): Define new function.
9966 (expand_label): Use it, get rid of one cast.
9967 (expand_naked_return): Promote rtx to rtx_code_label.
9968 (do_jump_if_equal): Fix do_compare_rtx_and_jump call.
9969 (expand_case): Use rtx_code_label instread of rtx where feasible.
9970 (expand_sjlj_dispatch_table): Likewise.
9971 (emit_case_nodes): Likewise.
9972 * stmt.h: Declare jump_target_rtx. Update prototypes. Fix comments.
9973 * store-motion.c (insert_store): Make use of new return type of
9974 gen_move_insn and remove a cast.
9975 (replace_store_insn): Likewise.
9976
9977 2015-05-20 Max Filippov <jcmvbkbc@gmail.com>
9978
9979 * config/xtensa/xtensa.c (init_alignment_context): Replace MULT
9980 by BITS_PER_UNIT with ASHIFT by exact_log2 (BITS_PER_UNIT).
9981
9982 2015-05-20 Jeff Law <law@redhat.com>
9983
9984 * tree-ssa-threadupdate.c (mark_threaded_blocks): Properly
9985 dispose of the jump thread path when the jump threading
9986 opportunity is cancelled.
9987
9988 2015-05-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
9989
9990 * diagnostic.c (diagnostic_print_caret_line): Fix off-by-one error
9991 when printing the caret character.
9992
9993 2015-05-20 Marek Polacek <polacek@redhat.com>
9994
9995 * cfgexpand.c (expand_debug_expr): Use UNARY_CLASS_P.
9996
9997 2015-05-20 Marek Polacek <polacek@redhat.com>
9998
9999 * expr.c (expand_cond_expr_using_cmove): Use COMPARISON_CLASS_P.
10000 * gimple-expr.c (gimple_cond_get_ops_from_tree): Likewise.
10001 * gimple-fold.c (canonicalize_bool): Likewise.
10002 (same_bool_result_p): Likewise.
10003 * tree-if-conv.c (parse_predicate): Likewise.
10004
10005 2015-05-20 Marek Polacek <polacek@redhat.com>
10006
10007 * gimple-fold.c (fold_const_aggregate_ref_1): Use DECL_P.
10008 * gimplify.c (gimplify_modify_expr_rhs): Likewise.
10009
10010 2015-05-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10011
10012 * config/aarch64/aarch64.c (aarch64_class_max_nregs):
10013 Use UNITS_PER_VREG and UNITS_PER_WORD instead of their direct
10014 values.
10015
10016 2015-05-20 Robert Suchanek <robert.suchanek@imgtec.com>
10017
10018 * config/mips/mips.h (micromips_globals): Declare.
10019
10020 2015-05-20 David Malcolm <dmalcolm@redhat.com>
10021
10022 * timevar.def (TV_INITIALIZE_RTL): New.
10023 * toplev.c (initialize_rtl): Use an auto_timevar to account this
10024 function's time to TV_INITIALIZE_RTL.
10025
10026 2015-05-20 Ilya Enkovich <enkovich.gnu@gmail.com>
10027
10028 * tree-chkp.c (chkp_maybe_copy_and_register_bounds): Remove useless
10029 gimple_build_nop calls.
10030 (chkp_find_bounds_for_elem): Likewise.
10031 (chkp_get_zero_bounds): Likewise.
10032 (chkp_get_none_bounds): Likewise.
10033 (chkp_get_bounds_by_definition): Likewise.
10034 (chkp_generate_extern_var_bounds): Likewise.
10035 (chkp_get_bounds_for_decl_addr): Likewise.
10036 (chkp_get_bounds_for_string_cst): Likewise.
10037
10038 2015-05-20 Bin Cheng <bin.cheng@arm.com>
10039
10040 PR tree-optimization/65447
10041 * tree-ssa-loop-ivopts.c (struct iv_use): New fields.
10042 (dump_use, dump_uses): Support to dump sub use.
10043 (record_use): New parameters to support sub use. Remove call to
10044 dump_use.
10045 (record_sub_use, record_group_use): New functions.
10046 (compute_max_addr_offset, split_all_small_groups): New functions.
10047 (group_address_uses, rewrite_use_address): New functions.
10048 (strip_offset): New declaration.
10049 (find_interesting_uses_address): Call record_group_use.
10050 (add_candidate): New assertion.
10051 (infinite_cost_p): Move definition forward.
10052 (add_costs): Check INFTY cost and return immediately.
10053 (get_computation_cost_at): Clear setup cost and dependent bitmap
10054 for sub uses.
10055 (determine_use_iv_cost_address): Compute cost for sub uses.
10056 (rewrite_use_address_1): Rename from old rewrite_use_address.
10057 (free_loop_data): Free sub uses.
10058 (tree_ssa_iv_optimize_loop): Call group_address_uses.
10059
10060 2015-05-20 Kugan Vivekanandarajah <kuganv@linaro.org>
10061 Jim Wilson <jim.wilson@linaro.org>
10062
10063 * config/arm/aarch-common-protos.h (struct mem_cost_table): Added
10064 new fields loadv and storev.
10065 * config/aarch64/aarch64-cost-tables.h (thunderx_extra_costs):
10066 Initialize loadv and storev.
10067 * config/arm/aarch-cost-tables.h (generic_extra_costs): Likewise.
10068 (cortexa53_extra_costs): Likewise.
10069 (cortexa57_extra_costs): Likewise.
10070 (xgene1_extra_costs): Likewise.
10071 * config/aarch64/aarch64.c (aarch64_rtx_costs): Update vector
10072 rtx_costs.
10073
10074 2015-05-20 Kugan Vivekanandarajah <kuganv@linaro.org>
10075
10076 * config/arm/arm.c (cortexa9_extra_costs): Initialize loadv and
10077 storev.
10078 (cortexa8_extra_costs): Likewise.
10079 (cortexa5_extra_costs): Likewise.
10080 (cortexa7_extra_costs): Likewise.
10081 (cortexa12_extra_costs): Likewise.
10082 (cortexa15_extra_costs): Likewise.
10083 (v7m_extra_costs): Likewise.
10084
10085 2015-05-20 Jeff Law <law@redhat.com>
10086
10087 * tree-ssa-threadupdate.c (thread_single_edge): Use delete_jump_thread
10088 instead of open-coded version. Also delete the jump thread created
10089 within this function.
10090
10091 2015-05-20 Alan Modra <amodra@gmail.com>
10092
10093 * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Return
10094 stack adjusting insn. Formatting.
10095 (rs6000_emit_prologue): Track stack adjusting insn, and use of
10096 r12. If possible, emit first -fsplit-stack arg pointer insn
10097 before stack adjust. Don't use r12 to save cr if split-stack.
10098
10099 2015-05-20 Alan Modra <amodra@gmail.com>
10100
10101 * common/config/rs6000/rs6000-common.c (TARGET_SUPPORTS_SPLIT_STACK):
10102 Define.
10103 (rs6000_supports_split_stack): New function.
10104 * gcc/config/rs6000/rs6000.c (machine_function): Add
10105 split_stack_arg_pointer.
10106 (TARGET_EXTRA_LIVE_ON_ENTRY, TARGET_INTERNAL_ARG_POINTER): Define.
10107 (setup_incoming_varargs): Use crtl->args.internal_arg_pointer
10108 rather than virtual_incoming_args_rtx.
10109 (rs6000_va_start): Likewise.
10110 (split_stack_arg_pointer_used_p): New function.
10111 (rs6000_emit_prologue): Set up arg pointer for -fsplit-stack.
10112 (morestack_ref): New var.
10113 (gen_add3_const, rs6000_expand_split_stack_prologue,
10114 rs6000_internal_arg_pointer, rs6000_live_on_entry,
10115 rs6000_split_stack_space_check): New functions.
10116 (rs6000_elf_file_end): Call file_end_indicate_split_stack.
10117 * gcc/config/rs6000/rs6000.md (UNSPEC_STACK_CHECK): Define.
10118 (UNSPECV_SPLIT_STACK_RETURN): Define.
10119 (split_stack_prologue, load_split_stack_limit,
10120 load_split_stack_limit_di, load_split_stack_limit_si,
10121 split_stack_return, split_stack_space_check): New expands and insns.
10122 * gcc/config/rs6000/rs6000-protos.h
10123 (rs6000_expand_split_stack_prologue): Declare.
10124 (rs6000_split_stack_space_check): Declare.
10125
10126 2015-05-20 Alan Modra <amodra@gmail.com>
10127
10128 * config/rs6000/rs6000.c (struct rs6000_stack): Correct comments.
10129 (direct_return): Test vrsave_size rather than vrsave_mask.
10130 (rs6000_emit_prologue): Likewise. Remove redundant altivec tests.
10131 (rs6000_emit_epilogue): Likewise.
10132
10133 2015-05-20 Alan Modra <amodra@gmail.com>
10134
10135 * config/rs6000/rs6000.c (rs6000_stack_info): Don't zero offsets
10136 when not saving registers.
10137 (debug_stack_info): Adjust to omit printing unused offsets,
10138 as before.
10139 (rs6000_emit_epilogue): Adjust use_backchain_to_restore_sp
10140 expression.
10141
10142 2015-05-19 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
10143
10144 PR c++/65835
10145 * config/i386/winnt.c (struct wrapped_symbol_hasher): Change
10146 value_type to const char *.
10147
10148 2015-05-19 Sandra Loosemore <sandra@codesourcery.com>
10149
10150 * config.gcc [powerpc*-*-linux*]: Allow --enable-targets=all
10151 to build a biarch toolchain again.
10152
10153 2015-05-19 Jan Hubicka <hubicka@ucw.cz>
10154
10155 * ipa-devirt.c (type_in_anonymous_namespace_p): Return true
10156 or implicit declarations.
10157 (odr_type_p): Check that TYPE_NAME is TYPE_DECL before looking
10158 into it.
10159 (get_odr_type): Check type has linkage before adding bases.
10160 (register_odr_type): Check that type has linkage before adding it.
10161 (type_known_to_have_no_deriavations_p): Rename to ..
10162 (type_known_to_have_no_derivations_p): This one.
10163 * ipa-utils.h (type_known_to_have_no_deriavations_p): Rename to ..
10164 (type_known_to_have_no_derivations_p): This one.
10165 * ipa-polymorphic-call.c
10166 (ipa_polymorphic_call_context::restrict_to_inner_type): Check that
10167 type has linkage.
10168
10169 2015-05-19 Eric Botcazou <ebotcazou@adacore.com>
10170
10171 * stor-layout.c (finalize_type_size): Use AGGREGATE_TYPE_P.
10172 (layout_type): Use RECORD_OR_UNION_TYPE_P.
10173
10174 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
10175
10176 * config/s390/s390.c (s390_vector_bool_type_p): New function.
10177 (s390_invalid_binary_op): New function.
10178 (TARGET_INVALID_BINARY_OP): Define macro.
10179
10180 2015-05-19 David Sherwood <david.sherwood@arm.com>
10181
10182 * loop-invariant.c (create_new_invariant): Don't calculate address cost
10183 if mode is not a scalar integer.
10184 (get_inv_cost): Increase computational cost for unused invariants.
10185
10186 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
10187
10188 * config.gcc: Add vecintrin.h to extra_headers. Add s390-c.o to
10189 c_target_objs and cxx_target_objs. Add t-s390 to tmake_file.
10190 * config/s390/s390-builtin-types.def: New file.
10191 * config/s390/s390-builtins.def: New file.
10192 * config/s390/s390-builtins.h: New file.
10193 * config/s390/s390-c.c: New file.
10194 * config/s390/s390-modes.def: Add modes CCVEQANY, CCVH,
10195 CCVHANY, CCVHU, CCVHUANY, CCVFHANY, CCVFHEANY.
10196 * config/s390/s390-protos.h (s390_expand_vec_compare_cc)
10197 (s390_cpu_cpp_builtins, s390_register_target_pragmas): Add
10198 prototypes.
10199 * config/s390/s390.c (s390-builtins.h, s390-builtins.def):
10200 Include.
10201 (flags_builtin, flags_overloaded_builtin_var, s390_builtin_types)
10202 (s390_builtin_fn_types, s390_builtin_decls, code_for_builtin): New
10203 variable definitions.
10204 (s390_const_operand_ok): New function.
10205 (s390_expand_builtin): Rewrite.
10206 (s390_init_builtins): New function.
10207 (s390_handle_vectorbool_attribute): New function.
10208 (s390_attribute_table): Add s390_vector_bool attribute.
10209 (s390_match_ccmode_set): Handle new cc modes CCVH, CCVHU.
10210 (s390_branch_condition_mask): Generate masks for new modes.
10211 (s390_expand_vec_compare_cc): New function.
10212 (s390_mangle_type): Add mangling for vector bool types.
10213 (enum s390_builtin): Remove.
10214 (s390_atomic_assign_expand_fenv): Rename constants for sfpc and
10215 efpc builtins.
10216 * config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): Call
10217 s390_cpu_cpp_builtins.
10218 (REGISTER_TARGET_PRAGMAS): New macro.
10219 * config/s390/s390.md: Define more UNSPEC_VEC_* constants.
10220 (insn_cmp mode attribute): Add new CC modes.
10221 (s390_sfpc, s390_efpc): Rename patterns to sfpc and efpc.
10222 (lcbb): New pattern definition.
10223 * config/s390/s390intrin.h: Include vecintrin.h.
10224 * config/s390/t-s390: New file.
10225 * config/s390/vecintrin.h: New file.
10226 * config/s390/vector.md: Include vx-builtins.md.
10227 * config/s390/vx-builtins.md: New file.S/390 zvector builtin
10228 support.
10229
10230 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
10231
10232 * config/s390/s390-modes.def: Add new modes CCVEQ, CCVFH, and
10233 CCVFHE.
10234 * config/s390/s390.c (s390_match_ccmode_set): Handle new modes.
10235 (s390_select_ccmode): Likewise.
10236 (s390_canonicalize_comparison): Swap operands if necessary.
10237 (s390_expand_vec_compare_scalar): Expand DFmode compare using
10238 single element vector instructions.
10239 (s390_emit_compare): Call s390_expand_vec_compare_scalar.
10240 (s390_branch_condition_mask): Generate CC masks for the new modes.
10241 * config/s390/s390.md (v0, vf, vd): New mode attributes.
10242 (VFCMP, asm_fcmp, insn_cmp): New mode iterator and attributes.
10243 (*vec_cmp<insn_cmp>df_cconly, *fixuns_truncdfdi2_z13)
10244 (*fix_trunc<BFP:mode><GPR:mode>2_bfp, *floatunsdidf2_z13)
10245 (*floatuns<GPR:mode><FP:mode>2, *extendsfdf2_z13)
10246 (*extend<DSF:mode><BFP:mode>2): New insn definition.
10247 (fix_trunc<BFP:mode><GPR:mode>2_bfp, loatuns<GPR:mode><FP:mode>2)
10248 (extend<DSF:mode><BFP:mode>2): Turn into expander.
10249 (floatdi<mode>2, truncdfsf2, add<mode>3, sub<mode>3, mul<mode>3)
10250 (div<mode>3, *neg<mode>2, *abs<mode>2, *negabs<mode>2)
10251 (sqrt<mode>2): Add vector instruction.
10252
10253 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
10254
10255 * config/s390/constraints.md (j00, jm1, jxx, jyy, v): New
10256 constraints.
10257 * config/s390/predicates.md (const0_operand, constm1_operand)
10258 (constable_operand): Accept vector operands.
10259 * config/s390/s390-modes.def: Add supported vector modes.
10260 * config/s390/s390-protos.h (s390_cannot_change_mode_class)
10261 (s390_function_arg_vector, s390_contiguous_bitmask_vector_p)
10262 (s390_bytemask_vector_p, s390_expand_vec_strlen)
10263 (s390_expand_vec_compare, s390_expand_vcond)
10264 (s390_expand_vec_init): Add prototypes.
10265 * config/s390/s390.c (VEC_ARG_NUM_REG): New macro.
10266 (s390_vector_mode_supported_p): New function.
10267 (s390_contiguous_bitmask_p): Mask out the irrelevant bits.
10268 (s390_contiguous_bitmask_vector_p): New function.
10269 (s390_bytemask_vector_p): New function.
10270 (s390_split_ok_p): Vector regs don't work either.
10271 (regclass_map): Add VEC_REGS.
10272 (s390_legitimate_constant_p): Handle vector constants.
10273 (s390_cannot_force_const_mem): Handle CONST_VECTOR.
10274 (legitimate_reload_vector_constant_p): New function.
10275 (s390_preferred_reload_class): Handle CONST_VECTOR.
10276 (s390_reload_symref_address): Likewise.
10277 (s390_secondary_reload): Vector memory instructions only support
10278 short displacements. Rename reload*_nonoffmem* to reload*_la*.
10279 (s390_emit_ccraw_jump): New function.
10280 (s390_expand_vec_strlen): New function.
10281 (s390_expand_vec_compare): New function.
10282 (s390_expand_vcond): New function.
10283 (s390_expand_vec_init): New function.
10284 (s390_dwarf_frame_reg_mode): New function.
10285 (print_operand): Handle addresses with 'O' and 'R' constraints.
10286 (NR_C_MODES, constant_modes): Add vector modes.
10287 (s390_output_pool_entry): Handle vector constants.
10288 (s390_hard_regno_mode_ok): Handle vector registers.
10289 (s390_class_max_nregs): Likewise.
10290 (s390_cannot_change_mode_class): New function.
10291 (s390_invalid_arg_for_unprototyped_fn): New function.
10292 (s390_function_arg_vector): New function.
10293 (s390_function_arg_float): Remove size variable.
10294 (s390_pass_by_reference): Handle vector arguments.
10295 (s390_function_arg_advance): Likewise.
10296 (s390_function_arg): Likewise.
10297 (s390_return_in_memory): Vector values are returned in a VR if
10298 possible.
10299 (s390_function_and_libcall_value): Handle vector arguments.
10300 (s390_gimplify_va_arg): Likewise.
10301 (s390_call_saved_register_used): Consider the arguments named.
10302 (s390_conditional_register_usage): Disable v16-v31 for non-vec
10303 targets.
10304 (s390_preferred_simd_mode): New function.
10305 (s390_support_vector_misalignment): New function.
10306 (s390_vector_alignment): New function.
10307 (TARGET_STRICT_ARGUMENT_NAMING, TARGET_DWARF_FRAME_REG_MODE)
10308 (TARGET_VECTOR_MODE_SUPPORTED_P)
10309 (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN)
10310 (TARGET_VECTORIZE_PREFERRED_SIMD_MODE)
10311 (TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT)
10312 (TARGET_VECTOR_ALIGNMENT): Define target macro.
10313 * config/s390/s390.h (FUNCTION_ARG_PADDING): Define macro.
10314 (FIRST_PSEUDO_REGISTER): Increase value.
10315 (VECTOR_NOFP_REGNO_P, VECTOR_REGNO_P, VECTOR_NOFP_REG_P)
10316 (VECTOR_REG_P): Define macros.
10317 (FIXED_REGISTERS, CALL_USED_REGISTERS)
10318 (CALL_REALLY_USED_REGISTERS, REG_ALLOC_ORDER)
10319 (HARD_REGNO_CALL_PART_CLOBBERED, REG_CLASS_NAMES)
10320 (FUNCTION_ARG_REGNO_P, FUNCTION_VALUE_REGNO_P, REGISTER_NAMES):
10321 Add vector registers.
10322 (CANNOT_CHANGE_MODE_CLASS): Call C function.
10323 (enum reg_class): Add VEC_REGS, ADDR_VEC_REGS, GENERAL_VEC_REGS.
10324 (SECONDARY_MEMORY_NEEDED): Allow SF<->SI mode moves without
10325 memory.
10326 (DBX_REGISTER_NUMBER, FIRST_VEC_ARG_REGNO, LAST_VEC_ARG_REGNO)
10327 (SHORT_DISP_IN_RANGE, VECTOR_STORE_FLAG_VALUE): Define macro.
10328 * config/s390/s390.md (UNSPEC_VEC_*): New constants.
10329 (VR*_REGNUM): New constants.
10330 (ALL): New mode iterator.
10331 (INTALL): Remove mode iterator.
10332 Include vector.md.
10333 (movti): Implement TImode moves for VRs.
10334 Disable TImode splitter for VR targets.
10335 Implement splitting TImode GPR<->VR moves.
10336 (reload*_tomem_z10, reload*_toreg_z10): Replace INTALL with ALL.
10337 (reload<mode>_nonoffmem_in, reload<mode>_nonoffmem_out): Rename to
10338 reload<mode>_la_in, reload<mode>_la_out.
10339 (*movdi_64, *movsi_zarch, *movhi, *movqi, *mov<mode>_64dfp)
10340 (*mov<mode>_64, *mov<mode>_31): Add vector instructions.
10341 (TD/TF mode splitter): Enable for GPRs only (formerly !FP).
10342 (mov<mode> SF SD): Prefer lder, lde for loading.
10343 Add lrl and strl instructions.
10344 Add vector instructions.
10345 (strlen<mode>): Rename old strlen<mode> to strlen_srst<mode>.
10346 Call s390_expand_vec_strlen on z13.
10347 (*cc_to_int): Change predicate to nonimmediate_operand.
10348 (addti3): Rename to *addti3. New expander.
10349 (subti3): Rename to *subti3. New expander.
10350 * config/s390/vector.md: New file.
10351
10352 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
10353
10354 * common/config/s390/s390-common.c (processor_flags_table): Add
10355 z13.
10356 * config.gcc: Add z13.
10357 * config/s390/s390-opts.h (enum processor_type): Add
10358 PROCESSOR_2964_Z13.
10359 * config/s390/s390.c (s390_adjust_priority): Check for
10360 PROCESSOR_2964_Z13.
10361 (s390_reorg): Likewise.
10362 (s390_sched_reorder): Likewise.
10363 (s390_sched_variable_issue): Likewise.
10364 (s390_loop_unroll_adjust): Likewise.
10365 (s390_option_override): Likewise. Default to -mvx when available.
10366 * config/s390/s390.h (enum processor_flags): Add PF_Z13 and PF_VX.
10367 (TARGET_CPU_Z13, TARGET_CPU_VX, TARGET_Z13, TARGET_VX)
10368 (TARGET_VX_ABI): Define macros.
10369 macros.
10370 (TARGET_DEFAULT): Add MASK_OPT_VX.
10371 * config/s390/s390.md ("cpu" attribute): Add z13.
10372 ("cpu_facility" attribute): Add vec.
10373 * config/s390/s390.opt (processor_type): Add z13.
10374 (mvx): New options.
10375 * doc/invoke.texi: Add z13 option for -march.
10376
10377 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
10378
10379 * config/s390/predicates.md (shift_count_or_setmem_operand): Add
10380 mode check to make sure that only scalar integer values are
10381 accepted.
10382
10383 2015-05-19 Jan Hubicka <hubicka@ucw.cz>
10384
10385 * tree.c (verify_type_variant): Fix #undef.
10386 (gimple_canonical_types_compatible_p): Move here from lto.c
10387 (verify_type): Verify TYPE_CANONICAL compatibility.
10388 * tree.h (gimple_canonical_types_compatible_p): Declare.
10389
10390 2015-05-19 Jakub Jelinek <jakub@redhat.com>
10391
10392 PR middle-end/66199
10393 * tree.h (OMP_TEAMS_COMBINED): Define.
10394 * gimplify.c (enum gimplify_omp_var_data): Add
10395 GOVD_LINEAR_LASTPRIVATE_NO_OUTER.
10396 (enum omp_region_type): Add ORT_COMBINED_TEAMS.
10397 (omp_notice_variable): Accept both ORT_TEAMS
10398 and ORT_COMBINED_TEAMS. Don't recurse if
10399 GOVD_LINEAR_LASTPRIVATE_NO_OUTER is set and either
10400 GOVD_LINEAR is set, or GOVD_LASTPRIVATE without
10401 GOVD_FIRSTPRIVATE.
10402 (omp_no_lastprivate): New function.
10403 (gimplify_scan_omp_clauses): For OMP_CLAUSE_LASTPRIVATE
10404 and OMP_CLAUSE_LINEAR, if omp_no_lastprivate, don't
10405 notice_outer and set appropriate bits, otherwise make
10406 sure default(none) combined constructs won't complain.
10407 (gimplify_adjust_omp_clauses): Remove OMP_CLAUSE_LINEAR
10408 outer special casing, for OMP_CLAUSE_LASTPRIVATE if
10409 omp_no_lastprivate either remove the clause or turn it
10410 into OMP_CLAUSE_PRIVATE.
10411 (gimplify_omp_for): Fix up handling of implicit
10412 lastprivate or linear iterators.
10413 (gimplify_omp_workshare): For OMP_TEAMS_COMBINED use
10414 ORT_COMBINED_TEAMS.
10415 * omp-low.c (lower_omp_for_lastprivate): For combined
10416 for simd use fd.loop.n2 from the for rather than simd.
10417
10418 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
10419
10420 * config/cris/cris.c (cris_expand_prologue): Use gen_raw_REG
10421 instead of gen_rtx_raw_REG.
10422 (cris_expand_epilogue): Likewise.
10423 * config/microblaze/microblaze.c (microblaze_classify_address):
10424 Likewise.
10425 * config/sparc/sparc.md: Likewise.
10426
10427 2015-05-19 Uros Bizjak <ubizjak@gmail.com>
10428
10429 * config/alpha/alpha.c (alpha_legitimize_reload_address)
10430 (alpha_preferred_reload_class, alpha_legitimate_constant_p): Use
10431 CONST_INT_P, CONST_SCALAR_INT_P and CONST_DOUBLE_P predicates.
10432 (alpha_split_reload_pair) <case CONST_INT, case CONST_WIDE_INT>:
10433 Use CASE_CONST_SCALAR_INT.
10434 (print_operand) <case 'M'>: Use mode_width_operand to check the
10435 value of the constant.
10436 * config/alpha/alpha.md (movti): Use CONST_SCALAR_INT_P predicate.
10437 * config/alpha/predicates.md (input_operand): Use general_operand
10438 instead of match_code as operand check.
10439 (symbolic_operand): Use match_code with subexpression digits.
10440 * config/alpha/constraints.md (Q): Ditto.
10441
10442 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
10443
10444 * optabs.c (expand_vec_perm): Don't re-use SEL as target operand.
10445
10446 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
10447
10448 * config/s390/s390.c (s390_secondary_reload): Fix check for
10449 load/store relative.
10450
10451 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
10452
10453 * recog.h: Increase MAX_RECOG_ALTERNATIVES. Change type of
10454 alternative_mask to uint64_t.
10455
10456 2015-05-19 Jakub Jelinek <jakub@redhat.com>
10457
10458 PR tree-optimization/66187
10459 * match.pd ((bit_and (plus/minus (convert @0) (convert @1)) mask)):
10460 Pass TYPE_SIGN to tree_int_cst_min_precision. If
10461 !TYPE_OVERFLOW_WRAPS, ensure @4 is non-negative.
10462
10463 2015-05-19 David Malcolm <dmalcolm@redhat.com>
10464
10465 * diagnostic.c (diagnostic_report_current_module): Strengthen
10466 local "new_map" from const line_map * to
10467 const line_map_ordinary *.
10468 * genmatch.c (error_cb): Likewise for local "map".
10469 (output_line_directive): Likewise for local "map".
10470 * input.c (expand_location_1): Likewise for local "map".
10471 Pass NULL rather than &map to
10472 linemap_unwind_to_first_non_reserved_loc, since the value is never
10473 read from there, and the value written back not read from here.
10474 (is_location_from_builtin_token): Strengthen local "map" from
10475 const line_map * to const line_map_ordinary *.
10476 (dump_location_info): Strengthen locals "map" from
10477 line_map *, one to const line_map_ordinary *, the other
10478 to const line_map_macro *.
10479 * tree-diagnostic.c (loc_map_pair): Strengthen field "map" from
10480 const line_map * to const line_map_macro *.
10481 (maybe_unwind_expanded_macro_loc): Add a call to
10482 linemap_check_macro when writing to the "map" field of the
10483 loc_map_pair.
10484 Introduce local const line_map_ordinary * "ord_map", using it in
10485 place of "map" in the part of the function where we know we have
10486 an ordinary map. Strengthen local "m" from const line_map * to
10487 const line_map_ordinary *.
10488
10489 2015-05-19 Nick Clifton <nickc@redhat.com>
10490
10491 PR target/66156
10492 * config/msp430/msp430.md (zero_extendhisi2): Add support for
10493 separate source and destination registers.
10494
10495 2015-05-19 Richard Biener <rguenther@suse.de>
10496
10497 PR tree-optimization/66165
10498 * tree-vect-slp.c (vect_supported_load_permutation_p): Add guard
10499 for no load permutation.
10500
10501 PR tree-optimization/66185
10502 * tree-vect-slp.c (vect_build_slp_tree): Properly roll back
10503 when building the SLP node from scalars.
10504
10505 2015-05-19 Eric Botcazou <ebotcazou@adacore.com>
10506 Tristan Gingold <gingold@adacore.com>
10507
10508 * insn-notes.def (UPDATE_SJLJ_CONTEXT): New note.
10509 * builtins.c (expand_builtin_update_setjmp_buf): Make global.
10510 (expand_stack_restore): Call record_new_stack_level.
10511 (expand_stack_save): Do not call do_pending_stack_adjust.
10512 * builtins.h (expand_builtin_update_setjmp_buf): Declare.
10513 * calls.c (expand_call): Call record_new_stack_level for alloca.
10514 * except.c (sjlj_mark_call_sites): Expand builtin_update_setjmp_buf
10515 wherever a NOTE_INSN_UPDATE_SJLJ_CONTEXT note is present.
10516 (update_sjlj_context): New global function.
10517 * except.h (update_sjlj_context): Declare.
10518 * explow.c (record_new_stack_level): New global function.
10519 (allocate_dynamic_stack_space): Call record_new_stack_level.
10520 * explow.h (record_new_stack_level): Declare.
10521 * final.c (final_scan_insn): Deal with NOTE_INSN_UPDATE_SJLJ_CONTEXT.
10522 * cfgrtl.c (duplicate_insn_chain): Likewise.
10523
10524 2015-05-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10525
10526 * calls.c: Always define STACK_GROWS_DOWNWARD as 0 or 1.
10527 (mem_overlaps_already_clobbered_arg_p): Rewrite ifdef
10528 STACK_GROWS_DOWNWARD as normal if.
10529 (expand_call): Likewise.
10530
10531 2015-05-19 Oleg Endo <olegendo@gcc.gnu.org>
10532
10533 PR target/54236
10534 * config/sh/sh.md (*round_int_even): New insn_and_split and
10535 accompanying new unnamed split.
10536
10537 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
10538
10539 * bitmap.c (bitmap_set_range): Handle count==1 specially.
10540 (bitmap_clear_range): Likewise.
10541 * cfgcleanup.c (mark_effect): Use bitmap_clear_range and
10542 bitmap_set_range unconditionally.
10543 * df-problems.c (df_simulate_one_insn_forwards): Likewise.
10544 * df-scan.c (df_mark_reg): Likewise.
10545 * haifa-sched.c (setup_ref_regs): Likewise.
10546 * sched-rgn.c (update_live_1): Likewise.
10547
10548 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
10549
10550 * regs.h (END_HARD_REGNO): Delete.
10551 (END_REGNO): Move to...
10552 * rtl.h: ...here.
10553 * bt-load.c (note_btr_set): Use END_REGNO instead of END_HARD_REGNO.
10554 * caller-save.c (mark_set_regs): Likewise.
10555 * combine.c (move_deaths, distribute_notes): Likewise.
10556 * cse.c (invalidate, invalidate_for_call): Likewise.
10557 * df-scan.c (df_ref_record): Likewise.
10558 * postreload-gcse.c (reg_changed_after_insn_p): Likewise.
10559 (record_last_reg_set_info): Likewise.
10560 * reg-stack.c (convert_regs_exit): Likewise.
10561 * reload.c (reg_overlap_mentioned_for_reload_p): Likewise.
10562 * resource.c (update_live_status): Likewise.
10563 * rtlanal.c (find_reg_fusage, find_regno_fusage): Likewise.
10564
10565 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
10566
10567 * rtl.h (reg_info): Add an nregs field.
10568 (REG_NREGS): Use it.
10569 (SET_REGNO_RAW): Delete.
10570 (set_regno_raw): New function.
10571 * regs.h (END_HARD_REGNO): Make equivalent to END_REGNO.
10572 (END_REGNO): Redefine in terms of REG_NREGS.
10573 * read-rtl.c (read_rtx_code): Call set_regno_raw instead of
10574 SET_REGNO_RAW.
10575 * emit-rtl.c (set_mode_and_regno): Likewise.
10576 * df-scan.c (df_ref_change_reg_with_loc): Use set_mode_and_regno
10577 instead of SET_REGNO_RAW.
10578
10579 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
10580
10581 * rtl.h (PUT_MODE_RAW): New macro.
10582 (PUT_REG_NOTE_KIND): Use it.
10583 (set_mode_and_regno): Declare.
10584 (gen_raw_REG): Change regno to "unsigned int".
10585 (gen_rtx_REG): Change "unsigned" to "unsigned int".
10586 (PUT_MODE): Forward to PUT_MODE_RAW for generators, otherwise
10587 use set_mode_and_regno to change the mode of registers.
10588 * gengenrtl.c (gendef): Use PUT_MODE_RAW.
10589 * emit-rtl.c (set_mode_and_regno): New function.
10590 (gen_raw_REG): Change regno to unsigned int. Use set_mode_and_regno.
10591 * caller-save.c (reg_save_code): Use set_mode_and_regno.
10592 * expr.c (init_expr_target): Likewise.
10593 * ira.c (setup_prohibited_mode_move_regs): Likewise.
10594 * postreload.c (reload_cse_simplify_operands): Likewise.
10595
10596 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
10597
10598 * caller-save.c (init_caller_save): Use word_mode and
10599 FIRST_PSEUDO_REGISTER when creating temporary rtxes.
10600 * expr.c (init_expr_target): Likewise.
10601 * ira.c (setup_prohibited_mode_move_regs): Likewise.
10602 * postreload.c (reload_cse_regs_1): Likewise.
10603
10604 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
10605
10606 * rtl.def (REG): Change format to "r".
10607 * rtl.h (rtunion): Remove rt_reg.
10608 (reg_info): New structure.
10609 (rtx_def): Add reg field to main union.
10610 (X0REGATTR): Delete.
10611 (REG_CHECK): New macro.
10612 (SET_REGNO_RAW, rhs_regno, REG_ATTRS): Use it.
10613 * rtl.c (rtx_format): Document "r".
10614 (rtx_code_size): Handle REG specially.
10615 * gengenrtl.c (special_format): Return true for formats
10616 that include 'r'.
10617 * gengtype.c (adjust_field_rtx_def): Handle 'r' fields.
10618 Deal with REG_ATTRS after the field loop.
10619 * emit-rtl.c (gen_raw_REG): Call rtx_alloc_stat directly.
10620 * expmed.c (init_expmed): Call gen_raw_REG instead of
10621 gen_rtx_raw_REG.
10622 * expr.c (init_expr_target): Likewise.
10623 * regcprop.c (maybe_mode_change): Likewise.
10624 * varasm.c (make_decl_rtl): Likewise.
10625 * final.c (leaf_renumber_regs_insn): Return early after
10626 handling REGs.
10627 * genemit.c (gen_exp): Handle 'r' fields.
10628 * genpeep.c (match_rtx): Likewise.
10629 * gensupport.c (subst_pattern_match): Likewise.
10630 (get_alternatives_number, collect_insn_data, alter_predicate_for_insn)
10631 (alter_constraints, subst_dup): Likewise.
10632 * read-rtl.c (read_rtx_code): Likewise.
10633 * print-rtl.c (print_rtx): Likewise.
10634 * genrecog.c (find_operand, find_matching_operand): Likewise.
10635 (validate_pattern, match_pattern_2): Likewise.
10636 (parameter::UINT, rtx_test::REGNO_FIELD): New enum values.
10637 (rtx_test::regno_field): New function.
10638 (operator ==, safe_to_hoist_p, transition_parameter_type)
10639 (parameter_type_string, print_parameter_value)
10640 (print_nonbool_test, print_test): Handle new enum values.
10641 * cselib.c (rtx_equal_for_cselib_1): Handle REG specially.
10642 * lra-constraints.c (operands_match_p): Likewise.
10643
10644 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
10645
10646 * df.h (df_ref_change_reg_with_loc): Remove old_regno parameter.
10647 Change type of new_regno to unsigned int.
10648 * df-scan.c (df_ref_change_reg_with_loc_1): Change type of
10649 new_regno to unsigned int.
10650 (df_ref_change_reg_with_loc): Remove old_regno parameter.
10651 Change type of new_regno to unsigned int. Use SET_REGNO_RAW.
10652 * rtl.h (SET_REGNO): Update call to df_ref_change_reg_with_loc.
10653 (SET_REGNO_RAW): Add space after ",".
10654
10655 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
10656
10657 * rtl.h (REG_NREGS): New macro
10658 * alias.c (record_set): Use it.
10659 * cfgcleanup.c (mark_effect): Likewise.
10660 * combine.c (likely_spilled_retval_1): Likewise.
10661 (likely_spilled_retval_p, can_change_dest_mode): Likewise.
10662 (move_deaths, distribute_notes): Likewise.
10663 * cselib.c (cselib_record_set): Likewise.
10664 * df-problems.c (df_simulate_one_insn_forwards): Likewise.
10665 * df-scan.c (df_mark_reg): Likewise.
10666 * dse.c (look_for_hardregs): Likewise.
10667 * dwarf2out.c (reg_loc_descriptor): Likewise.
10668 (multiple_reg_loc_descriptor): Likewise.
10669 * expr.c (write_complex_part, read_complex_part): Likewise.
10670 (emit_move_complex): Likewise.
10671 * haifa-sched.c (setup_ref_regs): Likewise.
10672 * ira-lives.c (mark_hard_reg_live): Likewise.
10673 * lra.c (lra_set_insn_recog_data): Likewise.
10674 * mode-switching.c (create_pre_exit): Likewise.
10675 * postreload.c (reload_combine_recognize_const_pattern): Likewise.
10676 (reload_combine_recognize_pattern): Likewise.
10677 (reload_combine_note_use, move2add_record_mode): Likewise.
10678 (reload_cse_move2add): Likewise.
10679 * reg-stack.c (subst_stack_regs_pat): Likewise.
10680 * regcprop.c (kill_value, copy_value): Likewise.
10681 (copyprop_hardreg_forward_1): Likewise.
10682 * regrename.c (verify_reg_in_set, scan_rtx_reg): Likewise.
10683 (build_def_use): Likewise.
10684 * sched-deps.c (mark_insn_reg_birth, mark_reg_death): Likewise.
10685 (deps_analyze_insn): Likewise.
10686 * sched-rgn.c (check_live_1, update_live_1): Likewise.
10687 * sel-sched.c (count_occurrences_equiv): Likewise.
10688 * valtrack.c (dead_debug_insert_temp): Likewise.
10689
10690 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
10691
10692 * cfgcleanup.c (mentions_nonequal_regs): Use END_REGNO.
10693 * dse.c (note_add_store): Likewise.
10694 * ira-lives.c (mark_hard_reg_dead): Likewise.
10695 * loop-invariant.c (mark_reg_store): Likewise.
10696 (mark_reg_death): Likewise.
10697 * postreload.c (reload_combine): Likewise.
10698 (reload_combine_note_store): Likewise.
10699 (reload_combine_note_use): Likewise.
10700 * recog.c (peep2_reg_dead_p): Likewise.
10701
10702 2015-05-19 Alan Modra <amodra@gmail.com>
10703
10704 * config/rs6000/predicates.md (gpc_reg_operand): Don't allow all
10705 hard registers numbered greater or equal to ARG_POINTER_REGNUM.
10706 (reg_or_neg_short_operand, fix_trunc_dest_operand): Delete
10707 unused predicates.
10708 * config/rs6000/altivec.md (save_vregs_*, restore_vregs_*):
10709 Use altivec_register_operand. Make insn predicate TARGET_ALTIVEC.
10710 * config/rs6000/rs6000.md (extzvdi_internal2): Use cc_reg_operand.
10711 * config/rs6000/vsx.md (vsx_float<VSi><mode>2): Expand comment.
10712
10713 2015-05-19 Sameera Deshpande <Sameera.Deshpande@imgtec.com>
10714
10715 * config/mips/mips.md (JOIN_MODE): New mode iterator.
10716 (join2_load_Store<JOIN_MODE:mode>): New pattern.
10717 (join2_loadhi): Likewise.
10718 (define_peehole2): Add peephole2 patterns to join 2 HI/SI/SF/DF-mode
10719 load-load and store-stores.
10720 * config/mips/mips.opt (mload-store-pairs): New option.
10721 (TARGET_LOAD_STORE_PAIRS): New macro.
10722 * config/mips/mips.h (ENABLE_LD_ST_PAIRS): Likewise.
10723 * config/mips/mips-protos.h (mips_load_store_bonding_p): New prototype.
10724 * config/mips/mips.c (mips_load_store_bonding_p): New function.
10725
10726 2015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
10727
10728 * bb-reorder.c (fix_up_fall_thru_edges): Use std::swap instead of
10729 explicit swaps.
10730 * dojump.c (do_compare_rtx_and_jump): Likewise.
10731 * expmed.c (emit_store_flag_1): Likewise.
10732 * fibonacci_heap.h (fibonacci_heap::union_with): Likewise.
10733 * final.c (sprint_ul): Use std::reverse for reversing a string.
10734 * fold-const.c (extract_muldiv_1): Use std::swap.
10735 * genmodes.c (emit_mode_int_n): Likewise.
10736 * ifcvt.c (dead_or_predicable): Likewise.
10737 * ira-build.c (ira_merge_live_ranges): Likewise.
10738 (swap_allocno_copy_ends_if_necessary): Likewise.
10739 * ira.c (ira_setup_alts): Likewise.
10740 * loop-iv.c (iv_analyze_expr): Likewise.
10741 (implies_p): Likewise.
10742 (canon_condition): Likewise.
10743 * lra-constraints.c (swap_operands): Likewise.
10744 * lra-lives.c (lra_merge_live_ranges): Likewise.
10745 * omega.c (swap): Remove.
10746 (bswap): Remove.
10747 (omega_unprotect_1): Use std::swap.
10748 (omega_solve_geq): Likewise.
10749 * optabs.c (expand_binop_directly): Likewise.
10750 (expand_binop): Likewise.
10751 (emit_conditional_move): Likewise.
10752 (emit_conditional_add): Likewise.
10753 * postreload.c (reload_cse_simplify_operands): Likewise.
10754 * reg-stack.c (emit_swap_insn): Likewise.
10755 (swap_to_top): Likewise.
10756 (compare_for_stack_reg): Likewise.
10757 (subst_asm_stack_regs): Likewise.
10758 * reload.c (find_reloads): Likewise.
10759 * reload1.c (gen_reload_chain_without_interm_reg_p): Likewise.
10760 * sel-sched.c (invoke_reorder_hooks): Likewise.
10761 (create_block_for_bookkeeping): Likewise.
10762 * tree-data-ref.c (lambda_matrix_row_exchange): Remove.
10763 (lambda_matrix_right_hermite): Use std::swap.
10764 * tree-ssa-coalesce.c (sort_coalesce_list): Likewise.
10765 * tree-ssa-ifcombine.c (ifcombine_ifandif): Likewise.
10766 * tree-ssa-loop-ivopts.c (iv_ca_delta_reverse): Likewise.
10767 * tree-ssa-math-opts.c (is_widening_mult_p): Likewise.
10768 * tree-ssa-phiopt.c (hoist_adjacent_loads): Likewise.
10769 * tree-ssa-reassoc.c (linearize_expr_tree): Likewise.
10770 * tree-ssa-threadedge.c (simplify_control_stmt_condition): Likewise.
10771 * tree-vrp.c (compare_ranges): Likewise.
10772 * var-tracking.c (add_with_sets): Likewise.
10773 (vt_find_locations): Likewise.
10774
10775 2015-05-18 Andreas Tobler <andreast@gcc.gnu.org>
10776
10777 * config/freebsd-spec.h (FBSD_STARTFILE_SPEC): Add the bits to build
10778 pie executables.
10779 (FBSD_ENDFILE_SPEC): Likewise.
10780 * config/i386/freebsd.h (STARTFILE_SPEC): Remove and use the one from
10781 config/freebsd-spec.h.
10782 (ENDFILE_SPEC): Likewise.
10783
10784 2015-05-18 Uros Bizjak <ubizjak@gmail.com>
10785 Richard Henderson <rth@redhat.com>
10786
10787 PR target/57032
10788 * config/alpha/constraints.md (Q): Rewrite as define_memory_constraint.
10789 Check for a memory location that is not a reference (using an AND)
10790 to an unaligned location here.
10791 * config/alpha/predicates.md (normal_memory_operand): Remove.
10792
10793 2015-05-18 Alex Velenko <Alex.Velenko@arm.com>
10794
10795 * config/arm/arm.md (andsi_not_shiftsi_si_scc): New pattern.
10796 (andsi_not_shiftsi_si_scc_no_reuse): New pattern.
10797
10798 2015-05-18 Robert Suchanek <robert.suchanek@imgtec.com>
10799
10800 * config/mips/mips.c (micromips_globals): New variable.
10801 (mips_set_compression_mode): Save and reinitialize target-dependent
10802 state for microMIPS.
10803
10804 2015-05-18 Martin Liska <mliska@suse.cz>
10805
10806 * dbgcnt.def: Add new counter.
10807 * ipa-icf.c (sem_item_optimizer::merge_classes): Use the counter.
10808
10809 2015-05-18 Martin Liska <mliska@suse.cz>
10810
10811 * dbgcnt.def: Sort counters.
10812 * opts.c (common_handle_option): Do not compile if
10813 -fdbg-cnt-list is enabled.
10814
10815 2015-05-18 Tom de Vries <tom@codesourcery.com>
10816
10817 * gimplify.c (gimplify_modify_expr): Remove do_deref handling.
10818 (gimplify_va_arg_expr): Remove do_deref handling. Remove adding of
10819 address operator to va_list operand.
10820 * tree-stdarg.c (expand_ifn_va_arg_1): Do deref of va_list operand
10821 unconditionally.
10822 * config/i386/i386.c (ix86_gimplify_va_arg): Remove deref on va_list
10823 operand.
10824 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Same.
10825 * config/s390/s390.c (s390_gimplify_va_arg): Same.
10826 * config/spu/spu.c (spu_gimplify_va_arg_expr): Same.
10827
10828 2015-05-18 Tom de Vries <tom@codesourcery.com>
10829
10830 * tree-ssa-tail-merge.c: Fix whitespace.
10831
10832 2015-05-17 Jim Wilson <jim.wilson@linaro.org>
10833
10834 * doc/invoke.texi (ARM Options, mtune): Add generic-armv7-a,
10835 cortex-a17, and cortex-a17.cortex-a7.
10836
10837 2015-05-17 Oleg Endo <olegendo@gcc.gnu.org>
10838
10839 PR target/54236
10840 * config/sh/sh.md (*addc_2r_t): Use ashift instead of mult.
10841
10842 2015-05-17 Uros Bizjak <ubizjak@gmail.com>
10843
10844 PR target/66174
10845 * config/i386/i386.c (expand_vec_perm_blend): Enable HImode and
10846 QImode inner modes for TARGET_AVX512BW. Force mask operand
10847 to a register for AVX512F modes.
10848
10849 2015-05-16 Jan Hubicka <hubicka@ucw.cz>
10850
10851 * toplev.c (emit_debug_global_declarations): Do not output debug info
10852 when doing slim LTO objects.
10853
10854 2015-05-16 Jan Hubicka <hubicka@ucw.cz>
10855
10856 * ipa-utils.h (warn_types_mismatch, odr_or_derived_type_p,
10857 odr_types_equivalent_p): Declare.
10858 (odr_type_p): Use gcc_checking_assert.
10859 (type_in_anonymous_namespace_p) Declare.
10860 (type_with_linkage_p): Declare.
10861 * common.opt (Wlto-type-mismatch): New warning.
10862 * ipa-devirt.c (compound_type_base): New function.
10863 (odr_or_derived_type_p): New function.
10864 (odr_types_equivalent_p): New function.
10865 (add_type_duplicate): Simplify.
10866 (type_with_linkage_p): Add hack to prevent false positives on C types
10867 (type_in_anonymous_namespace_p): Likewise.
10868 * tree.c (need_assembler_name_p): Use type_with_linkage.
10869 * tree.h (type_in_anonymous_namespace_p): Remove.
10870 * doc/invoke.texi (-Wlto-type-mismatch): Document
10871
10872 2015-05-16 Jan Hubicka <hubicka@ucw.cz>
10873
10874 * tree.c (verify_type_variant): Verify tree_base and type_common flags.
10875 (verify_type): Verify STRING_FLAG.
10876
10877 2015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
10878
10879 PR fortran/44054
10880 * tree-pretty-print.c (percent_K_format): Replace locus pointer
10881 with accessor function.
10882 * tree-diagnostic.c (diagnostic_report_current_function): Use
10883 diagnostic_location function.
10884 (maybe_unwind_expanded_macro_loc): Likewise.
10885 (virt_loc_aware_diagnostic_finalizer): Likewise.
10886 (default_tree_printer): Replace locus pointer with accessor function.
10887 * diagnostic.c (diagnostic_initialize): Initialize caret_chars array.
10888 (diagnostic_set_info_translated): Initialize second location.
10889 (diagnostic_build_prefix): Use CARET_LINE_MARGIN.
10890 (diagnostic_show_locus): Handle two locations. Call
10891 diagnostic_print_caret_line.
10892 (diagnostic_print_caret_line): New.
10893 (default_diagnostic_starter): Use diagnostic_location function.
10894 (diagnostic_report_diagnostic): Use diagnostic_location function.
10895 (verbatim): Do not set text.locus.
10896 * diagnostic.h (struct diagnostic_info): Remove location field.
10897 (struct diagnostic_context): Make caret_chars an array of two.
10898 (diagnostic_location): New inline.
10899 (diagnostic_expand_location): Handle two locations.
10900 (diagnostic_same_line): New inline.
10901 (diagnostic_print_caret_line): Declare.
10902 (CARET_LINE_MARGIN): New constant.
10903 * pretty-print.c (pp_printf): Do not set text.locus.
10904 (pp_verbatim): Do not set text.locus.
10905 * pretty-print.h (MAX_LOCATIONS_PER_MESSAGE): New constant.
10906 (struct text_info): Replace locus pointer with locations
10907 array. Add accessor functions.
10908
10909 2015-05-16 Kugan Vivekanandarajah <kuganv@linaro.org>
10910 Zhenqiang Chen <zhenqiang.chen@linaro.org>
10911
10912 PR target/65768
10913 * config/arm/arm.h (DONT_EARLY_SPLIT_CONSTANT): New macro.
10914 * config/arm/arm.md (subsi3, andsi3, iorsi3, xorsi3, movsi): Keep some
10915 large constants in register instead of splitting them.
10916
10917 2015-05-16 Uros Bizjak <ubizjak@gmail.com>
10918
10919 PR target/66140
10920 * config/alpha/alpha.c (get_aligned_mem): Also look for reload
10921 replacements in memory addresses.
10922 (get_unaligned_address): Ditto.
10923
10924 2015-05-16 James Bowman <james.bowman@ftdichip.com>
10925
10926 * config/ft32/*: New files for FT32 port.
10927 * doc/install.texi: Add FT32 information.
10928 * doc/invoke.texi: Add FT32 information.
10929 * doc/md.texi: Add FT32 information.
10930 * doc/contrib.texi: Self added.
10931
10932 2015-05-15 Marc Glisse <marc.glisse@inria.fr>
10933
10934 PR tree-optimization/64454
10935 * match.pd ((X % Y) % Y, (X % Y) < Y): New patterns.
10936 (-1 - A -> ~A): Remove unnecessary condition.
10937
10938 2015-05-15 Gregor Richards <gregor.richards@uwaterloo.ca>
10939
10940 * config/i386/linux.h (MUSL_DYNAMIC_LINKER): Define.
10941 * config/i386/linux64.h (MUSL_DYNAMIC_LINKER32): Define.
10942 (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERX32): Define.
10943
10944 2015-05-15 Ilya Enkovich <ilya.enkovich@intel.com>
10945
10946 * ipa-chkp.h (chkp_wrap_function): New.
10947 * ipa-chkp.c (chkp_wrap_function): Remove 'static'.
10948 (chkp_wrap_function_name): New.
10949 (chkp_build_instrumented_fndecl): Use chkp_wrap_function_name
10950 to get wrapper name.
10951 * lto-cgraph.c: Include ipa-chkp.h.
10952 (input_cgraph_1): Avoid alias chain for wrappers.
10953
10954 2015-05-15 Ilya Enkovich <enkovich.gnu@gmail.com>
10955
10956 PR middle-end/66134
10957 * tree-chkp.c (chkp_get_orginal_bounds_for_abnormal_copy): New.
10958 (chkp_maybe_copy_and_register_bounds): Don't copy abnormal copy.
10959
10960 2015-05-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10961
10962 * config/aarch64/aarch64.h (AARCH64_TUNE_SLOWMUL): Delete.
10963 (AARCH64_FL_SLOWMUL): Delete.
10964 (AARCH64_FL_CRC): Redefine to 1<<3.
10965 (AARCH64_FL_USE_FMA_STEERING_PASS): Redefine to 1<<4.
10966
10967 2015-05-15 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
10968
10969 * config/arm/arm.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Add appropriate
10970 casting.
10971
10972 2015-05-15 Uros Bizjak <ubizjak@gmail.com>
10973
10974 * config/alpha/alpha.md (extendqidi2): Use general_operand
10975 instead of some_operand for operand[1] predicate.
10976 (extendhidi2): Ditto.
10977 (cbranchdi4): Use general_operand instead of some_operand
10978 for operand[1] and operands[2] predicates.
10979 (cstoredi4): Ditto.
10980 * config/alpha/predicates.md (some_operand): Remove unused predicate.
10981 (some_ni_operand): Ditto.
10982
10983 2015-05-15 Uros Bizjak <ubizjak@gmail.com>
10984
10985 * config/alpha/alpha.c (alpha_extract_integer): Do not handle
10986 CONST_WIDE_INT and CONST_DOUBLE. Assert CONST_INT_P (x).
10987 (alpha_legitimate_constant_p) <case CONST_WIDE_INT>: Check high and
10988 low part of the constant using alpha_emit_set_const_1.
10989 (alpha_expand_mov): Do not handle CONST_WIDE_INT and CONST_DOUBLE.
10990
10991 2015-05-14 Rohit Arul Raj <rohitrulraj@freescale.com>
10992
10993 * varasm.c (output_constant_pool_1): Pass down alignment from
10994 constant pool entry's descriptor to output_constant_pool_2.
10995 (output_object_block): Add comment prior to call to
10996 output_constant_pool_1.
10997
10998 2015-05-14 Vladimir Makarov <vmakarov@redhat.com>
10999
11000 PR rtl-optimization/65862
11001 * target.def (ira_change_pseudo_allocno_class): New hook.
11002 * targhooks.c (default_ira_change_pseudo_allocno_class): Default
11003 value of the hook.
11004 * targhooks.h (default_ira_change_pseudo_allocno_class): New extern.
11005 * doc/tm.texi.in (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): Add the
11006 hook.
11007 * ira-costs.c (find_costs_and_classes): Call the hook and change
11008 classes when it is necessary.
11009 * doc/tm.texi: Update.
11010
11011 2015-05-14 Alexander Monakov <amonakov@ispras.ru>
11012
11013 * config/i386/i386.md (sibcall_memory): Check that register with
11014 callee address is not also used as one of the arguments, instead
11015 of checking that it is not live after the sibcall.
11016 (sibcall_pop_memory): Ditto.
11017 (sibcall_value_memory): Ditto.
11018 (sibcall_value_pop_memory): Ditto.
11019
11020 2015-05-14 Marc Glisse <marc.glisse@inria.fr>
11021
11022 * generic-match-head.c (types_match): Handle non-types.
11023 * gimple-match-head.c (types_match): Likewise.
11024 * match.pd: Remove unnecessary TREE_TYPE for types_match.
11025
11026 2015-05-14 Wilco Dijkstra <wdijkstr@arm.com>
11027
11028 * config/aarch64/aarch64.md (absdi2): Optimize abs expansion.
11029 (csneg3<mode>_insn): Enable expansion of pattern.
11030
11031 2015-05-14 Nick Clifton <nickc@redhat.com>
11032
11033 * config/rl78/rl78.c (rl78_select_section): Select the correct
11034 default section based upon the category of the decl.
11035
11036 2015-05-13 Segher Boessenkool <segher@kernel.crashing.org>
11037
11038 PR rtl-optimization/30967
11039 * config/rs6000/rs6000.c (rs6000_rtx_costs): Don't consider
11040 destination mode for the cost of scc patterns.
11041
11042 2015-05-13 Uros Bizjak <ubizjak@gmail.com>
11043
11044 * config/i386/i386.md (*mul<mode>3_1): Merge with *mulhi3_1
11045 using SWIM248 mode iterator.
11046 (*mulv<mode>4): Use x86_64_sext_operand for operand[2] constraint.
11047 (*mulvhi4): mark operand[1] as commutative. Use nonimmediate_operand
11048 for operand[2] constraint.
11049 (*mulv<mode>4_1): Merge with *mulvhi4_1 using SWI248 mode iterator.
11050
11051 2015-05-13 Jakub Jelinek <jakub@redhat.com>
11052
11053 PR middle-end/66133
11054 * omp-low.c (expand_omp_taskreg): For GIMPLE_OMP_TASK expansion,
11055 make sure it is never noreturn, even when the task body does not
11056 return.
11057 (lower_omp_taskreg): For GIMPLE_OMP_TASK, emit GIMPLE_OMP_CONTINUE
11058 right before GIMPLE_OMP_RETURN.
11059 (make_gimple_omp_edges): Accept GIMPLE_OMP_CONTINUE as ->cont
11060 for GIMPLE_OMP_TASK. For GIMPLE_OMP_RETURN corresponding to
11061 GIMPLE_OMP_TASK add an EDGE_ABNORMAL edge from entry to exit.
11062
11063 2015-05-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11064
11065 * params.def (PARAM_MAX_POW_SQRT_DEPTH): New param.
11066 * tree-ssa-math-opts.c: Include params.h
11067 (pow_synth_sqrt_info): New struct.
11068 (representable_as_half_series_p): New function.
11069 (get_fn_chain): Likewise.
11070 (print_nested_fn): Likewise.
11071 (dump_fractional_sqrt_sequence): Likewise.
11072 (dump_integer_part): Likewise.
11073 (expand_pow_as_sqrts): Likewise.
11074 (gimple_expand_builtin_pow): Use above to attempt to expand
11075 pow as series of square roots. Removed now unused variables.
11076
11077 2015-05-13 Uros Bizjak <ubizjak@gmail.com>
11078
11079 * config/alpha/alpha.c (alpha_emit_set_long_const): Remove c1 argument.
11080 (alpha_extract_integer): Redeclare as static HOST_WIDE_INT.
11081 Remove *p0 and *p1 arguments. Rewrite function.
11082 (alpha_legitimate_constant_p): Update call to alpha_extract_integer.
11083 (alpha_split_const_mov): Update calls to alpha_extract_integer and
11084 alpha_emit_set_long_const.
11085 (alpha_expand_epilogue): Update calls to alpha_emit_set_long_const.
11086 (alpha_output_mi_thunk_osf): Ditto.
11087 * config/alpha/alpha.md (movti): Do not check operands[1]
11088 for CONST_DOUBLE.
11089
11090 2015-05-13 Richard Biener <rguenther@suse.de>
11091
11092 PR tree-optimization/66129
11093 * tree-vect-slp.c (vect_build_slp_tree): Make sure all ops are
11094 commutative.
11095 (vect_schedule_slp_instance): Fix typo.
11096
11097 2015-05-13 David Malcolm <dmalcolm@redhat.com>
11098
11099 * common.opt (fdump-internal-locations): New option.
11100 * input.c: Include diagnostic-core.h.
11101 (get_end_location): New function.
11102 (write_digit): New function.
11103 (write_digit_row): New function.
11104 (dump_location_range): New function.
11105 (dump_labelled_location_range): New function.
11106 (dump_location_info): New function.
11107 * input.h (dump_location_info): New prototype.
11108 * toplev.c (compile_file): Handle flag_dump_locations.
11109
11110 2015-05-13 Eric Botcazou <ebotcazou@adacore.com>
11111
11112 * gimple-expr.h (is_gimple_constant): Reorder.
11113 * tree-ssa-propagate.c (before_dom_children): Use inline accessor.
11114
11115 2015-05-13 Segher Boessenkool <segher@kernel.crashing.org>
11116
11117 * combine.c (simplify_set): When generating a CC set, if the
11118 source already is in the correct mode, do not wrap it in a
11119 compare. Simplify the rest of that code.
11120
11121 2015-05-13 Richard Biener <rguenther@suse.de>
11122
11123 PR tree-optimization/66123
11124 * tree-ssa-dom.c (propagate_rhs_into_lhs): Check if we found
11125 a taken edge.
11126
11127 2015-05-13 Richard Biener <rguenther@suse.de>
11128
11129 PR middle-end/66110
11130 * alias.c (alias_sets_conflict_p): Do not treat has_zero_child
11131 specially.
11132 * Makefile.in (dfp.o-warn): Add -Wno-strict-aliasing.
11133
11134 2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
11135
11136 * doc/install.texi: Bump latest automake 1.11 version to 1.11.6.
11137 * aclocal.m4: Regenerated with automake-1.11.6.
11138
11139 2015-05-13 Tom de Vries <tom@codesourcery.com>
11140
11141 PR tree-optimization/66010
11142 * gimplify.h (gimplify_va_arg_internal): Remove declaration.
11143 * gimplify.c (gimplify_va_arg_internal): Remove and inline into ...
11144 * tree-stdarg.c (expand_ifn_va_arg_1): ... here. Choose between lval
11145 and rval based on do_deref.
11146
11147 2015-05-13 Ilya Enkovich <ilya.enkovich@intel.com>
11148
11149 PR target/65103
11150 * config/i386/i386.c (ix86_rtx_costs): We want to propagate
11151 link time constants into adress expressions and therefore set
11152 their cost to 0.
11153
11154 2015-05-13 Jakub Jelinek <jakub@redhat.com>
11155
11156 PR target/66112
11157 * config/i386/i386.md (mulv<mode>4, umulv<mode>4, *umulv<mode>4):
11158 Use SWI248 iterator instead of SWI.
11159 (*mulv<mode>4_1): Use SWI48 instead of SWI. Simplify output template.
11160 Use eq_attr "alternative" "0" instead of match_test in
11161 length_immediate attribute computation.
11162 (*mulvhi4, *mulvhi4_1): New define_insns.
11163
11164 PR target/66112
11165 * internal-fn.c (get_min_precision): Use UNSIGNED instead of
11166 SIGNED to get precision of non-negative value.
11167
11168 2015-05-13 Ilya Enkovich <ilya.enkovich@intel.com>
11169
11170 PR target/66048
11171 * function.c (diddle_return_value_1): Process bounds first.
11172 * config/i38/i386.c (ix86_function_value_regno_p): Add bnd1
11173 register.
11174
11175 2015-05-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
11176
11177 PR rtl-optimization/64616
11178 * loop-invariant.c (can_move_invariant_reg): New.
11179 (move_invariant_reg): Call above new function to decide whether
11180 instruction can just be moved, skipping creation of temporary
11181 register.
11182
11183 2015-05-12 Jan Hubicka <hubicka@ucw.cz>
11184
11185 PR target/pr66047.c
11186 * i386.c (ix86_function_sseregparm): Only return -1 if local function
11187 with implied regparm is called from -mno-sse function.
11188 (init_cumulative_args): Output error if ix86_function_sseregparm
11189 return -1 and SSE register would be needed.
11190 (function_arg_advance_32): Likewise.
11191 (function_arg_32): Likewise.
11192 * i386.h (ix86_args): Add decl field.
11193
11194 2015-05-12 Jan Hubicka <hubicka@ucw.cz>
11195
11196 PR ipa/65873
11197 * ipa-inline.c (can_inline_edge_p): Allow early inlining of always
11198 inlines across optimization boundary.
11199
11200 2015-05-12 Jason Merrill <jason@redhat.com>
11201
11202 * config/mmix/mmix.c, config/msp430/msp430.c: Add space between
11203 string literal and macro name.
11204
11205 2015-05-12 Steve Ellcey <sellcey@imgtec.com>
11206
11207 * config/mips/mips.c (mips_print_operand): Remove 'y' operand code.
11208 * config/mips/mips.md (<GPR:d>lsa): Rewrite with shift operator.
11209 * config/mips/predicates.md (const_immlsa_operand): Remove log call.
11210
11211 2015-05-12 David Malcolm <dmalcolm@redhat.com>
11212
11213 * doc/invoke.texi (Warning Options): Add -Wmisleading-indentation.
11214 (-Wmisleading-indentation): New option.
11215 * Makefile.in (C_COMMON_OBJS): Add c-family/c-indentation.o.
11216
11217 2015-05-12 Uros Bizjak <ubizjak@gmail.com>
11218
11219 * config/alpha/alpha.h (TARGET_SUPPORTS_WIDE_INT): New define.
11220 * config/alpha/alpha.c (alpha_rtx_costs): Handle CONST_WIDE_INT.
11221 (alpha_extract_integer): Ditto.
11222 (alpha_legitimate_constant_p): Ditto.
11223 (alpha_split_tmode_pair): Ditto.
11224 (alpha_preferred_reload_class): Add CONST_WIDE_INT.
11225 (alpha_expand_mov): Ditto.
11226 (print_operand): Remove handling of 'H' modifier.
11227 <case 'm'>: Remove CONST_DOUBLE handling.
11228 (summarize_insn): Handle CONST_WIDE_INT.
11229 * config/alpha/alpha.md (*andsi_internal): Remove H constraint.
11230 (anddi3): Ditto.
11231 (movti): Handle CONST_WIDE_INT.
11232 * config/alpha/constraints.md ('H'): Remove constraint definition.
11233 ('G'): Do not match MODE_FLOAT class.
11234 * config/alpha/predicates.md (const0_operand): Also match
11235 const_wide_int.
11236 (non_add_const_operand): Ditto.
11237 (non_zero_const_operand): Ditto.
11238 (some_operand): Ditto.
11239 (input_operand): Ditto. Handle CONST_WIDE_INT.
11240 (and_operand): Do not match const_double.
11241 * config/alpha/sync.md (fetchop_constr): Remove H constraint.
11242
11243 2015-05-12 Andrew MacLeod <amacleod@redhat.com>
11244
11245 PR target/65697
11246 * coretypes.h (MEMMODEL_SYNC, MEMMODEL_BASE_MASK): New macros.
11247 (enum memmodel): Add SYNC_{ACQUIRE,RELEASE,SEQ_CST}.
11248 * tree.h (memmodel_from_int, memmodel_base, is_mm_relaxed,
11249 is_mm_consume,is_mm_acquire, is_mm_release, is_mm_acq_rel,
11250 is_mm_seq_cst, is_mm_sync): New accessor functions.
11251 * builtins.c (expand_builtin_sync_operation,
11252 expand_builtin_compare_and_swap): Use MEMMODEL_SYNC_SEQ_CST.
11253 (expand_builtin_sync_lock_release): Use MEMMODEL_SYNC_RELEASE.
11254 (get_memmodel, expand_builtin_atomic_compare_exchange,
11255 expand_builtin_atomic_load, expand_builtin_atomic_store,
11256 expand_builtin_atomic_clear): Use new accessor routines.
11257 (expand_builtin_sync_synchronize): Use MEMMODEL_SYNC_SEQ_CST.
11258 * optabs.c (expand_compare_and_swap_loop): Use MEMMODEL_SYNC_SEQ_CST.
11259 (maybe_emit_sync_lock_test_and_set): Use new accessors and
11260 MEMMODEL_SYNC_ACQUIRE.
11261 (expand_sync_lock_test_and_set): Use MEMMODEL_SYNC_ACQUIRE.
11262 (expand_mem_thread_fence, expand_mem_signal_fence, expand_atomic_load,
11263 expand_atomic_store): Use new accessors.
11264 * emit-rtl.c (need_atomic_barrier_p): Add additional enum cases.
11265 * tsan.c (instrument_builtin_call): Update check for memory model beyond
11266 final enum to use MEMMODEL_LAST.
11267 * c-family/c-common.c: Use new accessor for memmodel_base.
11268 * config/aarch64/aarch64.c (aarch64_expand_compare_and_swap): Use new
11269 accessors.
11270 * config/aarch64/atomics.md (atomic_load<mode>,atomic_store<mode>,
11271 arch64_load_exclusive<mode>, aarch64_store_exclusive<mode>,
11272 mem_thread_fence, *dmb): Likewise.
11273 * config/alpha/alpha.c (alpha_split_compare_and_swap,
11274 alpha_split_compare_and_swap_12): Likewise.
11275 * config/arm/arm.c (arm_expand_compare_and_swap,
11276 arm_split_compare_and_swap, arm_split_atomic_op): Likewise.
11277 * config/arm/sync.md (atomic_load<mode>, atomic_store<mode>,
11278 atomic_loaddi): Likewise.
11279 * config/i386/i386.c (ix86_destroy_cost_data, ix86_memmodel_check):
11280 Likewise.
11281 * config/i386/sync.md (mem_thread_fence, atomic_store<mode>): Likewise.
11282 * config/ia64/ia64.c (ia64_expand_atomic_op): Add new memmodel cases and
11283 use new accessors.
11284 * config/ia64/sync.md (mem_thread_fence, atomic_load<mode>,
11285 atomic_store<mode>, atomic_compare_and_swap<mode>,
11286 atomic_exchange<mode>): Use new accessors.
11287 * config/mips/mips.c (mips_process_sync_loop): Likewise.
11288 * config/pa/pa.md (atomic_loaddi, atomic_storedi): Likewise.
11289 * config/rs6000/rs6000.c (rs6000_pre_atomic_barrier,
11290 rs6000_post_atomic_barrier): Add new cases.
11291 (rs6000_expand_atomic_compare_and_swap): Use new accessors.
11292 * config/rs6000/sync.md (mem_thread_fence): Add new cases.
11293 (atomic_load<mode>): Add new cases and use new accessors.
11294 (store_quadpti): Add new cases.
11295 * config/s390/s390.md (mem_thread_fence, atomic_store<mode>): Use new
11296 accessors.
11297 * config/sparc/sparc.c (sparc_emit_membar_for_model): Use new accessors.
11298 * doc/extend.texi: Update docs to indicate 16 bits are used for memory
11299 model, not 8.
11300
11301 2015-05-12 Jan Hubicka <hubicka@ucw.cz>
11302
11303 * ipa-devirt.c (type_with_linkage_p): New function.
11304 (type_in_anonymous_namespace_p): Move here from tree.c; assert that
11305 type has linkage.
11306 (odr_type_p): Move here from ipa-utils.h; use type_with_linkage_p.
11307 (can_be_name_hashed_p): Simplify.
11308 (hash_odr_name): Check that type has linkage before checking if it is
11309 anonymous.
11310 (types_same_for_odr): Likewise.
11311 (odr_name_hasher::equal): Likewise.
11312 (odr_subtypes_equivalent_p): Likewise.
11313 (warn_types_mismatch): Likewise.
11314 (get_odr_type): Likewise.
11315 (odr_types_equivalent_p): Fix checking of TYPE_MAIN_VARIANT.
11316 * ipa-utils.h (odr_type_p): Move offline.
11317 * tree.c (need_assembler_name_p): Fix handling of types
11318 without linkages.
11319 (type_in_anonymous_namespace_p): Move to ipa-devirt.c
11320
11321 2015-05-12 David Malcolm <dmalcolm@redhat.com>
11322
11323 * timevar.c (timevar_enable): Delete in favor of...
11324 (g_timer): New global.
11325 (struct timevar_def): Move to timevar.h inside class timer.
11326 (struct timevar_stack_def): Likewise.
11327 (timevars): Delete global in favor of field "m_timevars" within
11328 class timer in timevar.h
11329 (stack): Likewise, in favor of field "m_stack".
11330 (unused_stack_instances): Likewise, in favor of field
11331 "m_unused_stack_instances".
11332 (start_time): Likewise, in favor of field "m_start_time".
11333 (get_time): Eliminate check for timevar_enable.
11334 (timer::timer): New function, built from part of timevar_init.
11335 (timevar_init): Rewrite idempotency test from using
11336 "timevar_enable" bool to using dynamic allocation of "g_timer".
11337 Move rest of implementation into timer's constructor.
11338 (timevar_push_1): Rename to...
11339 (timer::push): ...this, adding "m_" prefixes to variables that
11340 are now fields of timer.
11341 (timevar_pop_1): Likewise, rename to...
11342 (timer::pop): ...this, and add "m_" prefixes.
11343 (timevar_start): Replace test for "timevar_enable" with one for
11344 "g_timer", and move bulk of implementation to...
11345 (timer::start): ...here, adding "m_" prefixes.
11346 (timevar_stop): Likewise, from here...
11347 (timer::stop): ...to here.
11348 (timevar_cond_start): Likewise, from here...
11349 (timer::cond_start): ...to here.
11350 (timevar_cond_stop): Likewise, from here...
11351 (timer::cond_stop): ...to here.
11352 (validate_phases): Rename to...
11353 (timer::validate_phases): ...this, and add "m_" prefixes. Make
11354 locals "total" and "tv" const.
11355 (timevar_print): Rename to...
11356 (timer::print): ...this, and add "m_" prefixes. Make locals
11357 "total" and "tv" const. Eliminate test for timevar_enable.
11358 * timevar.h (timevar_enable): Eliminate.
11359 (g_timer): New declaration.
11360 (timevar_push_1): Eliminate.
11361 (timevar_pop_1): Eliminate.
11362 (timevar_print): Eliminate.
11363 (class timer): New class.
11364 (timevar_push): Rewrite to use g_timer.
11365 (timevar_pop): Likewise.
11366 * toplev.c (toplev::~toplev): Likewise.
11367
11368 2015-05-12 Richard Earnshaw <rearnsha@arm.com>
11369
11370 * arm-protos.h (arm_sched_autopref): Delete.
11371 (tune_params): Re-organize, use enums for flag values.
11372 (FUSE_OPS): New macro.
11373 * arm.c (ARM_PREFETCH_NOT_BENEFICIAL): Update.
11374 (ARM_PREFETCH_BENEFICIAL): Likewise.
11375 (ARM_FUSE_NOTHING, ARM_FUSE_MOVW_MOVT): Delete.
11376 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune)
11377 (arm_xscale_tune, arm_9e_tune, arm_marvell_pj4_tune)
11378 (arm_v6t2_tune, arm_cortex_tune, arm_cortex_a8_tune)
11379 (arm_cortex_a7_tune, arm_cortex_a15_tune, arm_cortex_a53_tune)
11380 (arm_cortex_a57_tune, arm_xgene1_tune, arm_cortex_a5_tune)
11381 (arm_cortex_a9_tune, arm_cortex_a12_tune, arm_v7m_tune)
11382 (arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune): Use new
11383 format.
11384 (arm_option_override, thumb2_reorg, arm_print_tune_info)
11385 (aarch_macro_fusion_pair_p): Update uses of current_tune.
11386 * arm.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Likewise.
11387
11388 2015-05-12 Sandra Loosemore <sandra@codesourcery.com>
11389
11390 * config/nios2/nios2.md (trap, ctrapsi4): Use "trap" instead of
11391 "break".
11392
11393 2015-05-12 Chung-Lin Tang <cltang@codesourcery.com>
11394 Sandra Loosemore <sandra@codesourcery.com>
11395
11396 * config/nios2/nios2.h (enum reg_class): Add IJMP_REGS enum
11397 value.
11398 (REG_CLASS_NAMES): Add "IJMP_REGS".
11399 (REG_CLASS_CONTENTS): Add new entry for IJMP_REGS.
11400 * config/nios2/nios2.md (indirect_jump,*tablejump): Adjust to
11401 use new "c" register constraint.
11402 * config/nios2/constraint.md (c): New register constraint
11403 corresponding to IJMP_REGS.
11404
11405 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
11406
11407 * config/rs6000/rs6000.md (*rotlsi3_internal4, *rotlsi3_internal5,
11408 *rotlsi3_internal6, rlwinm, 5 unnamed define_insns, and 6
11409 define_splits): Delete, revamp, transmogrify into ...
11410 (*rotlsi3_mask, *rotlsi3_mask_dot, *rotlsi3_mask_dot2,
11411 *ashlsi3_imm_mask, *ashlsi3_imm_mask_dot, *ashlsi3_imm_mask_dot2,
11412 *lshrsi3_imm_mask, *lshrsi3_imm_mask_dot, *lshrsi3_imm_mask_dot2):
11413 New.
11414
11415 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
11416
11417 * config/rs6000/rs6000.md (rs6000_adjust_atomic_subword): Use
11418 gen_ashlsi3 and gen_andsi3 instead of gen_rlwinm.
11419
11420 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
11421
11422 * config/rs6000/rs6000.md (extzv): FAIL for SImode.
11423 (extzvsi_internal, *extzvsi_internal1, *extzvsi_internal2,
11424 *rotlsi3_internal7le, *rotlsi3_internal7be, *rotlsi3_internal8le,
11425 *rotlsi3_internal8be, *rotlsi3_internal9le, *rotlsi3_internal9be,
11426 *rotlsi3_internal10le, *rotlsi3_internal10be, *rotlsi3_internal11le,
11427 *rotlsi3_internal11be, *rotlsi3_internal12le, *rotlsi3_internal12be,
11428 *lshiftrt_internal1le, *lshiftrt_internal1be, *lshiftrt_internal2le,
11429 *lshiftrt_internal2be, *lshiftrt_internal3le, *lshiftrt_internal3be,
11430 *lshiftrt_internal4le, *lshiftrt_internal4be, *lshiftrt_internal5le,
11431 *lshiftrt_internal5be, *lshiftrt_internal5le, *lshiftrt_internal5be,
11432 *rotldi3_internal7le, *rotldi3_internal7be, *rotldi3_internal8le,
11433 *rotldi3_internal8be, *rotldi3_internal9le, *rotldi3_internal9be,
11434 *rotldi3_internal10le, *rotldi3_internal10be, *rotldi3_internal11le,
11435 *rotldi3_internal11be, *rotldi3_internal12le, *rotldi3_internal12be,
11436 *rotldi3_internal13le, *rotldi3_internal13be, *rotldi3_internal14le,
11437 *rotldi3_internal14be, *rotldi3_internal15le, *rotldi3_internal15be,
11438 and 30 corresponding splitters): Delete.
11439
11440 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
11441
11442 * config/rs6000/rs6000.md (define_split for bswaphi): Don't use
11443 zero_extract.
11444
11445 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
11446
11447 * combine.c (recog_for_combine_1): New function, factored out
11448 from recog_for_combine.
11449 (change_zero_ext): New function.
11450 (recog_for_combine): If recog fails, try again with the pattern
11451 modified by change_zero_ext; if that still fails, restore the
11452 pattern.
11453
11454 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
11455
11456 * combine.c (get_undo_marker): New function.
11457 (undo_to_marker): New function, largely factored out from ...
11458 (undo_all): ... this. Adjust.
11459
11460 2015-05-12 Richard Biener <rguenther@suse.de>
11461
11462 PR tree-optimization/66101
11463 * tree-ssa-dce.c (remove_dead_stmt): Properly mark loops for
11464 fixup if we turn a loop exit edge to a fallthru edge.
11465
11466 2015-05-12 Richard Biener <rguenther@suse.de>
11467
11468 PR tree-optimization/37021
11469 * tree-vectorizer.h (struct _slp_tree): Add two_operators flag.
11470 (SLP_TREE_TWO_OPERATORS): New define.
11471 * tree-vect-slp.c (vect_create_new_slp_node): Initialize
11472 SLP_TREE_TWO_OPERATORS.
11473 (vect_build_slp_tree_1): Allow two mixing plus/minus in an
11474 SLP node.
11475 (vect_build_slp_tree): Adjust.
11476 (vect_analyze_slp_cost_1): Likewise.
11477 (vect_schedule_slp_instance): Vectorize mixing plus/minus by
11478 emitting two vector stmts and mixing the results.
11479
11480 2015-05-12 Dominik Vogt <vogt@linux.vnet.ibm.com>
11481
11482 * call.c (print_z_candidates): Remove dead code.
11483
11484 2015-05-12 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
11485
11486 * config/s390/2827.md: Split zEC12_simple into zEC12_simple_int
11487 and zEC12_simple_fp.
11488 * config/s390/s390.c (s390_issue_rate): Set issue rate for zEC12
11489 to 1.
11490
11491 2015-05-12 Tom de Vries <tom@codesourcery.com>
11492
11493 PR tree-optimization/66010
11494 * gimplify.c (gimplify_modify_expr): Handle new do_deref argument of
11495 ifn_va_arg.
11496 * gimplify.h (gimplify_va_arg_internal): Remove loc parameter.
11497 (gimplify_va_arg_internal): Remove loc parameter. Assert no array-typed
11498 va_lists are passed, and remove corresponding handling.
11499 (gimplify_va_arg_expr): Only take address of ap if necessary. Add
11500 do_deref argument to ifn_va_arg.
11501 * tree-stdarg.c (expand_ifn_va_arg_1): Handle new do_deref argument of
11502 ifn_va_arg.
11503
11504 2015-05-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11505
11506 PR target/65955
11507 * config/arm/arm.md (movcond_addsi): Check that operands[2] is a
11508 REG before taking its REGNO.
11509
11510 2015-05-12 Thomas Preud'homme <thomas.preudhomme@arm.com>
11511
11512 * combine.c i(set_nonzero_bits_and_sign_copies): Split code updating
11513 rsp->sign_bit_copies and rsp->nonzero_bits into ...
11514 (update_rsp_from_reg_equal): This. Also use REG_EQUAL note on src if
11515 present to get more accurate information about the number of sign bit
11516 copies and non zero bits.
11517
11518 2015-05-12 Richard Biener <rguenther@suse.de>
11519
11520 * tree-vect-slp.c (vect_build_slp_tree_1): For BB vectorization
11521 do not allow unrolling.
11522
11523 2015-05-11 Richard Henderson <rth@redhat.com>
11524
11525 * config/i386/i386-modes.def (CCP): New.
11526 * config/i386/i386.c (put_condition_code): Handle it.
11527 (ix86_match_ccmode, ix86_cc_modes_compatible): Likewise.
11528
11529 2015-05-11 Richard Henderson <rth@redhat.com>
11530
11531 * target.def (md_asm_clobbers): Replace with...
11532 (md_asm_adjust): this.
11533 * tm.texi.in (TARGET_MD_ASM_CLOBBERS): Remove.
11534 (TARGET_MD_ASM_ADJUST): New.
11535 * tm.texi: Rebuild.
11536 * hooks.c (hook_tree_tree_tree_tree_3rd_identity): Remove.
11537 * hooks.h (hook_tree_tree_tree_tree_3rd_identity): Remove.
11538 * system.h (TARGET_MD_ASM_CLOBBERS): Poison.
11539
11540 * cfgexpand.c (check_operand_nalternatives): Accept vector of
11541 constraints instead of lists of outputs and inputs.
11542 (expand_asm_stmt): Save and restore input_location around the
11543 body of the function. Move asm data into vectors instead of
11544 building tree lists. Generate cleanup sequences as needed,
11545 rather than waiting til the end. Use new md_asm_adjust hook.
11546
11547 * config/vxworks.c: Include vec.h before target.h.
11548 * gimple.c: Likewise.
11549 * incpath.c: Likewise.
11550 * mode-switching.c: Likewise.
11551
11552 * config/cris/cris.c (cris_md_asm_clobbers): Convert to...
11553 (cris_md_asm_adjust): this.
11554 (TARGET_MD_ASM_CLOBBERS): Remove.
11555 (TARGET_MD_ASM_ADJUST): New.
11556 * config/i386/i386.c (ix86_md_asm_clobbers): Convert to...
11557 (ix86_md_asm_adjust): this.
11558 (TARGET_MD_ASM_CLOBBERS): Remove.
11559 (TARGET_MD_ASM_ADJUST): New.
11560 * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): Convert to...
11561 (mn10300_md_asm_adjust): this.
11562 (TARGET_MD_ASM_CLOBBERS): Remove.
11563 (TARGET_MD_ASM_ADJUST): New.
11564 * config/rs6000/rs6000.c (rs6000_md_asm_clobbers): Convert to...
11565 (rs6000_md_asm_adjust): this.
11566 (TARGET_MD_ASM_CLOBBERS): Remove.
11567 (TARGET_MD_ASM_ADJUST): New.
11568 * config/visium/visium.c (visium_md_asm_clobbers): Convert to...
11569 (visium_md_asm_adjust): this.
11570 (TARGET_MD_ASM_CLOBBERS): Remove.
11571 (TARGET_MD_ASM_ADJUST): New.
11572
11573 2015-05-11 Richard Henderson <rth@redhat.com>
11574
11575 * gimplify.c (gimplify_asm_expr): Set gimple_asm_volatile_p
11576 if noutputs is zero.
11577 * cfgexpand.c (expand_asm_stmt): Use gimple_asm_volatile_p unchanged.
11578
11579 * cfgexpand.c (expand_asm_operands): Merge into...
11580 (expand_asm_stmt): ... here.
11581
11582 * cfgexpand.c (expand_asm_operands): Don't call
11583 resolve_asm_operand_names.
11584 * stmt.c (resolve_asm_operand_names): Clarify block comment.
11585
11586 2015-05-11 Jan Hubicka <hubicka@ucw.cz>
11587
11588 * dwarf2out.c (gen_member_die): Sanity check that we access
11589 TYPE_MAIN_VARIANT for TYPE_METHODS.
11590 * function.c (use_register_for_decl): Look for TYPE_MAIN_VARIANT when
11591 checking TYPE_METHODS.
11592 * tree.c (free_lang_data_in_type): See TYPE_METHODS to error_mark_node
11593 if non-null.
11594 (build_distinct_type_copy): Clear TYPE_METHODS.
11595 (verify_type_variant): Verify that TYPE_METHODS is NULL for variants.
11596 (verify_type): Allow TYPE_METHODS to be error_mark_node.
11597 * tree.def: Update docs of TYPE_STUB_DECL and TYPE_METHODS.
11598
11599 2015-05-11 Eric Botcazou <ebotcazou@adacore.com>
11600
11601 * emit-rtl.c (emit_pattern_after_setloc): Add missing guard.
11602 (emit_pattern_before_setloc): Likewise.
11603
11604 2015-05-11 Richard Sandiford <richard.sandiford@arm.com>
11605
11606 * genrecog.c (match_pattern_1): Expect the pattern to be a SEQUENCE
11607 for define_peephole2s.
11608 (get_peephole2_pattern): New function.
11609 (main): Use it. Call validate_pattern.
11610
11611 2015-05-11 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
11612
11613 * config/avr/avr.c (avr_hard_regno_call_part_clobbered): Use
11614 LAST_CALLEE_SAVED_REG instead of hard-coded register number.
11615 (Last callee saved reg is different for AVR_TINY architecture)
11616
11617 2015-05-11 Uros Bizjak <ubizjak@gmail.com>
11618
11619 * config/i386/i386.c (ix86_loop_unroll_adjust): Use PATTERN (insn)
11620 when looking for memory references.
11621
11622 2015-05-11 Alexander Monakov <amonakov@ispras.ru>
11623
11624 PR target/65753
11625 * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow PIC sibcalls
11626 via function pointers.
11627
11628 2015-05-11 Alexander Monakov <amonakov@ispras.ru>
11629
11630 * calls.c (prepare_call_address): Transform PLT call to GOT lookup and
11631 indirect call by forcing address into a pseudo with -fno-plt.
11632 * common.opt (flag_plt): New option.
11633 * doc/invoke.texi (Code Generation Options): Add -fno-plt.
11634 ([-fno-plt]): Document.
11635
11636 2015-05-11 Markus Trippelsdorf <markus@trippelsdorf.de>
11637
11638 PR bootstrap/66105
11639 * config/rs6000/option-defaults.h: Add space between string literal
11640 and macro name.
11641
11642 2015-05-11 Thomas Preud'homme <thomas.preudhomme@arm.com>
11643
11644 * gcc.target/arm/pr64616.c: Test dump rather than assembly to work
11645 accross ARM targets.
11646
11647 2015-05-11 Christian Bruel <christian.bruel@st.com>
11648
11649 * config/arm/arm-protos.h (thumb_code, thumb1_code): Remove.
11650 * config/arm/vxworks.h (thumb_code): Replace with TARGET_THUMB.
11651
11652 2015-05-11 Richard Sandiford <richard.sandiford@arm.com>
11653
11654 PR rtl-optimization/66076
11655 * rtlanal.c (generic_subrtx_iterator <T>::add_single_to_queue):
11656 Don't grow the heap array if it is already big enough from a
11657 previous iteration.
11658
11659 2015-05-11 Christian Bruel <christian.bruel@st.com>
11660
11661 * config/arm/arm-protos.h (arm_declare_function_name): Declare.
11662 (is_called_in_ARM_mode): Remove.
11663 * config/arm/arm.c (is_called_in_ARM_mode): Declare static bool.
11664 (arm_declare_function_name): Moved from from ARM_DECLARE_FUNCTION_NAME.
11665 * config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME): Call
11666 arm_declare_function_name.
11667
11668 2015-05-11 Christian Bruel <christian.bruel@st.com>
11669
11670 * config/arm/arm.c (arm_option_override): Reoganized and split into :
11671 (arm_option_params_internal); New function.
11672 (arm_option_check_internal): New function.
11673 (arm_option_override_internal): New function.
11674 (thumb_code, thumb1_code): Remove.
11675 * config/arm/arm.h (TREE_TARGET_THUMB, TREE_TARGET_THUMB1): New macros.
11676 (TREE_TARGET_THUM2, TREE_TARGET_ARM): Likewise.
11677 (thumb_code, thumb1_code): Remove.
11678 * config/arm/arm.md (is_thumb, is_thumb1): Check TARGET flag.
11679
11680 2015-05-11 Uros Bizjak <ubizjak@gmail.com>
11681
11682 * config/alpha/alpha.c (alpha_emit_set_const_1)
11683 (alpha_emit_set_long_const, alpha_extract_integer)
11684 (alpha_legitimate_constant_p, alpha_split_const_mov)
11685 (alpha_expand_block_clear, alpha_expand_zap_mask, print_operand):
11686 [HOST_BITS_PER_WIDE_INT < 64]: Remove dead code.
11687 (alpha_emit_set_const_1): Change "(HOST_WIDE_INT) 1" to
11688 HOST_WIDE_INT_1U.
11689 * config/alpha/predicates.md (mode_mask_operand): Do not match
11690 const_double RTX.
11691 [HOST_BITS_PER_WIDE_INT < 64]: Remove dead code.
11692 * config/alpha/alpha.md (abstf, *abstf_internal, UNSPEC_ZAP splitter):
11693 Change "(HOST_WIDE_INT) 1" to HOST_WIDE_INT_1U.
11694 [HOST_BITS_PER_WIDE_INT < 64]: Remove dead code.
11695 (*negtf_internal): Use gen_int_mode instead of immed_double_const.
11696
11697 2015-05-11 Jakub Jelinek <jakub@redhat.com>
11698
11699 PR target/65780
11700 * config/s390/linux.h (TARGET_BINDS_LOCAL_P): Define to
11701 default_binds_local_p_2.
11702 * config/arm/linux-elf.h (TARGET_BINDS_LOCAL_P): Likewise.
11703 * config/aarch64/aarch64-linux.h (TARGET_BINDS_LOCAL_P): Likewise.
11704
11705 2015-05-09 Jan Hubicka <hubicka@ucw.cz>
11706
11707 * tree.c (verify_type_variant): Check TYPE_VALUES_RAW and TYPE_PRECISION
11708
11709 2015-05-09 Jan Hubicka <hubicka@ucw.cz>
11710
11711 Patch by Richard Biener
11712 * coverage.c (coverage_obj_init): Delay building of type variant
11713 until the type is finished.
11714
11715 2015-05-09 Jan Hubicka <hubicka@ucw.cz>
11716
11717 * ipa-devirt.c (warn_types_mismatch): Do not ICE when warning about
11718 mismatch between C and C++ type; compoare correctly ARG_TYPES
11719 for non-prototypes and output correctly parameter index for METHOD_TYPE.
11720 (odr_types_equivalent_p): Fix wording of warning about attributes;
11721 it is OK to match prototype and non-prototype.
11722
11723 2015-05-09 Jan Hubicka <hubicka@ucw.cz>
11724
11725 * tree.c (free_lang_data_in_type): Free TREE_PURPOSE of
11726 TYPE_ARG_TYPES list.
11727 (verify_type): Permit non-NULL TREE_PURPOSE in non-LTO builds.
11728 * tree.def (FUNCTION_TYPE): Document TREE_PURPOSE in TYPE_ARG_TYPES
11729
11730 2015-05-09 Jan Hubicka <hubicka@ucw.cz>
11731
11732 * tree.c (verify_type): Verify TYPE_BINFO and TYPE_VALUES_RAW.
11733 * tree.h (is_lang_specific): Constify.
11734
11735 2015-05-09 Marc Glisse <marc.glisse@inria.fr>
11736
11737 PR tree-optimization/64454
11738 * tree-vrp.c (extract_range_from_binary_expr_1) <TRUNC_MOD_EXPR>:
11739 Rewrite.
11740
11741 2015-05-08 Jason Merrill <jason@redhat.com>
11742
11743 * bitmap.c, c/c-aux-info.c, cfg.c, cfghooks.c, cgraph.c,
11744 config/aarch64/aarch64.md config/alpha/vms.h, config/darwin.c,
11745 config/darwin.h, config/darwin9.h, config/elfos.h,
11746 config/i386/bsd.h, config/ia64/ia64.c, config/lm32/lm32.h,
11747 config/microblaze/microblaze.h, config/mips/mips.h,
11748 config/mmix/mmix.c, config/msp430/msp430.c, config/nios2/nios2.h,
11749 config/nvptx/nvptx.c, config/nvptx/nvptx.h, config/pa/pa.c,
11750 config/pa/pa.h, config/rs6000/rs6000.c, config/rs6000/sysv4.h,
11751 config/rs6000/xcoff.h, config/rx/rx.h, config/s390/s390.h,
11752 config/sparc/sol2.h, config/sparc/sparc.h, config/visium/visium.h,
11753 cppbuiltin.c, defaults.h, doc/invoke.texi, dwarf2cfi.c,
11754 dwarf2out.c, final.c, gcc.c, gcov-dump.c, gcov.c, ipa-cp.c,
11755 ipa-inline.c, ipa-polymorphic-call.c, ipa-profile.c, ipa-prop.c,
11756 ira-color.c, ira.c, loop-doloop.c, loop-iv.c, mcf.c,
11757 modulo-sched.c, predict.c, profile.c, stor-layout.c, toplev.c,
11758 tree-ssa-reassoc.c, value-prof.c, wide-int-print.cc: Add space
11759 between string literal and macro name.
11760
11761 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11762
11763 * jump.c: Change argument types to rtx_insn *.
11764 * rtl.h: Adjust.
11765
11766 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11767
11768 * lra-constraints.c: Change argument type to rtx_insn *.
11769
11770 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11771
11772 * df-problems.c: Change argument type to rtx_insn *.
11773
11774 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11775
11776 * combine.c: Change argument type to rtx_insn *.
11777
11778 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11779
11780 * rtl.h: Adjust.
11781 * rtlanal.c: Change argument type to rtx_insn *.
11782
11783 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11784
11785 * sched-deps.c: Change argument types to rtx_insn *.
11786 * sched-int.h: Adjust.
11787
11788 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11789
11790 * dwarf2cfi.c: Change argument type to rtx_insn *.
11791
11792 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11793
11794 * ira.c (decrease_live_ranges_number): Changetype of local
11795 variable to rtx_insn *.
11796 * recog.c: Change argument types to rtx_insn *.
11797 * recog.h: Adjust.
11798
11799 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11800
11801 * reorg.c: Change argument types to rtx_insn *.
11802
11803 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11804
11805 * ira-color.c: Change argument types to rtx_insn *.
11806 * lra-eliminations.c: Likewise.
11807 * ira.h: Adjust.
11808
11809 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11810
11811 * gcse.c: Change argument types to rtx_insn *.
11812
11813 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11814
11815 * cse.c (cse_change_cc0_mode): Change argument type to rtx_insn *.
11816
11817 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11818
11819 * emit-rtl.c (emit_debug_insn_before): Change argument type to
11820 rtx_insn *.
11821 * rtl.h: Adjust.
11822
11823 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11824
11825 * emit-rtl.c (emit_note_before): Change argument type to rtx_insn *.
11826 * rtl.h: Adjust.
11827
11828 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11829
11830 * emit-rtl.c (emit_note_after): Change argument type to rtx_insn *.
11831 * rtl.h: Adjust.
11832
11833 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11834
11835 * emit-rtl.c (prev_cc0_setter): Change argument type to rtx_insn *.
11836 * rtl.h: Adjust.
11837
11838 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11839
11840 * rtlanal.c (noop_move_p): Change argument type to rtx_insn *.
11841 * rtl.h: Adjust.
11842
11843 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11844
11845 * rtlanal.c (add_shallow_copy_of_reg_note): Change argument type
11846 to rtx_insn *.
11847 * rtl.h: Adjust.
11848
11849 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11850
11851 * rtlanal.c (remove_reg_equal_equiv_notes): Change argument type
11852 to rtx_insn *.
11853 * rtl.h: Likewise.
11854
11855 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11856
11857 * except.c (can_nonlocal_goto): Change type of argument to
11858 rtx_insn *.
11859 * rtl.h: Adjust.
11860
11861 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11862
11863 * rtlanal.c (computed_jump_p): Cange argument type to rtx_insn *.
11864 * rtl.h: Adjust.
11865
11866 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11867
11868 * rtlanal.c (in_insn_list_p): Renamed from in_expr_list_p.
11869 * cfgrtl.c (can_delete_label_p): Adjust.
11870 * rtl.h: likewise.
11871
11872 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11873
11874 * reorg.c (stop_search_p): Change argument to rtx_insn *.
11875
11876 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11877
11878 * except.c (make_reg_eh_region_note): Change argument to
11879 rtx_insn *.
11880 (make_reg_eh_region_note_nothrow_nononlocal): Likewise.
11881 * except.h: Adjust.
11882
11883 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11884
11885 * mode-switching.c (commit_mode_sets): Change type of local
11886 variable from rtx to rtx_insn *.
11887
11888 2015-05-08 Jim Wilson <jim.wilson@linaro.org>
11889
11890 * doc/install.texi (--enable-languages): Add missing jit and lto info.
11891 Add ^ to grep command.
11892 * doc/match-and-simplify.texi (GIMPLE API): Add missing fourth tree
11893 arg to last gimple_simplify declaration. Add missing gimple_build
11894 declaration for built-in function case with four tree args.
11895
11896 2015-05-08 Gregor Richards <gregor.richards@uwaterloo.ca>
11897 Szabolcs Nagy <szabolcs.nagy@arm.com>
11898
11899 * config/mips/linux.h (MUSL_DYNAMIC_LINKER32): Define.
11900 (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERN32): Define.
11901 (GNU_USER_DYNAMIC_LINKERN32): Update.
11902
11903 2015-05-08 Richard Biener <rguenther@suse.de>
11904
11905 PR tree-optimization/66036
11906 * tree-vect-data-refs.c (vect_compute_data_ref_alignment):
11907 Handle strided group loads.
11908 (vect_verify_datarefs_alignment): Likewise.
11909 (vect_enhance_data_refs_alignment): Likewise.
11910 (vect_analyze_group_access): Likewise.
11911 (vect_analyze_data_ref_access): Likewise.
11912 (vect_analyze_data_ref_accesses): Likewise.
11913 * tree-vect-stmts.c (vect_model_load_cost): Likewise.
11914 (vectorizable_load): Likewise.
11915
11916 2015-05-08 Segher Boessenkool <segher@kernel.crashing.org>
11917
11918 * config/rs6000/rs6000.md: Require operand inequality in one
11919 of the peepholes.
11920
11921 2015-05-08 Richard Sandiford <richard.sandiford@arm.com>
11922 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
11923
11924 * config/i386/i386.md (<mode>_ldx, *<mode>_ldx): Remove mode
11925 from (set ...).
11926 * config/rx/rx.md (movdi, movdf): Likewise.
11927 Likewise for define_peephole2s.
11928
11929 2015-05-08 Alan Lawrence <alan.lawrence@arm.com>
11930
11931 * config/aarch64/arm_neon.h (vceq_s64, vceq_u64, vceqz_s64, vceqz_u64,
11932 vcge_s64, vcge_u64, vcgez_s64, vcgt_s64, vcgt_u64, vcgtz_s64, vcle_s64,
11933 vcle_u64, vclez_s64, vclt_s64, vclt_u64, vcltz_s64, vtst_s64,
11934 vtst_u64): Rewrite using gcc vector extensions.
11935
11936 2015-05-08 Alan Lawrence <alan.lawrence@arm.com>
11937
11938 * config/aarch64/aarch64-simd.md (aarch64_vcond_internal<mode><mode>,
11939 vcond<mode><mode>, vcondu<mode><mode>): Add DImode variant.
11940
11941 2015-05-08 Alan Lawrence <alan.lawrence@arm.com>
11942
11943 * optabs.c (vector_compare_rtx): Handle RTL operands having VOIDmode.
11944
11945 2015-05-08 Szabolcs Nagy <szabolcs.nagy@arm.com>
11946
11947 * config/glibc-stdint.h (OPTION_MUSL): Define.
11948 (INT_FAST16_TYPE, INT_FAST32_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE):
11949 Change the definition based on OPTION_MUSL for 64 bit targets.
11950 * config/linux.h (OPTION_MUSL): Redefine.
11951 * config/alpha/linux.h (OPTION_MUSL): Redefine.
11952 * config/rs6000/linux.h (OPTION_MUSL): Redefine.
11953 * config/rs6000/linux64.h (OPTION_MUSL): Redefine.
11954
11955 2015-05-08 Gregor Richards <gregor.richards@uwaterloo.ca>
11956 Szabolcs Nagy <szabolcs.nagy@arm.com>
11957
11958 * config.gcc (LIBC_MUSL): New tm_defines macro.
11959 * config/linux.h (OPTION_MUSL): Define.
11960 (MUSL_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER32,)
11961 (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERX32,)
11962 (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
11963 (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
11964 (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
11965 * config/linux.opt (mmusl): New option.
11966 * doc/invoke.texi (GNU/Linux Options): Document -mmusl.
11967 * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
11968 (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.
11969 * configure: Regenerate.
11970
11971 2015-05-08 H.J. Lu <hongjiu.lu@intel.com>
11972 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
11973
11974 PR target/48904
11975 * config.gcc (x86_64-*-knetbsd*-gnu): Add i386/knetbsd-gnu64.h.
11976 * config/i386/knetbsd-gnu64.h: New file.
11977
11978 2015-05-08 Marek Polacek <polacek@redhat.com>
11979
11980 PR c/64918
11981 * doc/invoke.texi: Document -Woverride-init-side-effects.
11982
11983 2015-05-07 Marek Polacek <polacek@redhat.com>
11984
11985 PR c/65179
11986 * doc/invoke.texi: Document -Wshift-negative-value.
11987
11988 2015-05-06 Aditya Kumar <hiraditya@msn.com>
11989
11990 * gcov-tool.c (do_merge): Refactore to remove int ret.
11991 * ipa-icf.c (sem_item::hash_referenced_symbol_properties): Change
11992 !type == FUNC to type != FUNC.
11993 * reload.h (struct target_reload): Changee to type of
11994 x_spill_indirect_levels from bool to unsigned char.
11995
11996 2015-05-07 Richard Sandiford <richard.sandiford@arm.com>
11997
11998 * rtl.h (always_void_p): New function.
11999 * gengenrtl.c (always_void_p): Likewise.
12000 (genmacro): Don't add a mode parameter to gen_rtx_foo if rtxes
12001 with code foo are always VOIDmode.
12002 * genemit.c (gen_exp): Update gen_rtx_foo calls accordingly.
12003 * builtins.c, caller-save.c, calls.c, cfgexpand.c, combine.c,
12004 compare-elim.c, config/aarch64/aarch64.c,
12005 config/aarch64/aarch64.md, config/alpha/alpha.c,
12006 config/alpha/alpha.md, config/arc/arc.c, config/arc/arc.md,
12007 config/arm/arm-fixed.md, config/arm/arm.c, config/arm/arm.md,
12008 config/arm/ldrdstrd.md, config/arm/thumb2.md, config/arm/vfp.md,
12009 config/avr/avr.c, config/bfin/bfin.c, config/c6x/c6x.c,
12010 config/c6x/c6x.md, config/cr16/cr16.c, config/cris/cris.c,
12011 config/cris/cris.md, config/darwin.c, config/epiphany/epiphany.c,
12012 config/epiphany/epiphany.md, config/fr30/fr30.c, config/frv/frv.c,
12013 config/frv/frv.md, config/h8300/h8300.c, config/i386/i386.c,
12014 config/i386/i386.md, config/i386/sse.md, config/ia64/ia64.c,
12015 config/ia64/vect.md, config/iq2000/iq2000.c,
12016 config/iq2000/iq2000.md, config/lm32/lm32.c, config/lm32/lm32.md,
12017 config/m32c/m32c.c, config/m32r/m32r.c, config/m68k/m68k.c,
12018 config/m68k/m68k.md, config/mcore/mcore.c, config/mcore/mcore.md,
12019 config/mep/mep.c, config/microblaze/microblaze.c,
12020 config/mips/mips.c, config/mips/mips.md, config/mmix/mmix.c,
12021 config/mn10300/mn10300.c, config/msp430/msp430.c,
12022 config/nds32/nds32-memory-manipulation.c, config/nds32/nds32.c,
12023 config/nds32/nds32.md, config/nios2/nios2.c, config/nvptx/nvptx.c,
12024 config/pa/pa.c, config/pa/pa.md, config/rl78/rl78.c,
12025 config/rs6000/altivec.md, config/rs6000/rs6000.c,
12026 config/rs6000/rs6000.md, config/rs6000/vector.md,
12027 config/rs6000/vsx.md, config/rx/rx.c, config/rx/rx.md,
12028 config/s390/s390.c, config/s390/s390.md, config/sh/sh.c,
12029 config/sh/sh.md, config/sh/sh_treg_combine.cc,
12030 config/sparc/sparc.c, config/sparc/sparc.md, config/spu/spu.c,
12031 config/spu/spu.md, config/stormy16/stormy16.c,
12032 config/tilegx/tilegx.c, config/tilegx/tilegx.md,
12033 config/tilepro/tilepro.c, config/tilepro/tilepro.md,
12034 config/v850/v850.c, config/v850/v850.md, config/vax/vax.c,
12035 config/visium/visium.c, config/xtensa/xtensa.c, cprop.c, dse.c,
12036 expr.c, gcse.c, ifcvt.c, ira.c, jump.c, lower-subreg.c,
12037 lra-constraints.c, lra-eliminations.c, lra.c, postreload.c, ree.c,
12038 reg-stack.c, reload.c, reload1.c, reorg.c, sel-sched.c,
12039 var-tracking.c: Update calls accordingly.
12040
12041 2015-05-07 Segher Boessenkool <segher@kernel.crashing.org>
12042
12043 PR middle-end/192
12044 PR middle-end/54303
12045 * varasm.c (function_mergeable_rodata_prefix): New function.
12046 (mergeable_string_section): Use it.
12047 (mergeable_constant_section): Use it.
12048
12049 2015-05-07 Jeff Law <law@redhat.com>
12050
12051 PR target/39726
12052 * match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New
12053 simplifier to narrow arithmetic.
12054 * generic-match-head.c: (types_match, single_use): New functions.
12055 * gimple-match-head.c: (types_match, single_use): New functions.
12056
12057 2015-05-07 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
12058
12059 * combine.c (make_compound_operation): Remove checks for PLUS/MINUS
12060 rtx type.
12061
12062 2015-05-07 Richard Biener <rguenther@suse.de>
12063
12064 PR tree-optimization/66002
12065 * passes.def: Schedule another pass_merge_phi after ifcombine, right
12066 before phiopt.
12067
12068 2015-05-07 Marek Polacek <polacek@redhat.com>
12069 Martin Uecker <uecker@eecs.berkeley.edu>
12070
12071 * doc/invoke.texi: Document -fsanitize=bounds-strict.
12072 * flag-types.h (enum sanitize_code): Add SANITIZE_BOUNDS_STRICT, or it
12073 into SANITIZE_NONDEFAULT.
12074 * opts.c (common_handle_option): Handle -fsanitize=bounds-strict.
12075
12076 2015-05-07 Uros Bizjak <ubizjak@gmail.com>
12077
12078 PR target/66015
12079 * config/alpha/alpha.c (alpha_override_options_after_change): New.
12080 (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): New.
12081 (alpha_override_options): Move align_loops, align_jumps and
12082 align_functions handling into alpha_override_options_after_change.
12083
12084 2015-05-06 Sandra Loosemore <sandra@codesourcery.com>
12085 Chris Jones <chrisj@nvidia.com>
12086 Joshua Conner <jconner@nvidia.com>
12087
12088 * config/arm/unknown-elf.h (STARTFILE_SPEC): Add conditional
12089 linking of crtfastmath.o.
12090 * config/arm/linux-eabi.h (STARTFILE_SPEC): Likewise.
12091
12092 2015-05-06 Segher Boessenkool <segher@kernel.crashing.org>
12093
12094 * config/rs6000/rs6000.md (cstore<mode>4_signed_imm): New expander.
12095 (cstore<mode>4_unsigned_imm): New expander.
12096 (cstore<mode>4): Remove empty constraint strings. Use the new
12097 expanders.
12098
12099 2015-05-06 Yvan Roux <yvan.roux@linaro.org>
12100
12101 PR target/64208
12102 * config/arm/iwmmxt.md ("*iwmmxt_arm_movdi"): Cleanup redundant
12103 alternatives.
12104
12105 2015-05-06 Szabolcs Nagy <szabolcs.nagy@arm.com>
12106
12107 * config/aarch64/geniterators.sh: Use standard BRE in sed.
12108
12109 2015-05-06 Alan Modra <amodra@gmail.com>
12110
12111 PR target/66033
12112 * config/rs6000/rs6000.md (nop): Use an unspec pattern.
12113 (UNSPEC_NOP): Define.
12114 (reload_vsx_from_gpr<mode>): Add missing DONE.
12115 (reload_gpr_from_vsx<mode>): Likewise.
12116 * config/rs6000/vsx.md (vsx_mul_v2di): Likewise.
12117 (vsx_div_v2di, vsx_udiv_v2di): Likewise.
12118
12119 2015-05-06 Christian Bruel <christian.bruel@st.com>
12120
12121 PR target/66015
12122 * config/aarch64/aarch64.c (aarch64_override_options): Move align_loops,
12123 align_jumps, align_functions into aarch64_override_options_after_change.
12124
12125 2015-05-06 Richard Biener <rguenther@suse.de>
12126
12127 * tree-vect-slp.c (vect_supported_load_permutation_p): Use
12128 vect_transform_slp_perm_load to check if we support a permutation
12129 for basic-block vectorization.
12130
12131 2015-05-06 Nick Clifton <nickc@redhat.com>
12132
12133 * config/rl78/rl78.c (need_to_save): Save register 22 if it is
12134 used, even if it is not being used as a frame pointer.
12135
12136 2015-05-05 Jason Merrill <jason@redhat.com>
12137
12138 * dwarf2out.c (gen_member_die): Don't emit anything for an
12139 anonymous class constructor.
12140
12141 2015-05-05 David Malcolm <dmalcolm@redhat.com>
12142
12143 * auto-profile.c (afdo_find_equiv_class): Fix indentation so
12144 that it reflects the block structure.
12145 (afdo_propagate_edge): Likewise.
12146 (afdo_calculate_branch_prob): Likewise.
12147 (afdo_annotate_cfg): Likewise.
12148 * cfgcleanup.c (equal_different_set_p): Likewise.
12149 (try_crossjump_to_edge): Likewise.
12150 * cgraph.c (cgraph_node::verify_node): Likewise.
12151 * cgraphunit.c (expand_all_functions): Likewise.
12152 * config/i386/i386.c (ix86_expand_copysign): Likewise.
12153 (exact_dependency_1): Likewise.
12154 * dwarf2asm.c (dw2_output_indirect_constants): Likewise.
12155 * dwarf2out.c (tree_add_const_value_attribute_for_decl): Likewise.
12156 * gensupport.c (process_define_subst): Likewise.
12157 * lto-wrapper.c (merge_and_complain): Likewise.
12158 * tree-if-conv.c (if_convertible_bb_p): Likewise.
12159 * tree-ssa-loop-prefetch.c (find_or_create_group): Likewise.
12160 * tree-ssa-tail-merge.c (gsi_advance_fw_nondebug_nonlocal): Likewise.
12161 * tree-vect-data-refs.c (vect_grouped_load_supported): Likewise.
12162 * tree-vect-loop.c (vectorizable_reduction): Likewise.
12163 * tree-vect-slp.c (vect_transform_slp_perm_load): Likewise.
12164 * tree-vect-stmts.c (vectorizable_shift): Likewise.
12165 * tree-vrp.c (vrp_finalize): Likewise.
12166 * tree.c (variably_modified_type_p): Likewise.
12167
12168 2015-05-05 Jack Howarth <howarth.at.gcc@gmail.com>
12169
12170 * config.gcc: Use darwin9.h, darwin10.h and darwin12.h
12171 on darwin12 and later.
12172 * config/darwin12.h (LINK_GCC_C_SEQUENCE_SPEC): Add
12173 file to pass -rdynamic on darwin12 and later.
12174 * config/darwin.opt (rdynamic): Add.
12175
12176 2015-05-05 Uros Bizjak <ubizjak@gmail.com>
12177
12178 * doc/extend.texi (C Extensions): Update menu for moved Variable
12179 Attributes and Type Attributes sections.
12180
12181 2015-05-05 Uros Bizjak <ubizjak@gmail.com>
12182
12183 PR target/65990
12184 * config/i386/i386.c (ix86_parse_stringop_strategy_string): Error out
12185 if rep_8byte stringop strategy was specified for 32-bit target.
12186
12187 2015-05-05 Ilya Tocar <ilya.tocar@intel.com>
12188
12189 PR target/65915
12190 * config/i386/i386.md (vector convert to float spltiter): Check for
12191 xmm16+, when splitting scalar float conversion.
12192 * config/i386/sse.md (sse2_cvtsi2sd): Support EVEX version.
12193
12194 2015-05-05 Nick Clifton <nickc@redhat.com>
12195
12196 * config/msp430/msp430-opts.h (enum msp430_regions): New.
12197 * config/msp430/msp430.c (msp430_override_options): Complain if
12198 -mcode-region or -mdata-region is used on a non MSP430X.
12199 (msp430_section_attr): New function. Checks lower, upper and
12200 either attributes.
12201 (msp430_attribute_table): Add lower, upper and either.
12202 (gen_prefix): New function. Generates a prefix for a section
12203 name.
12204 (msp430_select_section): New function - handles the choice of
12205 section for an object. Takes into account memory region
12206 attributes and options.
12207 (msp430_function_section): Use gen_prefix.
12208 (TARGET_SECTION_TYPE_FLAGS): Define.
12209 (msp430_section_type_flags): New function.
12210 (TARGET_ASM_UNIQUE_SECTION): Define.
12211 (msp430_unique_section): New function.
12212 (msp430_output_aligned_decl_common): New function.
12213 (msp430_do_not_relax_short_jumps): New function.
12214 * config/msp430/msp430.h (USE_SELECT_SECTION_FOR_FUNCTIONS):
12215 Define.
12216 (ASM_OUTPUT_ALIGNED_DECL_COMMON): Define.
12217 * config/msp430/msp430-protos.h
12218 (msp430_do_not_relax_short_jumps): New prototype.
12219 (msp430_output_aligned_decl_common): New prototype.
12220 * config/msp430/msp430.md (length): New attribute.
12221 (cbranchhi4_real): If msp430_do_not_relax_short_jumps is true
12222 then use a long code sequence for short jumps.
12223 * config/msp430/msp430.opt (mcode-region): New.
12224 (mdata-region): New.
12225 * doc/invoke.texi: Document new options.
12226 * doc/extend.texi: Document new attributes.
12227
12228 2015-05-05 Matthew Wahab <matthew.wahab@arm.com>
12229
12230 * gcc/config/aarch64-protos.h (struct cpu_branch_cost): New.
12231 (tune_params): Add field branch_costs.
12232 (aarch64_branch_cost): Declare.
12233 * gcc/config/aarch64.c (generic_branch_cost): New.
12234 (generic_tunings): Set field cpu_branch_cost to generic_branch_cost.
12235 (cortexa53_tunings): Likewise.
12236 (cortexa57_tunings): Likewise.
12237 (thunderx_tunings): Likewise.
12238 (xgene1_tunings): Likewise.
12239 (aarch64_branch_cost): Define.
12240 * gcc/config/aarch64/aarch64.h (BRANCH_COST): Redefine.
12241
12242 2015-05-05 Uros Bizjak <ubizjak@gmail.com>
12243
12244 * config/i386/i386.c: Use HOST_WIDE_INT_1 instead of (HOST_WIDE_INT) 1
12245 and HOST_WIDE_INT_1U instead of (unsigned HOST_WIDE_INT) 1.
12246 * config/i386/i386.md: Ditto.
12247 * config/i386/winnt.c: Ditto.
12248
12249 2015-05-05 Matthew Wahab <matthew.wahab@arm.com>
12250
12251 * doc/extend.texi (__atomic Builtins): Move implementation details
12252 to the end of the description, rewrite opening paragraphs, state
12253 difference with __sync builtins, state C11/C++11 assumptions,
12254 weaken itemized descriptions, add explanation of memory model
12255 behaviour, expand description of compare-exchange, simplify text.
12256
12257 2015-05-05 Renlin Li <renlin.li@arm.com>
12258
12259 * config/aarch64/aarch64.md (add<mode>3): Use mov when allowed.
12260
12261 2015-05-05 Yvan Roux <yvan.roux@linaro.org>
12262
12263 * config/aarch64/aarch64-elf-raw.h (CA53_ERR_843419_SPEC): Define.
12264 (LINK_SPEC): Include CA53_ERR_843419_SPEC.
12265 * config/aarch64/aarch64-linux.h (CA53_ERR_843419_SPEC): Define.
12266 (LINK_SPEC): Include CA53_ERR_843419_SPEC.
12267 * config/aarch64/aarch64.opt (mfix-cortex-a53-843419): New option.
12268 * configure: Regenerate.
12269 * configure.ac: Add --enable-fix-cortex-a53-843419 option.
12270 * doc/install.texi (aarch64*-*-*): Document new
12271 --enable-fix-cortex-a53-843419 option.
12272 * doc/invoke.texi (AArch64 Options): Document -mfix-cortex-a53-843419
12273 and -mno-fix-cortex-a53-843419 options.
12274
12275 2015-05-05 Uros Bizjak <ubizjak@gmail.com>
12276
12277 PR target/65871
12278 * config/i386/i386.md (*bmi_andn_<mode>_ccno): New pattern.
12279
12280 2015-05-04 Jan Hubicka <hubicka@ucw.cz>
12281
12282 * tree.c (verify_type): Check various uses of TYPE_MAXVAL;
12283 fix overactive TYPE_MIN_VALUE check and add FIXME for type
12284 compatibility problems.
12285
12286 2015-05-04 Ajit Agarwal <ajitkum@xilinx.com>
12287
12288 * config/microblaze/microblaze.md (cbranchsi4): Added immediate
12289 constraints.
12290 (cbranchsi4_reg): New.
12291 * config/microblaze/microblaze.c
12292 (microblaze_expand_conditional_branch_reg): New.
12293 * config/microblaze/microblaze-protos.h
12294 (microblaze_expand_conditional_branch_reg): New prototype.
12295
12296 2015-05-04 Ajit Agarwal <ajitkum@xilinx.com>
12297
12298 * config/microblaze/microblaze.md (peephole2): New.
12299
12300 2015-05-04 Jeff Law <law@redhat.com>
12301
12302 Revert:
12303 2015-05-04 Jeff Law <law@redhat.com>
12304
12305 * match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New
12306 simplifier to narrow arithmetic.
12307 * generic-match-head.c: (types_match, single_use): New functions.
12308 * gimple-match-head.c: (types_match, single_use): New functions.
12309
12310 2015-05-04 Kaz Kojima <kkojima@gcc.gnu.org>
12311
12312 PR target/65987
12313 * config/sh/sh.c (output_far_jump): Take into account crossing jumps.
12314 (split_branches): Likewise.
12315
12316 2015-05-04 Sandra Loosemore <sandra@codesourcery.com>
12317
12318 * common.opt (fdelete-null-pointer-checks): Init to -1.
12319 * config/nios2/elf.h (SUBTARGET_OVERRIDE_OPTIONS): Define to
12320 override flag_delete_null_pointer_checks default.
12321 * doc/invoke.texi (-fdelete-null-pointer-checks): Clarify
12322 behavior re address zero. Better document target-specific behavior.
12323 (-fisolate-errneous-paths-dereference): Mention relationship to
12324 -fdelete-null-pointer-checks.
12325
12326 2015-05-04 Jakub Jelinek <jakub@redhat.com>
12327
12328 PR tree-optimization/65984
12329 * ubsan.c: Include tree-cfg.h.
12330 (instrument_bool_enum_load): Use stmt_ends_bb_p instead of
12331 stmt_could_throw_p test, rename can_throw variable to ends_bb.
12332
12333 2015-05-04 Uros Bizjak <ubizjak@gmail.com>
12334
12335 * config/i386/i386.c: Change GET_CODE (...) == CONST_DOUBLE check
12336 to CONST_DOUBLE_P predicate.
12337 (standard_sse_constant_p): Return 0 for !TARGET_SSE.
12338 (ix86_legitimate_constant_p) <case CONST_WIDE_INT>: For 32bit targets,
12339 allow only operands that satisfy standard_sse_constant_p predicate.
12340 * config/i386/i386.md: Change GET_CODE (...) == CONST_DOUBLE check
12341 to CONST_DOUBLE_P predicate.
12342
12343 2015-05-04 Jeff Law <law@redhat.com>
12344
12345 * match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New
12346 simplifier to narrow arithmetic.
12347 * generic-match-head.c: (types_match, single_use): New functions.
12348 * gimple-match-head.c: (types_match, single_use): New functions.
12349
12350 2015-05-04 Andreas Tobler <andreast@gcc.gnu.org>
12351
12352 * config/arm/arm.c: Restore bootstrap.
12353
12354 2015-05-04 Uros Bizjak <ubizjak@gmail.com>
12355
12356 * config/i386/i386.h (TARGET_SUPPORTS_WIDE_INT): New define.
12357 * config/i386/i386.c (ix86_legitimate_constant_p): Handle TImode
12358 as CONST_WIDE_INT, not CONST_DOUBLE.
12359 (ix86_cannot_force_const_mem): Handle CONST_WIDE_INT.
12360 (output_pic_addr_const): Do not handle VOIDmode CONST_DOUBLEs.
12361 (ix86_find_base_term): Do not check for CONST_DOUBLE.
12362 (ix86_print_operand): Do not handle non-FPmode CONST_DOUBLEs.
12363 (ix86_build_signbit_mask): Rewrite using wide ints.
12364 (ix86_split_to_parts) [HOST_BITS_PER_WIDE_INT < 64]: Remove.
12365 (ix86_rtx_costs): Handle CONST_WIDE_INT.
12366 (find_constant): Ditto.
12367 * config/i386/i386.md (bts, btr, btc peepholes): Rewrite
12368 using gen_int_mode.
12369 * config/i386/predicates.md (x86_64_immediate_operand)
12370 <case CONST_INT>: Remove HOST_BITS_PER_WIDE_INT == 32 code.
12371 (x86_64_zext_immediate_operand): Remove CONST_DOUBLE handling.
12372 <case CONST_INT>: Remove HOST_BITS_PER_WIDE_INT == 32 code.
12373 (const0_operand): Also match const_wide_int.
12374 (constm1_operand): Ditto.
12375 (const1_operand): Ditto.
12376
12377 2015-05-04 Richard Biener <rguenther@suse.de>
12378
12379 PR tree-optimization/65965
12380 * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Split
12381 store groups at gaps.
12382
12383 2015-05-04 Richard Biener <rguenther@suse.de>
12384
12385 PR tree-optimization/65935
12386 * tree-vect-slp.c (vect_build_slp_tree): If we swapped operands
12387 then make sure to apply that swapping to the IL.
12388
12389 2015-05-04 Jakub Jelinek <jakub@redhat.com>
12390
12391 * Makefile.in (PATCHLEVEL_c): New variable.
12392 (DATESTAMP_s, REVISION_s): If PATCHLEVEL_c is not 0,
12393 expand the same way as if DEVPHASE_c was non-empty.
12394
12395 2015-05-04 Kai Tietz <ktietz@redhat.com>
12396
12397 PR target/65559
12398 * lto-wrapper.c (run_gcc): Open filename
12399 in binary-mode.
12400
12401 2015-05-03 Sandra Loosemore <sandra@codesourcery.com>
12402
12403 * doc/extend.texi (Variable Attributes, Type Attributes): Move
12404 sections up in file, to immediately after the Function Attributes
12405 section.
12406
12407 2015-05-02 Jan Hubicka <hubicka@ucw.cz>
12408
12409 * tree.c (verify_type): Check various uses of TYPE_MINVAL.
12410
12411 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12412
12413 * tree-outof-ssa.c (emit_partition_copy): Return rtx_insn *.
12414 (insert_partition_copy_on_edge): Adjust.
12415 (insert_rtx_to_part_on_edge): Likewise.
12416 (insert_part_to_rtx_on_edge): Likewise.
12417
12418 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12419
12420 * function.c (set_return_jump_label): Change type of argument to
12421 rtx_insn *.
12422 * function.h (set_return_jump_label): Adjust.
12423
12424 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12425
12426 * reload.h (struct reg_equivs_t): Change type of init to
12427 rtx_insn *.
12428 * ira.c (fix_reg_equiv_init): Adjust.
12429 * reload1.c (eliminate_regs_1): Likewise.
12430 (init_eliminable_invariants): Likewise.
12431
12432 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12433
12434 * cselib.c (fp_setter_insn): Take a rtx_insn *.
12435 * cselib.h (fp_setter_insn): Adjust.
12436
12437 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12438
12439 * recog.c (struct validate_replace_src_data): Change type of
12440 insn field to rtx_insn *.
12441 (validate_replace_src_group): Change type of argument to rtx_insn *.
12442 * recog.h (validate_replace_src_group): Adjust.
12443
12444 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12445
12446 * haifa-sched.c: Change the type of some variables to rtx_insn *.
12447 * sched-deps.c: Likewise.
12448 * sched-int.h: Likewise.
12449 * sched-rgn.c: Likewise.
12450 * sel-sched.c: Likewise.
12451
12452 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12453
12454 to rtx_insn *.
12455 * config/i386/i386.c: Change the type of some arguments to
12456 rtx_insn *.
12457 * config/arm/arm.c: Likewise.
12458
12459 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12460
12461 * lra-constraints.c: Change type of some arguments to rtx_insn *.
12462
12463 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12464
12465 * regcprop.c (kill_autoinc_value): Change type of argument to
12466 rtx_insn *.
12467
12468 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12469
12470 * genrecog.c (print_subroutine): Adjust.
12471 * recog.c (get_bool_attr_mask_uncached): Likewise.
12472 * recog.h (struct recog_data_d): Change the type of insn to
12473 rtx_insn *.
12474
12475 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12476
12477 * dwarf2cfi.c (add_cfi_insn): Change type to rtx_insn *.
12478
12479 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12480
12481 * df-problems.c (df_set_note): Change type of argument to
12482 rtx_insn *.
12483
12484 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12485
12486 * builtins.c (expand_builtin_trap): Change type of local
12487 variable to rtx_insn *.
12488 (add_sched_insns_for_speculation): Likewise.
12489 (ix86_emit_save_regs): Likewise.
12490 (get_scratch_register_on_entry): Likewise.
12491 (ix86_emit_restore_reg_using_pop): Likewise.
12492 (ix86_emit_leave): Likewise.
12493 (ix86_emit_restore_regs_using_mov): Likewise.
12494 (ix86_expand_epilogue): Likewise.
12495 Likewise.
12496 (rl78_alloc_physical_registers_umul): Likewise.
12497 * cselib.c (discard_useless_locs): Likewise.
12498 (cselib_invalidate_regno): Likewise.
12499 (cselib_invalidate_mem): Likewise.
12500 * function.c (expand_function_start): Likewise.
12501 (emit_use_return_register_into_block): Likewise.
12502 * gcse.c: Likewise.
12503 * haifa-sched.c (ok_for_early_queue_removal): Likewise.
12504 * ifcvt.c (noce_get_alt_condition): Likewise.
12505 * loop-doloop.c (doloop_condition_get): Likewise.
12506 * lra-constraints.c (inherit_in_ebb): Likewise.
12507 * modulo-sched.c (sms_schedule_by_order): Likewise.
12508 * recog.c (next_insn_tests_no_inequality): Likewise.
12509 * reorg.c (emit_delay_sequence): Likewise.
12510 (update_reg_dead_notes): Likewise.
12511 (fix_reg_dead_note): Likewise.
12512 (fill_slots_from_thread): Likewise.
12513 (delete_computation): Likewise.
12514
12515 2015-05-01 Sandra Loosemore <sandra@codesourcery.com>
12516
12517 * doc/extend.texi (Variable Attributes): Add menu and proper
12518 @nodes to subsections. Move Microsoft Windows attributes to
12519 their own subsection.
12520 (Type Attributes): Reorganize introduction to remove duplicate
12521 list of attributes. Add menu and proper @nodes to subsections.
12522 Alphabetize the main table of common attributes.
12523
12524 2015-05-01 Rasmus Villemoes <rv@rasmusvillemoes.dk>
12525
12526 * match.pd: New simplification patterns.
12527 (x + (x & 1)) -> ((x + 1) & ~1)
12528 (x & ~(x & y)) -> ((x & ~y))
12529 (x | ~(x | y)) -> ((x | ~y))
12530
12531 2015-05-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12532
12533 * target.def (attribute_table): Mention that struct attribute_spec
12534 is defined in tree-core.h rather than tree.h
12535 * doc/tm.texi: Regenerate.
12536
12537 2015-05-01 Richard Sandiford <richard.sandiford@arm.com>
12538
12539 * genrecog.c (test): Rename to rtx_test. Update rest of file
12540 accordingly.
12541
12542 2015-05-01 Andreas Schwab <schwab@linux-m68k.org>
12543
12544 PR translation/65959
12545 * params.h (DEFPARAM): Rename msgid to nocmsgid.
12546
12547 2015-05-01 Wilco Dijkstra <wdijkstr@arm.com>
12548
12549 * gcc/config/aarch64/aarch64-protos.h (tune_params):
12550 Add min_div_recip_mul_sf and min_div_recip_mul_df fields.
12551 * gcc/config/aarch64/aarch64.c (aarch64_min_divisions_for_recip_mul):
12552 Return value depending on target.
12553 (generic_tunings): Initialize new target settings.
12554 (cortexa53_tunings): Likewise.
12555 (cortexa57_tunings): Likewise.
12556 (thunderx_tunings): Likewise.
12557 (xgene1_tunings): Likewise.
12558
12559 2015-05-01 Wilco Dijkstra <wdijkstr@arm.com>
12560
12561 * gcc/config/arm/aarch-cost-tables.h (cortexa53_extra_costs):
12562 Make Cortex-A53 shift costs more accurate.
12563
12564 2015-05-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12565
12566 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle FLOAT and
12567 UNSIGNED_FLOAT.
12568
12569 2015-05-01 Wilco Dijkstra <wdijkstr@arm.com>
12570
12571 * gcc/config/aarch64/aarch64.c (aarch64_rtx_costs):
12572 Calculate cost of op0 and op1 in PLUS and MINUS cases.
12573
12574 2015-05-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12575
12576 * config/aarch64/aarch64.c (aarch64_rtx_costs, COMPARE case):
12577 Add cost of op0 in the compare-with-fpzero case.
12578
12579 2015-04-30 David Malcolm <dmalcolm@redhat.com>
12580
12581 * builtins.c (fold_builtin_1): Remove spurious second
12582 semicolon.
12583 * cgraph.h (symtab_node::get_availability): Likewise.
12584 * opts.c (common_handle_option): Remove spurious second semicolon.
12585 * tree-ssa-loop-ivopts.c (extract_cond_operands): Likewise.
12586 * tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Likewise.
12587
12588 2015-04-30 Caroline Tice <cmtice@google.com>
12589
12590 PR gcov-profile/65929
12591 * config/elfos.h (ASM_DECLARE_COLD_FUNCTION_NAME): New macro definition.
12592 (ASM_DECLARE_COLD_FUNCTION_SIZE): New macro definition.
12593 * doc/tm.texi.in (ASM_DECLARE_COLD_FUNCTION_NAME): Document new macro.
12594 (ASM_DECLARE_COLD_FUNCTION_SIZE): Document new macro.
12595 * doc/tm.texi: Regenerate.
12596 * final.c (final_scan_insn): Use ASM_DECLARE_COLD_FUNCTION_NAME
12597 instead of ASM_DECLARE_FUNCTION_NAME for cold partition name.
12598 * varasm.c (assemble_end_function): Use ASM_DECLARE_COLD_FUNCTION_SIZE
12599 instead of ASM_DECLARE_FUNCTION_SIZE for cold partition size.
12600
12601 2015-04-30 Marek Polacek <polacek@redhat.com>
12602
12603 * varasm.c (handle_cache_entry): Fix logic.
12604
12605 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12606
12607 * config/aarch64/aarch64.md (*extr<mode>5_insn_alt): New pattern.
12608 (*extrsi5_insn_uxtw_alt): Likewise.
12609 * config/aarch64/aarch64.c (aarch64_extr_rtx_p): New function.
12610 (aarch64_rtx_costs, IOR case): Use above to properly cost extr
12611 operations.
12612
12613 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12614
12615 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle pattern for
12616 fabd in ABS case.
12617
12618 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12619
12620 * config/aarch64/aarch64.md
12621 (*eor_one_cmpl_<SHIFT:optab><mode>3_alt): New pattern.
12622 (*eor_one_cmpl_<SHIFT:optab>sidi3_alt_ze): Likewise.
12623 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle MVN-shift
12624 appropriately. Handle alternative EON form.
12625
12626 2015-04-30 Renlin Li <renlin.li@arm.com>
12627
12628 * config/aarch64/aarch64-simd.md (vec_shr): Defined as an unspec.
12629 * config/aarch64/iterators.md (unspec): Add UNSPEC_VEC_SHR.
12630
12631 2015-04-30 Jan Hubicka <hubicka@ucw.cz>
12632
12633 PR ipa/65873
12634 * ipa-inline.c (can_inline_edge_p): It is safe to inline across
12635 -fstrict-aliasing boundaries.
12636
12637 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12638
12639 * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Handle MNEG
12640 and [SU]MNEGL patterns.
12641
12642 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12643
12644 * config/aarch64/aarch64.c (aarch64_shift_p): New function.
12645 (aarch64_rtx_mult_cost): Update comment to reflect that it also handles
12646 combined arithmetic-shift ops. Properly handle all shift and extend
12647 operations that can occur in combination with PLUS/MINUS.
12648 Rename maybe_fma to compound_p.
12649 (aarch64_rtx_costs): Use aarch64_shift_p when costing compound
12650 arithmetic and shift operations.
12651
12652 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12653
12654 * config/aarch64/aarch64.c (aarch64_rtx_costs): Use extend_arith
12655 rather than arith_shift cost when costing ADD/MINUS of an
12656 extended value.
12657
12658 2015-04-30 Jan Hubicka <hubicka@ucw.cz>
12659
12660 PR lto/65948
12661 * ipa-devirt.c (odr_types_equivalent_p): NULLPTR_TYPE is equivalent
12662 to itself.
12663
12664 2015-04-30 Richard Sandiford <richard.sandiford@arm.com>
12665
12666 * genrecog.c (simplify_tests): Check that CONST_INT and XWINT tests
12667 are for the same position.
12668
12669 2015-04-29 Aditya Kumar <hiraditya@hotmail.com>
12670
12671 * tree-vectorizer.c (set_uid_loop_bbs): New. Factored out of
12672 vectorize_loops.
12673 (vectorize_loops): Use it.
12674
12675 2015-04-29 Jan Hubicka <hubicka@ucw.cz>
12676
12677 * ipa-devirt.c (odr_subtypes_equivalent_p): Compare TYPE_NAME only
12678 for aggregate types.
12679 (register_odr_type): Be ready for MAIN_VARIANT of ODR type
12680 type to be non_ODR.
12681 * tree.c (need_assembler_name_p): Compute mangled name for
12682 non-fundamental types and integer types.
12683
12684 2015-04-29 Mikhail Maltsev <maltsevm@gmail.com>
12685
12686 * dojump.c (do_compare_rtx_and_jump): Use std::swap instead of
12687 manual swaps.
12688 * expr.c (expand_expr_real_2): Likewise.
12689
12690 2015-04-29 Jan Hubicka <hubicka@ucw.cz>
12691
12692 * tree.c (build_common_builtin_nodes): Do not build
12693 __builtin_alloca_with_align as equivalent of library alloca.
12694
12695 2015-04-29 Jan Hubicka <hubicka@ucw.cz>
12696
12697 * dwarf2out.c (gen_type_die_with_usage): Call verify_type.
12698 * ipa-chkp.c (chkp_copy_function_type_adding_bounds): Do not produce
12699 bugus variants.
12700 * tree.c: Include print-tree.h and ipa-utils.h
12701 (free_lang_data_in_type): Clear TYPE_VFIELD leaked by C FE.
12702 (free_lang_data_in_cgraph): Call verify_type.
12703 (verify_type_variant): New function.
12704 (verify_type): New function.
12705 * tree.h (verify_type): Declare.
12706
12707 2015-04-29 Steve Ellcey <sellcey@imgtec.com>
12708
12709 * config/mips/mips-cpus.def: (mips4): Change default processor
12710 from PROCESSOR_R8000 to PROCESSOR_R10000.
12711
12712 2015-04-29 Petar Jovanovic <petar.jovanovic@rt-rk.com>
12713
12714 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Fix the macro to use
12715 la/jalr instead of jal.
12716
12717 2015-04-29 Uros Bizjak <ubizjak@gmail.com>
12718
12719 PR target/65871
12720 * config/i386/i386.md (*bmi_bextr_<mode>_ccz): New pattern.
12721 (*bmi2_bzhi_<mode>3_1_ccz): Ditto.
12722 (setcc+movzbl peephole2): Check also clobbered reg.
12723 (setcc+andl peephole2): Ditto.
12724
12725 2015-04-29 Thomas Schwinge <thomas@codesourcery.com>
12726
12727 PR libgomp/65099
12728 * config/nvptx/mkoffload.c (target_ilp32): New variable.
12729 (main): Set it depending on "-foffload-abi=[...]".
12730 (compile_native, main): Use it to pass "-m32" or "-m64" to the
12731 compiler.
12732
12733 2015-04-29 Alan Lawrence <alan.lawrence@arm.com>
12734
12735 PR target/65770
12736 * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>,
12737 vec_store_lanesci_lane<mode>, vec_store_lanesxi_lane<mode>):
12738 Flip lane index back at assembly time for bigendian.
12739
12740 2015-04-29 Thomas Schwinge <thomas@codesourcery.com>
12741
12742 * tree.h (OMP_STANDALONE_CLAUSES): New macro.
12743 * gimplify.c (gimplify_omp_workshare): Use it.
12744
12745 2015-04-29 Richard Sandiford <richard.sandiford@arm.com>
12746
12747 * Makefile.in (build/genrecog.o): Depend on inchash.h.
12748 (build/genrecog$(build_exeext): Depend on build/hash-table.o and
12749 build/inchash.o
12750 * genrecog.c: Rewrite most of the code except for the third page.
12751
12752 2015-04-29 Richard Sandiford <richard.sandiford@arm.com>
12753
12754 * inchash.h, inchash.c: Include bconfig.h for build objects.
12755 * Makefile.in (build/inchash.o): New rule.
12756
12757 2015-04-29 Yvan Roux <yvan.roux@linaro.org>
12758
12759 PR target/65924
12760 * config/arm/thumb2.md (*thumb2_addsi3_compare0_scratch): Fix operand
12761 number in type attribute expression.
12762
12763 2015-04-29 Richard Sandiford <richard.sandiford@arm.com>
12764
12765 * loop-iv.c (canon_condition): Generalize to all types of integer
12766 constant.
12767
12768 2015-04-29 Bernhard Reuther-Fischer <aldot@gcc.gnu.org>
12769
12770 * gimple-walk.c: Prune duplicate or unneeded includes.
12771 (walk_gimple_asm): Only call parse_input_constraint or
12772 parse_output_constraint if their findings are used.
12773 Honour parse_input_constraint and parse_output_constraint
12774 result.
12775
12776 2015-04-29 Alan Lawrence <alan.lawrence@arm.com>
12777
12778 * config/arm/neon.md (vec_shl<mode>, vec_shr<mode>): Remove.
12779
12780 2015-04-29 Tom de Vries <tom@codesourcery.com>
12781
12782 PR tree-optimization/65893
12783 * passes.def (pass_all_optimizations): Move pass_stdarg to after
12784 pass_dce.
12785
12786 2015-04-29 Richard Biener <rguenther@suse.de>
12787
12788 * tree-vect-data-refs.c (vect_analyze_group_access): Properly
12789 compute GROUP_SIZE for basic-block SLP.
12790 * tree-vect-slp.c (vect_get_place_in_interleaving_chain): Properly
12791 take into account gaps.
12792 (vect_get_mask_element): Properly reject references to previous
12793 vectors.
12794 (vect_transform_slp_perm_load): Likewise.
12795
12796 2015-04-29 Christian Bruel <christian.bruel@st.com>
12797
12798 PR target/64835
12799 * config/i386/i386.c (ix86_default_align): New function.
12800 (ix86_override_options_after_change): Call ix86_default_align.
12801 (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): New hook.
12802 (ix86_override_options_after_change): New function.
12803
12804 2015-04-28 Jeff Law <law@redhat.com>
12805
12806 * tree-ssa-dom.c (record_equality); Fix comment typos.
12807
12808 2015-04-28 Tom de Vries <tom@codesourcery.com>
12809
12810 PR tree-optimization/65887
12811 * gimplify.c (gimplify_modify_expr): Remove ifn_va_arg ap fixup.
12812
12813 2015-04-28 Sandra Loosemore <sandra@codesourcery.com>
12814
12815 * doc/extend.texi (Declaring Attributes of Functions): Split into
12816 subsections by target. Alphabetize the table of common attributes.
12817 Rewrite some of the introductory text to reflect the new structure.
12818 Update some cross-references to point to the new subsections.
12819 (Attribute Syntax): Put paragraph about "__" naming here. Remove
12820 duplicate copies in the discussion of function, label, and type
12821 attributes.
12822
12823 2015-04-28 Dominique d'Humieres <dominiq@lps.ens.fr>
12824
12825 PR bootstrap/65910
12826 * varasm.c (assemble_end_function): Guard ASM_DECLARE_FUNCTION_SIZE.
12827
12828 2015-04-28 Jason Merrill <jason@redhat.com>
12829
12830 PR c++/65734
12831 * stor-layout.c (layout_type): Layout the TYPE_MAIN_VARIANT.
12832 (finalize_type_size): Respect TYPE_USER_ALIGN.
12833 (layout_type) [ARRAY_TYPE]: Likewise.
12834
12835 2015-04-28 Yvan Roux <yvan.roux@linaro.org>
12836
12837 * config/arm/arm.md (*arm_movt): Fix type attribute.
12838 (*cmpsi_shiftsi): Likewise.
12839 (*cmpsi_shiftsi_swp): Likewise.
12840 (*movsicc_insn): Likewise.
12841 (*cond_move): Likewise.
12842 (*if_plus_move): Likewise.
12843 (*if_move_plus): Likewise.
12844 (*if_arith_move): Likewise.
12845 (*if_move_arith): Likewise.
12846 (*if_shift_move): Likewise.
12847 (*if_move_shift): Likewise.
12848 (*arm_movtas_ze): Likewise.
12849 * config/arm/thumb2.md (*thumb2_movsicc_insn): Fix alternative
12850 redundancy and type attribute.
12851 (*thumb2_movsi_insn): Fix type attribute.
12852 (*thumb2_addsi_short): Likewise.
12853 (thumb2_addsi3_compare0): Likewise.
12854 (*thumb2_addsi3_compare0_scratch): Merge alternatives and fix
12855 attributes accordingly.
12856
12857 2015-04-28 Markus Trippelsdorf <markus@trippelsdorf.de>
12858
12859 PR other/65911
12860 * function.c (pad_to_arg_alignment): Add parentheses.
12861
12862 2015-04-28 Uros Bizjak <ubizjak@gmail.com>
12863
12864 * config/frv/frv.h (CRT_GET_RFIB_DATA): Move definition to
12865 libgcc/config/frv/elf-lib.h.
12866
12867 2015-04-28 Tom de Vries <tom@codesourcery.com>
12868
12869 * tree-call-cdce.c: Fix example in header comment.
12870
12871 2015-04-28 Richard Biener <rguenther@suse.de>
12872
12873 PR tree-optimization/62283
12874 * tree-vect-slp.c (vect_build_slp_tree): When the SLP build
12875 fails fatally and we are vectorizing a basic-block simply
12876 cause the child to be constructed piecewise.
12877 (vect_analyze_slp_cost_1): Adjust.
12878 (vect_detect_hybrid_slp_stmts): Likewise.
12879 (vect_bb_slp_scalar_cost): Likewise.
12880 (vect_get_constant_vectors): For piecewise constructed
12881 constants place them after the last def.
12882 (vect_get_slp_defs): Adjust.
12883 * tree-vect-stmts.c (vect_is_simple_use): Detect in-BB
12884 externals for basic-block vectorization.
12885
12886 2015-04-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
12887
12888 PR target/63503
12889 * config.gcc: Add cortex-a57-fma-steering.o to extra_objs for
12890 aarch64-*-*.
12891 * config/aarch64/t-aarch64: Add a rule for cortex-a57-fma-steering.o.
12892 * config/aarch64/aarch64.h (AARCH64_FL_USE_FMA_STEERING_PASS): Define.
12893 (AARCH64_TUNE_FMA_STEERING): Likewise.
12894 * config/aarch64/aarch64-cores.def: Set
12895 AARCH64_FL_USE_FMA_STEERING_PASS for cores with dynamic steering of
12896 FMUL/FMADD instructions.
12897 * config/aarch64/aarch64.c (aarch64_register_fma_steering): Declare.
12898 (aarch64_override_options): Include cortex-a57-fma-steering.h. Call
12899 aarch64_register_fma_steering () if AARCH64_TUNE_FMA_STEERING is true.
12900 * config/aarch64/cortex-a57-fma-steering.h: New file.
12901 * config/aarch64/cortex-a57-fma-steering.c: Likewise.
12902
12903 2015-04-28 Richard Sandiford <richard.sandiford@arm.com>
12904
12905 * gensupport.c (std_preds): Add missing codes to address_operand entry.
12906
12907 2015-04-28 Richard Biener <rguenther@suse.de>
12908
12909 PR tree-optimization/65851
12910 * tree-ssa-ccp.c (set_lattice_value): Perform a meet when
12911 changing CONSTANT to CONSTANT non-copy. Get new_val by reference.
12912 (ccp_lattice_meet): Remove stray argument. Use operand_equal_p
12913 rather than simple_cst_equal as the latter doesn't handle COMPLEX_CST.
12914 (ccp_visit_phi_node): Adjust.
12915 (evaluate_stmt): For simplifications to SSA names return its
12916 lattice value if that isn't VARYING. Return immediately when
12917 simplified to a constant.
12918 (visit_assignment): Adjust.
12919 (ccp_visit_stmt): Likewise.
12920
12921 2015-04-28 Tom de Vries <tom@codesourcery.com>
12922
12923 PR tree-optimization/65818
12924 * tree-stdarg.c (expand_ifn_va_arg_1): Ensure that side-effects are
12925 evaluated.
12926
12927 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12928
12929 * calls.c (save_fixed_argument_area): Don't check
12930 ARGS_GROW_DOWNWARD with the preprocessor.
12931 (restore_fixed_argument_area): Likewise.
12932 (mem_overlaps_already_clobbered_arg_p): Likewise.
12933 (check_sibcall_argument_overlap): Likewise.
12934 (expand_call): Likewise.
12935 (emit_library_call_value_1): Likewise.
12936 (store_one_arg): Likewise.
12937 * function.c (assign_parms): Likewise.
12938 (locate_and_pad_parm): Likewise.
12939 (pad_to_arg_alignment): Likewise.
12940 * targhooks.c (std_gimplify_va_arg_expr): Likewise.
12941
12942 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12943
12944 * config/pa/pa.h (ARGS_GROW_DOWNWARD): Define to 1.
12945 * defaults.h (ARGS_GROW_DOWNWARD): Define it to 0 by default.
12946 * calls.c (save_fixed_argument_area): Don't chekc if
12947 ARGS_GROW_DOWNWARD is defined.
12948 (restore_fixed_argument_area): Likewise.
12949 (mem_overlaps_already_clobbered_arg_p): Likewise.
12950 (check_sibcall_argument_overlap): Likewise.
12951 (expand_call): Likewise.
12952 (emit_library_call_value_1): Likewise.
12953 (store_one_arg): Likewise.
12954 * function.c (assign_parms): Likewise.
12955 (locate_and_pad_parm): Likewise.
12956 (pad_to_arg_alignment): Likewise.
12957 * targhooks.c (std_gimplify_va_arg_expr): Likewise.
12958
12959 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12960
12961 * defaults.h (gen_epilogue): New function.
12962 * alias.c (init_alias_analysis): don't check if HAVE_epilogue is
12963 defined.
12964 * cfgrtl.c (cfg_layout_finalize): Likewise.
12965 * df-scan.c: Likewise.
12966 * function.c (thread_prologue_and_epilogue_insns): Likewise.
12967 (reposition_prologue_and_epilogue_notes): Likewise.
12968 * reorg.c (find_end_label): Likewise.
12969 * toplev.c: Likewise.
12970
12971 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12972
12973 * bb-reorder.c (HAVE_return): Don't check if its undefined.
12974 * defaults.h (gen_simple_return): New function.
12975 (gen_simple_return): Likewise.
12976 (HAVE_return): Add default definition to false.
12977 (HAVE_simple_return): Likewise.
12978 * cfgrtl.c (force_nonfallthru_and_redirect): Remove checks if
12979 HAVE_return and HAVE_simple_return are defined.
12980 * function.c (gen_return_pattern): Likewise.
12981 (convert_jumps_to_returns): Likewise.
12982 (thread_prologue_and_epilogue_insns): Likewise.
12983 * reorg.c (find_end_label): Likewise.
12984 (dbr_schedule): Likewise.
12985 * shrink-wrap.c: Likewise.
12986 * shrink-wrap.h: Likewise.
12987
12988 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12989
12990 * defaults.h (EPILOGUE_USES): Add default definition of false.
12991 * df-scan.c (EPILOGUE_USES): Remove check if its undefined.
12992 * resource.c (init_resource_info): Likewise.
12993
12994 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12995
12996 * defaults.h (PCC_BITFIELD_TYPE_MATTERS): Add default definition
12997 to false.
12998 * dwarf2out.c (field_byte_offset): REmove check if
12999 PCC_BITFIELD_TYPE_MATTERS is defined.
13000 * stor-layout.c (layout_decl): Likewise.
13001 (update_alignment_for_field): Likewise.
13002 (place_field): Likewise.
13003
13004 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
13005
13006 * defaults.h (HARD_REGNO_RENAME_OK): Add default definition to
13007 true.
13008 * regrename.c (check_new_reg_p): Remove check if
13009 HARD_REGNO_RENAME_OK is defined.
13010 * sel-sched.c (sel_hard_regno_rename_ok): Likewise.
13011
13012 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
13013
13014 * calls.c (prepare_call_address): Remove ifdef NO_FUNCTION_CSE.
13015 * cse.c (fold_rtx): Likewise.
13016 * config/alpha/alpha.h (NO_FUNCTION_CSE): Define to 1.
13017 * config/arc/arc.h (NO_FUNCTION_CSE): Likewise.
13018 * config/avr/avr.h (NO_FUNCTION_CSE): Likewise.
13019 * config/cr16/cr16.h (NO_FUNCTION_CSE): Likewise.
13020 * config/epiphany/epiphany.h (NO_FUNCTION_CSE): Likewise.
13021 * config/frv/frv.h (NO_FUNCTION_CSE): Likewise.
13022 * config/h8300/h8300.h (NO_FUNCTION_CSE): Likewise.
13023 * config/i386/i386.h (NO_FUNCTION_CSE): Likewise.
13024 * config/ia64/ia64.h (NO_FUNCTION_CSE): Likewise.
13025 * config/lm32/lm32.h (enum reg_class) (NO_FUNCTION_CSE):
13026 * Likewise.
13027 * config/m32r/m32r.h (NO_FUNCTION_CSE): Likewise.
13028 * config/mep/mep.h (NO_FUNCTION_CSE): Likewise.
13029 * config/mn10300/mn10300.h (NO_FUNCTION_CSE): Likewise.
13030 * config/nds32/nds32.h (NO_FUNCTION_CSE): Likewise.
13031 * config/nios2/nios2.h (NO_FUNCTION_CSE): Likewise.
13032 * config/pa/pa.h (NO_FUNCTION_CSE): Likewise.
13033 * config/rs6000/rs6000.h (NO_FUNCTION_CSE): Likewise.
13034 * config/s390/s390.h (NO_FUNCTION_CSE): Likewise.
13035 * config/sparc/sparc.h (NO_FUNCTION_CSE): Likewise.
13036 * config/spu/spu.h (NO_FUNCTION_CSE): Likewise.
13037 * config/stormy16/stormy16.h (NO_FUNCTION_CSE): Likewise.
13038 * config/v850/v850.h (NO_FUNCTION_CSE): Likewise.
13039 * defaults.h (NO_FUNCTION_CSE): Provide default definition to 0.
13040 * doc/tm.texi: Regenerate.
13041 * doc/tm.texi.in: Document NO_FUNCTION_CSE is always defined to
13042 either true or false.
13043
13044 2015-04-27 Jeff Law <law@redhat.com>
13045
13046 PR tree-optimization/65217
13047 * tree-ssa-dom.c (record_equality): Given two SSA_NAMEs, if just one
13048 of them has a single use, make sure it is the LHS of the implied
13049 copy.
13050
13051 2015-04-28 Alan Modra <amodra@gmail.com>
13052
13053 PR target/65810
13054 * config/rs6000/rs6000.c (POWERPC64_TOC_POINTER_ALIGNMENT): Define.
13055 (offsettable_ok_by_alignment): Use minimum of decl and toc
13056 pointer alignment. Replace dead code with assertion.
13057 (use_toc_relative_ref): Add mode arg. Return false in -mcmodel=medium
13058 case if size exceeds toc pointer alignment.
13059 (rs6000_legitimize_reload_address): Update use_toc_relative_ref call.
13060 (rs6000_emit_move): Likewise.
13061 * configure.ac: Add linker toc pointer alignment check.
13062 * configure: Regenerate.
13063 * config.in: Regenerate.
13064
13065 2015-04-27 Yoshinori Sato <ysato@users.sourceforge.jp>
13066
13067 * config.gcc: Add h8300-*-linux.
13068 * config/h8300/linux.h: New.
13069 * config/h8300/t-linux: New.
13070 * config/h8300/h8300.c (h8300_option_override): Normal mode
13071 is not supported for h8300-*-linux.
13072 (h8300_file_start): Target priority change.
13073 (get_shift_alg): Likewise.
13074 (h8300_shift_need_scratch_p): Likewise.
13075 * config/h8300/h8300.h (TARGET_CPU_CPP_BUILTINS): Likewise.
13076 * config/h8300/h8300.md (define_peephole2): Remove duplicate condition.
13077
13078 2015-04-27 Caroline Tice <cmtice@google.com>
13079
13080 * final.c (final_scan_insn): Output cold_function_name as function
13081 type.
13082 * varasm.c (cold_function_name): Make global.
13083 (assemble_start_function): Re-set cold_function_name.
13084 (assemble_end_function): Output cold partition size.
13085 * varasm.h (cold_function_name): Declare global.
13086
13087 2015-04-27 Ilya Tocar <ilya.tocar@intel.com>
13088
13089 * config/i386/i386.h (EXT_REX_SSE_REG_P): New.
13090 * config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>_mixed): Use "v"
13091 constraint.
13092 (*movxi_internal_avx512f): Ditto.
13093 (define_split): Check for xmm16+, when splitting scalar float_extend.
13094 (*extendsfdf2_mixed): Use "v" constraint.
13095 (define_split): Check for xmm16+, when splitting scalar float_truncate.
13096 (*truncdfsf_fast_sse): Use "v" constraint.
13097 (fix_trunc<MODEF:mode><SWI48:mode>_sse): Ditto.
13098 (*float<SWI48:mode><MODEF:mode>2_sse): Ditto.
13099 (define_peephole2): Check for xmm16+, when converting scalar
13100 float_truncate.
13101 (define_peephole2): Check for xmm16+, when converting scalar
13102 float_extend.
13103 (*fop_<mode>_comm_mixed): Use "v" constraint.
13104 (*fop_<mode>_comm_sse): Ditto.
13105 (*fop_<mode>_1_mixed): Ditto.
13106 (*sqrt<mode>2_sse): Ditto.
13107 (*ieee_s<ieee_maxmin><mode>3): Ditto.
13108
13109 2015-04-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13110
13111 * combine.c (simplify_if_then_else): Use std::swap instead
13112 of manually swapping.
13113 (known_cond): Likewise.
13114 (simplify_comparison): Likewise.
13115
13116 2015-04-27 Peter Bergner <bergner@vnet.ibm.com>
13117
13118 PR target/64579
13119 * config/rs6000/htm.md: Remove all define_expands.
13120 (UNSPECV_HTM_TABORTDC, UNSPECV_HTM_TABORTDCI, UNSPECV_HTM_TABORTWC,
13121 UNSPECV_HTM_TABORTWCI): Remove.
13122 (UNSPECV_HTM_TABORTXC, UNSPECV_HTM_TABORTXCI, UNSPECV_HTM_TTEST): New.
13123 (tabort_internal, tbegin_internal, tcheck_internal, tend_internal,
13124 trechkpt_internal, treclaim_internal, tsr_internal): Rename from this...
13125 (tabort, tbegin, tcheck, tend, trechkpt, treclaim, tsr): ...to this.
13126 (tabortdc_internal, tabortdci_internal, tabortwc_internal,
13127 tabortwci_internal): Remove define_insns.
13128 (tabort<wd>c, tabort<wd>ci): New define_insns.
13129 (tabort): Use gpc_reg_operand.
13130 (tcheck): Remove operand.
13131 (htm_mfspr_<mode>, htm_mtspr_<mode>): Use GPR mode macro.
13132 * config/rs6000/htmxlintrin.h (__TM_end): Use _HTM_TRANSACTIONAL as
13133 expected value.
13134 * config/rs6000/rs6000-builtin.def (BU_HTM_SPR0): Remove.
13135 (BU_HTM_SPR1): Rename to BU_HTM_V1. Remove use of RS6000_BTC_SPR.
13136 (tabort, tabortdc, tabortdci, tabortwc, tabortwci, tbegin,
13137 tcheck, tend, tendall, trechkpt, treclaim, tresume, tsuspend,
13138 tsr, ttest): Pass in the RS6000_BTC_CR attribute.
13139 (get_tfhar, set_tfhar, get_tfiar, set_tfiar, get_texasr, set_texasr,
13140 get_texasru, set_texasru): Pass in the RS6000_BTC_SPR attribute.
13141 (tcheck): Remove builtin argument.
13142 * config/rs6000/rs6000.c (rs6000_htm_spr_icode): Use TARGET_POWERPC64
13143 not TARGET_64BIT.
13144 (htm_expand_builtin): Fix usage of expandedp. Disallow usage of the
13145 tabortdc and tabortdci builtins when not in 64-bit mode.
13146 Modify code to handle the loss of the HTM define_expands.
13147 Emit code to copy the CR register to TARGET.
13148 (htm_init_builtins): Modify code to handle the loss of the HTM
13149 define_expands.
13150 * config/rs6000/rs6000.h (RS6000_BTC_32BIT): Delete.
13151 (RS6000_BTC_64BIT): Likewise.
13152 (RS6000_BTC_CR): New macro.
13153 * doc/extend.texi: Update documentation for htm builtins.
13154
13155 2015-04-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13156
13157 * simplify-rtx.c (simplify_gen_binary): Use std::swap instead
13158 of manually swapping.
13159 (simplify_associative_operation): Likewise.
13160 (simplify_binary_operation): Likewise.
13161 (simplify_plus_minus): Likewise.
13162 (simplify_relational_operation): Likewise.
13163 (simplify_ternary_operation): Likewise.
13164
13165 2015-04-27 Richard Sandiford <richard.sandiford@arm.com>
13166
13167 * config/stormy16/predicates.md (xs_hi_general_operand): Delete.
13168 (xs_hi_nonmemory_operand): Remove error.
13169 * config/stormy16/stormy16.md (movhi, movhi_internal): Use
13170 general_operand rather than xs_hi_general_operand.
13171
13172 2015-04-27 Richard Biener <rguenther@suse.de>
13173
13174 * tree-ssa-dom.c (record_equivalences_from_phis): Valueize PHI arg.
13175 (record_equivalences_from_stmt): Valueize rhs.
13176 (record_equality): Canonicalize x and y order via
13177 tree_swap_operands_p. Do not swap operands for same loop depth.
13178
13179 2015-04-27 Georg-Johann Lay <avr@gjlay.de>
13180
13181 PR target/65296
13182 PR target/65895
13183 * config/avr/gen-avr-mmcu-specs.c (print_mcu): Close file.
13184 Add hint how to use own spec file.
13185
13186 2015-04-27 Jakub Jelinek <jakub@redhat.com>
13187
13188 PR tree-optimization/65875
13189 * tree-vrp.c (update_value_range): If in is_new case setting
13190 old_vr to VR_VARYING, also set new_vr to it. Remove
13191 old_vr->type == VR_VARYING test.
13192 (vrp_visit_phi_node): Return SSA_PROP_VARYING instead of
13193 SSA_PROP_INTERESTING if update_value_range returned true,
13194 but new range is VR_VARYING.
13195
13196 2015-04-27 Thomas Preud'homme <thomas.preudhomme@arm.com>
13197
13198 * combine.c (sign_extend_short_imm): New.
13199 (set_nonzero_bits_and_sign_copies): Use above new function for sign
13200 extension of src short immediate.
13201 (reg_nonzero_bits_for_combine): Likewise for tem.
13202
13203 2015-04-27 Eric Botcazou <ebotcazou@adacore.com>
13204
13205 * stor-layout.c (self_referential_component_ref_p): New predicate.
13206 (copy_self_referential_tree_r): Use it.
13207 (self_referential_size): Punt for simple operations directly involving
13208 self-referential component references.
13209 * tree-cfg.c (dump_function_to_file): Add missing final curly bracket.
13210
13211 2015-04-27 Eric Botcazou <ebotcazou@adacore.com>
13212
13213 * ipa-icf.c (icf_handled_component_p): Remove redundant tests.
13214
13215 2015-04-27 Richard Sandiford <richard.sandiford@arm.com>
13216
13217 * vec.h (vec): Make splice arguments const. Update definitions
13218 accordingly.
13219
13220 2015-04-27 Yvan Roux <yvan.roux@linaro.org>
13221
13222 * config/arm/arm.md (*arm_subsi3_insn): Fixed redundant
13223 alternatives.
13224
13225 2015-04-26 Tom de Vries <tom@codesourcery.com>
13226
13227 PR tree-optimization/65826
13228 * internal-fn.def: Mark VA_ARG with ECF_LEAF.
13229
13230 2015-04-24 Steve Ellcey <sellcey@imgtec.com>
13231
13232 * config/mips/mips.md: (*madd4<mode>) Remove accum_in attribute.
13233 (*madd3<mode>): Ditto.
13234 (*msub4<mode>): Ditto.
13235 (*msub3<mode>): Ditto.
13236 (*nmadd4<mode>): Ditto.
13237 (*nmadd3<mode>): Ditto.
13238 (*nmadd4<mode>_fastmath): Ditto.
13239 (*nmadd3<mode>_fastmath): Ditto.
13240 (*nmsub4<mode>): Ditto.
13241 (*nmsub3<mode>): Ditto.
13242 (*nmsub4<mode>_fastmath): Ditto.
13243 (*nmsub3<mode>_fastmath): Ditto.
13244
13245 2015-04-24 Jason Merrill <jason@redhat.com>
13246
13247 PR c++/50800
13248 * tree.c (build_reference_type_for_mode): Don't pass can_alias_all
13249 down when building TYPE_CANONICAL.
13250 (build_pointer_type_for_mode): Likewise.
13251
13252 2015-04-24 Chen Gang <gang.chen.5i5j@gmail.com>
13253
13254 * genrecog.c (validate_pattern): Check matching constraint refers
13255 to a lower numbered operand.
13256
13257 2015-04-24 Michael Meissner <meissner@linux.vnet.ibm.com>
13258
13259 PR target/65849
13260 * config/rs6000/rs6000.opt (-mvsx-align-128): Make options that
13261 save to independent variables use the Save attribute. This will
13262 allow these options to be modified with the #pragma/attribute
13263 target support.
13264 (-mallow-movmisalign): Likewise.
13265 (-mallow-df-permute): Likewise.
13266 (-msched-groups): Likewise.
13267 (-malways-hint): Likewise.
13268 (-malign-branch-targets): Likewise.
13269 (-mvectorize-builtins): Likewise.
13270 (-msave-toc-indirect): Likewise.
13271
13272 * config/rs6000/rs6000.c (rs6000_opt_masks): Add more options that
13273 can be set via the #pragma/attribute target support.
13274 (rs6000_opt_vars): Likewise.
13275 (rs6000_inner_target_options): If VSX was set, also set
13276 -mno-avoid-indexed-addresses.
13277
13278 2015-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13279
13280 * config/arm/iterators.md (shiftable_ops): Rename to...
13281 (SHIFTABLE_OPS): ... This. Update use in comments.
13282 (ior_xor): Rename to...
13283 (IOR_XOR): ... This.
13284 (vqh_ops): Rename to...
13285 (VQH_OPS): ... This.
13286 (vqhs_ops): Rename to...
13287 (VQHS_OPS): ... This.
13288 (rshifts): Rename to...
13289 (RSHIFTS): ... This.
13290 (returns): Rename to...
13291 (RETURNS): ... This.
13292 * config/arm/arm.md: Update uses of the above.
13293 * config/arm/neon.md: Likewise.
13294
13295 2014-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13296
13297 * config.host (case ${host}): Add aarch64*-*-linux case.
13298 * config/aarch64/aarch64-cores.def: Add IMPLEMENTER_ID and PART_NUMBER
13299 fields to all the cores.
13300 * config/aarch64/aarch64-elf.h (DRIVER_SELF_SPECS):
13301 Add MCPU_MTUNE_NATIVE_SPECS.
13302 * config/aarch64/aarch64-option-extensions.def: Add FEATURE_STRING
13303 field to all extensions.
13304 * config/aarch64/aarch64-opts.h: Adjust definition of AARCH64_CORE.
13305 * config/aarch64/aarch64.c: Adjust definition of AARCH64_CORE.
13306 Adjust definition of AARCH64_OPT_EXTENSION.
13307 * config/aarch64/aarch64.h: Adjust definition of AARCH64_CORE.
13308 (MCPU_MTUNE_NATIVE_SPECS): Define.
13309 * config/aarch64/driver-aarch64.c: New file.
13310 * config/aarch64/x-arch64: New file.
13311 * doc/invoke.texi (AArch64 Options): Document native value for -mcpu,
13312 -mtune and -march.
13313
13314 2015-04-24 Uros Bizjak <ubizjak@gmail.com>
13315 Wei Mi <wmi@google.com>
13316
13317 * config/i386/i386-protos.h (ix86_operands_ok_for_move_multiple): New.
13318 * config/i386/i386.c (extract_base_offset_in_addr): New function.
13319 (ix86_operands_ok_for_move_multiple): Ditto.
13320 * config/i386/sse.md (movsd/movhpd to movupd peephole2): New pattern.
13321 (movlpd/movhpd to movupd peephole2): Ditto.
13322
13323 2015-04-24 Marek Polacek <polacek@redhat.com>
13324
13325 PR c/61534
13326 * input.h (from_macro_expansion_at): Define.
13327
13328 PR c/63357
13329 * doc/invoke.texi: Update description of -Wlogical-op.
13330
13331 2015-04-24 Thomas Preud'homme <thomas.preudhomme@arm.com>
13332
13333 * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): fix
13334 ternary operator in fprintf and harmonize spacing.
13335
13336 2015-04-24 Uros Bizjak <ubizjak@gmail.com>
13337
13338 * config/i386/sse.md (*vec_widen_smult_even_v8si<mask_name>):
13339 Mark operand1 commutative.
13340
13341 2015-04-24 Uros Bizjak <ubizjak@gmail.com>
13342
13343 * config/i386/sse.md (*vec_concatv2sf_sse4_1): Do not allow both
13344 input operands in memory.
13345 (*vec_concatv2si_sse4_1): Ditto.
13346 (*vec_concatv2df): Ditto, except for SSE3 and equal input operands.
13347 (vec_extract_lo_<mode><mask_name>): Change operand 1 predicate to
13348 register_operand.
13349 (vec_extract_hi_v32hi): Ditto.
13350 (vec_extract_hi_v64hi): Ditto.
13351 (<mask_codefor>avx512f_unpckhpd512<mask_name>): Ditto.
13352
13353 2015-04-24 Thomas Preud'homme <thomas.preudhomme@arm.com>
13354 Steven Bosscher <steven@gcc.gnu.org>
13355
13356 PR rtl-optimization/34503
13357 * cprop.c (cprop_reg_p): New.
13358 (hash_scan_set): Use above function to check if register can be
13359 propagated.
13360 (find_avail_set): Return up to two sets, one whose source is a
13361 register and one whose source is a constant. Sets are returned in an
13362 array passed as parameter rather than as a return value.
13363 (cprop_insn): Use a do while loop rather than a goto. Try each of the
13364 sets returned by find_avail_set, starting with the one whose source is
13365 a constant. Use cprop_reg_p to check if register can be propagated.
13366 (do_local_cprop): Use cprop_reg_p to check if register can be
13367 propagated.
13368 (implicit_set_cond_p): Likewise.
13369
13370 2015-04-23 Jan Hubicka <hubicka@ucw.cz>
13371
13372 * ipa-icf.c (sem_function::equals_wpa): Compare thunk info.
13373 (sem_function::equals): IGNORED_NODES parameter is now unused;
13374 update call of equals_private.
13375 (sem_function::equals_private): Do not call equals_wpa; skip
13376 gimple body matching if there is no body.
13377 (sem_function::init): Add logic to hash tthunk info.
13378 (sem_function::parse): Also parse thunks.
13379 * ipa-icf.h (equals_private): Update declaration.
13380
13381 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13382
13383 * config/rs6000/altivec.md (*altivec_lvx_<mode>_internal): Remove
13384 asterisk from name so this can be generated directly.
13385 (*altivec_stvx_<mode>_internal): Likewise.
13386 * config/rs6000/rs6000.c (rs6000_emit_le_vsx_store): Add assert
13387 that this is never called during or after reload/lra.
13388 (rs6000_frame_related): Remove split_reg
13389 argument and logic that references it.
13390 (emit_frame_save): Remove last parameter from call to
13391 rs6000_frame_related.
13392 (rs6000_emit_prologue): Remove last parameter from eight calls to
13393 rs6000_frame_related. Force generation of stvx instruction for
13394 Altivec register saves. Remove split_reg handling, which is no
13395 longer needed.
13396 (rs6000_emit_epilogue): Force generation of lvx instruction for
13397 Altivec register restores.
13398
13399 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13400
13401 * config/rs6000/rs6000.opt (mcrypto): Change option description to
13402 match category changes in ISA 2.07B.
13403
13404 2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13405
13406 * config/arm/iterators.md (GTGE, GTUGEU, COMPARISONS): New code
13407 iterators.
13408 (cmp_op, cmp_type): New code attributes.
13409 (NEON_VCMP, NEON_VACMP): New int iterators.
13410 (cmp_op_unsp): New int attribute.
13411 * config/arm/neon.md (neon_vc<cmp_op><mode>): New define_expand.
13412 (neon_vceq<mode>): Delete.
13413 (neon_vc<cmp_op><mode>_insn): New pattern.
13414 (neon_vc<cmp_op_unsp><mode>_insn_unspec): Likewise.
13415 (neon_vcgeu<mode>): Delete.
13416 (neon_vcle<mode>): Likewise.
13417 (neon_vclt<mode>: Likewise.
13418 (neon_vcage<mode>): Likewise.
13419 (neon_vcagt<mode>): Likewise.
13420 (neon_vca<cmp_op><mode>): New define_expand.
13421 (neon_vca<cmp_op><mode>_insn): New pattern.
13422 (neon_vca<cmp_op_unsp><mode>_insn_unspec): Likewise.
13423
13424 2015-04-23 Jan Hubicka <hubicka@ucw.cz>
13425
13426 * tree.h (attribute_value_equal): Declare.
13427 * tree.c (attribute_value_equal): Export.
13428
13429 2015-04-23 Jan Hubicka <hubicka@ucw.cz>
13430
13431 * ipa-icf.c (sem_item::compare_attributes): New function.
13432 (sem_item::compare_referenced_symbol_properties): Compare variable
13433 attributes.
13434 (sem_item::hash_referenced_symbol_properties): Record DECL_ALIGN.
13435 (sem_function::param_used_p): New function.
13436 (sem_function::equals_wpa): Fix attribute comparsion; match
13437 parameter type codes; do not compare paremter flags when
13438 they are not used; compare edge flags; compare indirect calls.
13439 (sem_item::update_hash_by_addr_refs): Hash reference type.
13440 (sem_function::equals_private): Do not match DECL_ATTRIBUTES.
13441 (sem_variable::equals_wpa): Do not match DECL_ALIGN; match
13442 reference use type.
13443 (sem_item_optimizer::update_hash_by_addr_refs): Use param_used_p.
13444 * ipa-icf.h (compare_attributes, param_used_p): Declare.
13445
13446 2015-04-23 Jan Hubicka <hubicka@ucw.cz>
13447
13448 * ipa-icf.c (symbol_compare_collection::symbol_compare_collection):
13449 cleanup.
13450 (sem_function::get_hash): Do not hash DECL_DISREGARD_INLINE_LIMITS,
13451 DECL_DECLARED_INLINE_P and DECL_IS_OPERATOR_NEW.
13452 (sem_item::compare_referenced_symbol_properties): New.
13453 (sem_item::hash_referenced_symbol_properties): New.
13454 (sem_item::compare_cgraph_references): Rename to ...
13455 (sem_item::compare_symbol_references): ... this one; use
13456 compare_referenced_symbol_properties.
13457 (sem_function::equals_wpa): Do not compare
13458 DECL_DISREGARD_INLINE_LIMITS, DECL_DECLARED_INLINE_P,
13459 DECL_IS_OPERATOR_NEW; compare pointer sizes.
13460 (sem_item::update_hash_by_addr_refs): Call
13461 hash_referenced_symbol_properties.
13462 (sem_item::update_hash_by_local_refs): Cleanup.
13463 (sem_function::merge): Do not mix up symbol properties.
13464 (sem_variable::equals_wpa): Use compare_symbol_references.
13465 * ipa-icf.h (sem_item::compare_referenced_symbol_properties): New.
13466 (sem_item::hash_referenced_symbol_properties): New.
13467 (sem_item::compare_symbol_references): New.
13468 (sem_item::compare_cgraph_references): Remove.
13469
13470 2015-04-23 Kwok Cheung Yeung <kcy@codesourcery.com>
13471
13472 PR target/26702
13473 * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL):
13474 Emit size of local.
13475
13476 2015-04-23 Nick Clifton <nickc@redhat.com>
13477
13478 * config/rl78/rl78.c (rl78_preferred_reload_class): Add
13479 ATTRIBUTE_UNUSED to x parameter.
13480 * config/rl78/rl78-opts.h (enum rl78_mul_types): Remove unused MUL_RL78.
13481
13482 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13483
13484 * config/rs6000/crypto.md (crypto_vpmsum<CR_char>): Change
13485 TARGET_CRYPTO to TARGET_P8_VECTOR>
13486 (crypto_vpermxor_<mode>): Likewise.
13487 * config/rs6000/rs6000-builtin.def (BU_CRYPTO_2A): New #define.
13488 (BU_CRYPTO_3A): Likewise.
13489 (BU_CRYPTO_OVERLOAD_2A): Rename from BU_CRYPTO_OVERLOAD_2.
13490 (BU_CRYPTO_OVERLOAD_3A): New #define.
13491 (VPMSUMB): Change from BU_CRYPTO_2 to BU_CRYPTO_2A.
13492 (VPMSUMH): Likewise.
13493 (VPMSUMW): Likewise.
13494 (VPMSUMD): Likewise.
13495 (VPERMXOR_V2DI): Change from BU_CRYPTO_3 to BU_CRYPTO_3A.
13496 (VPERMXOR_V4SI): Likewise.
13497 (VPERMXOR_V8HI): Likewise.
13498 (VPERMXOR_V16QI): Likewise.
13499 (VPMSUM): Change from BU_CRYPTO_OVERLOAD_2 to
13500 BU_CRYPTO_OVERLOAD_2A.
13501 (VPERMXOR): Change from BU_CRYPTO_OVERLOAD3 to
13502 BU_CRYPTO_OVERLOAD_3A.
13503 * config/rs6000/rs6000.opt (mcrypto): Change description of
13504 option.
13505
13506 2015-04-23 Richard Biener <rguenther@suse.de>
13507
13508 * passes.def: Remove copy propagation passes run directly after CCP.
13509 * tree-ssa-ccp.c (get_value_for_expr): Fall back to a COPY for
13510 SSA names.
13511 (ccp_visit_phi_node): Rework to handle first executable edge
13512 specially.
13513
13514 2015-04-23 Matthew Wahab <matthew.wahab@arm.com>
13515
13516 * config/arm/arm.h (LEGITIMIZE_RELOAD_ADDRESS): Remove.
13517 (ARM_LEGITIMIZE_RELOAD_ADDRESS): Remove.
13518 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Remove.
13519 * config/arm/arm.c (arm_legimitimize_reload_address): Remove.
13520 (thumb_legimitimize_reload_address): Remove.
13521 * config/arm/arm-protos.h (arm_legimitimize_reload_address):
13522 Remove.
13523 (thumb_legimitimize_reload_address): Remove.
13524
13525 2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13526
13527 * conditions.h (CC_STATUS_INIT): Gate on #ifndef CC_STATUS_INIT.
13528
13529 2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13530
13531 * config/arm/arm.md (load_multiple): Reject operand 2 greater than
13532 MAX_LDM_STM_OPS.
13533 (store_multiple): Likewise.
13534
13535 2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13536
13537 * config/arm/arm-protos.h (struct tune_params): Add issue_rate field.
13538 * config/arm/arm.c (arm_slowmul_tune, arm_fastmul_tune,
13539 arm_strongarm_tune, arm_xscale_tune, arm_9e_tune, arm_v6t2_tune,
13540 arm_cortex_tune, arm_cortex_a8_tune, arm_cortex_a7_tune,
13541 arm_cortex_a15_tune, arm_cortex_a53_tune, arm_cortex_a57_tune,
13542 arm_cortex_a9_tune, arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune,
13543 arm_fa726te_tune arm_cortex_a5_tune, arm_xgene1_tune):
13544 Specify issue_rate value.
13545 (arm_issue_rate): Look up issue rate from tuning structs. Remove
13546 large switch statement.
13547 (arm_marvell_pj4_tune): New struct.
13548 * config/arm/arm-cores.def (marvell-pj4): Use arm_marvell_pj4_tune
13549 struct.
13550
13551 2015-04-23 Richard Biener <rguenther@suse.de>
13552
13553 * tree-vect-slp.c (vect_find_first_load_in_slp_instance): Remove.
13554 (vect_find_last_store_in_slp_instance): Rename to ...
13555 (vect_find_last_scalar_stmt_in_slp): ... this and generalize.
13556 (vect_analyze_slp_cost_1): Use vector_load for constant defs
13557 and vec_construct for external defs when estimating prologue cost.
13558 (vect_analyze_slp_instance): Do not init SLP_INSTANCE_FIRST_LOAD_STMT.
13559 Compute costs here only when vectorizing loops.
13560 (vect_slp_analyze_bb_1): Compute SLP cost here, after vector types
13561 have been determined.
13562 (vect_schedule_slp_instance): Simplify vectorized code placement
13563 and prepare for in-BB external defs.
13564 * tree-vectorizer.h (struct _slp_instance): Remove first_load member.
13565 (SLP_INSTANCE_FIRST_LOAD_STMT): Remove.
13566 * tree-vect-stmts.c (vect_model_store_cost): Remove PURE_SLP_STMT
13567 guard.
13568 (vect_model_load_cost): Likewise.
13569 (vectorizable_store): Instead add it here.
13570 (vectorizable_load): Likewise.
13571 (vect_is_simple_use): Dump def type textually.
13572
13573 2015-04-23 Richard Biener <rguenther@suse.de>
13574
13575 * cfgexpand.c (expand_gimple_stmt_1): Use ops.code.
13576 * cfgloop.c (verify_loop_structure): Verify the root loop node.
13577 * except.c (duplicate_eh_regions): Call get_eh_region_from_lp_number_fn
13578 instead of get_eh_region_from_lp_number.
13579 * loop-init.c (fix_loop_structure): If we removed a loop, reset
13580 the SCEV cache.
13581
13582 2015-04-23 Anton Blanchard <anton@samba.org>
13583
13584 * config/rs6000/rs6000.c (rs6000_output_function_prologue): No
13585 need for -mprofile-kernel to save LR to stack.
13586
13587 2015-04-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13588
13589 * config/rs6000/rs6000.c (rtx_is_swappable_p): Commentary
13590 adjustments.
13591 (insn_is_swappable_p): Return 1 for a convert from double to
13592 single precision when all of its uses are splats of BE element
13593 zero.
13594
13595 2015-04-23 Kugan Vivekanandarajah <kuganv@linaro.org>
13596
13597 * ira-costs.c (record_operand_costs): Fix typo (remove redundant code).
13598
13599 2015-04-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13600
13601 PR target/65456
13602 * config/rs6000/rs6000.c (rs6000_option_override_internal): For
13603 VSX + POWER8, enable TARGET_ALLOW_MOVMISALIGN and
13604 TARGET_EFFICIENT_UNALIGNED_VSX if not selected by command line
13605 option.
13606 (rs6000_builtin_mask_for_load): Return 0 for targets with
13607 efficient unaligned VSX accesses so that the vectorizer will use
13608 direct unaligned loads.
13609 (rs6000_builtin_support_vector_misalignment): Always return true
13610 for targets with efficient unaligned VSX accesses.
13611 (rs6000_builtin_vectorization_cost): Cost of unaligned loads and
13612 stores on targets with efficient unaligned VSX accesses is almost
13613 always the same as the cost of an aligned load or store, so model
13614 it that way.
13615 * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Return 0 for
13616 unaligned vectors if we have efficient unaligned VSX accesses.
13617 * config/rs6000/rs6000.opt (mefficient-unaligned-vector): New
13618 undocumented option.
13619
13620 2015-04-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13621
13622 Revert:
13623 2015-04-22 Gregor Richards <gregor.richards@uwaterloo.ca>
13624
13625 * config.gcc (LIBC_MUSL): New tm_defines macro.
13626 * config/linux.h (OPTION_MUSL): Define.
13627 (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
13628 (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
13629 (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
13630
13631 * config/linux.opt (mmusl): New option.
13632 * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
13633 (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.
13634
13635 * configure: Regenerate.
13636
13637 2015-04-22 Gregor Richards <gregor.richards@uwaterloo.ca>
13638
13639 * config.gcc (LIBC_MUSL): New tm_defines macro.
13640 * config/linux.h (OPTION_MUSL): Define.
13641 (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
13642 (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
13643 (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
13644
13645 * config/linux.opt (mmusl): New option.
13646 * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
13647 (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.
13648
13649 * configure: Regenerate.
13650
13651 2015-04-22 Yury Gribov <y.gribov@samsung.com>
13652
13653 * doc/invoke.texi (-fsanitize-sections): Update description.
13654 * asan.c (set_sanitized_sections): Parse incoming arg.
13655 (section_sanitized_p): Support wildcards.
13656
13657 2015-04-22 Tom de Vries <tom@codesourcery.com>
13658
13659 PR tree-optimization/65823
13660 * gimplify.c (gimplify_modify_expr): Use operand_equal_p to test for
13661 equality between ap_copy and ap.
13662
13663 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
13664
13665 PR target/47098
13666 * config/openbsd-oldgas.h (OBSD_LIB_SPEC): Add.
13667
13668 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
13669
13670 PR target/47122
13671 * config.gcc (vax-*-openbsd*): Fix name of pthread spec header.
13672
13673 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
13674
13675 PR target/55144
13676 * config.gcc (bfin*-linux-uclibc*): Prepend tmake_file and
13677 remove already contained t-files.
13678
13679 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
13680
13681 * tree-tailcall.c (suitable_for_tail_opt_p, find_tail_calls):
13682 Remove unneeded forward declarations.
13683 (suitable_for_tail_call_opt_p): Commentary typo fix.
13684
13685 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
13686
13687 * varasm.c (emit_bss): Remove redundant guard.
13688
13689 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
13690
13691 * config/c6x/c6x.h (TARGET_CPU_CPP_BUILTINS): Add unk_isa.
13692
13693 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
13694
13695 * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Add BFIN_CPU_UNKNOWN.
13696
13697 2015-04-22 Hale Wang <hale.wang@arm.com>
13698 Terry Guo <terry.guo@arm.com>
13699
13700 PR rtl-optimization/64818
13701 * combine.c (can_combine_p): Don't combine user-specified
13702 register if it is in an asm input.
13703
13704 2015-04-21 Jan Hubicka <hubicka@ucw.cz>
13705
13706 PR ipa/65076
13707 * passes.def (early_optimizations): Add pass_dse.
13708
13709 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
13710
13711 * defaults.h (INSN_REFERENCES_ARE_DELAYED): New definition.
13712 * reorg.c (redundant_insn): Remove ifdef
13713 INSN_REFERENCES_ARE_DELAYED.
13714 * resource.c (mark_referenced_resources): Likewise.
13715
13716 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
13717
13718 * defaults.h (INSN_SETS_ARE_DELAYED): New definition.
13719 * reorg.c (redundant_insn): Remove ifdef INSN_SETS_ARE_DELAYED.
13720 * resource.c (mark_set_resources): Likewise.
13721
13722 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
13723
13724 * caller-save.c (insert_one_insn): Remove ifdef HAVE_cc0.
13725 * cfgcleanup.c (flow_find_cross_jump): Likewise.
13726 (flow_find_head_matching_sequence): Likewise.
13727 (try_head_merge_bb): Likewise.
13728 * combine.c (can_combine_p): Likewise.
13729 (try_combine): Likewise.
13730 (distribute_notes): Likewise.
13731 * df-problems.c (can_move_insns_across): Likewise.
13732 * final.c (final): Likewise.
13733 * gcse.c (insert_insn_end_basic_block): Likewise.
13734 * ira.c (find_moveable_pseudos): Likewise.
13735 * reorg.c (try_merge_delay_insns): Likewise.
13736 (fill_simple_delay_slots): Likewise.
13737 (fill_slots_from_thread): Likewise.
13738 * sched-deps.c (sched_analyze_2): Likewise.
13739
13740 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
13741
13742 * df-scan.c (df_get_entry_block_def_set): Remove #ifdef
13743 PIC_OFFSET_TABLE_REGNUM.
13744
13745 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
13746
13747 * alias.c (init_alias_target): Remove ifdef
13748 * HARD_FRAME_POINTER_IS_FRAME_POINTER.
13749 * df-scan.c (df_insn_refs_collect): Likewise.
13750 (df_get_regular_block_artificial_uses): Likewise.
13751 (df_get_eh_block_artificial_uses): Likewise.
13752 (df_get_entry_block_def_set): Likewise.
13753 (df_get_exit_block_use_set): Likewise.
13754 * emit-rtl.c (gen_rtx_REG): Likewise.
13755 * ira.c (ira_setup_eliminable_regset): Likewise.
13756 * reginfo.c (init_reg_sets_1): Likewise.
13757 * regrename.c (rename_chains): Likewise.
13758 * reload1.c (reload): Likewise.
13759 (eliminate_regs_in_insn): Likewise.
13760 * resource.c (mark_referenced_resources): Likewise.
13761 (init_resource_info): Likewise.
13762
13763 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
13764
13765 * defaults.h (MASK_RETURN_ADDR): New definition.
13766 * except.c (expand_builtin_extract_return_addr): Remove ifdef
13767 MASK_RETURN_ADDR.
13768
13769 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
13770
13771 * defaults.h (RETURN_ADDR_OFFSET): New definition.
13772 * except.c (expand_builtin_extract_return_addr): Remove ifdef
13773 RETURN_ADDR_OFFSET.
13774 (expand_builtin_frob_return_addr): Likewise.
13775
13776 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
13777
13778 * cfgrtl.c (rtl_merge_blocks): Change #if HAVE_cc0 to if (HAVE_cc0)
13779 (try_redirect_by_replacing_jump): Likewise.
13780 (rtl_tidy_fallthru_edge): Likewise.
13781 * combine.c (insn_a_feeds_b): Likewise.
13782 (find_split_point): Likewise.
13783 (simplify_set): Likewise.
13784 * cprop.c (cprop_jump): Likewise.
13785 * cse.c (cse_extended_basic_block): Likewise.
13786 * df-problems.c (can_move_insns_across): Likewise.
13787 * function.c (emit_use_return_register_into_block): Likewise.
13788 * haifa-sched.c (sched_init): Likewise.
13789 * ira.c (find_moveable_pseudos): Likewise.
13790 * loop-invariant.c (find_invariant_insn): Likewise.
13791 * lra-constraints.c (curr_insn_transform): Likewise.
13792 * postreload.c (reload_combine_recognize_const_pattern):
13793 * Likewise.
13794 * reload.c (find_reloads): Likewise.
13795 * reorg.c (delete_scheduled_jump): Likewise.
13796 (steal_delay_list_from_target): Likewise.
13797 (steal_delay_list_from_fallthrough): Likewise.
13798 (redundant_insn): Likewise.
13799 (fill_simple_delay_slots): Likewise.
13800 (fill_slots_from_thread): Likewise.
13801 (delete_computation): Likewise.
13802 * sched-rgn.c (add_branch_dependences): Likewise.
13803
13804 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
13805
13806 * genconfig.c (main): Always define HAVE_cc0.
13807 * caller-save.c (insert_one_insn): Change ifdef HAVE_cc0 to #if
13808 HAVE_cc0.
13809 * cfgcleanup.c (flow_find_cross_jump): Likewise.
13810 (flow_find_head_matching_sequence): Likewise.
13811 (try_head_merge_bb): Likewise.
13812 * cfgrtl.c (rtl_merge_blocks): Likewise.
13813 (try_redirect_by_replacing_jump): Likewise.
13814 (rtl_tidy_fallthru_edge): Likewise.
13815 * combine.c (do_SUBST_MODE): Likewise.
13816 (insn_a_feeds_b): Likewise.
13817 (combine_instructions): Likewise.
13818 (can_combine_p): Likewise.
13819 (try_combine): Likewise.
13820 (find_split_point): Likewise.
13821 (subst): Likewise.
13822 (simplify_set): Likewise.
13823 (distribute_notes): Likewise.
13824 * cprop.c (cprop_jump): Likewise.
13825 * cse.c (cse_extended_basic_block): Likewise.
13826 * df-problems.c (can_move_insns_across): Likewise.
13827 * final.c (final): Likewise.
13828 (final_scan_insn): Likewise.
13829 * function.c (emit_use_return_register_into_block): Likewise.
13830 * gcse.c (insert_insn_end_basic_block): Likewise.
13831 * haifa-sched.c (sched_init): Likewise.
13832 * ira.c (find_moveable_pseudos): Likewise.
13833 * loop-invariant.c (find_invariant_insn): Likewise.
13834 * lra-constraints.c (curr_insn_transform): Likewise.
13835 * optabs.c (prepare_cmp_insn): Likewise.
13836 * postreload.c (reload_combine_recognize_const_pattern):
13837 * Likewise.
13838 * reload.c (find_reloads): Likewise.
13839 (find_reloads_address_1): Likewise.
13840 * reorg.c (delete_scheduled_jump): Likewise.
13841 (steal_delay_list_from_target): Likewise.
13842 (steal_delay_list_from_fallthrough): Likewise.
13843 (try_merge_delay_insns): Likewise.
13844 (redundant_insn): Likewise.
13845 (fill_simple_delay_slots): Likewise.
13846 (fill_slots_from_thread): Likewise.
13847 (delete_computation): Likewise.
13848 (relax_delay_slots): Likewise.
13849 * sched-deps.c (sched_analyze_2): Likewise.
13850 * sched-rgn.c (add_branch_dependences): Likewise.
13851
13852 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
13853
13854 * combine.c (find_single_use): Remove HAVE_cc0 ifdef for code
13855 that is trivially ded on non cc0 targets.
13856 (simplify_set): Likewise.
13857 (mark_used_regs_combine): Likewise.
13858 * cse.c (new_basic_block): Likewise.
13859 (fold_rtx): Likewise.
13860 (cse_insn): Likewise.
13861 (cse_extended_basic_block): Likewise.
13862 (set_live_p): Likewise.
13863 * rtlanal.c (canonicalize_condition): Likewise.
13864 * simplify-rtx.c (simplify_binary_operation_1): Likewise.
13865
13866 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
13867
13868 * conditions.h: Define macros even if HAVE_cc0 is undefined.
13869 * emit-rtl.c: Define functions even if HAVE_cc0 is undefined.
13870 * final.c: Likewise.
13871 * jump.c: Likewise.
13872 * recog.c: Likewise.
13873 * recog.h: Declare functions even when HAVE_cc0 is undefined.
13874 * sched-deps.c (sched_analyze_2): Always compile case for cc0.
13875
13876 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
13877
13878 * defaults.h: New definition of EH_RETURN_DATA_REGNO.
13879 * except.c: Remove definition of EH_RETURN_DATA_REGNO.
13880 * builtins.c (expand_builtin): Remove check if
13881 EH_RETURN_DATA_REGNO is defined.
13882 * df-scan.c (df_bb_refs_collect): Likewise.
13883 (df_get_exit_block_use_set): Likewise.
13884 * haifa-sched.c (initiate_bb_reg_pressure_info): Likewise.
13885 * ira-lives.c (process_bb_node_lives): Likewise.
13886 * lra-lives.c (process_bb_lives): Likewise.
13887
13888 2015-04-21 Uros Bizjak <ubizjak@gmail.com>
13889
13890 * config/i386/i386.md (ARGP_REG, FRAME_REG, BND2_REG, BND3_REG,
13891 FIRST_PSEUDO_REG): New.
13892 * config/i386/i386.h (STACK_POINTER_REGNUM): Define to SP_REG.
13893 (ARG_POINTER_REGNUM): Define to ARGP_REG.
13894 (FRAME_POINTER_REGNUM): Define to FRAME_REG.
13895 (HARD_FRAME_POINTER_REGNUM): Define to BP_REG.
13896 (FIRST_PSEUDO_REGISTER): Define to FIRST_PSEUDO_REG.
13897 (FIRST_INT_REG): New.
13898 (LAST_INT_REG): New.
13899 (FIRST_*_REG): Define using *_REG.
13900 (LAST_*_REG): Ditto.
13901 (QI_REGNO_P): Define using FIRST_QU_REG and LAST_QI_REG.
13902 (LEGACY_INT_REGNO_P): Define using FIRST_INT_REG and LAST_INT_REG.
13903 (FIRST_FLOAT_REG): Define to FIRST_STACK_REG.
13904
13905 2015-04-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13906
13907 * expmed.c: (synth_mult): Only assume overlapping
13908 shift with previous steps in alg_sub_t_m2 case.
13909
13910 2015-04-21 Richard Biener <rguenther@suse.de>
13911
13912 PR tree-optimization/65650
13913 * tree-ssa-ccp.c (valid_lattice_transition): Allow lattice
13914 transitions involving copies.
13915 (set_lattice_value): Adjust for copy lattice state.
13916 (ccp_lattice_meet): Do not merge UNDEFINED and a copy to the copy
13917 if that doesn't dominate the merge point.
13918 (bit_value_unop): Adjust what we treat as varying mask.
13919 (bit_value_binop): Likewise.
13920 (bit_value_assume_aligned): Likewise.
13921 (evaluate_stmt): When we simplified to a SSA name record a copy
13922 instead of dropping to varying.
13923 (visit_assignment): Simplify.
13924
13925 * gimple-match.h (gimple_simplify): Add another callback.
13926 * gimple-fold.c (fold_stmt_1): Adjust caller.
13927 (gimple_fold_stmt_to_constant_1): Likewise - pass valueize
13928 for the 2nd callback.
13929 * gimple-match-head.c (gimple_simplify): Add a callback that is
13930 used to valueize the stmt operands and use it that way.
13931
13932 2015-04-21 Richard Biener <rguenther@suse.de>
13933
13934 PR tree-optimization/65788
13935 * tree-ssa-ccp.c (evaluate_stmt): Evaluate to UNDEFINED early.
13936
13937 2015-04-21 Richard Biener <rguenther@suse.de>
13938
13939 * config/i386/i386.c (ix86_builtin_vectorization_cost): Scale
13940 vec_construct cost by vec_stmt_cost.
13941
13942 2015-04-21 Richard Biener <rguenther@suse.de>
13943
13944 * cfghooks.h (create_basic_block): Replace with two overloads
13945 for RTL and GIMPLE.
13946 (split_block): Likewise.
13947 * cfghooks.c (split_block): Rename to ...
13948 (split_block_1): ... this.
13949 (split_block): Add two type-safe overloads for RTL and GIMPLE.
13950 (split_block_after_labels): Call split_block_1.
13951 (create_basic_block): Rename to ...
13952 (create_basic_block_1): ... this.
13953 (create_basic_block): Add two type-safe overloads for RTL and GIMPLE.
13954 (create_empty_bb): Call create_basic_block_1.
13955 * cfgrtl.c (fixup_fallthru_exit_predecessor): Use
13956 split_block_after_labels.
13957 * omp-low.c (expand_parallel_call): Likewise.
13958 (expand_omp_target): Likewise.
13959 (simd_clone_adjust): Likewise.
13960 * tree-chkp.c (chkp_get_entry_block): Likewise.
13961 * cgraphunit.c (init_lowered_empty_function): Use the GIMPLE
13962 create_basic_block overload.
13963 (cgraph_node::expand_thunk): Likewise.
13964 * tree-cfg.c (make_blocks): Likewise.
13965 (handle_abnormal_edges): Likewise.
13966 * tree-inline.c (copy_bb): Likewise.
13967
13968 2015-04-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13969
13970 * config/aarch64/aarch64.md (*<NLOGICAL:optab>_one_cmplsidi3_ze):
13971 New pattern.
13972 (*xor_one_cmplsidi3_ze): Likewise.
13973
13974 2015-04-21 Thomas Preud'homme <thomas.preudhomme@arm.com>
13975
13976 * df-core.c (df_finish_pass): Iterate over df->problems_by_index[] and
13977 use df_remove_problem rather than manually removing problems, leaving
13978 holes in df->problems_in_order[].
13979
13980 2015-04-21 Tom de Vries <tom@codesourcery.com>
13981
13982 PR tree-optimization/65802
13983 * internal-fn.def (VA_ARG): Add ECF_NOTROW to flags.
13984
13985 2015-04-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13986
13987 * common/config/aarch64/aarch64-common.c (AARCH64_CPU_NAME_LENGTH):
13988 Increase to 128.
13989 (aarch64_rewrite_selected_cpu): Do not chop off extensions starting
13990 at '.'. Assert that there's enough space for everything.
13991
13992 2015-04-21 Uros Bizjak <ubizjak@gmail.com>
13993
13994 PR tree-optimization/64950
13995 Revert:
13996 2010-08-02 Uros Bizjak <ubizjak@gmail.com>
13997
13998 PR target/41089
13999 * config/alpha/alpha.c (alpha_build_builtin_va_list): Mark __offset
14000 as volatile.
14001
14002 2015-04-20 Shiva Chen <shiva0217@gmail.com>
14003
14004 PR rtl-optimization/64916
14005 * cfgcleanup.c (values_equal_p): New function.
14006 (can_replace_by): Use it.
14007
14008 2015-04-20 Paolo Carlini <paolo.carlini@oracle.com>
14009
14010 PR c++/65801
14011 * doc/invoke.texi ([-Wnarrowing]): Update.
14012
14013 2015-04-20 Jeff Law <law@redhat.com>
14014
14015 PR tree-optimization/65658
14016 * tree-ssa-threadupdate.c (redirection_block_p): Remove
14017 redundant test for GIMPLE_ASSIGN in last change.
14018
14019 2015-04-20 Uros Bizjak <ubizjak@gmail.com>
14020
14021 * config/i386/i386.c (set_pic_reg_ever_live): Remove.
14022 (legitimize_pic_address): Do not call set_pic_reg_ever_live.
14023 (legitimize_tls_address): Ditto.
14024 (ix86_expand_move): Ditto.
14025 (ix86_expand_binary_operator): Remove reload_in_progress checks.
14026 (ix86_expand_unary_operator): Ditto.
14027 * config/i386/predicates.md (index_register_operand): Ditto.
14028
14029 2015-04-20 Selim Belbachir <selim.belbachir@fr.thalesgroup.com>
14030
14031 * reorg.c (try_merge_delay_insns): Improve correctness checking
14032 for targets with multiple delay slots.
14033
14034 2015-04-20 Jeff Law <law@redhat.com>
14035
14036 PR tree-optimization/65658
14037 * tree-ssa-threadupdate.c (redirection_block_p): Ignore clobber
14038 statements too.
14039
14040 2015-04-20 Alan Lawrence <alan.lawrence@arm.com>
14041
14042 * config/aarch64/aarch64.c (aarch64_simd_emit_pair_result_insn): Delete.
14043 * config/aarch64/aarch64-protos.h (aarch64_simd_emit_pair_result_insn):
14044 Delete.
14045
14046 2015-04-20 Jakub Jelinek <jakub@redhat.com>
14047
14048 PR debug/65807
14049 * dwarf2out.c (add_AT_wide): Clear attr.dw_attr_val.val_entry.
14050
14051 2015-04-20 Richard Biener <rguenther@suse.de>
14052
14053 * gimple-fold.h (gimple_build): Remove optional valueize arguments.
14054 * gimple-fold.c (gimple_build_valueize): New function.
14055 (gimple_build): Always use gimple_build_valueize as valueize hook.
14056
14057 2015-04-20 Alan Lawrence <alan.lawrence@arm.com>
14058
14059 PR target/64134
14060 * config/aarch64/aarch64.c (aarch64_expand_vector_init): Load constant
14061 and overwrite variable parts if <= 1/2 the elements are variable.
14062
14063 2015-04-19 Vladimir Makarov <vmakarov@redhat.com>
14064
14065 PR rtl-optimization/65805
14066 * lra-eliminations.c (lra_eliminate_regs_1): Add new assert.
14067 Don't use difference of offset and previous offset if
14068 update_sp_offset is non-zero.
14069 (eliminate_regs_in_insn): Ditto.
14070 * lra-spills.c (remove_pseudos): Exchange 4th and 6th args in
14071 lra_eliminate_regs_1 call.
14072 * lra-constraints.c (get_equiv_with_elimination): Ditto.
14073
14074 2015-04-18 Trevor Saunders <tsaunders@mozilla.com>
14075
14076 * hash-table.h: Remove version of hash_table that stored value_type *.
14077 * asan.c, attribs.c, bitmap.c, cfg.c, cgraph.h, config/arm/arm.c,
14078 config/i386/winnt.c, config/ia64/ia64.c, config/mips/mips.c,
14079 config/sol2.c, coverage.c, cselib.c, dse.c, dwarf2cfi.c,
14080 dwarf2out.c, except.c, gcse.c, genmatch.c, ggc-common.c,
14081 gimple-ssa-strength-reduction.c, gimplify.c, haifa-sched.c,
14082 hard-reg-set.h, hash-map.h, hash-set.h, ipa-devirt.c, ipa-icf.h,
14083 ipa-profile.c, ira-color.c, ira-costs.c, loop-invariant.c,
14084 loop-iv.c, loop-unroll.c, lto-streamer.h, plugin.c, postreload-gcse.c,
14085 reginfo.c, statistics.c, store-motion.c, trans-mem.c, tree-cfg.c,
14086 tree-eh.c, tree-hasher.h, tree-into-ssa.c, tree-parloops.c,
14087 tree-sra.c, tree-ssa-coalesce.c, tree-ssa-dom.c, tree-ssa-live.c,
14088 tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-phiopt.c,
14089 tree-ssa-pre.c, tree-ssa-reassoc.c, tree-ssa-sccvn.c,
14090 tree-ssa-structalias.c, tree-ssa-tail-merge.c,
14091 tree-ssa-threadupdate.c, tree-vectorizer.c, tree-vectorizer.h,
14092 valtrack.h, var-tracking.c, vtable-verify.c, vtable-verify.h: Adjust.
14093
14094 2015-04-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
14095 Jakub Jelinek <jakub@redhat.com>
14096
14097 PR target/65787
14098 * config/rs6000/rs6000.c (rtx_is_swappable_p): Ensure that a
14099 subsequent SH_NONE operand does not overwrite an existing *special
14100 value.
14101 (adjust_extract): Handle case where a vec_extract operation is
14102 wrapped in a PARALLEL.
14103
14104 2015-04-17 H.J. Lu <hongjiu.lu@intel.com>
14105
14106 PR target/65780
14107 * config/i386/i386.c (ix86_binds_local_p): Define only if
14108 TARGET_MACHO and TARGET_DLLIMPORT_DECL_ATTRIBUTES are false.
14109
14110 2015-04-17 Jeff Law <law@redhat.com>
14111
14112 PR tree-optimization/47679
14113 * Makefile.in (OBJS); Add tree-ssa-scopedtables.o.
14114 * tree-ssa-scopedtables.c: New file.
14115 * tree-ssa-scopedtables.h: New file.
14116 * tree-ssa-dom.c: Include tree-ssa-scopedtables.h.
14117 (const_and_copies): Change name/type.
14118 (record_const_or_copy): Move into tree-ssa-scopedtables.c
14119 (record_const_or_copy_1): Similarly.
14120 (restore_vars_to_original_value): Similarly.
14121 (pass_dominator::execute): Create and destroy const_and_copies table.
14122 (thread_across_edge): Update passing of const_and_copies.
14123 (record_temporary_equivalence): Use method calls rather than
14124 manipulating const_and_copies directly.
14125 (record_equality, cprop_into_successor_phis): Similarly.
14126 (dom_opt_dom_walker::before_dom_children): Similarly.
14127 (dom_opt_dom_walker::after_dom_children): Similarly.
14128 (eliminate_redundant_computations): Similarly.
14129 * tree-ssa-threadedge.c (remove_temporary_equivalences): Delete.
14130 (record_temporary_equivalence): Likewise.
14131 (invalidate_equivalences): Likewise.
14132 (record_temporary_equivalences_from_phis): Update due to type
14133 change of const_and_copies. Use method calls rather than
14134 manipulating the stack directly.
14135 (record_temporary_equivalences_from_stmts_at_dest): Likewise.
14136 (thread_through_normal_block, thread_across_edge): Likewise.
14137 (thread_across_edge): Likewise.
14138 * tree-ssa-threadedge.h (thread_across_edge): Update prototype.
14139 * tree-vrp.c: Include tree-ssa-scopedtables.h. Change type
14140 of equiv_stack.
14141 (identify_jump_threads): Update due to type change of equiv_stack.
14142 (finalize_jump_threads): Delete the equiv_stack when complete.
14143
14144 2015-04-17 Uros Bizjak <ubizjak@gmail.com>
14145
14146 * config/i386/i386.h (LEGITIMIZE_RELOAD_ADDRESS): Remove.
14147 * config/i386/i386.c (ix86_legitimize_reload_address): Ditto.
14148 * config/i386/i386-protos.h (ix86_legitimize_reload_address): Ditto.
14149
14150 2015-04-17 Andreas Tobler <andreast@gcc.gnu.org>
14151
14152 PR target/65535
14153 * config.gcc: Exit with a comment when we do not have a major version
14154 number for the FreeBSD target.
14155
14156 2015-04-17 Jakub Jelinek <jakub@redhat.com>
14157
14158 PR target/65689
14159 * genpreds.c (struct constraint_data): Add maybe_allows_reg and
14160 maybe_allows_mem bitfields.
14161 (maybe_allows_none_start, maybe_allows_none_end,
14162 maybe_allows_reg_start, maybe_allows_reg_end, maybe_allows_mem_start,
14163 maybe_allows_mem_end): New variables.
14164 (compute_maybe_allows): New function.
14165 (add_constraint): Use it to initialize maybe_allows_reg and
14166 maybe_allows_mem fields.
14167 (choose_enum_order): Sort the non-is_register/is_const_int/is_memory/
14168 is_address constraints such that those that allow neither mem nor
14169 reg come first, then those that only allow reg but not mem, then
14170 those that only allow mem but not reg, then the rest.
14171 (write_allows_reg_mem_function): New function.
14172 (write_tm_preds_h): Call it.
14173 * stmt.c (parse_output_constraint, parse_input_constraint): Use
14174 the generated insn_extra_constraint_allows_reg_mem function
14175 instead of always setting *allows_reg = true; *allows_mem = true;
14176 for unknown extra constraints.
14177
14178 2015-04-17 H.J. Lu <hongjiu.lu@intel.com>
14179
14180 PR target/65780
14181 * output.h (default_binds_local_p_3): New.
14182 * varasm.c (default_binds_local_p_3): Make it public. Take an
14183 argument to indicate if common symbol may be local. If common
14184 symbol may be local, treat non-external variable as defined
14185 locally.
14186 (default_binds_local_p_2): Pass !flag_pic to default_binds_local_p_3.
14187 (default_binds_local_p_1): Pass false to default_binds_local_p_3.
14188 * config/i386/i386.c (ix86_binds_local_p): New.
14189 (TARGET_BINDS_LOCAL_P): Replace default_binds_local_p_2 with
14190 ix86_binds_local_p.
14191
14192 2015-04-17 Jakub Jelinek <jakub@redhat.com>
14193
14194 PR debug/65771
14195 * dwarf2out.c (mem_loc_descriptor): For CONST, fallback to
14196 trying mem_loc_descriptor on XEXP (rtl, 0).
14197
14198 2015-04-17 Martin Liska <mliska@suse.cz>
14199
14200 * ipa-icf.c (sem_item_optimizer::subdivide_classes_by_sensitive_refs):
14201 Release symbol_compare_collection.
14202 * ipa-reference.c: Add TODO that a vector should be released.
14203
14204 2015-04-17 Sivanupandi Pitchumani <Pitchumani.Sivanupandi@atmel.com>
14205
14206 PR target/65296
14207 * config/avr/gen-avr-mmcu-specs.c (*avrlibc_startfile): Adjust
14208 to new AVR-LibC file layout (bug #44574).
14209 (*avrlibc_devicelib): Same.
14210 * config/avr/avr-mcus.def: Adjust comments.
14211 * config/avr/avr.opt (nodevicelib): Adjust help.
14212
14213 2015-04-17 Alan Lawrence <alan.lawrence@arm.com>
14214
14215 * config/aarch64/arm_neon.h (vdup_n_f32): Remove forward declaration.
14216
14217 2015-04-17 Patrick Palka <ppalka@gcc.gnu.org>
14218
14219 PR c++/64527
14220 * gimplify.c (gimplify_init_constructor): Always emit a
14221 side-effecting constructor.
14222
14223 2015-04-17 Tom de Vries <tom@codesourcery.com>
14224
14225 PR tree-optimization/64950
14226 * gimplify.c (gimplify_function_tree): Tentatively set PROP_gimple_lva
14227 in cfun->curr_properties.
14228 (gimplify_va_arg_expr): Clear PROP_gimple_lva in cfun->curr_properties
14229 if we generate an IFN_VA_ARG.
14230 * tree-inline.c (expand_call_inline): Reset PROP_gimple_lva in dest
14231 function if PROP_gimple_lva is not set in src function.
14232
14233 2015-04-17 Tom de Vries <tom@codesourcery.com>
14234 Michael Matz <matz@suse.de>
14235
14236 PR tree-optimization/64950
14237 * gimple-iterator.c (update_modified_stmts): Remove static.
14238 * gimple-iterator.h (update_modified_stmts): Declare.
14239 * gimplify.c (gimplify_modify_expr): Handle IFN_VA_ARG.
14240 (gimplify_va_arg_internal): New function.
14241 (gimplify_va_arg_expr): Use IFN_VA_ARG.
14242 * gimplify.h (gimplify_va_arg_internal): Declare.
14243 * internal-fn.c (expand_VA_ARG): New unreachable function.
14244 * internal-fn.def (VA_ARG): New DEF_INTERNAL_FN.
14245 * tree-stdarg.c (gimple_call_ifn_va_arg_p, expand_ifn_va_arg_1)
14246 (expand_ifn_va_arg): New function.
14247 (pass_data_stdarg): Add PROP_gimple_lva to properties_provided field.
14248 (pass_stdarg::execute): Call expand_ifn_va_arg.
14249 (pass_data_lower_vaarg): New pass_data.
14250 (pass_lower_vaarg): New gimple_opt_pass.
14251 (pass_lower_vaarg::gate, pass_lower_vaarg::execute)
14252 (make_pass_lower_vaarg): New function.
14253 * cfgexpand.c (pass_data_expand): Add PROP_gimple_lva to
14254 properties_required field.
14255 * passes.def (all_passes): Add pass_lower_vaarg.
14256 * tree-pass.h (PROP_gimple_lva): Add define.
14257 (make_pass_lower_vaarg): Declare.
14258
14259 2015-04-17 Tom de Vries <tom@codesourcery.com>
14260
14261 * fold-const.c (operand_equal_p): Handle INTERNAL_FNs.
14262 * calls.c (call_expr_flags): Same.
14263
14264 2015-04-17 Tom de Vries <tom@codesourcery.com>
14265
14266 * tree-stdarg.c (optimize_va_list_gpr_fpr_size): Factor out of ...
14267 (pass_stdarg::execute): ... here.
14268
14269 2015-04-17 Tom de Vries <tom@codesourcery.com>
14270 Michael Matz <matz@suse.de>
14271
14272 * tree-cfg.c (make_blocks_1): Factor out of ...
14273 (make_blocks): ... here.
14274 (make_edges_bb): Factor out of ...
14275 (make_edges): ... here.
14276 (gimple_find_sub_bbs): New function.
14277 * tree-cfg.h (gimple_find_sub_bbs): Declare.
14278
14279 2015-04-17 Tom de Vries <tom@codesourcery.com>
14280
14281 * tree.c (free_lang_data): Disable lang_hooks.gimplify_expr.
14282
14283 2015-04-17 Yury Gribov <y.gribov@samsung.com>
14284
14285 * asan.c (set_sanitized_sections): New function.
14286 (section_sanitized_p): Ditto.
14287 (asan_protect_global): Optionally sanitize user-defined
14288 sections.
14289 * asan.h (set_sanitized_sections): Declare new function.
14290 * common.opt (fsanitize-sections): New option.
14291 * doc/invoke.texi (-fsanitize-sections): Document new option.
14292 * opts-global.c (handle_common_deferred_options): Handle new
14293 option.
14294
14295 2015-04-17 Jakub Jelinek <jakub@redhat.com>
14296
14297 PR debug/65771
14298 * dwarf2out.c (loc_list_from_tree): Return NULL
14299 for DEBUG_EXPR_DECL.
14300
14301 2015-04-17 Christian Bruel <christian.bruel@st.com>
14302
14303 * ipa-inline.c (can_inline_edge_p): Allow inlining of functions with
14304 same attributes.
14305
14306 2015-04-16 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
14307
14308 * ira-color.c (setup_left_conflict_sizes_p): Do not process
14309 node itself when computing left conflict subnode size.
14310
14311 2015-04-16 Uros Bizjak <ubizjak@gmail.com>
14312
14313 * config/i386/predicates.md (register_mixssei387nonimm_operand): New.
14314 * config/i386/i386.md (*fop_<mode>_1_mixed): Merge with
14315 *fop_<mode>_1_sse using enabled attribute. Use
14316 register_mixssei387nonimm_operand operand 1 predicate. Change
14317 alternative 3 constraints from "x" to "v".
14318
14319 2015-04-16 Richard Biener <rguenther@suse.de>
14320
14321 PR tree-optimization/65774
14322 * tree-ssa-ccp.c (evaluate_stmt): Constrain types we invoke
14323 bit-value tracking on.
14324
14325 2015-04-16 Richard Biener <rguenther@suse.de>
14326
14327 PR tree-optimization/64277
14328 * tree-vrp.c (check_array_ref): Fix anti-range handling,
14329 simplify upper bound handling.
14330 (search_for_addr_array): Simplify.
14331 (check_array_bounds): Handle ADDR_EXPRs here.
14332 (check_all_array_refs): Simplify.
14333
14334 2015-04-16 Uros Bizjak <ubizjak@gmail.com>
14335
14336 * config/i386/i386.c (print_reg): Rewrite function.
14337
14338 2015-04-16 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
14339
14340 * config/s390/s390.h (IRA_HARD_REGNO_ADD_COST_MULTIPLIER):
14341 Invert the condition.
14342
14343 2015-04-16 Renlin Li <renlin.li@arm.com>
14344
14345 * simplify-rtx.c (simplify_unary_operation_1): Fix a typo. Enable two
14346 simplifications for UNSIGNED_FLOAT.
14347
14348 2015-04-16 Nick Clifton <nickc@redhat.com>
14349
14350 * config/rl78/rl78-opts.h (enum rl78_mul_types): Add MUL_G14 and
14351 MUL_UNINIT.
14352 (enum rl78_cpu_type): New.
14353 * config/rl78/rl78-virt.md (attr valloc): Add divhi and divsi.
14354 (umulhi3_shift_virt): Remove m constraint from operand 1.
14355 (umulqihi3_virt): Likewise.
14356 * config/rl78/rl78.c (rl78_option_override): Add code to process
14357 -mcpu and -mmul options.
14358 (rl78_alloc_physical_registers): Add code to handle divhi and
14359 divsi valloc attributes.
14360 (set_origin): Likewise.
14361 * config/rl78/rl78.h (RL78_MUL_G14): Define.
14362 (TARGET_G10, TARGET_G13, TARGET_G14): Define.
14363 (TARGET_CPU_CPP_BUILTINS): Define __RL78_MUL_xxx__ and
14364 __RL78_Gxx__.
14365 (ASM_SPEC): Pass -mcpu on to assembler.
14366 * config/rl78/rl78.md (mulqi3): Add a clobber of AX.
14367 (mulqi3_rl78): Likewise.
14368 (mulhi3_g13): Likewise.
14369 (mulhi3): Generate the G13 or G14 versions of the insn directly.
14370 (mulsi3): Likewise.
14371 (mulhi3_g14): Add clobbers of AX and BC.
14372 (mulsi3_g14): Likewise.
14373 (mulsi3_g13): Likewise.
14374 (udivmodhi4, udivmodhi4_g14, udivmodsi4): New patterns.
14375 (udivmodsi4_g14, udivmodsi4_g13): New patterns.
14376 * config/rl78/rl78.opt (mmul): Initialise value to
14377 RL78_MUL_UNINIT.
14378 (mcpu): New option.
14379 (m13, m14, mrl78): New option aliases.
14380 * config/rl78/t-rl78 (MULTILIB_OPTIONS): Add mg13 and mg14.
14381 (MULTILIB_DIRNAMES): Add g13 and g14.
14382 * doc/invoke.texi: Document -mcpu and -mmul options.
14383
14384 2015-04-16 Richard Biener <rguenther@suse.de>
14385
14386 * tree-ssa-ccp.c (likely_value): See if we have operands that
14387 are marked as never simulate again and return CONSTANT in this
14388 case.
14389 * tree-ssa-propagate.c (simulate_stmt): Mark stmts that do
14390 not have any operands that will be simulated again as
14391 not being simulated again.
14392
14393 2015-04-15 Uros Bizjak <ubizjak@gmail.com>
14394
14395 * config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>_mixed):
14396 Merge with *cmpi<FPCMP:unord><MODEF:mode>_sse using enabled attribute.
14397 (*extendsfdf2_mixed): Merge with *extendsfdf2_sse using enabled
14398 attribute.
14399 (*truncdfsf_fast_mixed): Merge with *truncdfsf_fast_sse using
14400 enabled attribute.
14401 (*float<SWI48:mode><MODEF:mode>2_mixed): Rename from
14402 *float<SWI48:mode><MODEF:mode>2_sse.
14403 (*absneg<mode>2_mixed): Merge with *absneg<mode>2_sse using
14404 enabled attribute.
14405 (*fop_<mode>_comm_mixed): Merge with *fop_<mode>_comm_sse using
14406 enabled attribute.
14407
14408 2015-04-15 Tom de Vries <tom@codesourcery.com>
14409
14410 PR other/65487
14411 * function.c (push_dummy_function): New function.
14412 (init_dummy_function_start): Use push_dummy_function.
14413 (pop_dummy_function): New function. Factored out of ...
14414 (expand_dummy_function_end): ... here.
14415 * function.h (push_dummy_function, pop_dummy_function): Declare.
14416 * passes.c (pass_manager::dump_passes): Use push_dummy_function and
14417 pop_dummy_function.
14418 * tree-chkp.c (chkp_gate): Handle cgraph_node::get (cfun->decl) == NULL.
14419
14420 2015-04-15 Jeff Law <law@redhat.com>
14421
14422 PR tree-optimization/47679
14423 * tree-ssa-dom.c (build_and_record_new_cond): Moved to avoid
14424 need for forward declaration in upcoming changes.
14425 (record_conditions, record_edge_info): Likewise.
14426
14427 PR rtl-optimization/42522
14428 * cse.c (fold_rtx): Try to simplify a ZERO_EXTRACT or
14429 SIGN_EXTRACT as a whole object rather than simplifying
14430 its operand.
14431
14432 2015-04-15 Jakub Jelinek <jakub@redhat.com>
14433
14434 PR ipa/65765
14435 * ipa-icf-gimple.c (func_checker::compare_bb): For GIMPLE_NOP
14436 and GIMPLE_PREDICT use break instead of return true. For
14437 GIMPLE_EH_DISPATCH, compare dispatch region.
14438
14439 2015-04-14 Matthew Wahab <matthew.wahab@arm.com>
14440
14441 * doc/extend.texi (__sync Builtins): Simplify some text. Update
14442 details about the implementation. Make clear preference for
14443 __atomic builtins. Reduce possibility of future change.
14444
14445 2015-04-15 Nick Clifton <nickc@redhat.com>
14446
14447 * config/rx/rx.opt (mallow-string-insns): New option.
14448 * config/rx/rx.c (RX_BUILTIN_RMPA): Disable the use of this
14449 builtin if string instructions are denied.
14450 * config/rx/rx.h (TARGET_CPU_CPP_BUILTINS): Define
14451 __RX_ALLOW_STRING_INSNS__ or __RX_DISALLOW_STRING_INSNS__, as
14452 appropriate.
14453 (ASM_SPEC): Pass -mno-allow-string-insns on to the assembler.
14454 * config/rx/rx.md (movstr): Enable pattern only if string
14455 instructions are allowed.
14456 (rx_movstr, rx_strend, movmemsi, rx_movmem): Likewise.
14457 (cmpstrnsi, cmpstrsi, rx_cmpstrn, rmpa): Likewise.
14458 * config/rx/t-rx (MULTILIB_OPTIONS): Add mno-allow-string-insns.
14459 (MULTILIB_DIRNAMES): Add no-strings.
14460 * doc/invoke.texi: Document -mno-allow-string-insns.
14461
14462 2015-04-15 Alan Modra <amodra@gmail.com>
14463
14464 PR target/65408
14465 PR target/58744
14466 PR middle-end/36043
14467 * calls.c (load_register_parameters): Don't load past end of
14468 mem unless suitably aligned.
14469
14470 2015-04-15 Nick Clifton <nickc@redhat.com>
14471
14472 * config/rl78/rl78.c (rl78_expand_prologue): Mark large stack
14473 decrement instruction as being frame related.
14474 (rl78_print_operand_1): Handle 'p' modifier to add +0 to HL
14475 based addresses.
14476 If zero extending a function address enclose the operation in
14477 %code(...).
14478 (rl78_preferred_reload_class): New function.
14479 (TARGET_PREFERRED_RELOAD_CLASS): Define.
14480 * config/rl78/rl78.md: Remove useless constraints in expanders.
14481 (mulqi3_rl78): Remove + qualifier on input-only operand 1.
14482 (mulhi3_rl78): Likewise.
14483 (mulhi3_g13): Likewise.
14484 (mulsi3_rl78): Likewise.
14485 (es_addr): Move to before the multiply patterns.
14486
14487 2015-04-15 Alan Modra <amodra@gmail.com>
14488
14489 * function.h (struct emit_status): Delete x_first_insn, x_last_insn
14490 and sequence_stack. Add seq.
14491 (seq_stack): Delete.
14492 * function.c (prepare_function_start): Don't access x_last_insn.
14493 * emit-rtl.h (get_current_sequence, get_topmost_sequence): New.
14494 (get_insns, set_first_insn, get_last_insn, set_last_insn): Use them.
14495 * emit_rtl.c (start_sequence, push_topmost_sequence,
14496 pop_topmost_sequence, end_sequence, in_sequence_p, init_emit): Use
14497 sequence accessors.
14498 (get_last_insn_anywhere, add_insn_after_nobb, add_insn_before_nobb,
14499 remove_insn): Likewise. Simplify.
14500 * config/m32c/m32c.c (m32c_leaf_function_p): Use push_topmost_sequence
14501 and pop_topmost_sequence.
14502 (m32c_function_needs_enter): Use get_topmost_sequence. Ignore
14503 debug insns.
14504 * config/rs6000/rs6000.c (rs6000_call_aix): Use get_current_sequence.
14505
14506 2015-04-14 Yvan Roux <yvan.roux@linaro.org>
14507
14508 PR target/65729
14509 * lra-constraints.c (prohibited_class_reg_set_mode_p): Restore and fix
14510 the assertiion.
14511
14512 2015-04-14 Uros Bizjak <ubizjak@gmail.com>
14513
14514 * config/i386/i386.h (LEGACY_INT_REG_P): New define.
14515 (LEGACY_INT_REGNO_P): Ditto.
14516 (GENERAL_REGNO_P): Use LEGACY_INT_REGNO_P.
14517 (ANY_MASK_REG_P): Remove.
14518 (BND_REG_P): Rename from ANY_BND_REG_P.
14519 * config/i386/i386.c (print_reg): Use LEGACY_INT_REG_P to print
14520 legacy integer registers. Do not handle MMX_REG_P in a special way.
14521 Merge 64byte and 32byte SSE handling.
14522
14523 2015-04-14 Nick Clifton <nickc@redhat.com>
14524
14525 * expr.c (expand_assignment): Force an address offset computation
14526 into a register before changing its mode.
14527 (expand_expr_real_1): Likewise.
14528
14529 2015-04-14 Alan Lawrence <alan.lawrence@arm.com>
14530
14531 * config/aarch64/arm_neon.h (vst1_lane_f32, vst1_lane_f64,
14532 vst1_lane_p8, vst1_lane_p16, vst1_lane_s8, vst1_lane_s16,
14533 vst1_lane_s32, vst1_lane_s64, vst1_lane_u8, vst1_lane_u16,
14534 vst1_lane_u32, vst1_lane_u64, vst1q_lane_f32, vst1q_lane_f64,
14535 vst1q_lane_p8, vst1q_lane_p16, vst1q_lane_s8, vst1q_lane_s16,
14536 vst1q_lane_s32, vst1q_lane_s64, vst1q_lane_u8, vst1q_lane_u16,
14537 vst1q_lane_u32, vst1q_lane_u64): Reimplement with pointer dereference
14538 and __aarch64_vget_lane_any.
14539
14540 2015-04-14 Jakub Jelinek <jakub@redhat.com>
14541
14542 PR rtl-optimization/65761
14543 * cfgrtl.c (rtl_split_edge): For EDGE_CROSSING split, use
14544 get_last_bb_insn (after) instead of NEXT_INSN (BB_END (after)).
14545
14546 2015-04-14 Richard Biener <rguenther@suse.de>
14547
14548 * graphite-scop-detection.c: Do not include cp/cp-tree.h.
14549 (graphite_can_represent_scev): Use POINTER_TYPE_P.
14550
14551 2015-04-14 Richard Biener <rguenther@suse.de>
14552
14553 PR tree-optimization/65758
14554 * tree-ssa-ccp.c (get_value_from_alignment): Adjust mask test
14555 against -1.
14556 (ccp_lattice_meet): Likewise.
14557 (bit_value_unop): Likewise.
14558 (bit_value_binop): Likewise.
14559 (bit_value_assume_aligned): Likewise.
14560
14561 2015-04-14 Christian Bruel <christian.bruel@st.com>
14562
14563 * execute_dwarf2_frame (dw_frame_pointer_regnum): Reinitialize for each
14564 function.
14565
14566 2015-04-14 Marc Glisse <marc.glisse@inria.fr>
14567
14568 PR tree-optimization/63387
14569 * match.pd ((x unord x) | (y unord y) -> (x unord y),
14570 (x unord x) | (x unord y) -> (x unord y)): New simplifications.
14571
14572 2015-04-14 Uros Bizjak <ubizjak@gmail.com>
14573
14574 * config/i386/predicates.md (any_QIreg_operand): Rename from
14575 q_regs_operand. Do not process subregs.
14576 (QIreg_operand): Use QI_REGNO_P predicate.
14577 (ext_QIreg_operand): Ditto.
14578 (ext_register_operand): Ditto.
14579 * config/i386/i386.md (TEST splitters): Use QIreg_operand predicate.
14580 (AND splitters): Ditto.
14581 (AND with -65536 splitter): Add SWI48 mode for operand 0.
14582 (AND with -256 splitter): Use any_QIreg_operand predicate and
14583 SWI248 mode for operand 0.
14584 (AND with -65281 splitter): Use QIreg_operand predicate and SWI248
14585 mode for operand 0.
14586 (SETCC + MOVZBL peepholes): Update for renamed any_QIreg_operand.
14587
14588 2015-04-13 Gerald Pfeifer <gerald@pfeifer.com>
14589
14590 * doc/plugins.texi: Rewrite first introductory paragraph.
14591
14592 2015-04-12 Jan Hubicka <hubicka@ucw.cz>
14593
14594 * tree-vrp.c (nonnull_arg_p): THIS pointers and references are non-zero.
14595 (gimple_stmt_nonzero_warnv_p): Reference return values are non-zero.
14596
14597 2015-04-12 Jan Hubicka <hubicka@ucw.cz>
14598
14599 * ipa-profie.c (ipa_profile): Check number of parameters
14600 and possible polymorphic call targets before
14601 devirtualizing.
14602
14603 2015-04-13 Uros Bizjak <ubizjak@gmail.com>
14604
14605 * config/i386/i386.md (*bmi2_umul<mode><dwi>3_1): Merge from
14606 *bmi2_umulsidi3_1 and *bmi2_umulditi3_1 using DWIH mode iterator.
14607
14608 2015-04-13 Richard Biener <rguenther@suse.de>
14609
14610 PR tree-optimization/65204
14611 * tree-ssa-ccp.c (evaluate_stmt): Always evaluate address
14612 takens for bit-CCP.
14613
14614 2015-04-13 Richard Biener <rguenther@suse.de>
14615
14616 PR target/65660
14617 * config/i386/i386.c (bdver1_cost): Double cond_taken_branch_cost
14618 and cond_not_taken_branch_cost to 4 and 2.
14619 (bdver2_cost): Likewise.
14620 (bdver3_cost): Likewise.
14621 (bdver4_cost): Likewise.
14622
14623 2015-04-12 Jan Hubicka <hubicka@ucw.cz>
14624
14625 * hash-table.h (hash_table constructor): Add mem stats.
14626 (alloc_entries): Likewise.
14627
14628 2015-04-12 Jan Hubicka <hubicka@ucw.cz>
14629
14630 * ipa-cp.c (ipcp_driver): Relase prev_edge.
14631 * passes.c (execute_one_pass): Only add transform if pass has one.
14632
14633 2015-04-12 Joseph Myers <joseph@codesourcery.com>
14634
14635 * config/i386/i386.c (ix86_option_override_internal): Don't set
14636 -fprefetch-loop-arrays if optimizing for size.
14637
14638 2015-04-12 Jan Hubicka <hubicka@ucw.cz>
14639 Gerald Pfeifer <gerald@pfeifer.com>
14640
14641 * doc/contrib.texi (Contributors): Add Martin Jambor and
14642 Michael Matz.
14643
14644 2015-04-12 Jakub Jelinek <jakub@redhat.com>
14645
14646 * BASE-VER: Set to 6.0.0.
14647
14648 PR tree-optimization/65747
14649 * ipa-icf-gimple.c (func_checker::compare_operand): Use compare_operand
14650 rather than compare_ssa_name for OBJ_TYPE_REF_OBJECT.
14651
14652 2015-04-12 Gerald Pfeifer <gerald@pfeifer.com>
14653
14654 * doc/invoke.texi (-Wmemset-transposed-args): Break a long
14655 sentence. Improve grammar.
14656
14657 2015-04-12 Gerald Pfeifer <gerald@pfeifer.com>
14658
14659 * doc/contrib.texi (Contributors): Add Maxim Kuvyrkov.
14660
14661 2015-04-11 Jan Hubicka <hubicka@ucw.cz>
14662
14663 PR ipa/65743
14664 * ipa-inline-transform.c (speculation_removed): Remove static var.
14665 (check_speculations): New function.
14666 (clone_inlined_nodes): Do not check spculations.
14667 (inline_call): Call check_speculations.
14668 * ipa-prop.c (ipa_make_edge_direct_to_target): Do not
14669 consider non-invariants.
14670
14671 2015-04-11 Jan Hubicka <hubicka@ucw.cz>
14672 Martin Liska <mliska@suse.cz>
14673
14674 PR ipa/65722
14675 * ipa-icf.c (sem_item::compare_cgraph_references): function and
14676 variable can not match.
14677 (sem_item::update_hash_by_addr_refs): Fix handling of virtual tables.
14678 (sem_variable::equals_wpa): Fix checking of DECL_FINAL_P patch.
14679
14680 2015-04-11 Jakub Jelinek <jakub@redhat.com>
14681
14682 PR tree-optimization/65735
14683 * tree-ssa-threadedge.c (fsm_find_control_statement_thread_paths):
14684 Remove visited_phis argument, add visited_bbs, avoid recursing into the
14685 same bb rather than just into the same phi node.
14686 (thread_through_normal_block): Adjust caller.
14687
14688 2015-04-11 Gerald Pfeifer <gerald@pfeifer.com>
14689
14690 * doc/contrib.texi (Contributors): Add Ira Rosen.
14691
14692 2015-04-11 Benno Schulenberg <bensberg@justemail.net>
14693
14694 * gcov.c (find_source): Fix miswording in error message.
14695 * config/i386/i386.c (ix86_handle_cconv_attribute): Likewise.
14696 (ix86_expand_sse_comi_round): Fix typo in error message.
14697
14698 2015-04-11 Gerald Pfeifer <gerald@pfeifer.com>
14699
14700 * doc/contrib.texi (Contributors): Add Laurynas Biveinis.
14701
14702 2015-04-10 Gerald Pfeifer <gerald@pfeifer.com>
14703
14704 * doc/contrib.texi (Contributors): Update Joe Buck's entry.
14705
14706 2015-04-10 Vladimir Makarov <vmakarov@redhat.com>
14707
14708 PR target/65710
14709 * lra-assigns.c (spill_for): Update smallest_bad_spills_num.
14710 Print bad_spills_num and insn_pseudos_num.
14711
14712 2015-04-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
14713
14714 PR target/65694
14715 * config/arm/arm.c (arm_canonicalize_comparison): Use ARM_SIGN_EXTEND
14716 when creating +1 values for SImode.
14717
14718 2015-04-10 Vladimir Makarov <vmakarov@redhat.com>
14719
14720 PR target/65729
14721 * lra-constraints.c (prohibited_class_reg_set_mode_p): Comment the
14722 assert.
14723
14724 2015-04-10 Jakub Jelinek <jakub@redhat.com>
14725 Iain Sandoe <iain@codesourcery.com>
14726
14727 PR target/65351
14728 * configure: Regenerate.
14729
14730 2015-04-09 Kirill Yukhin <kirill.yukhin@intel.com>
14731
14732 PR target/65671
14733 * config/i386/sse.md: Generate vextract32x4 if AVX-512DQ is disabled.
14734
14735 2015-04-09 Gerald Pfeifer <gerald@pfeifer.com>
14736
14737 * doc/contrib.texi (Contributors): Add John Marino.
14738
14739 2015-04-09 Jakub Jelinek <jakub@redhat.com>
14740
14741 PR tree-optimization/65709
14742 * ubsan.c (instrument_mem_ref): Use TREE_TYPE (base) instead of
14743 TREE_TYPE (TREE_TYPE (t)).
14744
14745 2015-04-09 Vladimir Makarov <vmakarov@redhat.com>
14746
14747 PR target/65710
14748 * lra-int.h (lra_bad_spill_regno_start): New.
14749 * lra.c (lra_bad_spill_regno_start): New.
14750 (lra): Set up lra_bad_spill_regno_start. Set up
14751 lra_constraint_new_regno_start unconditionally.
14752 * lra-assigns.c (spill_for): Use lra_bad_spill_regno_start for
14753 spill preferences.
14754
14755 2015-04-09 Marek Polacek <polacek@redhat.com>
14756 Jakub Jelinek <jakub@redhat.com>
14757
14758 PR middle-end/65554
14759 * gimple-fold.c (gimple_fold_builtin_memory_op): Update comment.
14760 (fold_ctor_reference): Use STRIP_USELESS_TYPE_CONVERSION instead
14761 of STRIP_NOPS.
14762
14763 2015-04-09 Segher Boessenkool <segher@kernel.crashing.org>
14764
14765 PR rtl-optimization/65693
14766 * combine.c (is_parallel_of_n_reg_sets): Move outside of
14767 #ifndef HAVE_cc0.
14768
14769 2015-04-09 Georg-Johann Lay <avr@gjlay.de>
14770
14771 PR target/65296
14772 * config/avr/driver-avr.c (avr_devicespecs_file): Don't specify a
14773 device specs file if "device-specs%s" didn't resolve to a path.
14774
14775 2015-04-09 Kirill Yukhin <kirill.yukhin@intel.com>
14776
14777 PR target/65676
14778 * config/i386/i386.c (fixup_modeless_constant): New.
14779 (ix86_expand_args_builtin): Fixup modeless constant operand.
14780 (ix86_expand_round_builtin): Ditto.
14781 (ix86_expand_special_args_builtin): Ditto.
14782 (ix86_expand_builtin): Ditto.
14783
14784 2015-04-09 Jakub Jelinek <jakub@redhat.com>
14785
14786 PR target/65693
14787 * config/i386/i386.md (*udivmod<mode>4_pow2): Allow
14788 any pow2 integer in between 2 and 0x80000000U inclusive.
14789
14790 2015-04-08 Segher Boessenkool <segher@kernel.crashing.org>
14791
14792 PR rtl-optimization/65693
14793 * combine.c (is_parallel_of_n_reg_sets): Change first argument
14794 from an rtx_insn * to an rtx.
14795 (try_combine): Adjust both callers. Use it once more.
14796
14797 2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
14798
14799 * tree-chkp.c (chkp_find_const_bounds_var): Remove.
14800 (chkp_make_static_const_bounds): Search existing
14801 symbol by assembler name. Use make_decl_one_only.
14802 (chkp_get_zero_bounds_var): Remove node search which
14803 is now performed in chkp_make_static_const_bounds.
14804 (chkp_get_none_bounds_var): Likewise.
14805
14806 2015-04-08 Michael Witten <mfwitten@gmail.com>
14807
14808 * doc/extend.texi (Attribute Syntax): Add a trailing semicolon
14809 to an example.
14810
14811 2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
14812
14813 * tree.h (CONVERT_EXPR_P): Commentary typo fix.
14814
14815 2015-04-08 Gerald Pfeifer <gerald@pfeifer.com>
14816
14817 * doc/extend.texi (__sync Builtins): Fix grammar.
14818
14819 2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
14820
14821 * doc/cfg.texi (GIMPLE statement iterators): Fix typo.
14822
14823 2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
14824
14825 * varasm.c (emit_local): Move definition of align.
14826
14827 2015-04-08 Julian Brown <julian@codesourcery.com>
14828
14829 * config/nvptx/mkoffload.c (process): Support variable mapping.
14830
14831 2015-03-27 Trevor Saunders <tbsaunde@tbsaunde.org>
14832
14833 * config/alpha/alpha.c (alpha_use_linkage): Change type of slot to
14834 alpha_links **.
14835 (alpha_write_one_linkage): Correct typo.
14836
14837 2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
14838
14839 * ipa-comdats.c (propagate_comdat_group): Walk through thunks.
14840
14841 2015-04-08 Gerald Pfeifer <gerald@pfeifer.com>
14842
14843 * doc/install.texi (bootstrap-lto-noplugin): Rewrite.
14844
14845 2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
14846
14847 * tree-chkp.h (chkp_insert_retbnd_call): New.
14848 * tree-chkp.c (chkp_insert_retbnd_call): New.
14849 * ipa-split.c (insert_bndret_call_after): Remove.
14850 (split_function): Use chkp_insert_retbnd_call.
14851 * cgraphunit.c (cgraph_node::expand_thunk): Build returned
14852 bounds for instrumented functions.
14853
14854 2015-04-07 Jan Hubicka <hubicka@ucw.cz>
14855
14856 PR ipa/65540
14857 * calls.c (initialize_argument_information): When producing tail
14858 call also turn SSA_NAMES passed by references to original PARM_DECLs
14859
14860 2015-04-07 Vladimir Makarov <vmakarov@redhat.com>
14861
14862 PR target/65648
14863 * lra-remat.c (do_remat): Process input and non-input insn
14864 registers separately.
14865
14866 2015-04-07 Jakub Jelinek <jakub@redhat.com>
14867
14868 PR debug/65678
14869 * valtrack.c (debug_lowpart_subreg): New function.
14870 (dead_debug_insert_temp): Use it.
14871
14872 PR middle-end/65680
14873 * expr.c (get_inner_reference): Handle bit_offset that doesn't fit
14874 into signed HOST_WIDE_INT the same as negative bit_offset.
14875
14876 2015-04-07 Ilya Enkovich <ilya.enkovich@intel.com>
14877
14878 * ipa-comdats.c (ipa_comdats): Visit all thunks
14879 to set proper comdat group.
14880
14881 2015-04-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
14882
14883 PR target/65489
14884 * config/arm/arm.c (arm_legitimate_constant_p_1): Remove restriction
14885 on constants for NEON VSTRUCT modes.
14886
14887 2015-04-07 Jakub Jelinek <jakub@redhat.com>
14888 Iain Sandoe <iain@codesourcery.com>
14889
14890 PR target/65351
14891 * configure: Regenerate.
14892
14893 2015-04-06 Michael Meissner <meissner@linux.vnet.ibm.com>
14894
14895 PR target/65614
14896 * config/rs6000/rs6000.c (struct processor_costs): Add cost field
14897 for SF->DF conversions to make FLOAT_EXTEND more expensive, so
14898 that LFD is used to load double constants instead of LFS. Add
14899 defaults for all costs structures. Add comments for missing
14900 initialization fields.
14901 (size32_cost): Likewise.
14902 (size64_cost): Likewise.
14903 (rs64a_cost): Likewise.
14904 (mpccore_cost): Likewise.
14905 (ppc403_cost): Likewise.
14906 (ppc405_cost): Likewise.
14907 (ppc440_cost): Likewise.
14908 (ppc476_cost): Likewise.
14909 (ppc601_cost): Likewise.
14910 (ppc603_cost): Likewise.
14911 (ppc604_cost): Likewise.
14912 (ppc604e_cost): Likewise.
14913 (ppc620_cost): Likewise.
14914 (ppc630_cost): Likewise.
14915 (ppccell_cost): Likewise.
14916 (ppc750_cost): Likewise.
14917 (ppc7450_cost): Likewise.
14918 (ppc8540_cost): Likewise.
14919 (ppce300c2c3_cost): Likewise.
14920 (ppce500mc_cost): Likewise.
14921 (ppce500mc64_cost): Likewise.
14922 (ppce5500_cost): Likewise.
14923 (ppce6500_cost): Likewise.
14924 (titan_cost): Likewise.
14925 (power4_cost): Likewise.
14926 (power6_cost): Likewise.
14927 (power7_cost): Likewise.
14928 (power8_cost): Likewise.
14929 (ppca2_cost): Likewise.
14930 (rs6000_rtx_costs): Make FLOAT_EXTEND use SFDF_convert field.
14931
14932 * config/rs6000/rs6000.md (extendsfdf2_fpr): Generate XSCPSGNDP
14933 instead of XXLOR to copy SFmode to clear out dirty bits created
14934 when SFmode denormals are generated.
14935 (mov<mode>_hardfloat, FMOVE32 case): Likewise.
14936 (truncdfsf2_fpr): Add support for ISA 2.07 XSRSP instruction.
14937
14938 2015-04-06 Evandro Menezes <e.menezes@samsung.com>
14939
14940 * doc/invoke.texi (AARCH64/mtune): Add exynos-m1 as an option.
14941 * config/aarch64/aarch64-cores.def (exynos-m1): New core.
14942 * config/aarch64/aarch64-tune.md: Regenerate.
14943
14944 2015-04-06 Evandro Menezes <e.menezes@samsung.com>
14945
14946 * doc/invoke.texi (ARM/mtune): Add "exynos-m1" as an option.
14947 * config/arm/arm.c (arm_issue_rate): Specify "3" for "exynosm1".
14948 * config/arm/arm-cores.def (exynos-m1): New core.
14949 * config/arm/arm-tune.md: Regenerate.
14950 * config/arm/arm-tables.opt: Add entry for "exynos-m1".
14951 * config/arm/bpabi.h: Likewise.
14952
14953 2015-04-06 Ilya Enkovich <ilya.enkovich@intel.com>
14954
14955 * ipa-cp (set_single_call_flag): Remove too
14956 restrictive assert.
14957
14958 2015-04-06 Ilya Verbin <ilya.verbin@intel.com>
14959
14960 * config/i386/intelmic-mkoffload.c (generate_host_descr_file): Call
14961 GOMP_offload_unregister from the destructor.
14962
14963 2015-04-06 Ilya Enkovich <ilya.enkovich@intel.com>
14964
14965 * ipa-chkp.c (chkp_maybe_create_clone): Reset cdtor
14966 flags for instrumentation thunk.
14967 (chkp_produce_thunks): Likewise.
14968
14969 2015-04-05 Martin Liska <mliska@suse.cz>
14970
14971 PR ipa/65665
14972 * ipa-icf.c (sem_function::equals_wpa): Verify that IPA CP
14973 has computed data structure.
14974 (sem_item_optimizer::update_hash_by_addr_refs): Likewise.
14975
14976 2015-04-04 Jan Hubicka <hubicka@ucw.cz>
14977
14978 * invoke.texi (inline-unit-growth): Increase growth to 20%
14979 * params.def (PARAM_INLINE_UNIT_GROWTH): Likewise.
14980
14981 2015-04-04 Vladimir Makarov <vmakarov@redhat.com>
14982
14983 PR target/65647
14984 * lra-int.h (LRA_MAX_REMATERIALIZATION_PASSES): New. Add its
14985 value checking.
14986 (lra_rematerialization_iter): New.
14987 * lra.c (lra): Initialize lra_rematerialization_iter.
14988 Stop updating lra_constraint_new_regno_start after switching of
14989 inheritance and rematerialization.
14990 * lra-remat.c (lra_rematerialization_iter): New.
14991 (lra_remat): Add printing pass iteration. Do rematerialization
14992 only first LRA_MAX_REMATERIALIZATION_PASSES iterations.
14993
14994 2015-04-04 Richard Biener <rguenther@suse.de>
14995
14996 PR tree-optimization/64909
14997 PR tree-optimization/65660
14998 * tree-vectorizer.h (vect_get_known_peeling_cost): Adjust
14999 to take a cost vector for scalar iteration cost.
15000 (vect_get_single_scalar_iteration_cost): Likewise.
15001 * tree-vect-loop.c (vect_get_single_scalar_iteration_cost):
15002 Compute the scalar iteration cost into a cost vector.
15003 (vect_get_known_peeling_cost): Use the scalar cost vector to
15004 account for the cost of the peeled iterations.
15005 (vect_estimate_min_profitable_iters): Likewise.
15006 * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost):
15007 Likewise.
15008
15009 2015-04-04 Alan Modra <amodra@gmail.com>
15010
15011 PR target/65576
15012 PR target/65240
15013 * config/rs6000/predicates.md (zero_reg_mem_operand): Exclude
15014 0.0 constant unless TARGET_VSX.
15015 * config/rs6000/rs6000.md (extenddftf2_internal): Remove last
15016 alternative.
15017
15018 2015-04-03 Jan Hubicka <hubicka@ucw.cz>
15019
15020 PR ipa/65654
15021 * ipa-inline-transform.c (inline_call): Skip sanity check to work
15022 around the ICE
15023
15024 2015-04-03 Jan Hubicka <hubicka@ucw.cz>
15025
15026 PR ipa/65655
15027 * ipa-inline-analysis.c (edge_set_predicate): Do not redirect
15028 speculative indirect edges to avoid ordering issue.
15029
15030 2015-04-03 Jan Hubicka <hubicka@ucw.cz>
15031
15032 PR ipa/65076
15033 * ipa-inline.c (edge_badness): Add combined size to the denominator.
15034
15035 2015-04-03 Jakub Jelinek <jakub@redhat.com>
15036
15037 * omp-low.c (scan_omp_parallel, scan_omp_task, scan_omp_target): Set
15038 TYPE_ARTIFICIAL on the .omp_data* types.
15039
15040 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
15041
15042 * cgraphunit.c (cgraph_node::expand_thunk): Don't expand
15043 instrumentation thunks.
15044
15045 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
15046
15047 * config/i386/i386.c (ix86_expand_call): Avoid nested
15048 PARALLEL in returned call value.
15049
15050 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
15051
15052 * lto-cgraph.c (input_cgraph_1): Always link instrumented
15053 assembler name with original one.
15054
15055 2015-04-02 Uros Bizjak <ubizjak@gmail.com>
15056
15057 * config/i386/i386.c (ix86_register_priority): Use AX_REG.
15058
15059 2015-04-02 Uros Bizjak <ubizjak@gmail.com>
15060
15061 Revert parts of r216820.
15062 * config/i386/i386.md (movqi_internal): Correct type calculation
15063 for alternatives 3 and 5.
15064
15065 2015-04-02 Jakub Jelinek <jakub@redhat.com>
15066
15067 PR preprocessor/61977
15068 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Don't
15069 predefine __vector/__bool/__pixel macros nor context sensitive
15070 macros for CLK_ASM.
15071 * config/spu/spu-c.c (spu_cpu_cpp_builtins): Similarly.
15072
15073 2015-04-02 John David Anglin <danglin@gcc.gnu.org>
15074
15075 * config/pa/pa.c (pa_output_move_double): Directly handle register
15076 indexed memory operand. Simplify handling of scaled register indexed
15077 memory operands.
15078
15079 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
15080
15081 PR driver/65444
15082 * config/i386/linux-common.h (MPX_SPEC): New.
15083 (CHKP_SPEC): Add MPX_SPEC.
15084 * doc/invoke.texi (-fcheck-pointer-boudns): Document
15085 possible issues with '-z bndplt' support in linker.
15086
15087 2015-04-02 Uros Bizjak <ubizjak@gmail.com>
15088
15089 * config/i386/sync.md (UNSPEC_FILD_ATOMIC, UNSPEC_FIST_ATOMIC): New.
15090 (loaddi_via_fpu): Use UNSPEC_FILD_ATOMIC.
15091 (storedi_via_fpu): Use UNSPEC_FIST_ATOMIC.
15092 * reg-stack.c (get_true_reg): Change UNSPEC_LDA to UNSPEC_FILD_ATOMIC.
15093 (subst_stack_regs_pat): Change UNSPEC_STA to UNSPEC_FIST_ATOMIC.
15094
15095 2015-04-01 Uros Bizjak <ubizjak@gmail.com>
15096
15097 * config/i386/sync.md (UNSPEC_MOVA): Remove.
15098 (atomic_load<mode>): Change operand 0 predicate to
15099 nonimmediate_operand and fix up the destination when needed.
15100 Use UNSPEC_LDA.
15101 (atomic_loaddi_fpu): Use UNSPEC_LDA.
15102 (atomic_store<mode>): Change operand 1 predicate to
15103 nonimmendate_operand and move the source to register when needed.
15104 Use UNSPEC_STA.
15105 (atomic_store<mode>_1): Use UNSPEC_STA.
15106 (atomic_storedi_fpu): Change operand 1 to nonimmediate_operand.
15107 Fix moves from memory operand. Use UNSPEC_STA.
15108
15109 2015-04-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
15110
15111 * expmed.c (strict_volatile_bitfield_p): Check that the access will
15112 not cross a MODESIZE boundary.
15113 (store_bit_field, extract_bit_field): Added assertions in the
15114 strict volatile bitfields code path.
15115
15116 2015-04-01 Max Ostapenko <m.ostapenko@partner.samsung.com>
15117
15118 PR target/65624
15119 * config/aarch64/aarch64-builtins.c (aarch64_simd_expand_builtin):
15120 Increase args array size by one to avoid buffer overflow.
15121
15122 2015-03-31 Jan Hubicka <hubicka@ucw.cz>
15123
15124 * lto-cgraph.c (lto_output_node, input_overwrite_node): Stream
15125 split_part.
15126 * ipa-inline.c (edge_badness): Add wrapper penalty.
15127 (sum_callers): Move up.
15128 (inline_small_functions): Set single_caller.
15129 * ipa-inline.h (inline_summary): Add single_caller.
15130 * ipa-split.c (split_function): Set split_part.
15131 (cgraph_node::create_clone): Do not shadow decl; copy split_part.
15132 * cgraph.h (cgraph_node): Add split_part.
15133
15134 2015-03-31 Uros Bizjak <ubizjak@gmail.com>
15135
15136 PR target/58945
15137 * config/i386/sync.md (atomic_compare_and_swap<dwi>_doubleword):
15138 Do not split operands 0 and operands 2 to halfmode.
15139 (atomic_compare_and_swap<mode>): Update for
15140 atomic_compare_and_swap<dwi>_doubleword changes.
15141
15142 2015-03-31 Jan Hubicka <hubicka@ucw.cz>
15143
15144 * tree.c (need_assembler_name_p): Artificial types have no ODR names.
15145 * ipa-devirt.c (warn_odr): Do not try to apply ODR cache when
15146 no caching is done.
15147
15148 2015-03-31 Martin Liska <mliska@suse.cz>
15149
15150 PR ipa/65557
15151 * ipa-icf.c (sem_function::equals_wpa): Check if IPA CP
15152 has already filled up function summary.
15153 (sem_item_optimizer::update_hash_by_addr_refs): Likewise.
15154
15155 2015-03-31 Richard Biener <rguenther@suse.de>
15156
15157 * tree-sra.c (create_access_replacement): Drop under-/over-alignment
15158 of types.
15159
15160 2015-03-31 Dominik Vogt <vogt@linux.vnet.ibm.com>
15161
15162 * config/s390/s390.c (s390_function_num_hotpatch_hw): Allow hotpatching
15163 nested functions.
15164 (s390_reorg): Adapt to new signature of s390_function_num_hotpatch_hw.
15165 (s390_asm_output_function_label): Adapt to new signature of
15166 s390_function_num_hotpatch_hw
15167 Optimise the code generating assembler output.
15168 Add comments to assembler file.
15169
15170 2015-03-31 Richard Biener <rguenther@suse.de>
15171
15172 PR middle-end/65626
15173 * tree-cfgcleanup.c (fixup_noreturn_call): Only split the block
15174 of the noreturn call so it is last and cleanup_control_flow_bb
15175 can do the CFG part.
15176
15177 2015-03-31 Ilya Enkovich <ilya.enkovich@intel.com>
15178
15179 PR target/65531
15180 * ipa-chkp.c (chkp_maybe_create_clone): Don't set
15181 same_comdat_group for external symbols.
15182 * symtab.c (symtab_node::verify_symtab_nodes): Avoid
15183 infinite same_comdat_group traversal loop.
15184
15185 2015-03-31 Jakub Jelinek <jakub@redhat.com>
15186
15187 PR plugins/61176
15188 * Makefile.in (install-plugin): Add all gcc/*.{h,def} files
15189 automatically to $headers.
15190
15191 2015-03-30 Jakub Jelinek <jakub@redhat.com>
15192
15193 PR ipa/65610
15194 * ipa-utils.h (inlined_polymorphic_ctor_dtor_block_p): Declare.
15195 * ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p): New
15196 function.
15197 (decl_maybe_in_construction_p, noncall_stmt_may_be_vtbl_ptr_store):
15198 Use it.
15199 * ipa-prop.c (param_type_may_change_p): Likewise.
15200 * tree-ssa-live.c: Include ipa-utils.h and its dependencies.
15201 (remove_unused_scope_block_p): Add in_ctor_dtor_block
15202 argument. Before inlining, preserve
15203 inlined_polymorphic_ctor_dtor_block_p blocks and the outermost block
15204 with FUNCTION_DECL BLOCK_ABSTRACT_ORIGIN inside of them. Adjust
15205 recursive calls.
15206 (remove_unused_locals): Adjust remove_unused_scope_block_p caller.
15207
15208 2015-03-27 Jan Hubicka <hubicka@ucw.cz>
15209
15210 PR ipa/65076
15211 * ipa-inline.c (edge_badness): Base denominator on callee's
15212 grwoth squared.
15213
15214 2015-03-27 Martin Jambor <mjambor@suse.cz>
15215
15216 PR ipa/65478
15217 * params.def (PARAM_IPA_CP_RECURSION_PENALTY) : New.
15218 (PARAM_IPA_CP_SINGLE_CALL_PENALTY): Likewise.
15219 * ipa-prop.h (ipa_node_params): New flags node_within_scc and
15220 node_calling_single_call.
15221 * ipa-cp.c (count_callers): New function.
15222 (set_single_call_flag): Likewise.
15223 (initialize_node_lattices): Count callers and set single_flag_call if
15224 necessary.
15225 (incorporate_penalties): New function.
15226 (good_cloning_opportunity_p): Use it, dump new flags.
15227 (propagate_constants_topo): Set node_within_scc flag if appropriate.
15228 * doc/invoke.texi (ipa-cp-recursion-penalty,
15229 ipa-cp-single-call-pentalty): Document.
15230
15231 2015-03-27 Jan Hubicka <hubicka@ucw.cz>
15232
15233 PR ipa/65588
15234 * symtab.c (symtab_node::get_partitioning_class): Register vars
15235 are duplicated.
15236 * varpool.c (symbol_table::output_variables) Do not assemble unefined
15237 decls for non-symbols.
15238
15239 2015-03-27 H.J. Lu <hongjiu.lu@intel.com>
15240
15241 PR target/65248
15242 * output.h (default_binds_local_p_2): New.
15243 * varasm.c (default_binds_local_p_2): Renamed to ...
15244 (default_binds_local_p_3): This. Don't return true on protected
15245 data symbol if protected data may be external.
15246 (default_binds_local_p): Use default_binds_local_p_3.
15247 (default_binds_local_p_1): Likewise.
15248 (default_binds_local_p_2): New.
15249 * config/i386/i386.c (TARGET_BINDS_LOCAL_P): Set to
15250 default_binds_local_p_2 if TARGET_MACHO is undefined.
15251
15252 2015-03-27 Jakub Jelinek <jakub@redhat.com>
15253
15254 PR target/65593
15255 * config/i386/i386.c (legitimize_pic_address): If base
15256 is SYMBOL_REF or LABEL_REF using %rip addressing, force
15257 it to reg to avoid PLUS of SYMBOL_REF/LABEL_REF and register.
15258
15259 2015-03-27 Jan Hubicka <hubicka@ucw.cz>
15260
15261 PR target/65531
15262 * symtab.c (symtab_node::verify_symtab_nodes): Fix verification of
15263 comdat groups.
15264
15265 2015-03-27 Jan Hubicka <hubicka@ucw.cz>
15266
15267 PR ipa/65600
15268 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Fix the case
15269 of optimized out indirect call.
15270 (redirect_to_unreachable): Always build symbol table node for
15271 BUILT_IN_UNREACHABLE
15272
15273 2015-03-27 Vladimir Makarov <vmakarov@redhat.com>
15274
15275 PR target/65407
15276 * ira-costs.c (record_reg_classes): Process all constraint string
15277 containing 0-9.
15278
15279 2015-03-27 Bernd Schmidt <bernds@codesourcery.com>
15280
15281 * config/c6x/c6x.md (movmisalign<mode>): Use MEM_P, not
15282 memory_operand.
15283
15284 PR target/65052
15285 * config/c6x/constraints.md (S3): New constraint.
15286 * config/c6x/c6x.md (real_jump): Use it.
15287
15288 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
15289
15290 PR middle-end/65595
15291 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Only
15292 do redirection if the call is not optimized out.
15293
15294 2015-03-27 Ilya Enkovich <ilya.enkovich@intel.com>
15295
15296 PR target/65495
15297 * c-family/c.opt (fcheck-pointer-bounds): List supported languages.
15298 (fchkp-check-incomplete-type): Add LTO.
15299 (fchkp-zero-input-bounds-for-main): Likewise.
15300 (fchkp-first-field-has-own-bounds): Likewise.
15301 (fchkp-narrow-bounds): Likewise.
15302 (fchkp-narrow-to-innermost-array): Likewise.
15303 (fchkp-use-static-bounds): Likewise.
15304 (fchkp-use-static-const-bounds): Likewise.
15305 (fchkp-treat-zero-dynamic-size-as-infinite): Likewise.
15306
15307 2015-03-27 Marek Polacek <polacek@redhat.com>
15308
15309 * gimple-iterator.h (gsi_prev_nondebug): Fix typo.
15310
15311 2015-03-27 Marek Polacek <polacek@redhat.com>
15312
15313 PR sanitizer/65583
15314 * ubsan.c (ubsan_create_edge): New function.
15315 (instrument_bool_enum_load): Call it.
15316 (instrument_nonnull_arg): Likewise.
15317 (instrument_nonnull_return): Likewise.
15318 (instrument_object_size): Likewise.
15319
15320 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
15321
15322 * lto-streamer.h (class lto_location_cache): Turn loc_cache into
15323 auto_vec.
15324
15325 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
15326
15327 PR lto/65536
15328 * lto-streamer.h (class lto_location_cache): New.
15329 (struct data_in): Add location_cache.
15330 (lto_input_location): Update prototype.
15331 (stream_input_location_now): New.
15332 * streamer-hooks.h (struct streamer_hooks): Make input_location to take
15333 pointer to location.
15334 (stream_input_location): Update.
15335 * ipa-devirt.c: Include streamer-hooks.h and lto-streamer.h
15336 (warn_odr): Apply location cache before warning.
15337 (lto_input_location): Update prototype.
15338 * gimple-streamer-in.c (input_phi, input_gimple_stmt):
15339 Use stream_input_location_now.
15340 * lto-streamer-in.c (lto_location_cache::current_cache): New static
15341 variable.
15342 (lto_location_cache::cmp_loc): New function.
15343 (lto_location_cache::apply_location_cache): New function.
15344 (lto_location_cache::accept_location_cache): New function.
15345 (lto_location_cache::revert_location_cache): New function.
15346 (lto_location_cache::input_location): New function.
15347 (lto_input_location): Do location caching.
15348 (stream_input_location_now): New function.
15349 (input_eh_region, input_struct_function_base): Use
15350 stream_input_location_now.
15351 (lto_data_in_create): use new.
15352 (lto_data_in_delete): Use delete.
15353 * tree-streamer-in.c (unpack_ts_block_value_fields,
15354 unpack_ts_omp_clause_value_fields, streamer_read_tree_bitfields,
15355 lto_input_ts_exp_tree_pointers): Update for cached location api.
15356
15357 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
15358
15359 PR ipa/65076
15360 * passes.def: Add pass_nothrow.
15361 * ipa-pure-const.c: (pass_data_nothrow): New.
15362 (pass_nothrow): New.
15363 (pass_nothrow::execute): New.
15364 (make_pass_nothrow): New.
15365 * tree-pass.h (make_pass_nothrow): Declare.
15366
15367 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
15368
15369 * ipa-inline-analysis.c (redirect_to_unreachable): Be prepared for
15370 edge to change by speculation resolution or redirection.
15371 (edge_set_predicate): Likewise.
15372 (inline_summary_t::duplicate): Likewise.
15373 (remap_edge_summaries): Likewise.
15374
15375 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
15376
15377 * ipa-inline.c (check_maybe_up, check_maybe_down, check_match):
15378 New macros.
15379 (can_inline_edge_p): Relax option matching for always inline functions.
15380
15381 2015-03-26 Uros Bizjak <ubizjak@gmail.com>
15382
15383 PR target/65561
15384 * config/i386/sse.md (avx512dq_vextract<shuffletype>64x2_1_maskm):
15385 Check operand 4 and operand 0 for equality.
15386 (avx512f_vextract<shuffletype>32x4_1_maskm):
15387 Check operand 6 and operand 0 for equality.
15388 (vec_extract_lo_<mode>_maskm): Check operand 2 and operand 0
15389 for equality.
15390 (vec_extract_hi_<mode>_maskm): Ditto.
15391
15392 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
15393
15394 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Do not bring
15395 dead calls back to live.
15396 (cgraph_edge::verify_count_and_frequency): Move cgraph/cfg frequency
15397 cross check to ...
15398 (cgraph_node::verify_node): ... here; verify only callee edges,
15399 not caller.
15400 * cif-code.def (CILK_SPAWN): New code.
15401
15402 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
15403
15404 * ipa-inline-analysis.c (redirect_to_unreachable): New function.
15405 (edge_set_predicate): Use it to mark unreachable edges.
15406 (inline_summary_t::duplicate): Remove unnecesary code.
15407 (remap_edge_summaries): Likewise.
15408 (dump_inline_summary): Report contains_cilk_spawn.
15409 (compute_inline_parameters): Compute contains_cilk_spawn.
15410 (inline_read_section, inline_write_summary): Stream
15411 contains_cilk_spawn.
15412 * ipa-inline.c (can_inline_edge_p): Do not touch
15413 DECL_STRUCT_FUNCTION that may not be available;
15414 use CIF_CILK_SPAWN for cilk; fix optimization attribute checks;
15415 remove check for callee_fun->can_throw_non_call_exceptions and
15416 replace it by optimization attribute check; check for flag_exceptions.
15417 * ipa-inline-transform.c (inline_call): Maintain
15418 DECL_FUNCTION_PERSONALITY
15419 * ipa-inline.h (inline_summary): Add contains_cilk_spawn.
15420
15421 2015-03-26 Jakub Jelinek <jakub@redhat.com>
15422
15423 PR tree-optimization/65551
15424 * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use
15425 TYPE_PRECISION only for INTEGRAL_TYPE_P types.
15426
15427 2015-03-26 Richard Biener <rguenther@suse.de>
15428
15429 PR middle-end/65555
15430 * tree-cfg.c (verify_gimple_call): Do not require a call to
15431 have no LHS if it wasn't recognized as control altering yet.
15432
15433 2015-03-26 Jakub Jelinek <jakub@redhat.com>
15434
15435 PR tree-optimization/64715
15436 * passes.def: Add another instance of pass_object_sizes before ccp1.
15437 * tree-object-size.c (pass_object_sizes::execute): In
15438 first_pass_instance, only handle __bos (, 1) and __bos (, 3)
15439 calls, and keep the call in the IL, as {MIN,MAX}_EXPR of the
15440 __bos result and the computed constant. Remove redundant
15441 checks, obsoleted by gimple_call_builtin_p test.
15442
15443 * var-tracking.c (variable_tracking_main_1): Don't track
15444 variables for targetm.no_register_allocation targets.
15445
15446 2015-03-26 Oleg Endo <olegendo@gcc.gnu.org>
15447
15448 * config/sh/t-linux (DEFAULT_ENDIAN, MULTILIB_EXCEPTIONS): Remove.
15449 * config/sh/t-sh (MULTILIB_EXCEPTIONS): Handle default endian.
15450
15451 2015-03-25 Michael Meissner <meissner@linux.vnet.ibm.com>
15452
15453 PR target/65569
15454 * config/rs6000/rs6000.md (extenddftf2_fprs): On VSX systems use
15455 XXLXOR to create 0.0. On pre-VSX systems make sure the constant
15456 0.0 is correctly setup.
15457 (extenddftf2_internal): Likewise.
15458
15459 2015-03-25 Sebastian Pop <s.pop@samsung.com>
15460
15461 PR tree-optimization/65177
15462 * tree-ssa-threadupdate.c (verify_seme): Renamed verify_jump_thread.
15463 (bb_in_bbs): New.
15464 (duplicate_seme_region): Renamed duplicate_thread_path. Redirect all
15465 edges not adjacent on the path to the original code.
15466
15467 2015-03-25 Uros Bizjak <ubizjak@gmail.com>
15468
15469 PR bootstrap/65537
15470 * doc/install.texi (Building a native compiler): Document new
15471 bootstrap-lto-noplugin configuration. Mention that bootstrap-lto
15472 configuration assumes that the host supports the linker plugin.
15473
15474 2015-03-25 Ilya Enkovich <ilya.enkovich@intel.com>
15475
15476 PR target/65508
15477 * tree-chkp.c (chkp_add_bounds_to_call_stmt): Set static
15478 chain for generated call.
15479
15480 2015-03-25 Richard Biener <rguenther@suse.de>
15481
15482 * passes.c (pass_manager::execute_early_local_passes): Guard
15483 execution of pass_chkp_instrumentation_passes with
15484 flag_check_pointer_bounds.
15485 (pass_chkp_instrumentation_passes::gate): Likewise.
15486
15487 2015-03-25 Martin Liska <mliska@suse.cz>
15488
15489 PR tree-optimization/65538
15490 * symbol-summary.h (function_summary::~function_summary):
15491 Relese memory for allocated summaries.
15492 (function_summary::release): New function.
15493
15494 2015-03-25 Jakub Jelinek <jakub@redhat.com>
15495
15496 PR lto/65515
15497 * lto-streamer-out.c (DFS::worklist): New struct.
15498 (DFS::worklist_vec): New data member.
15499 (DFS::next_dfs_num): Remove.
15500 (DFS::DFS): Rewritten using worklist instead of recursion,
15501 using most of code from DFS::DFS_write_tree.
15502 (DFS::DFS_write_tree_body): Remove SINGLE_P argument, don't
15503 pass it to DFS_write_tree calls.
15504 (DFS::DFS_write_tree): Remove SINGLE_P argument, after
15505 quick initial checks push it into worklist_vec and return.
15506
15507 2015-03-25 Richard Biener <rguenther@suse.de>
15508
15509 PR middle-end/65519
15510 * genmatch.c (expr::gen_transform): Re-write to avoid
15511 using gimple_build.
15512
15513 2015-03-25 Bin Cheng <bin.cheng@arm.com>
15514
15515 * doc/sourcebuild.texi (arm_tune_string_ops_prefer_neon): New.
15516
15517 2015-03-25 Bin Cheng <bin.cheng@arm.com>
15518
15519 * config/arm/arm.opt (print_tune_info): New option.
15520 * config/arm/arm.c (arm_print_tune_info): New function.
15521 (arm_file_start): Call arm_print_tune_info.
15522 * config/arm/arm-protos.h (struct tune_params): Add comment.
15523 * doc/invoke.texi (@item -mprint-tune-info): New item.
15524 (-mtune): mention it in ARM Option Summary.
15525
15526 2015-03-25 DJ Delorie <dj@redhat.com>
15527
15528 * config/rl78/rl78.c (rl78_print_operand_1): Move 'p' test to
15529 correct clause.
15530
15531 2015-03-24 Jan Hubicka <hubicka@ucw.cz>
15532 Martin Liska <mliska@suse.cz>
15533
15534 * ipa-icf-gimple.h (return_with_result): Add missing colon to dump.
15535 * ipa-icf.c (sem_function::get_hash): Hash new declaration properties.
15536 (sem_item::add_type): New function.
15537 (sem_function::hash_stmt): Add TREE_TYPE of gimple_op.
15538 (sem_function::compare_polymorphic_p): Do not consider indirect calls.
15539 (sem_item_optimizer::update_hash_by_addr_refs): Add ODR type to hash.
15540 (sem_function::equals_wpa): Fix typo.
15541 * ipa-icf.h (sem_item::add_type): New function.
15542 (symbol_compare_hashmap_traits): Replace hashing of pointer with symbol
15543 order.
15544
15545 2015-03-24 Jakub Jelinek <jakub@redhat.com>
15546
15547 PR tree-optimization/65533
15548 * tree-vect-slp.c (vect_build_slp_tree): Before re-trying
15549 with swapped operands, call vect_free_slp_tree on
15550 SLP_TREE_CHILDREN of child and truncate the SLP_TREE_CHILDREN
15551 vector.
15552
15553 2015-03-24 Richard Biener <rguenther@suse.de>
15554
15555 PR middle-end/65517
15556 * tree-cfg.c (remove_edge_and_dominated_blocks): Mark loops
15557 for fixup if necessary.
15558
15559 2015-03-23 Sandra Loosemore <sandra@codesourcery.com>
15560
15561 * doc/extend.texi (Function Attributes): Add @cindex entries
15562 for all attributes and regularize their format. Delete text
15563 about long-obsolete 68HC11 and 68HC12 targets. Move misplaced
15564 information about "eightbit_data", "tiny_data", and "model"
15565 variable attributes to the Variable Attributes section. Fix
15566 some obvious typos and copy-editing issues.
15567 (Variable Attributes, Type Attributes): Likewise add/fix
15568 @cindex entries for all attributes.
15569
15570 2015-03-23 Jakub Jelinek <jakub@redhat.com>
15571
15572 PR target/65523
15573 * tree-chkp.c (chkp_build_returned_bound): Ignore
15574 ERF_RETURNS_ARG calls if they have fewer than needed arguments.
15575
15576 2015-03-23 Oleg Endo <olegendo@gcc.gnu.org>
15577
15578 PR target/65505
15579 * config/sh/predicates.md (simple_mem_operand,
15580 displacement_mem_operand): Add test for reg.
15581 (short_displacement_mem_operand): Test for displacement_mem_operand
15582 before invoking sh_disp_addr_displacement.
15583 * config/sh/constraints.md (Sdd, Sra): Simplify.
15584 * config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1):
15585 Remove redundant displacement_mem_operand tests.
15586
15587 2015-03-23 Georg-Johann Lay <avr@gjlay.de>
15588
15589 PR target/65296
15590 * config/avr/driver-avr.c (avr_devicespecs_file): Allow to specify
15591 the same -mmcu=MCU more than once.
15592
15593 2015-03-23 Jakub Jelinek <jakub@redhat.com>
15594
15595 PR bootstrap/65522
15596 * ipa-devirt.c: Remove duplicate demangle.h include.
15597
15598 PR target/65504
15599 * config/i386/i386.c (ix86_copy_addr_to_reg): Set REG_POINTER
15600 on the pseudo.
15601 (expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Set
15602 REG_POINTER on *destptr after adjusting it for prologue size.
15603
15604 PR ipa/65521
15605 * ipa-icf.c (sem_item::update_hash_by_addr_refs): Hash
15606 ultimate_alias_target ()->order ints instead of
15607 ultimate_alias_target () pointers.
15608
15609 2015-03-23 Richard Biener <rguenther@suse.de>
15610
15611 PR tree-optimization/65518
15612 * tree-vect-stmts.c (vectorizable_load): Reject single-element
15613 interleaving cases we generate absymal code for.
15614
15615 2015-03-23 Richard Biener <rguenther@suse.de>
15616
15617 PR tree-optimization/65494
15618 * tree-vect-slp.c (vect_build_slp_tree): Do not (re-)allocate
15619 matches here.
15620 (vect_analyze_slp_instance): But do that here, always and once.
15621
15622 2015-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
15623
15624 * expmed.c (synth_mult): Fix comment about multiplying by T-1 and
15625 adding T or multiplying by T+1 and subracting T.
15626
15627 2015-03-22 Jeff Law <law@redhat.com>
15628
15629 PR rtl-optimization/64317
15630 * Makefile.in (OBJS): Add gcse-common.c
15631 * gcse.c: Include gcse-common.h
15632 (struct modify_pair_s): Move structure definition to gcse-common.h
15633 (compute_transp): Move function to gcse-common.c.
15634 (canon_list_insert): Similarly.
15635 (record_last_mem_set_info): Break out some code and put it into
15636 gcse-common.c. Call into the new common code.
15637 (compute_local_properties): Pass additional arguments to compute_transp.
15638 * postreload-gcse.c: Include gcse-common.h and df.h
15639 (modify_mem_list_set, blocks_with_calls): New variables.
15640 (modify_mem_list, canon_modify_mem_list, transp): Likewise.
15641 (get_bb_avail_insn): Pass in the expression index too.
15642 (alloc_mem): Allocate memory for the new bitmaps and lists.
15643 (free_mem): Free memory for the new bitmaps and lists.
15644 (insert_expr_in_table): Record a bitmap index for each entry we
15645 add to the table.
15646 (record_last_mem_set_info): Call into common code in gcse-common.c.
15647 (get_bb_avail_insn): If no available insn was found in the requested
15648 BB. If BB has a single predecessor, see if the expression is
15649 transparent in BB and available in that single predecessor.
15650 (compute_expr_transp): New wrapper for compute_transp.
15651 (eliminate_partially_redundant_load): Pass expression's bitmap_index
15652 to get_bb_avail_insn. Compute next_pred_bb_end a bit later.
15653 (gcse_after_reload_main): If there are elements in the hash table,
15654 then compute transparency for all the elements in the hash table.
15655 * gcse-common.h: New file.
15656 * gcse-common.c: New file.
15657
15658 2015-03-22 Sandra Loosemore <sandra@codesourcery.com>
15659
15660 * doc/cpp.texi (Search Path): Hyphenate "command-line" when used
15661 as an adjective.
15662 (System Headers): Likewise.
15663 (Ifdef): Likewise.
15664 (Traditional macros): Likewise.
15665 (Invocation): Likewise.
15666 (Option Index): Likewise.
15667 * doc/cppopts.texi (-M): Likewise.
15668 (-finput-charset): Likewise.
15669 (--help): Likewise.
15670 * doc.invoke.texi (AVR Options): Likewise.
15671 (V850 Options): Likewise.
15672
15673 2015-03-22 Jan Hubicka <hubicka@ucw.cz>
15674
15675 PR ipa/65475
15676 * ipa-devirt.c: Include demangle.h
15677 (odr_type_d): Add field rtti_broken.
15678 (odr_subtypes_equivalent_p): Do not require name to match.
15679 (compare_virtual_tables): Fix typo; if type already has ODR violation,
15680 bypass the tests; be ready for function referneces in vtables that are
15681 not DECL_VIRTUAL; make warnings to be OPT_Wodr.
15682 (warn_odr): Give up for nameless types.
15683 (warn_types_mismatch): Report mismatch in mangled names;
15684 report mismatch in anonymous namespaces; look into component types to
15685 give useful error; report when mismatch is dragged in from other ODR
15686 type.
15687 (odr_types_equivalent_p): Match types for being polymorphic; avoid
15688 duplicated diagnostics.
15689 (add_type_duplicate): Reorder checks so more informative ones come
15690 first; fix typo; do not output "the extra base is defined here" when
15691 we did not warn.
15692 (BINFO_N_BASE_BINFOS): Relax sanity check.
15693
15694 2015-03-22 Martin Liska <mliska@suse.cz>
15695 Jakub Jelinek <jakub@redhat.com>
15696
15697 * config/i386/i386.c (def_builtin): Set deferred_isa_values for
15698 masks that can potentially include a builtin.
15699 (ix86_add_new_builtins): Introduce fast filter for isa values
15700 that cannot trigger builtin inclusion.
15701
15702 2015-03-22 Martin Liska <mliska@suse.cz>
15703
15704 * ipa-icf.c (sem_item::update_hash_by_addr_refs): New function.
15705 (sem_item::update_hash_by_local_refs): Likewise.
15706 (sem_variable::get_hash): Empty line is fixed.
15707 (sem_item_optimizer::execute): Include adding of hash references.
15708 (sem_item_optimizer::update_hash_by_addr_refs): New function.
15709 (sem_item_optimizer::build_hash_based_classes): Use local hash.
15710 * ipa-icf.h (sem_item::update_hash_by_addr_refs): New function.
15711 (sem_item::update_hash_by_local_refs): Likewise.
15712
15713 2015-03-20 Jan Hubicka <hubicka@ucw.cz>
15714
15715 PR ipa/65502
15716 * ipa-comdats.c (enqueue_references): Walk through thunks.
15717 (ipa_comdats): Likewise.
15718 (set_comdat_group_1): New function.
15719
15720 2015-03-20 Jan Hubicka <hubicka@ucw.cz>
15721
15722 PR ipa/65475
15723 * ipa-devirt.c (add_type_duplicate): Prevail polymorphic type over
15724 non-polymorphic
15725
15726 2015-03-22 Dave Korn <dave.korn.cygwin@gmail.com>
15727 Gerald Pfeifer <gerald@pfeifer.com>
15728
15729 * doc/contrib.texi (Contributors): Update entry for Danny Smith.
15730
15731 2015-03-21 Chung-Lin Tang <cltang@codesourcery.com>
15732 Sandra Loosemore <sandra@codesourcery.com>
15733
15734 * config/nios2/nios2-protos.h (nios2_adjust_call_address): Adjust
15735 function parameter declaration.
15736 * config/nios2/nios2.md (call,call_value,sibcall,sibcall_value):
15737 Update arguments to nios2_adjust_call_address().
15738 (sibcall_internal): Rename from *sibcall.
15739 (sibcall_value_internal): Rename from *sibcall_value.
15740 * config/nios2/nios2.c (nios2_emit_add_constant): New function.
15741 (nios2_large_got_address): Add target temp reg parameter.
15742 (nios2_got_address): Adjust call to nios2_large_got_address, add
15743 force_reg around it.
15744 (nios2_load_pic_address): Add target temp reg parameter, replace call
15745 to nios2_got_address with corresponding code.
15746 (nios2_legitimize_constant_address): Update call to
15747 nios2_load_pic_address.
15748 (nios2_adjust_call_address): Add temp reg parameter, update PIC case
15749 to use temp reg for PIC loading purposes.
15750 (nios2_asm_output_mi_thunk): Implement TARGET_ASM_OUTPUT_MI_THUNK.
15751 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
15752 (TARGET_ASM_OUTPUT_MI_THUNK): Likewise.
15753
15754 2015-03-21 Sandra Loosemore <sandra@codesourcery.com>
15755
15756 * doc/invoke.texi (-fno-diagnostics-show-caret): Fix
15757 usage of "the @option{...}".
15758 (-Wopenmp-simd): Likewise.
15759 (-fsanitize-recover): Likewise.
15760 (-fsanitize-undefined-trap-on-error): Likewise.
15761 (-flto): Likewise.
15762 (tracer-dynamic-coverage-feedback): Likewise.
15763 (reorder-block-duplicate-feedback): Likewise.
15764 (loop-unroll-jam-size): Likewise.
15765 (-B): Likewise.
15766 (-I-): Likewise.
15767 (-mabs=legacy): Likewise.
15768 (-mupper-regs-df): Likewise.
15769 (-mupper-regs-sf): Likewise.
15770 (-mpointers-to-nested-functions): Likewise.
15771
15772 2015-03-21 Sandra Loosemore <sandra@codesourcery.com>
15773
15774 * doc/extend.texi (Cilk Plus Builtins): Add markup.
15775
15776 2015-03-21 Sandra Loosemore <sandra@codesourcery.com>
15777
15778 * doc/invoke.texi (-fcheck-pointer-bounds): Copy-edit, add
15779 additional index entries and cross-references.
15780 (-fchkp-check-incomplete-type): Likewise.
15781 (-fchkp-first-field-has-own-bounds): Likewise.
15782 (-fchkp-narrow-to-innermost-array): Likewise.
15783 (-fchkp-use-fast-string-functions): Likewise.
15784 (-fchkp-use-nochk-string-functions): Likewise.
15785 (-fchkp-use-static-const-bounds): Likewise.
15786 (-fchkp-treat-zero-dynamic-size-as-infinite): Likewise.
15787 (-fchkp-instrument-marked-only): Likewise.
15788 (-fchkp-use-wrappers): Likewise.
15789 (-static-libmpx): Likewise.
15790 (-static-libmpxwrappers): Likewise.
15791 * doc/extend.texi (bnd_legacy): Likewise.
15792 (bnd_instrument): Likewise.
15793 (bnd_variable_size): Likewise.
15794 (Pointer Bounds Checker builtins): Likewise.
15795
15796 2015-03-21 Tom de Vries <tom@codesourcery.com>
15797
15798 PR tree-optimization/65458
15799 * cgraph.c (cgraph_node::dump): Handle parallelized_function field.
15800 * cgraph.h (cgraph_node): Add parallelized_function field.
15801 * lto-cgraph.c (lto_output_node): Write parallelized_function field.
15802 (input_overwrite_node): Read parallelized_function field.
15803 * omp-low.c (expand_omp_taskreg, finalize_task_copyfn): Set
15804 parallelized_function on cgraph_node for child_fn.
15805 * tree-parloops.c: Add include of plugin-api.h, ipa-ref.h and cgraph.h.
15806 Remove include of gt-tree-parloops.h.
15807 (parallelized_functions): Remove static variable.
15808 (parallelized_function_p): Rewrite using parallelized_function field of
15809 cgraph_node.
15810 (create_loop_fn): Remove adding to parallelized_functions.
15811 * Makefile.in (GTFILES): Remove tree-parloops.c
15812
15813 2015-03-20 Vladimir Makarov <vmakarov@redhat.com>
15814
15815 PR rtl-optimization/64366
15816 * lra.c (lra_update_insn_regno_info): Consider regs in
15817 CALL_INSN_FUNCTION_USAGE memory.
15818
15819 2015-03-20 Richard Biener <rguenther@suse.de>
15820
15821 PR middle-end/64715
15822 * tree-chrec.c (chrec_fold_poly_cst): Use useless_type_conversion_p
15823 for type comparison and gcc_checking_assert.
15824 (chrec_fold_plus_poly_poly): Likewise.
15825 (chrec_fold_multiply_poly_poly): Likewise.
15826 (chrec_convert_1): Likewise.
15827 * gimplify.c (gimplify_expr): Remove premature folding of
15828 &X + CST to &MEM[&X, CST].
15829
15830 2015-03-20 Jan Hubicka <hubicka@ucw.cz>
15831
15832 * ipa-inline.c (can_inline_edge_p): Short circuit if inline_failed
15833 already is final.
15834 (ipa_inline): Recompute inline_failed codes.
15835 * cif-code.def (FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE,
15836 USES_COMDAT_LOCAL, ATTRIBUTE_MISMATCH, UNREACHABLE): Declare as
15837 CIF_FINAL_ERROR.
15838
15839 2015-03-20 Uros Bizjak <ubizjak@gmail.com>
15840
15841 PR rtl-optimization/60851
15842 * recog.c (constrain_operands): Accept a pseudo register before reload
15843 for LRA enabled targets.
15844
15845 2015-03-19 Michael Meissner <meissner@linux.vnet.ibm.com>
15846
15847 PR target/65240
15848 * config/rs6000/predicates.md (easy_fp_constant): Remove special
15849 -ffast-math handling that kept non-0 constants live in the RTL
15850 until reload. Remove logic testing the number of instructions it
15851 took to create a constant in a GPR that was never used, due to a
15852 test for soft-float earlier.
15853 (memory_fp_constant): Delete, no longer used.
15854
15855 * config/rs6000/rs6000.md (mov<MODE>_hardfloat): Remove
15856 alternatives for loading non-0 constants into GPRs for hard
15857 floating point that is no longer needed due to changes in
15858 easy_fp_constant. Add support for loading 0.0 into GPRs.
15859 (mov<mode>_hardfloat32): Likewise.
15860 (mov<mode>_hardfloat64): Likewise.
15861 (mov<mode>_64bit_dm): Likewise.
15862 (movtd_64bit_nodm): Likewise.
15863 (pre-reload move FP constant define_split): Delete define_split,
15864 since it is no longer used.
15865 (extenddftf2_internal): Remove GHF constraints that are not valid
15866 for extenddftf2.
15867
15868 2015-03-19 Vladimir Makarov <vmakarov@redhat.com>
15869
15870 PR rtl-optimization/63491
15871 * lra-constraints.c (check_and_process_move): Use src instead of
15872 sreg. Remove some dead code.
15873
15874 2015-03-19 Jan Hubicka <hubicka@ucw.cz>
15875
15876 PR ipa/65380
15877 * ipa-icf.c (sem_function::merge): Do not merge DECL_EXTERNAL symbols.
15878 (sem_variable::merge): Likewise.
15879
15880 2015-03-19 Martin Liska <mliska@suse.cz>
15881
15882 PR ipa/65465
15883 * cgraphunit.c (cgraph_node::create_wrapper): Correctly reset
15884 all fields of cgraph_thunk_info.
15885
15886 2015-03-19 Ilya Enkovich <ilya.enkovich@intel.com>
15887
15888 * ipa-chkp.c (chkp_maybe_create_clone): Don't try to
15889 clone instrumented thunks.
15890
15891 2015-03-19 Richard Biener <rguenther@suse.de>
15892
15893 Revert
15894 2015-03-10 Richard Biener <rguenther@suse.de>
15895
15896 PR middle-end/63155
15897 * tree-ssa-coalesce.h (verify_ssa_coalescing): Declare.
15898 * tree-ssa-coalesce.c: Include timevar.h.
15899 (attempt_coalesce): Handle graph being NULL.
15900 (coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING.
15901 Split out abnormal coalescing to ...
15902 (perform_abnormal_coalescing): ... this function.
15903 (coalesce_ssa_name): Perform abnormal coalescing without computing
15904 live/conflict.
15905 (verify_ssa_coalescing_worker): New function.
15906 (verify_ssa_coalescing): Likewise.
15907
15908 2015-03-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
15909 Jakub Jelinek <jakub@redhat.com>
15910
15911 PR sanitizer/65400
15912 * tsan.c (instrument_gimple): Clear tail call flag on
15913 calls.
15914
15915 2015-03-19 Jakub Jelinek <jakub@redhat.com>
15916
15917 PR sanitizer/65400
15918 * ipa-split.c (find_return_bb): Allow TSAN_FUNC_EXIT internal
15919 call in the return bb.
15920 (find_split_points): Add RETURN_BB argument, don't call
15921 find_return_bb.
15922 (split_function): Likewise. Add ADD_TSAN_FUNC_EXIT argument,
15923 if true append TSAN_FUNC_EXIT internal call after the call to
15924 the split off function.
15925 (execute_split_functions): Call find_return_bb here.
15926 Don't optimize if TSAN_FUNC_EXIT is found in unexpected places.
15927 Adjust find_split_points and split_function calls.
15928
15929 2015-03-18 DJ Delorie <dj@redhat.com>
15930
15931 * config/rl78/rl78-virt.md (andqi3_virt): Allow far operands.
15932 (iorqi3_virt): Likewise.
15933
15934 2015-03-18 Tom de Vries <tom@codesourcery.com>
15935
15936 * tree-parloops.c (parallelize_loops): Make static.
15937 * tree-parloops.h (parallelize_loops): Remove extern declaration.
15938
15939 2015-03-18 Andrew Stubbs <ams@codesourcery.com>
15940
15941 PR middle-end/64491
15942 Revert:
15943 2014-11-20 Andrew Stubbs <ams@codesourcery.com>
15944
15945 * tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Warn if a loop
15946 condition would be removed due to undefined behaviour.
15947
15948 2015-03-18 Martin Liska <mliska@suse.cz>
15949
15950 PR ipa/65432
15951 * cgraph.c (cgraph_node::get_create): Remove unnecessary
15952 xstrdup_for_dump wrapper.
15953 * ipa-icf.c (sem_item::dump): Use symtab_node::name instead of
15954 sem_item::name.
15955 (sem_function::equals): Wrap symtab_node::name and symtab_node::asm_name
15956 with xstrdup_for_dump.
15957 (sem_variable::equals): Likewise.
15958 (sem_item_optimizer::read_section): Use symtab_node::name instead of
15959 sem_item::name.
15960 (sem_item_optimizer::parse_funcs_and_vars): Likewise.
15961 (sem_item_optimizer::merge_classes): Wrap symtab_node::name and
15962 symtab_node::asm_name with xstrdup_for_dump.
15963 (congruence_class::dump): Use symtab_node::name instead of
15964 sem_item::name.
15965 * ipa-icf.h (symtab_node::name): Remove.
15966 (symtab_node::asm_name): Likewise.
15967
15968 2015-03-18 Jakub Jelinek <jakub@redhat.com>
15969
15970 PR tree-optimization/65450
15971 * tree-vect-data-refs.c (vect_duplicate_ssa_name_ptr_info): New
15972 function.
15973 (vect_create_addr_base_for_vector_ref, vect_create_data_ref_ptr): Use
15974 it instead of duplicate_ssa_name_ptr_info.
15975
15976 PR target/65222
15977 * doc/invoke.texi: Add knl as x86 -march=/-mtune= CPU type.
15978
15979 2015-03-18 Richard Biener <rguenther@suse.de>
15980
15981 * tree-data-ref.h (struct access_matrix): Remove.
15982 (AM_LOOP_NEST, AM_NB_INDUCTION_VARS, AM_PARAMETERS, AM_MATRIX,
15983 AM_NB_PARAMETERS, AM_CONST_COLUMN_INDEX, AM_NB_COLUMNS,
15984 AM_GET_SUBSCRIPT_ACCESS_VECTOR, AM_GET_ACCESS_MATRIX_ELEMENT): Likewise.
15985 (am_vector_index_for_loop): Likewise.
15986 (struct data_reference): Remove access_matrix member.
15987 (DR_ACCESS_MATRIX): Remove.
15988 (lambda_vector_new): Add comment.
15989 (lambda_matrix_new): Use XOBNEWVEC.
15990
15991 2015-03-18 Richard Biener <rguenther@suse.de>
15992
15993 * tree-ssa-loop-ch.c (pass_data_ch): Remove TODO_cleanup_cfg.
15994 (pass_ch::execute): Cleanup the CFG only if we did sth.
15995 * tree-vect-generic.c (pass_data_lower_vector): Remove TODO_cleanup_cfg.
15996
15997 2015-03-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
15998
15999 * expmed.c (synth_mult): Use std::swap instead of manually
16000 swapping algorithms.
16001
16002 2015-03-18 Jakub Jelinek <jakub@redhat.com>
16003
16004 PR target/65078
16005 * config/i386/sse.md (movsi/movdi -> vec_extract_*_0 splitter): New.
16006
16007 2015-03-16 Georg-Johann Lay <avr@gjlay.de>
16008
16009 PR target/65296
16010 * config/avr/avr.opt (-nodevicelib): New option.
16011 * doc/invoke.texi (AVR Options): Document it.
16012 * config/avr/avrlibc.h (LIB_SPEC, LIBGCC_SPEC) [avr1]: Don't link
16013 libgcc.a, libc.a, libm.a.
16014 * config/avr/specs.h: Same.
16015 * config/avr/gen-avr-mmcu-specs.c (print_mcu): Don't print specs
16016 which don't (directly) depend on the device. Print more help.
16017 (*avrlibc_devicelib) [-nodevicelib]: Don't link libdev.a.
16018 (*cpp): Don't define __AVR_DEV_LIB_NAME__.
16019 * config/avr/driver-avr.c: Remove -nodevicelib from option list in
16020 case of an error.
16021 (avr_devicespecs_file): Use suffix "%s" instead of absolute path
16022 for specs file name.
16023 * config/avr/avr-arch.h (avr_mcu_t) [.library_name]: Remove.
16024 * config/avr/avr-mcus.def: Adjust initializers and comments.
16025
16026 2015-03-16 Jan Hubicka <hubicka@ucw.cz>
16027
16028 * tree-sra.c (ipa_sra_preliminary_function_checks): Use
16029 DECL_ONE_ONLY to check if decl is one only.
16030 * ipa-split.c (consider_split): Limit splitt of one only functions.
16031
16032 2015-03-16 Jakub Jelinek <jakub@redhat.com>
16033
16034 PR tree-optimization/65427
16035 * tree-vect-generic.c (do_cond, expand_vector_scalar_condition): New
16036 functions.
16037 (expand_vector_operations_1): Handle BLKmode vector COND_EXPR.
16038
16039 2015-03-16 Marek Polacek <polacek@redhat.com>
16040
16041 * cgraph.h (add_new_static_var): Remove declaration.
16042 * varpool.c (add_new_static_var): Remove function.
16043
16044 2015-03-16 Jakub Jelinek <jakub@redhat.com>
16045
16046 * omp-low.c (expand_omp_target): Use auto_vec<tree, 11>
16047 instead of vec<tree> * with vec_alloc and release for args.
16048 Adjust all users.
16049
16050 PR middle-end/65431
16051 * omp-low.c (delete_omp_context): Only splay_tree_delete
16052 reduction_map in GIMPLE_OMP_TARGET is_gimple_omp_offloaded
16053 is_gimple_omp_oacc contexts. Don't look at ctx->outer.
16054
16055 2015-03-16 Max Ostapenko <m.ostapenko@partner.samsung.com>
16056
16057 PR sanitizer/64820
16058 * cfgexpand.c (align_base): New function.
16059 (alloc_stack_frame_space): Call it.
16060 (expand_stack_vars): Align prev_frame to be sure
16061 data->asan_vec elements aligned properly.
16062
16063 2015-03-16 Eric Botcazou <ebotcazou@adacore.com>
16064
16065 PR middle-end/65409
16066 * expr.c (store_field): Do not do a direct block copy if the source is
16067 a PARALLEL with BLKmode.
16068
16069 2015-03-16 Tom de Vries <tom@codesourcery.com>
16070
16071 PR middle-end/65414
16072 Revert:
16073 2015-03-12 Tom de Vries <tom@codesourcery.com>
16074
16075 PR rtl-optimization/64895
16076 * lra-lives.c (check_pseudos_live_through_calls): Use
16077 actual_call_used_reg_set instead of call_used_reg_set, if available.
16078
16079 2015-03-16 Alan Modra <amodra@gmail.com>
16080
16081 PR target/63150
16082 * config/rs6000/rs6000.md (bswapdi2): Remove one scratch reg.
16083 Modify Z->r bswapdi splitter to use dest in place of scratch.
16084 In r->Z and Z->r bswapdi splitter rename word_high, word_low
16085 to word1, word2 and rearrange logic to suit.
16086 (bswapdi2_64bit): Remove early clobber on Z->r alternative.
16087 (bswapdi2_ldbrx): Likewise. Remove '??' on r->r.
16088 (bswapdi2_32bit): Remove early clobber on Z->r alternative.
16089 Add one '?' on r->r. Modify Z->r splitter to avoid need for
16090 early clobber.
16091
16092 2015-03-14 Jakub Jelinek <jakub@redhat.com>
16093
16094 PR tree-optimization/65369
16095 * tree-vect-stmts.c (vectorizable_load) <case dr_explicit_realign>:
16096 Set bump to vs * TYPE_SIZE_UNIT (elem_type) - 1 instead of
16097 (vs - 1) * TYPE_SIZE_UNIT (elem_type).
16098
16099 PR tree-optimization/65418
16100 * tree-ssa-reassoc.c (extract_bit_test_mask): If there
16101 are casts in the first PLUS_EXPR operand, ensure tbias and
16102 *totallowp are in the inner type.
16103
16104 PR rtl-optimization/65401
16105 * combine.c (rtx_equal_for_field_assignment_p): Add widen_x
16106 argument. If true, adjust_address_nv of x with big-endian
16107 correction for the mode widening to GET_MODE (y).
16108 (make_field_assignment): Don't do MEM mode widening here.
16109 Use MEM_P instead of GET_CODE == MEM.
16110
16111 2015-03-13 Ilya Verbin <ilya.verbin@intel.com>
16112
16113 * varpool.c (varpool_node::get_create): Don't set 'offloadable' flag for
16114 the external decls.
16115
16116 2015-03-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
16117
16118 PR target/64600
16119 * config/arm/arm.c (arm_gen_constant, AND case): Use
16120 ARM_SIGN_EXTEND when constructing AND mask.
16121
16122 2015-03-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
16123
16124 * graph.c (print_graph_cfg): Make function names visible and append
16125 parenthesis to it. Also make groups of basic blocks belonging to the
16126 same function visible.
16127
16128 2015-03-12 Richard Biener <rguenther@suse.de>
16129
16130 PR middle-end/44563
16131 * tree-inline.c (gimple_expand_calls_inline): Walk BB backwards
16132 to avoid quadratic behavior with inline expansion splitting blocks.
16133 * tree-cfgcleanup.c (cleanup_tree_cfg_bb): Do not merge block
16134 with the successor if the predecessor will be merged with it.
16135 * tree-cfg.c (gimple_can_merge_blocks_p): We can't merge the
16136 entry block with its successor.
16137
16138 2015-03-13 Richard Biener <rguenther@suse.de>
16139
16140 PR middle-end/44563
16141 * tree-cfgcleanup.c (split_bb_on_noreturn_calls): Remove.
16142 (cleanup_tree_cfg_1): Do not call it.
16143 (execute_cleanup_cfg_post_optimizing): Fixup the CFG here.
16144 (fixup_noreturn_call): Mark the stmt as control altering.
16145 * tree-cfg.c (execute_fixup_cfg): Do not dump the function
16146 here.
16147 (pass_data_fixup_cfg): Produce a dump file.
16148 * tree-ssa-dom.c: Include tree-cfgcleanup.h.
16149 (need_noreturn_fixup): New global.
16150 (pass_dominator::execute): Fixup queued noreturn calls.
16151 (optimize_stmt): Queue calls that became noreturn for fixup.
16152 * tree-ssa-forwprop.c (pass_forwprop::execute): Likewise.
16153 * tree-ssa-pre.c: Include tree-cfgcleanup.h.
16154 (el_to_fixup): New global.
16155 (eliminate_dom_walker::before_dom_childre): Queue calls that
16156 became noreturn for fixup.
16157 (eliminate): Fixup queued noreturn calls.
16158 * tree-ssa-propagate.c: Include tree-cfgcleanup.h.
16159 (substitute_and_fold_dom_walker): New member stmts_to_fixup.
16160 (substitute_and_fold_dom_walker::before_dom_children): Queue
16161 alls that became noreturn for fixup.
16162 (substitute_and_fold): Fixup queued noreturn calls.
16163
16164 2015-03-12 Jan Hubicka <hubicka@ucw.cz>
16165
16166 * ipa-icf.c (sem_function::equals_wpa): Match CXX_CONSTRUCTOR_P
16167 and CXX_DESTURCTOR_P. For consutrctors match ODR type of class they
16168 are building; for methods check ODR type of class they belong to if
16169 they may lead to a polymorphic call.
16170 (sem_function::compare_polymorphic_p): Be bit smarter about testing
16171 when function may lead to a polymorphic call.
16172 (sem_function::compare_type_list): Remove.
16173 (sem_variable::equals): Update use of compatible_types_p.
16174 (sem_variable::parse_tree_refs): Remove.
16175 (sem_item_optimizer::filter_removed_items): Do not filter out CXX
16176 cdtor.
16177 * ipa-icf-gimple.c (func_checker::compare_decl): Do polymorphic
16178 matching here.
16179 (func_checker::compatible_polymorphic_types_p): Break out from ...
16180 (unc_checker::compatible_types_p): ... here.
16181 * ipa-icf-gimple.h (func_checker::compatible_polymorphic_types_p):
16182 Declare.
16183 (unc_checker::compatible_types_p): Update.
16184 * ipa-icf.h (compare_type_list, parse_tree_refs, compare_sections):
16185 Remove.
16186
16187 2015-03-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
16188
16189 PR rtl-optimization/65235
16190 * simplify-rtx.c (simplify_binary_operation_1, VEC_SELECT case):
16191 When first element of vec_concat is const_int, calculate its size
16192 using second element.
16193
16194 2015-03-12 Richard Biener <rguenther@suse.de>
16195
16196 PR middle-end/65270
16197 * fold-const.c (operand_equal_p): Fix ordering of resetting
16198 OEP_ADDRESS_OF and checking for it in the [TARGET_]MEM_REF case.
16199
16200 2015-03-12 Dominik Vogt <vogt@linux.vnet.ibm.com>
16201
16202 * config/s390/s390.c (s390_reorg): Move code to output nops after label
16203 to s390_reorg ().
16204 (s390_asm_output_function_label): Likewise.
16205 * config/s390/s390.c (s390_asm_output_function_label):
16206 Fix function label alignment with -mhtopatch.
16207 * config/s390/s390.md ("unspecv"): New values UNSPECV_NOP_2_BYTE,
16208 UNSPECV_NOP_4_BYTE and UNSPECV_NOP_6_BYTE
16209 ("nop_2_byte"): New define_insn.
16210 ("nop_4_byte"): Likewise.
16211 ("nop_6_byte"): Likewise.
16212 * doc/extend.texi (hotpatch): hotpatch attribute doc fixes.
16213 * doc/invoke.texi (-mhotpatch): -mhotpatch doc fixes.
16214
16215 2015-03-12 Ilya Enkovich <ilya.enkovich@intel.com>
16216
16217 PR target/65103
16218 * config/i386/i386.c (ix86_address_cost): Fix cost of a PIC
16219 register.
16220
16221 2015-03-12 Ilya Enkovich <ilya.enkovich@intel.com>
16222
16223 PR target/65044
16224 * toplev.c (process_options): Restrict Pointer Bounds Checker
16225 usage with Address Sanitizer.
16226
16227 2015-03-12 Richard Biener <rguenther@suse.de>
16228
16229 * tree-cfg.c (gimple_split_block): Remove loop finding stmt
16230 to split on.
16231 * omp-low.c (expand_omp_taskreg): Split block before removing
16232 the stmt.
16233 (expand_omp_target): Likewise.
16234 * ubsan.c (ubsan_expand_null_ifn): Adjust stmt if we replaced it.
16235 * tree-parloops.c (create_call_for_reduction_1): Pass a proper
16236 stmt to split_block.
16237
16238 2015-03-12 Tom de Vries <tom@codesourcery.com>
16239
16240 PR rtl-optimization/64895
16241 * lra-lives.c (check_pseudos_live_through_calls): Use
16242 actual_call_used_reg_set instead of call_used_reg_set, if available.
16243
16244 2015-03-10 Jan Hubicka <hubicka@ucw.cz>
16245
16246 * cgraph.c (cgraph_node::release_body): Free function_in_decl_state.
16247 (cgraph_node::remove): Likewise.
16248 (cgraph_node::get_untransformed_body): Likewise.
16249 * varpool.c (varpool_node::remove): Likewise.
16250 (varpool_node::get_constructor): Add sanity check.
16251
16252 2015-03-11 Sandra Loosemore <sandra@codesourcery.com>
16253
16254 * doc/invoke.texi (-fgnu89-inline): Remove discussion about
16255 old GCC versions.
16256 (-fabi-compat-version): Likewise.
16257 (-ffriend-injection): Likewise.
16258 (-Wdeclaration-after-statement): Likewise.
16259 (-fomit-frame-pointer): Likewise.
16260 (-ftree-coalesce-inlined-vars): Likewise.
16261 (-fvisibility=): Likewise.
16262 * doc/extend.texi (Typeof): Likewise.
16263 (Zero Length): Likewise.
16264 (Escaped Newlines): Likewise.
16265 (Compound Literals): Likewise.
16266 (Function Attributes): Likewise.
16267 (Label Attributes): Likewise.
16268 (Type Attributes): Likewise.
16269 (Function Names): Likewise.
16270 (Other Builtins): Likewise.
16271 (Function Specific Option Pragmas): Likewise.
16272 (C++ Interface): Likewise.
16273
16274 2015-03-11 Thomas Schwinge <thomas@codesourcery.com>
16275
16276 * config/nvptx/nvptx.h (LIBSTDCXX): Define to "gcc".
16277
16278 2015-03-11 Marek Polacek <polacek@redhat.com>
16279
16280 PR tree-optimization/65388
16281 * tree-ssa-tail-merge.c (same_succ_def::equal): Fix typo in comparison.
16282
16283 2015-03-10 Georg-Johann Lay <avr@gjlay.de>
16284
16285 PR target/65296
16286 * configure.ac [avr]: Check as for options -mrmw, --mlink-relax.
16287 * configure: Regenerate.
16288 * config.in: Regenerate.
16289 * doc/invoke.texi (AVR Options) [-mrmw]: Document it.
16290 [-mn-flash]: Document it.
16291 [__AVR_ARCH__]: Document avrtiny.
16292
16293 * config/avr/gen-avr-mmcu-specs.c (config.h): Include it.
16294 (*asm_relax): Only define spec if HAVE_AS_AVR_MLINK_RELAX_OPTION.
16295 (*asm_rmw): Only define spec if HAVE_AS_AVR_MRMW_OPTION.
16296
16297 2015-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
16298
16299 * doc/invoke.texi: Add missing cpu values (z196, zEC12).
16300
16301 2015-03-11 Michael Meissner <meissner@linux.vnet.ibm.com>
16302
16303 PR target/65242
16304 * config/rs6000/rs6000.c (rs6000_preferred_reload_class): Do not
16305 allow reloads of PLUS in floating point/VSX registers.
16306
16307 2015-03-11 Junmo Park <junmoz.park@samsung.com>
16308
16309 * config/arm/cortex-a57.md (cortex_a57_crypto_simple): Add
16310 crypto_sha256_fast.
16311 (cortex_a57_crypto_complex): Add crypto_sha256_slow.
16312
16313 2015-03-11 Richard Biener <rguenther@suse.de>
16314
16315 PR tree-optimization/65310
16316 * tree-sra.c (build_ref_for_offset): Also preserve larger
16317 alignment.
16318
16319 2015-03-11 Marat Zakirov <m.zakirov@samsung.com>
16320
16321 * asan.c (instrument_derefs): Disable instrumentation on asan-globals=0.
16322
16323 2015-03-10 Jakub Jelinek <jakub@redhat.com>
16324
16325 PR target/65368
16326 * config/i386/i386.md (bmi2_bzhi_<mode>3): Removed define_insn,
16327 new define_expand.
16328 (*bmi2_bzhi_<mode>3, *bmi2_bzhi_<mode>3_1): New define_insns.
16329
16330 2015-03-10 Jan Hubicka <hubicka@ucw.cz>
16331
16332 * ipa-icf.c (sem_function::equals_wpa): Move here some checks from ...
16333 (sem_function::equals_wpa): ... here.
16334
16335 2015-03-10 Marek Polacek <polacek@redhat.com>
16336 Jakub Jelinek <jakub@redhat.com>
16337
16338 PR sanitizer/65367
16339 * ubsan.c (ubsan_expand_objsize_ifn): Update GSI instead of GSI_ORIG
16340 when only removing the statement. Handle expanding UBSAN_OBJECT_SIZE
16341 separately.
16342
16343 2015-03-10 Jakub Jelinek <jakub@redhat.com>
16344
16345 PR target/65286
16346 * config/rs6000/t-linux: For powerpc64* target set
16347 MULTILIB_OSDIRNAMES instead of MULTIARCH_DIRNAME.
16348
16349 2015-03-10 Richard Biener <rguenther@suse.de>
16350
16351 PR middle-end/44563
16352 * tree-inline.c (copy_cfg_body): Skip block mapped to entry/exit
16353 for redirect_all_calls.
16354
16355 2015-03-10 Marek Polacek <polacek@redhat.com>
16356
16357 * gdbinit.in (pcfun): Define and document.
16358
16359 2015-03-10 Ilya Verbin <ilya.verbin@intel.com>
16360
16361 * config/i386/intelmic-mkoffload.c: Include intelmic-offload.h instead
16362 of libgomp-plugin.h.
16363 (find_target_compiler): Support a case when the path to gcc is
16364 specified in the PATH env var, so COLLECT_GCC doesn't contain a path.
16365 (generate_host_descr_file): Use GOMP_DEVICE_INTEL_MIC from
16366 intelmic-offload.h instead of OFFLOAD_TARGET_TYPE_INTEL_MIC from
16367 libgomp-plugin.h.
16368 (main): Use GCC_INSTALL_NAME as target_driver_name.
16369 * config/i386/t-intelmic (CFLAGS-mkoffload.o): Add GCC_INSTALL_NAME
16370 define.
16371 (mkoffload.o): Remove obsolete include path and defines.
16372 (mkoffload$(exeext)): Use $(LINKER) instead of $(COMPILER).
16373
16374 2015-03-10 Richard Biener <rguenther@suse.de>
16375
16376 PR middle-end/63155
16377 * tree-ssa-coalesce.h (verify_ssa_coalescing): Declare.
16378 * tree-ssa-coalesce.c: Include timevar.h.
16379 (attempt_coalesce): Handle graph being NULL.
16380 (coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING.
16381 Split out abnormal coalescing to ...
16382 (perform_abnormal_coalescing): ... this function.
16383 (coalesce_ssa_name): Perform abnormal coalescing without computing
16384 live/conflict.
16385 (verify_ssa_coalescing_worker): New function.
16386 (verify_ssa_coalescing): Likewise.
16387
16388 2015-03-10 Georg-Johann Lay <avr@gjlay.de>
16389
16390 PR target/65296
16391 * config.gcc (extra_options) [avr]: Remove.
16392 (extra_gcc_objs) [avr]: Use driver-avr.o, avr-devices.o.
16393 (tm_file) [avr]: Add avr/specs.h after avr/avr.h.
16394 (tm_defines) [avr-*-rtems*]: Add WITH_RTEMS.
16395
16396 * config/avr/avr.opt (config/avr/avr-arch.h): Remove include.
16397 (-mmcu=): Add Var and MissingArgError properties.
16398 (-march=): Remove.
16399 * config/avr/genmultilib.awk: Use -mmcu= instead of -march=.
16400 * config/avr/t-multilib: Regenerate.
16401 * config/avr/specs.h: New file.
16402 * config/avr/driver-avr.c: New file.
16403 * config/avr/genopt.sh: Remove file.
16404 * config/avr/avr-tables.opt: Remove file.
16405 * config/avr/predicates.md (avr_current_arch): Rename to avr_arch.
16406 * config/avr/avr-c.c: Same.
16407 * avr-arch.h: Same.
16408 (avr_current_device): Remove proto.
16409 * config/avr/avr.h (avr_current_arch): Rename to avr_arch.
16410 (AVR_HAVE_8BIT_SP): Don't depend on avr_current_device.
16411 (EXTRA_SPEC_FUNCTIONS): Define.
16412 (avr_devicespecs_file): New specs function proto.
16413 (DRIVER_SELF_SPECS): Use device-specs-file spec function.
16414 * config/avr/avr.c (avr_current_arch): Rename to avr_arch.
16415 (avr_current_device): Remove definition and usage.
16416 (avr_set_core_architecture): New static function.
16417 (avr_option_override): Use it.
16418 * config/avr/avr-devices.c (diagnostic.h, avr-arch.h): Include them.
16419 (mcu_name): New static array.
16420 (comparator, avr_archs_str, avr_mcus_str): New static functions.
16421 (avr_inform_devices, avr_inform_core_architectures): New functions.
16422 * config/avr/gen-avr-mmcu-specs.c (avr-arch.h, specs.h): Include.
16423 (avrlibc.h) [WITH_AVRLIBC]: Include.
16424 (../rtems.h, rtems.h) [WITH_RTEMS]: Include.
16425 (print_mcu): Rewrite from scratch.
16426 * config/avr/avrlibc.h (LIB_SPEC, LIBGCC_SPEC, STARTFILE_SPEC):
16427 Forward to avr-specific specs defined in device-specs file.
16428 * config/avr/t-avr (driver-avr.o): New rule.
16429 (avr-devices.o): Depend on avr-arch.h.
16430 (avr-mcus): No more depend on avr-tables.opt.
16431 (avr-tables.opt): Remove rule.
16432 (install-device-specs): Use INSTALL_DATA, not INSTALL_PROGRAM.
16433
16434 2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
16435
16436 * c-family/c.opt (fchkp-use-wrappers): New.
16437 * ipa-chkp.c (CHKP_WRAPPER_SYMBOL_PREFIX): New.
16438 (chkp_wrap_function): New.
16439 (chkp_build_instrumented_fndecl): Support wrapped
16440 functions.
16441 * doc/invoke.texi (-fcheck-pointer-bounds): New.
16442 (-fchkp-check-incomplete-type): New.
16443 (-fchkp-first-field-has-own-bounds): New.
16444 (-fchkp-narrow-bounds): New.
16445 (-fchkp-narrow-to-innermost-array): New.
16446 (-fchkp-optimize): New.
16447 (-fchkp-use-fast-string-functions): New.
16448 (-fchkp-use-nochk-string-functions): New.
16449 (-fchkp-use-static-bounds): New.
16450 (-fchkp-use-static-const-bounds): New.
16451 (-fchkp-treat-zero-dynamic-size-as-infinite): New.
16452 (-fchkp-check-read): New.
16453 (-fchkp-check-write): New.
16454 (-fchkp-store-bounds): New.
16455 (-fchkp-instrument-calls): New.
16456 (-fchkp-instrument-marked-only): New.
16457 (-fchkp-use-wrappers): New.
16458 (-static-libmpx): New.
16459 (-static-libmpxwrappers): New.
16460
16461 2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
16462
16463 * config/i386/linux-common.h (LIBMPX_WRAPPERSSPEC): New.
16464 (CHKP_SPEC): Add wrappers library.
16465 * c-family/c.opt (static-libmpxwrappers): New.
16466
16467 2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
16468
16469 * config/i386/linux-common.h (LIBMPX_LIBS): New.
16470 (LIBMPX_SPEC): New.
16471 (CHKP_SPEC): New.
16472 * gcc.c (CHKP_SPEC): New.
16473 (LINK_COMMAND_SPEC): Add CHKP_SPEC.
16474 * c-family/c.opt (static-libmpx): New.
16475
16476 2015-03-10 Richard Biener <rguenther@suse.de>
16477
16478 PR middle-end/44563
16479 * cgraph.h (struct cgraph_edge_hasher): Add hash overload
16480 for compare_type.
16481 * cgraph.c (cgraph_edge_hasher::hash): Inline htab_hash_pointer.
16482 (cgraph_update_edge_in_call_site_hash): Use cgraph_edge_hasher::hash.
16483 (cgraph_add_edge_to_call_site_hash): Likewise.
16484 (cgraph_node::get_edge): Likewise.
16485 (cgraph_edge::set_call_stmt): Likewise.
16486 (cgraph_edge::remove_caller): Likewise.
16487
16488 2015-03-10 Chung-Ju Wu <jasonwucj@gmail.com>
16489
16490 * config/nds32/nds32.h (callee_saved_regs_size): Rename to ...
16491 (callee_saved_gpr_regs_size): ... this.
16492 (callee_saved_regs_first_regno): Rename to ...
16493 (callee_saved_first_gpr_regno): ... this.
16494 (callee_saved_regs_last_regno) Rename to ...
16495 (callee_saved_last_gpr_regno): ... this.
16496 * config/nds32/nds32.c (nds32_compute_stack_frame): Adjust renamed
16497 variables.
16498 (nds32_initial_elimination_offset): Likewise.
16499 (nds32_expand_prologue): Likewise.
16500 (nds32_expand_epilogue): Likewise.
16501 (nds32_expand_prologue_v3push): Likewise.
16502 (nds32_expand_epilogue_v3pop): Likewise.
16503 * config/nds32/nds32-md-auxiliary.c (nds32_output_stack_push):
16504 Adjust renamed variables.
16505 (nds32_output_stack_pop): Likewise.
16506
16507 2015-03-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
16508
16509 * dominance.c (nearest_common_dominator_for_set): Fix A_Dominated_by_B
16510 code in comment.
16511
16512 2015-03-10 Jakub Jelinek <jakub@redhat.com>
16513
16514 PR rtl-optimization/65321
16515 * cfgexpand.c (expand_debug_expr): Ensure shift amount isn't wider
16516 than shift mode.
16517 * var-tracking.c (use_narrower_mode): Likewise.
16518
16519 2015-03-10 Jan Hubicka <hubicka@ucw.cz>
16520
16521 PR tree-optimization/65355
16522 * varasm.c (notice_global_symbol): Do not produce RTL.
16523 * symtab.c (symtab_node::can_increase_alignment_p): Check for section
16524 anchor.
16525 * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Do not
16526 check for section anchors.
16527
16528 2015-03-10 Alan Modra <amodra@gmail.com>
16529
16530 PR target/65286
16531 * config.gcc (powerpc*-*-linux*): Arrange for powerpc64le-linux
16532 to be single-arch by default. Set cpu_is_64bit for powerpc64
16533 given --with-cpu=native.
16534 * config/rs6000/t-fprules: Do not set default MULTILIB vars.
16535 * config/rs6000/t-linux (MULTIARCH_DIRNAME): Support powerpc64
16536 and powerpc64le.
16537 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Test
16538 rs6000_isa_flags rather than TARGET_64BIT.
16539
16540 2015-03-09 Yoshinori Sato <ysato@users.sourceforge.jp>
16541 Kaz Kojima <kkojima@gcc.gnu.org>
16542
16543 * config/sh/t-linux (MULTILIB_EXCEPTIONS): Define for m2a cases.
16544
16545 2015-03-09 Jakub Jelinek <jakub@redhat.com>
16546
16547 PR lto/65361
16548 * ipa-devirt.c (add_type_duplicate): Don't use DECL_CONTEXT
16549 on a TREE_BINFO, instead use BINFO_TYPE.
16550
16551 2015-03-09 Richard Biener <rguenther@suse.de>
16552
16553 PR middle-end/65270
16554 * tree-core.h (enum operand_equal_flag): Add OEP_ADDRESS_OF.
16555 * fold-const.c (operand_equal_p): When recursing for ADDR_EXPRs
16556 operand set OEP_ADDRESS_OF. Clear it when recursing to non-bases
16557 of that. When comparing dereferences compare alignment.
16558 When comparing MEM_REFs or TARGET_MEM_REFs compare dependence info.
16559
16560 2015-03-08 Jan Hubicka <hubicka@ucw.cz>
16561
16562 * ipa-inline-analysis.c (check_callers): Check
16563 node->can_remove_if_no_direct_calls_and_refs_p.
16564 (growth_likely_positive): Reorganize to call
16565 can_remove_if_no_direct_calls_p later.
16566 * cgraph.h (will_be_removed_from_program_if_no_direct_calls_p,
16567 will_be_removed_from_program_if_no_direct_calls_p): Add
16568 will_inline parameter.
16569 * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p,
16570 cgraph_node::will_be_removed_from_program_if_no_direct_calls_p):
16571 Handle inliner case correctly.
16572
16573 2015-03-09 Thomas Preud'homme <thomas.preudhomme@arm.com>
16574
16575 PR tree-optimization/63743
16576 * cfgexpand.c (reorder_operands): Also reorder if only second operand
16577 had its definition forwarded by TER.
16578
16579 2015-03-08 Jan Hubicka <hubicka@ucw.cz>
16580
16581 PR lto/65316
16582 * ipa-utils.h (types_odr_comparable): Add strict argument.
16583 * ipa-devirt.c: Fix whitespace;
16584 (odr_hasher): Remove.
16585 (odr_name_hasher, odr_vtable_hasher): New hashers.
16586 (can_be_name_hashed_p): New predicate.
16587 (hash_type_name): remove.
16588 (hash_odr_name): New.
16589 (odr_name_hasher::hash): new.
16590 (can_be_vtable_hashed_p): New.
16591 (hash_odr_vtable): New.
16592 (odr_vtable_hasher::hash): New.
16593 (types_same_for_odr): Add strict parameter.
16594 (types_odr_comparable): Likewise.
16595 (odr_name_hasher::equal): New.
16596 (odr_vtable_hasher::equal): New.
16597 (odr_name_hasher::remove): New.
16598 (odr_hash_type): Change to hash_table<odr_name_hasher>.
16599 (odr_vtable_hash_type): New.
16600 (odr_vtable_hash): New.
16601 (odr_subtypes_equivalent_p): Do strict comparsion.
16602 (add_type_duplicate): Merge type names; cleanup; avoid type
16603 duplicates.
16604 (register_odr_type): Initialize vtable hash.
16605 (build_type_inheritance_graph): Likewise
16606 (get_odr_type): Reorg to use two hashes.
16607 (dump_possible_polymorphic_call_targets): Move sanity check after debug
16608 output.
16609 (ipa_devirt): Dump type_inheritance_graph.
16610 (types_same_for_odr): Add strict mode.
16611
16612 2015-03-05 Jan Hubicka <hubicka@ucw.cz>
16613
16614 PR ipa/65334
16615 * cgraph.h (symtab_node): Add definition_alignment,
16616 can_increase_alignment_p and increase_alignment.
16617 * symtab.c (symtab_node::can_increase_alignment_p,
16618 increase_alignment_1, symtab_node::increase_alignment,
16619 symtab_node::definition_alignment): New.
16620 * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Use
16621 can_increase_alignment_p.
16622 * tree-vectorizer.c (increase_alignment): Use increase_alignment.
16623 * tree-vect-stmts.c (ensure_base_align): Likewise.
16624 * varasm.c (function_section_1): Use definition_alignment.
16625 (assemble_start_function): Likewise.
16626 (emit_local): likewise.
16627 (build_constant_desc): Likewsie.
16628 (output_constant_def_contents): Likewise.
16629 (place_block_symbol): Likewise.
16630 (output_object_block): Likewise.
16631
16632 2015-03-05 Jan Hubicka <hubicka@ucw.cz>
16633
16634 PR ipa/65316
16635 * tree.c (free_lang_data_in_type): Be sure to keep BINFO_VTABLE
16636 when outputting debug.
16637
16638 2015-03-07 Marek Polacek <polacek@redhat.com>
16639 Martin Uecker <uecker@eecs.berkeley.edu>
16640
16641 PR sanitizer/65280
16642 * doc/invoke.texi: Update description of -fsanitize=bounds.
16643
16644 2015-03-06 Wilco Dijkstra <wilco.dijkstra@arm.com>
16645
16646 * tree-ssa-phiopt.c (neg_replacement): Remove.
16647 (tree_ssa_phiopt_worker): Remove negate optimization.
16648
16649 2015-03-05 Jan Hubicka <hubicka@ucw.cz>
16650
16651 PR ipa/65302
16652 * value-prof.c (gimple_ic): Pure dead eh edges when needed.
16653
16654 2015-03-06 Richard Biener <rguenther@suse.de>
16655
16656 PR middle-end/64928
16657 * tree-ssa-live.h (struct tree_live_info_d): Add livein_obstack
16658 and liveout_obstack members.
16659 (calculate_live_on_exit): Remove.
16660 (calculate_live_ranges): Change declaration.
16661 * tree-ssa-live.c (liveness_bitmap_obstack): Remove global var.
16662 (new_tree_live_info): Adjust.
16663 (calculate_live_ranges): Delete livein when not wanted.
16664 (calculate_live_ranges): Do not initialize liveness_bitmap_obstack.
16665 Deal with partly deleted live info.
16666 (loe_visit_block): Remove temporary bitmap by using
16667 bitmap_ior_and_compl_into.
16668 (live_worklist): Adjust accordingly.
16669 (calculate_live_on_exit): Make static.
16670 * tree-ssa-coalesce.c (coalesce_ssa_name): Tell calculate_live_ranges
16671 we do not need livein.
16672
16673 2015-03-06 Jonathan Wakely <jwakely@redhat.com>
16674
16675 * real.c (real_from_string): Fix typo in assertion.
16676
16677 2015-03-06 Alex Velenko <alex.velenko@arm.com>
16678
16679 * ChangeLog (2015-03-05): Reflect Richard Henderson as actual author of
16680 the patch.
16681
16682 2015-03-05 Jan Hubicka <hubicka@ucw.cz>
16683
16684 * ipa-icf.c (sem_variable::equals_wpa): Check FINAL flags.
16685
16686 2015-03-05 Vladimir Makarov <vmakarov@redhat.com>
16687
16688 PR target/64342
16689 * lra-assigns.c (find_hard_regno_for): Rename to
16690 find_hard_regno_for_1. Add a new parameter.
16691 (find_hard_regno_for): New function using find_hard_regno_for_1.
16692
16693 2015-03-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
16694
16695 PR rtl-optimization/65067
16696 * expmed.c (store_bit_field, extract_bit_field): Reworked the
16697 strict volatile bitfield handling.
16698
16699 2015-03-05 Martin Liska <mliska@suse.cz>
16700
16701 PR ipa/65318
16702 * ipa-icf.c (sem_variable::equals): Compare variables types.
16703
16704 2015-03-05 Richard Henderson <rth@redhat.com>
16705
16706 PR target/65121
16707 * config/arm/arm.c (arm_function_in_section_p): Fix predicate to
16708 correctly check weak symbol binding.
16709
16710 2015-03-05 Steve Ellcey <sellcey@imgtec.com>
16711
16712 PR middle-end/65315
16713 * cfgexpand.c (expand_stack_vars): Update large_align to maximum
16714 needed alignment.
16715
16716 2015-03-05 Martin Liska <mliska@suse.cz>
16717
16718 * ipa-inline.c (inline_small_functions): Set default value to
16719 prevent warning during bootstrap.
16720 * tree.h: Add pragma guard that ignores false positives during
16721 bootstrap.
16722
16723 2015-03-05 Richard Biener <rguenther@suse.de>
16724
16725 PR tree-optimization/65310
16726 * tree-vect-data-refs.c (vect_compute_data_ref_alignment):
16727 Properly preserve alignment of the base of the access.
16728
16729 2015-03-05 Richard Biener <rguenther@suse.de>
16730
16731 PR ipa/65270
16732 * ipa-icf-gimple.c (func_checker::compare_memory_operand):
16733 Compare dependence info.
16734
16735 2015-03-05 Richard Biener <rguenther@suse.de>
16736
16737 PR middle-end/65233
16738 * ipa-polymorphic-call.c: Include tree-ssa-operands.h and
16739 tree-into-ssa.h.
16740 (walk_ssa_copies): Revert last chage. Instead do not walk
16741 SSA names registered for SSA update.
16742
16743 2015-03-03 Jan Hubicka <hubicka@ucw.cz>
16744
16745 PR ipa/65270
16746 * ipa-icf.c (sem_item::compare_cgraph_references): Compare
16747 vtable references for their containing type.
16748 (sem_function::equals_wpa): Compare TYPE_RESTRICT
16749 and type attributes.
16750
16751 2015-03-04 Eric Botcazou <ebotcazou@adacore.com>
16752
16753 * fold-const.c (round_up_loc): Cast divisor to signed on all paths
16754 before negating it.
16755 * stor-layout.c (finalize_record_size): Revert latest change.
16756
16757 2015-03-04 Andreas Tobler <andreast@gcc.gnu.org>
16758
16759 * config/rs6000/t-freebsd64: Remove 32-bit soft-float multilibs.
16760
16761 2015-03-03 Jan Hubicka <hubicka@ucw.cz>
16762
16763 * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p): Rewrite
16764 for correct comdat handling.
16765 (cgraph_node::will_be_removed_from_program_if_no_direct_calls_p):
16766 Likewise.
16767 * cgraph.h (call_for_symbol_and_aliases): Fix formating.
16768 (used_from_object_file_p_worker): Remove.
16769 (cgraph_node::only_called_directly_or_alised): Add
16770 used_from_object_file_p.
16771 * ipa-inline-analysis.c (growth_likely_positive): Optimie.
16772 * ipa-inline-transform.c (can_remove_node_now_p_1): Use
16773 can_remove_if_no_direct_calls_and_refs_p.
16774
16775 2015-03-04 Nick Clifton <nickc@redhat.com>
16776
16777 * config/rl78/rl78.h (enum reg_class): Remove real registers from
16778 General register class.
16779 * config/rl78/rl78-real.md: Replace general register constraints
16780 with real+virtual register constraints.
16781
16782 2015-03-04 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
16783
16784 * config/s390/s390.c (s390_expand_builtin): Exlude non-htm builtins
16785 from checking for -mhtm option.
16786
16787 2015-03-03 Jan Hubicka <hubicka@ucw.cz>
16788
16789 * tree-sra.c (convert_callers): Use call_for_symbol_and_aliases.
16790 (struct ipa_sra_check_caller_data): Add has_thunk field.
16791 (ipa_sra_check_caller): Check for thunk.
16792 (ipa_sra_preliminary_function_checks): Give up on function with
16793 thunks.
16794 (ipa_early_sra): Use call_for_symbol_and_aliases.
16795
16796 2015-03-03 Kaz Kojima <kkojima@gcc.gnu.org>
16797
16798 PR target/65249
16799 * config/sh/sh.md (symGOT_load): Use R0 reg for operands[2] when
16800 called for __stack_chk_guard symbol.
16801
16802 2015-03-03 DJ Delorie <dj@redhat.com>
16803
16804 * config/rl78/rl78-real.md (*addqi_real): Allow SADDR types for
16805 inc/dec.
16806 (*addhi3_real): Likewise.
16807 * config/rl78/rl78-virt.md (*inc<mode>3_virt): Additional
16808 pattern to match incrementing memory.
16809 * config/rl78/predicates.md (rl78_1_2_operand): New.
16810 * config/rl78/rl78.c (rl78_force_nonfar_3): Allow far mem-mem if
16811 it's the same and only mem.
16812 (rl78_alloc_physical_registers_op2): If there's effectively only
16813 one MEM, transcode it into HL.
16814 (rl78_far_p): Reject addresses that aren't legitimate.
16815
16816 2015-03-03 Eric Botcazou <ebotcazou@adacore.com>
16817
16818 * fold-const.c (round_up_loc): Cast divisor to HOST_WIDE_INT before
16819 negating it.
16820
16821 * tree-sra.c (pa_sra_preliminary_function_checks): Fix typo in message.
16822
16823 2015-03-03 Max Filippov <jcmvbkbc@gmail.com>
16824
16825 Implement call0 ABI for xtensa
16826 * config/xtensa/constraints.md ("a" constraint): Include stack
16827 pointer in case of call0 ABI.
16828 ("q" constraint): Make empty in case of call0 ABI.
16829 ("D" constraint): Include stack pointer in case of call0 ABI.
16830 * config/xtensa/xtensa-protos.h (xtensa_set_return_address,
16831 xtensa_expand_epilogue, xtensa_regno_to_class): Add new function
16832 prototypes.
16833 * config/xtensa/xtensa.c (xtensa_callee_save_size): New
16834 variable.
16835 (xtensa_regno_to_class): Make it a local variable in the
16836 function xtensa_regno_to_class.
16837 (xtensa_function_epilogue, TARGET_ASM_FUNCTION_EPILOGUE): Remove
16838 macro, function prototype and implementation.
16839 (reg_nonleaf_alloc_order): Make it a local variable in the
16840 function order_regs_for_local_alloc.
16841 (xtensa_conditional_register_usage): New function.
16842 (TARGET_CONDITIONAL_REGISTER_USAGE): Define macro.
16843 (xtensa_valid_move): Allow direct moves to stack pointer
16844 register in call0 ABI.
16845 (xtensa_setup_frame_addresses): Only spill register windows in
16846 windowed ABI.
16847 (xtensa_emit_call): Emit call(x)8 or call(x)0 in windowed and
16848 call0 ABI respectively.
16849 (xtensa_function_arg_1): Only mark a7 register for copying in
16850 windowed ABI.
16851 (xtensa_call_save_reg): New function.
16852 (compute_frame_size): Add space for callee saved register
16853 storage to the frame size in call0 ABI.
16854 (xtensa_expand_prologue): Generate code to set up stack frame
16855 and save callee-saved registers in call0 ABI.
16856 (xtensa_expand_epilogue): New function.
16857 (xtensa_set_return_address): New function.
16858 (xtensa_return_addr): Calculate return address in call0 ABI.
16859 (xtensa_builtin_saveregs): Only mark a7 register for copying and
16860 emit copying code in windowed ABI.
16861 (order_regs_for_local_alloc): Add preferred register allocation
16862 order for non-leaf function in call0 ABI.
16863 (xtensa_static_chain): Add atatic chain passing for call0 ABI.
16864 (xtensa_asm_trampoline_template): Add trampoline generation for
16865 call0 ABI.
16866 (xtensa_trampoline_init): Add trampoline initialization for
16867 call0 ABI.
16868 (xtensa_conditional_register_usage, xtensa_regno_to_class): New
16869 functions.
16870 * config/xtensa/xtensa.h (TARGET_WINDOWED_ABI): New macro.
16871 (TARGET_CPU_CPP_BUILTINS): Add built-in define for call0 ABI.
16872 (CALL_USED_REGISTERS): Modify to encode both windowed and call0
16873 ABI call-used registers.
16874 (HARD_FRAME_POINTER_REGNUM): Add frame pointer for call0 ABI.
16875 (INCOMING_REGNO, OUTGOING_REGNO): Use argument unchanged in
16876 call0 ABI.
16877 (REG_CLASS_CONTENTS): Include all registers into the preferred
16878 reload registers set, adjust the set in the
16879 xtensa_conditional_register_usage.
16880 (xtensa_regno_to_class): Drop variable declaration.
16881 (REGNO_REG_CLASS): Redefine to use xtensa_regno_to_class
16882 function.
16883 (WINDOW_SIZE): Define as 8 or 0 for windowed and call0 ABI
16884 respectively.
16885 (FUNCTION_PROFILER): Add _mcount call for call0 ABI.
16886 (TRAMPOLINE_SIZE): Define trampoline size for call0 ABI.
16887 (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 in call0 ABI.
16888 (ASM_OUTPUT_POOL_PROLOGUE): Always generate literal pool
16889 location in call0 ABI.
16890 (EH_RETURN_STACKADJ_RTX): New definition, use a10 for passing
16891 stack adjustment size when handling exception.
16892 (CRT_CALL_STATIC_FUNCTION): Add definition for call0 ABI.
16893 * config/xtensa/xtensa.md (A9_REG, UNSPECV_BLOCKAGE): New
16894 definitions.
16895 ("return" pattern): Generate ret.n/ret in call0 ABI.
16896 ("epilogue" pattern): Expand epilogue.
16897 ("nonlocal_goto" pattern): Use default in call0 ABI.
16898 ("eh_return" pattern): Move implementation to eh_set_a0_windowed,
16899 emit eh_set_a0_* depending on ABI.
16900 ("eh_set_a0_windowed" pattern): Former eh_return pattern.
16901 ("eh_set_a0_call0", "blockage"): New patterns.
16902
16903 2015-03-03 Martin Liska <mliska@suse.cz>
16904
16905 PR ipa/65287
16906 * ipa-icf.c (sem_variable::parse): Skip all alias variables.
16907
16908 2015-03-03 Michael Meissner <meissner@linux.vnet.ibm.com>
16909
16910 PR 65138/target
16911 * config/rs6000/rs6000-tables.opt: Regenerate table.
16912
16913 2015-03-03 Renlin Li <renlin.li@arm.com>
16914
16915 * doc/md.texi (@item ^): Change ? into ^.
16916
16917 2015-03-03 H.J. Lu <hongjiu.lu@intel.com>
16918
16919 * doc/tm.texi: Regenerated.
16920
16921 2015-03-03 Max Filippov <jcmvbkbc@gmail.com>
16922
16923 * builtins.c (expand_builtin_return_addr): Add
16924 RETURN_ADDR_IN_PREVIOUS_FRAME to 'if' condition, remove
16925 surrounding #ifdef.
16926 * config/sparc/sparc.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Change
16927 definition to 1.
16928 * config/xtensa/xtensa.h (RETURN_ADDR_IN_PREVIOUS_FRAME):
16929 Likewise.
16930 * defaults.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 if
16931 undefined.
16932 * doc/tm.texi.in (RETURN_ADDR_IN_PREVIOUS_FRAME): Update
16933 paragraph.
16934
16935 2015-03-03 Martin Jambor <mjambor@suse.cz>
16936 Eric Botcazou <ebotcazou@adacore.com>
16937
16938 * tree-sra.c (ipa_sra_check_caller_data): New type.
16939 (has_caller_p): Removed.
16940 (ipa_sra_check_caller): New function.
16941 (ipa_sra_preliminary_function_checks): Use it.
16942
16943 2015-03-03 Martin Liska <mliska@suse.cz>
16944
16945 * ipa-icf.c (sem_item_optimizer::merge_classes): Use bit or
16946 instead of if branch.
16947
16948 2015-03-03 Martin Liska <mliska@suse.cz>
16949
16950 PR ipa/65282
16951 * ipa-icf.c (sem_variable::equals): Fix wrong condition.
16952
16953 2015-03-23 Jeff Law <law@redhat.com>
16954
16955 PR tree-optimization/65241
16956 * tree-ssa-dom.c (lookup_avail_expr): Only modify the avail_expr
16957 hash table if INSERT is true.
16958
16959 2015-03-03 Georg-Johann Lay <avr@gjlay.de>
16960
16961 PR target/65296
16962 * config.gcc (extra_gcc_objs) [avr-*-rtems*]: Remove.
16963
16964 2015-03-03 Georg-Johann Lay <avr@gjlay.de>
16965
16966 PR target/64331
16967 * config/avr/avr.c (context.h, tree-pass.h): Include them.
16968 (avr_pass_data_recompute_notes): New static variable.
16969 (avr_pass_recompute_notes): New class.
16970 (avr_register_passes): New static function.
16971 (avr_option_override): Call it.
16972
16973 2015-03-03 Georg-Johann Lay <avr@gjlay.de>
16974
16975 Fix various problems with specs file generation.
16976
16977 PR target/65296
16978 * config.gcc (extra_gcc_objs) [avr]: Remove.
16979 * config/avr/driver-avr.c: Remove file.
16980 * config/avr/t-avr (driver-avr.o): Remove rule.
16981 (gen-avr-mmcu-specs): Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD and
16982 INCLUDES to build. Depend on TM_H.
16983 * config/avr/gen-avr-mmcu-specs.c: Tidy up code. Fix various
16984 build warnings. Fix non-matching types and non-existing %-codes.
16985 (tm.h): Include.
16986 (*lib) [!WITH_AVRLIBC]: Don't link libdev.a.
16987 (*libgcc) [WITH_AVRLIBC]: Add "-lm".
16988 * config/avr/avrlibc.h (LIBGCC_SPEC): Remove definition.
16989 * config/avr/avr.h (DRIVER_SELF_SPECS): Fix handling of -march=.
16990 (CPP_SPEC, CC1PLUS_SPEC, ASM_SPEC, LINK_SPEC, LIB_SPEC)
16991 (LIBGCC_SPEC): Remove definitions.
16992
16993 2015-03-03 Eric Botcazou <ebotcazou@adacore.com>
16994
16995 * config/ia64/ia64.c (expand_vec_perm_interleave_2): Use gen_raw_REG
16996 to create a register in testing mode.
16997
16998 2015-03-03 Martin Liska <mliska@suse.cz>
16999 Jan Hubicka <hubicka@ucw.cz>
17000
17001 PR ipa/65263
17002 * cgraph.c (cgraph_node::has_thunk_p): New function.
17003 * cgraph.h (cgraph_node::has_thunk_p: Likewise.
17004 * ipa-icf.c (redirect_all_callers): Do not redirect thunks.
17005 (sem_function::merge): Assert is changed.
17006
17007 2015-03-03 Martin Liska <mliska@suse.cz>
17008 Martin Jambor <mjambor@suse.cz>
17009
17010 PR ipa/65087
17011 * ipa-icf.c (sem_item_optimizer::execute): Change function
17012 return value to boolean.
17013 (sem_item_optimizer::merge_classes): Likewise.
17014 (ipa_icf_driver): Return TODO_remove_functions in case there's
17015 a merge operation processed.
17016 * ipa-icf.h: Change function return value to boolean.
17017
17018 2015-03-02 Michael Meissner <meissner@linux.vnet.ibm.com>
17019
17020 PR 65138/target
17021 * config/rs6000/rs6000-cpus.def (powerpc64le): Add new generic
17022 processor type for 64-bit little endian PowerPC.
17023
17024 * config/rs6000/rs6000.c (rs6000_option_override_internal): If
17025 -mdebug=reg, print TARGET_DEFAULT. Fix logic to use
17026 TARGET_DEFAULT if there is no default cpu. Fix -mdebug=reg
17027 printing built-in mask so it does not pass NULL pointers.
17028
17029 * doc/invoke.texi (IBM RS/6000 and PowerPC options): Document
17030 -mcpu=powerpc64le.
17031
17032 2015-03-02 Steve Ellcey <sellcey@imgtec.com>
17033
17034 PR target/58158
17035 * config/mips/mips.md (mov<mode>cc): Change ISA_HAS_SEL check to
17036 !ISA_HAS_FP_CONDMOVE.
17037
17038 2015-03-02 Aldy Hernandez <aldyh@redhat.com>
17039
17040 * config/i386/i386.md (*udivmod<mode>4_pow2): Remove
17041 reload_completed.
17042
17043 2015-03-02 Ulrich Drepper <drepper@gmail.com>
17044
17045 * doc/invoke.texi (Options for Code Generation Conventions):
17046 Fix URL of DSO paper.
17047
17048 2015-03-02 Jan Hubicka <hubicka@ucw.cz>
17049
17050 PR ipa/65130
17051 * ipa-inline.c (check_callers): Looks for recursion.
17052 (inline_to_all_callers): Give up on uninlinable or recursive edges.
17053 * ipa-inline-analysis.c (inline_summary_t::duplicate): Do not update
17054 summary of inline clones.
17055 (do_estimate_growth_1): Fix recursion check.
17056
17057 2015-03-02 Jan Hubicka <hubicka@ucw.cz>
17058
17059 PR ipa/64988
17060 * ipa-inline-transform.c (clone_inlined_nodes): Do not dissolve
17061 comdat groups.
17062
17063 2015-03-02 Jan Hubicka <hubicka@ucw.cz>
17064 Aldy Hernandez <aldyh@redhat.com>
17065
17066 PR lto/65276
17067 * ipa-devirt.c (add_type_duplicate): Remove odr_violated assert
17068 when checking TYPE_BINFO.
17069
17070 2015-03-02 Richard Biener <rguenther@suse.de>
17071
17072 PR ipa/65270
17073 * ipa-icf-gimple.c: Include builtins.h.
17074 (func_checker::compare_memory_operand): Compare base alignment.
17075
17076 2015-03-02 Ilya Enkovich <ilya.enkovich@intel.com>
17077
17078 PR target/65184
17079 * gcc/config/i386/i386.c (ix86_pass_by_reference) Bounds
17080 are never passed by reference.
17081
17082 2015-03-02 Ilya Enkovich <ilya.enkovich@intel.com>
17083
17084 PR target/65183
17085 * tree-chkp.c (chkp_check_lower): Don't check against
17086 zero bounds for already instrumented functions.
17087 (chkp_check_upper): Likewise.
17088 (chkp_fini): Clean pass local data to avoid wrong reusage.
17089
17090 2015-02-28 Martin Liska <mliska@suse.cz>
17091 Jan Hubicka <hubicka@ucw.cz>
17092
17093 * ipa-icf.c (sem_variable::equals): Improve debug output;
17094 get variable constructor.
17095 (sem_variable::parse): Do not filter out too early; give up on
17096 volatile and register vars.
17097 (sem_item_optimizer::filter_removed_items): Filter out nonreadonly
17098 variables.
17099 * ipa-icf.h (sem_variable::init): Do not set ctor.
17100 (sem_variable::ctor): Remove.
17101
17102 2015-03-01 Aldy Hernandez <aldyh@redhat.com>
17103
17104 PR middle-end/65233
17105 * ipa-polymorphic-call.c (walk_ssa_copies): Handle empty PHIs.
17106
17107 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
17108
17109 * ipa-icf.c: Include stor-layout.h
17110 (sem_function::compare_cgraph_references): Rename to ...
17111 (sem_item::compare_cgraph_references): ... this one.
17112 (sem_variable::equals_wpa): New function
17113 (sem_variable::equals): Do not check stuff already verified by
17114 equals_wpa.
17115 (sem_variable::equals): Reorg based on varasm.c:compare_constant.
17116 * ipa-icf.h (sem_item): Add compare_cgraph_references.
17117 (sem_function): Remove compare_cgraph_references.
17118 (sem_variable): Turns equals_wpa into non-inline.
17119
17120 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
17121
17122 * ipa-icf.c (sem_function::init): Fix formating; skip GIMPLE_PREDICT.
17123 (sem_item::add_expr): New function.
17124 (sem_function::hash_stmt): Handle operands of most statements.
17125 (sem_variable::get_hash): Hash the actual constructor.
17126 * ipa-icf.h (sem_item): Add add_expr.
17127 (sem_function): Update prototype of hash_stmt
17128
17129 2015-02-28 Martin Liska <mliska@suse.cz>
17130 Jan Hubicka <hubicka@ucw.cz>
17131
17132 PR ipa/65245
17133 * ipa-icf-gimple.c (func_checker::compare_function_decl):
17134 Remove.
17135 (func_checker::compare_variable_decl): Skip symtab vars.
17136 (func_checker::compare_cst_or_decl): Update.
17137 * ipa-icf.c (sem_function::parse): Do not consider aliases.
17138 (sem_function::compare_cgraph_references): Add ADDRESS parameter;
17139 use correct symtab predicates.
17140 (sem_function::equals_wpa): Update uses of compare_cgraph_references.
17141 (sem_variable::parse): Update comment.
17142 (sem_item_optimizer::build_graph): Consider ultimate aliases
17143 for references.
17144
17145 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
17146
17147 * ipa-icf-gimple.c (func_checker::compare_operand): Fix handling
17148 of OBJ_TYPE_REF.
17149
17150 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
17151
17152 * ipa-icf.c (sem_function::merge): Fix handling of COMDAT.
17153 (sem_variable::merge) Likewise.
17154
17155 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
17156
17157 * ipa-inline.c (can_inline_edge_p): Match opt_for_fn on inline
17158 target; also match flag_ipa_devirt.
17159
17160 2015-03-01 Martin Liska <mliska@suse.cz>
17161 Jan Hubicka <hubicka@ucw.cz>
17162
17163 * ipa-icf-gimple.c (func_checker::compare_variable_decl):
17164 Validate variable alignment.
17165 * ipa-icf.c (sem_function::equals_private): Be more precise
17166 about non-common function attributes.
17167 (sem_variable::equals): Likewise.
17168
17169 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
17170
17171 PR ipa/65237
17172 * ipa-icf.c (sem_function::merge): Do not attempt to produce alias
17173 across COMDAT group boundary.
17174
17175 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
17176
17177 PR ipa/65232
17178 * ipa-icf.c (clear_decl_rtl): New function.
17179 (sem_function::merge): Clear RTL before forming alias.
17180 (sem_variable::merge): Clear RTL before forming alias.
17181
17182 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
17183
17184 PR ipa/65236
17185 * cgraphunit.c (cgraph_node::expand_thunk): Enable return slot opt.
17186
17187 2015-02-28 Xingxing Pan <xxingpan@marvell.com>
17188
17189 * config/aarch64/aarch64.md: (mov<mode>_aarch64): Change type
17190 to neon_to_gp<q>.
17191
17192 2015-02-27 Vladimir Makarov <vmakarov@redhat.com>
17193
17194 * params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): Fix
17195 a typo in the description.
17196
17197 2015-02-27 Vladimir Makarov <vmakarov@redhat.com>
17198
17199 PR target/64317
17200 * params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): New.
17201 * params.h (LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): New.
17202 * lra-constraints.c: Include "params.h".
17203 (EBB_PROBABILITY_CUTOFF): Use
17204 LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF.
17205 (lra_inheritance): Use '<' instead of '<=' for
17206 EBB_PROBABILITY_CUTOFF.
17207 * doc/invoke.texi (lra-inheritance-ebb-probability-cutoff):
17208 Document change.
17209
17210 2015-02-27 Martin Liska <mliska@suse.cz>
17211
17212 * ipa-icf.h (struct symbol_compare_hashmap_traits): Add missing
17213 vector length condition.
17214
17215 2015-02-27 Sandra Loosemore <sandra@codesourcery.com>
17216
17217 * doc/extend.texi (x86 transactional memory intrinsics):
17218 Reorganize discussion of _xbegin. Clarify that the return
17219 value is a bit mask. Expand example and move to end of section.
17220
17221 2015-02-26 Jakub Jelinek <jakub@redhat.com>
17222 Aldy Hernandez <aldyh@redhat.com>
17223
17224 PR rtl-optimization/65220
17225 * config/i386/i386.md (*udivmod<mode>4_pow2): New.
17226
17227 2015-02-27 Vladimir Makarov <vmakarov@redhat.com>
17228
17229 PR target/65032
17230 * lra-remat.c (update_scratch_ops): New.
17231 (do_remat): Call it.
17232 * lra.c (lra_register_new_scratch_op): New. Take code from ...
17233 (remove_scratches): ... here.
17234 * lra-int.h (lra_register_new_scratch_op): New prototype.
17235
17236 2015-02-27 Marek Polacek <polacek@redhat.com>
17237
17238 PR c/65040
17239 * doc/invoke.texi: Update to reflect that -Wformat=2 doesn't enable
17240 -Wformat-signedness anymore.
17241
17242 2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
17243
17244 * config/s390/s390.c: (s390_atomic_assign_expand_fenv): New
17245 function.
17246 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define macro.
17247
17248 2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
17249
17250 * config/s390/s390.c (enum s390_builtin):
17251 Add S390_BUILTIN_S390_SFPC and S390_BUILTIN_S390_EFPC.
17252 (code_for_builtin): Add CODE_FOR_s390_sfpc and CODE_FOR_s390_efpc.
17253 (s390_init_builtins): Generate new builtin functions.
17254 * config/s390/s390.md (UNSPECV_SFPC, UNSPECV_EFPC): New constants.
17255 (s390_sfpc, s390_efpc): New pattern definitions.
17256
17257 2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
17258
17259 * config/s390/s390.c: (enum s390_builtin, s390_expand_builtin):
17260 Rename S390_BUILTIN_max to S390_BUILTIN_MAX.
17261 (s390_builtin_decls): New array.
17262 (s390_init_builtins): Put builtin decls into s390_builtin_decls.
17263 (s390_builtin_decl): New function.
17264 (TARGET_BUILTIN_DECL): Define macro.
17265
17266 2015-02-27 Richard Biener <rguenther@suse.de>
17267
17268 PR middle-end/63175
17269 * builtins.c (get_object_alignment_2): Make sure to re-apply
17270 the ANDed mask after recursing to its operand gets us a new
17271 misalignment bit position.
17272
17273 2015-02-26 Jan Hubicka <hubicka@ucw.cz>
17274 Martin Liska <mliska@suse.cz>
17275
17276 PR bootstrap/65150
17277 * ipa-icf.c (symbol_compare_collection::symbol_compare_colleciton):
17278 Use address_matters_p.
17279 (redirect_all_callers, set_addressable): New functions.
17280 (sem_function::merge): Reorganize and fix merging issues.
17281 (sem_variable::merge): Likewise.
17282 (sem_variable::compare_sections): Remove.
17283 * common.opt (fmerge-all-constants, fmerge-constants): Remove
17284 Optimization flag.
17285 * symtab.c (symtab_node::resolve_alias): When alias has aliases,
17286 redirect them.
17287 (symtab_node::make_decl_local): Set ADDRESSABLE bit when
17288 decl is used.
17289 (address_matters_1): New function.
17290 (symtab_node::address_matters_p): New function.
17291 * cgraph.c (cgraph_edge::verify_corresponds_to_fndecl): Fix
17292 check for merged flag.
17293 * cgraph.h (address_matters_p): Declare.
17294 (symtab_node::address_taken_from_non_vtable_p): Remove.
17295 (symtab_node::address_can_be_compared_p): New method.
17296 (ipa_ref::address_matters_p): Move here from ipa-ref.c; simplify.
17297 * ipa-visibility.c (symtab_node::address_taken_from_non_vtable_p):
17298 Remove.
17299 (comdat_can_be_unshared_p_1) Use address_matters_p.
17300 (update_vtable_references): Fix formating.
17301 * ipa-ref.c (ipa_ref::address_matters_p): Move inline.
17302 * cgraphunit.c (cgraph_node::create_wrapper): Drop UNINLINABLE flag.
17303 * cgraphclones.c: Preserve merged and icf_merged flags.
17304
17305 2015-02-26 Sandra Loosemore <sandra@codesourcery.com>
17306
17307 * doc/extend.texi (Function Attributes): Fix spelling and typos.
17308 (Label Attributes): Likewise.
17309 (Cilk Plus Builtins): Likewise.
17310 (ARC SIMD Built-in Functions): Likewise.
17311 (ARM C Language Extensions (ACLE)): Likewise.
17312 (PowerPC Built-in Functions): Likewise.
17313 (PowerPC Hardware Transactional Memory Built-in Functions):
17314 Likewise.
17315
17316 2015-02-26 Jakub Jelinek <jakub@redhat.com>
17317
17318 PR tree-optimization/65216
17319 * tree-ssa-reassoc.c (rewrite_expr_tree): Force creation of
17320 new stmt and new SSA_NAME for lhs whenever the arguments have
17321 changed and weren't just swapped. Fix comment typo.
17322
17323 PR tree-optimization/65215
17324 * tree-ssa-math-opts.c (find_bswap_or_nop_load): Return false
17325 for PDP endian targets.
17326 (perform_symbolic_merge, find_bswap_or_nop_1, find_bswap_or_nop):
17327 Fix up formatting issues.
17328 (bswap_replace): Likewise. For BYTES_BIG_ENDIAN, if the final access
17329 size is smaller than the original, adjust MEM_REF offset by the
17330 difference of sizes. Use is_gimple_mem_ref_addr instead of
17331 is_gimple_min_invariant test to avoid adding address temporaries.
17332
17333 2015-02-26 Martin Liska <mliska@suse.cz>
17334 Jan Hubicka <hubicka@ucw.cz>
17335
17336 PR ipa/64693
17337 * ipa-icf.c (symbol_compare_collection::symbol_compare_collection): New.
17338 (sem_item_optimizer::subdivide_classes_by_sensitive_refs): New function.
17339 (sem_item_optimizer::process_cong_reduction): Include division by
17340 sensitive references.
17341 * ipa-icf.h (struct symbol_compare_hashmap_traits): New class.
17342 * ipa-ref.c (ipa_ref::address_matters_p): New function.
17343 * ipa-ref.h (ipa_ref::address_matters_p): Likewise.
17344
17345 2015-02-26 Georg-Johann Lay <avr@gjlay.de>
17346
17347 PR target/65192
17348 * config/avr/avr-protos.h (tiny_valid_direct_memory_access_range):
17349 Remove.
17350 * config/avr/avr.c: Same.
17351 (avr_legitimate_address_p) <AVR_TINY, CONSTANT_ADDRESS_P>:
17352 Refuse any constant address not in 0..0xbf.
17353 * config/avr/avr.md (*mov<mode>, *movsf): Remove
17354 tiny_valid_direct_memory_access_range from insn conditions.
17355 (mov<mode>): Don't special-case expansion of avrtiny addresses.
17356
17357 2015-02-26 Oleg Endo <olegendo@gcc.gnu.org>
17358
17359 PR target/61142
17360 * config/sh/sh.c (sh_check_add_incdec_notes): New function.
17361 * config/sh/sh-protos.h (sh_check_add_incdec_notes): Declare it.
17362 * config/sh/predicates.md (const_logical_operand): New predicate.
17363 * config/sh/sh.md: Add new peephole2 patterns.
17364
17365 2015-02-26 Marek Polacek <polacek@redhat.com>
17366
17367 PR ipa/65008
17368 * ipa-inline.c (early_inliner): Recompute inline parameters.
17369
17370 2015-02-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
17371
17372 PR target/65171
17373 * config/rs6000/rs6000.c (rs6000_analyze_swaps): Ensure
17374 instructions with TImode operands are included in the analysis.
17375
17376 2015-02-26 Sebastian Pop <s.pop@samsung.com>
17377
17378 * tree-ssa-threadupdate.c (dump_jump_thread_path): Print all edges
17379 of an EDGE_FSM_THREAD.
17380
17381 2015-02-25 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
17382
17383 * config/rs6000/htm.md (tcheck): Fix assembly encoding.
17384
17385 2015-02-25 Aldy Hernandez <aldyh@redhat.com>
17386
17387 PR debug/46102
17388 * dwarf2out.c (dwarf2out_init): Disable -feliminate-dwarf2-dups.
17389
17390 2015-02-26 Sebastian Pop <s.pop@samsung.com>
17391
17392 PR tree-optimization/65048
17393 * tree-ssa-threadupdate.c (valid_jump_thread_path): New.
17394 (thread_through_all_blocks): Call valid_jump_thread_path.
17395 Remove invalid FSM jump-thread paths.
17396
17397 2015-02-26 Jakub Jelinek <jakub@redhat.com>
17398
17399 * passes.c (ipa_write_summaries_1): Call lto_output_init_mode_table.
17400 (ipa_write_optimization_summaries): Likewise.
17401 * tree-streamer.h: Include data-streamer.h.
17402 (streamer_mode_table): Declare extern variable.
17403 (bp_pack_machine_mode, bp_unpack_machine_mode): New inline functions.
17404 * lto-streamer-out.c (lto_output_init_mode_table,
17405 lto_write_mode_table): New functions.
17406 (produce_asm_for_decls): Call lto_write_mode_table when streaming
17407 offloading LTO.
17408 * lto-section-in.c (lto_section_name): Add "mode_table" entry.
17409 (lto_create_simple_input_block): Add mode_table argument to the
17410 lto_input_block constructors.
17411 * ipa-prop.c (ipa_prop_read_section, read_replacements_section):
17412 Likewise.
17413 * data-streamer-in.c (string_for_index): Likewise.
17414 * ipa-inline-analysis.c (inline_read_section): Likewise.
17415 * ipa-icf.c (sem_item_optimizer::read_section): Likewise.
17416 * lto-cgraph.c (input_cgraph_opt_section): Likewise.
17417 * lto-streamer-in.c (lto_read_body_or_constructor,
17418 lto_input_toplevel_asms): Likewise.
17419 (lto_input_mode_table): New function.
17420 * tree-streamer-out.c (pack_ts_fixed_cst_value_fields,
17421 pack_ts_decl_common_value_fields, pack_ts_type_common_value_fields):
17422 Use bp_pack_machine_mode.
17423 * real.h (struct real_format): Add name field.
17424 * lto-streamer.h (enum lto_section_type): Add LTO_section_mode_table.
17425 (class lto_input_block): Add mode_table member.
17426 (lto_input_block::lto_input_block): Add mode_table_ argument,
17427 initialize mode_table.
17428 (struct lto_file_decl_data): Add mode_table field.
17429 (lto_input_mode_table, lto_output_init_mode_table): New prototypes.
17430 * tree-streamer-in.c (unpack_ts_fixed_cst_value_fields,
17431 unpack_ts_decl_common_value_fields,
17432 unpack_ts_type_common_value_fields): Call bp_unpack_machine_mode.
17433 * tree-streamer.c (streamer_mode_table): New variable.
17434 * real.c (ieee_single_format, mips_single_format,
17435 motorola_single_format, spu_single_format, ieee_double_format,
17436 mips_double_format, motorola_double_format,
17437 ieee_extended_motorola_format, ieee_extended_intel_96_format,
17438 ieee_extended_intel_128_format, ieee_extended_intel_96_round_53_format,
17439 ibm_extended_format, mips_extended_format, ieee_quad_format,
17440 mips_quad_format, vax_f_format, vax_d_format, vax_g_format,
17441 decimal_single_format, decimal_double_format, decimal_quad_format,
17442 ieee_half_format, arm_half_format, real_internal_format): Add name
17443 field.
17444 * config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Likewise.
17445
17446 2015-02-26 Yuri Rumyantsev <ysrumyan@gmail.com>
17447
17448 PR target/65161
17449 * config/i386/i386.c (ix86_sched_reorder): Skip instruction
17450 reordering for selective scheduling.
17451
17452 2015-02-26 Terry Guo <terry.guo@arm.com>
17453
17454 * config/arm/arm-cores.def (cortex-m7): Add flag FL_NO_VOLATILE_CE.
17455 * config/arm/arm-protos.h (FL_NO_VOLATILE_CE): New flag.
17456 (arm_arch_no_volatile_ce): Declare new global variable.
17457 * config/arm/arm.c (arm_arch_no_volatile_ce): New global variable.
17458 (arm_option_override): Assign value to arm_arch_no_volatile_ce.
17459 * config/arm/arm.h (arm_arch_no_volatile_ce): Declare it.
17460 (TARGET_NO_VOLATILE_CE): New macro.
17461 * config/arm/arm.md (arm_comparison_operator): Disabled if not allow
17462 volatile memory access in IT block
17463
17464 2015-02-25 Kai Tietz <ktietz@redhat.com>
17465
17466 PR tree-optimization/61917
17467 * tree-vect-loop.c (vectorizable_reduction): Handle obvious case
17468 that reduc_def_stmt is null.
17469
17470 2015-02-25 Martin Liska <mliska@suse.cz>
17471
17472 * ipa-icf-gimple.c (func_checker::compare_variable_decl): Compare
17473 hard register variables.
17474
17475 2015-02-25 Kai Tietz <ktietz@redhat.com>
17476
17477 PR target/64212
17478 * symtab.c (symtab::make_decl_local): Set DECL_IMPORT_P explicit to 0.
17479 (symtab::noninterposable_alias): Likewise.
17480
17481 2015-02-25 Ilya Enkovich <ilya.enkovich@intel.com>
17482
17483 PR target/65167
17484 * gcc/config/i386/i386.c (ix86_function_arg_regno_p): Support
17485 bounds registers.
17486 (avoid_func_arg_motion): Add dependencies for BNDSTX insns.
17487
17488 2015-02-25 Alan Lawrence <alan.lawrence@arm.com>
17489
17490 PR target/64997
17491 * config/aarch64/aarch64.md (*xor_one_cmpl<mode>3): Use FP_REGNUM_P
17492 as split condition; force split via '#' in output pattern.
17493
17494 2015-02-25 Richard Biener <rguenther@suse.de>
17495 Kai Tietz <ktietz@redhat.com>
17496
17497 PR tree-optimization/61917
17498 * tree-vect-loop.c (vectorizable_reduction): Allow
17499 vect_internal_def without reduction to exit graceful.
17500
17501 2015-02-25 Georg-Johann Lay <avr@gjlay.de>
17502
17503 PR target/65196
17504 * config/avr/avr.c (avr_adjust_insn_length): Call recog_memoized
17505 only with NONDEBUG_INSN_P.
17506
17507 2015-02-25 Georg-Johann Lay <avr@gjlay.de>
17508
17509 Use variadic macros with avr-log.c.
17510
17511 * config/avr/avr-protos.h (avr_vdump): New prototype.
17512 (avr_log_set_caller_e, avr_log_set_caller_f): Remove protos.
17513 (avr_edump, avr_fdump, avr_dump): (Re)define to use avr_vdump.
17514 * config/avr/avr-log.c: Adjust comments.
17515 (avr_vdump): New function.
17516 (avr_vadump): Pass caller as 2nd argument instead of format string.
17517 (avr_log_caller, avr_log_fdump_e, avr_log_fdump_f)
17518 (avr_log_set_caller_e, avr_log_set_caller_f): Remove.
17519
17520 2015-02-25 Jakub Jelinek <jakub@redhat.com>
17521
17522 PR lto/64374
17523 * target.def (target_option_stream_in): New target hook.
17524 * tree-streamer-in.c (streamer_read_tree_bitfields): Invoke
17525 targetm.target_option.post_stream_in if non-NULL.
17526 * doc/tm.texi.in: Add @hook TARGET_OPTION_POST_STREAM_IN.
17527 * doc/tm.texi: Updated.
17528 * config/i386/i386.c (ix86_function_specific_post_stream_in): New
17529 function.
17530 (TARGET_OPTION_POST_STREAM_IN): Redefine.
17531
17532 2015-02-24 Jeff Law <law@redhat.com>
17533
17534 PR target/65117
17535 * config/xtensa/xtensa.md (zero_cost_loop_start): Reverse numbering
17536 of operand 0 and operand 2.
17537 (zero_cost_loop_end, loop_end): Similarly.
17538
17539 2015-02-24 Aldy Hernandez <aldyh@redhat.com>
17540
17541 * gimple.h (gimple_build_assign): Rename CXX_MEM_STAT_DECL to
17542 CXX_MEM_STAT_INFO.
17543
17544 2015-02-24 DJ Delorie <dj@redhat.com>
17545
17546 * config/rl78/rl78-protos.h (rl78_split_movsi): Accept a mode as well.
17547 * config/rl78/rl78-expand.md (movsf): New, same as movsi.
17548 * config/rl78/rl78.c (rl78_split_movsi): Accept a mode, use it
17549 instead of hardcoding SImode.
17550
17551 2015-02-24 Bernd Schmidt <bernds@codesourcery.com>
17552
17553 * omp-low.c (create_omp_child_function): Tag entrypoint
17554 functions with a special attribute.
17555
17556 2015-02-24 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
17557
17558 PR target/65058
17559 * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Drop unused variable.
17560
17561 2015-02-24 Vladimir Makarov <vmakarov@redhat.com>
17562
17563 PR rtl-optimization/65123
17564 * lra-remat.c (operand_to_remat): Check hard regs in insn
17565 definition too.
17566
17567 2015-02-24 Nick Clifton <nickc@redhat.com>
17568
17569 * config/v850/v850.h (ASM_SPEC): Pass -msoft-float/-mhard-float on
17570 to the assembler.
17571
17572 2015-02-24 Thomas Schwinge <thomas@codesourcery.com>
17573
17574 PR libgomp/64625
17575 * omp-builtins.def (BUILT_IN_GOACC_DATA_START): Specify as
17576 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR, not
17577 BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR.
17578 (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_UPDATE): Specify as
17579 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR, not
17580 BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR.
17581 (BUILT_IN_GOACC_PARALLEL): Specify as
17582 BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR, not
17583 BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR.
17584 * builtin-types.def
17585 (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
17586 (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
17587 Remove function types.
17588 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR)
17589 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR)
17590 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
17591 New function types.
17592
17593 2015-02-24 Georg-Johann Lay <avr@gjlay.de>
17594
17595 * config/avr/stdfix.h [__WITH_AVRLIBC__]: Include <stdfix-avrlibc.h>.
17596
17597 2015-02-24 Jakub Jelinek <jakub@redhat.com>
17598
17599 PR tree-optimization/65170
17600 * wide-int.cc (wi::mul_internal): For the umul_ppmm optimization,
17601 if val[1] < 0, clear also val[2] and return 3.
17602
17603 2015-02-24 Alan Modra <amodra@gmail.com>
17604
17605 PR target/65172
17606 * config/rs6000/rs6000.c (get_memref_parts): Only return true
17607 when *base is a reg. Handle nested plus addresses. Simplify
17608 pre_modify test.
17609
17610 2015-02-22 Max Filippov <jcmvbkbc@gmail.com>
17611
17612 * config/xtensa/xtensa.h (CONSTANT_ALIGNMENT, DATA_ALIGNMENT):
17613 use natural alignment when optimizing for size.
17614
17615 2015-02-23 Kaz Kojima <kkojima@gcc.gnu.org>
17616
17617 PR target/65153
17618 * config/sh/sh.md (movsicc_true+3): Remove peephole.
17619 * config/sh/sh-protos.h (replace_n_hard_rtx): Don't declare.
17620 * config/sh/sh.c (replace_n_hard_rtx): Remove.
17621
17622 2015-02-23 Richard Sandiford <richard.sandiford@arm.com>
17623
17624 PR fortran/63427
17625 * wide-int.cc (wi::from_mpz): Cope with unwrapped values that are
17626 too big for a wide_int. Implement missing wrapping operation.
17627
17628 2015-02-23 Oleg Endo <olegendo@gcc.gnu.org>
17629
17630 PR target/65163
17631 * config/sh/sh.md (swapbsi2, related peephole2): Use const_int -65536
17632 instead of const_int 4294901760.
17633
17634 2015-02-23 Georg-Johann Lay <avr@gjlay.de>
17635
17636 * config/avr/t-avr: Fix typo in comment.
17637
17638 2015-02-21 Richard Sandiford <richard.sandiford@arm.com>
17639
17640 * doc/rtl.texi (fma): Clarify documentation.
17641
17642 2015-02-20 Aldy Hernandez <aldyh@redhat.com>
17643
17644 PR debug/58123
17645 * gimplify.c (gimplify_expr): Prefer location of TRY_FINALLY_EXPR
17646 over input_location.
17647
17648 2015-02-20 Bernd Schmidt <bernds@codesourcery.com>
17649
17650 * tree-streamer-in.c (unpack_ts_decl_common_value_fields,
17651 unpack_ts_type_common_value_fields): If ACCEL_COMPILER,
17652 restrict alignments to absolute_biggest_alignment.
17653 * config/i386/i386.c (TARGET_ABSOLUTE_BIGGEST_ALIGNMENT):
17654 Define.
17655 * doc/tm.texi.in (TARGET_ABSOLUTE_BIGGEST_ALIGNMENT): Add.
17656 * doc/tm.texi: Regenerate.
17657 * target.def (absolute_biggest_alignment): New DEFHOOKPOD.
17658
17659 2015-02-20 Vladimir Makarov <vmakarov@redhat.com>
17660
17661 PR target/64172
17662 * ira-color.c (color_pass): Prevent splitting multi-register pseudos.
17663
17664 2015-02-20 Richard Biener <rguenther@suse.de>
17665
17666 PR tree-optimization/65136
17667 * tree-ssa-propagate.c: Include cfgloop.h.
17668 (replace_phi_args_in): Avoid replacing loop latch edge PHI
17669 arguments with constants.
17670
17671 2015-02-20 Jakub Jelinek <jakub@redhat.com>
17672 Martin Liska <mliska@suse.cz>
17673
17674 PR target/63892
17675 * ipa-icf.c (sem_function::merge): If DECL_COMDAT_GROUP (alias->decl),
17676 don't try to create_thunk if stdarg_p. If
17677 !sem_item::target_supports_symbol_aliases_p (), similarly, and try to
17678 redirect_callers if possible.
17679 (sem_item_optimizer::execute): Call unregister_hooks here...
17680 (ipa_icf_driver): ... instead of here.
17681
17682 2015-02-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
17683
17684 * config/aarch64/aarch64.md (*aarch64_lshr_sisd_or_int_<mode>3):
17685 Mark operand 0 as earlyclobber in 2nd alternative.
17686 (1st define_split below *aarch64_lshr_sisd_or_int_<mode>3):
17687 Write negated shift amount into QI lowpart operand 0 and use it
17688 in the shift step.
17689 (2nd define_split below *aarch64_lshr_sisd_or_int_<mode>3): Likewise.
17690
17691 2015-02-20 Bernd Schmidt <bernds@codesourcery.com>
17692
17693 * cgraph.h (clone_function_name_1): Declare.
17694 * cgraphclones.c (clone_function_name_1): New function.
17695 (clone_function_name): Use it.
17696 * lto-partition.c: Include "stringpool.h".
17697 (must_not_rename, maybe_rewrite_identifier)
17698 (validize_symbol_for_target): New static functions.
17699 (privatize_symbol_name): Use must_not_rename.
17700 (promote_symbol): Call validize_symbol_for_target.
17701 (lto_promote_cross_file_statics): Likewise.
17702 (lto_promote_statics_nonwpa): Likewise.
17703
17704 2015-02-20 Georg-Johann Lay <avr@gjlay.de>
17705
17706 PR target/64452
17707 * config/avr/avr.md (pushhi_insn): New insn.
17708 (push<mode>1): Push virtual regs in one chunk using pushhi1_insn.
17709
17710 2015-02-20 Bernd Schmidt <bernds@codesourcery.com>
17711 Jakub Jelinek <jakub@redhat.com>
17712
17713 * tree-streamer.c (preload_common_nodes): Don't preload
17714 TI_VA_LIST* for offloading.
17715 * tree-stdarg.c (pass_stdarg::gate): Disable for ACCEL_COMPILER
17716 in_lto_p.
17717
17718 2015-02-19 John David Anglin <danlgin@gcc.gnu.org>
17719
17720 * config/pa/pa.c (pa_emit_move_sequence): Always force
17721 (const (plus (symbol) (const_int))) to const mem. Put REG_EQUAL
17722 note on insn.
17723
17724 * config/pa/pa.c (pa_reloc_rw_mask): New function.
17725 (TARGET_ASM_RELOC_RW_MASK): Define.
17726 (pa_cannot_force_const_mem): Revert previous change.
17727
17728 2015-02-19 Martin Jambor <mjmabor@suse.cz>
17729 Jan Hubicka <hubicka@ucw.cz>
17730
17731 PR ipa/65028
17732 * ipa-cp.c (propagate_alignment_accross_jump_function): Fix propagation
17733 across jump functions.
17734
17735 2015-02-19 Uros Bizjak <ubizjak@gmail.com>
17736
17737 * config/alpha/alpha.c (alpha_in_small_data_p): Reject common symbols.
17738
17739 2015-02-19 Sandra Loosemore <sandra@codesourcery.com>
17740
17741 * doc/extend.texi (x86 transactional memory intrinsics): Copy-edit.
17742
17743 2015-02-19 Richard Henderson <rth@redhat.com>
17744
17745 PR middle-end/65074
17746 * varasm.c (default_binds_local_p_2): Don't test node->definition;
17747 test DECL_EXTERNAL independent of symtab_node.
17748
17749 2015-02-19 Jakub Jelinek <jakub@redhat.com>
17750
17751 PR lto/65012
17752 * varpool.c (varpool_node::get_constructor): Return early
17753 if this->lto_file_data is NULL.
17754
17755 2015-02-19 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
17756
17757 * haifa-sched.c (enum rfs_decision, rfs_str): Remove RFS_DEBUG.
17758 (rank_for_schedule_debug): Update.
17759 (ready_sort): Make static. Move sorting logic to ...
17760 (ready_sort_debug, ready_sort_real): New static functions.
17761 (schedule_block): Sort both debug insns and real insns in preparation
17762 for ready list trimming. Improve debug output.
17763 * sched-int.h (ready_sort): Remove global declaration.
17764
17765 2015-02-18 Trevor Saunders <tsaunders@mozilla.com>
17766
17767 * ipa-icf.c (sem_function::equals_private): Adjust.
17768 (sem_function::bb_dict_test): Take a vec<int> * instead of
17769 auto_vec<int>.
17770 * ipa-icf.h (bb_dict_test): Likewise.
17771
17772 2015-02-18 Jakub Jelinek <jakub@redhat.com>
17773
17774 PR gcov-profile/64634
17775 * tree-eh.c (frob_into_branch_around): Fix up typos
17776 in function comment.
17777 (lower_catch): Put eh_seq resulting from EH lowering of
17778 the cleanup sequence after the cleanup rather than before it.
17779
17780 2015-02-18 Tom de Vries <tom@codesourcery.com>
17781
17782 * common.opt (fstdarg-opt): New option.
17783 * tree-stdarg.c (pass_stdarg::gate): Use flag_stdarg_opt.
17784 * doc/invoke.texi (@item Optimization Options): Add -fstdarg-opt.
17785 (@item -fstdarg-opt): New item.
17786
17787 2015-02-18 H.J. Lu <hongjiu.lu@intel.com>
17788
17789 PR target/65064
17790 * config/ia64/predicates.md (sdata_symbolic_operand): Return false
17791 for common symbols.
17792
17793 2015-02-18 Jakub Jelinek <jakub@redhat.com>
17794
17795 * config/i386/t-intelmic (mkoffload.o): Remove dependency on
17796 insn-modes.h.
17797 (ALL_HOST_OBJS): Add mkoffload.o.
17798 * config/nvptx/t-nvptx (ALL_HOST_OBJS): Likewise.
17799
17800 2015-02-18 Jan Hubicka <hubicka@ucw.cz>
17801
17802 * ipa-devirt.c (odr_subtypes_equivalent_p): Fix formating.
17803 (compare_virtual_tables): Be smarter about skipping typeinfos;
17804 do sane output on virtual table table mismatch.
17805 (warn_odr): Be ready for forward declarations of enums;
17806 output sane info on base mismatch and virtual table mismatch.
17807 (add_type_duplicate): Fix code choosing prevailing type; do not ICE
17808 when only one type is polymorphic.
17809 (get_odr_type): Fix hashtable corruption.
17810 (dump_odr_type): Dump mangled names.
17811
17812 2015-02-18 Richard Biener <rguenther@suse.de>
17813
17814 PR tree-optimization/65063
17815 * tree-predcom.c (determine_unroll_factor): Return 1 if we
17816 have replaced looparound PHIs.
17817
17818 2015-02-18 Martin Liska <mliska@suse.cz>
17819
17820 * lto-streamer.c (lto_streamer_init): Encapsulate
17821 streamer_check_handled_ts_structures with checking macro.
17822
17823 2015-02-18 Jakub Jelinek <jakub@redhat.com>
17824
17825 PR ipa/65087
17826 * cgraphclones.c (cgraph_node::create_virtual_clone): Only copy
17827 section if !implicit_section.
17828 (cgraph_node::create_version_clone_with_body): Likewise.
17829 * trans-mem.c (ipa_tm_create_version): Likewise.
17830
17831 2015-02-18 Richard Biener <rguenther@suse.de>
17832
17833 PR tree-optimization/62217
17834 * tree-ssa-dom.c (cprop_operand): Avoid propagating copies
17835 into BIVs.
17836
17837 2015-02-18 Marek Polacek <polacek@redhat.com>
17838
17839 PR sanitizer/65081
17840 * ubsan.c (OBJSZ_MAX_OFFSET): Define.
17841 (ubsan_expand_objsize_ifn): Don't emit run-time check if the offset
17842 is in range [-16K, -1]. Don't issue run-time error if
17843 (ptr > ptr + offset).
17844
17845 2015-02-18 Thomas Schwinge <thomas@codesourcery.com>
17846
17847 * doc/install.texi (nvptx-*-none): New section.
17848 * doc/invoke.texi (Nvidia PTX Options): Likewise.
17849 * config/nvptx/nvptx.opt: Update.
17850
17851 * config/nvptx/mkoffload.c (parse_env_var, free_array_of_ptrs)
17852 (access_check): New functions, copied from
17853 config/i386/intelmic-mkoffload.c.
17854 (main): For non-installed testing, look in all COMPILER_PATHs for
17855 GCC_INSTALL_NAME.
17856
17857 * config/nvptx/nvptx.h (GOMP_SELF_SPECS): Define macro.
17858
17859 2015-02-18 Andrew Pinski <apinski@cavium.com>
17860 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
17861
17862 * config/aarch64/aarch64.c (*aarch64_load_symref_appropriately):
17863 Check whether the destination of SYMBOL_SMALL_TPREL is Pmode.
17864
17865 2015-02-17 Jan Hubicka <hubicka@ucw.cz>
17866
17867 * ipa-visibility.c (function_and_variable_visibility): Only
17868 check locality if node is not already local.
17869 * ipa-inline.c (want_inline_function_to_all_callers_p): Use
17870 call_for_symbol_and_aliases instead of
17871 call_for_symbol_thunks_and_aliases.
17872 (ipa_inline): Likewise.
17873 * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
17874 first walk aliases.
17875 * ipa.c (symbol_table::remove_unreachable_nodes): Use
17876 call_for_symbol_and_aliases.
17877 * ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol.
17878 (ipa_propagate_frequency_1): Use it; use opt_for_fn
17879 (ipa_propagate_frequency): Update.
17880 (ipa_profile): Add opt_for_fn gueards.
17881
17882 2015-02-17 Oleg Endo <olegendo@gcc.gnu.org>
17883
17884 * config/sh/sh.opt (mcbranch-force-delay-slot): New option.
17885 * doc/invoke.texi (SH options): Document it.
17886 * config/sh/sh.c (sh_insn_length_adjustment): Check
17887 TARGET_CBRANCH_FORCE_DELAY_SLOT instead of sh_cpu_attr == CPU_SH2E.
17888
17889 2015-02-17 H.J. Lu <hongjiu.lu@intel.com>
17890
17891 * common.opt (fipa-cp-alignment): New.
17892 * ipa-cp.c (ipcp_store_alignment_results): Check
17893 flag_ipa_cp_alignment.
17894 * opts.c (default_options_table): Enable -fipa-cp-alignment for
17895 -O2.
17896 (enable_fdo_optimizations): Set x_flag_ipa_cp_alignment.
17897 * doc/invoke.texi: Document -fipa-cp-alignment.
17898
17899 2015-02-17 Oleg Endo <olegendo@gcc.gnu.org>
17900
17901 PR target/64793
17902 * config/sh/sh.md (cbranch define_delay): Set annulled true branch insn
17903 to nil. Adjust comments.
17904
17905 2015-02-17 Jan Hubicka <hubicka@ucw.cz>
17906
17907 * ipa-visibility.c (function_and_variable_visibility): Only
17908 check locality if node is not already local.
17909 * ipa-inline.c (want_inline_function_to_all_callers_p): Use
17910 call_for_symbol_and_aliases instead of
17911 call_for_symbol_thunks_and_aliases.
17912 (ipa_inline): Likewise.
17913 * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
17914 first walk aliases.
17915 * ipa.c (symbol_table::remove_unreachable_nodes): Use
17916 call_for_symbol_and_aliases.
17917 * ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol.
17918 (ipa_propagate_frequency_1): Use it; use opt_for_fn
17919 (ipa_propagate_frequency): Update.
17920 (ipa_profile): Add opt_for_fn guards.
17921
17922 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
17923
17924 * config/nvptx/mkoffload.c (parse_file): Fix logic error in
17925 skipping of "strange" tokens.
17926
17927 2015-02-17 Jeff Law <law@redhat.com>
17928
17929 * tree-vrp.c (identify_jump_threads): Use last_stmt. Remove
17930 obsolete comment.
17931
17932 2015-02-17 James Greenhalgh <james.greenhalgh@arm.com>
17933
17934 * haifa-sched.c (recompute_todo_spec): Treat SCHED_GROUP_P
17935 as forcing a HARD_DEP between instructions, thereby
17936 disallowing rewriting to break dependencies.
17937
17938 2015-02-16 Jan Hubicka <hubicka@ucw.cz>
17939
17940 * symtab.c (symtab_node::verify_base): Verify body_removed->!definiton
17941 * lto-cgraph.c (lto_output_varpool_node): Do not keep definition of
17942 variables in boundary that have no inlitalizer encoded and are
17943 not aliases.
17944 * varasm.c (default_binds_local_p_2): External definitions do not
17945 count as definitions here.
17946
17947 2015-02-16 Jeff Law <law@redhat.com>
17948
17949 PR tree-optimization/64823
17950 * tree-vrp.c (identify_jump_threads): Handle blocks with no real
17951 statements.
17952 * tree-ssa-threadedge.c (potentially_threadable_block): Allow
17953 threading through blocks with PHIs, but no statements.
17954 (thread_through_normal_block): Distinguish between blocks where
17955 we did not process all the statements and blocks with no statements.
17956
17957 2015-02-16 Jakub Jelinek <jakub@redhat.com>
17958 James Greenhalgh <james.greenhalgh@arm.com>
17959
17960 PR ipa/64963
17961 * cgraphclones.c (cgraph_node::create_virtual_clone): Copy
17962 section if not linkonce. Fix up formatting.
17963 (cgraph_node::create_version_clone_with_body): Copy section.
17964 * trans-mem.c (ipa_tm_create_version): Likewise.
17965
17966 2015-02-16 Richard Biener <rguenther@suse.de>
17967
17968 PR tree-optimization/65077
17969 * tree-ssa-structalias.c (get_constraint_for_1): Handle
17970 IMAGPART_EXPR, REALPART_EXPR and BIT_FIELD_REF.
17971 (find_func_aliases): Allow float values to carry pointers again.
17972
17973 2015-02-16 James Greenhalgh <james.greenhalgh@arm.com>
17974
17975 * doc/install.texi (Specific): Reorder targets list to put
17976 aarch64 in alphabetical order. Add a link to aarch64*-*-*
17977 from the top menu.
17978
17979 2015-02-16 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
17980 David Edelsohn <dje.gcc@gmail.com>
17981
17982 PR target/65058
17983 * config/rs6000/rs6000.c (rs6000_output_symbol_ref): Append storage
17984 mapping class to external variable or function reference.
17985 * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Do not append storage
17986 mapping class.
17987
17988 2015-02-16 David Eelsohn <dje.gcc@gmail.com>
17989
17990 PR target/53348
17991 * config/rs6000/rs6000.c (rs6000_declare_alias): Only use
17992 ASM_WEAKEN_DECL if defined.
17993
17994 2015-02-16 Richard Biener <rguenther@suse.de>
17995
17996 PR lto/65015
17997 * varasm.c (default_file_start): For LTO produced units
17998 emit <artificial> as file directive.
17999
18000 2015-02-16 Richard Biener <rguenther@suse.de>
18001
18002 PR tree-optimization/63593
18003 * tree-predcom.c (execute_pred_commoning_chain): Delay removing
18004 stmts and releasing SSA names until...
18005 (execute_pred_commoning): ... after processing all chains.
18006
18007 2015-02-16 Jan Hubicka <hubicka@ucw.cz>
18008
18009 PR ipa/65059
18010 * ipa-comdats.c (ipa_comdats): Do not categorize thunks to
18011 external functions.
18012
18013 2015-02-15 Sandra Loosemore <sandra@codesourcery.com>
18014
18015 * doc/bugreport.texi: Adjust section titles throughout the file
18016 to use "Title Case".
18017 * doc/extend.texi: Likewise.
18018 * doc/gcov.texi: Likewise.
18019 * doc/implement-c.texi: Likewise.
18020 * doc/implement-cxx.texi: Likewise.
18021 * doc/invoke.texi: Likewise.
18022 * doc/objc.texi: Likewise.
18023 * doc/standards.texi: Likewise.
18024 * doc/trouble.texi: Likewise.
18025
18026 2015-02-15 Jan Hubicka <hubicka@ucw.cz>
18027
18028 * cgraph.h (symtab_node::has_aliases_p): Simplify.
18029 (symtab_node::call_for_symbol_and_aliases): Use has_aliases_p
18030 * tree.c (lookup_binfo_at_offset): Make static.
18031 (get_binfo_at_offset): Do not shadow offset; add explanatory
18032 comment.
18033
18034 2015-02-15 John David Anglin <danglin@gcc.gnu.org>
18035
18036 * config/pa/pa.c (pa_secondary_reload): Request a secondary reload
18037 for all floading point loads and stores except those using a register
18038 index address.
18039 * config/pa/pa.md: Add new patterns to load a lo_sum DLT operand
18040 to a register.
18041
18042 2015-02-14 Jan Hubicka <hubicka@ucw.cz>
18043
18044 * ipa-inline-analysis.c (growth_data): Add uninlinable field.
18045 (do_estimate_growth_1): Record if any uninlinable edge was seen.
18046 (estimate_growth): Handle uninlinable edges correctly.
18047 (check_callers): New.
18048 (growth_likely_positive): Handle aliases correctly.
18049
18050 2015-02-14 Jan Hubicka <hubicka@ucw.cz>
18051
18052 * ipa-chkp.c: Use iterate_direct_aliases.
18053 * symtab.c (resolution_used_from_other_file_p): Move inline.
18054 (symtab_node::create_reference): Fix formating.
18055 (symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases.
18056 (symtab_node::iterate_reference): Move inline.
18057 (symtab_node::iterate_referring): Move inline.
18058 (symtab_node::iterate_direct_aliases): Move inline.
18059 (symtab_node::used_from_object_file_p_worker): Inline into ...
18060 (symtab_node::used_from_object_file_p): ... this one; move inline.
18061 (symtab_node::call_for_symbol_and_aliases): Move inline;
18062 use iterate_direct_aliases.
18063 (symtab_node::call_for_symbol_and_aliases_1): New method.
18064 (cgraph_node::call_for_symbol_and_aliases): Move inline;
18065 use iterate_direct_aliases.
18066 (cgraph_node::call_for_symbol_and_aliases_1): New method.
18067 (varpool_node::call_for_node_and_aliases): Rename to ...
18068 (varpool_node::call_for_symbol_and_aliases): ... this one; Move inline;
18069 use iterate_direct_aliases.
18070 (varpool_node::call_for_symbol_and_aliases_1): New method.
18071 * ipa.c (ipa_single_use): Use iterate_direct_aliases.
18072 (ipa_discover_readonly_nonaddressable_var): Update.
18073 * ipa-devirt.c: Fix formating.
18074 * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_and_refs_p):
18075 Move inline.
18076 (cgraph_node::call_for_symbol_and_aliases): Move inline.
18077 (cgraph_node::call_for_symbol_and_aliases_1): New function..
18078 * cgraph.h (used_from_object_file_p_worker): Remove.
18079 (resolution_used_from_other_file_p): Move inline.
18080 (symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases.
18081 (symtab_node::iterate_reference): Move inline.
18082 (symtab_node::iterate_referring): Move inline.
18083 (symtab_node::iterate_direct_aliases): Move inline.
18084 (symtab_node::used_from_object_file_p_worker): Inline into ...
18085 (symtab_node::used_from_object_file_p): Move inline.
18086 * tree-emutls.c (ipa_lower_emutls): Update.
18087 * varpool.c (varpool_node::call_for_symbol_and_aliases_1): New method.
18088 (varpool_node::call_for_node_and_aliases): Remove.
18089
18090 2015-02-14 Jakub Jelinek <jakub@redhat.com>
18091
18092 PR tree-optimization/62209
18093 * tree-ssa-reassoc.c (update_range_test): If stmt is a PHI and
18094 op == range->exp, insert seq and gimplified code after labels
18095 instead of after the phi.
18096
18097 2015-02-13 Jeff Law <law@redhat.com>
18098
18099 PR bootstrap/65060
18100 Revert my change for tree-optimization/64823.
18101
18102 2015-02-13 Jakub Jelinek <jakub@redhat.com>
18103
18104 PR tree-optimization/65053
18105 * tree-ssa-phiopt.c (value_replacement): When moving assign before
18106 cond, either reset VR on lhs or set it to phi result VR.
18107
18108 2015-02-13 Jeff Law <law@redhat.com>
18109
18110 PR tree-optimization/64823
18111 * tree-vrp.c (identify_jump_threads): Handle blocks with no statements.
18112 * tree-ssa-threadedge.c (potentially_threadable_block): Allow
18113 threading through blocks with PHIs, but no statements.
18114 (thread_through_normal_block): Distinguish between blocks where
18115 we did not process all the statements and blocks with no statements.
18116
18117 PR rtl-optimization/47477
18118 * match.pd (convert (plus/minus (convert @0) (convert @1): New
18119 simplifier to narrow arithmetic.
18120
18121 2015-02-13 Jan Hubicka <hubicka@ucw.cz>
18122
18123 PR ipa/65028
18124 * ipa-prop.c (update_indirect_edges_after_inlining): Do not drop
18125 polymorphic call info when type is not known to be preserved.
18126
18127 2015-02-13 Maritn Jambor <mjambor@suse.cz>
18128
18129 PR ipa/65028
18130 * ipa-inline-transform.c (mark_all_inlined_calls_cdtor): New function.
18131 (inline_call): Use it.
18132
18133 2015-02-13 Thomas Schwinge <thomas@codesourcery.com>
18134
18135 * config/nvptx/offload.h (ACCEL_COMPILER_acc_device): Define to
18136 GOMP_DEVICE_NVIDIA_PTX.
18137
18138 2015-02-13 Jakub Jelinek <jakub@redhat.com>
18139
18140 PR ipa/65034
18141 * stmt.c (emit_case_nodes): Use void_type_node instead of
18142 NULL_TREE as LABEL_DECL type.
18143
18144 2015-02-13 John David Anglin <danglin@gcc.gnu.org>
18145
18146 * config/pa/constraints.md: Change "Q" and "T" constraints to memory
18147 constraints.
18148 * config/pa/pa.c (pa_cannot_force_const_mem): Don't allow constant
18149 symbolic references to data to be forced to constant memory on the
18150 SOM target.
18151
18152 2015-02-13 Ilya Enkovich <ilya.enkovich@intel.com>
18153
18154 PR tree-optimization/65002
18155 * tree-cfg.c (pass_data_fixup_cfg): Don't update
18156 SSA on start.
18157 * tree-sra.c (some_callers_have_no_vuse_p): New.
18158 (ipa_early_sra): Reject functions whose callers
18159 assume function is read only.
18160
18161 2015-02-13 Richard Biener <rguenther@suse.de>
18162
18163 PR lto/65015
18164 * dwarf2out.c (dwarf2out_finish): Use <artificial> as DW_AT_name
18165 for LTO produced CUs.
18166
18167 2015-02-13 Bin Cheng <bin.cheng@arm.com>
18168
18169 PR tree-optimization/64705
18170 * tree-ssa-loop-niter.h (expand_simple_operations): New parameter.
18171 * tree-ssa-loop-niter.c (expand_simple_operations): New parameter.
18172 * tree-ssa-loop-ivopts.c (extract_single_var_from_expr): New.
18173 (find_bivs, find_givs_in_stmt_scev): Pass new argument to
18174 expand_simple_operations.
18175
18176 2015-02-13 H.J. Lu <hongjiu.lu@intel.com>
18177 Richard Henderson <rth@redhat.com>
18178
18179 PR rtl/32219
18180 * cgraphunit.c (cgraph_node::finalize_function): Set definition
18181 before notice_global_symbol.
18182 (varpool_node::finalize_decl): Likewise.
18183 * varasm.c (default_binds_local_p_2): Rename from
18184 default_binds_local_p_1, add weak_dominate argument. Use direct
18185 returns instead of assigning to local variable. Unify varpool and
18186 cgraph paths via symtab_node. Reject undef weak variables before
18187 testing visibility. Reorder tests for simplicity.
18188 (default_binds_local_p): Use default_binds_local_p_2.
18189 (default_binds_local_p_1): Likewise.
18190 (decl_binds_to_current_def_p): Unify varpool and cgraph paths
18191 via symtab_node.
18192 (default_elf_asm_output_external): Emit visibility when specified.
18193
18194 2015-02-13 Alan Modra <amodra@gmail.com>
18195
18196 * config/rs6000/rs6000.c (rs6000_emit_epilogue): Fix typo in
18197 code setting up r11 for out-of-line fp restore.
18198
18199 2015-02-13 Eric Botcazou <ebotcazou@adacore.com>
18200
18201 * config/visium/visium.opt (msv-mode): Add RejectNegative and Report.
18202 (muser-mode): Likewise.
18203
18204 2015-02-13 Alan Modra <amodra@gmail.com>
18205
18206 * config/rs6000/rs6000.c (rs6000_emit_epilogue): Use addsi3_carry
18207 or adddi3_carry when restoring frame_reg_rtx from r0 after restvr.
18208
18209 2015-02-12 David Howells <dhowells@redhat.com>
18210
18211 * tree-sra.c (dump_dereferences_table): Avoid -Wformat-security
18212 warning.
18213 * tree-ssa-uninit.c (dump_predicates): Likewise.
18214 * opts.c (print_filtered_help): Likewise.
18215
18216 2015-02-12 Jakub Jelinek <jakub@redhat.com>
18217
18218 * dwarf2out.c (output_die): Use "%s", name instead of name to
18219 avoid -Wformat-security warning.
18220
18221 * dwarf2asm.c (dw2_asm_output_vms_delta): Only define
18222 if ASM_OUTPUT_DWARF_VMS_DELTA is defined.
18223 * dwarf2out.c (output_die): Use dw2_asm_output_vms_delta
18224 only if ASM_OUTPUT_DWARF_VMS_DELTA is defined.
18225
18226 2015-02-12 Jason Merrill <jason@redhat.com>
18227
18228 * common.opt (-flifetime-dse): New.
18229
18230 2015-02-12 Jakub Jelinek <jakub@redhat.com>
18231
18232 PR sanitizer/65019
18233 * ubsan.c (ubsan_expand_objsize_ifn): Always return true.
18234
18235 PR tree-optimization/65014
18236 * fold-const.c (fold_binary_loc): When creating {L,R}ROTATE_EXPR,
18237 use original second operand of arg0 or arg1 instead of
18238 that adjusted by STRIP_NOPS.
18239
18240 2015-02-11 Jeff Law <law@redhat.com>
18241
18242 PR target/63347
18243 * haifa-sched.c (prune_ready_list): If we have a SCHED_GROUP_P insn
18244 that needs to be queued, just queue it for a single cycle.
18245
18246 2015-02-11 Jan Hubicka <hubicka@ucw.cz>
18247
18248 * ipa.c (symbol_table::remove_unreachable_nodes): Avoid releasing
18249 bodies of thunks; comment on why.
18250 * symtab.c (symtab_node::get_partitioning_class): Aliases of extern
18251 symbols are extern.
18252
18253 2015-02-11 Richard Henderson <rth@redhat.com>
18254
18255 PR sanitize/65000
18256 * tree-eh.c (mark_reachable_handlers): Mark source and destination
18257 regions of __builtin_eh_copy_values.
18258
18259 2015-02-11 Jakub Jelinek <jakub@redhat.com>
18260
18261 PR middle-end/65003
18262 * varasm.c (place_block_symbol): Assert that DECL_RTL of the
18263 ultimate alias is MEM with SYMBOL_REF satisfying
18264 SYMBOL_REF_HAS_BLOCK_INFO_P as its operand. Don't pass the MEM
18265 to place_block_symbol, but instead pass the SYMBOL_REF operand of it.
18266
18267 2015-02-11 Thomas Schwinge <thomas@codesourcery.com>
18268
18269 * config/nvptx/mkoffload.c: Include "diagnostic.h" instead of
18270 "diagnostic-core.h".
18271 (main): Initialize progname, and call diagnostic_initialize.
18272
18273 * config/nvptx/mkoffload.c (process): Refer to __OFFLOAD_TABLE__
18274 instead of __OPENMP_TARGET__.
18275
18276 * config/nvptx/mkoffload.c: Include "gomp-constants.h".
18277 (process): Use its GOMP_DEVICE_NVIDIA_PTX instead of (wrongly)
18278 hard-coding PTX_ID.
18279
18280 2015-02-11 H.J. Lu <hongjiu.lu@intel.com>
18281
18282 * doc/sourcebuild.texi (pie_enabled): Document.
18283
18284 2015-02-11 Martin Liska <mliska@suse.cz>
18285
18286 PR ipa/64813
18287 * cgraphunit.c (cgraph_node::expand_thunk): Do not create
18288 a return value for call to a function that is noreturn.
18289
18290 2015-02-11 Richard Biener <rguenther@suse.de>
18291
18292 PR lto/65015
18293 * dwarf2out.c (gen_producer_string): Drop -fltrans-output-list
18294 and -fresolution.
18295
18296 2015-02-11 Andrew Pinski <apinski@cavium.com>
18297
18298 PR target/64893
18299 * config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins):
18300 Change the first argument type to size_type_node and add another
18301 size_type_node.
18302 (aarch64_simd_expand_builtin): Handle the new argument to
18303 AARCH64_SIMD_BUILTIN_LANE_CHECK and don't ICE but rather
18304 print an out when the first two arguments are not
18305 nonzero integer constants.
18306 * config/aarch64/arm_neon.h (__AARCH64_LANE_CHECK):
18307 Pass the sizeof directly to __builtin_aarch64_im_lane_boundsi.
18308
18309 2015-02-11 Jakub Jelinek <jakub@redhat.com>
18310
18311 PR target/61925
18312 * config/i386/i386.c (ix86_reset_to_default_globals): Removed.
18313 (ix86_reset_previous_fndecl): Restore it here, unconditionally.
18314 (ix86_set_current_function): Rewritten.
18315 (ix86_add_new_builtins): Temporarily clear current_target_pragma
18316 when creating builtin fndecls.
18317
18318 2015-02-10 Jan Hubicka <hubicka@ucw.cz>
18319
18320 PR ipa/65005
18321 * ipa-visibility.c (cgraph_node::non_local_p): Turn into static
18322 function.
18323 * symtab.c (symtab_node::verify_base): Remove check that non-definitions
18324 have no comdat group.
18325 * lto-cgraph.c (lto_output_node): Always output thunk and alias info.
18326 (lto_output_varpool_node): Always output alias info.
18327 (output_refs): Output refs of boundary aliases, too.
18328 (compute_ltrans_boundary): Add alias and thunk target into boundaries.
18329 (output_symtab): Output call eges in thunks in boundary.
18330 (get_alias_symbol): Remove.
18331 (input_node, input_varpool_node): Do not special case weakrefs.
18332 * ipa.c (symbol_table::remove_unreachable_nodes): Do not remove
18333 alias and thunks targets in the boundary; do not take removed symbols
18334 from their comdat groups.
18335 * cgraph.c (cgraph_node::local_info): Look through aliases and thunks.
18336 (cgraph_node::global_info): Remove.
18337 (cgraph_node::rtl_info): Look through aliases and thunks.
18338 * cgrpah.h (global_info): Remove.
18339 (non_local_p): Remove.
18340
18341 2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
18342 Sandra Loosemore <sandra@codesourcery.com>
18343
18344 * doc/invoke.texi (x86 Options [-masm=dialect]): Add cross-references
18345 to inline asm. List dialects in proper order.
18346
18347 2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
18348 Sandra Loosemore <sandra@codesourcery.com>
18349
18350 * doc/extend.texi (Loop-Specific Pragmas): Fix grammar error.
18351
18352 2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
18353
18354 * doc/extend.texi (Symbol-Renaming Pragmas): Restore (slightly
18355 modified) reference to Solaris.
18356
18357 2015-02-10 Sandra Loosemore <sandra@codesourcery.com>
18358
18359 * doc/extend.texi (Extended Asm): Fix typos.
18360
18361 2015-02-10 Jakub Jelinek <jakub@redhat.com>
18362
18363 PR sanitizer/65004
18364 * ubsan.c (ubsan_expand_vptr_ifn): Always return true.
18365
18366 2015-02-10 Oleg Endo <olegendo@gcc.gnu.org>
18367
18368 PR target/64661
18369 * config/sh/sh-protos.h (TARGET_ATOMIC_ANY, TARGET_ATOMIC_STRICT,
18370 TARGET_ATOMIC_SOFT_GUSA, TARGET_ATOMIC_HARD_LLCS,
18371 TARGET_ATOMIC_SOFT_TCB, TARGET_ATOMIC_SOFT_IMASK): Add parentheses.
18372 * config/sh/constraints.md (Ara, Add): New constraints.
18373 * config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1): New
18374 predicates.
18375 (atomic_compare_and_swap<mode>, atomic_exchange<mode>): Use
18376 atomic_mem_operand_0. Don't use force_reg on the memory address.
18377 (atomic_compare_and_swapsi_hard): Use atomic_mem_operand_0 predicate and
18378 Sra constraint. Convert to insn_and_split. Add workaround for
18379 PR 64974.
18380 (atomic_compare_and_swap<mode>_hard): Copy to
18381 atomic_compare_and_swap<mode>_hard_1. Convert to insn_and_split.
18382 Use atomic_mem_operand_0 predicate.
18383 (atomic_compare_and_swap<mode>_soft_gusa,
18384 atomic_exchange<mode>_soft_gusa): Use atomic_mem_operand_0 predicate and
18385 AraAdd constraints.
18386 (atomic_compare_and_swap<mode>_soft_tcb,
18387 atomic_compare_and_swap<mode>_soft_imask,
18388 atomic_exchange<mode>_soft_tcb, atomic_exchange<mode>_soft_imask): Use
18389 atomic_mem_operand_0 predicate and SraSdd constraints.
18390 (atomic_exchangesi_hard) Use atomic_mem_operand_0 predicate and Sra
18391 constraint.
18392 (atomic_exchange<mode>_hard): Copy to atomic_exchange<mode>_hard_1.
18393 Convert to insn_and_split. Use atomic_mem_operand_0 predicate.
18394 (atomic_fetch_<fetchop_name><mode>, atomic_fetch_nand<mode>,
18395 atomic_<fetchop_name>_fetch<mode>): Use atomic_mem_operand_1. Don't use
18396 force_reg on the memory address.
18397 (atomic_fetch_<fetchop_name>si_hard, atomic_fetch_notsi_hard,
18398 atomic_fetch_nandsi_hard, atomic_<fetchop_name>_fetchsi_hard,
18399 atomic_not_fetchsi_hard, atomic_nand_fetchsi_hard): Use
18400 atomic_mem_operand_1 predicate and Sra constraint.
18401 (atomic_fetch_<fetchop_name><mode>_hard): Copy to
18402 atomic_fetch_<fetchop_name><mode>_hard_1. Convert to insn_and_split.
18403 Use atomic_mem_operand_1 predicate.
18404 (atomic_<fetchop_name><mode>_hard): Copy to
18405 atomic_<fetchop_name><mode>_hard_1. Convert to insn_and_split.
18406 Use atomic_mem_operand_1 predicate.
18407 (atomic_fetch_nand<mode>_hard): Copy to atomic_fetch_nand<mode>_hard_1.
18408 Convert to insn_and_split. Use atomic_mem_operand_1 predicate.
18409 (atomic_nand<mode>_hard): Copy to atomic_nand<mode>_hard_1. Convert to
18410 insn_and_split. Use atomic_mem_operand_1 predicate.
18411 (atomic_<fetchop_name>_fetch<mode>_hard): Copy to
18412 atomic_<fetchop_name>_fetch<mode>_hard_1. Convert to insn_and_split.
18413 Use atomic_mem_operand_1 predicate.
18414 (atomic_nand_fetch<mode>_hard): Copy to atomic_nand_fetch<mode>_hard_1.
18415 Convert to insn_and_split. Use atomic_mem_operand_1 predicate.
18416 (atomic_fetch_not<mode>_hard, atomic_not_fetch<mode>_hard): Replace mems
18417 in generated insn with original mem operand before emitting the insn.
18418 (atomic_fetch_<fetchop_name><mode>_soft_gusa,
18419 atomic_fetch_not<mode>_soft_gusa, atomic_fetch_nand<mode>_soft_gusa,
18420 atomic_<fetchop_name>_fetch<mode>_soft_gusa,
18421 atomic_not_fetch<mode>_soft_gusa, atomic_nand_fetch<mode>_soft_gusa):
18422 Use atomic_mem_operand_1 predicate and AraAdd constraints.
18423 (atomic_fetch_<fetchop_name><mode>_soft_tcb,
18424 atomic_<fetchop_name><mode>_soft_tcb, atomic_fetch_not<mode>_soft_tcb,
18425 atomic_not<mode>_soft_tcb, atomic_fetch_<fetchop_name><mode>_soft_imask,
18426 atomic_fetch_not<mode>_soft_imask, atomic_fetch_nand<mode>_soft_tcb,
18427 atomic_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask,
18428 atomic_<fetchop_name>_fetch<mode>_soft_tcb,
18429 atomic_not_fetch<mode>_soft_tcb,
18430 atomic_<fetchop_name>_fetch<mode>_soft_imask,
18431 atomic_not_fetch<mode>_soft_imask, atomic_nand_fetch<mode>,
18432 atomic_nand_fetch<mode>_soft_tcb, atomic_nand_fetch<mode>_soft_imask):
18433 Use atomic_mem_operand_1 predicate and SraSdd constraints.
18434
18435 2015-02-10 Uros Bizjak <ubizjak@gmail.com>
18436
18437 * config/alpha/alpha.md (reload_out<mode>_aligned): Make operands 2
18438 and 3 earlyclobber operands.
18439
18440 2015-02-10 Jan Hubicka <hubicka@ucw.cz>
18441
18442 * common.opt (fstack-reuse): Mark as optimization.
18443
18444 2015-02-10 Jan Hubicka <hubicka@ucw.cz>
18445
18446 PR ipa/64982
18447 * cgraphunit.c (cgraph_node::expand_thunk): Look for stdarg thunks.
18448
18449 2015-02-10 Trevor Saunders <tsaunders@mozilla.com>
18450
18451 PR tree-optimization/64326
18452 * cfghooks.c (make_forwarder_block): Cap frequency of created block.
18453
18454 2015-02-10 Rainer Emrich <rainer@emrich-ebersheim.de>
18455
18456 PR gcov-profile/61889
18457 * gcov-tool.c: Remove wrong #if !defined(_WIN32)
18458
18459 2015-02-10 Richard Biener <rguenther@suse.de>
18460
18461 PR tree-optimization/64995
18462 * tree-ssa-sccvn.c (set_ssa_val_to): Assert that the
18463 value we use is final.
18464 (visit_reference_op_store): Always valueize op.
18465 (visit_use): Properly valueize vuses.
18466
18467 2015-02-10 Richard Biener <rguenther@suse.de>
18468
18469 PR tree-optimization/64909
18470 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Properly
18471 pass a scalar-stmt count estimate to the cost model.
18472 * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): Likewise.
18473
18474 2015-02-10 Alexander Monakov <amonakov@ispras.ru>
18475
18476 * doc/invoke.texi (-fvar-tracking-assignments): Clarify that VTA is
18477 enabled by default together with var-tracking.
18478
18479 2015-02-10 Nick Clifton <nickc@redhat.com>
18480
18481 * config/rl78/rl78.c: Remove DIV attribute code accidentally
18482 included in previous rl78 commit.
18483
18484 2015-02-10 Richard Biener <rguenther@suse.de>
18485
18486 * tree-streamer.h (streamer_read_tree_bitfields): Adjust.
18487 * tree-streamer-in.c (streamer_read_tree_bitfields): Do not
18488 return the bitpack.
18489
18490 2015-02-09 Trevor Saunders <tsaunders@mozilla.com>
18491
18492 PR gcov-profile/61889
18493 * config.in: regenerate.
18494 * configure.in: Likewise.
18495 * configure.ac: Check for ftw.h.
18496 * gcov-tool.c: Check for ftw.h before using nftw.
18497
18498 2015-02-09 Trevor Saunders <tsaunders@mozilla.com>
18499
18500 PR lto/64076
18501 * ipa-visibility.c (update_visibility_by_resolution_info): Only
18502 assert when not in lto mode.
18503
18504 2015-02-09 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
18505
18506 * ira-color.c (setup_left_conflict_sizes_p): Simplify
18507 initialization/assignment of conflict_size.
18508
18509 2015-02-09 Jan Hubicka <hubicka@ucw.cz>
18510
18511 PR ipa/64978
18512 * ipa-cp.c (gather_caller_stats): Skip thunks.
18513 (propagate_constants_topo): Skip aliases.
18514
18515 2015-02-09 Kaz Kojima <kkojima@gcc.gnu.org>
18516
18517 PR target/64761
18518 * config/sh/sh.c (sh_option_override): Don't change
18519 -freorder-blocks-and-partition to -freorder-blocks even when
18520 unwinding is enabled.
18521 (sh_can_follow_jump): Return false if the followee jump is
18522 a crossing jump when -freorder-blocks-and-partition is specified.
18523 * config/sh/sh.md (*jump_compact_crossing): New insn.
18524
18525 2015-02-09 Joern Rennecke <joern.rennecke@embecosm.com>
18526 Kaz Kojima <kkojima@gcc.gnu.org>
18527
18528 PR target/64761
18529 * config/sh/sh-protos.h (sh_can_redirect_branch): Don't declare.
18530 * config/sh/sh.c (TARGET_CAN_FOLLOW_JUMP): Redefine.
18531 (sh_can_redirect_branch): Rename to ...
18532 (sh_can_follow_jump): ... this. Constify argument types.
18533 * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): Don't define.
18534 * doc/tm.texi.in (MD_CAN_REDIRECT_BRANCH): Remove documentation.
18535 * reorg.c (steal_delay_list_from_target): Use targetm.can_follow_jump.
18536 * doc/tm.texi: Regenerate.
18537
18538 2015-02-09 Jakub Jelinek <jakub@redhat.com>
18539
18540 PR sanitizer/64981
18541 * builtins.c (expand_builtin): Call targetm.expand_builtin
18542 for BUILT_IN_MD builtins regardless of asan_intercepted_p.
18543
18544 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
18545
18546 PR ipa/61548
18547 * tree-emutls.c (ipa_lower_emutls): Avoid duplicates in TLS_VARS.
18548
18549 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
18550
18551 PR ipa/63566
18552 * ipa-icf.c (set_local): New function.
18553 (sem_function::merge): Use it.
18554
18555 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
18556
18557 * ipa-devirt.c (odr_types_equivalent_p): Fix formating.
18558 (add_type_duplicate): Fix comparison of BINFOs.
18559
18560 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
18561
18562 * ipa-polymorphic-call.c (ipa_polymorphic_call_context): Avoid ICE
18563 on getting VOID pointer.
18564
18565 2015-02-09 Jakub Jelinek <jakub@redhat.com>
18566
18567 PR target/64979
18568 * tree-stdarg.c (pass_stdarg::execute): Scan phi node args for
18569 va_list escapes.
18570
18571 2015-02-09 Richard Biener <rguenther@suse.de>
18572
18573 * genmatch.c (replace_id): Copy expr_type.
18574
18575 2015-02-09 Richard Biener <rguenther@suse.de>
18576
18577 * tree-streamer.h (streamer_pack_tree_bitfields): Remove.
18578 (streamer_write_tree_bitfields): Declare.
18579 * tree-streamer-in.c (unpack_ts_base_value_fields): Inline,
18580 properly unpack padding.
18581 (unpack_value_fields): Inline ...
18582 (streamer_read_tree_bitfields): ... here.
18583 * tree-streamer-out.c (pack_ts_base_value_fields): Inline
18584 and properly add padding bits.
18585 (streamer_pack_tree_bitfields): Fold into ...
18586 (streamer_write_tree_bitfields): ... this new function,
18587 exposing the bitpack object.
18588 * lto-streamer-out.c (lto_write_tree_1): Call
18589 streamer_write_tree_bitfields.
18590
18591 2015-02-09 Richard Biener <rguenther@suse.de>
18592
18593 PR tree-optimization/54000
18594 * tree-ssa-looo-ivopts.c: Include tree-vectorizer.h.
18595 (struct ivopts_data): Add loop_loc member.
18596 (tree_ssa_iv_optimize_loop): Dump loop location.
18597 (create_new_ivs): Likewise, also dump number of IVs generated.
18598
18599 2015-02-09 Martin Liska <mliska@suse.cz>
18600
18601 * ipa-icf.c (sem_item_optimizer::register_hooks): Register hooks
18602 just if not yet registered.
18603 (ipa_icf_generate_summary): Register callgraph hooks.
18604
18605 2015-02-08 Andrew Pinski <apinski@cavium.com>
18606
18607 * config/aarch64/aarch64.c (gty_dummy): Delete.
18608
18609 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
18610
18611 PR ipa/63566
18612 * ipa-visibility.c (cgraph_node::non_local_p): Accept aliases.
18613 (cgraph_node::local_p): Remove thunk related FIXME.
18614
18615 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
18616
18617 PR ipa/63566
18618 * i386.c (ix86_function_regparm): Look through aliases to see if callee
18619 is local and optimized.
18620 (ix86_function_sseregparm): Likewise; also use target's SSE math
18621 settings; error out instead of silently generating wrong code
18622 on mismatches.
18623 (init_cumulative_args): Look through aliases.
18624
18625 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
18626
18627 PR ipa/63566
18628 * ipa-split.c (execute_split_functions): Split if function has aliases.
18629
18630 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
18631
18632 PR ipa/63566
18633 * cgraphunit.c (cgraph_node::analyze): Be sure target of thunk is
18634 aliases before trying to expand it.
18635 (cgraph_node::expand_thunk): Fix formating.
18636
18637 2015-02-07 Sandra Loosemore <sandra@codesourcery.com>
18638
18639 * doc/extend.texi (Function Attributes [naked]): Copy-edit.
18640 (Using Assembly Language with C): Expand introduction.
18641 (Basic Asm): Copy-edit. Add more information about uses of
18642 basic asm.
18643 (Extended Asm): Copy-edit. Document new escape syntax and
18644 %l[label] syntax.
18645 (Global Reg Vars): Copy-edit.
18646 (Local Reg Vars): Likewise.
18647
18648 2015-02-06 David Edelsohn <dje.gcc@gmail.com>
18649
18650 PR debug/2714
18651 PR bootstrap/64256
18652 * xcoffout.h (DBX_CONTIN_LENGTH): Define as 16384.
18653 (DBX_CONTIN_CHAR): Define.
18654
18655 2015-02-06 Sebastian Pop <s.pop@samsung.com>
18656 Brian Rzycki <b.rzycki@samsung.com>
18657
18658 PR tree-optimization/64878
18659 * tree-ssa-threadedge.c: Include tree-ssa-loop.h.
18660 (fsm_find_control_statement_thread_paths): Add parameter seen_loop_phi.
18661 Stop recursion at loop phi nodes after having visited a loop phi node.
18662
18663 2015-02-06 Jakub Jelinek <jakub@redhat.com>
18664
18665 * toplev.c (process_options): Change flag_ipa_ra before creating
18666 optimization_{default,current}_node.
18667
18668 PR ipa/64896
18669 * cgraphunit.c (cgraph_node::expand_thunk): If
18670 restype is not is_gimple_reg_type nor the thunk_fndecl
18671 returns aggregate_value_p, set restmp to a temporary variable
18672 instead of resdecl.
18673
18674 2015-02-06 Vladimir Makarov <vmakarov@redhat.com>
18675
18676 * lra.c (lra_emit_add): Fix a typo in using disp instead of base.
18677
18678 2015-02-06 Michael Meissner <meissner@linux.vnet.ibm.com>
18679
18680 PR target/64205
18681 * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Do not
18682 add a general secondary reload handler for SDmode, unless we have
18683 both read/write support for SDmode.
18684
18685 2015-02-06 Jakub Jelinek <jakub@redhat.com>
18686
18687 PR middle-end/64937
18688 * dwarf2out.c (set_block_abstract_flags, set_decl_abstract_flags):
18689 Replace setting argument with abstract_vec, always set BLOCK_ABSTRACT
18690 or DECL_ABSTRACT_P flags to 1 rather than to setting, and if it wasn't
18691 1 before, push it to abstract_vec.
18692 (dwarf2out_abstract_function): Adjust caller. Don't call
18693 set_decl_abstract_flags second time, instead clear BLOCK_ABSTRACT or
18694 DECL_ABSTRACT_P flags for all abstract_vec elts.
18695
18696 2015-02-06 Renlin Li <renlin.li@arm.com>
18697
18698 * tree-ssa-forwprop.c (execute): Keep location info while rewrite
18699 complex gimple.
18700 * tree-ssa.c (execute_update_addresses_taken): Likewise.
18701
18702 2015-02-06 Jeff Law <law@redhat.com>
18703
18704 PR target/64889
18705 * config/h8300/h8300.c (push): New argument "in_prologue".
18706 Pass "in_prologue" along to "F".
18707 (h8300_push_pop): Corresponding changes.
18708 (h8300_expand_prologue): Likewise.
18709 (h8300_swap_into_er6): Likewise. Do not set RTX_FRAME_RELATED_P.
18710
18711 2015-02-06 Jakub Jelinek <jakub@redhat.com>
18712
18713 PR rtl-optimization/64957
18714 PR debug/64817
18715 * simplify-rtx.c (simplify_binary_operation_1): Use ~cval for
18716 IOR rather than for AND.
18717
18718 2015-02-06 Eric Botcazou <ebotcazou@adacore.com>
18719
18720 PR target/62631
18721 * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Use the mininum of costs
18722 of shift-add and (add + shift) operations. Rename local variable.
18723
18724 2015-02-05 Jeff Law <law@redhat.com>
18725
18726 PR target/17306
18727 * config/h8300/constraints.md (U): Correctly dectect
18728 "eightbit_data" memory addresses.
18729 * config/h8300/h8300.c (eightbit_constant_address_p): Also
18730 handle (const (plus (symbol_ref (x)))) where x is declared
18731 as an 8-bit data memory address.
18732 * config/h8300/h8300.md (call, call_value): Correctly detect
18733 "funcvec" functions.
18734
18735 PR target/43264
18736 * config/h8300/h8300.c (get_shift_alg): Fix ASHIFTRT by
18737 24 to 28 bits for the H8/300.
18738
18739 2015-02-06 Alan Modra <amodra@gmail.com>
18740
18741 PR target/64876
18742 * config/rs6000/rs6000.c (chain_already_loaded): New function.
18743 (rs6000_call_aix): Use it.
18744
18745 2015-02-05 Jan Hubicka <hubicka@ucw.cz>
18746
18747 * ipa-cp.c (ipa_value_from_jfunc, ipa_context_from_jfunc): Add bounds
18748 check.
18749
18750 2015-02-05 Joern Rennecke <joern.rennecke@embecosm.com>
18751
18752 * config/h8300/constraints.md ("U" constraint): Use strict
18753 variant of REG_OK_FOR_BASE_P after reload has started.
18754
18755 2015-02-04 Mantas Mikaitis <mantas.mikaitis@arm.com>
18756
18757 * config/arm/arm.h (TARGET_NEON_FP): Removed conditional definition,
18758 define to zero if !TARGET_NEON.
18759 (TARGET_ARM_FP): Added !TARGET_SOFT_FLOAT into conditional definition.
18760
18761 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
18762 Trevor Saunders <tsaunders@mozilla.com>
18763
18764 PR ipa/61548
18765 * tree-emultls.c (new_emutls_decl): Resolve alias after creating it.
18766
18767 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
18768
18769 PR ipa/61548
18770 * ipa.c (symbol_table::remove_unreachable_nodes): Fix ordering issue
18771 when removing varpool nodes.
18772
18773 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
18774
18775 PR ipa/61548
18776 * varpool.c (varpool_node::remove): Fix order of variables.
18777
18778 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
18779
18780 PR ipa/64686
18781 * ipa-inline.c (inline_small_functions): Fix ordering issue between
18782 speculation resolution and key updates.
18783
18784 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
18785
18786 * ipa-prop.c (update_indirect_edges_after_inlining): By more careful
18787 about not letting any speculative edges unupdated.
18788
18789 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
18790
18791 PR gcov/64123
18792 * gcov-io.c (gcov_var): Export.
18793
18794 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
18795
18796 PR middle-end/64922
18797 * ipa-prop.c (update_indirect_edges_after_inlining): Correctly update
18798 edges that become speculative.
18799
18800 2015-02-04 Jakub Jelinek <jakub@redhat.com>
18801
18802 * dwarf2out.c (is_fortran): Also return true for DW_LANG_Fortran03
18803 or DW_LANG_Fortran08.
18804 (lower_bound_default): Return 1 for DW_LANG_Fortran03 or
18805 DW_LANG_Fortran08.
18806 (gen_compile_unit_die): Handle "GNU Fortran2003" and
18807 "GNU Fortran2008" language strings.
18808 * dbxout.c (get_lang_number): Use lang_GNU_Fortran.
18809 * langhooks.h (lang_GNU_Fortran): New prototype.
18810 * langhooks.c (lang_GNU_Fortran): New function.
18811 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use
18812 lang_GNU_Fortran.
18813
18814 2015-02-04 Eric Botcazou <ebotcazou@adacore.com>
18815
18816 * config/sparc/sparc.c (RTX_OK_FOR_OFFSET_P): Fix off-by-one error.
18817 (RTX_OK_FOR_OLO10_P): Likewise.
18818
18819 2015-02-04 Eric Botcazou <ebotcazou@adacore.com>
18820
18821 * tree-ssa-loop-ivopts.c (get_address_cost): Use right mode for offset.
18822
18823 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
18824
18825 PR middle-end/64922
18826 * gimple.c: Include gimple-ssa.h.
18827 (maybe_remove_unused_call_args): New function.
18828 * gimple.h (maybe_remove_unused_call_args): Declare.
18829 * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Use it.
18830 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Likewise.
18831 * gimple-fold.c (gimple_fold_call): Likewise.
18832
18833 2015-02-04 H.J. Lu <hongjiu.lu@intel.com>
18834
18835 PR rtl-optimization/64905
18836 * lra-eliminations.c (setup_can_eliminate): Clear hard frame
18837 pointer alignment if it isn't needed.
18838
18839 2015-02-04 Matthew Wahab <matthew.wahab@arm.com>
18840
18841 * config/aarch64/aarch64-cores.def: Add cortex-a72 and
18842 cortex-a72.cortex-a53.
18843 * config/aarch64/aarch64-tune.md: Regenerate.
18844 * doc/invoke.texi (AArch64 Options/-mtune): Add "cortex-a72".
18845
18846 2015-02-04 Nick Clifton <nickc@redhat.com>
18847
18848 * config/rl78/rl78.c (rl78_note_reg_set): Note the use of REGs
18849 inside a MEM.
18850
18851 2015-02-04 Jakub Jelinek <jakub@redhat.com>
18852
18853 * builtins.def (DEF_BUILTIN_CHKP): Define if not defined.
18854 (DEF_LIB_BUILTIN_CHKP, DEF_EXT_LIB_BUILTIN_CHKP): Redefine.
18855 (DEF_CHKP_BUILTIN): Define using DEF_BUILTIN_CHKP instead
18856 of DEF_BUILTIN.
18857 (BUILT_IN_MEMCPY, BUILT_IN_MEMMOVE, BUILT_IN_MEMSET, BUILT_IN_STRCAT,
18858 BUILT_IN_STRCHR, BUILT_IN_STRCPY, BUILT_IN_STRLEN): Use
18859 DEF_LIB_BUILTIN_CHKP macro instead of DEF_LIB_BUILTIN.
18860 (BUILT_IN_MEMCPY_CHK, BUILT_IN_MEMMOVE_CHK, BUILT_IN_MEMPCPY_CHK,
18861 BUILT_IN_MEMPCPY, BUILT_IN_MEMSET_CHK, BUILT_IN_STPCPY_CHK,
18862 BUILT_IN_STPCPY, BUILT_IN_STRCAT_CHK, BUILT_IN_STRCPY_CHK): Use
18863 DEF_EXT_LIB_BUILTIN_CHKP macro instead of DEF_EXT_LIB_BUILTIN.
18864 * tree-core.h (enum built_in_function): In between
18865 BEGIN_CHKP_BUILTINS and END_CHKP_BUILTINS only define enum values
18866 for builtins that use DEF_BUILTIN_CHKP macro.
18867
18868 2015-02-04 Alexandre Oliva <aoliva@redhat.com>
18869
18870 PR debug/64817
18871 * cfgexpand.c (expand_debug_expr): Compute unsignedp from
18872 operands for tcc_comparison exprs. Fix typos.
18873
18874 PR debug/64817
18875 * simplify-rtx.c (simplify_binary_operation_1): Simplify one
18876 of two XORs that have an intervening AND or IOR.
18877
18878 PR debug/64817
18879 * simplify-rtx.c (simplify_binary_operation_1): Rewrite
18880 simplification of XOR of AND to not allocate new rtx before
18881 committing to a simplification.
18882
18883 2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
18884
18885 * config/aarch64/aarch64-ldpstp.md: Use std::swap instead of
18886 manual swaps in all peepholes.
18887
18888 2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
18889
18890 * config/aarch64/aarch64.c (aarch64_evpc_ext): Use std::swap instead
18891 of manual swapping implementation.
18892 (aarch64_expand_vec_perm_const_1): Likewise.
18893
18894 2015-02-04 James Greenhalgh <james.greenhalgh@arm.com>
18895
18896 * config/aarch64/aarch64.c (NAMED_PARAM): Delete it.
18897 (generic_addrcost_table): Remove NAMED_PARAM.
18898 (cortexa57_addrcost_table): Likewise.
18899 (xgene1_addrcost_table): Likewise.
18900 (generic_regmove_table): Likewise.
18901 (cortexa53_regmove_table): Likewise.
18902 (xgene1_regmove_table): Likewise.
18903 (generic_vector_table): Likewise.
18904 (cortexa57_vector_table): Likewise.
18905 (xgene1_vector_table): Likewise.
18906 (generic_tunings): Likewise.
18907 (cortexa53_tunings): Likewise.
18908 (cortexa57_tunings): Likewise.
18909 (xgene1_tunings): Likewise.
18910
18911 2015-02-04 Matthew Wahab <matthew.wahab@arm.com>
18912
18913 * config/arm/arm-cores.def: Add cortex-a72 and
18914 cortex-a72.cortex-a53.
18915 * config/arm/bpabi.h (BE8_LINK_SPEC): Likewise.
18916 * config/arm/t-aprofile (MULTILIB_MATCHES): Likewise.
18917 * config/arm/arm-tune.md: Regenerate.
18918 * config/arm/arm-tables.opt: Add entries for "cortex-a72" and
18919 "cortex-a72.cortex-a53".
18920 * doc/invoke.texi (ARM Options/-mtune): Likewise.
18921
18922 2015-02-04 Nick Clifton <nickc@redhat.com>
18923
18924 PR target/64408
18925 * config/fr30/predicates.md (di_operand): Add SUBREG to the list
18926 of accepted codes.
18927 (nonimmediate_di_operand): Likewise.
18928
18929 * config/msp430/msp430.c (msp430_use_f5_series_hwmult): Add more
18930 prefixes of known F5 using MSP430 MCUs.
18931
18932 2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
18933
18934 * config/aarch64/aarch64-simd-builtins.def (sqrt): Use BUILTIN_VDQF_DF.
18935 * config/aarch64/arm_neon.h (vsqrt_f64): Use __builtin_aarch64_sqrtdf
18936 instead of __builtin_sqrt.
18937
18938 2015-02-04 Ilya Enkovich <ilya.enkovich@intel.com>
18939
18940 * varasm.c (do_assemble_alias): Follow transparent alias
18941 chain for target.
18942 (default_assemble_visibility): Follow transparent alias
18943 chain for decl name.
18944
18945 2015-02-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
18946
18947 PR middle-end/62103
18948 * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use TYPE_PRECISION
18949 to compute size of referenced value in the constant case.
18950
18951 2015-02-03 Jakub Jelinek <jakub@redhat.com>
18952
18953 PR rtl-optimization/64756
18954 * cse.c (invalidate_dest): New function.
18955 (cse_insn): Use it. If dest != SET_DEST (sets[i].rtl) and
18956 HASH (SET_DEST (sets[i].rtl), mode) computation sets do_not_record,
18957 invalidate and do not record it.
18958
18959 2015-02-03 Oleg Endo <olegendo@gcc.gnu.org>
18960
18961 PR target/64660
18962 * config/sh/sync.md (atomic_<fetchop_name><mode>_hard,
18963 atomic_not<mode>_hard, atomic_<fetchop_name><mode>_soft_tcb,
18964 atomic_not<mode>_soft_tcb, atomic_nand<mode>_hard,
18965 atomic_nand<mode>_soft_tcb): New insns.
18966 (atomic_fetch_<fetchop_name>si_hard): Convert to insn_and_split.
18967 Split into atomic_<fetchop_name>_fetchsi_hard if operands[0] is unused.
18968 (define_insn "atomic_fetch_notsi_hard): Convert to insn_and_split.
18969 Split into atomic_not_fetchsi_hard if operands[0] is unused.
18970 (atomic_fetch_<fetchop_name><mode>_hard): Convert to insn_and_split.
18971 Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
18972 (atomic_fetch_not<mode>_hard): Convert to insn_and_split. Split into
18973 atomic_not<mode>_hard if operands[0] is unused.
18974 (atomic_fetch_<fetchop_name><mode>_soft_gusa): Convert to
18975 insn_and_split. Split into atomic_<fetchop_name>_fetch<mode>_soft_gusa
18976 if operands[0] is unused.
18977 (atomic_fetch_not<mode>_soft_gusa): Convert to insn_and_split. Split
18978 into atomic_not_fetch<mode>_soft_gusa if operands[0] is unused.
18979 (atomic_fetch_<fetchop_name><mode>_soft_tcb): Convert to insn_and_split.
18980 Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
18981 unused.
18982 (atomic_fetch_not<mode>_soft_tcb): Convert to insn_and_split. Split
18983 into atomic_not<mode>_soft_tcb if operands[0] is unused.
18984 (atomic_fetch_<fetchop_name><mode>_soft_imask): Convert to
18985 insn_and_split. Split into atomic_<fetchop_name>_fetch<mode>_soft_imask
18986 if operands[0] is unused.
18987 (atomic_fetch_not<mode>_soft_imask): Convert to insn_and_split. Split
18988 into atomic_not_fetch<mode>_soft_imask is operands[0] is unused.
18989 (atomic_fetch_nandsi_hard): Convert to insn_and_split. Split into
18990 atomic_nand_fetchsi_hard if operands[0] is unused.
18991 (atomic_fetch_nand<mode>_hard): Convert to insn_and_split. Split into
18992 atomic_nand<mode>_hard if operands[0] is unused.
18993 (atomic_fetch_nand<mode>_soft_gusa): Convert to insn_and_split. Split
18994 into atomic_nand_fetch<mode>_soft_gusa if operands[0] is unused.
18995 (atomic_fetch_nand<mode>_soft_tcb): Convert to insn_and_split. Split
18996 into atomic_nand<mode>_soft_tcb if operands[0] is unused.
18997 (atomic_fetch_nand<mode>_soft_imask): Convert to insn_and_split. Split
18998 into atomic_nand_fetch<mode>_soft_imask if operands[0] is unused.
18999 (atomic_<fetchop_name>_fetch<mode>_hard): Convert to insn_and_split.
19000 Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
19001 (atomic_not_fetch<mode>_hard): Convert to insn_and_split. Split into
19002 atomic_not<mode>_hard if operands[0] is unused.
19003 (atomic_<fetchop_name>_fetch<mode>_soft_tcb): Convert to insn_and_split.
19004 Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
19005 unused.
19006 (atomic_not_fetch<mode>_soft_tcb): Convert to insn_and_split. Split
19007 into atomic_not<mode>_soft_tcb if operands[0] is unused.
19008 (atomic_nand_fetch<mode>_hard): Convert to insn_and_split. Split into
19009 atomic_nand<mode>_hard if operands[0] is unused.
19010 (atomic_nand_fetch<mode>_soft_tcb): Convert to insn_and_split. Split
19011 into atomic_nand<mode>_soft_tcb if operands[0] is unused.
19012
19013 2015-02-03 David Malcolm <dmalcolm@redhat.com>
19014
19015 PR jit/64810
19016 * Makefile.in (GCC_OBJS): Add gcc-main.o.
19017 * gcc-main.c: New file, containing "main" taken from gcc.c.
19018 * gcc.c (do_self_spec): Free decoded_options.
19019 (class driver): Move declaration to gcc.h.
19020 (main): Move declaration and implementation to new file
19021 gcc-main.c.
19022 (driver_get_configure_time_options): New function.
19023 * gcc.h (class driver): Move this declaration here, from
19024 gcc.c.
19025 (driver_get_configure_time_options): New declaration.
19026
19027 2015-02-03 Jan Hubicka <hubicka@ucw.cz>
19028
19029 * ipa-inline-analysis.c (simple_edge_hints): Fix check for
19030 cross-module inlining.
19031 * cgraph.h (cgraph_node): Add flag merged.
19032 * ipa-icf.c (sem_function::merge): Maintain it.
19033
19034 2015-02-03 Richard Sandiford <richard.sandiford@arm.com>
19035
19036 * config/arm/arm.c (thumb2_reorg): Test UNARY_P and BINARY_P
19037 instead of OBJECT_P.
19038
19039 2015-02-03 Eric Botcazou <ebotcazou@adacore.com>
19040
19041 PR target/62631
19042 * config/sparc/sparc.h (TARGET_HARD_MUL): Remove TARGET_V8PLUS.
19043 (TARGET_HARD_MUL32): Rewrite based on TARGET_HARD_MUL.
19044 * config/sparc/sparc.c (sparc_rtx_costs) <MULT>: Return costs based on
19045 int_mulX for integers in 64-bit mode if TARGET_HARD_MUL is not set.
19046
19047 2015-02-03 Jakub Jelinek <jakub@redhat.com>
19048
19049 PR other/63504
19050 * combine.c (reg_n_sets_max): New variable.
19051 (can_change_dest_mode, reg_nonzero_bits_for_combine,
19052 reg_num_sign_bit_copies_for_combine, get_last_value_validate,
19053 get_last_value): Use REG_N_SETS only on pseudos < reg_n_sets_max.
19054 (try_combine): Use INC_REG_N_SETS only on pseudos < reg_n_sets_max.
19055 (rest_of_handle_combine): Initialize reg_n_sets_max.
19056
19057 2015-02-02 Jan Hubicka <hubicka@ucw.cz>
19058
19059 * ipa-inline.c (early_inliner): Skip inlining only in always_inlined;
19060 if some always_inline was inlined, apply changes before inlining
19061 heuristically.
19062
19063 2015-02-02 David Malcolm <dmalcolm@redhat.com>
19064
19065 PR jit/64810
19066 * config/arm/arm.c (arm_option_override): Set
19067 arm_selected_arch/cpu/tune to NULL on entry.
19068
19069 2015-02-02 Tejas Belagod <tejas.belagod@arm.com>
19070 Andrew Pinski <pinskia@gcc.gnu.org>
19071 Jakub Jelinek <jakub@gcc.gnu.org>
19072
19073 PR target/64231
19074 * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix large
19075 integer typing for small model. Use IN_RANGE.
19076
19077 2015-02-02 Richard Biener <rguenther@suse.de>
19078
19079 * tree-ssa-ccp.c (valueize_op_1): Always allow valueizing default-defs.
19080 * tree-vrp.c (vrp_valueize_1): Likewise.
19081
19082 2015-02-02 Alan Modra <amodra@gmail.com>
19083
19084 * config/rs6000/rs6000.c (rs6000_call_aix): Use unspec rather
19085 than mem for toc_restore.
19086 * config/rs6000/rs6000.md (UNSPEC_TOCSLOT): Define.
19087 (call_indirect_aix, call_value_indirect_aix): Adjust to suit.
19088 (call_indirect_elfv2, call_value_indirect_elfv2): Likewise.
19089
19090 2015-02-01 David Edelsohn <dje.gcc@gmail.com>
19091
19092 PR target/64047
19093 * config/rs6000/rs6000.c (rs6000_set_current_function): Handle
19094 explicit default options.
19095
19096 2015-02-01 Jan Hubicka <hubicka@ucw.cz>
19097
19098 PR ipa/64872
19099 * ipa-utils.c (ipa_merge_profiles): Add release argument.
19100 * ipa-icf.c (sem_function::merge): Do not release body when merging.
19101 * ipa-utils.h (ipa_merge_profiles): Update prototype.
19102
19103 2015-02-01 Jakub Jelinek <jakub@redhat.com>
19104
19105 PR debug/64817
19106 * cfgexpand.c (deep_ter_debug_map): New variable.
19107 (avoid_deep_ter_for_debug): New function.
19108 (expand_debug_expr): If TERed SSA_NAME is in
19109 deep_ter_debug_map, use the corresponding DEBUG_EXPR_DECL
19110 instead of trying to expand SSA_NAME's def stmt.
19111 (expand_debug_locations): When expanding debug bind
19112 of a DEBUG_EXPR_DECL to corresponding SSA_NAME,
19113 temporarily remove the DEBUG_EXPR_DECL from deep_ter_debug_map's
19114 value.
19115 (pass_expand::execute): Call avoid_deep_ter_for_debug on
19116 all debug bind stmts. Delete deep_ter_debug_map after
19117 expand_debug_location if non-NULL and clear it.
19118
19119 2015-02-01 Oleg Endo <olegendo@gcc.gnu.org>
19120
19121 PR target/64851
19122 * config/sh/sync.md (atomic_fetch_notsi_hard,
19123 atomic_fetch_not<mode>_hard, atomic_fetch_not<mode>_soft_gusa,
19124 atomic_fetch_not<mode>_soft_tcb, atomic_fetch_not<mode>_soft_imask,
19125 atomic_not_fetchsi_hard, atomic_not_fetch<mode>_hard,
19126 atomic_not_fetch<mode>_soft_gusa, atomic_not_fetch<mode>_soft_tcb,
19127 atomic_not_fetch<mode>_soft_imask): New insns.
19128
19129 2015-02-01 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
19130
19131 * haifa-sched.c (INSN_RFS_DEBUG_ORIG_ORDER): New access macro.
19132 (rank_for_schedule_debug): Split from ...
19133 (rank_for_schedule): ... this.
19134 (ready_sort): Sort DEBUG_INSNs separately from normal INSNs.
19135 * sched-int.h (struct _haifa_insn_data): New field rfs_debug_orig_order.
19136
19137 2015-01-31 Sandra Loosemore <sandra@codesourcery.com>
19138
19139 * doc/md.texi (Machine Constraints): Alphabetize table by target.
19140 * doc/extend.texi (x86 Variable Attributes): Move section to
19141 correct alphabetization after renaming.
19142 (x86 Type Attributes): Likewise.
19143 (Target Builtins): Re-alphabetize menu.
19144 (x86 Built-in Functions): Move section to correct alphabetization
19145 after renaming.
19146 (x86 transactional memory intrinsics): Likewise.
19147 * doc/invoke.texi (Option Summary): Re-alphabetize x86 Options
19148 and x86 Windows Options in table and menu.
19149 (x86 Options): Move section to correct alphabetization after
19150 renaming.
19151 (x86 Windows Options): Likewise.
19152
19153 2015-01-31 Sandra Loosemore <sandra@codesourcery.com>
19154
19155 * doc/extend.texi: Use "x86", "x86-32", and "x86-64" as the
19156 preferred names of the architecture and its 32- and 64-bit
19157 variants.
19158 * doc/invoke.texi: Likewise.
19159 * doc/md.texi: Likewise.
19160
19161 2015-01-31 Uros Bizjak <ubizjak@gmail.com>
19162
19163 PR target/64882
19164 * config/i386/predicates.md (address_no_seg_operand): Reject
19165 non-CONST_INT_P operands in invalid mode.
19166
19167 2015-01-31 Uros Bizjak <ubizjak@gmail.com>
19168
19169 * config/i386/i386.md (*prefetch_prefetchw1): Remove mode of
19170 address_operand 0. Rename from *prefetch_prefetchwt1_<mode>.
19171 * config/i386/predicates.md (address_no_seg_operand): Call
19172 address_operand with VOIDmode.
19173 (vsib_address_operand): Ditto.
19174 (address_mpx_no_base_operand): Ditto.
19175 (address_mpx_no_index_operand): Ditto.
19176
19177 2015-01-30 Vladimir Makarov <vmakarov@redhat.com>
19178
19179 PR target/64688
19180 * lra-constraints.c (original_subreg_reg_mode): New.
19181 (simplify_operand_subreg): Try to simplify subreg of const. Use
19182 original_subreg_reg_mode for it.
19183 (swap_operands): Update original_subreg_reg_mode.
19184 (curr_insn_transform): Set up original_subreg_reg_mode.
19185
19186 2015-01-30 Vladimir Makarov <vmakarov@redhat.com>
19187
19188 PR target/64617
19189 * lra-constraints.c (prohibited_class_reg_set_mode_p): New
19190 function.
19191 (process_alt_operands): Use it.
19192 (curr_insn_transform): Check the optional reload pseudo class is
19193 ok for the mode.
19194
19195 2015-01-30 Joseph Myers <joseph@codesourcery.com>
19196
19197 * diagnostic.c (fatal_error (const char *, ...)): Remove function.
19198 * diagnostic-core.h (fatal_error (const char *, ...)): Remove
19199 prototype.
19200 * toplev.h (init_asm_output): Update comment on use of
19201 UNKNOWN_LOCATION with fatal_error.
19202 * cgraph.c, collect-utils.c, collect2.c, config/arc/arc.c,
19203 config/arc/arc.md, config/avr/avr.c, config/c6x/c6x.h,
19204 config/darwin.c, config/host-darwin.c, config/i386/host-cygwin.c,
19205 config/i386/intelmic-mkoffload.c, config/nios2/nios2.c,
19206 config/nvptx/mkoffload.c, config/nvptx/nvptx.h,
19207 config/rs6000/host-darwin.c, config/rs6000/rs6000.c,
19208 config/s390/s390.c, gcc.c, gcov-io.h, gcov-tool.c, ggc-common.c,
19209 ggc-page.c, graph.c, ipa-inline-analysis.c, ipa-reference.c,
19210 lto-cgraph.c, lto-section-in.c, lto-streamer-in.c, lto-streamer.c,
19211 lto-wrapper.c, objc/objc-act.c, opts.c, passes.c, plugin.c,
19212 tlink.c, toplev.c, tree-streamer-in.c, varpool.c: All callers of
19213 fatal_error changed to pass input_location as first argument.
19214
19215 2015-01-30 Martin Liska <mliska@suse.cz>
19216
19217 * tree.h: Change GCC_VERSION >= 4004 to GCC_VERSION >= 4006
19218 in #pragma GCC diagnostic guards.
19219
19220 2015-01-30 Richard Biener <rguenther@suse.de>
19221
19222 PR tree-optimization/64829
19223 * tree-vect-patterns.c (vect_handle_widen_op_by_const): Do
19224 not add a widening conversion pattern but hand off extra
19225 widenings to callers.
19226 (vect_recog_widen_mult_pattern): Handle extra widening produced
19227 by vect_handle_widen_op_by_const.
19228 (vect_recog_widen_shift_pattern): Likewise.
19229 (vect_pattern_recog_1): Remove excess vertical space in dumping.
19230 * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Likewise.
19231 (vect_init_vector_1): Likewise.
19232 (vect_get_vec_def_for_operand): Likewise.
19233 (vect_finish_stmt_generation): Likewise.
19234 (vectorizable_load): Likewise.
19235 (vect_analyze_stmt): Likewise.
19236 (vect_is_simple_use): Likewise.
19237
19238 2015-01-29 Jeff Law <law@redhat.com>
19239
19240 * combine.c (try_combine): Fix typo in comment.
19241
19242 2015-01-29 Segher Boessenkool <segher@kernel.crashing.org>
19243
19244 PR target/64580
19245 * config.rs6000/rs6000.c (compute_vrsave_mask): Reverse loop order.
19246 (rs6000_stack_info): Add assert.
19247 (rs6000_output_savres_externs): New function, split off from...
19248 (rs6000_output_function_prologue): ... here. Do not call it for
19249 thunks.
19250
19251 2015-01-29 Jeff Law <law@redhat.com>
19252
19253 PR target/15184
19254 * combine.c (try_combine): If I0 is a memory load and I3 a store
19255 to a related address, increase the "goodness" of doing a 4-insn
19256 combination with I0-I3.
19257 (make_field_assignment): Handle SUBREGs in the ior+and case.
19258
19259 2015-01-29 Yuri Rumyantsev <ysrumyan@gmail.com>
19260
19261 PR tree-optimization/64746
19262 * tree-if-conv.c (mask_exists): New function.
19263 (predicate_mem_writes): Save created mask with given size for further
19264 use.
19265 (stmt_is_root_of_bool_pattern): Remove argument VAR and store to it.
19266 (ifcvt_repair_bool_pattern): Collect all statements that are root
19267 of bool pattern and use iterative algorithm to remove multiple uses
19268 of predicates, display number of required iterations.
19269
19270 2015-01-29 Richard Biener <rguenther@suse.de>
19271
19272 PR tree-optimization/64853
19273 * tree-vrp.c (vrp_valueize_1): Do not return anything if the
19274 stmt will get simulated again.
19275 * tree-ssa-ccp.c (valueize_op_1): Likewise.
19276
19277 2015-01-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
19278
19279 * config/arm/arm.c (arm_emit_multi_reg_pop): Simplify definition of
19280 return_in_pc. Remove redundant assignments.
19281 (thumb2_emit_ldrd_pop): Simplify definition of return_in_pc.
19282 (arm_expand_epilogue): Don't compare boolean with true in if condition.
19283
19284 2015-01-29 Uros Bizjak <ubizjak@gmail.com>
19285
19286 * config/i386/i386.c (ix86_mode_after): Make static.
19287
19288 2015-01-29 Richard Biener <rguenther@suse.de>
19289
19290 PR tree-optimization/64844
19291 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Always
19292 dump cost model analysis.
19293 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
19294 Do not register adjusted load/store costs here.
19295
19296 2015-01-29 Ilya Enkovich <ilya.enkovich@intel.com>
19297 Uros Bizjak <ubizjak@gmail.com>
19298
19299 * config/i386/i386-protos.h (ix86_use_pseudo_pic_reg): New.
19300 * config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Simplify by
19301 using x86_use_pseudo_pic_reg.
19302 * config/i386/i386.c (ix86_conditional_register_usage): Remove
19303 support for fixed PIC register.
19304 (ix86_use_pseudo_pic_reg): Not static any more.
19305
19306 2015-01-29 Ilya Enkovich <ilya.enkovich@intel.com>
19307
19308 PR middle-end/64805
19309 * ipa-inline.c (early_inliner): Rebuild IPA_REF_CHKP reference
19310 to avoid error in cgraph node verification.
19311
19312 2015-01-29 Marek Polacek <polacek@redhat.com>
19313
19314 * doc/standards.texi: Reflect that the default for C is gnu11.
19315
19316 2015-01-29 Kaz Kojima <kkojima@gcc.gnu.org>
19317
19318 PR target/64761
19319 * reorg.c (switch_text_sections_between_p): New function.
19320 (relax_delay_slots): Call it when testing if the jump insn
19321 is removable. Use targetm.can_follow_jump when testing if
19322 the conditional branch can follow an unconditional jump.
19323
19324 2015-01-27 Caroline Tice <cmtice@google.com>
19325
19326 Committing VTV Cywin/Ming patch for Patrick Wollgast
19327 * config/i386/cygwin.h (STARTFILE_SPEC): Add vtv_start.o,
19328 if -fvtable-verify=preinit/std is used.
19329 * config/i386/mingw-w64.h (STARTFILE_SPEC): Likewise.
19330 * config/i386/mingw32.h (STARTFILE_SPEC): Likewise.
19331 * config/i386/cygwin.h (ENDFILE_SPEC): Add vtv_end.o,
19332 if -fvtable-verify=preinit/std is used.
19333 * config/i386/mingw32.h (ENDFILE_SPEC): Likewise.
19334 * config/i386/cygwin.h (LIB_SPEC): Pass -lvtv and -lpsapi,
19335 if -fvtable-verify=preinit/std is used.
19336 * config/i386/mingw-w64.h (LIB_SPEC): Likewise.
19337 * config/i386/mingw32.h (LIB_SPEC): Likewise.
19338 * varasm.c (assemble_variable): Add code to properly set the comdat
19339 section and name for the .vtable_map_vars section in case the
19340 target is PE or COFF.
19341
19342 2015-01-29 Jan Hubicka <hubicka@ucw.cz>
19343
19344 PR ipa/64801
19345 * cgraphunit.c (init_lowered_empty_function): Add CoUNT parameter;
19346 make sane BB profile.
19347 (cgraph_node::expand_thunk): Make sane BB profile.
19348 (cgraph_node::create_wrapper): Do not set call_stmt_cannot_inline_p.
19349 * cgraph.h (init_lowered_empty_function): Update prototype.
19350 * config/i386/i386.c (make_resolver_func): Update call.
19351 * predict.c (gate): Disable branch prediction pass if
19352 profile is already there.
19353
19354 2015-01-29 Jan Hubicka <hubicka@ucw.cz>
19355
19356 * optc-save-gen.awk: flag_fp_contract_mode is no longer speical.
19357 * opth-gen.awk: Likewise.
19358 * common.opt: Mark flag_fp_contract_mode as Optimization.
19359
19360 2015-01-29 Bernd Edlinger <bernd.edlinger@hotmail.de>
19361
19362 * config/i386/cygwin.h (LIBGCJ_SONAME): Set libgcj version to -16.
19363 * config/i386/mingw32.h (LIBGCJ_SONAME): Set libgcj version to -16.
19364
19365 2015-01-28 Oleg Endo <olegendo@gcc.gnu.org>
19366
19367 PR target/64659
19368 * config/sh/predicates.md (atomic_arith_operand,
19369 atomic_logical_operand): Remove.
19370 * config/sh/sync.md (fetchop_predicate, fetchop_constraint): Remove.
19371 (atomic_arith_operand_0): New predicate.
19372 (atomic_compare_and_swap<mode>): Use arith_reg_dest for output values.
19373 Use atomic_arith_operand_0 for input values.
19374 (atomic_compare_and_swapsi_hard, atomic_compare_and_swap<mode>_hard,
19375 atomic_compare_and_swap<mode>_soft_gusa,
19376 atomic_compare_and_swap<mode>_soft_tcb,
19377 atomic_compare_and_swap<mode>_soft_imask): Use arith_reg_dest and
19378 arith_reg_operand instead of register_operand.
19379 (atomic_exchange<mode>): Use arith_reg_dest for output value. Use
19380 atomic_arith_operand_0 for newval input.
19381 (atomic_exchangesi_hard, atomic_exchange<mode>_hard,
19382 atomic_exchange<mode>_soft_gusa, atomic_exchange<mode>_soft_tcb,
19383 atomic_exchange<mode>_soft_imask): Use arith_reg_dest and
19384 arith_reg_operand instead of register_operand.
19385 (atomic_arith_operand_1, atomic_logical_operand_1): New predicates.
19386 fetchop_predicate_1, fetchop_constraint_1_llcs,
19387 fetchop_constraint_1_gusa, fetchop_constraint_1_tcb,
19388 fetchop_constraint_1_imask): New code iterator attributes.
19389 (atomic_fetch_<fetchop_name><mode>): Use arith_reg_dest instead of
19390 register_operand. Use fetchop_predicate_1.
19391 (atomic_fetch_<fetchop_name>si_hard,
19392 atomic_fetch_<fetchop_name><mode>_hard): Use arith_reg_dest instead of
19393 register_operand. Use fetchop_predicate_1, fetchop_constraint_1_llcs.
19394 (atomic_fetch_<fetchop_name><mode>_soft_gusa): Use arith_reg_dest
19395 and arith_reg_operand instead of register_operand. Use
19396 fetchop_predicate_1, fetchop_constraint_1_gusa.
19397 (atomic_fetch_<fetchop_name><mode>_soft_tcb): Use arith_reg_dest
19398 and arith_reg_operand instead of register_operand. Use
19399 fetchop_predicate_1, fetchop_constraint_1_tcb. Adjust asm sequence
19400 to allow R0 usage.
19401 (atomic_fetch_<fetchop_name><mode>_soft_imask): Use arith_reg_dest
19402 and arith_reg_operand instead of register_operand. Use
19403 fetchop_predicate_1, fetchop_constraint_1_imask. Adjust asm sequence
19404 to allow R0 usage.
19405 (atomic_fetch_nand<mode>): Use arith_reg_dest instead of
19406 register_operand. Use atomic_logical_operand_1.
19407 (atomic_fetch_nandsi_hard, atomic_fetch_nand<mode>_hard,
19408 atomic_fetch_nand<mode>_soft_gusa): Use arith_reg_dest and
19409 arith_reg_operand instead of register_operand.
19410 (atomic_fetch_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask):
19411 Use arith_reg_dest and arith_reg_operand instead of register_operand.
19412 Use logical_operand and rK08. Adjust asm sequence to allow R0 usage.
19413 (atomic_<fetchop_name>_fetch<mode>): Use arith_reg_dest instead of
19414 register_operand. Use fetchop_predicate_1.
19415 (atomic_<fetchop_name>_fetchsi_hard,
19416 atomic_<fetchop_name>_fetch<mode>_hard): Use arith_reg_dest and
19417 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
19418 fetchop_constraint_1_llcs.
19419 (atomic_<fetchop_name>_fetch<mode>_soft_gusa): Use arith_reg_dest and
19420 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
19421 fetchop_constraint_1_gusa.
19422 (atomic_<fetchop_name>_fetch<mode>_soft_tcb): Use arith_reg_dest and
19423 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
19424 fetchop_constraint_1_tcb. Adjust asm sequence to allow R0 usage.
19425 (atomic_<fetchop_name>_fetch<mode>_soft_imask): Use arith_reg_dest and
19426 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
19427 fetchop_constraint_1_imask. Adjust asm sequence to allow R0 usage.
19428 (atomic_nand_fetch<mode>): Use arith_reg_dest instead of
19429 register_operand. Use atomic_logical_operand_1.
19430 (atomic_nand_fetchsi_hard, atomic_nand_fetch<mode>_hard,
19431 atomic_nand_fetch<mode>_soft_gusa): Use arith_reg_dest and
19432 arith_reg_operand instead of register_operand.
19433 (atomic_nand_fetch<mode>_soft_tcb): Use arith_reg_dest and
19434 arith_reg_operand instead of register_operand. Use logical_operand
19435 and K08. Adjust asm sequence to allow R0 usage.
19436 (atomic_nand_fetch<mode>_soft_imask): Use arith_reg_dest and
19437 arith_reg_operand instead of register_operand. Use logical_operand
19438 and K08.
19439
19440 2015-01-28 Jakub Jelinek <jakub@redhat.com>
19441
19442 PR other/63504
19443 * dwarf2out.c (add_AT_wide, mem_loc_descriptor, loc_descriptor):
19444 Use ggc_alloc<wide_int> instead of ggc_cleared_alloc<wide_int>.
19445 (attr_checksum, attr_checksum_ordered, hash_loc_operands): Checksum
19446 only get_full_len HOST_WIDE_INTs from get_val () array rather than
19447 all bits in *val_wide.
19448
19449 2015-01-28 Jan Hubicka <hubicka@ucw.cz>
19450
19451 * varpool.c (tls_model_names): Fix names.
19452 (varpool_node::dump): Dump tls- prefix for tls models.
19453
19454 2015-01-28 Thomas Schwinge <thomas@codesourcery.com>
19455 Bernd Schmidt <bernds@codesourcery.com>
19456 Nathan Sidwell <nathan@codesourcery.com>
19457
19458 * config/nvptx/mkoffload.c: New file.
19459 * config/nvptx/t-nvptx: Add build rules for it.
19460 * config.gcc <nvptx-*> [$enable_as_accelerator = yes]
19461 (extra_programs): Add mkoffload.
19462 * config/nvptx/nvptx.c (nvptx_record_offload_symbol): New
19463 function.
19464 (TARGET_RECORD_OFFLOAD_SYMBOL): Define macro to use it.
19465
19466 2015-01-28 Yuri Rumyantsev <ysrumyan@gmail.com>
19467
19468 PR middle-end/64809
19469 * cfgexpand.c (reorder_operands): Skip debug gimples.
19470
19471 2015-01-28 Ilya Enkovich <ilya.enkovich@intel.com>
19472
19473 PR tree-optimization/64277
19474 * tree-ssa-loop-niter.c (record_nonwrapping_iv): Use base
19475 range info when possible to refine estimation.
19476
19477 2015-01-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
19478
19479 PR tree-optimization/64718
19480 * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Make bswap_type
19481 be a 16bit unsigned integer when n->range is 16.
19482 (bswap_replace): Convert src to that type if necessary for all bswap
19483 sizes. Fix rotation right notation in nearby comment. Use bswap_type
19484 set in pass_optimize_bswap::execute ().
19485
19486 2015-01-28 James Greenhalgh <james.greenhalgh@arm.com>
19487
19488 * config/aarch64/aarch64-simd.md (aarch64_abs<mode>): New.
19489 * config/aarch64/aarch64-simd-builtins.def (abs): Split by
19490 integer and floating point variants.
19491 * config/aarch64/iterators.md (unspec): Add UNSPEC_ABS.
19492
19493 2015-01-28 Robert Suchanek <robert.suchanek@imgtec.com>
19494
19495 * config/mips/mips.c (mips_hard_regno_mode_ok_p): Prohibit accumulators
19496 for all vector modes.
19497
19498 2015-01-28 Jakub Jelinek <jakub@redhat.com>
19499
19500 PR bootstrap/64612
19501 * doc/sourcebuild.texi (comdat_group): Document.
19502
19503 2015-01-28 Terry Guo <terry.guo@arm.com>
19504
19505 * config/arm/thumb1.md (*thumb1_movpc_insn): New insn pattern.
19506
19507 2015-01-27 David Malcolm <dmalcolm@redhat.com>
19508
19509 * toplev.c (print_version): Add param "show_global_state", and
19510 only print GGC and plugin information if it is true.
19511 (init_asm_output): Pass in "true" for the new param when calling
19512 print_version.
19513 (process_options): Likewise.
19514 (toplev::main): Likewise.
19515 * toplev.h (print_version): Add new param to decl.
19516
19517 2015-01-27 Jan Hubicka <hubicka@ucw.cz>
19518
19519 PR ipa/60871
19520 PR ipa/64139
19521 * tree.c (lookup_binfo_at_offset): New function.
19522 (get_binfo_at_offset): Use it.
19523
19524 2015-01-27 Jan Hubicka <hubicka@ucw.cz>
19525
19526 PR ipa/64282
19527 * gimple-fold.c (gimple_get_virt_method_for_vtable): Remove assert
19528 on vtable being vtable.
19529
19530 2015-01-27 Dominik Vogt <vogt@linux.vnet.ibm.com>
19531
19532 * doc/extend.texi: s/390: Update documentation of hotpatch attribute.
19533 * doc/invoke.texi (-mhotpatch): s/390: Update documentation of
19534 -mhotpatch= option.
19535 * config/s390/s390.opt (mhotpatch): s/390: Remove -mhotpatch and
19536 -mno-hotpatch options. Change syntax of -mhotpatch= option.
19537 * config/s390/s390.c (s390_hotpatch_trampoline_halfwords_default):
19538 Renamed.
19539 (s390_hotpatch_trampoline_halfwords_max): Renamed.
19540 (s390_hotpatch_hw_max): New name.
19541 (s390_hotpatch_trampoline_halfwords): Renamed.
19542 (s390_hotpatch_hw_before_label): New name.
19543 (get_hotpatch_attribute): Removed.
19544 (s390_hotpatch_hw_after_label): New name.
19545 (s390_handle_hotpatch_attribute): Add second parameter to hotpatch
19546 attribute.
19547 (s390_attribute_table): Ditto.
19548 (s390_function_num_hotpatch_trampoline_halfwords): Renamed.
19549 (s390_function_num_hotpatch_hw): New name.
19550 Remove special handling of inline functions and hotpatching.
19551 Return number of nops before and after the function label.
19552 (s390_can_inline_p): Removed.
19553 (s390_asm_output_function_label): Emit a configurable number of nops
19554 after the function label.
19555 (s390_option_override): Update -mhotpatch= syntax and remove -mhotpatch.
19556 (TARGET_CAN_INLINE_P) Removed.
19557 (TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): New.
19558
19559 2015-01-27 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
19560 Jiong Wang <jiong.wang@arm.com>
19561
19562 * config/aarch64/aarch64.md (tb<optab><mode>1): Clobber CC reg instead
19563 of scratch reg.
19564 (cb<optab><mode>1): Likewise.
19565 * config/aarch64/iterators.md (bcond): New define_code_attr.
19566
19567 2015-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
19568
19569 * config/s390/s390.c (s390_memory_move_cost): Increase costs for
19570 memory accesses.
19571
19572 2015-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
19573
19574 * config/s390/s390.c (s390_register_move_cost): Increase costs for
19575 FPR->GPR moves.
19576
19577 2015-01-27 Richard Biener <rguenther@suse.de>
19578
19579 * tree-vrp.c (update_value_range): Intersect the range with
19580 old recorded SSA name range information.
19581
19582 2015-01-27 Nick Clifton <nickc@redhat.com>
19583
19584 * config/rl78/rl78.c (rl78_expand_prologue): In G10 mode push the
19585 BC, DE and HL registers directly, not via AX.
19586 When decrementing the stack pointer by a large amount, transfer SP
19587 into AX and perform the subtraction there.
19588 (rl78_expand_epilogue): Perform the inverse of the above
19589 enhancements.
19590
19591 2015-01-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
19592
19593 * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Remove.
19594
19595 2015-01-27 Jakub Jelinek <jakub@redhat.com>
19596 Yury Gribov <y.gribov@samsung.com>
19597
19598 PR ubsan/64741
19599 * ubsan.c (ubsan_source_location): Refactor code.
19600 (ubsan_type_descriptor): Update type size. Refactor code.
19601
19602 2015-01-27 Richard Biener <rguenther@suse.de>
19603
19604 PR tree-optimization/56273
19605 PR tree-optimization/59124
19606 PR tree-optimization/64277
19607 * tree-vrp.c (vrp_finalize): Emit array-bound warnings only
19608 from the first VRP pass.
19609
19610 2015-01-27 Jakub Jelinek <jakub@redhat.com>
19611
19612 PR ipa/64776
19613 * cgraphunit.c (cgraph_node::expand_thunk): If not this_adjusting,
19614 handle the first argument in the same loop as all the other arguments.
19615
19616 PR rtl-optimization/61058
19617 * jump.c (cleanup_barriers): Update basic block boundaries
19618 if BLOCK_FOR_INSN is non-NULL on PREV.
19619
19620 2015-01-27 Ilya Enkovich <ilya.enkovich@intel.com>
19621
19622 * tree-chkp.c (chkp_call_returns_bounds_p): Fix handling of
19623 bounds narrowing, already instrumented calls and calls to
19624 not instrumentable functions.
19625
19626 2015-01-27 Jakub Jelinek <jakub@redhat.com>
19627
19628 PR tree-optimization/64807
19629 * wide-int.cc (wi::divmod_internal): Clear
19630 b_dividend[dividend_blocks_needed].
19631
19632 2015-01-26 DJ Delorie <dj@redhat.com>
19633
19634 * config/rl78/rl78.c (move_elim_pass): Don't optimize away
19635 volatile memory references.
19636
19637 2015-01-26 Oleg Endo <olegendo@gcc.gnu.org>
19638
19639 PR target/49263
19640 * config/sh/sh.c (sh_split_treg_set_expr): Invoke emit_insn before
19641 remove_insn.
19642 * config/sh/sh.md (tstsi_t): Don't try to optimize constant with right
19643 shifts if it already fits into K08.
19644
19645 2015-01-26 Jakub Jelinek <jakub@redhat.com>
19646
19647 PR ipa/64730
19648 * ipa-inline.c (inline_small_functions): Print "unknown" even
19649 if edge->call_stmt is non-NULL, but has builtins or unknown
19650 location.
19651
19652 PR middle-end/64421
19653 * omp-low.c (simd_clone_mangle): If DECL_ASSEMBLER_NAME starts
19654 with asterisk, skip the first character.
19655
19656 2015-01-26 H.J. Lu <hongjiu.lu@intel.com>
19657
19658 PR target/64806
19659 * config/i386/i386 (feature_priority): Revert the last P_POPCNT
19660 order change.
19661
19662 2015-01-26 Uros Bizjak <ubizjak@gmail.com>
19663
19664 PR target/64795
19665 * config/i386/i386.md (*movdi_internal): Also check operand 0
19666 to determine TYPE_LEA operand.
19667 (*movsi_internal): Ditto.
19668
19669 2015-01-26 Jakub Jelinek <jakub@redhat.com>
19670
19671 * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add
19672 OPTION_MASK_QUAD_MEMORY_ATOMIC.
19673
19674 2015-01-26 Renlin Li <renlin.li@arm.com>
19675
19676 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Correct
19677 the comment.
19678 * config/aarch64/aarch64.md (tlsle_small_<mode>): Add left shift 12-bit
19679 for higher part.
19680
19681 2015-01-26 Richard Biener <rguenther@suse.de>
19682
19683 PR middle-end/64764
19684 * tree-ssa-uninit.c (is_pred_expr_subset_of): Handle
19685 combining two BIT_AND_EXPR predicates.
19686
19687 2015-01-26 H.J. Lu <hongjiu.lu@intel.com>
19688
19689 PR bootstrap/64754
19690 * tree-ssa-structalias.c (new_var_info): Initialize ruid.
19691
19692 2015-01-26 Terry Guo <terry.guo@arm.com>
19693
19694 * config/arm/arm.c (arm_file_start): Update the assignment of
19695 Tag_ABI_HardFP_use.
19696
19697 2015-01-25 James Greenhalgh <james.greenhalgh@arm.com>
19698
19699 * config/arm/arm-cores.def (cortex-a57): Use the new Cortex-A57
19700 pipeline model.
19701 config/arm/arm.md: Include the new Cortex-A57 model.
19702 (generic_sched): Don't use generic_sched when tuning for
19703 Cortex-A57.
19704
19705 2015-01-25 Allan Sandfeld Jensen <sandfeld@kde.org>
19706 Uros Bizjak <ubizjak@gmail.com>
19707
19708 * config/i386/i386.c (get_builtin_code_for_version): Add
19709 support for BMI and BMI2 multiversion functions.
19710
19711 2015-01-25 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
19712
19713 * emit-rtl.h (store_bit_field): Move prototype to expmed.h.
19714 (extract_bit_field): Likewise.
19715 (extract_low_bits): Likewise.
19716 (expand_mult): Likewise.
19717 (expand_mult_highpart_adjust): Likewise.
19718
19719 2015-01-24 H.J. Lu <hongjiu.lu@intel.com>
19720
19721 * config/i386/driver-i386.c (host_detect_local_cpu): Check new
19722 Silvermont, Haswell, Broadwell and Knights Landing model numbers.
19723 * config/i386/i386.c (processor_model): Add
19724 M_INTEL_COREI7_BROADWELL.
19725 (arch_names_table): Add "broadwell".
19726
19727 2015-01-24 Oleg Endo <olegendo@gcc.gnu.org>
19728
19729 PR target/49263
19730 PR target/53987
19731 PR target/64345
19732 PR target/59533
19733 PR target/52933
19734 PR target/54236
19735 PR target/51244
19736 * config/sh/sh-protos.h
19737 (sh_extending_set_of_reg::can_use_as_unextended_reg,
19738 sh_extending_set_of_reg::use_as_unextended_reg,
19739 sh_is_nott_insn, sh_movt_set_dest, sh_movrt_set_dest, sh_is_movt_insn,
19740 sh_is_movrt_insn, sh_insn_operands_modified_between_p,
19741 sh_reg_dead_or_unused_after_insn, sh_in_recog_treg_set_expr,
19742 sh_recog_treg_set_expr, sh_split_treg_set_expr): New functions.
19743 (sh_treg_insns): New class.
19744 * config/sh/sh.c (TARGET_LEGITIMATE_COMBINED_INSN): Define target hook.
19745 (scope_counter): New class.
19746 (sh_legitimate_combined_insn, sh_is_nott_insn, sh_movt_set_dest,
19747 sh_movrt_set_dest, sh_reg_dead_or_unused_after_insn,
19748 sh_extending_set_of_reg::can_use_as_unextended_reg,
19749 sh_extending_set_of_reg::use_as_unextended_reg, sh_recog_treg_set_expr,
19750 sh_in_recog_treg_set_expr, sh_try_split_insn_simple,
19751 sh_split_treg_set_expr): New functions.
19752 (addsubcosts): Handle treg_set_expr.
19753 (sh_rtx_costs): Handle IF_THEN_ELSE and ZERO_EXTRACT.
19754 (sh_rtx_costs): Use arith_reg_operand in SIGN_EXTEND and ZERO_EXTEND.
19755 (sh_rtx_costs): Handle additional bit test patterns in EQ and AND cases.
19756 (sh_insn_operands_modified_between_p): Make non-static.
19757 * config/sh/predicates.md (zero_extend_movu_operand): Allow
19758 simple_mem_operand in addition to displacement_mem_operand.
19759 (zero_extend_operand): Don't allow zero_extend_movu_operand.
19760 (treg_set_expr, treg_set_expr_not_const01,
19761 arith_reg_or_treg_set_expr): New predicates.
19762 * config/sh/sh.md (tstsi_t): Use arith_reg_operand and
19763 arith_or_int_operand instead of logical_operand. Convert to
19764 insn_and_split. Try to optimize constant operand in splitter.
19765 (tsthi_t, tstqi_t): Fold into *tst<mode>_t. Convert to insn_and_split.
19766 (*tstqi_t_zero): Delete.
19767 (*tst<mode>_t_subregs): Add !sh_in_recog_treg_set_expr split condition.
19768 (tstsi_t_and_not): Delete.
19769 (tst<mode>_t_zero_extract_eq): Rename to *tst<mode>_t_zero_extract.
19770 Convert to insn_and_split.
19771 (unnamed split, tstsi_t_zero_extract_xor,
19772 tstsi_t_zero_extract_subreg_xor_little,
19773 tstsi_t_zero_extract_subreg_xor_big): Delete.
19774 (*tstsi_t_shift_mask): New insn_and_split.
19775 (cmpeqsi_t, cmpgesi_t): Add new split for const_int 0 operands and try
19776 to recombine with surrounding insns when splitting.
19777 (*negtstsi): Add !sh_in_recog_treg_set_expr condition.
19778 (cmp_div0s_0, cmp_div0s_1, *cmp_div0s_0, *cmp_div0s_1): Rewrite as ...
19779 (cmp_div0s, *cmp_div0s_1, *cmp_div0s_2, *cmp_div0s_3, *cmp_div0s_4,
19780 *cmp_div0s_5, *cmp_div0s_6): ... these new insn_and_split patterns.
19781 (*cbranch_div0s: Delete.
19782 (*addc): Convert to insn_and_split. Use treg_set_expr as 3rd operand.
19783 Try to recombine with surrounding insns when splitting. Add operand
19784 order variants.
19785 (*addc_t_r, *addc_r_t): Use treg_set_expr_not_const01.
19786 (*addc_r_r_1, *addc_r_lsb, *addc_r_r_lsb, *addc_r_lsb_r, *addc_r_msb,
19787 *addc_r_r_msb, *addc_2r_msb): Delete.
19788 (*addc_2r_lsb): Rename to *addc_2r_t. Use treg_set_expr. Add operand
19789 order variant.
19790 (*addc_negreg_t): New insn_and_split.
19791 (*subc): Convert to insn_and_split. Use treg_set_expr as 3rd operand.
19792 Try to recombine with surrounding insns when splitting.
19793 Add operand order variants.
19794 (*subc_negt_reg, *subc_negreg_t, *reg_lsb_t, *reg_msb_t): New
19795 insn_and_split patterns.
19796 (*rotcr): Use arith_reg_or_treg_set_expr. Try to recombine with
19797 surrounding insns when splitting.
19798 (unnamed rotcr split): Use arith_reg_or_treg_set_expr.
19799 (*rotcl): Likewise. Add zero_extract variant.
19800 (*ashrsi2_31): New insn_and_split.
19801 (*negc): Convert to insn_and_split. Use treg_set_expr.
19802 (*zero_extend<mode>si2_disp_mem): Update comment.
19803 (movrt_negc, *movrt_negc, nott): Add !sh_in_recog_treg_set_expr split
19804 condition.
19805 (*mov_t_msb_neg, mov_neg_si_t): Use treg_set_expr. Try to recombine
19806 with surrounding insns when splitting.
19807 (any_treg_expr_to_reg): New insn_and_split.
19808 (*neg_zero_extract_0, *neg_zero_extract_1, *neg_zero_extract_2,
19809 *neg_zero_extract_3, *neg_zero_extract_4, *neg_zero_extract_5,
19810 *neg_zero_extract_6, *zero_extract_0, *zero_extract_1,
19811 *zero_extract_2): New single bit zero extract patterns.
19812 (bld_reg, *bld_regqi): Fold into bld<mode>_reg.
19813 (*get_thread_pointersi, store_gbr, *mov<mode>_gbr_load,
19814 *mov<mode>_gbr_load, *mov<mode>_gbr_load, *mov<mode>_gbr_load,
19815 *movdi_gbr_load): Use arith_reg_dest instead of register_operand for
19816 set destination.
19817 (set_thread_pointersi, load_gbr): Use arith_reg_operand instead of
19818 register_operand for set source.
19819
19820 2015-01-23 Jan Hubicka <hubicka@ucw.cz>
19821
19822 * i386.opt (prefetch_sse): New targetsave.
19823 * i386.c (ix86_function_specific_save): Save prefetch_sse.
19824 (ix86_function_specific_restore): Restore prefetch_sse and initialize
19825 ix86_cost/ix86_tune_cost.
19826
19827 2015-01-23 David Malcolm <dmalcolm@redhat.com>
19828
19829 * config/rs6000/rs6000.c (rs6000_output_function_epilogue):
19830 Support the JIT by using 0 as the language type.
19831
19832 2015-01-23 Vladimir Makarov <vmakarov@redhat.com>
19833
19834 PR target/64317
19835 * lra-lives.c (make_hard_regno_born): Add parameter. Don't make
19836 REAL_PIC_OFFSET_TABLE_REGNUM conflicting with pic offset pseudo.
19837 (mark_regno_live, process_bb_lives): Pass new parameter value to
19838 make_hard_regno_born.
19839
19840 2015-01-23 Jakub Jelinek <jakub@redhat.com>
19841
19842 PR rtl-optimization/63637
19843 PR rtl-optimization/60663
19844 * cse.c (merge_equiv_classes): Set new_elt->cost to MAX_COST
19845 if elt->cost is MAX_COST for ASM_OPERANDS.
19846 (find_sets_in_insn): Fix up comment typo.
19847 (cse_insn): Don't set src_volatile for all non-volatile
19848 ASM_OPERANDS in PARALLELs, but just those with multiple outputs
19849 or with "memory" clobber. Set elt->cost to MAX_COST
19850 for ASM_OPERANDS in PARALLEL. Set src_elt->cost to MAX_COST
19851 if new_src is ASM_OPERANDS and elt->cost is MAX_COST.
19852
19853 2015-01-23 Uros Bizjak <ubizjak@gmail.com>
19854
19855 * config/i386/sse.md (sse2_loadld): Set attribute isa to sse2 for
19856 alternative 1.
19857
19858 2015-01-23 Uros Bizjak <ubizjak@gmail.com>
19859
19860 * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Move definition to
19861 libgcc/config/i386/elf-lib.h.
19862
19863 2015-01-23 Jakub Jelinek <jakub@redhat.com>
19864
19865 PR driver/64737
19866 * gcc.c (print_configuration): Don't print a blank line at the end
19867 here...
19868 (run_attempt): ... but here unstead.
19869
19870 PR middle-end/64734
19871 * omp-low.c (scan_sharing_clauses): Don't ignore
19872 OMP_CLAUSE_MAP_ZERO_BIAS_ARRAY_SECTION GOMP_MAP_POINTER clauses
19873 on target data/update constructs.
19874
19875 2015-01-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
19876
19877 PR target/50928
19878 * config/m32c/m32c.c (encode_pattern_1): Removed gcc_unreachable here.
19879 (DEBUG_RELOAD): Removed define.
19880 (m32c_limit_reload_class): Enable traces with if DEBUG0.
19881 (m32c_function_arg): Added a type cast.
19882 (m32c_legitimize_reload_address): Push A_REGS reload with PSImode.
19883 * config/m32c/addsub.md (addsi3_1): Specify the mode of all arguments.
19884 * config/m32c/bitops.md (andqi3_16): Likewise.
19885 * config/m32c/mov.md (m32c_immd_dbl_mov): Likewise.
19886 (push_a01_l): Likewise.
19887
19888 2015-01-23 David Malcolm <dmalcolm@redhat.com>
19889
19890 PR jit/64721
19891 * main.c (main): Construct toplev instances with init_signals=true.
19892 * toplev.c (general_init): Add param "init_signals", and use it to
19893 conditionalize the calls to signal and host_hooks.extra_signals.
19894 (toplev::toplev): Add param "init_signals".
19895 (toplev::main): When invoking general_init, pass m_init_signals
19896 to control whether signal-handlers are installed.
19897 * toplev.h (toplev::toplev): Add param "init_signals".
19898 (toplev::m_init_signals): New field.
19899
19900 2015-01-23 David Malcolm <dmalcolm@redhat.com>
19901
19902 PR jit/64722
19903 * emit-rtl.c (init_emit_regs): Set pic_offset_table_rtx to
19904 NULL_RTX before testing PIC_OFFSET_TABLE_REGNUM, since the
19905 latter may be affected by the former (e.g. on i686).
19906
19907 2015-01-23 Martin Liska <mliska@suse.cz>
19908
19909 * tree.h (tree_vec_elt_check): Workaround -Wstrict-overflow
19910 false positive during profiledbootstrap.
19911
19912 2015-01-23 Tom de Vries <tom@codesourcery.com>
19913
19914 PR libgomp/64672
19915 * lto-opts.c (lto_write_options): Output non-explicit conservative
19916 -fno-openacc.
19917 * lto-wrapper.c (merge_and_complain): Handle merging -fopenacc.
19918 (append_compiler_options): Pass -fopenacc through.
19919
19920 2015-01-23 Tom de Vries <tom@codesourcery.com>
19921
19922 PR libgomp/64707
19923 * lto-opts.c (lto_write_options): Output non-explicit conservative
19924 -fno-openmp.
19925 * lto-wrapper.c (merge_and_complain): Handle merging -fopenmp.
19926 (append_compiler_options): Pass -fopenmp through.
19927
19928 2015-01-23 Jakub Jelinek <jakub@redhat.com>
19929
19930 PR debug/64511
19931 * dwarf2out.c (struct dw_loc_descr_node): Add chain_next
19932 GTY markup.
19933
19934 * diagnostic-core.h (internal_error_no_backtrace): New prototype.
19935 * diagnostic.def (DK_ICE_NOBT): New kind.
19936 * diagnostic.c (diagnostic_action_after_output): Handle DK_ICE_NOBT
19937 like DK_ICE, but never print backtrace.
19938 (diagnostic_report_diagnostic): Handle DK_ICE_NOBT like DK_ICE.
19939 (internal_error_no_backtrace): New function.
19940 * gcc.c (execute): Use internal_error_no_backtrace instead of
19941 internal_error.
19942
19943 2015-01-22 Jeff Law <law@redhat.com>
19944
19945 PR target/52076
19946 * config/m68k/m68k.md (xorsi3_internal): Twiddle constraints to
19947 improve code density for small immediate to memory case.
19948 (insv): Better handle bitfield assignments when the field is
19949 being set to all ones.
19950 * config/m68k/predicates.md (reg_or_pow2_m1_operand): New
19951 operand predicate.
19952
19953 2015-01-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
19954 Jakub Jelinek <jakub@redhat.com>
19955
19956 PR middle-end/64729
19957 * gcc.c (LINK_SSP_SPEC): Handle -fstack-protector-explicit
19958 for !TARGET_LIBC_PROVIDES_SSP version and
19959 -fstack-protector-{all,strong,explicit} otherwise.
19960 * config/freebsd.h (LINK_SSP_SPEC): Handle
19961 -fstack-protector-{strong,explicit}.
19962
19963 2015-01-22 Jan Hubicka <hubicka@ucw.cz>
19964 H.J. Lu <hongjiu.lu@intel.com>
19965
19966 PR ipa/64694
19967 * ipa-inline.c (inline_small_functions): Fix thinko in maintenance of
19968 heap.
19969
19970 2015-01-22 Wei Mi <wmi@google.com>
19971
19972 PR rtl-optimization/64557
19973 * dse.c (record_store): Call get_addr for mem_addr.
19974 (check_mem_read_rtx): Likewise.
19975
19976 2015-01-22 Eric Botcazou <ebotcazou@adacore.com>
19977
19978 * fold-const.c (const_binop): Add early return for non-tcc_binary.
19979
19980 2015-01-22 Chen Gang <gang.chen.5i5j@gmail.com>
19981
19982 * toplev.c (init_local_tick): Process the failure when read
19983 fails for random_seed.
19984
19985 * ubsan.c (ubsan_type_descriptor): Use 'pretty_print' for
19986 'pretty_name' to avoid memory overflow.
19987
19988 2015-01-22 Richard Biener <rguenther@suse.de>
19989
19990 PR middle-end/64728
19991 * tree-ssa-coalesce.c (coalesce_partitions): Do not perform
19992 abnormal coalescing on undefined SSA names.
19993
19994 2015-22-01 Uros Bizjak <ubizjak@gmail.com>
19995
19996 PR target/64688
19997 PR target/64477
19998 * config/i386/sse.md (vec_set<mode>_0): Use (Yi/r/C) constraints
19999 for alternative 3.
20000 (*vec_dup<mode>): Use (Yi/$r) constraints for alternative 1.
20001
20002 2015-01-22 Trevor Saunders <tsaunders@mozilla.com>
20003
20004 PR middle-end/63325
20005 * fold-const.c (fold_checksum_tree): Don't include value of
20006 expr->decl_with_vis.symtab_node in the checksum.
20007
20008 2015-01-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
20009
20010 * config/s390/s390.md (atomic code attribute): Fix typo "ior" -> "or".
20011
20012 2015-01-22 Max Ostapenko <m.ostapenko@partner.samsung.com>
20013
20014 PR driver/64690
20015 * gcc.c (insert_comments): New function.
20016 (try_generate_repro): Call it.
20017 (append_text): Removed.
20018
20019 2015-01-22 Richard Biener <rguenther@suse.de>
20020
20021 * ipa-inline.c (can_inline_edge_p): Disable inlining of edges
20022 with IL incompatible options. Properly honor user optimize
20023 attributes.
20024
20025 2015-01-21 Segher Boessenkool <segher@kernel.crashing.org>
20026
20027 PR rtl-optimization/64682
20028 * combine.c (distribute_notes): When moving a death note for
20029 a register that is set in the new I2, make sure to put it
20030 before that new I2.
20031
20032 2015-01-21 David Edelsohn <dje.gcc@gmail.com>
20033
20034 * config/rs6000/rs6000.c (rs6000_file_start): Use rs6000_isa_flags
20035 not TARGET_DEFAULT.
20036
20037 2015-01-21 Jakub Jelinek <jakub@redhat.com>
20038
20039 PR debug/64511
20040 * simplify-rtx.c (simplify_relational_operation_1): Don't try to
20041 optimize (eq/ne (and (side_effects) (const_int 0)) (const_int 0))
20042 into (eq/ne (and (not (side_effects)) (const_int 0)) (const_int 0)).
20043
20044 PR sanitizer/64706
20045 * doc/invoke.texi (-fsanitize=vptr): Document.
20046
20047 PR rtl-optimization/62078
20048 * dse.c: Include cfgcleanup.h.
20049 (rest_of_handle_dse): For -fnon-call-exceptions, if DSE removed
20050 anything call purge_all_dead_edges and cleanup_cfg at the end
20051 of the pass.
20052
20053 2015-01-21 Jan Hubicka <hubicka@ucw.cz>
20054
20055 * ipa-utils.c (ipa_merge_profiles): Avoid ICE on mismatch in indirect
20056 edges.
20057
20058 2015-01-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
20059
20060 * gimplify.c (gimplify_function_tree): Check the no_sanitize_thread
20061 decl attribute.
20062
20063 2015-01-21 David Sherwood <david.sherwood@arm.com>
20064 Tejas Belagod <Tejas.Belagod@arm.com>
20065
20066 * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Removed.
20067 * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class): Removed.
20068 * config/aarch64/aarch64-protos.h (aarch64_cannot_change_mode_class):
20069 Removed.
20070
20071 2015-01-21 David Sherwood <david.sherwood@arm.com>
20072 Tejas Belagod <Tejas.Belagod@arm.com>
20073
20074 * config/aarch64/aarch64-protos.h (aarch64_simd_attr_length_rglist)
20075 (aarch64_reverse_mask): New decls.
20076 * config/aarch64/iterators.md (UNSPEC_REV_REGLIST): New enum.
20077 (insn_count): New mode_attr.
20078 * config/aarch64/aarch64-simd.md (vec_store_lanesoi, vec_store_lanesci)
20079 (vec_store_lanesxi, vec_load_lanesoi, vec_load_lanesci)
20080 (vec_load_lanesxi): Made ABI compliant for Big Endian targets.
20081 (aarch64_rev_reglist, aarch64_simd_ld2, aarch64_simd_ld3)
20082 (aarch64_simd_ld4, aarch64_simd_st2, aarch64_simd_st3)
20083 (aarch64_simd_st4): New patterns.
20084 * config/aarch64/aarch64.c (aarch64_simd_attr_length_rglist)
20085 (aarch64_reverse_mask): New functions.
20086
20087 2015-01-21 Richard Sandiford <richard.sandiford@arm.com>
20088
20089 * config/aarch64/aarch64-protos.h (aarch64_simd_disambiguate_copy):
20090 Declare.
20091 * config/aarch64/aarch64.c (aarch64_classify_address): Allow extra
20092 addressing modes for BE.
20093 (aarch64_print_operand): Add 'R' specifier.
20094 (aarch64_simd_disambiguate_copy): Delete.
20095 (aarch64_simd_emit_reg_reg_move): New function.
20096 * config/aarch64/aarch64-simd.md: Use aarch64_simd_emit_reg_reg_move
20097 in define_splits for structural moves.
20098 (mov<mode>): Use less restrictive predicates.
20099 (*aarch64_mov<mode>): Simplify and only allow for LE.
20100 (*aarch64_be_movoi, *aarch64_be_movci, *aarch64_be_movxi): New.
20101
20102 2015-01-21 Alan Hayward <alan.hayward@arm.com>
20103
20104 * rtlanal.c (subreg_get_info): Exit early for simple and common cases.
20105
20106 2015-01-21 Richard Henderson <rth@redhat.com>
20107
20108 PR target/64669
20109 * ccmp.c (used_in_cond_stmt_p): Remove.
20110 (expand_ccmp_expr): Don't use it.
20111
20112 2015-01-21 Nick Clifton <nickc@redhat.com>
20113
20114 * config/rl78/rl78.c (rl78_calculate_death_notes): Look inside
20115 PARALLELs.
20116
20117 2015-01-21 Richard Biener <rguenther@suse.de>
20118
20119 PR middle-end/64313
20120 * tree-core.h (builtin_info, builtin_info_type): Turn from
20121 an object with two arrays into an array of an object with
20122 decl and two flags, implicit_p and declared_p.
20123 * tree.h (builtin_decl_explicit, builtin_decl_implicit,
20124 set_builtin_decl, set_builtin_decl_implicit_p,
20125 builtin_decl_explicit_p, builtin_decl_implicit_p): Adjust.
20126 (set_builtin_decl_declared_p, builtin_decl_declared_p): New functions.
20127 * builtins.c (builtin_info): Adjust.
20128 * gimplify.c (gimplify_addr_expr): References to builtins
20129 that have been declared by the user makes them eligible for
20130 use by the compiler. Call set_builtin_decl_implicit_p on them.
20131
20132 2015-01-20 Jeff Law <law@redhat.com>
20133
20134 PR target/59946
20135 * config/m68k/m68k.md (Comparison expanders and patterns): Do not
20136 allow pc-relative addresses in operand predicates or constraints.
20137
20138 2015-01-21 Bin Cheng <bin.cheng@arm.com>
20139
20140 * config/arm/arm.c (arm_cortex_a53_tune, arm_cortex_a57_tune): Prefer
20141 neon on aarch32 processors for stringops.
20142
20143 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
20144
20145 PR ipa/63576
20146 * ipa-utils.c (ipa_merge_profiles): Merge speculative edges.
20147
20148 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
20149
20150 PR lto/45375
20151 * ipa-inline.c: Include lto-streamer.h
20152 (report_inline_failed_reason): Output source file differences and
20153 flags on optimization/target node mismatch.
20154 (can_inline_edge_p): Consider caller to be the outer inline function;
20155 be less restrictive about matching opimize and optimize_size attributes.
20156 (inline_account_function_p): Break out from ...
20157 (inline_small_functions): ... here.
20158 * ipa-inline-transform.c (clone_inlined_nodes): Use
20159 inline_account_function_p.
20160 (inline_call): Use optimize attribution; use inline_account_function_p.
20161 (inline_transform): Use opt_for_fn.
20162 * ipa-inline.h (inline_account_function_p): Declare.
20163
20164 2015-01-20 Jakub Jelinek <jakub@redhat.com>
20165
20166 PR debug/64663
20167 * dwarf2out.c (decl_piece_node): Don't put bitsize into
20168 mode if bitsize <= 0.
20169 (decl_piece_bitsize, adjust_piece_list, add_var_loc_to_decl,
20170 dw_sra_loc_expr): Use HOST_WIDE_INT instead of int for bit
20171 sizes and positions.
20172
20173 2015-01-20 Chung-Lin Tang <cltang@codesourcery.com>
20174
20175 * config/nios2/nios2.c (nios2_asm_file_end): Implement
20176 TARGET_ASM_FILE_END hook for adding .note.GNU-stack section when
20177 needed.
20178 (TARGET_ASM_FILE_END): Define.
20179
20180 2015-01-20 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
20181
20182 * config/arm/arm-protos.h (enum arm_sched_autopref): New constants.
20183 (struct tune_params): Use the enum.
20184 * arm.c (arm_*_tune): Update.
20185 (arm_option_override): Update.
20186
20187 2015-01-20 Richard Biener <rguenther@suse.de>
20188
20189 PR ipa/64684
20190 * ipa-reference.c (add_static_var): Inline ...
20191 (analyze_function): ... here after splitting out from ...
20192 (is_proper_for_analysis): ... this.
20193
20194 2015-01-20 Matthew Wahab <matthew.wahab@arm.com>
20195
20196 PR target/64149
20197 * config/arm/arm.opt: Remove lra option and arm_lra_flag variablesle.
20198 * config/arm/arm.h (MODE_BASE_REG_CLASS): Remove use of arm_lra_flagag,
20199 replace the conditional with it's true branch.
20200 * config/arm/arm.config (TARGET_LRA_P): Set to hook_bool_void_true.
20201 (arm_lra_p): Remove.
20202
20203 2015-01-20 Eric Botcazou <ebotcazou@adacore.com>
20204
20205 * config/visium/visium.h (LIB_SPEC): Adjust in default case.
20206
20207 2015-01-20 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
20208
20209 * config/tilegx/mul-tables.c: Move symtab.h include after
20210 coretypes.h include.
20211 * config/tilepro/mul-tables.c: Add includes hashtab.h, hash-set.h,
20212 vec.h, machmode.h, tm.h, hard-reg-set.h, input.h, function.h, rtl.h,
20213 flags.h, statistics.h, double-int.h, real.h, fixed-value.h, alias.h,
20214 wide-int.h, inchash.h, tree.h, insn-config.h, expmed.h, dojump.h,
20215 explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.
20216
20217 2015-01-20 Igor Zamyatin <igor.zamyatin@intel.com>
20218
20219 PR bootstrap/64676
20220 Revert:
20221 2015-01-19 Igor Zamyatin <igor.zamyatin@intel.com>
20222
20223 PR rtl-optimization/64081
20224 * loop-iv.c (def_pred_latch_p): New function.
20225 (latch_dominating_def): Allow specific cases with non-single
20226 definitions.
20227 (iv_get_reaching_def): Likewise.
20228 (check_complex_exit_p): New function.
20229 (check_simple_exit): Use check_complex_exit_p to allow certain cases
20230 with exits not executing on any iteration.
20231
20232 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
20233
20234 PR lto/45375
20235 * i386.c (ix86_option_override_internal): Use ix86_tune_cost
20236 to set branch cost.
20237
20238 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
20239
20240 PR lto/45375
20241 * i386.c (gate): Check flag_expensive_optimizations and
20242 optimize_size.
20243 (ix86_option_override_internal): Drop optimize_size condition
20244 on MASK_ACCUMULATE_OUTGOING_ARGS, MASK_VZEROUPPER,
20245 MASK_AVX256_SPLIT_UNALIGNED_LOAD, MASK_AVX256_SPLIT_UNALIGNED_STORE,
20246 MASK_PREFER_AVX128.
20247 (ix86_avx256_split_vector_move_misalign,
20248 ix86_avx256_split_vector_move_misalign): Check optimize_insn_for_speed.
20249 * sse.md (all uses of TARGET_PREFER_AVX128): Add
20250 optimize_insn_for_speed_p check.
20251
20252 2015-01-19 Matthew Fortune <matthew.fortune@imgtec.com>
20253
20254 * config/mips/mips.h (FP_ASM_SPEC): New define.
20255 (ASM_SPEC): Remove floating-point options and use FP_ASM_SPEC
20256 instead.
20257
20258 2015-01-19 Oleg Endo <olegendo@gcc.gnu.org>
20259
20260 PR target/53988
20261 * config/sh/sh-protos.h (sh_find_set_of_reg): Make sure not to return
20262 nullptr for insn when reaching the first insn.
20263 * config/sh/sh.c (sh_unspec_insn_p): Rewrite using subrtx_iterator.
20264 (sh_insn_operands_modified_between_p): Add nullptr check.
20265 (sh_find_extending_set_of_reg): Fix log message. Don't accept
20266 sign extending mem load if the insn contains any UNSPEC or
20267 UNSPEC_VOLATILE.
20268
20269 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
20270
20271 * params.def (inline-unit-growth): Drop to 15%.
20272 * invoke.texi (inline-unit-growth): Document change.
20273
20274 2015-01-19 Martin Liska <mliska@suse.cz>
20275
20276 PR ipa/64668
20277 * ipa-icf-gimple.c (func_checker::compare_operand): Call proper
20278 function for second argument of OBJ_TYPE_REF.
20279
20280 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
20281
20282 PR ipa/64218
20283 * ipa-inline.c (want_inline_function_to_all_callers_p): Fix check
20284 whether function is an alias.
20285
20286 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
20287
20288 * ipa-devirt.c (ipa_devirt): Drop polymorphic call info in hopeless
20289 cases.
20290
20291 2015-01-19 Vladimir Makarov <vmakarov@redhat.com>
20292
20293 PR rtl-optimization/64671
20294 * lra-remat.c (operand_to_remat): Don't consider jump and call
20295 insns.
20296
20297 2015-01-19 David Edelsohn <dje.gcc@gmail.com>
20298
20299 PR target/59828
20300 * config/rs6000/default64.h: Include rs6000-cpus.def.
20301 (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use ISA 2.7 (POWER8).
20302 (TARGET_DEFAULT) [BIG_ENDIAN]: Use POWER4.
20303 * config/rs6000/driver-rs6000.c (detect_processor_aix): Add POWER7
20304 and POWER8.
20305 * config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Always default to
20306 POWER8.
20307 * config/rs6000/rs6000.c (rs6000_file_start): Emit .machine
20308 pseudo-op to specify assembler dialect.
20309
20310 2015-01-19 Martin Liska <mliska@suse.cz>
20311
20312 PR ipa/64664
20313 * ipa-icf.c (sem_item_optimizer::filter_removed_items):
20314 Handle safe potentially removed nodes during filtering.
20315
20316 2015-01-19 Martin Liska <mliska@suse.cz>
20317
20318 * doc/extend.texi (no_icf): Add new attribute description.
20319 * ipa-icf.c (sem_item_optimizer::merge_classes): Handle cases
20320 where the pass attempts to merge a function with no_icf attribute.
20321
20322 2015-01-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
20323
20324 PR target/64532
20325 * doc/md.texi (ARM Options): Document register constraints.
20326
20327 2015-01-19 Jiong Wang <jiong.wang@arm.com>
20328 Andrew Pinski <apinski@cavium.com>
20329
20330 PR target/64304
20331 * config/aarch64/aarch64.md (define_insn "*ashl<mode>3_insn"): Deleted.
20332 (ashl<mode>3): Don't expand if operands[2] is not constant.
20333
20334 2015-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
20335
20336 PR target/64448
20337 * config/aarch64/aarch64-simd.md (aarch64_simd_bsl<mode>_internal):
20338 Match xor-and-xor RTL pattern.
20339
20340 2015-01-19 Igor Zamyatin <igor.zamyatin@intel.com>
20341
20342 PR rtl-optimization/64081
20343 * loop-iv.c (def_pred_latch_p): New function.
20344 (latch_dominating_def): Allow specific cases with non-single
20345 definitions.
20346 (iv_get_reaching_def): Likewise.
20347 (check_complex_exit_p): New function.
20348 (check_simple_exit): Use check_complex_exit_p to allow certain cases
20349 with exits not executing on any iteration.
20350
20351 2015-01-19 Jakub Jelinek <jakub@redhat.com>
20352
20353 * common.opt (fgraphite): Fix a typo.
20354
20355 2015-01-19 Felix Yang <felix.yang@huawei.com>
20356
20357 * config/aarch64/aarch64-simd.md (aarch64_<maxmin_uns>p<mode>): New
20358 pattern.
20359 * config/aarch64/aarch64-simd-builtins.def (smaxp, sminp, umaxp,
20360 uminp, smax_nanp, smin_nanp): New builtins.
20361 * config/aarch64/arm_neon.h (vpmax_s8, vpmax_s16, vpmax_s32,
20362 vpmax_u8, vpmax_u16, vpmax_u32, vpmaxq_s8, vpmaxq_s16, vpmaxq_s32,
20363 vpmaxq_u8, vpmaxq_u16, vpmaxq_u32, vpmax_f32, vpmaxq_f32, vpmaxq_f64,
20364 vpmaxqd_f64, vpmaxs_f32, vpmaxnm_f32, vpmaxnmq_f32, vpmaxnmq_f64,
20365 vpmaxnmqd_f64, vpmaxnms_f32, vpmin_s8, vpmin_s16, vpmin_s32, vpmin_u8,
20366 vpmin_u16, vpmin_u32, vpminq_s8, vpminq_s16, vpminq_s32, vpminq_u8,
20367 vpminq_u16, vpminq_u32, vpmin_f32, vpminq_f32, vpminq_f64, vpminqd_f64,
20368 vpmins_f32, vpminnm_f32, vpminnmq_f32, vpminnmq_f64, vpminnmqd_f64,
20369 vpminnms_f32): Rewrite using builtin functions.
20370
20371 2015-01-19 Thomas Schwinge <thomas@codesourcery.com>
20372
20373 PR libgomp/64625
20374 * omp-low.c (offload_symbol_decl): Remove variable.
20375 (get_offload_symbol_decl): Remove function.
20376 (expand_omp_target): For BUILT_IN_GOMP_TARGET,
20377 BUILT_IN_GOMP_TARGET_DATA, BUILT_IN_GOMP_TARGET_UPDATE pass NULL
20378 instead of &__OFFLOAD_TABLE__, for BUILT_IN_GOACC_DATA_START,
20379 BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL,
20380 BUILT_IN_GOACC_UPDATE don't pass it at all.
20381
20382 2015-01-19 Ilya Enkovich <ilya.enkovich@intel.com>
20383
20384 * tree-sra.c (some_callers_have_mismatched_arguments_p): Allow thunk
20385 callers.
20386
20387 2015-01-19 Ilya Enkovich <ilya.enkovich@intel.com>
20388
20389 * ipa-chkp.c (chkp_produce_thunks): Add early param
20390 to split thunks production into two passes. Keep
20391 'always_inline' function bodies after the first pass.
20392 (pass_data_ipa_chkp_early_produce_thunks): New.
20393 (pass_ipa_chkp_early_produce_thunks): New.
20394 (pass_ipa_chkp_produce_thunks::execute): Adjust to new
20395 chkp_produce_thunks signature.
20396 (make_pass_ipa_chkp_early_produce_thunks): New.
20397 * passes.def (pass_ipa_chkp_early_produce_thunks): New.
20398 (pass_ipa_chkp_produce_thunks): Move after local optimizations.
20399 * tree-pass.h (make_pass_ipa_chkp_early_produce_thunks): New.
20400
20401 2015-01-18 Jan Hubicka <hubicka@ucw.cz>
20402
20403 * cgraph.c (cgraph_node::dump): Dump profile flags.
20404
20405 2015-01-18 Oleg Endo <olegendo@gcc.gnu.org>
20406
20407 PR target/64652
20408 * config/sh/sh.md (udivsi3_i4, divsi3_i4): Make use of sfunc address
20409 reg appear first in the parallel.
20410
20411 2015-01-18 Jan Hubicka <hubicka@ucw.cz>
20412
20413 * ipa-reference.c (set_reference_optimization_summary,
20414 ipa_reference_get_not_written_global): Do nothing if ipa-reference is
20415 disabled.
20416 (ignore_module_statics): New static var.
20417 (propagate_bits): If ipa-reference is disabled, do not look into local
20418 properties.
20419 (analyze_function): Disable analysis when ipa_reference is disabled.
20420 (generate_summary): Do not dump when reference is disabled;
20421 collect vars accessed from functions with ipa-reference disabled.
20422 (get_read_write_all_from_node): When ipa-reference is disabled, use the
20423 node flags.
20424 (gate): Enable for LTO.
20425 (ignore_edge_p): New function.
20426 (propagate): Skip functions w/o ipa-reference analysis.
20427 * optc-save-gen.awk: Handle optimize_debug correctly.
20428 * opth-gen.awk: Likewise.
20429 * common.opt (fauto-inc-dec, fdelete-dead-exceptions, ffunction-cse,
20430 fgraphite, fstrict-volatile-bitfields, fira-algorithm, fira-region,
20431 fira-share-save-slots, fira-share-spill-slots,
20432 fmodulo-sched-allow-regmoves, fpartial-inlining,
20433 sched-stalled-insns, fsched-stalled-insns-dep, fstrict-overflow,
20434 ftracer, ftree-parallelize-loops, fassociative-math,
20435 freciprocal-math, fvect-cost-model, fsimd-cost-model): Mark as
20436 Optimization
20437 (fauto-profile, fcommon, fdata-sections, fipa-icf-variables,
20438 ftoplevel-reorder, funit-at-a-time, fwhole-program): Do not mark as
20439 Optimization.
20440 * ipa-icf.c (gate, sem_item_optimizer::filter_removed_items):
20441 Fix for IPA.
20442
20443 2015-01-18 Jan Hubicka <hubicka@ucw.cz>
20444
20445 PR ipa/64378
20446 * ipa-prop.c (try_make_edge_direct_virtual_call): Clear speculative
20447 flag correctly.
20448 * ipa-cp.c (ipa_get_indirect_edge_target_1): Handle speculation.
20449
20450 2015-01-18 Sandra Loosemore <sandra@codesourcery.com>
20451
20452 * doc/invoke.texi ([-funroll-loops], [-funroll-all-loops]):
20453 Remove duplicate option listings.
20454
20455 2015-01-18 Felix Yang <felix.yang@huawei.com>
20456
20457 * auto-profile.c (afdo_find_equiv_class): Remove unnecessary test.
20458 (autofdo_source_profile::get_callsite_total_count,
20459 function_instance::get_function_instance_by_decl,
20460 string_table::get_index, string_table::get_index_by_decl,
20461 afdo_vpt_for_early_inline, afdo_callsite_hot_enough_for_early_inline):
20462 Fix comment typos. Reformatting and minor code rearrangement.
20463
20464 2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
20465
20466 * config/rs6000/rs6000.md (probe_stack): Delete.
20467 (probe_stack_address): New.
20468
20469 2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
20470
20471 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Use TARGET_32BIT
20472 to test for 32-bit ABIs, not !TARGET_POWERPC64.
20473
20474 2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
20475
20476 * config/rs6000/rs6000.c (rs6000_parallel_return): New function.
20477 (rs6000_function_value): Use it. Handle SCmode and TCmode as well,
20478 for TARGET_32BIT && TARGET_POWERPC64. Fix another BITS_PER_WORD
20479 snafu.
20480 (rs6000_libcall_value): Use the new function.
20481
20482 2015-01-17 Sandra Loosemore <sandra@codesourcery.com>
20483
20484 * doc/invoke.texi ([-ftracer]): Remove duplicate option listing.
20485
20486 2015-01-17 Eric Botcazou <ebotcazou@adacore.com>
20487
20488 * reorg.c (fill_simple_delay_slots): If TARGET_FLAGS_REGNUM is valid,
20489 implement a more precise life analysis for it during backward scan.
20490
20491 2015-01-17 Jan Kratochvil <jan.kratochvil@redhat.com>
20492
20493 * dwarf2out.c (gen_producer_string): Ignore also OPT_fpreprocessed.
20494
20495 2015-01-17 Bernd Schmidt <bernds@codesourcery.com>
20496
20497 PR rtl-optimization/52773
20498 * calls.c (emit_library_call_value): When pushing arguments use
20499 stack_pointer_rtx rather than virtual_outgoing_args_rtx in
20500 CALL_INSN_FUNCTION_USAGE. Only emit one of use of the magic
20501 stack pointer reference into CALL_INSN_FUNCTION_USAGE.
20502
20503 2015-01-17 Jeff Law <law@redhat.com>
20504
20505 PR rtl-optimization/32790
20506 * reginfo.c (reg_scan_mark_refs): Look for ZERO_EXTRACT,
20507 not ZERO_EXTEND in SET_DESTs.
20508
20509 2015-01-17 Alan Modra <amodra@gmail.com>
20510
20511 * cprop.c (do_local_cprop): Revert last change.
20512
20513 2015-01-16 DJ Delorie <dj@redhat.com>
20514 Nick Clifton <nickc@redhat.com>
20515
20516 * config/rl78/rl78-real.md (addqi3_real): Allow volatiles.
20517 (addhi3_real): Likewise. Fix [HL+0] syntax.
20518 (subqi3_real): Likewise.
20519 (subhi3_real): Likewise.
20520 (cbranchqi4_real): Likewise. Allow saddr,#imm.
20521 (cbranchhi4_real): Likewise.
20522 (cbranchhi4_real_inverted): Likewise.
20523 (cbranchsi4_real_lt): Likewise.
20524 (cbranchsi4_real_ge): Likewise.
20525 (cbranchsi4_real_ge): Likewise.
20526 * config/rl78/rl78-virt.md (add<mode>3_virt): Likewise.
20527 (sub<mode>3_virt): Likewise.
20528 (cbranchqi4_virt): Likewise.
20529 (cbranchhi4_virt): Likewise.
20530 * config/rl78/rl78.c (rl78_print_operand_1): 'p' modifier means
20531 always use '[reg+imm]' even when imm is zero.
20532 * config/rl78/predicates.md (rl78_volatile_memory_operand): New.
20533 (rl78_general_operand): New.
20534 (rl78_nonimmediate_operand): New.
20535 (rl78_nonfar_operand): Use them.
20536 (rl78_nonfar_nonimm_operand): Likewise.
20537 (rl78_stack_based_mem): Fix.
20538 * config/rl78/constraints.md (Ibqi): New.
20539 (IBqi): New.
20540 (Wsa): New.
20541 (Wsf): New.
20542 (Cs1): Fix.
20543 * config/rl78/rl78-expand.md (andqi3): Accept volatiles.
20544 (iorqi3): Likewise.
20545 (xorqi3): Likewise.
20546 * config/rl78/rl78-protos.h (rl78_sfr_p): New.
20547
20548 * config/rl78/constrains (Qs8): New constraint.
20549 * config/rl78/rl78.c (rl78_flags_already_set): New function.
20550 * config/rl78/rl78-protos.h (rl78_flags_already_set): New prototype.
20551 * config/rl78/rl78-real.md (update_Z): New attribute.
20552 Update patterns to set it.
20553 (cbranchqi4_real): Call rl78_flags_already_set() to determine if a
20554 shorter compare and branch sequence can be used.
20555 (cbranchhi4_real): Likewise.
20556 (cbranchhi4_real_inverted): Likewise.
20557
20558 * config/rl78/predicates.md (uword_operand): Allow symbol_refs.
20559 * config/rl78/rl78-c.c (rl78_register_pragmas): Register __near
20560 address space.
20561 * config/rl78/rl78.c (rl78_get_name_encoding): New.
20562 (rl78_option_override): Allow -mes0 only if C.
20563 (characterize_address): Support subregs of symbol_refs.
20564 (rl78_addr_space_address_mode): Move. Add __near.
20565 (rl78_far_p): Likewise.
20566 (rl78_addr_space_pointer_mode): Likewise.
20567 (rl78_as_legitimate_address): Likewise.
20568 (rl78_addr_space_subset_p): Likewise.
20569 (rl78_addr_space_convert): Likewise.
20570 (rl78_print_operand_1): Support 16-bit addressing of 32-bit
20571 symbols with -mes0.
20572 (transcode_memory_rtx): Don't copy ES if -mes0. Allow symbol[BC]
20573 addressing.
20574 (rl78_alloc_physical_registers_op1): Change logic to prefer
20575 symbol[BC] addressing.
20576 (frodata_section): New.
20577 (rl78_asm_init_sections): Initialize it.
20578 (rl78_select_section): Put __far readonly symbols in .frodata.
20579 (rl78_make_type_far): New.
20580 (rl78_insert_attributes): Force all readonly symbols to be
20581 __far when -mes0.
20582 (rl78_asm_out_integer): New.
20583 * config/rl78/rl78.h (ADDR_SPACE_NEAR): New.
20584 * config/rl78/rl78.opt (-mes0): New.
20585
20586 * config/rl78/rl78.h (ASM_OUTPUT_LABELREF): New.
20587 (ASM_OUTPUT_ALIGNED_DECL_COMMON): New.
20588 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
20589 * config/rl78/rl78-protos.h (rl78_output_labelref): New.
20590 (rl78_saddr_p): New.
20591 (rl78_output_aligned_common): New.
20592 * config/rl78/rl78.c (rl78_output_symbol_ref): Strip encodings.
20593 (rl78_handle_saddr_attribute): New.
20594 (rl78_handle_naked_attribute): New.
20595 (rl78_attribute_table): Add saddr.
20596 (rl78_print_operand_1): Don't print '!' on saddr operands.
20597 (rl78_print_operand_1): Strip encodings.
20598 (rl78_sfr_p): New.
20599 (rl78_strip_name_encoding): New.
20600 (rl78_attrlist_to_encoding): New.
20601 (rl78_encode_section_info): New.
20602 (rl78_asm_init_sections): New.
20603 (rl78_select_section): New.
20604 (rl78_output_labelref): New.
20605 (rl78_output_aligned_common): New.
20606 (rl78_asm_out_integer): New.
20607 (rl78_asm_ctor_dtor): New.
20608 (rl78_asm_constructor): New.
20609 (rl78_asm_destructor): New.
20610
20611 * config/rl78/rl78-real.md (movqi_es): Rename to movqi_to_es.
20612 * config/rl78/rl78.c (rl78_expand_epilogue): Update.
20613 (transcode_memory_rtx): Update.
20614 (rl78_expand_epilogue): Use A_REG instead of 0.
20615
20616 2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
20617
20618 * config/arm/arm-protos.h (struct tune_params): New field
20619 sched_autopref_queue_depth.
20620 * config/arm/arm.c (sched-int.h): Include header.
20621 (arm_first_cycle_multipass_dfa_lookahead_guard,)
20622 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): Define hook.
20623 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,)
20624 (arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,)
20625 (arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,)
20626 (arm_cortex_a53_tune, arm_cortex_a57_tune, arm_xgene1_tune,)
20627 (arm_cortex_a5_tune, arm_cortex_a9_tune, arm_cortex_a12_tune,)
20628 (arm_v7m_tune, arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune):
20629 Specify sched_autopref_queue_depth value. Enabled for A15 and A57.
20630 * config/arm/t-arm (arm.o): Update.
20631 * haifa-sched.c (update_insn_after_change): Update.
20632 (rank_for_schedule): Use auto-prefetcher model, if requested.
20633 (autopref_multipass_init): New static function.
20634 (autopref_rank_for_schedule): New rank_for_schedule heuristic.
20635 (autopref_multipass_dfa_lookahead_guard_started_dump_p): New static
20636 variable for debug dumps.
20637 (autopref_multipass_dfa_lookahead_guard_1): New static helper function.
20638 (autopref_multipass_dfa_lookahead_guard): New global function that
20639 implements TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD hook.
20640 (init_h_i_d): Update.
20641 * params.def (PARAM_SCHED_AUTOPREF_QUEUE_DEPTH): New tuning knob.
20642 * sched-int.h (enum autopref_multipass_data_status): New const enum.
20643 (autopref_multipass_data_): Structure for auto-prefetcher data.
20644 (autopref_multipass_data_def, autopref_multipass_data_t): New typedefs.
20645 (struct _haifa_insn_data:autopref_multipass_data): New field.
20646 (INSN_AUTOPREF_MULTIPASS_DATA): New access macro.
20647 (autopref_multipass_dfa_lookahead_guard): Declare.
20648
20649 2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
20650
20651 * rtlanal.c (get_base_term): Handle SCRATCH.
20652
20653 2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
20654
20655 * config/aarch64/aarch64.c
20656 (aarch64_sched_first_cycle_multipass_dfa_lookahead): Implement hook.
20657 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
20658 * config/arm/arm.c
20659 (arm_first_cycle_multipass_dfa_lookahead): Implement hook.
20660 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
20661
20662 2015-01-17 Alan Modra <amodra@gmail.com>
20663
20664 * cprop.c (do_local_cprop): Disallow replacement of fixed
20665 hard registers.
20666
20667 2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
20668
20669 PR target/62066
20670 * config/arm/arm-builtins.c (arm_expand_neon_args): Call va_end before
20671 early return 0.
20672
20673 2015-01-16 Bernd Edlinger <bernd.edlinger@hotmail.de>
20674
20675 * sanitizer.def (BUILT_IN_TSAN_VPTR_UPDATE): Fixed parameters.
20676 * tsan.c (instrument_expr): Fixed parameters of __tsan_vptr_update.
20677
20678 2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
20679
20680 * config/arm/arm.md: Move comment about splitting Thumb1 patterns to...
20681 * config/arm/thumb1.md: ... Here.
20682
20683 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
20684
20685 * config/rs6000/rs6000.c (rs6000_scalar_mode_supported_p): Disallow
20686 TImode for TARGET_32BIT.
20687
20688 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
20689
20690 * config/rs6000/rs6000.c (TARGET_LIBGCC_CMP_RETURN_MODE,
20691 TARGET_LIBGCC_SHIFT_COUNT_MODE, TARGET_UNWIND_WORD_MODE): Implement
20692 as ...
20693 (rs6000_abi_word_mode): New function.
20694
20695 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
20696
20697 * config/rs6000/rs6000.c (rs6000_va_start): Use MIN_UNITS_PER_WORD
20698 instead of UNITS_PER_WORD to describe the size of stack slots.
20699
20700 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
20701
20702 * config/rs6000/rs6000.c (TARGET_PROMOTE_FUNCTION_MODE): Implement
20703 as rs6000_promote_function_mode. Move comment to there.
20704 (rs6000_promote_function_mode): New function.
20705
20706 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
20707
20708 * config/rs6000/rs6000.h (PROMOTE_MODE): Correct test for when -m32
20709 -mpowerpc64 is active.
20710
20711 2015-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
20712
20713 PR middle-end/64353
20714 * tree-cfg.c (pass_data_fixup_cfg): Update SSA for
20715 virtuals on start.
20716
20717 2015-01-16 James Greenhalgh <james.greenhalgh@arm.com>
20718
20719 * config/arm/cortex-a57.md: Remove duplicate of file accidentally
20720 introduced in revision 219724.
20721
20722 2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
20723 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
20724
20725 PR target/64263
20726 * config/aarch64/aarch64.md (*movsi_aarch64): Don't split if the
20727 destination is not a GP reg.
20728 (*movdi_aarch64): Likewise.
20729
20730 2015-01-16 David Edelsohn <dje.gcc@gmail.com>
20731
20732 PR target/64623
20733 * config/rs6000/default64.h: Revert ISA change.
20734
20735 2015-01-16 Richard Biener <rguenther@suse.de>
20736
20737 PR middle-end/64614
20738 * tree-ssa-uninit.c: Include tree-cfg.h.
20739 (MAX_SWITCH_CASES): New define.
20740 (convert_control_dep_chain_into_preds): Handle switch statements.
20741 (is_pred_expr_subset_of): Handle x == CST vs. (x & CST) != 0.
20742 (normalize_one_pred_1): Do not split bit-manipulations.
20743 Record (x & CST).
20744
20745 2015-01-16 Richard Biener <rguenther@suse.de>
20746
20747 PR tree-optimization/64568
20748 * tree-ssa-forwprop.c (pass_forwprop::execute): Guard
20749 complex load rewriting for TARGET_MEM_REFs.
20750
20751 2015-01-16 Uros Bizjak <ubizjak@gmail.com>
20752
20753 * builtins.c (expand_builtin_acc_on_device): Check target for NULL.
20754
20755 2015-01-16 Matthew Wahab <matthew.wahab@arm.com>
20756
20757 PR target/64149
20758 * config/aarch64/aarch64.opt: Remove lra option and aarch64_lra_flag
20759 variable.
20760 * config/aarch64/aarch64.c (TARGET_LRA_P): Set to hook_bool_void_true.
20761 (aarch64_lra_p): Remove.
20762
20763 2015-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
20764
20765 PR target/64363
20766 * ipa-chkp.h (chkp_instrumentable_p): New.
20767 * ipa-chkp.c: Include tree-inline.h.
20768 (chkp_instrumentable_p): New.
20769 (chkp_maybe_create_clone): Use chkp_instrumentable_p.
20770 Fix processing of not instrumentable functions.
20771 (chkp_versioning): Use chkp_instrumentable_p. Warn about
20772 not instrumentable functions.
20773 * tree-chkp.c (chkp_add_bounds_to_call_stmt): Use
20774 chkp_instrumentable_p.
20775 * tree-inline.h (copy_forbidden): New.
20776 * tree-inline.c (copy_forbidden): Not static anymore.
20777
20778 2015-01-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
20779
20780 * optc-save-gen.awk (cl_target_option_print_diff): Mark indent,
20781 ptr1, ptr2 unused.
20782
20783 2015-01-16 Robert Suchanek <robert.suchanek@imgtec.com>
20784
20785 * lra-constraints.c (curr_insn_transform): Change a reload pseudo of
20786 type OP_OUT to OP_INOUT.
20787
20788 2015-01-16 Robert Suchanek <robert.suchanek@imgtec.com>
20789
20790 * simplify-rtx.c (simplify_replace_fn_rtx): Simplify (lo_sum
20791 (high x) y) to y if x and y have the same base.
20792
20793 2015-01-16 James Greenhalgh <james.greenhalgh@arm.com>
20794
20795 * config/arm/cortex-a57.md: New.
20796 * config/aarch64/aarch64.md: Include it.
20797 * config/aarch64/aarch64-cores.def (cortex-a57): Tune for it.
20798 * config/aarch64/aarch64-tune.md: Regenerate.
20799
20800 2015-01-16 Zhenqiang Chen <zhenqiang.chen@arm.com>
20801
20802 PR target/64015
20803 * ccmp.c (expand_ccmp_next): New function.
20804 (expand_ccmp_expr_1, expand_ccmp_expr): Handle operand insn sequence
20805 and compare insn sequence.
20806 * config/aarch64/aarch64.c (aarch64_code_to_ccmode,
20807 aarch64_gen_ccmp_first, aarch64_gen_ccmp_next): New functions.
20808 (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): New MICRO.
20809 * config/aarch64/aarch64.md (*ccmp_and): Changed to ccmp_and<mode>.
20810 (*ccmp_ior): Changed to ccmp_ior<mode>.
20811 (cmp<mode>): New pattern.
20812 * doc/tm.texi (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): Update
20813 parameters.
20814 * target.def (gen_ccmp_first, gen_ccmp_next): Update parameters.
20815
20816 2015-01-16 Ilya Tocar <ilya.tocar@intel.com>
20817
20818 * config/i386/avx2intrin.h (_mm256_bslli_epi128,
20819 _mm256_bsrli_epi128): New.
20820 * config/i386/emmintrin.h (_mm_bsrli_si128, _mm_bslli_si128): Ditto.
20821
20822 2015-01-15 Jiong Wang <jiong.wang@arm.com>
20823
20824 * expmed.c (store_bit_field_using_insv): Improve warning message.
20825 Use %wu instead of HOST_WIDE_INT_PRINT_UNSIGNED.
20826
20827 2015-01-15 Jiong Wang <jiong.wang@arm.com>
20828
20829 PR rtl-optimization/64011
20830 * expmed.c (store_bit_field_using_insv): Warn and truncate bitsize when
20831 there is partial overflow.
20832
20833 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
20834
20835 * config/nds32/nds32-protos.h (nds32_expand_epilogue): Change
20836 prototype.
20837 (nds32_expand_epilogue_v3pop): Likewise.
20838 * config/nds32/nds32.md (sibcall): Define this for sibling call
20839 optimization.
20840 (sibcall_register): Likewise.
20841 (sibcall_immediate): Likewise.
20842 (sibcall_value): Likewise.
20843 (sibcall_value_register): Likewise.
20844 (sibcall_value_immediate): Likewise.
20845 (sibcall_epilogue): Likewise.
20846 (epilogue): Pass false to indicate this is not a sibcall epilogue.
20847 * config/nds32/nds32.c (nds32_expand_epilogue): Consider sibcall case.
20848 (nds32_expand_epilogue_v3pop): Likewise.
20849
20850 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
20851
20852 * config/nds32/nds32-protos.h (nds32_can_use_return_insn): New.
20853 * config/nds32/nds32.md (unspec_volatile_func_return): Remove.
20854 (return_internal): New.
20855 (return): Define this named pattern.
20856 (simple_return): Define this named pattern.
20857 * config/nds32/nds32.c (nds32_expand_epilogue): Emit return_internal
20858 pattern instead of unspec_volatile_func_return.
20859 (nds32_expand_epilogue_v3pop): Likewise.
20860 (nds32_can_use_return_insn): New function.
20861
20862 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
20863
20864 * config/nds32/constants.md (UNSPEC_VOLATILE_POP25_RETURN): New.
20865 * config/nds32/nds32.md (pop25return): New.
20866 * config/nds32/nds32.c (nds32_expand_epilogue_v3pop): Emit
20867 pop25return pattern.
20868
20869 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
20870
20871 * doc/invoke.texi (NDS32 Options): Remove -mforce-fp-as-gp,
20872 -mforbid-fp-as-gp, and -mex9 options.
20873
20874 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
20875
20876 * doc/invoke.texi (NDS32 Options): Add -mcmodel= option and
20877 remove -mgp-direct option.
20878
20879 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
20880
20881 * doc/invoke.texi (--param early-inlining-insns): Update default value.
20882 * params.def (PARAM_EARLY_INLINING_INSNS): Set to 14.
20883
20884 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
20885
20886 * ipa-inline.c (inline_small_functions): Work around hints
20887 cache issue.
20888
20889 2015-01-15 Sandra Loosemore <sandra@codesourcery.com>
20890
20891 PR target/59710
20892 * doc/invoke.texi (Option Summary): Document new Nios II
20893 -mgpopt= syntax.
20894 (Nios II Options): Likewise.
20895 * config/nios2/nios2.opt: Add -mgpopt= option support.
20896 Modify existing -mgpopt and -mno-gpopt options to be aliases.
20897 * config/nios2/nios2-opts.h (enum nios2_gpopt_type): New.
20898 * config/nios2/nios2.c (nios2_option_override): Adjust
20899 -mgpopt defaulting.
20900 (nios2_in_small_data_p): Return true for explicit small data
20901 sections even with -G0.
20902 (nios2_symbol_ref_in_small_data_p): Adjust to handle new -mgpopt=
20903 option choices.
20904
20905 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
20906
20907 PR ipa/64612
20908 * ipa-inline-transform.c (can_remove_node_now_p): Fix handling
20909 of comdat locals.
20910 (inline_call): Fix removal of aliases.
20911
20912 2015-01-15 Jakub Jelinek <jakub@redhat.com>
20913
20914 * flag-types.h (enum sanitize_code): Add SANITIZE_VPTR,
20915 include SANITIZE_VPTR in SANITIZE_UNDEFINED.
20916 * opts.c (common_handle_option): Add -fsanitize=vptr.
20917 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS,
20918 BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS_ABORT): New.
20919 * ubsan.h (enum ubsan_null_ckind): Add UBSAN_DOWNCAST_POINTER,
20920 UBSAN_DOWNCAST_REFERENCE, UBSAN_UPCAST and UBSAN_CAST_TO_VBASE.
20921 (ubsan_expand_vptr_ifn): New prototype.
20922 * internal-fn.c (expand_ANNOTATE, expand_GOMP_SIMD_LANE,
20923 expand_GOMP_SIMD_VF, expand_GOMP_SIMD_LAST_LANE, expand_UBSAN_NULL,
20924 expand_UBSAN_BOUNDS, expand_UBSAN_OBJECT_SIZE, expand_ASAN_CHECK,
20925 expand_LOOP_VECTORIZED): Make argument nameless, remove
20926 ATTRIBUTE_UNUSED.
20927 (expand_UBSAN_VPTR): New function.
20928 * internal-fn.def (UBSAN_NULL, ASAN_CHECK): Use R instead of W
20929 in fn spec.
20930 (UBSAN_VPTR): New internal function.
20931 * sanopt.c (tree_map_traits): Renamed to ...
20932 (sanopt_tree_map_traits): ... this.
20933 (sanopt_tree_triplet, sanopt_tree_triplet_map_traits): New classes.
20934 (sanopt_ctx): Adjust asan_check_map type for tree_map_traits
20935 to sanopt_tree_map_traits renaming. Add vptr_check_map field.
20936 (maybe_optimize_ubsan_vptr_ifn): New function.
20937 (sanopt_optimize_walker): Handle IFN_UBSAN_VPTR.
20938 (pass_sanopt::execute): Likewise. Call sanopt_optimize even for
20939 -fsanitize=vptr.
20940 * tree-ssa-alias.c (call_may_clobber_ref_p_1): Handle certain
20941 internal calls like pure functions for aliasing, even when they
20942 have other side-effects that prevent making them ECF_PURE.
20943 * ubsan.c (ubsan_vptr_type_cache_decl): New variable.
20944 (ubsan_expand_vptr_ifn): New function.
20945
20946 2015-01-15 Vladimir Makarov <vmakarov@redhat.com>
20947
20948 PR rtl-optimization/64110
20949 * stmt.c (parse_output_constraint): Process '^' and '$'.
20950 (parse_input_constraint): Ditto.
20951 * lra-constraints.c (process_alt_operands): Process the new
20952 constraints.
20953 * ira-costs.c (record_reg_classes): Process the new constraint
20954 '^'.
20955 * genoutput.c (indep_constraints): Add '^' and '$'.
20956 * config/i386/sse.md (*vec_dup<mode>): Use '$' instead of '!'.
20957 * doc/md.texi: Add description of the new constraints.
20958
20959 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
20960 Bernd Schmidt <bernds@codesourcery.com>
20961 Cesar Philippidis <cesar@codesourcery.com>
20962 James Norris <jnorris@codesourcery.com>
20963 Tom de Vries <tom@codesourcery.com>
20964 Ilmir Usmanov <i.usmanov@samsung.com>
20965 Dmitry Bocharnikov <dmitry.b@samsung.com>
20966 Evgeny Gavrin <e.gavrin@samsung.com>
20967 Jakub Jelinek <jakub@redhat.com>
20968
20969 * builtin-types.def (BT_FN_VOID_INT_INT_VAR)
20970 (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
20971 (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
20972 New function types.
20973 * builtins.c: Include "gomp-constants.h".
20974 (expand_builtin_acc_on_device): New function.
20975 (expand_builtin, is_inexpensive_builtin): Handle
20976 BUILT_IN_ACC_ON_DEVICE.
20977 * builtins.def (DEF_GOACC_BUILTIN, DEF_GOACC_BUILTIN_COMPILER):
20978 New macros.
20979 * cgraph.c (cgraph_node::create): Consider flag_openacc next to
20980 flag_openmp.
20981 * config.gcc <nvptx-*> (tm_file): Add nvptx/offload.h.
20982 <*-intelmic-* | *-intelmicemul-*> (tm_file): Add
20983 i386/intelmic-offload.h.
20984 * gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): For -fopenacc, link
20985 to libgomp and its dependencies.
20986 * config/arc/arc.h (LINK_COMMAND_SPEC): Likewise.
20987 * config/darwin.h (LINK_COMMAND_SPEC_A): Likewise.
20988 * config/i386/mingw32.h (GOMP_SELF_SPECS): Likewise.
20989 * config/ia64/hpux.h (LIB_SPEC): Likewise.
20990 * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
20991 * config/pa/pa64-hpux.h (LIB_SPEC): Likewise.
20992 * doc/generic.texi: Update for OpenACC changes.
20993 * doc/gimple.texi: Likewise.
20994 * doc/invoke.texi: Likewise.
20995 * doc/sourcebuild.texi: Likewise.
20996 * gimple-pretty-print.c (dump_gimple_omp_for): Handle
20997 GF_OMP_FOR_KIND_OACC_LOOP.
20998 (dump_gimple_omp_target): Handle GF_OMP_TARGET_KIND_OACC_KERNELS,
20999 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_DATA,
21000 GF_OMP_TARGET_KIND_OACC_UPDATE,
21001 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
21002 Dump more data.
21003 * gimple.c: Update comments for OpenACC changes.
21004 * gimple.def: Likewise.
21005 * gimple.h: Likewise.
21006 (enum gf_mask): Add GF_OMP_FOR_KIND_OACC_LOOP,
21007 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
21008 GF_OMP_TARGET_KIND_OACC_DATA, GF_OMP_TARGET_KIND_OACC_UPDATE,
21009 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
21010 (gimple_omp_for_cond, gimple_omp_for_set_cond): Sort in the
21011 appropriate place.
21012 (is_gimple_omp_oacc, is_gimple_omp_offloaded): New functions.
21013 * gimplify.c: Include "gomp-constants.h".
21014 Update comments for OpenACC changes.
21015 (is_gimple_stmt): Handle OACC_PARALLEL, OACC_KERNELS, OACC_DATA,
21016 OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE, OACC_ENTER_DATA,
21017 OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
21018 (gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses): Handle
21019 OMP_CLAUSE__CACHE_, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
21020 OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
21021 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER,
21022 OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
21023 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_INDEPENDENT, OMP_CLAUSE_AUTO,
21024 OMP_CLAUSE_SEQ.
21025 (gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses): Use
21026 GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
21027 OMP_CLAUSE_SET_MAP_KIND.
21028 (gimplify_oacc_cache): New function.
21029 (gimplify_omp_for): Handle OACC_LOOP.
21030 (gimplify_omp_workshare): Handle OACC_KERNELS, OACC_PARALLEL,
21031 OACC_DATA.
21032 (gimplify_omp_target_update): Handle OACC_ENTER_DATA,
21033 OACC_EXIT_DATA, OACC_UPDATE.
21034 (gimplify_expr): Handle OACC_LOOP, OACC_CACHE, OACC_HOST_DATA,
21035 OACC_DECLARE, OACC_KERNELS, OACC_PARALLEL, OACC_DATA,
21036 OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE.
21037 (gimplify_body): Consider flag_openacc next to flag_openmp.
21038 * lto-streamer-out.c: Include "gomp-constants.h".
21039 * omp-builtins.def (BUILT_IN_ACC_GET_DEVICE_TYPE)
21040 (BUILT_IN_GOACC_DATA_START, BUILT_IN_GOACC_DATA_END)
21041 (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL)
21042 (BUILT_IN_GOACC_UPDATE, BUILT_IN_GOACC_WAIT)
21043 (BUILT_IN_GOACC_GET_THREAD_NUM, BUILT_IN_GOACC_GET_NUM_THREADS)
21044 (BUILT_IN_ACC_ON_DEVICE): New builtins.
21045 * omp-low.c: Include "gomp-constants.h".
21046 Update comments for OpenACC changes.
21047 (struct omp_context): Add reduction_map, gwv_below, gwv_this
21048 members.
21049 (extract_omp_for_data, use_pointer_for_field, install_var_field)
21050 (new_omp_context, delete_omp_context, scan_sharing_clauses)
21051 (create_omp_child_function, scan_omp_for, scan_omp_target)
21052 (check_omp_nesting_restrictions, lower_reduction_clauses)
21053 (build_omp_regions_1, diagnose_sb_0, make_gimple_omp_edges):
21054 Update for OpenACC changes.
21055 (scan_sharing_clauses): Handle OMP_CLAUSE_NUM_GANGS:
21056 OMP_CLAUSE_NUM_WORKERS: OMP_CLAUSE_VECTOR_LENGTH,
21057 OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT, OMP_CLAUSE_GANG,
21058 OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
21059 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_INDEPENDENT,
21060 OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ. Use GOMP_MAP_* instead of
21061 OMP_CLAUSE_MAP_*.
21062 (expand_omp_for_static_nochunk, expand_omp_for_static_chunk):
21063 Handle GF_OMP_FOR_KIND_OACC_LOOP.
21064 (expand_omp_target, lower_omp_target): Handle
21065 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
21066 GF_OMP_TARGET_KIND_OACC_UPDATE,
21067 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA,
21068 GF_OMP_TARGET_KIND_OACC_DATA.
21069 (pass_expand_omp::execute, execute_lower_omp)
21070 (pass_diagnose_omp_blocks::gate): Consider flag_openacc next to
21071 flag_openmp.
21072 (offload_symbol_decl): New variable.
21073 (oacc_get_reduction_array_id, oacc_max_threads)
21074 (get_offload_symbol_decl, get_base_type, lookup_oacc_reduction)
21075 (maybe_lookup_oacc_reduction, enclosing_target_ctx)
21076 (oacc_loop_or_target_p, oacc_lower_reduction_var_helper)
21077 (oacc_gimple_assign, oacc_initialize_reduction_data)
21078 (oacc_finalize_reduction_data, oacc_process_reduction_data): New
21079 functions.
21080 (is_targetreg_ctx): Remove function.
21081 * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE__CACHE_,
21082 OMP_CLAUSE_DEVICE_RESIDENT, OMP_CLAUSE_USE_DEVICE,
21083 OMP_CLAUSE_GANG, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
21084 OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT,
21085 OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_NUM_GANGS,
21086 OMP_CLAUSE_NUM_WORKERS, OMP_CLAUSE_VECTOR_LENGTH.
21087 * tree.c (omp_clause_code_name, walk_tree_1): Update accordingly.
21088 * tree.h (OMP_CLAUSE_GANG_EXPR, OMP_CLAUSE_GANG_STATIC_EXPR)
21089 (OMP_CLAUSE_ASYNC_EXPR, OMP_CLAUSE_WAIT_EXPR)
21090 (OMP_CLAUSE_VECTOR_EXPR, OMP_CLAUSE_WORKER_EXPR)
21091 (OMP_CLAUSE_NUM_GANGS_EXPR, OMP_CLAUSE_NUM_WORKERS_EXPR)
21092 (OMP_CLAUSE_VECTOR_LENGTH_EXPR): New macros.
21093 * tree-core.h: Update comments for OpenACC changes.
21094 (enum omp_clause_map_kind): Remove.
21095 (struct tree_omp_clause): Change type of map_kind member from enum
21096 omp_clause_map_kind to unsigned char.
21097 * tree-inline.c: Update comments for OpenACC changes.
21098 * tree-nested.c: Likewise. Include "gomp-constants.h".
21099 (convert_nonlocal_reference_stmt, convert_local_reference_stmt)
21100 (convert_tramp_reference_stmt, convert_gimple_call): Update for
21101 OpenACC changes. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
21102 OMP_CLAUSE_SET_MAP_KIND.
21103 * tree-pretty-print.c: Include "gomp-constants.h".
21104 (dump_omp_clause): Handle OMP_CLAUSE_DEVICE_RESIDENT,
21105 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_GANG,
21106 OMP_CLAUSE_ASYNC, OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ,
21107 OMP_CLAUSE_WAIT, OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR,
21108 OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
21109 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_INDEPENDENT. Use GOMP_MAP_*
21110 instead of OMP_CLAUSE_MAP_*.
21111 (dump_generic_node): Handle OACC_PARALLEL, OACC_KERNELS,
21112 OACC_DATA, OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE,
21113 OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
21114 * tree-streamer-in.c: Include "gomp-constants.h".
21115 (unpack_ts_omp_clause_value_fields) Use GOMP_MAP_* instead of
21116 OMP_CLAUSE_MAP_*. Use OMP_CLAUSE_SET_MAP_KIND.
21117 * tree-streamer-out.c: Include "gomp-constants.h".
21118 (pack_ts_omp_clause_value_fields): Use GOMP_MAP_* instead of
21119 OMP_CLAUSE_MAP_*.
21120 * tree.def (OACC_PARALLEL, OACC_KERNELS, OACC_DATA)
21121 (OACC_HOST_DATA, OACC_LOOP, OACC_CACHE, OACC_DECLARE)
21122 (OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE): New tree codes.
21123 * tree.c (omp_clause_num_ops): Update accordingly.
21124 * tree.h (OMP_BODY, OMP_CLAUSES, OMP_LOOP_CHECK, OMP_CLAUSE_SIZE):
21125 Likewise.
21126 (OACC_PARALLEL_BODY, OACC_PARALLEL_CLAUSES, OACC_KERNELS_BODY)
21127 (OACC_KERNELS_CLAUSES, OACC_DATA_BODY, OACC_DATA_CLAUSES)
21128 (OACC_HOST_DATA_BODY, OACC_HOST_DATA_CLAUSES, OACC_CACHE_CLAUSES)
21129 (OACC_DECLARE_CLAUSES, OACC_ENTER_DATA_CLAUSES)
21130 (OACC_EXIT_DATA_CLAUSES, OACC_UPDATE_CLAUSES)
21131 (OACC_KERNELS_COMBINED, OACC_PARALLEL_COMBINED): New macros.
21132 * tree.h (OMP_CLAUSE_MAP_KIND): Cast it to enum gomp_map_kind.
21133 (OMP_CLAUSE_SET_MAP_KIND): New macro.
21134 * varpool.c (varpool_node::get_create): Consider flag_openacc next
21135 to flag_openmp.
21136 * config/i386/intelmic-offload.h: New file.
21137 * config/nvptx/offload.h: Likewise.
21138
21139 2015-01-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
21140
21141 * explow.h: Remove duplicate contents.
21142 * dojump.h: Likewise.
21143
21144 2015-01-15 Richard Earnshaw <rearnsha@arm.com>
21145
21146 * arm.c (arm_xgene_tune): Add default initializer for instruction
21147 fusion.
21148
21149 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
21150
21151 PR ipa/64068
21152 PR ipa/64559
21153 * ipa.c (symbol_table::remove_unreachable_nodes):
21154 Do not put abstract origins into boundary.
21155
21156 2015-01-15 Evgeny Stupachenko <evstupac@gmail.com>
21157
21158 * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Remove EBX register usage.
21159 * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Ditto.
21160
21161 2015-01-15 Steve Ellcey <sellcey@mips.com>
21162
21163 * Makefile.in (PLUGIN_HEADERS): Add dominance.h, cfg.h, cfgrtl.h,
21164 cfganal.h, cfgbuild.h, cfgcleanup.h, lcm.h, cfgloopmanip.h,
21165 builtins.def, and chkp-builtins.def.
21166
21167 2015-01-15 David Edelsohn <dje.gcc@gmail.com>
21168
21169 * config/rs6000/default64.h (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use
21170 ISA 2.7 (POWER8).
21171
21172 2015-01-15 Richard Biener <rguenther@suse.de>
21173
21174 PR tree-optimization/61743
21175 * tree-ssa-pre.c (insert_into_preds_of_block): Preserve range
21176 information on PHIs for some simple cases.
21177
21178 2015-01-15 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
21179
21180 * config/arm/arm.md (generic_sched): Specify xgene1 in 'no' list.
21181 Include xgene1.md.
21182 * config/arm/arm.c (arm_issue_rate): Specify 4 for xgene1.
21183 * config/arm/arm-cores.def (xgene1): New entry.
21184 * config/arm/arm-tables.opt: Regenerate.
21185 * config/arm/arm-tune.md: Regenerate.
21186 * config/arm/bpabi.h (BE8_LINK_SPEC): Specify mcpu=xgene1.
21187
21188 2015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com>
21189
21190 * tree-if-conv.c: Include hash-map.h.
21191 (aggressive_if_conv): New variable.
21192 (fold_build_cond_expr): Add simplification of non-zero condition.
21193 (add_to_dst_predicate_list): Invoke add_to_predicate_list if edge
21194 destination block is not always executed.
21195 (if_convertible_phi_p): Fix commentary, allow phi nodes have more
21196 than two predecessors if AGGRESSIVE_IF_CONV is true.
21197 (if_convertible_stmt_p): Fix commentary.
21198 (all_preds_critical_p): New function.
21199 (has_pred_critical_p): New function.
21200 (if_convertible_bb_p): Fix commentary, if AGGRESSIVE_IF_CONV is true
21201 BB can have more than two predecessors and all incoming edges can be
21202 critical.
21203 (predicate_bbs): Skip predication for loop exit block, use build2_loc
21204 to compute predicate for true edge.
21205 (find_phi_replacement_condition): Delete this function.
21206 (is_cond_scalar_reduction): Add arguments ARG_0, ARG_1 and EXTENDED.
21207 Allow interchange PHI arguments if EXTENDED is false.
21208 Change check that block containing reduction statement candidate
21209 is predecessor of phi-block since phi may have more than two arguments.
21210 (phi_args_hash_traits): New helper structure.
21211 (struct phi_args_hash_traits): New type.
21212 (phi_args_hash_traits::hash): New function.
21213 (phi_args_hash_traits::equal_keys): New function.
21214 (gen_phi_arg_condition): New function.
21215 (predicate_scalar_phi): Add handling of phi nodes with more than two
21216 arguments, delete COND and TRUE_BB arguments, insert body of
21217 find_phi_replacement_condition to predicate ordinary phi nodes.
21218 (predicate_all_scalar_phis): Skip blocks with the only predecessor,
21219 delete call of find_phi_replacement_condition and invoke
21220 predicate_scalar_phi with two arguments.
21221 (insert_gimplified_predicates): Add assert that non-predicated block
21222 don't have statements to insert.
21223 (ifcvt_split_critical_edges): New function.
21224 (ifcvt_split_def_stmt): Likewise.
21225 (ifcvt_walk_pattern_tree): Likewise.
21226 (stmt_is_root_of_bool_pattern): Likewise.
21227 (ifcvt_repair_bool_pattern): Likewise.
21228 (ifcvt_local_dce): Likewise.
21229 (tree_if_conversion): Add initialization of AGGRESSIVE_IF_CONV which
21230 is copy of inner or outer loop force_vectorize field, invoke
21231 ifcvt_split_critical_edges, ifcvt_local_dce and
21232 ifcvt_repair_bool_pattern for aggressive if-conversion.
21233
21234 2015-01-15 Philipp Tomsich <ptomsich@theobroma-systems.com>
21235
21236 * config/aarch64/aarch64.md: Include xgene1.md.
21237 * config/aarch64/xgene1.md: New file.
21238
21239 2015-01-15 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
21240
21241 * config/aarch64/aarch64-cores.def (xgene1): Update/add the
21242 xgene1 (APM XGene-1) core definition.
21243 * gcc/config/aarch64/aarch64.c: Add cost tables for APM XGene-1
21244 * config/arm/aarch-cost-tables.h: Add cost tables for APM XGene-1
21245 * doc/invoke.texi: Document -mcpu=xgene1.
21246
21247 2015-01-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
21248
21249 * dojump.h: New header file.
21250 * explow.h: Likewise.
21251 * expr.h: Remove includes.
21252 Move expmed.c prototypes to expmed.h.
21253 Move dojump.c prototypes to dojump.h.
21254 Move alias.c prototypes to alias.h.
21255 Move explow.c prototypes to explow.h.
21256 Move calls.c prototypes to calls.h.
21257 Move emit-rtl.c prototypes to emit-rtl.h.
21258 Move varasm.c prototypes to varasm.h.
21259 Move stmt.c prototypes to stmt.h.
21260 (saved_pending_stack_adjust): Move to dojump.h.
21261 (adjust_address): Move to explow.h.
21262 (adjust_address_nv): Move to emit-rtl.h.
21263 (adjust_bitfield_address): Likewise.
21264 (adjust_bitfield_address_size): Likewise.
21265 (adjust_bitfield_address_nv): Likewise.
21266 (adjust_automodify_address_nv): Likewise.
21267 * explow.c (expr_size): Move to expr.c.
21268 (int_expr_size): Likewise.
21269 (tree_expr_size): Likewise.
21270 Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21271 fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
21272 * genemit.c (main): Generate includes statistics.h, real.h,
21273 fixed-value.h, insn-config.h, expmed.h, dojump.h, explow.h, emit-rtl.h,
21274 stmt.h.
21275 * genopinit.c (main): Generate includes hashtab.h, hard-reg-set.h,
21276 function.h, statistics.h, real.h, fixed-value.h, expmed.h, dojump.h,
21277 explow.h, emit-rtl.h, stmt.h.
21278 * genoutput.c (main): Generate includes hashtab.h, statistics.h, real.h,
21279 fixed-value.h, expmed.h, dojump.h, explow.h, emit-rtl.h, stmt.h.
21280 * genemit.c (open_base_files): Generate includes flags.h, statistics.h,
21281 real.h, fixed-value.h, tree.h, expmed.h, dojump.h, explow.h, calls.h,
21282 emit-rtl.h, varasm.h, stmt.h.
21283 * config/tilepro/gen-mul-tables.cc: Generate includes hashtab.h,
21284 hash-set.h, vec.h, machmode.h, tm.h, hard-reg-set.h, input.h,
21285 function.h, rtl.h, flags.h, statistics.h, double-int.h, real.h,
21286 fixed-value.h, alias.h, wide-int.h, inchash.h, tree.h, insn-config.h,
21287 expmed.h, dojump.h, explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.
21288 * config/tilegx/mul-tables.c: Include alias.h calls.h dojump.h
21289 double-int.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h
21290 function.h hard-reg-set.h hash-set.h hashtab.h inchash.h input.h
21291 insn-config.h machmode.h real.h rtl.h statistics.h stmt.h symtab.h
21292 tm.h tree.h varasm.h vec.h wide-int.h.
21293 * rtlhooks.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
21294 explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h
21295 hash-set.h hashtab.h inchash.h input.h insn-config.h machmode.h
21296 real.h statistics.h stmt.h tree.h varasm.h vec.h wide-int.h.
21297 * cfgloopanal.c: Include alias.h calls.h dojump.h double-int.h
21298 emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h
21299 insn-config.h real.h statistics.h stmt.h tree.h varasm.h wide-int.h.
21300 * loop-iv.c: Likewise.
21301 * lra-assigns.c: Include alias.h calls.h dojump.h double-int.h
21302 emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h real.h
21303 statistics.h stmt.h tree.h varasm.h wide-int.h.
21304 * lra-constraints.c: Likewise.
21305 * lra-eliminations.c: Likewise.
21306 * lra-lives.c: Likewise.
21307 * lra-remat.c: Likewise.
21308 * bt-load.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
21309 explow.h expmed.h fixed-value.h inchash.h insn-config.h real.h
21310 statistics.h stmt.h tree.h varasm.h wide-int.h.
21311 * hw-doloop.c: Likewise.
21312 * ira-color.c: Likewise.
21313 * ira-emit.c: Likewise.
21314 * loop-doloop.c: Likewise.
21315 * loop-invariant.c: Likewise.
21316 * reload.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
21317 explow.h expmed.h fixed-value.h inchash.h real.h rtl.h
21318 statistics.h stmt.h tree.h varasm.h wide-int.h.
21319 * caller-save.c: Include alias.h calls.h dojump.h double-int.h
21320 emit-rtl.h explow.h expmed.h fixed-value.h inchash.h real.h
21321 statistics.h stmt.h tree.h varasm.h wide-int.h.
21322 * combine-stack-adj.c: Likewise.
21323 * cse.c: Likewise.
21324 * ddg.c: Likewise.
21325 * ifcvt.c: Likewise.
21326 * ira-costs.c: Likewise.
21327 * jump.c: Likewise.
21328 * lra-coalesce.c: Likewise.
21329 * lra-spills.c: Likewise.
21330 * profile.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
21331 explow.h expmed.h fixed-value.h insn-config.h real.h statistics.h
21332 stmt.h varasm.h wide-int.h.
21333 * lra.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
21334 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
21335 varasm.h.
21336 * config/sh/sh_treg_combine.cc: Include alias.h calls.h dojump.h
21337 double-int.h explow.h expmed.h fixed-value.h flags.h real.h
21338 statistics.h stmt.h varasm.h wide-int.h.
21339 * reorg.c: Include alias.h calls.h dojump.h double-int.h explow.h
21340 expmed.h fixed-value.h inchash.h real.h statistics.h stmt.h tree.h
21341 varasm.h wide-int.h.
21342 * reload1.c: Include alias.h calls.h dojump.h double-int.h explow.h
21343 expmed.h fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
21344 * config/tilegx/tilegx.c: Include alias.h dojump.h double-int.h
21345 emit-rtl.h explow.h expmed.h fixed-value.h flags.h real.h
21346 statistics.h stmt.h.
21347 * config/tilepro/tilepro.c: Likewise.
21348 * config/mmix/mmix.c: Include alias.h dojump.h double-int.h emit-rtl.h
21349 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h.
21350 * config/pdp11/pdp11.c: Likewise.
21351 * config/xtensa/xtensa.c: Likewise.
21352 * config/lm32/lm32.c: Include alias.h dojump.h double-int.h emit-rtl.h
21353 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
21354 varasm.h.
21355 * tree-chkp.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21356 fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
21357 insn-config.h real.h rtl.h statistics.h stmt.h tm.h.
21358 * cilk-common.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21359 fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
21360 insn-config.h real.h rtl.h statistics.h stmt.h tm.h varasm.h.
21361 * rtl-chkp.c: Likewise.
21362 * tree-chkp-opt.c: Likewise.
21363 * config/arm/arm-builtins.c: Include calls.h dojump.h emit-rtl.h
21364 explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h
21365 hashtab.h insn-config.h real.h statistics.h stmt.h varasm.h.
21366 * ipa-icf.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21367 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
21368 statistics.h stmt.h.
21369 * tree-vect-data-refs.c: Likewise.
21370 * graphite-sese-to-poly.c: Include calls.h dojump.h emit-rtl.h explow.h
21371 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
21372 rtl.h statistics.h stmt.h varasm.h.
21373 * internal-fn.c: Likewise.
21374 * ipa-icf-gimple.c: Likewise.
21375 * lto-section-out.c: Likewise.
21376 * tree-data-ref.c: Likewise.
21377 * tree-nested.c: Likewise.
21378 * tree-outof-ssa.c: Likewise.
21379 * tree-predcom.c: Likewise.
21380 * tree-pretty-print.c: Likewise.
21381 * tree-scalar-evolution.c: Likewise.
21382 * tree-ssa-strlen.c: Likewise.
21383 * tree-vect-loop.c: Likewise.
21384 * tree-vect-patterns.c: Likewise.
21385 * tree-vect-slp.c: Likewise.
21386 * tree-vect-stmts.c: Likewise.
21387 * tsan.c: Likewise.
21388 * targhooks.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21389 fixed-value.h flags.h hashtab.h insn-config.h real.h statistics.h
21390 stmt.h.
21391 * config/sh/sh-mem.cc: Include calls.h dojump.h emit-rtl.h explow.h
21392 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
21393 statistics.h stmt.h varasm.h.
21394 * loop-unroll.c: Likewise.
21395 * ubsan.c: Likewise.
21396 * tree-ssa-loop-prefetch.c: Include calls.h dojump.h emit-rtl.h explow.h
21397 expmed.h fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h
21398 stmt.h varasm.h.
21399 * dse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21400 fixed-value.h function.h hashtab.h statistics.h stmt.h varasm.h.
21401 * tree-switch-conversion.c: Include calls.h dojump.h emit-rtl.h explow.h
21402 expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
21403 statistics.h stmt.h.
21404 * generic-match-head.c: Include calls.h dojump.h emit-rtl.h explow.h
21405 expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
21406 statistics.h stmt.h varasm.h.
21407 * gimple-match-head.c: Likewise.
21408 * lto-cgraph.c: Likewise.
21409 * lto-section-in.c: Likewise.
21410 * lto-streamer-in.c: Likewise.
21411 * lto-streamer-out.c: Likewise.
21412 * tree-affine.c: Likewise.
21413 * tree-cfg.c: Likewise.
21414 * tree-cfgcleanup.c: Likewise.
21415 * tree-if-conv.c: Likewise.
21416 * tree-into-ssa.c: Likewise.
21417 * tree-ssa-alias.c: Likewise.
21418 * tree-ssa-copyrename.c: Likewise.
21419 * tree-ssa-dse.c: Likewise.
21420 * tree-ssa-forwprop.c: Likewise.
21421 * tree-ssa-live.c: Likewise.
21422 * tree-ssa-math-opts.c: Likewise.
21423 * tree-ssa-pre.c: Likewise.
21424 * tree-ssa-sccvn.c: Likewise.
21425 * tree-tailcall.c: Likewise.
21426 * tree-vect-generic.c: Likewise.
21427 * tree-sra.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21428 fixed-value.h hashtab.h insn-config.h real.h rtl.h stmt.h varasm.h.
21429 * stor-layout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21430 fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h.
21431 * varasm.c: Likewise.
21432 * coverage.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21433 fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h
21434 varasm.h.
21435 * init-regs.c: Likewise.
21436 * ira.c: Likewise.
21437 * omp-low.c: Likewise.
21438 * stack-ptr-mod.c: Likewise.
21439 * tree-ssa-reassoc.c: Likewise.
21440 * tree-complex.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21441 fixed-value.h hashtab.h insn-config.h rtl.h statistics.h stmt.h
21442 varasm.h.
21443 * dwarf2cfi.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21444 fixed-value.h hashtab.h insn-config.h statistics.h stmt.h varasm.h.
21445 * shrink-wrap.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21446 fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h.
21447 * recog.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21448 fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h varasm.h.
21449 * tree-ssa-phiopt.c: Likewise.
21450 * config/darwin.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.
21452 * config/fr30/fr30.c: Likewise.
21453 * config/frv/frv.c: Likewise.
21454 * expr.c: Likewise.
21455 * final.c: Likewise.
21456 * optabs.c: Likewise.
21457 * passes.c: Likewise.
21458 * simplify-rtx.c: Likewise.
21459 * stmt.c: Likewise.
21460 * toplev.c: Likewise.
21461 * var-tracking.c: Likewise.
21462 * gcse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21463 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
21464 * lower-subreg.c: Likewise.
21465 * postreload-gcse.c: Likewise.
21466 * ree.c: Likewise.
21467 * reginfo.c: Likewise.
21468 * store-motion.c: Likewise.
21469 * combine.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21470 fixed-value.h hashtab.h real.h stmt.h varasm.h.
21471 * emit-rtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21472 fixed-value.h hashtab.h statistics.h stmt.h.
21473 * dojump.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21474 fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
21475 * except.c: Likewise.
21476 * explow.c: Likewise.
21477 * tree-dfa.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21478 fixed-value.h insn-config.h real.h rtl.h statistics.h stmt.h
21479 varasm.h.
21480 * gimple-fold.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21481 fixed-value.h insn-config.h real.h rtl.h statistics.h varasm.h.
21482 * tree-ssa-structalias.c: Likewise.
21483 * cfgexpand.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21484 fixed-value.h insn-config.h real.h statistics.h.
21485 * calls.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21486 fixed-value.h insn-config.h real.h statistics.h stmt.h.
21487 * bb-reorder.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21488 fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
21489 * cfgbuild.c: Likewise.
21490 * function.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21491 fixed-value.h real.h rtl.h statistics.h stmt.h.
21492 * cfgrtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21493 fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
21494 * dbxout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21495 fixed-value.h real.h statistics.h stmt.h.
21496 * auto-inc-dec.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21497 fixed-value.h real.h statistics.h stmt.h varasm.h.
21498 * cprop.c: Likewise.
21499 * modulo-sched.c: Likewise.
21500 * postreload.c: Likewise.
21501 * ccmp.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
21502 flags.h function.h hard-reg-set.h hashtab.h insn-config.h real.h
21503 statistics.h stmt.h varasm.h.
21504 * gimple-ssa-strength-reduction.c: Include calls.h dojump.h emit-rtl.h
21505 explow.h fixed-value.h flags.h hashtab.h insn-config.h real.h
21506 rtl.h statistics.h stmt.h varasm.h.
21507 * tree-ssa-loop-ivopts.c: Include calls.h dojump.h emit-rtl.h explow.h
21508 fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h stmt.h
21509 varasm.h.
21510 * expmed.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
21511 function.h hard-reg-set.h hashtab.h real.h statistics.h stmt.h
21512 varasm.h.
21513 * target-globals.c: Include calls.h dojump.h emit-rtl.h explow.h
21514 fixed-value.h function.h hashtab.h real.h statistics.h stmt.h
21515 varasm.h.
21516 * tree-ssa-address.c: Include calls.h dojump.h emit-rtl.h explow.h
21517 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
21518 * cfgcleanup.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
21519 function.h real.h statistics.h stmt.h varasm.h.
21520 * alias.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
21521 insn-config.h real.h statistics.h stmt.h.
21522 * dwarf2out.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
21523 statistics.h stmt.h.
21524 * config/nvptx/nvptx.c: Include dojump.h emit-rtl.h explow.h expmed.h
21525 fixed-value.h flags.h hard-reg-set.h insn-config.h real.h
21526 statistics.h stmt.h varasm.h.
21527 * gimplify.c: Include dojump.h emit-rtl.h explow.h expmed.h
21528 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h statistics.h.
21529 * asan.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
21530 flags.h hashtab.h insn-config.h real.h rtl.h statistics.h stmt.h.
21531 * ipa-devirt.c: Include dojump.h emit-rtl.h explow.h expmed.h
21532 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
21533 statistics.h stmt.h varasm.h.
21534 * ipa-polymorphic-call.c: Likewise.
21535 * config/aarch64/aarch64.c: Include dojump.h emit-rtl.h explow.h
21536 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
21537 statistics.h stmt.h.
21538 * config/c6x/c6x.c: Likewise.
21539 * config/aarch64/aarch64-builtins.c: Include dojump.h emit-rtl.h
21540 explow.h expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
21541 statistics.h stmt.h varasm.h.
21542 * ipa-prop.c: Include dojump.h emit-rtl.h explow.h expmed.h
21543 fixed-value.h hashtab.h insn-config.h real.h rtl.h statistics.h
21544 stmt.h varasm.h.
21545 * ipa-split.c: Likewise.
21546 * tree-eh.c: Likewise.
21547 * tree-ssa-dce.c: Likewise.
21548 * tree-ssa-loop-niter.c: Likewise.
21549 * tree-vrp.c: Likewise.
21550 * config/nds32/nds32-cost.c: Include dojump.h emit-rtl.h explow.h
21551 expmed.h fixed-value.h hashtab.h insn-config.h real.h statistics.h
21552 stmt.h.
21553 * config/nds32/nds32-fp-as-gp.c: Likewise.
21554 * config/nds32/nds32-intrinsic.c: Likewise.
21555 * config/nds32/nds32-isr.c: Likewise.
21556 * config/nds32/nds32-md-auxiliary.c: Likewise.
21557 * config/nds32/nds32-memory-manipulation.c: Likewise.
21558 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
21559 * config/nds32/nds32-predicates.c: Likewise.
21560 * config/nds32/nds32.c: Likewise.
21561 * config/cris/cris.c: Include dojump.h emit-rtl.h explow.h expmed.h
21562 fixed-value.h hashtab.h real.h statistics.h.
21563 * config/alpha/alpha.c: Include dojump.h emit-rtl.h explow.h expmed.h
21564 fixed-value.h hashtab.h real.h statistics.h stmt.h.
21565 * config/arm/arm.c: Likewise.
21566 * config/avr/avr.c: Likewise.
21567 * config/bfin/bfin.c: Likewise.
21568 * config/h8300/h8300.c: Likewise.
21569 * config/i386/i386.c: Likewise.
21570 * config/ia64/ia64.c: Likewise.
21571 * config/iq2000/iq2000.c: Likewise.
21572 * config/m32c/m32c.c: Likewise.
21573 * config/m32r/m32r.c: Likewise.
21574 * config/m68k/m68k.c: Likewise.
21575 * config/mcore/mcore.c: Likewise.
21576 * config/mep/mep.c: Likewise.
21577 * config/mips/mips.c: Likewise.
21578 * config/mn10300/mn10300.c: Likewise.
21579 * config/moxie/moxie.c: Likewise.
21580 * config/pa/pa.c: Likewise.
21581 * config/rl78/rl78.c: Likewise.
21582 * config/rx/rx.c: Likewise.
21583 * config/s390/s390.c: Likewise.
21584 * config/sh/sh.c: Likewise.
21585 * config/sparc/sparc.c: Likewise.
21586 * config/spu/spu.c: Likewise.
21587 * config/stormy16/stormy16.c: Likewise.
21588 * config/v850/v850.c: Likewise.
21589 * config/vax/vax.c: Likewise.
21590 * config/cr16/cr16.c: Include dojump.h emit-rtl.h explow.h expmed.h
21591 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
21592 * config/msp430/msp430.c: Likewise.
21593 * predict.c: Likewise.
21594 * value-prof.c: Likewise.
21595 * config/epiphany/epiphany.c: Include dojump.h emit-rtl.h explow.h
21596 expmed.h fixed-value.h hashtab.h statistics.h stmt.h.
21597 * config/microblaze/microblaze.c: Likewise.
21598 * config/nios2/nios2.c: Likewise.
21599 * config/rs6000/rs6000.c: Likewise.
21600 * tree.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
21601 insn-config.h real.h rtl.h statistics.h stmt.h.
21602 * cgraph.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
21603 insn-config.h real.h statistics.h stmt.h.
21604 * fold-const.c: Include dojump.h emit-rtl.h explow.h expmed.h
21605 fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
21606 * tree-inline.c: Include dojump.h emit-rtl.h explow.h expmed.h
21607 fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
21608 * builtins.c: Include dojump.h emit-rtl.h explow.h expmed.h
21609 fixed-value.h real.h statistics.h stmt.h.
21610 * config/arc/arc.c: Include dojump.h emit-rtl.h explow.h expmed.h
21611 fixed-value.h statistics.h stmt.h.
21612 * config/visium/visium.c: Include dojump.h emit-rtl.h explow.h expmed.h
21613 stmt.h.
21614
21615 2015-01-15 Jakub Jelinek <jakub@redhat.com>
21616
21617 * gengtype.c (create_user_defined_type): Workaround
21618 -Wmaybe-uninitialized false positives.
21619 * cse.c (fold_rtx): Likewise.
21620 * loop-invariant.c (gain_for_invariant): Likewise.
21621
21622 2015-01-15 Eric Botcazou <ebotcazou@adacore.com>
21623
21624 * expr.c (expand_expr_real_1) <normal_inner_ref>: Use the expression to
21625 set the memory attributes in all cases but clear MEM_EXPR if need be.
21626
21627 2015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com>
21628
21629 PR tree-optimization/64434
21630 * cfgexpand.c (reorder_operands): New function.
21631 (expand_gimple_basic_block): Insert call of reorder_operands if
21632 optimized is true.
21633
21634 2015-01-15 Matthew Fortune <matthew.fortune@imgtec.com>
21635
21636 * config/mips/micromips.md (*swp): Remove explicit parallel.
21637 (jraddiusp, *movep<MOVEP1:mode><MOVEP2:mode>): Likewise.
21638 * config/mips/mips-dsp.md (add<DSPV:mode>3): Likewise.
21639 (mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>, sub<DSPV:mode>3): Likewise.
21640 (mips_sub<DSP:dspfmt1>_s_<DSP:dspfmt2>, mips_addsc): Likewise.
21641 (mips_addwc, mips_absq_s_<DSPQ:dspfmt2>): Likewise.
21642 (mips_precrq_rs_ph_w, mips_precrqu_s_qb_ph): Likewise.
21643 (mips_shll_<DSPV:dspfmt2>, mips_shll_s_<DSPQ:dspfmt2>): Likewise.
21644 (mips_muleu_s_ph_qbl, mips_muleu_s_ph_qbr): Likewise.
21645 (mips_mulq_rs_ph, mips_muleq_s_w_phl, mips_muleq_s_w_phr): Likewise.
21646 (mips_dpaq_s_w_ph, mips_dpsq_s_w_ph, mips_mulsaq_s_w_ph): Likewise.
21647 (mips_dpaq_sa_l_w, mips_dpsq_sa_l_w, mips_maq_s_w_phl): Likewise.
21648 (mips_maq_s_w_phr, mips_maq_sa_w_phl, mips_maq_sa_w_phr): Likewise.
21649 (mips_extr_w, mips_extr_r_w, mips_extr_rs_w): Likewise.
21650 (mips_extr_s_h, mips_extp, mips_extpdp, mips_mthlip): Likewise.
21651 (mips_wrdsp): Likewise.
21652 * config/mips/mips-dspr2.md (mips_absq_s_qb): Remove explicit
21653 parallel.
21654 (mips_addu_ph, mips_addu_s_ph, mips_cmpgdu_eq_qb): Likewise.
21655 (mips_cmpgdu_lt_qb, mips_cmpgdu_le_qb, mulv2hi3): Likewise.
21656 (mips_mul_s_ph, mips_mulq_rs_w, mips_mulq_s_ph): Likewise.
21657 (mips_mulq_s_w, mips_subu_ph, mips_subu_s_ph): Likewise.
21658 (mips_dpaqx_s_w_ph, mips_dpaqx_sa_w_ph): Likewise.
21659 (mips_dpsqx_s_w_ph, mips_dpsqx_sa_w_ph): Likewise.
21660 * config/mips/mips-fixed.md (usadd<mode>3): Remove explicit parallel.
21661 (ssadd<mode>3, ussub<mode>3, sssub<mode>3, ssmul<mode>3): Likewise.
21662 (ssmaddsqdq4, ssmsubsqdq4): Likewise.
21663
21664 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
21665
21666 * config/mips/mips.c (mips_rtx_costs): Set costs for LSA/DLSA.
21667 (mips_print_operand): Support 'y' to print exact log2 in decimal
21668 of a const_int.
21669 * config/mips/mips.h (ISA_HAS_LSA): New define.
21670 (ISA_HAS_DLSA): Likewise.
21671 * config/mips/mips.md (<GPR:d>lsa): New define_insn.
21672 * config/mips/predicates.md (const_immlsa_operand): New predicate.
21673
21674 2015-01-15 Martin Liska <mliska@suse.cz>
21675
21676 PR target/64377
21677 * optc-save-gen.awk: Add support for array types.
21678
21679 2015-01-15 Richard Biener <rguenther@suse.de>
21680
21681 PR middle-end/64365
21682 * tree-data-ref.c (dr_analyze_indices): Make sure that accesses
21683 for MEM_REF access functions with the same base can never partially
21684 overlap.
21685
21686 2015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
21687
21688 * common.opt: New option -fstack-protector-explicit.
21689 * cfgexpand.c (SPCT_FLAG_EXPLICIT): New enum.
21690 (stack_protect_decl_phase): Handle stack_protect attribute for
21691 explicit stack protection requests.
21692 (expand_used_vars): Similarly.
21693 * doc/cpp.texi (__SSP_EXPLICIT__): Document predefined macro.
21694 * doc/extend.texi: Add documentation for "stack_protect" attribute.
21695 * doc/invoke.texi: Add documentation for -fstack-protector-explicit.
21696
21697 2015-01-14 Oleg Endo <olegendo@gcc.gnu.org>
21698
21699 PR target/53988
21700 * config/sh/sh-protos.h (sh_find_set_of_reg): Add option to ignore
21701 reg-reg copies.
21702 (sh_extending_set_of_reg): New struct.
21703 (sh_find_extending_set_of_reg, sh_split_tst_subregs,
21704 sh_remove_reg_dead_or_unused_notes): New Declarations.
21705 * config/sh/sh.c (sh_remove_reg_dead_or_unused_notes,
21706 sh_find_extending_set_of_reg, sh_split_tst_subregs,
21707 sh_extending_set_of_reg::use_as_extended_reg): New functions.
21708 * config/sh/sh.md (*tst<mode>_t_zero): Rename to *tst<mode>_t_subregs,
21709 convert to insn_and_split and use new function sh_split_tst_subregs.
21710
21711 2015-01-14 Sandra Loosemore <sandra@codesourcery.com>
21712
21713 * doc/invoke.texi (Option Summary): Reclassify -fuse-ld as a linker
21714 option.
21715 (Optimization Options): Move -fuse-ld documentation to...
21716 (Link Options): ...here.
21717
21718 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
21719
21720 * config/mips/constraints.md (ZC): Add support for R6 LL/SC
21721 offsets.
21722 (ZD): Update to use ISA_HAS_9BIT_DISPLACEMENT.
21723 * config/mips/mips.h (ISA_HAS_PREFETCH_9BIT): Rename to...
21724 (ISA_HAS_9BIT_DISPLACEMENT): ... this. New macro.
21725 * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZC
21726 instead of ZR for the memory operand of LL/SC.
21727 (compare_and_swap_12, sync_add<mode>): Likewise.
21728 (sync_<optab>_12, sync_old_<optab>_12): Likewise.
21729 (sync_new_<optab>_12, sync_nand_12): Likewise.
21730 (sync_old_nand_12, sync_new_nand_12): Likewise.
21731 (sync_sub<mode>, sync_old_add<mode>): Likewise.
21732 (sync_old_sub<mode>, sync_new_add<mode>): Likewise.
21733 (sync_new_sub<mode>, sync_<optab><mode>): Likewise.
21734 (sync_old_<optab><mode>, sync_new_<optab><mode>"): Likewise.
21735 (sync_nand<mode>, sync_old_nand<mode>): Likewise.
21736 (sync_new_nand<mode>, sync_lock_test_and_set<mode>): Likewise.
21737 (test_and_set_12, atomic_compare_and_swap<mode>): Likewise.
21738 (atomic_exchange<mode>_llsc, atomic_fetch_add<mode>_llsc): Likewise.
21739 * doc/md.texi (ZC): Update description.
21740
21741 2015-01-14 Andrew MacLeod <amacleod@redhat.com>
21742
21743 * builtins.c (expand_builtin_atomic_exchange): Remove error when
21744 memory model is CONSUME.
21745 (expand_builtin_atomic_compare_exchange, expand_builtin_atomic_load,
21746 expand_builtin_atomic_store): Change invalid memory model errors to
21747 warnings.
21748 (expand_builtin_atomic_clear): Change invalid model errors to warnings
21749 and issue warning for CONSUME.
21750
21751 2015-01-14 Aldy Hernandez <aldyh@redhat.com>
21752
21753 * lto-cgraph: Update function comments for
21754 lto_symtab_encoder_encode_*.
21755
21756 2015-01-14 Ilya Verbin <ilya.verbin@intel.com>
21757
21758 * Makefile.in (site.exp): Do not set ENABLE_LTO.
21759
21760 2015-01-14 Ilya Verbin <ilya.verbin@intel.com>
21761
21762 * cgraphunit.c (ipa_passes): Remove argument from ipa_write_summaries.
21763 * lto-cgraph.c (select_what_to_stream): Remove argument, use
21764 lto_stream_offload_p instead.
21765 * lto-streamer.h (select_what_to_stream): Remove argument.
21766 * passes.c (ipa_write_summaries): Likewise.
21767 * tree-pass.h (ipa_write_summaries): Likewise.
21768
21769 2015-01-14 Richard Biener <rguenther@suse.de>
21770
21771 PR tree-optimization/59354
21772 * tree-vect-slp.c (vect_build_slp_tree_1): Treat loads from
21773 groups larger than the slp group size as having gaps.
21774
21775 2015-01-14 Andrew MacLeod <amacleod@redhat.com>
21776
21777 PR middle-end/59448
21778 * builtins.c (get_memmodel): Promote consume to acquire always.
21779
21780 2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
21781
21782 PR target/64386
21783 * config/i386/i386.c (ix86_expand_sse_cmp): Handle V64QImode,
21784 V32HImode.
21785
21786 2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
21787
21788 PR target/64393
21789 * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VBMI_SET):
21790 Enable AVX512BW.
21791 (OPTION_MASK_ISA_AVX512BW_UNSET): Disable AVX512VBMI.
21792 * config/i386/i386.c (ix86_hard_regno_mode_ok): Don't check
21793 AVX512VBMI, as it implies AVX512BW.
21794
21795 2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
21796
21797 PR target/64387
21798 * config/i386/sse.md (vec_unpacks_hi_v8sf): Fix predicate.
21799 (vec_unpacks_hi_v16sf): Ditto.
21800
21801 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
21802
21803 * config/aarch64/arm_neon.h: Error out if AdvancedSIMD
21804 is not available.
21805
21806 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
21807
21808 * doc/invoke.texi (mapcs): Mention deprecation.
21809 (mapcs-frame): Likewise.
21810
21811 2015-01-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
21812
21813 PR target/64453
21814 * config/arm/arm.c (callee_saved_reg_p): Define.
21815 (arm_compute_save_reg0_reg12_mask): Use callee_saved_reg_p to check if
21816 register is callee saved instead of !call_used_regs[reg].
21817 (thumb1_compute_save_reg_mask): Likewise.
21818
21819 2015-01-14 Hale Wang <hale.wang@arm.com>
21820
21821 * config/arm/arm.c: Tune the max_cond_insns/branch_cost for
21822 Cortex-M7.
21823
21824 2015-01-14 Richard Biener <rguenther@suse.de>
21825
21826 PR lto/64415
21827 * tree-inline.c (insert_debug_decl_map): Check destination
21828 function MAY_HAVE_DEBUG_STMTS.
21829 (insert_init_debug_bind): Likewise.
21830 (insert_init_stmt): Remove redundant check.
21831 (remap_gimple_stmt): Drop debug stmts if the destination
21832 function has var-tracking assignments disabled.
21833
21834 2015-01-14 Martin Liska <mliska@suse.cz>
21835
21836 * ipa-icf-gimple.c (func_checker::compare_operand): Add support for
21837 IMAGPART_EXPR and REALPART_EXPR and fix BIT_FIELD_REF comparison.
21838
21839 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
21840
21841 PR target/64460
21842 * config/arm/arm.md (*<arith_shift_insn>_multsi): Set 'shift' to 2.
21843 (*<arith_shift_insn>_shiftsi): Set 'shift' attr to 3.
21844
21845 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
21846
21847 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Only infer an ISA
21848 level from an ARCH; do not inject the default.
21849 (MIPS_DEFAULT_ISA_LEVEL_SPEC): New macro split out from
21850 MIPS_ISA_LEVEL_SPEC.
21851 (MIPS_ISA_NAN2008_SPEC): Update comment.
21852 (BASE_DRIVER_SELF_SPECS): Likewise.
21853 * config/mips/elfoabi.h (DRIVER_SELF_SPECS): Add
21854 MIPS_DEFAULT_ISA_LEVEL_SPEC.
21855 * config/mips/mti-elf.h (DRIVER_SELF_SPECS): Likewise.
21856 * config/mips/mti-linux.h (DRIVER_SELF_SPECS): Likewise.
21857 * config/mips/sde.h (DRIVER_SELF_SPECS): Likewise.
21858
21859 2015-01-14 Richard Biener <rguenther@suse.de>
21860
21861 PR tree-optimization/64493
21862 PR tree-optimization/64495
21863 * tree-vect-loop.c (vect_finalize_reduction): For double-reductions
21864 assign the proper vectorized PHI to the inner loop exit PHIs.
21865
21866 2015-01-14 Joey Ye <joey.ye@arm.com>
21867
21868 * config/arm/arm.c (arm_compute_save_reg_mask):
21869 Do not save lr in case of tail call.
21870 * config/arm/thumb2.md (*thumb2_pop_single): New pattern.
21871
21872 2015-01-14 Martin Uecker <uecker@eecs.berkeley.edu>
21873
21874 * tree-vrp.c (check_array_ref): Emit more warnings
21875 for warn_array_bounds >= 2.
21876 * common.opt: New option -Warray-bounds=.
21877 * doc/invoke.texi: Document -Warray-bounds=.
21878
21879 2015-01-14 Chung-Ju Wu <jasonwucj@gmail.com>
21880
21881 * config/nds32/nds32.opt (mforce-fp-as-gp): Remove.
21882 (mforbid-fp-as-gp): Remove.
21883 (mex9): Remove.
21884 * config/nds32/nds32-fp-as-gp.c (nds32_have_prologue_p): Remove.
21885 (nds32_symbol_load_store_p): Remove.
21886 (nds32_fp_as_gp_check_available): Clean up implementation.
21887 * config/nds32/nds32.h (LINK_SPEC): Remove -mforce-as-gp and -mex9
21888 cases.
21889 * config/nds32/nds32.c (nds32_asm_file_start): No need to consider
21890 fp-as-gp and ex9 cases.
21891
21892 2015-01-13 Jan Hubicka <hubicka@ucw.cz>
21893
21894 * tree-profile.c (init_ic_make_global_vars): Drop workaround
21895 for bintuils bug 14342.
21896 (init_ic_make_global_vars): Likewise.
21897 (gimple_init_edge_profiler): Likewise.
21898 (gimple_gen_ic_func_profiler): Likewise.
21899
21900 2015-01-13 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
21901
21902 * ipa-inline.c (inline_small_functions): Swap the operands in
21903 enum.
21904
21905 2015-01-13 Jan Hubicka <hubicka@ucw.cz>
21906
21907 PR ipa/64481
21908 * ipa-inline-analysis.c (node_growth_cache): Remove.
21909 (initialize_growth_caches): Do not initialize it.
21910 (free_growth_caches): Do not free it.
21911 (do_estimate_growth): Rename to ...
21912 (estimate_growth): ... this one; drop growth cache code.
21913 (growth_likely_positive): Always go the heuristics way.
21914 * ipa-inline.c (can_inline_edge_p): Walk through aliases.
21915 (reset_edge_caches): Do not reset node growth.
21916 (heap_edge_removal_hook): Do not maintain cache.
21917 (inline_small_functions): Likewise; strenghten sanity check.
21918 (ipa_inline): Do not maintain caches.
21919 * ipa-inline.h (node_growth_cache): Remove.
21920 (do_estimate_growth): Remove to ...
21921 (estimate_growth): this one; remove inline version.
21922 (reset_node_growth_cache): Remove.
21923
21924 2015-01-13 Jan Hubicka <hubicka@ucw.cz>
21925
21926 PR ipa/64565
21927 * ipa-inline.c (inline_small_functions): Update callee keys after
21928 resolving speculation
21929 (inline_small_functions): Always check monotonicity of the queue.
21930
21931 2015-01-13 Marek Polacek <polacek@redhat.com>
21932
21933 PR middle-end/64391
21934 * trans-mem.c (get_attrs_for): Return NULL_TREE if X is NULL_TREE.
21935
21936 2015-01-13 Jakub Jelinek <jakub@redhat.com>
21937
21938 PR rtl-optimization/64286
21939 * ree.c (combine_reaching_defs): Move part of comment earlier,
21940 remove !SCALAR_INT_MODE_P check.
21941 (add_removable_extension): Don't add vector mode
21942 extensions if all uses of the source register aren't the same
21943 vector extensions.
21944
21945 2015-01-13 Renlin Li <renlin.li@arm.com>
21946
21947 * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): Return 2.
21948 (CTZ_DEFINED_VALUE_AT_ZERO): Ditto.
21949
21950 2015-01-13 Martin Liska <mliska@suse.cz>
21951
21952 * ipa-icf.c (sem_function::equals_private): Call new functions
21953 cl_target_option_print_diff and cl_optimization_print_diff.
21954 * optc-save-gen.awk (cl_target_option_print_diff): New function.
21955 (cl_optimization_print_diff): Likewise.
21956 * opth-gen.awk: Likewise.
21957
21958 2015-01-13 Richard Sandiford <richard.sandiford@arm.com>
21959
21960 * config/aarch64/aarch64.md (subsi3, *subsi3_uxtw, subdi3)
21961 (*sub_<optab><ALLX:mode>_<GPI:mode>, *sub_<optab><SHORT:mode>_si_uxtw)
21962 (*sub_<optab><ALLX:mode>_shft_<GPI:mode>)
21963 (*sub_<optab><SHORT:mode>_shft_si_uxtw, *sub_<optab><mode>_multp2)
21964 (*sub_<optab>si_multp2_uxtw, *sub_uxt<mode>_multp2)
21965 (*sub_uxtsi_multp2_uxtw): Add stack pointer sources.
21966
21967 2015-01-13 Andrew Pinski <apinski@cavium.com>
21968
21969 * config/aarch64/aarch64.c (fusion_load_store): Check dest mode
21970 instead of src mode.
21971
21972 2015-01-13 Richard Biener <rguenther@suse.de>
21973
21974 PR lto/64373
21975 * lto-streamer-out.c (tree_is_indexable): Guard for NULL
21976 DECL_CONTEXT.
21977
21978 2015-01-13 Andrew Pinski <apinski@cavium.com>
21979
21980 * config/aarch64/aarch64.c (aarch64_operands_ok_for_ldpstp): Reject
21981 volatile mems.
21982 (aarch64_operands_adjust_ok_for_ldpstp): Likewise.
21983
21984 2015-01-13 Jakub Jelinek <jakub@redhat.com>
21985
21986 PR middle-end/63974
21987 * cfgexpand.c (expand_computed_goto): Don't call
21988 convert_memory_address here.
21989
21990 2015-01-13 Richard Biener <rguenther@suse.de>
21991
21992 PR tree-optimization/64406
21993 * tree-loop-distibution.c (pass_loop_distribution::execute):
21994 Reset the SCEV hashtable if we distributed anything.
21995
21996 2015-01-13 Richard Biener <rguenther@suse.de>
21997
21998 PR tree-optimization/64404
21999 * tree-vect-stmts.c (vectorizable_load): Reject conflicting
22000 SLP types for CSEd loads.
22001
22002 2015-01-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
22003
22004 PR tree-optimization/64436
22005 * tree-ssa-math-opts.c (find_bswap_or_nop_1): Move code performing the
22006 merge of two symbolic numbers for a bitwise OR to ...
22007 (perform_symbolic_merge): This. Also fix computation of the range and
22008 end of the symbolic number corresponding to the result of a bitwise OR.
22009
22010 2015-01-13 Richard Biener <rguenther@suse.de>
22011
22012 PR tree-optimization/64568
22013 * tree-ssa-forwprop.c (pass_forwprop::execute): Properly
22014 release defs of removed stmts, avoid splitting TARGET_MEM_REFs.
22015
22016 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
22017
22018 * config/nds32/nds32.c (nds32_legitimate_address_p): Consider
22019 TARGET_CMODEL_LARGE and TARGET_CMODEL_MEDIUM cases.
22020
22021 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
22022
22023 * config/nds32/nds32.h (NDS32_SYMBOL_FLAG_RODATA): Define our own
22024 target-specific symbol_ref flag.
22025 (NDS32_SYMBOL_REF_RODATA_P): Define it to check if the symbol_ref
22026 resides in rodata section.
22027 * config/nds32/nds32.c (TARGET_ENCODE_SECTION_INFO): Define.
22028 (nds32_encode_section_info): New function.
22029
22030 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
22031
22032 * config/nds32/nds32.md (call): Use pseudo instruction bal which
22033 clobbers TA_REGNUM if large code model is specified.
22034 (call_register): Likewise.
22035 (call_immediate): Likewise.
22036 (call_value): Likewise.
22037 (call_value_register): Likewise.
22038 (call_value_immediate): Likewise.
22039
22040 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
22041
22042 * config/nds32/nds32.h (TARGET_CMODEL_SMALL): New macro.
22043 (TARGET_CMODEL_MEDIUM): New macro.
22044 (TARGET_CMODEL_LARGE): New macro.
22045 * config/nds32/nds32.c (nds32_asm_file_start): Display corresponding
22046 code model setting in assembly code.
22047
22048 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
22049
22050 * common/config/nds32/nds32-common.c (TARGET_DEFAULT_TARGET_FLAGS):
22051 Remove MASK_GP_DIRECT flag.
22052 * config/nds32/nds32.h (MULTILIB_DEFAULTS): Have -mcmodel=medium as
22053 one of the multilib default options.
22054 * config/nds32/nds32.opt (mgp-direct): Remove.
22055 * config/nds32/t-mlibs (MULTILIB_OPTIONS): Use -mcmodel instead of
22056 -mgp-direct. We also remove unnecessary -mlittle-endian/-mbig-endian.
22057
22058 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
22059
22060 * config/nds32/nds32.opt (mcmodel): Add new option.
22061 * config/nds32/nds32-opts.h (nds32_cmodel_type): Add new enum type
22062 to describe code model.
22063
22064 2015-01-13 Oleg Endo <olegendo@gcc.gnu.org>
22065
22066 PR target/64479
22067 * rtlanal.c (set_reg_p): Handle SEQUENCE constructs.
22068
22069 2015-01-12 Kaz Kojima <kkojima@gcc.gnu.org>
22070
22071 * config/sh/sh.c (sh_atomic_assign_expand_fenv): New function.
22072 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
22073 (sh_builtin_get_fpscr, sh_builtin_set_fpscr): New variables.
22074 (sh_init_builtins): Record decls for __builtin_sh_get_fpscr and
22075 __builtin_sh_set_fpscr.
22076
22077 2015-01-12 Sandra Loosemore <sandra@codesourcery.com>
22078
22079 * doc/invoke.texi ([-Wsuggest-attribute=]): Don't use parentheses
22080 after a funtion name just to indicate it is a function.
22081 ([-fsanitize-undefined-trap-on-error]): Likewise.
22082 ([-fdbg-cnt=]): Likewise.
22083 ([-mmemcpy]): Likewise.
22084 ([-mflush-func]): Likewise.
22085 ([-msynci]): Likewise.
22086
22087 2015-01-12 Sandra Loosemore <sandra@codesourcery.com>
22088
22089 * doc/invoke.texi ([-Wbad-function-cast]): Rewrite to avoid confusing
22090 example.
22091
22092 2015-01-12 Jakub Jelinek <jakub@redhat.com>
22093
22094 PR tree-optimization/64563
22095 * tree-vrp.c (vrp_evaluate_conditional): Check for VR_RANGE
22096 instead of != VR_VARYING.
22097
22098 PR target/64513
22099 * config/i386/i386.c (ix86_expand_prologue): Add
22100 REG_FRAME_RELATED_EXPR to %rax and %r10 pushes.
22101
22102 PR tree-optimization/64454
22103 * tree-vrp.c (simplify_div_or_mod_using_ranges): Optimize
22104 op0 % op1 into op0 if op0 is in range [-op1 + 1, op1 - 1]
22105 for signed or [0, op1 - 1] for unsigned modulo.
22106 (simplify_stmt_using_ranges): Call simplify_div_or_mod_using_ranges
22107 even if op1 does not satisfy integer_pow2p.
22108
22109 PR other/64370
22110 * sreal.c (sreal::to_double): Use ldexp instead of scalbnl.
22111
22112 2015-01-12 Jeff Law <law@redhat.com>
22113
22114 PR target/64461
22115 * config/m68k/m68k.md (truncsiqi2): Disable for TARGET_COLDFIRE.
22116 (trunchiqi2, truncsihi2): Similarly.
22117
22118 * config/h8300/h8300.c (Fpa): Use RTX_FRAME_RELATED_P directly
22119 rather than calling F.
22120
22121 2015-01-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
22122
22123 * tsan.c (instrument_expr): Use force_gimple_operand.
22124 Use may_be_nonaddressable_p instead of is_gimple_addressable.
22125
22126 2015-01-12 Richard Biener <rguenther@suse.de>
22127
22128 PR tree-optimization/64530
22129 * tree-loop-distribution.c (pg_add_dependence_edges): Shuffle
22130 back dr1.
22131
22132 2015-01-12 Richard Biener <rguenther@suse.de>
22133
22134 PR middle-end/64357
22135 * tree-cfg.c (gimple_can_merge_blocks_p): Protect simple
22136 latches properly.
22137
22138 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
22139
22140 * config/arm/arm.c (arm_cortex_a12_tune): Update entries to match
22141 Cortex-A17 tuning parameters.
22142 * config/arm/arm-cores.def (cortex-a12): Schedule for cortex-a17.
22143
22144 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
22145
22146 * config/arm/arm-protos.h (tune_params): Add fuseable_ops field.
22147 * config/arm/arm.c (arm_macro_fusion_p): New function.
22148 (arm_macro_fusion_pair_p): Likewise.
22149 (TARGET_SCHED_MACRO_FUSION_P): Define.
22150 (TARGET_SCHED_MACRO_FUSION_PAIR_P): Likewise.
22151 (ARM_FUSE_NOTHING): Likewise.
22152 (ARM_FUSE_MOVW_MOVT): Likewise.
22153 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,
22154 arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,
22155 arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,
22156 arm_cortex_a53_tune, arm_cortex_a57_tune, arm_cortex_a9_tune,
22157 arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune, arm_fa726te_tune
22158 arm_cortex_a5_tune): Specify fuseable_ops value.
22159
22160 2015-01-12 H.J. Lu <hongjiu.lu@intel.com>
22161
22162 PR bootstrap/64561
22163 * configure.ac (HAVE_LD_PIE_COPYRELOC): Update Linux/x86-64 linker
22164 test for PIE with copy reloc.
22165 * configure: Regenerated.
22166
22167 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
22168
22169 * config/arm/arm.c (arm_load_tp): Use R0_REGNUM instead of constant 0
22170 in gen_rtx_REG.
22171 (arm_tls_descseq_addr): Likewise.
22172 (arm_gen_movmemqi): Likewise.
22173 (arm_expand_epilogue_apcs_frame): Likewise.
22174 (arm_expand_epilogue): Likewise.
22175 (arm_expand_prologue): Likewise. Use R1_REGNUM instead of constant 1
22176 in gen_rtx_REG.
22177
22178 2015-01-12 Martin Liska <mliska@suse.cz>
22179
22180 PR ipa/64550
22181 * ipa-icf-gimple.c (func_checker::compare_memory_operand): Compare
22182 volatility for correct operands.
22183
22184 2015-01-12 Martin Liska <mliska@suse.cz>
22185
22186 * ipa-icf.c (sem_function::equals_wpa): Add indirect_calls as
22187 indication that a function is not leaf.
22188 (sem_function::compare_polymorphic_p): Likewise.
22189
22190 2015-01-12 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
22191
22192 * config/visium/visium.c: Add includes hashtab.h, hash-set.h,
22193 machmode.h, input.h, statistics.h, vec.h, double-int.h, real.h,
22194 fixed-value.h, alias.h, symtab.h, tree-core.h, wide-int.h, inchash.h,
22195 fold-const.h, tree-check.h.
22196
22197 2015-01-12 Jan Hubicka <hubicka@ucw.cz>
22198
22199 PR ipa/63967
22200 PR ipa/64425
22201 * ipa-inline.c (compute_uninlined_call_time,
22202 compute_inlined_call_time): Use counts for extra precision when
22203 needed possible.
22204 (big_speedup_p): Fix formating.
22205 (RELATIVE_TIME_BENEFIT_RANGE): Remove.
22206 (relative_time_benefit): Remove.
22207 (edge_badness): Turn DECL_DISREGARD_INLINE_LIMITS into hint;
22208 merge guessed and read profile paths.
22209 (inline_small_functions): Count only !optimize_size functions into
22210 initial size; be more lax about sanity check when profile is used;
22211 be sure to update inlined function profile when profile is read.
22212
22213 2015-01-12 Jan Hubicka <hubicka@ucw.cz>
22214
22215 PR ipa/63470
22216 * ipa-inline-analysis.c (inline_edge_duplication_hook): Adjust
22217 cost when edge becomes direct.
22218 * ipa-prop.c (make_edge_direct): Do not adjust when speculation
22219 is resolved or when introducing new speculation.
22220
22221 2015-01-12 Chen Gang <gang.chen.5i5j@gmail.com>
22222
22223 PR ipa/64551
22224 PR ipa/64552
22225 * ipa-icf.c (sem_function::equals_private): Use '&&' instead of
22226 '||' to fix typo issue.
22227
22228 * gcc/tree.h (target_opts_for_fn): Check NULL_TREE since it can
22229 accept and return NULL.
22230
22231 2015-01-12 Martin Liska <mliska@suse.cz>
22232
22233 * cgraph.c (cgraph_edge::remove_callee): Move function to header
22234 file for being inlined.
22235 (cgraph_set_edge_callee): Delete.
22236 (cgraph_edge::redirect_callee): Move function to header file
22237 for being inlined.
22238 (cgraph_edge::make_direct): Use new function.
22239 (cgraph_edge::dump_edge_flags): New function created from
22240 static dump_edge_flags function.
22241 (cgraph_node::dump): Use new function.
22242 (cgraph_edge::verify_count_and_frequency): New function created
22243 from verify_edge_count_and_frequency.
22244 (cgraph_edge::verify_corresponds_to_fndecl): New function created
22245 from verify_edge_corresponds_to_fndecl.
22246 (verify_edge_corresponds_to_fndecl): Delete.
22247 (cgraph_node::verify_node): Use new function.
22248 * cgraph.h (cgraph_edge::set_callee): New function.
22249 (cgraph_edge::dump_edge_flags): Likewise.
22250 (cgraph_edge::verify_corresponds_to_fndecl): Likewise.
22251
22252 2015-01-11 Jan Hubicka <hubicka@ucw.cz>
22253
22254 * ipa-utils.c (estimate_function_body_sizes): Do not
22255 free node params when called late with early=true.
22256
22257 2015-01-11 James Greenhalgh <james.greenhalgh@arm.com>
22258
22259 * doc/md.texi (Instruction Patterns): Rewrite text for
22260 clarity.
22261 (Example): Likewise.
22262
22263 2015-01-10 Sandra Loosemore <sandra@codesourcery.com>
22264
22265 * doc/invoke.texi (Option Summary): Break long lines.
22266 [(-fdiagnostics-color)]: Put long literal in @smallexample
22267 instead of inline.
22268 [(-fsanitize-recover)]: Likewise.
22269 [(-fdump-rtl-split*)]: Rewrite to fix over-full hbox.
22270 [(-ffast-math)]: Likewise.
22271 [(--param max-inline-insns-recursive)]: Likewise.
22272 [(--param max-inline-recursive-depth)]: Likewise.
22273 [(-mno-text-section-literals)]: Likewise.
22274
22275 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
22276
22277 * doc/install.texi: Update for libgomp being renamed from "GNU
22278 OpenMP Runtime Library" to "GNU Offloading and Multi Processing
22279 Runtime Library".
22280 * doc/sourcebuild.texi: Likewise.
22281
22282 2015-01-10 Anthony Green <green@moxielogic.com>
22283
22284 * config/moxie/moxie.c (moxie_option_override): Fix forcing of
22285 mul.x availability for moxiebox configuration.
22286
22287 2015-01-09 Anthony Green <green@moxielogic.com>
22288
22289 * config/moxie/moxie.md: Tabify assembly output.
22290
22291 2015-01-09 Anthony Green <green@moxielogic.com>
22292
22293 * config/moxie/moxie.md (CC_REG): Correct register definition.
22294
22295 2015-01-09 Sandra Loosemore <sandra@codesourcery.com>
22296
22297 * doc/invoke.texi ([-fvtable-verify]): Copy-edit and fix markup.
22298 ([-fvtv-debug], [-fvtv-counts]): Likewise. Correct location
22299 of log files.
22300
22301 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
22302
22303 * config/arm/arm.h (MAX_SYNC_LIBFUNC_SIZE): Delete semicolon.
22304
22305 2015-01-09 Bernd Schmidt <bernds@codesourcery.com>
22306 Jakub Jelinek <jakub@redhat.com>
22307
22308 PR middle-end/64412
22309 * lto-streamer.h (lto_stream_offload_p): New declaration.
22310 * lto-streamer.c (lto_stream_offload_p): New variable.
22311 * cgraphunit.c (ipa_passes): Set lto_stream_offload_p
22312 at the same time as section_name_prefix.
22313 * lto-streamer-out.c (hash_tree): Don't hash TREE_TARGET_OPTION
22314 if lto_stream_offload_p.
22315 * tree-streamer-out.c (streamer_pack_tree_bitfields): Don't
22316 stream TREE_TARGET_OPTION if lto_stream_offload_p.
22317 (write_ts_function_decl_tree_pointers): Don't
22318 stream DECL_FUNCTION_SPECIFIC_TARGET if lto_stream_offload_p.
22319 * tree-streamer-in.c (unpack_value_fields): Don't stream
22320 TREE_TARGET_OPTION in if ACCEL_COMPILER.
22321 (lto_input_ts_function_decl_tree_pointers): Don't stream
22322 DECL_FUNCTION_SPECIFIC_TARGET in if ACCEL_COMPILER.
22323 * lto-opts.c (lto_write_options): Use lto_stream_offload_p
22324 instead of section_name_prefix string comparisons.
22325
22326 2015-01-09 Jakub Jelinek <jakub@redhat.com>
22327
22328 PR rtl-optimization/64536
22329 * cfgrtl.c (rtl_tidy_fallthru_edge): Handle removal of degenerate
22330 tablejumps.
22331
22332 2015-01-09 Michael Collison <michael.collison@linaro.org>
22333
22334 PR tree-optimization/64322
22335 * tree-vrp.c (extract_range_from_binary_expr_1): Attempt to derive
22336 range for RSHIFT_EXPR even if vr0 range is not VR_RANGE or is symbolic.
22337
22338 2015-01-09 Tom de Vries <tom@codesourcery.com>
22339
22340 PR rtl-optimization/64539
22341 * regcprop.c (kill_clobbered_values): Factor out of ...
22342 (copyprop_hardreg_forward_1): ... here. Use kill_clobbered_values
22343 instead of note_stores with kill_clobbered_value.
22344
22345 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
22346
22347 * ginclude/unwind-arm-common.h: Revert previous commit.
22348
22349 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
22350
22351 * config.gcc (arm*-*-freebsd*): New configuration.
22352 * config/arm/freebsd.h: New file.
22353 * config.host: Add extra components for arm*-*-freebsd*.
22354 * config/arm/arm.h: Introduce MAX_SYNC_LIBFUNC_SIZE.
22355 * config/arm/arm.c (arm_init_libfuncs): Use MAX_SYNC_LIBFUNC_SIZE.
22356
22357 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
22358
22359 * config/rs6000/rtems.h (CPP_OS_RTEMS_SPEC): Define __PPC_CPU_E6500__
22360 for -mcpu=e6500.
22361 * config/rs6000/t-rtems: Add e6500 multilibs.
22362
22363 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
22364
22365 * config/rs6000/t-rtems: Add -mno-spe to soft-float multilib for
22366 MPC8540.
22367
22368 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
22369
22370 * config/rs6000/t-rtems: Use MULTILIB_REQUIRED instead of
22371 MULTILIB_EXCEPTIONS.
22372
22373 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
22374
22375 * config/arm/t-rtems: Use MULTILIB_REQUIRED instead of
22376 MULTILIB_EXCEPTIONS.
22377
22378 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
22379
22380 * config/arm/t-rtems-eabi: Rename to...
22381 * config/arm/t-rtems: ...this.
22382 * config/arm/rtems-eabi.h: Rename to...
22383 * config/arm/rtems.h: ...this.
22384 * config.gcc (arm*-*-rtems*): Reflect changes above.
22385
22386 2015-01-09 Richard Biener <rguenther@suse.de>
22387
22388 PR tree-optimization/64410
22389 * tree-ssa.c (non_rewritable_lvalue_p): Allow REALPART/IMAGPART_EXPR
22390 on the LHS.
22391 (execute_update_addresses_taken): Deal with that.
22392 * tree-ssa-forwprop.c (pass_forwprop::execute): Use component-wise
22393 loads/stores for complex variables.
22394
22395 2015-01-09 Martin Liska <mliska@suse.cz>
22396
22397 * ipa-icf-gimple.c (func_checker::compare_ssa_name): Enhance SSA
22398 name comparison.
22399 (func_checker::compare_memory_operand): New function.
22400 (func_checker::compare_operand): Split case to newly
22401 added functions.
22402 (func_checker::compare_cst_or_decl): New function.
22403 (func_checker::compare_gimple_call): Identify
22404 memory operands.
22405 (func_checker::compare_gimple_assign): Likewise.
22406 * ipa-icf-gimple.h: New function.
22407
22408 2015-01-09 Martin Liska <mliska@suse.cz>
22409
22410 PR ipa/64503
22411 * sreal.c (sreal::dump): Change unsigned format to signed for
22412 m_exp value.
22413 (sreal::to_double): Replace exp2 with scalbln.
22414
22415 2015-01-09 Martin Liska <mliska@suse.cz>
22416
22417 * cgraphunit.c (cgraph_node::create_wrapper): Fix level of indentation.
22418 * ipa-icf.c (sem_function::equals_private): Add support for target and
22419 (sem_item_optimizer::merge_classes): Remove redundant function
22420 optimization flags comparison.
22421 * tree.h (target_opts_for_fn): New function.
22422
22423 2015-01-09 Tom de Vries <tom@codesourcery.com>
22424
22425 * omp-low.c (expand_omp_for_static_chunk): Fix assert.
22426
22427 2015-01-09 Kito Cheng <kito@0xlab.org>
22428
22429 PR rtl-optimization/64348
22430 * lra-constraints.c (split_reg): Fix caller-save store/restore
22431 instruction generation.
22432
22433 2015-01-08 John David Anglin <danglin@gcc.gnu.org>
22434
22435 PR gcov-profile/61790
22436 * gcov-tool.c (do_rewrite): Use strtoll instead of atoll if host has
22437 long long. Fallback to int64_t if host doesn't have long long and
22438 use strtol if int64_t is long. Otherwise, use sscanf for conversion.
22439
22440 2015-01-08 Jakub Jelinek <jakub@redhat.com>
22441
22442 PR tree-optimization/63989
22443 * params.def (PARAM_MAX_TRACKED_STRLENS): Increment default
22444 from 1000 to 10000.
22445 * tree-ssa-strlen.c (get_strinfo): Moved earlier.
22446 (get_stridx): If we don't have a record for certain SSA_NAME,
22447 but it is POINTER_PLUS_EXPR of some SSA_NAME we do with
22448 constant offset, call get_stridx_plus_constant.
22449 (get_stridx_plus_constant): New function.
22450 (zero_length_string): Don't use get_stridx here.
22451
22452 PR target/55023
22453 PR middle-end/64388
22454 * dse.c (struct insn_info): Mention frame_read set also
22455 before reload for tail calls on some targets.
22456 (scan_insn): Revert 2014-12-22 change. Set frame_read
22457 also before reload for tail calls if
22458 HARD_FRAME_POINTER_IS_ARG_POINTER. Call add_wild_read
22459 instead of add_non_frame_wild_read for non-const/memset
22460 tail calls after reload.
22461
22462 2015-01-08 Jason Merrill <jason@redhat.com>
22463
22464 * ubsan.c (do_ubsan_in_current_function): New.
22465 (pass_ubsan::gate): Use it.
22466 * ubsan.h: Declare it.
22467 * convert.c (convert_to_integer): Use it.
22468
22469 2015-01-08 Jakub Jelinek <jakub@redhat.com>
22470
22471 PR target/64338
22472 * config/i386/i386.c (ix86_expand_int_movcc): Don't reverse
22473 compare_code when it is unconditionally overwritten afterwards.
22474 Use ix86_reverse_condition instead of reverse_condition. Don't
22475 change code if *reverse_condition* returned UNKNOWN and don't
22476 swap ct/cf and negate diff in that case.
22477
22478 2015-01-08 Mike Stump <mikestump@comcast.net>
22479
22480 * tsan.c (pass_tsan::gate): Add no_sanitize_thread support.
22481 (pass_tsan_O0::gate): Likewise.
22482 * extend.texi (Function Attributes): Add no_sanitize_thread
22483 documentation.
22484
22485 2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
22486
22487 * builtins.def (DEF_GOMP_BUILTIN): Also consider flag_offload_abi
22488 for registering builtins.
22489 * config/i386/intelmic-mkoffload.c (prepare_target_image): Don't
22490 add -fopenmp to the argv_obstack used when invoking
22491 compile_for_target.
22492
22493 * config/i386/intelmic-mkoffload.c (compile_for_target): Always
22494 add "-m32" or "-m64" to argv_obstack.
22495 (generate_host_descr_file): Likewise, when invoking host_compiler.
22496 (main): Always add "-m elf_i386" or "-m elf_x86_64" when invoking
22497 ld.
22498
22499 2015-01-08 Oleg Endo <olegendo@gcc.gnu.org>
22500
22501 * config/sh/sh-mem.cc: Use constant as second operand when emitting
22502 tstsi_t insns.
22503
22504 2015-01-08 Oleg Endo <olegendo@gcc.gnu.org>
22505
22506 PR target/55212
22507 * config/sh/sh.md (*addsi3_compact): Emit reg-reg copy instead of
22508 constant load if constant operand fits into I08.
22509
22510 2015-01-08 Jakub Jelinek <jakub@redhat.com>
22511
22512 PR sanitizer/64336
22513 * tree.c (build2_stat): Fix up initialization of TREE_READONLY
22514 and TREE_THIS_VOLATILE for MEM_REFs.
22515 (build5_stat): Fix up initialization of TREE_READONLY and
22516 TREE_THIS_VOLATILE for TARGET_MEM_REFs.
22517
22518 2015-01-08 Kaz Kojima <kkojima@gcc.gnu.org>
22519
22520 PR target/64533
22521 * config/sh/sh.md (*addsi3_compact): Use u constraint instead
22522 of r for the second alternative of the destination operand.
22523
22524 2015-01-07 Segher Boessenkool <segher@kernel.crashing.org>
22525
22526 PR target/36557
22527 * config/rs6000/rs6000.md (*eqsi3_ext<mode>, *nesi3_ext<mode>): New.
22528
22529 2015-01-07 Sandra Loosemore <sandra@codesourcery.com>
22530
22531 * doc/invoke.texi ([-fvtable-verify]): Fix markup on option
22532 keywords.
22533 ([-fivar-visibility], [-fvisibility]): Likewise.
22534
22535 2015-01-07 Sandra Loosemore <sandra@codesourcery.com>
22536
22537 * doc/invoke.texi: Fix incorrect uses of @samp markup throughout
22538 the file where @code, @command, etc is more appropriate.
22539
22540 2015-01-06 Sandra Loosemore <sandra@codesourcery.com>
22541
22542 * doc/invoke.texi (RS/6000 and PowerPC Options): Tidy formatting
22543 of -mrecip= documentation.
22544
22545 2015-01-06 Michael Meissner <meissner@linux.vnet.ibm.com>
22546
22547 PR target/64505
22548 * config/rs6000/rs6000.c (rs6000_secondary_reload): Return the
22549 correct reload handler if -m32 -mpowerpc64 is used.
22550
22551 2015-01-06 Tom de Vries <tom@codesourcery.com>
22552
22553 * tree-ssa-tail-merge.c: Fix typo in struct same_succ_def comment.
22554
22555 2015-01-08 Christian Bruel <christian.bruel@st.com>
22556
22557 PR target/64507
22558 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Check 0 length.
22559
22560 2015-01-06 Thomas Preud'homme <thomas.preudhomme@arm.com>
22561
22562 PR tree-optimization/63259
22563 * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Stop checking
22564 if optab exists for 16bit byteswap.
22565
22566 2015-01-06 Jakub Jelinek <jakub@redhat.com>
22567
22568 * opts.c (common_handle_option): Add support for
22569 -fno-sanitize=all and -f{,no-}sanitize-recover=all.
22570 * doc/invoke.texi: Document -fno-sanitize=all,
22571 -f{,no-}sanitize-recover=all. Document that
22572 -fsanitize=float-cast-overflow is not enabled
22573 by -fsanitize=undefined. Fix up documentation
22574 of -f{,no-}sanitize-recover.
22575
22576 2015-01-06 Eric Botcazou <ebotcazou@adacore.com>
22577
22578 * config.gcc: Add Visium support.
22579 * configure.ac: Likewise.
22580 * configure: Regenerate.
22581 * doc/extend.texi (interrupt attribute): Add Visium.
22582 * doc/invoke.texi: Document Visium options.
22583 * doc/install.texi: Document Visium target.
22584 * doc/md.texi: Document Visium constraints.
22585 * common/config/visium: New directory.
22586 * config/visium: Likewise.
22587
22588 2015-01-05 Segher Boessenkool <segher@kernel.crashing.org>
22589
22590 * simplify-rtx.c (simplify_binary_operation_1): Handle more cases
22591 for the "(and X (ior (not X) Y) -> (and X Y)" transform.
22592
22593 2015-01-05 Segher Boessenkool <segher@kernel.crashing.org>
22594
22595 * combine.c (combine_validate_cost): Do not count the cost of a
22596 split I2 twice. Do not display it twice in the dump, either.
22597
22598 2015-01-05 Sandra Loosemore <sandra@codesourcery.com>
22599
22600 Revert parts of r219199.
22601 * doc/invoke.texi ([-Wliteral-suffix]): Restore markup on
22602 <inttypes.h>.
22603 ([-Wtraditional]): Restore markup on <limits.h>.
22604
22605 2015-01-05 Trevor Saunders <tsaunders@mozilla.com>
22606
22607 PR c++/31397
22608 * doc/invoke.texi: Document -Wsuggest-override.
22609
22610 2015-01-05 Radovan Obradovic <radovan.obradovic@imgtec.com>
22611
22612 PR rtl-optimization/64287
22613 * toplev.c (HAVE_epilogue, HAVE_prologue): Provide default.
22614 (process_options): Disable flag_ipa_ra if profiling.
22615
22616 2015-01-05 Eric Botcazou <ebotcazou@adacore.com>
22617
22618 * config/nds32/nds32-peephole2.md: Do not mention define_peephole.
22619
22620 2015-01-05 Max Filippov <jcmvbkbc@gmail.com>
22621
22622 * config/xtensa/xtensa.c (hwloop_optimize, hwloop_fail,
22623 hwloop_pattern_reg, xtensa_doloop_hooks, xtensa_reorg_loops):
22624 put under #if TARGET_LOOPS guard.
22625
22626 2015-01-05 Uros Bizjak <ubizjak@gmail.com>
22627
22628 * config/i386/i386.c (output_387_binary_op): Use std::swap.
22629
22630 2015-01-05 Oleg Endo <olegendo@gcc.gnu.org>
22631
22632 * rtlanal.c (refers_to_regno_p): Change return value from int to bool.
22633 * rtl.h (refers_to_regno_p): Add overload.
22634 * cse.c: Use it.
22635 * bt-load.c: Likewise.
22636 * combine.c: Likewise.
22637 * df-scan.c: Likewise.
22638 * sched-deps.c: Likewise.
22639 * config/s390/s390.c: Likewise.
22640 * config/m32r/m32r.c: Likewise.
22641 * config/rs6000/spe.md: Likewise.
22642 * config/rs6000/rs6000.c: Likewise.
22643 * config/pa/pa.c: Likewise.
22644 * config/stormy16/stormy16.c: Likewise.
22645 * config/cris/cris.c: Likewise.
22646 * config/arc/arc.md: Likewise.
22647 * config/arc/arc.c: Likewise.
22648 * config/sh/sh.md: Likewise.
22649 * config/sh/sh.c: Likewise.
22650 * config/frv/frv.c: Likewise.
22651
22652 2015-01-05 Jakub Jelinek <jakub@redhat.com>
22653
22654 PR sanitizer/64265
22655 * gimplify.c (gimplify_function_tree): Add TSAN_FUNC_EXIT internal
22656 call as cleanup of the whole body.
22657 * internal-fn.def (TSAN_FUNC_EXIT): New internal call.
22658 * tsan.c (replace_func_exit): New function.
22659 (instrument_func_exit): Moved earlier.
22660 (instrument_memory_accesses): Adjust TSAN_FUNC_EXIT internal calls.
22661 Call instrument_func_exit if no TSAN_FUNC_EXIT internal calls have
22662 been found.
22663 (tsan_pass): Don't call instrument_func_exit.
22664 * internal-fn.c (expand_TSAN_FUNC_EXIT): New function.
22665 * tree-inline.c (copy_bb): Drop TSAN_FUNC_EXIT internal calls during
22666 inlining.
22667
22668 PR sanitizer/64344
22669 * ubsan.h (ubsan_instrument_float_cast): Add ARG argument.
22670 * ubsan.c (ubsan_instrument_float_cast): Add ARG argument, pass
22671 it to libubsan handler instead of EXPR. Fold comparisons earlier,
22672 if the result is integer_zerop, return NULL_TREE.
22673 * convert.c (convert_to_integer): Pass expr as ARG.
22674
22675 PR tree-optimization/64465
22676 * tree-inline.c (redirect_all_calls): During inlining
22677 clean up EH stmts and EH edges if redirect_call_stmt_to_callee
22678 changed the stmt to a non-throwing call.
22679
22680 2015-01-05 Sandra Loosemore <sandra@codesourcery.com>
22681
22682 * doc/invoke.texi: Fix incorrect uses of @code, @option, @samp,
22683 etc markup throughout the file.
22684
22685 2015-01-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
22686
22687 Enable experimental TSAN support for Ada.
22688 * tsan.c (instrument_expr): Handle VIEW_CONVERT_EXPR.
22689
22690 2015-01-05 Jakub Jelinek <jakub@redhat.com>
22691
22692 PR tree-optimization/64494
22693 * tree-ssa-loop-im.c (move_computations_dom_walker::before_dom): Also
22694 clear SSA_NAME_ANTI_RANGE_P flag.
22695
22696 2015-01-05 Marek Polacek <polacek@redhat.com>
22697
22698 * doc/extend.texi (Arrays of Length Zero): Add missing comma.
22699
22700 2015-01-05 Jakub Jelinek <jakub@redhat.com>
22701
22702 Update copyright years.
22703
22704 * gcc.c (process_command): Update copyright notice dates.
22705 * gcov-dump.c: Ditto.
22706 * gcov.c: Ditto.
22707 * doc/cpp.texi: Bump @copying's copyright year.
22708 * doc/cppinternals.texi: Ditto.
22709 * doc/gcc.texi: Ditto.
22710 * doc/gccint.texi: Ditto.
22711 * doc/gcov.texi: Ditto.
22712 * doc/install.texi: Ditto.
22713 * doc/invoke.texi: Ditto.
22714
22715 * auto-profile.c, auto-profile.h: Fix up Copyright line.
22716
22717 2015-01-04 Sandra Loosemore <sandra@codesourcery.com>
22718
22719 * doc/invoke.texi ([-fsized-deallocation]): Copy-edit to fix
22720 verb tense, etc.
22721 ([-fvtable-verify], [-fvtv-debug]): Likewise.
22722 ([-Wabi]): Likewise.
22723 ([-fmessage-length]): Likewise.
22724 ([-Wsuggest-final-types], [-Wsuggest-final-methods]): Likewise.
22725 ([-Wno-discarded-qualifiers]): Likewise.
22726 ([-Wnodiscarded-array-qualifiers]): Likewise.
22727 ([-Wno-virtual-move-assign]): Likewise.
22728 ([-fsanitize=address], [-fsanitize=thread]): Likewise.
22729 ([-fsanitize=leak], [-fsanitize=undefined]): Likewise.
22730 ([-fsanitize=unreachable], [-fsanitize-recover]): Likewise.
22731 ([-fsanitize-undefined-trap-on-error]): Likewise.
22732 ([-floop-interchange]): Likewise.
22733 ([-ftree-coalesce-inlined-vars]): Likewise.
22734 ([-fvect-cost-model]): Likewise.
22735 ([-flto]): Likewise.
22736 ([--param]): Likewise.
22737 (Spec Files): Likewise.
22738 ([-mstrict-align]): Likewise.
22739 ([-mfix-cortex-a53-835769]): Likewise.
22740 ([-march], [-mtune]): Likewise.
22741 ([-mpic-register]): Likewise.
22742 ([-munaligned-access]): Likewise.
22743 ([-msp8]): Likewise.
22744 (EIND and Devices with more than 128 Ki Bytes of Flash): Likewise.
22745 (AVR Built-in Macros): Likewise.
22746 ([-mpreferred-stack-boundary]): Likewise.
22747 ([-mtune-crtl]): Likewise.
22748 ([-mashf]): Likewise.
22749 ([-mmcu=]): Likewise.
22750 ([-minrt]): Likewise.
22751 ([-maltivec], [-maltivec=be], [-maltivec=le]): Likewise.
22752 ([-mupper-regs]): Likewise.
22753 ([-matomic-model]): Likewise.
22754 ([-mdiv]): Likewise.
22755 ([-mzdcbranch]): Likewise.
22756 ([-mdisable-callt]): Likewise.
22757 ([-msoft-float]): Likewise.
22758 ([-m8byte-align]): Likewise.
22759 ([-fstack-reuse]): Likewise.
22760
22761 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
22762
22763 * doc/invoke.texi ([-fprofile-generate], [-fprofile-use]):
22764 Fix markup, light copy-editing.
22765 ([-fauto-profile]): Rewrite to fix formatting and content
22766 problems.
22767
22768 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
22769
22770 * doc/invoke.texi ([-fisolate-erroneous-paths-dereference]):
22771 Copy-edit description.
22772 ([-fisolate-erroneous-paths-attribute]): Likewise.
22773 * common.opt (fisolate-erroneous-paths-dereference):
22774 Copy-edit description.
22775 (fisolate-erroneous-paths-attribute): Likewise.
22776
22777 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
22778
22779 * doc/invoke.texi ([-fsemantic-interposition]): Fix typos and
22780 tidy grammar.
22781
22782 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
22783
22784 * doc/invoke.texi ([-fplan9-extensions]): Add/fix @opindex.
22785 ([-fvtv-debug]): Likewise.
22786 ([-Wc++-compat]): Likewise.
22787 ([-Wc++11-compat]): Likewise.
22788 ([-Wc++14-compat]): Likewise.
22789 ([-Wno-sized-deallocation]): Likewise.
22790 ([-femit-class-debug-always]): Likewise.
22791 ([-femit-struct-debug-detailed]): Likewise.
22792 ([-fno-keep-inline-dllexport]): Likewise.
22793 ([-fira-algorithm]): Likewise.
22794 ([-fira-region]): Likewise.
22795 ([-flra-remat]): Likewise.
22796 ([-fipa-ra]): Likewise.
22797 ([-fhoist-adjacent-loads]): Likewise.
22798 ([-fisolate-erroneous-paths-dereference]): Likewise.
22799 ([-fisolate-erroneous-paths-attribute]): Likewise.
22800 ([-ftree-switch-conversion]): Likewise.
22801 ([-ftree-tail-merge]): Likewise.
22802 ([-ftree-loop-if-convert]): Likewise.
22803 ([-ftree-loop-if-convert-stores]): Likewise.
22804 ([-ftree-loop-distribution]): Likewise.
22805 ([-ftree-loop-distribute-patterns]): Likewise.
22806 ([-flto-compression-level]): Likewise.
22807 ([-flto-report]): Likewise.
22808 ([-flto-report-wpa]): Likewise.
22809 ([-fuse-linker-plugin]): Likewise.
22810 ([-mfix-cortex-a53-835769]): Likewise.
22811 ([-mno-fix-cortex-a53-835769]): Likewise.
22812 ([-mmmx]...[-mno-3dnow]): Remove the -mno- forms from the
22813 explicit listing; add a note to the discussion indicating they
22814 exist. Reorder table to group similar options. Add missing
22815 @opindex entries. Add @need commands throughout the table to
22816 allow it to be split across multiple pages.
22817 ([-m8bit-idiv]): Fix @opindex.
22818 ([-mavx256-split-unaligned-load]): Likewise.
22819 ([-mavx256-split-unaligned-store]): Likewise.
22820 ([-mstack-protector-guard]): Likewise.
22821 ([-mcpu=]): Likewise.
22822 ([-mcpu]): Likewise.
22823 ([-mpointer-size=]): Likewise.
22824
22825 2015-01-03 John David Anglin <danglin@gcc.gnu.org>
22826
22827 * config/pa/pa.md (decrement_and_branch_until_zero): Use `Q' constraint
22828 instead of `m' constraint. Likewise for unnamed movb comparison
22829 patterns using reg_before_reload_operand predicate.
22830 * config/pa/predicates.md (reg_before_reload_operand): Tighten
22831 predicate to reject register index and LO_SUM DLT memory forms
22832 after reload.
22833
22834 2015-01-02 Sandra Loosemore <sandra@codesourcery.com>
22835
22836 * doc/invoke.texi (Option Summary): Fix spelling of
22837 -fdevirtualize-at-ltrans.
22838 ([-fdevirtualize]): Fix markup.
22839 ([-fdevirtualize-speculatively]): Fix typo.
22840 ([-fdevirtualize-at-ltrans]): Likewise. Make description less
22841 implementor-speaky.
22842 * common.opt (fdevirtualize-at-ltrans): Likewise.
22843 * ipa-devirt.c: Fix typos in comments throughout the file.
22844 (ipa_devirt): Fix typos in format strings for dump output.
22845
22846 2015-01-02 Sandra Loosemore <sandra@codesourcery.com>
22847
22848 * doc/invoke.texi ([-fopt-info]): Fix markup, consolidate
22849 discussion of defaults, light copy-editing.
22850
22851 2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
22852
22853 * tsan.c (instrument_expr): corrected previous checkin.
22854
22855 2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
22856
22857 Instrument bit field and unaligned accesses for TSAN.
22858 * sanitizer.def (BUILT_IN_TSAN_READ_RANGE): New built-in function.
22859 (BUILT_IN_TSAN_WRITE_RANGE): New built-in function.
22860 * tsan.c (instrument_expr): Handle COMPONENT_REF and BIT_FIELD_REF.
22861 Use BUILT_IN_TSAN_READ_RANGE and BUILT_IN_TSAN_WRITE_RANGE for
22862 unaligned memory regions.
22863
22864 2015-01-01 Anthony Green <green@moxielogic.com>
22865
22866 * config/moxie/predicates.md (moxie_general_movsrc_operand):
22867 Restrict move source register offsets to 16 bits.
22868 \f
22869 Copyright (C) 2015 Free Software Foundation, Inc.
22870
22871 Copying and distribution of this file, with or without modification,
22872 are permitted in any medium without royalty provided the copyright
22873 notice and this notice are preserved.