[Patch ARM/AArch64 obvious] Fix typo: Rename insn_reservation cortex_53_advsimd to...
[gcc.git] / gcc / ChangeLog
1 2015-07-22 James Greenhalgh <james.greenhalgh@arm.com>
2
3 * config/arm/cortex-a53 (cortex_53_advsimd): Rename to...
4 (cortex_a53_advsimd): ...This.
5
6 2015-07-22 Richard Biener <rguenther@suse.de>
7
8 * genmatch.c (expr::gen_transform): Clarify error message
9 and display location.
10
11 2015-07-22 Richard Biener <rguenther@suse.de>
12
13 * genmatch.c (struct operand): Add location member.
14 (predicate, expr, c_expr, capture, if_expr, with_expr): Adjust
15 constructors.
16 (struct simplify): Remove match_location and result_location
17 members.
18 (elsehwere): Adjust.
19
20 2015-07-22 Prachi Godbole <prachi.godbole@imgtec.com>
21
22 * config/mips/m5100.md: New file.
23 * config/mips/mips-cpus.def (m5100, m5101): Define.
24 * config/mips/mips-tables.opt: Regenerate.
25 * config/mips/mips.c (mips_rtx_cost_data): Add costs for m5100.
26 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Map -march=m5100 and
27 -march=m5101 to -mips32r5.
28 (MIPS_ARCH_FLOAT_SPEC): Map -m5101 to -msoft-float.
29 (MIPS_ISA_NAN2008_SPEC): Map -march=m51* to -mnan=2008 if
30 !-msoft-float.
31 * config/mips/mips.md: Include m5100.md.
32 (processor): Add m5100.
33 * doc/invoke.texi (-march=@var{arch}): Add m5100, m5101.
34
35 2015-07-22 Robert Suchanek <robert.suchanek@imgtec.com>
36
37 * config/mips/mips-cpus.def (interaptiv): Define.
38 * config/mips/mips-tables.opt: Regenerate.
39 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Map -march=interaptiv to
40 -mips32r2.
41 (BASE_DRIVER_SELF_SPECS): Likewise but map to -mdsp.
42 * doc/invoke.texi (-march=@var{arch}): Add interaptiv.
43
44 2015-07-22 Jiong Wang <jiong.wang@arm.com>
45
46 PR target/63521
47 * config/aarch64/aarch64.h (REG_ALLOC_ORDER): Define.
48 (HONOR_REG_ALLOC_ORDER): Define.
49
50 2015-07-22 Richard Biener <rguenther@suse.de>
51
52 PR tree-optimization/66952
53 * tree-ssa-ifcombine.c (pass_tree_ifcombine::execute): For
54 blocks we end up executing unconditionally reset all SSA
55 info such as range and alignment.
56 * tree-ssanames.h (reset_flow_sensitive_info): Declare.
57 * tree-ssanames.c (reset_flow_sensitive_info): New function.
58
59 2015-07-22 Charles Baylis <charles.baylis@linaro.org>
60
61 * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>): Fix
62 typo in attribute.
63
64 2015-07-22 Richard Biener <rguenther@suse.de>
65
66 * genmatch.c (parser::parse_result): Properly handle
67 match with result operands and conditions.
68
69 2015-07-22 Charles Baylis <charles.baylis@linaro.org>
70
71 PR target/63870
72 * config/aarch64/aarch64-builtins.c (enum aarch64_type_qualifiers):
73 Add qualifier_struct_load_store_lane_index.
74 (aarch64_types_loadstruct_lane_qualifiers): Use
75 qualifier_struct_load_store_lane_index for lane index argument for
76 last argument.
77 (aarch64_types_storestruct_lane_qualifiers): Ditto.
78 (builtin_simd_arg): Add SIMD_ARG_STRUCT_LOAD_STORE_LANE_INDEX.
79 (aarch64_simd_expand_args): Add new argument describing mode of
80 builtin. Check lane bounds for arguments with
81 SIMD_ARG_STRUCT_LOAD_STORE_LANE_INDEX.
82 (aarch64_simd_expand_builtin): Emit error for incorrect lane indices
83 if marked with SIMD_ARG_STRUCT_LOAD_STORE_LANE_INDEX.
84 (aarch64_simd_expand_builtin): Handle arguments with
85 qualifier_struct_load_store_lane_index. Pass machine mode of builtin to
86 aarch64_simd_expand_args.
87 * config/aarch64/aarch64-simd-builtins.def: Declare ld[234]_lane and
88 vst[234]_lane with BUILTIN_VALLDIF.
89 * config/aarch64/aarch64-simd.md:
90 (aarch64_vec_load_lanesoi_lane<mode>): Use VALLDIF iterator. Perform
91 endianness reversal on lane index.
92 (aarch64_vec_load_lanesci_lane<mode>): Ditto.
93 (aarch64_vec_load_lanesxi_lane<mode>): Ditto.
94 (vec_store_lanesoi_lane<mode>): Use VALLDIF iterator.
95 (vec_store_lanesci_lane<mode>): Ditto.
96 (vec_store_lanesxi_lane<mode>): Ditto.
97 (aarch64_ld2_lane<mode>): Use VALLDIF iterator. Remove endianness
98 reversal of lane index.
99 (aarch64_ld3_lane<mode>): Ditto.
100 (aarch64_ld4_lane<mode>): Ditto.
101 (aarch64_st2_lane<mode>): Ditto.
102 (aarch64_st3_lane<mode>): Ditto.
103 (aarch64_st4_lane<mode>): Ditto.
104 * config/aarch64/arm_neon.h (__LD2_LANE_FUNC): Rename mode parameter
105 to qmode. Add new mode parameter. Update uses.
106 (__LD3_LANE_FUNC): Ditto.
107 (__LD4_LANE_FUNC): Ditto.
108 (__ST2_LANE_FUNC): Ditto.
109 (__ST3_LANE_FUNC): Ditto.
110 (__ST4_LANE_FUNC): Ditto.
111
112 2015-07-22 Jonathan Wakely <jwakely@redhat.com>
113
114 * doc/invoke.texi (Language Independent Options): Rename node to
115 Diagnostic Message Formatting Options.
116
117 2015-07-21 Vladimir Makarov <vmakarov@redhat.com>
118
119 PR ipa/66424.
120 * lra-remat.c (operand_to_remat): Prevent using insns with input
121 subregs processed separately by IRA.
122
123 2015-07-21 Andrew MacLeod <amacleod@redhat.com>
124
125 * ssa-iterators.h (has_zero_uses, has_single_use): Implement as
126 straight loops.
127 (single_imm_use): Check for iterator node.
128 (num_imm_uses): Likewise.
129 * tree-ssa-operands.c (has_zero_uses_1): Delete.
130 (single_imm_use_1): Check for iterator node.
131
132 2015-07-21 Mike Frysinger <vapier@gentoo.org>
133 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
134
135 * configure.ac: Add check for new options in isl-0.15.
136 * config.in, configure: Rebuilt.
137 * graphite-blocking.c: Include <isl/constraint.h>
138 * graphite-interchange.c, graphite-poly.c: Likewise.
139 * graphhite-scop-detection.c, graphite-sese-to-poly.c: Likewise.
140 * graphite.c: Likewise.
141 * graphite-isl-ast-to-gimple.c: Include <isl/constraint.h> and
142 <isl/union_set.h>.
143 * graphite-dependences.c: Include <isl/constraint.h>.
144 (max_number_of_out_dimensions): Returns isl_stat.
145 (extend_schedule_1): Likewise
146 (extend_schedule): Corresponding changes.
147 * graphite-optimize-isl.c: Include <isl/constraint.h> and
148 <isl/union_set.h>.
149 (getSingleMap): Change return type of isl_stat.
150 (optimize_isl): Conditionally use
151 isl_options_set_schedule_serialize_sccs.
152 * graphite-poly.h (isl_stat, isl_stat_ok): Define fallbacks
153 if not HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS.
154
155 2015-07-21 Georg-Johann Lay <avr@gjlay.de>
156
157 PR target/66956
158 * config/avr/avr-dimode.md (<extend_u>mulsidi3_insn)
159 (<extend_u>mulsidi3): Don't use if !AVR_HAVE_MUL.
160
161 2015-07-21 Richard Biener <rguenther@suse.de>
162
163 PR tree-optimization/66948
164 * genmatch.c (capture_info::walk_match): Also recurse to
165 captures. Properly compute expr state from captures of
166 captures.
167 * match.pd: Add single-use guards to
168 (X & C2) >> C1 into (X >> C1) & (C2 >> C1) transform.
169
170 2015-07-21 Nathan Sidwell <nathan@codesourcery.com>
171
172 * config/nvptx/mkoffload.c (process): Add static destructor call.
173
174 2015-07-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
175
176 PR middle-end/66915
177 * match.pd (A - B -> A + (-B)): Don't allow folding
178 when type if a fixed-point type.
179
180 2015-07-20 DJ Delorie <dj@redhat.com>
181
182 * config/rl78/rl78-real.md (andqi3_real): Expand operands for clr1.
183 (iorqi3_real): Likewise for set1.
184
185 2015-07-20 Uros Bizjak <ubizjak@gmail.com>
186
187 * config/i386/i386.c (ix86_md_asm_adjust): Handle DImode dest_mode
188 for !TARGET_64BIT.
189
190 2015-07-20 Aditya Kumar <hiraditya@msn.com>
191
192 * graphite-isl-ast-to-gimple.c:
193 Refactor so that each function can access 'region'. This will help
194 maintain a parameter rename_map within a region.
195
196 2015-07-20 Segher Boessenkool <segher@kernel.crashing.org>
197
198 * config/rs6000/rs6000.md (*lt0_disi): New.
199
200 2015-07-20 Segher Boessenkool <segher@kernel.crashing.org>
201
202 PR target/66217
203 * config/rs6000/constraints.md ("S", "T", "t"): Delete. Update
204 "available letters" comment.
205 * config/rs6000/predicates.md (mask_operand, mask_operand_wrap,
206 mask64_operand, mask64_2_operand, any_mask_operand, and64_2_operand,
207 and_2rld_operand): Delete.
208 (and_operand): Adjust.
209 (rotate_mask_operator): New.
210 * config/rs6000/rs6000-protos.h (build_mask64_2_operands,
211 includes_lshift_p, includes_rshift_p, includes_rldic_lshift_p,
212 includes_rldicr_lshift_p, insvdi_rshift_rlwimi_p, extract_MB,
213 extract_ME): Delete.
214 (rs6000_is_valid_mask, rs6000_is_valid_and_mask,
215 rs6000_is_valid_shift_mask, rs6000_is_valid_insert_mask,
216 rs6000_insn_for_and_mask, rs6000_insn_for_shift_mask,
217 rs6000_insn_for_insert_mask, rs6000_is_valid_2insn_and,
218 rs6000_emit_2insn_and): New.
219 * config/rs6000/rs6000.c (num_insns_constant): Adjust.
220 (build_mask64_2_operands, includes_lshift_p, includes_rshift_p,
221 includes_rldic_lshift_p, includes_rldicr_lshift_p,
222 insvdi_rshift_rlwimi_p, extract_MB, extract_ME): Delete.
223 (rs6000_is_valid_mask, rs6000_is_valid_and_mask,
224 rs6000_insn_for_and_mask, rs6000_is_valid_shift_mask,
225 s6000_insn_for_shift_mask, rs6000_is_valid_insert_mask,
226 rs6000_insn_for_insert_mask, rs6000_is_valid_2insn_and,
227 rs6000_emit_2insn_and): New.
228 (print_operand) <'b', 'B', 'm', 'M', 's', 'S', 'W'>: Delete.
229 (rs6000_rtx_costs) <CONST_INT>: Delete mask_operand and mask64_operand
230 handling.
231 <NOT>: Don't fall through to next case.
232 <AND>: Handle the various rotate-and-mask cases directly.
233 <IOR>: Always cost as one insn.
234 * config/rs6000/rs6000.md (splitter for bswap:SI): Adjust.
235 (and<mode>3): Adjust expander for the new patterns.
236 (and<mode>3_imm, and<mode>3_imm_dot, and<mode>3_imm_dot2,
237 and<mode>3_imm_mask_dot, and<mode>3_imm_mask_dot2): Adjust condition.
238 (*and<mode>3_imm_dot_shifted): New.
239 (*and<mode>3_mask): Delete, rewrite as ...
240 (and<mode>3_mask): ... New.
241 (*and<mode>3_mask_dot, *and<mode>3_mask_dot): Rewrite.
242 (andsi3_internal0_nomc): Delete.
243 (*andsi3_internal6): Delete.
244 (*and<mode>3_2insn): New.
245 (insv, insvsi_internal, *insvsi_internal1, *insvsi_internal2,
246 *insvsi_internal3, *insvsi_internal4, *insvsi_internal5,
247 *insvsi_internal6, insvdi_internal, *insvdi_internal2,
248 *insvdi_internal3): Delete.
249 (*rotl<mode>3_mask, *rotl<mode>3_mask_dot, *rotl<mode>3_mask_dot2,
250 *rotl<mode>3_insert, *rotl<mode>3_insert_2, *rotl<mode>3_insert_3,
251 *rotl<mode>3_insert_4, two splitters for multi-precision shifts,
252 *ior<mode>_mask): New.
253 (extzv, extzvdi_internal, *extzvdi_internal1, *extzvdi_internal2,
254 *rotlsi3_mask, *rotlsi3_mask_dot, *rotlsi3_mask_dot2,
255 *ashlsi3_imm_mask, *ashlsi3_imm_mask_dot, *ashlsi3_imm_mask_dot2,
256 *lshrsi3_imm_mask, *lshrsi3_imm_mask_dot, *lshrsi3_imm_mask_dot2):
257 Delete.
258 (ashr<mode>3): Delete expander.
259 (*ashr<mode>3): Rename to ...
260 (ashr<mode>3): ... This.
261 (ashrdi3_no_power, *ashrdisi3_noppc64be): Delete.
262 (*rotldi3_internal4, *rotldi3_internal5 and split,
263 *rotldi3_internal6 and split, *ashldi3_internal4, ashldi3_internal5
264 and split, *ashldi3_internal6 and split, *ashldi3_internal7,
265 ashldi3_internal8 and split, *ashldi3_internal9 and split): Delete.
266 (*anddi3_2rld, *anddi3_2rld_dot, *anddi3_2rld_dot2): Delete.
267 (splitter for loading a mask): Adjust.
268 * doc/md.texi (Machine Constraints): Remove q, S, T, t constraints.
269
270 2015-07-20 Marek Polacek <polacek@redhat.com>
271
272 * genemit.c (print_code, gen_exp, gen_insn, gen_expand, gen_split,
273 output_add_clobbers, output_added_clobbers_hard_reg_p,
274 gen_rtx_scratch): Remove declarations.
275
276 2015-07-20 Marek Polacek <polacek@redhat.com>
277
278 PR c++/55095
279 * doc/invoke.texi: Document -Wshift-overflow and -Wshift-overflow=.
280
281 2015-07-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
282
283 * simplify-rtx.c (simplify_unary_operation_1, NEG case):
284 (neg (x ? (neg y) : y)) -> !x ? (neg y) : y.
285
286 2015-07-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
287
288 * combine.c (combine_simplify_rtx): Move simplification step
289 before various transformations/substitutions.
290
291 2015-07-20 Mikhail Maltsev <maltsevm@gmail.com>
292
293 * wide-int.h (struct binary_traits): Fix partial specialization syntax.
294 (struct int_traits): Likewise.
295
296 2015-07-18 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
297
298 * vmsdbgout.c (vmsdbgout_decl): Change name of prototyped
299 function to vmsdbgout_function_decl.
300
301 2015-07-18 Uros Bizjak <ubizjak@gmail.com>
302
303 PR target/66922
304 * config/i386/i386.c (ix86_expand_pextr): Reject extractions
305 from misaligned positions.
306 (ix86_expand_pinsr): Reject insertions to misaligned positions.
307
308 2015-07-18 Sebastian Pop <s.pop@samsung.com>
309
310 PR middle-end/46851
311 PR middle-end/60340
312 * Makefile.in: Removed omega.o.
313 * common.opt: Document flag fcheck-data-deps as deprecated.
314 * doc/invoke.texi: Remove documentation for fcheck-data-deps and
315 its associated params: omega-max-vars, omega-max-geqs,
316 omega-max-eqs, omega-max-wild-cards, omega-hash-table-size,
317 omega-max-keys, omega-eliminate-redundant-constraints.
318 * doc/loop.texi: Remove all the section on Omega.
319 * graphite-blocking.c: Include missing params.h: it used to be
320 included through tree-data-ref.h and omega.h.
321 * graphite-isl-ast-to-gimple.c: Same.
322 * graphite-optimize-isl.c: Same.
323 * graphite-sese-to-poly.c: Same.
324 * graphite.c: Same.
325 * omega.c: Remove.
326 * omega.h: Remove.
327 * params.def: Removed PARAM_OMEGA_MAX_VARS, PARAM_OMEGA_MAX_GEQS,
328 PARAM_OMEGA_MAX_EQS, PARAM_OMEGA_MAX_WILD_CARDS,
329 PARAM_OMEGA_HASH_TABLE_SIZE, PARAM_OMEGA_MAX_KEYS, and
330 PARAM_OMEGA_ELIMINATE_REDUNDANT_CONSTRAINTS.
331 * passes.def: Remove pass_check_data_deps.
332 * tree-data-ref.c (dump_affine_function): Declare DEBUG_FUNCTION.
333 (dump_conflict_function): Same.
334 (dump_subscript): Same.
335 (print_direction_vector): Same.
336 (print_dir_vectors): Same.
337 (print_lambda_vector): Same.
338 (print_dist_vectors): Same.
339 (dump_data_dependence_relation): Same.
340 (dump_data_dependence_relations): Same.
341 (dump_dist_dir_vectors): Same.
342 (dump_ddrs): Same.
343 (init_omega_eq_with_af): Removed.
344 (omega_extract_distance_vectors): Removed.
345 (omega_setup_subscript): Removed.
346 (init_omega_for_ddr_1): Removed.
347 (init_omega_for_ddr): Removed.
348 (ddr_consistent_p): Removed.
349 (compute_affine_dependence): Do not use omega to check data
350 dependences.
351 (compute_data_dependences_for_bb): Removed.
352 (analyze_all_data_dependences): Removed.
353 (tree_check_data_deps): Removed.
354 * tree-data-ref.h: Do not include omega.h.
355 (compute_data_dependences_for_bb): Removed.
356 (tree_check_data_deps): Removed.
357 * tree-ssa-loop.c (pass_check_data_deps): Removed.
358 (make_pass_check_data_deps): Removed.
359 * tree-ssa-phiopt.c: Include params.h.
360 * tree-vect-data-refs.c: Same.
361 * tree-vect-slp.c: Same.
362
363 2015-07-18 Uros Bizjak <ubizjak@gmail.com>
364
365 * config/i386/i386.md (pushsf splitter): Pass curr_insn to
366 find_constant_src. FAIL if find_constant_src returns NULL_RTX.
367 (mem->fpreg splitters): Ditto.
368 (general_operand->nonimmediate_operand splitter): Use explicit modes.
369 Disable DFmode for TARGET_64BIT.
370
371 2015-07-17 H.J. Lu <hongjiu.lu@intel.com>
372
373 PR target/66906
374 * config/i386/i386.c (ix86_expand_prologue): Replicate static
375 chain on the stack.
376
377 2015-07-17 Nathan Sidwell <nathan@codesourcery.com>
378
379 * config/nvptx/mkoffload.c (process): Constify host data.
380 * config/i386/intelmic-mkoffload.c (generate_target_descr_file):
381 Constify host data.
382 (generate_host_descr_file): Likewise.
383
384 2015-07-17 Aditya Kumar <aditya.k7@samsung.com>
385 Sebastian Pop <s.pop@samsung.com>
386
387 PR middle-end/61929
388 * graphite-dependences.c (add_pdr_constraints): Renamed
389 pdr->extent to pdr->subscript_sizes.
390 * graphite-interchange.c (build_linearized_memory_access): Add
391 back all gcc_assert's that the "isl_int to isl_val conversion"
392 patch has removed. Refactored.
393 (pdr_stride_in_loop): Renamed pdr->extent to pdr->subscript_sizes.
394 * graphite-poly.c (new_poly_dr): Same.
395 (free_poly_dr): Same.
396 * graphite-poly.h (struct poly_dr): Same.
397 * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Ignore
398 all data references other than ARRAY_REF, MEM_REF, and COMPONENT_REF.
399 * graphite-scop-detection.h: Fix space.
400 * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Add
401 back all gcc_assert's removed by a previous patch.
402 (wrap): Remove the_isl_ctx global variable that the same patch has
403 added.
404 (build_loop_iteration_domains): Same.
405 (add_param_constraints): Same.
406 (pdr_add_data_dimensions): Same. Refactored.
407 (build_poly_dr): Renamed extent to subscript_sizes.
408
409 2015-07-17 Marek Polacek <polacek@redhat.com>
410
411 * fold-const.c (fold_binary_loc): Move A - (A & B) into ~B & A ...
412 * match.pd: ... here.
413
414 2015-07-17 Nathan Sidwell <nathan@codesourcery.com>
415
416 * config/nvptx/mkoffload.c (process): Constify target data.
417 * config/i386/intelmic-mkoffload.c (generate_target_descr_file):
418 Constify target data.
419 (generate_target_offloadend_file): Likewise.
420
421 2015-07-17 Yuri Rumyantsev <ysrumyan@gmail.com>
422
423 * tree-vect-loop-manip.c (rename_variables_in_bb): Add argument
424 to allow renaming of PHI arguments on edges incoming from outer
425 loop header, add corresponding check before start PHI iterator.
426 (slpeel_tree_duplicate_loop_to_edge_cfg): Introduce new bool
427 variable DUPLICATE_OUTER_LOOP and set it to true for outer loops
428 with true force_vectorize. Set-up dominator for outer loop too.
429 Pass DUPLICATE_OUTER_LOOP as argument to rename_variables_in_bb.
430 (slpeel_can_duplicate_loop_p): Allow duplicate of outer loop if it
431 was marked with force_vectorize and has restricted cfg.
432 (slpeel_tree_peel_loop_to_edge): Do not rename exit PHI uses in
433 inner loop.
434 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Do not
435 do peeling for outer loops.
436
437 2015-07-17 Yvan Roux <yvan.roux@linaro.org>
438 Matthias Klose <doko@ubuntu.com>
439
440 * configure.ac: Move AC_ARG_WITH checks for native-system-header-dir,
441 build-sysroot, sysroot from the `Miscenalleous configure options' to
442 the `Directories' section and strip trailing `/' from with_sysroot.
443 (gcc_gxx_include_dir): Don't strip a `/' sysroot value.
444 * configure: Regenerated.
445
446 2015-07-17 Uros Bizjak <ubizjak@gmail.com>
447
448 PR target/66824
449 * config/i386/i386.h (TARGET_HARD_SF_REGS): New define.
450 (TARGET_HARD_DF_REGS): Ditto.
451 (TARGET_HARD_XF_REGS): Ditto.
452 * config/i386/i386.md (*movxf_internal): Add alternatives 9 and 10.
453 Enable alternatives 9 and 10 only for !TARGET_HARD_XF_REG target.
454 (*movdf_internal): Add alternatives 22, 23, 24 and 25. Enable
455 alternatives 22, 23, 24 and 25 only for !TARGET_HARD_DF_REG target.
456 (*movsf_internal): Add alternatives 16 and 17. Enable
457 alternatives 16 and 17 only for !TARGET_HARD_SF_REG target.
458
459 2015-07-17 Uros Bizjak <ubizjak@gmail.com>
460
461 PR rtl-optimization/66891
462 * calls.c (expand_call): Wrap precompute_register_parameters with
463 NO_DEFER_POP/OK_DEFER_POP to prevent deferred pops.
464
465 2015-07-16 Nathan Sidwell <nathan@codesourcery.com>
466
467 * config/nvptx/mkoffload.c (process): Constify mapping variables.
468 Define target data struct and initialize it.
469
470 2015-07-16 Vladimir Makarov <vmakarov@redhat.com>
471
472 PR rtl-optimization/66626
473 * ira.h (emit-rtl.h): Include.
474 (non_spilled_static_chain_regno_p): New.
475 * ira-color.c (setup_profitable_hard_regs): Clear profitable regs
476 unless it is non spilled static chain pseudo.
477 (assign_hard_rego): Spill memory profitable allocno unless it is
478 non spilled static chain pseudo.
479 (allocno_spill_priority_compare): Put non spilled static chain
480 pseudo at the end of sorted array.
481 (improve_allocation): Do nothing if we have static chain and
482 non-local goto.
483 (allocno__priority_compare_func): Put non spilled static chain
484 pseudo at the beginning of sorted array.
485 (move_spill_restore): Ignore non spilled static chain pseudo.
486 * ira-costs.c (find_costs_and_classes): Don't assign class NO_REGS
487 to non spilled static chain pseudo.
488 * lra-assigns.c (pseudo_compare_func): Put non spilled static chain
489 pseudo at the beginning of sorted array.
490 (spill_for): Spill non spilled static chain pseudo last.
491 * lra-constraints.c (lra_constraints): Remove static chain pseudo
492 check for equivalence.
493
494 2015-07-16 Martin Liska <mliska@suse.cz>
495
496 PR ipa/66896.
497 * ipa-prop.c (update_jump_functions_after_inlining): Create properly
498 dst_ctx if it does not exist.
499
500 2015-07-16 Martin Liska <mliska@suse.cz>
501
502 * hash-set.h (remove): New function.
503 (iterator): New iteration class for hash_set.
504
505 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
506
507 * genattrtab.c (make_canonical): Add a file_location parameter.
508 Use fatal_at rather than fatal.
509 (get_attr_value): Likewise. Update call to make_canonical.
510 (fill_attr, make_length_attrs, optimize_attrs, gen_attr)
511 (make_internal_attr): Update calls accordingly.
512
513 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
514
515 * read-md.h (message_with_line, error_with_line): Delete.
516 * read-md.c (message_with_line, error_with_line): Delete.
517 * gensupport.h: Include read-md.h.
518 (md_rtx_info): New structure.
519 (read_md_rtx): Use it. Return a bool success value.
520 * gensupport.c (read_md_rtx): Likewise.
521 * genattr-common.c (gen_attr): Take an md_rtx_info rather than an rtx.
522 (main): Update after interface changes.
523 * genattr.c (gen_attr): Take an md_rtx_info rather than an rtx.
524 (main): Update after interface changes.
525 * genattrtab.c (insn_code_number): Delete.
526 (optimize_attrs): Add a max_insn_code parameter and use it instead
527 of insn_code_number.
528 (gen_attr): Take an md_rtx_info rather than an rtx and lineno.
529 Use *_at rather than *_with_line functions.
530 (gen_insn): Likewise.
531 (gen_delay): Likewise.
532 (gen_insn_reserv): Likewise.
533 (gen_bypass): Take an md_rtx_info rather than an rtx.
534 (main): Update after interface changes. Use a local max_insn_code
535 variable instead of insn_code_number.
536 * genautomata.c (gen_cpu_unit): Take an md_rtx_info rather than
537 an rtx. Use fatal_at rather than fatal.
538 (gen_query_cpu_unit, gen_bypass, gen_excl_set)
539 (gen_presence_absence_set, gen_presence_set, gen_final_presence_set)
540 (gen_absence_set, gen_final_absence_set, gen_automaton)
541 (gen_automata_option, gen_reserv, gen_insn_reserv): Likewise.
542 (main): Update after interface changes.
543 * gencodes.c (gen_insn): Take an md_rtx_info rather than an rtx
544 and code number.
545 (main): Update after interface changes.
546 * genconditions.c (main): Use new read_md_rtx interface.
547 * genconfig.c (gen_insn): Take an md_rtx_info rather than an rtx.
548 (gen_expand, gen_split, gen_peephole, gen_peephole2): Likewise.
549 (main): Update after interface changes.
550 * genemit.c (insn_code_number, insn_index_number): Delete.
551 (gen_insn): Take an md_rtx_info rather than an rtx and lineno.
552 Use fatal_at rather than fatal.
553 (gen_expand): Take an md_rtx_info rather than an rtx. Use fatal_at
554 rather than fatal.
555 (gen_split): Likewise.
556 (main): Update after interface changes.
557 * genextract.c (line_no): Delete.
558 (gen_insn): Take an md_rtx_info rather than an rtx and lineno.
559 Update call to walk_rtx.
560 (VEC_safe_set_locstr): Add an md_rtx_info argument. Use message_at
561 rather than message_with_line.
562 (walk_rtx): Add an md_rtx_info argument. Update call to
563 VEC_safe_set_locstr.
564 (main): Update after interface changes.
565 * genflags.c (gen_insn): Take an md_rtx_info rather than an rtx
566 and lineno. Use error_at rather than separate message_with_line
567 calls and have_error assignments.
568 (main): Update after interface changes.
569 * genmddump.c (main): Use new read_md_rtx interface.
570 * genopinit.c (insn): Take an md_rtx_info rather than an rtx.
571 (main): Update after interface changes.
572 * genoutput.c (next_code_number): Delete.
573 (gen_insn): Take an md_rtx_info rather than an rtx and lineno.
574 (gen_peephole, gen_expand, gen_split): Likewise.
575 (note_constraint): Likewise. Use *_at rather than *_with_line
576 functions.
577 (main): Update after interface changes.
578 * genpeep.c (gen_peephole): Take an md_rtx_info rather than an
579 rtx and lineno.
580 (main): Update after interface changes.
581 * genpreds.c (process_define_predicate): Take an md_rtx_info rather
582 than an rtx and lineno.
583 (process_define_constraint): Likewise.
584 (process_define_register_constraint): Likewise.
585 (main): Update after interface changes.
586 * genrecog.c (next_insn_code, pattern_lineno): Delete.
587 (validate_pattern): Replace top-level rtx with an md_rtx_info.
588 Use *_at rather than *_with_line functions.
589 (match_pattern_2): Likewise.
590 (match_pattern_1, match_pattern): Add an md_rtx_info parameter.
591 (get_peephole2_pattern): Take an md_rtx_info rather than an rtvec.
592 Use *_at rather than *_with_line functions.
593 * gentarget-def.c (add_insn): New function.
594 (main): Use it. Use new read_md_rtx interface.
595
596 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
597
598 * gensupport.h (compute_test_codes): Take a file_location rather
599 than a line number.
600 * gensupport.c (compute_test_codes): Likewise. Use *_at functions
601 rather than *_with_line functions.
602 (process_define_predicate): Update call to compute_test_codes.
603 * genpreds.c (validate_exp): Take a file_location rather than a
604 line number. Use *_at functions rather than *_with_line functions.
605 (process_define_predicate): Update call to validate_exp.
606 (constraint_data): Replace lineno field with a file_location.
607 (add_constraint): Take a file_location rather than a line number.
608 Use *_at functions rather than *_with_line functions. Fix error
609 message for address constraints. Update after changes to
610 validate_exp, constraint_data and compute_test_codes.
611 (process_define_constraint): Update accordingly.
612 (process_define_register_constraint): Likewise.
613
614 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
615
616 * genoutput.c (data): Use a file_location to record the source
617 position.
618 (nothing): Delete.
619 (idata, idata_end): Remove initialization.
620 (constraint_data): Replace lineno with a file_location.
621 (output_insn_data): Update after changes to data.
622 (gen_insn, gen_peephole, gen_expand, gen_split): Likewise.
623 (scan_operands): Likewise, using *_at rather than *_with_line
624 functions.
625 (process_template): Likewise.
626 (validate_insn_alternatives): Likewise.
627 (validate_insn_operands): Likewise.
628 (validate_optab_operands): Likewise.
629 (init_insn_for_nothing): Initialize idata and idata_end.
630 (note_constraint): Update after changes to constraint_data,
631 using at rather than with_line functions.
632 (mdep_constraint_len): Take a file_location rather than a
633 line number. Use at rather than with_line functions.
634
635 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
636
637 * read-md.h (fatal_at): Declare.
638 * read-md.c (fatal_at): New function.
639 * genattrtab.c (insn_def, attr_desc, delay_desc): Use a file_location
640 to record the source position.
641 (check_attr_test): Take a file_location instead of a line number.
642 Use fatal_at instead of fatal.
643 (check_attr_value): Update after above changes, using "at"
644 rather than "with_line" reporting functions.
645 (convert_set_attr_alternative): Likewise.
646 (gen_attr): Likewise.
647 (check_defs): Likewise. Don't assign to read_md_filename.
648 (gen_insn): Update initialization after above changes.
649 (gen_delay): Likewise.
650 (write_insn_cases): Print the filename for a define_peephole.
651 (gen_insn_reserv): Take a line number as argument and update
652 the call to check_attr_test.
653 (main): Pass a line number to gen_insn_reserv.
654
655 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
656
657 * read-md.h (file_location): New structure.
658 (directive_handler_t): Take a file_location rather than a line number.
659 (message_at, error_at): Declare.
660 (read_skip_construct): Delete.
661 * read-md.c (message_with_line_1): Replace with...
662 (message_at_1): ...this new function.
663 (message_at, error_at): New functions.
664 (message_with_line, error_with_line): Update to use message_at_1.
665 (handle_enum): Take a file_location rather than a line number
666 and use error_at for error reporting.
667 (handle_include): Likewise.
668 (read_skip_construct): Likewise. Make static.
669 (handle_file): Update after above changes. Pass a file_location
670 rather than a line number to handle_directive.
671 * gensupport.c (queue_elem): Replace separate filename and lineno
672 with a file_location.
673 (queue_pattern): Replace filename and lineno arguments with a
674 file_location. Update after change to queue_elem.
675 (process_define_predicate): Replace lineno argument with a
676 file_location and use error_at for error reporting. Update
677 after above changes.
678 (process_rtx): Likewise.
679 (subst_pattern_match): Likewise.
680 (get_alternatives_number): Likewise.
681 (alter_predicate_for_insn): Likewise.
682 (rtx_handle_directive): Likewise.
683 (is_predicable): Update after above changes, using error_at rather
684 than error_with_line.
685 (has_subst_attribute): Likewise.
686 (identify_predicable_attribute): Likewise.
687 (alter_attrs_for_subst_insn): Likewise.
688 (process_one_cond_exec): Likewise.
689 (process_substs_on_one_elem): Likewise.
690 (process_define_subst): Likewise.
691 (check_define_attr_duplicates): Likewise.
692 (read_md_rtx): Update after change to queue_elem.
693
694 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
695
696 * genoutput.c (next_index_number): Delete.
697 (data): Remove index_number.
698 (gen_insn, gen_peephole, gen_expand, gen_split): Update accordingly.
699 (main): Remove manipulation of next_index_number.
700
701 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
702
703 * genattrtab.c (check_attr_value): Remove handling of null attrs.
704 (make_canonical): Likewise.
705
706 2015-07-16 Eric Botcazou <ebotcazou@adacore.com>
707
708 * config/sparc/sparc.md (save_stack_nonlocal): Use adjust_address
709 instead of adjust_address_nv.
710 (restore_stack_nonlocal): Likewise.
711 (nonlocal_goto): Likewise.
712
713 2015-07-16 Tom de Vries <tom@codesourcery.com>
714
715 * tree-parloops.c (create_parallel_loop): Handle case that exit phi does
716 not have a corresponding loop header phi.
717
718 2015-07-16 Tom de Vries <tom@codesourcery.com>
719
720 * tree-parloops.c (create_loads_for_reductions): Handle case that
721 reduction is unused.
722
723 2015-07-16 Richard Biener <rguenther@suse.de>
724
725 PR tree-optimization/66894
726 * tree-vrp.c (register_edge_assert_for_2): Fix bad assumption
727 about deriving NE_EXPR from truncated values.
728
729 2015-07-16 Martin Liska <mliska@suse.cz>
730
731 * alloc-pool.h
732 (object_allocator): Add new class.
733 (pool_allocator::initialize): Use the underlying class.
734 (pool_allocator::allocate): Likewise.
735 (pool_allocator::remove): Likewise.
736 (operator new): A new generic allocator.
737 * asan.c (struct asan_mem_ref): Remove unused members.
738 (asan_mem_ref_new): Replace new operator with
739 object_allocator::allocate.
740 (free_mem_ref_resources): Change deallocation.
741 * cfg.c (initialize_original_copy_tables): Replace pool_allocator
742 with object_allocator.
743 * config/sh/sh.c (add_constant): Replace new operator with
744 object_allocator::allocate.
745 (sh_reorg): Change call to a release method.
746 * cselib.c (struct elt_list): Remove unused members.
747 (new_elt_list): Replace new operator with
748 object_allocator::allocate.
749 (new_elt_loc_list): Likewise.
750 (new_cselib_val): Likewise.
751 (unchain_one_elt_list): Change delete operator with remove method.
752 (unchain_one_elt_loc_list): Likewise.
753 (unchain_one_value): Likewise.
754 (cselib_finish): Release newly added static allocators.
755 * cselib.h (struct cselib_val): Remove unused members.
756 (struct elt_loc_list): Likewise.
757 * df-problems.c (df_chain_alloc): Replace pool_allocator with
758 object_allocator.
759 * df-scan.c (struct df_scan_problem_data): Likewise.
760 (df_scan_alloc): Likewise.
761 * df.h (struct dataflow): Likewise.
762 * dse.c (struct read_info_type): Likewise.
763 (struct insn_info_type): Likewise.
764 (struct dse_bb_info_type): Likewise.
765 (struct group_info): Likewise.
766 (struct deferred_change): Likewise.
767 (get_group_info): Likewise.
768 (delete_dead_store_insn): Likewise.
769 (free_read_records): Likewise.
770 (replace_read): Likewise.
771 (check_mem_read_rtx): Likewise.
772 (scan_insn): Likewise.
773 (dse_step1): Likewise.
774 (dse_step7): Likewise.
775 * et-forest.c (struct et_occ): Remove unused members.
776 (et_new_occ): Use allocate instead of new operator.
777 (et_new_tree): Likewise.
778 (et_free_tree): Call release method explicitly.
779 (et_free_tree_force): Likewise.
780 (et_free_pools): Likewise.
781 (et_split): Use remove instead of delete operator.
782 * et-forest.h (struct et_node): Remove unused members.
783 * ipa-cp.c: Change pool_allocator to object_allocator.
784 * ipa-inline-analysis.c: Likewise.
785 * ipa-profile.c: Likewise.
786 * ipa-prop.c: Likewise.
787 * ipa-prop.h: Likewise.
788 * ira-build.c (initiate_cost_vectors): Cast return value.
789 (ira_allocate_cost_vector): Likewise.
790 * ira-color.c (struct update_cost_record): Remove unused members.
791 * lra-int.h (struct lra_live_range): Likewise.
792 (struct lra_copy): Likewise.
793 (struct lra_insn_reg): Likewise.
794 * lra-lives.c (lra_live_ranges_finish): Release new static allocator.
795 * lra.c (new_insn_reg): Replace new operator with allocate method.
796 (free_insn_regs): Same for operator delete.
797 (finish_insn_regs): Release new static allocator.
798 (finish_insn_recog_data): Likewise.
799 (lra_free_copies): Replace delete operator with remove method.
800 (lra_create_copy): Replace operator new with allocate method.
801 (invalidate_insn_data_regno_info): Same for remove method.
802 * regcprop.c (struct queued_debug_insn_change): Remove unused members.
803 (free_debug_insn_changes): Replace delete operator with remove method.
804 (replace_oldest_value_reg): Replace operator new with allocate method.
805 (pass_cprop_hardreg::execute): Release new static variable.
806 * sched-deps.c (sched_deps_init): Change pool_allocator to
807 object_allocator.
808 * sel-sched-ir.c: Likewise.
809 * sel-sched-ir.h: Likewise.
810 * stmt.c (expand_case): Likewise.
811 (expand_sjlj_dispatch_table): Likewise.
812 * tree-sra.c (struct access): Remove unused members.
813 (struct assign_link): Likewise.
814 (sra_deinitialize): Release newly added static pools.
815 (create_access_1):Replace operator new with allocate method.
816 (build_accesses_from_assign): Likewise.
817 (create_artificial_child_access): Likewise.
818 * tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Change
819 pool_allocator to object_allocator.
820 * tree-ssa-pre.c: Likewise.
821 * tree-ssa-reassoc.c: Likewise.
822 * tree-ssa-sccvn.c (allocate_vn_table): Likewise.
823 * tree-ssa-strlen.c: Likewise.
824 * tree-ssa-structalias.c: Likewise.
825 * var-tracking.c (onepart_pool_allocate): New function.
826 (unshare_variable): Use the newly added function.
827 (variable_merge_over_cur): Likewise.
828 (variable_from_dropped): Likewise.
829 (variable_was_changed): Likewise.
830 (set_slot_part): Likewise.
831 (emit_notes_for_differences_1): Likewise.
832 (vt_finalize): Release newly added static pools.
833
834 2015-07-16 Martin Jambor <mjambor@suse.cz>
835
836 * ipa-prop.h (param_aa_status): Rename to ipa_param_aa_status. Adjust
837 all uses. Fix two typos in its general comment.
838 (func_body_info): Rename to ipa_func_body_info. Adjust all uses.
839
840 2015-07-16 Ilya Enkovich <enkovich.gnu@gmail.com>
841
842 * config/i386/linux-common.h (LINK_MPX): New.
843 (MPX_SPEC): Use LINK_MPX instead of %(link_mpx).
844 * configure.ac: Add HAVE_LD_BNDPLT_SUPPORT macro
845 indicating '-z bndplt' support by linker.
846 * configure: Regenerate.
847 * config.in: Regenerate.
848
849 2015-07-16 Richard Biener <rguenther@suse.de>
850
851 * fold-const.c (fold_widened_comparison): Remove.
852 (fold_sign_changed_comparison): Likewise.
853 (fold_comparison): Move widened and sign-changed comparison
854 simplification ...
855 * match.pd: ... to patterns here.
856 * generic-match-head.c: Include target.h.
857 * gimple-match-head.c: Likewise.
858
859 2015-07-16 Richard Biener <rguenther@suse.de>
860
861 * tree-ssa-dom.c (dom_valueize): New function.
862 (record_temporary_equivalences): Also record equivalences
863 for dominating stmts that have uses of equivalences we are
864 about to record.
865
866 2015-07-16 Bin Cheng <bin.cheng@arm.com>
867
868 * tree-ssa-loop-ivopts.c (add_candidate): Remove call to
869 add_autoinc_candidates.
870 (add_iv_candidate_for_biv): Rename to add_iv_candidate_for_biv.
871 (add_iv_candidate_for_biv): Rename from add_iv_candidate_for_biv.
872 (add_old_ivs_candidates): Rename to add_iv_candidate_for_bivs.
873 (add_iv_candidate_for_bivs): Rename from add_old_ivs_candidates.
874 Call new function.
875 (add_iv_value_candidates): Rename to add_iv_candidate_for_use.
876 (add_iv_candidate_for_use): Rename from add_iv_value_candidates.
877 Remove parameter struct iv*. Call add_autoinc_candidates here.
878 (add_derived_ivs_candidates): Rename to add_iv_candidate_for_uses.
879 (add_iv_candidate_for_uses): Rename from add_derived_ivs_candidates.
880 Call new function.
881 (find_iv_candidates): Call new functions.
882
883 2015-07-16 Sandra Loosemore <sandra@codesourcery.com>
884
885 * config/nios2/nios2.c (nios2_emit_stack_limit_check): Fix
886 uninitialized-variable warning.
887
888 2015-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
889
890 PR target/65249
891 * config/sh/sh.md (movdi): Split simple reg move to two movsi
892 when the destination is R0.
893
894 2015-07-16 Uros Bizjak <ubizjak@gmail.com>
895
896 PR target/66866
897 * config/i386/i386-protos.h (ix86_expand_pextr): New prototype.
898 * config/i386/i386.c (ix86_expand_pextr): New function.
899 (ix86_expand_pinsr): Handle V1TI and TI modes. Call ix86_expand_pextr
900 for non-lowpart subregs.
901 * config/i386/i386.md (extzv<mode>): Expand with ix86_expand_pextr.
902 (insv<mode>): Use SWI248 mode iterator.
903 (insv<mode>_1): Ditto.
904
905 2015-07-15 Aditya Kumar <aditya.k7@samsung.com>
906 Sebastian Pop <s.pop@samsung.com>
907
908 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Point
909 iterator to use_stmt.
910
911 2015-07-15 Aditya Kumar <aditya.k7@samsung.com>
912 Sebastian Pop <s.pop@samsung.com>
913
914 * graphite-scop-detection.c (build_scops_1): Discard scops for
915 which entry==exit.
916
917 2015-07-15 Aditya Kumar <aditya.k7@samsung.com>
918 Sebastian Pop <s.pop@samsung.com>
919
920 * graphite-scop-detection.c (stmt_simple_for_scop_p): Bail out in
921 case of a return statement in scop.
922
923 2015-07-15 Aditya Kumar <aditya.k7@samsung.com>
924 Sebastian Pop <s.pop@samsung.com>
925
926 * graphite-sese-to-poly.c (parameter_index_in_region): Only handle
927 INTEGER_TYPE parameters.
928 (scan_tree_for_params): Handle REAL_CST, COMPLEX_CST, and
929 VECTOR_CST in scan_tree_for_params.
930 (add_conditions_to_domain): Only constrain on INTEGER_TYPE.
931
932 2015-07-15 Andrew MacLeod <amacleod@redhat.com>
933
934 * gimple-pretty-print.h: Don't include pretty-print.h.
935 * tree-streamer.h: Don't include lto-streamer.h.
936 * gimple-streamer.h: Include tree-streamer.h rather than lto-streamer.h.
937 * gimple-streamer-in.c: Remove redundant includes.
938 * gimple-streamer-out.c: Likewise.
939 * ipa-devirt.c: Likewise.
940 * ipa-icf.c: Likewise.
941 * ipa-inline-analysis.c: Likewise.
942 * ipa-polymorphic-call.c: Likewise.
943 * ipa-profile.c: Likewise.
944 * ipa-prop.c: Likewise.
945 * ipa-pure-const.c: Likewise.
946 * lto-cgraph.c: Likewise.
947 * lto-streamer-in.c: Likewise.
948 * lto-streamer-out.c: Likewise.
949 * lto-streamer.c: Likewise.
950 * tree-streamer-in.c: Likewise.
951 * tree-streamer-out.c: Likewise.
952 * tree-streamer.c: Likewise.
953
954 2015-07-15 Andrew MacLeod <amacleod@redhat.com>
955
956 * opth-gen.awk: Check for UNKNOWN_LOCATION rather than GCC_TM_H, don't
957 include input.h.
958 * opts.c: Remove multiline #include comment.
959
960 2015-07-15 Nathan Sidwell <nathan@codesourcery.com>
961
962 * config/nvptx/mkoffload.c (process): Add C++ protection to
963 emitted code.
964
965 2015-07-14 Michael Meissner <meissner@linux.vnet.ibm.com>
966
967 PR target/66854
968 * config/rs6000/rs6000.c (rs6000_pass_by_reference): Move test for
969 null before IEEE 128-bit floating point support patch.
970
971 2015-07-15 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
972
973 * simplify-rtx.c (simplify_ternary_operation): Add simplification
974 for (!c) != {0,...,0} ? a : b for vector modes.
975
976 2015-07-15 Paolo Bonzini <bonzini@gnu.org>
977 Martin Jambor <mjambor@suse.cz>
978
979 * ipa-inline-analysis.c (unmodified_parm_or_parm_agg_item): Accept
980 struct func_body_info* instead of struct ipa_node_params*, expecting
981 fbi->info to be filled in. Replace throughout. Adjust call to
982 ipa_load_from_parm_agg.
983 (set_cond_stmt_execution_predicate): Accept struct func_body_info*
984 instead of struct ipa_node_params*. Adjust calls to other functions
985 so that they pass either fbi or fbi->info.
986 (set_switch_stmt_execution_predicate): Likewise.
987 (will_be_nonconstant_predicate): Likewise.
988 (compute_bb_predicates): Likewise.
989 (estimate_function_body_sizes): Move asserts earlier. Fill in
990 struct func_body_info, replace parms_info with fbi.info. Adjust
991 calls to functions that now accept struct func_body_info.
992 * ipa-prop.c (param_aa_status, struct ipa_bb_info): Move to ipa-prop.h.
993 (struct func_body_info): Likewise.
994 (ipa_load_from_parm_agg_1): Rename to ipa_load_from_parm_agg,
995 remove static. Adjust callers.
996 (ipa_load_from_parm_agg): Remove.
997 * ipa-prop.h (param_aa_status, ipa_bb_info): Move from ipa-prop.c.
998 (func_body_info): Likewise.
999 (ipa_load_from_parm_agg): Adjust prototype.
1000
1001 2015-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
1002
1003 * gensupport.c (rtx_handle_directive): Adjust.
1004 * read-rtl.c (apply_iterators): Take vector to add rtxs to
1005 instead of expr list rtx.
1006 (add_define_attr_for_define_subst): Likewise.
1007 (add_define_subst_attr): Likewise.
1008 (read_subst_mapping): Likewise.
1009 (read_rtx): Likewise.
1010 * rtl.h (read_rtx): Adjust.
1011
1012 2015-07-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1013
1014 * config/aarch64/aarch64.md (*csinc2<mode>_insn): Use cinc mnemonic.
1015
1016 2015-07-15 Uros Bizjak <ubizjak@gmail.com>
1017
1018 PR target/58066
1019 * config/i386/i386.md (*tls_global_dynamic_64_<mode>): Depend on SP_REG.
1020 (*tls_local_dynamic_base_64_<mode>): Ditto.
1021 (*tls_local_dynamic_base_64_largepic): Ditto.
1022 (tls_global_dynamic_64_<mode>): Update expander pattern.
1023 (tls_local_dynamic_base_64_<mode>): Ditto.
1024
1025 2015-07-15 Richard Biener <rguenther@suse.de>
1026
1027 * fold-const.c (fold_binary_loc): Move bool_var != 0 -> bool_var
1028 and bool_var == 1 -> bool_var simplifications ...
1029 * match.pd: ... to patterns here. Factor out negate_expr_p
1030 cases from the A - B -> A + (-B) patterns as negate_expr_p
1031 predicate and add a -(A + B) -> (-B) - A pattern.
1032
1033 2015-07-15 Robert Suchanek <robert.suchanek@imgtec.com>
1034
1035 * config/mips/mips.c (mips_emit_save_slot_move): Fix typo.
1036
1037 2015-07-15 Matthew Fortune <matthew.fortune@imgtec.com>
1038 Robert Suchanek <robert.suchanek@imgtec.com>
1039
1040 * config/mips/mips.c (mips_int_mask): New enum.
1041 (mips_shadow_set): Likewise.
1042 (int_mask): New variable.
1043 (use_shadow_register_set_p): Change type to enum mips_shadow_set.
1044 (machine_function): Add int_mask and use_shadow_register_set.
1045 (mips_attribute_table): Add attribute handlers for interrupt and
1046 use_shadow_register_set.
1047 (mips_interrupt_mask): New static function.
1048 (mips_handle_interrupt_attr): Likewise.
1049 (mips_handle_use_shadow_register_set_attr): Likewise.
1050 (mips_use_shadow_register_set): Change return type to enum
1051 mips_shadow_set. Add argument handling for use_shadow_register_set
1052 attribute.
1053 (mips_interrupt_extra_called_saved_reg_p): Update the conditional to
1054 compare with mips_shadow_set enum.
1055 (mips_compute_frame_info): Add interrupt mask and
1056 use_shadow_register_set to per-function information structure.
1057 Add a stack slot for EPC unconditionally.
1058 (mips_expand_prologue): Compare use_shadow_register_set value
1059 with mips_shadow_set enum. Save EPC always in K1, clobber only K1 for
1060 masked interrupt register but in EIC mode use K0 and save Cause in K0.
1061 EPC saved and restored unconditionally. Use PMODE_INSN macro when
1062 copying the stack pointer from the shadow register set.
1063 * config/mips/mips.h (SR_IM0): New define.
1064 * config/mips/mips.md (mips_rdpgpr): Rename to...
1065 (mips_rdpgpr_<mode>): ...this. Use the Pmode iterator.
1066 * doc/extend.texi (Declaring Attributes of Functions): Document
1067 optional arguments for interrupt and use_shadow_register_set
1068 attributes.
1069
1070 2015-07-15 Robert Suchanek <robert.suchanek@imgtec.com>
1071
1072 * config/mips/mips.c (mips_compute_frame_info): Allow -mhard-float in
1073 interrupt attribute.
1074 (mips_expand_prologue): Disable the floating point unit in an ISR.
1075 * config/mips/mips.h (SR_COP1): New define.
1076
1077 2015-07-15 Richard Biener <rguenther@suse.de>
1078
1079 * genmatch.c (parser::peek, parser::peek_ident): Add argument
1080 to tell how many tokens to peek ahead (default 1).
1081 (parser::eat_token, parser::eat_ident): Return token consumed.
1082 (parser::parse_result): Parse new switch statement.
1083 * match.pd: Use case statements where appropriate.
1084
1085 2015-07-15 Uros Bizjak <ubizjak@gmail.com>
1086
1087 PR rtl-optimization/58066
1088 * calls.c (expand_call): Precompute register parameters before stack
1089 alignment is performed.
1090
1091 2015-07-15 Uros Bizjak <ubizjak@gmail.com>
1092
1093 PR rtl-optimization/66838
1094 * postreload.c (reload_cse_move2add): Also process
1095 CALL_INSN_FUNCTION_USAGE when resetting information of
1096 call-clobbered registers.
1097
1098 2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
1099 Cesar Philippidis <cesar@codesourcery.com>
1100 Chung-Lin Tang <cltang@codesourcery.com>
1101
1102 * config/nios2/constraints.md (U, v): New constraints.
1103 * config/nios2/predicates.md (rdprs_dcache_operand): New.
1104 (ldstex_memory_operand): New.
1105 * config/nios2/sync.md: New file.
1106 * config/nios2/nios2.md (unspecv): Add new builtin function
1107 UNSPECV codes.
1108 (rdprs, flushd, flushda, wrpie, eni): New patterns.
1109 (top-level): Include sync.md.
1110 * config/nios2/nios2.c (N2_FTYPES): Add function types for
1111 new builtins.
1112 (N2_BUILTINS): Add arch field setting, add new builtins.
1113 (enum nios2_builtin_code,nios2_builtins): Update N2_BUILTIN_DEF
1114 for arch field.
1115 (nios2_expand_ldst_builtin): Rename from nios2_expand_ldstio_builtin.
1116 Also handle ldex/stex/ldsex/stsex builtins.
1117 (nios2_expand_rdprs_builtin): New function.
1118 (nios2_expand_cache_builtin): New function.
1119 (nios2_expand_wrpie_builtin): New function.
1120 (nios2_expand_eni_builtin): New function.
1121 (nios2_expand_builtin): Add arch field handling and new builtin
1122 cases.
1123 * doc/extend.texi (Altera Nios II Built-in Functions): Document
1124 new builtins.
1125 * doc/md.texi (Machine Constraints): Document U and v constraints.
1126
1127 2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
1128 Cesar Philippidis <cesar@codesourcery.com>
1129 Chung-Lin Tang <cltang@codesourcery.com>
1130
1131 * config/nios2/nios2-protos.h (nios2_expand_return): Declare.
1132 * config/nios2/nios2.c (struct GTY (()) machine_function): Add
1133 callee_save_reg_size and uses_anonymous_args fields.
1134 (nios2_compute_frame_layout): Update for CDX push.n/pop.n usage.
1135 (nios2_create_cfa_notes): New function.
1136 (nios2_adjust_stack): New function for adjusting stack.
1137 (nios2_expand_prologue): Update for CDX push.n/pop.n usage.
1138 Use nios2_adjust_stack.
1139 (nios2_expand_epilogue): Likewise.
1140 (nios2_expand_return): New function.
1141 (nios2_can_use_return_insn): Update for CDX pop.n usage.
1142 (nios2_setup_incoming_varargs): Set uses_anonymous_args flag.
1143 If TARGET_HAS_CDX, defer pushing regs to nios2_expand_prologue.
1144 * config/nios2/nios2.md (return): Use nios2_expand_return.
1145
1146 2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
1147 Cesar Philippidis <cesar@codesourcery.com>
1148 Chung-Lin Tang <cltang@codesourcery.com>
1149
1150 * config/nios2/predicates.md (pop_operation): New.
1151 (ldwm_operation, stwm_operation): New.
1152 (nios2_hard_register_operand): New.
1153 * config/nios2/nios2-protos.h (pop_operation_p): Declare.
1154 (ldstwm_operation_p): Declare.
1155 (gen_ldstwm_peep): Declare.
1156 * config/nios2/nios2.c: (nios2_ldst_parallel): Declare.
1157 (base_reg_adjustment_p): New.
1158 (pop_operation_p): New.
1159 (CDX_LDSTWM_VALID_REGS_0, CDX_LDSTWM_VALID_REGS_1): Define.
1160 (nios2_ldstwm_regset_p): New.
1161 (ldstwm_operation_p): New.
1162 (gen_ldst): New.
1163 (nios2_ldst_parallel): New.
1164 (struct ldswm_operand): Declare.
1165 (compare_ldstwm_operands): New.
1166 (can_use_cdx_ldstw): New.
1167 (gen_ldstwm_peep): New.
1168 * config/nios2/nios2-ldstwm.sml: New.
1169 * config/nios2/nios2.md: Include ldstwm.md.
1170 * config/nios2/ldstwm.md: Generated.
1171
1172 2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
1173 Cesar Philippidis <cesar@codesourcery.com>
1174 Chung-Lin Tang <cltang@codesourcery.com>
1175
1176 * config/nios2/nios2.h (LABEL_ALIGN): Define.
1177 (REG_ALLOC_ORDER): Define.
1178 (ADJUST_REG_ALLOC_ORDER): Define.
1179 (HONOR_REG_ALLOC_ORDER): Define.
1180 (CDX_REG_P): Define.
1181 (ANDCLEAR_INT): Define.
1182 * config/nios2/nios2-protos.h (nios2_add_insn_asm): Declare.
1183 (nios2_label_align): Declare.
1184 (nios2_cdx_narrow_form_p): Declare.
1185 (nios2_adjust_reg_alloc_order): Declare.
1186 * config/nios2/nios2.c (nios2_rtx_costs): Adjust for BMX zero-extract
1187 operation.
1188 (nios2_large_unspec_reloc_p): New function, split from...
1189 (nios2_legitimate_pic_operand_p): ...here.
1190 (nios2_emit_move_sequence): Add *high/*lo_sum constant expand code.
1191 (nios2_print_operand_punct_valid_p): New.
1192 (nios2_print_operand): Add %., %!, %x, %y, %A. Remove %U.
1193 (split_mem_address): New.
1194 (split_alu_insn): New.
1195 (cdxreg): New.
1196 (cdx_add_immed, cdx_and_immed, cdx_mov_immed, cdx_shift_immed): New.
1197 (enum nios2_add_insn_kind): New.
1198 (nios2_add_insn_names, nios2_add_insn_narrow): New.
1199 (nios2_add_insn_classify): New.
1200 (nios2_add_insn_asm): New.
1201 (nios2_cdx_narrow_form_p): New.
1202 (label_align, min_labelno, max_labelno): New.
1203 (nios2_reorg): New.
1204 (nios2_label_align): New.
1205 (nios2_adjust_reg_alloc_order): New.
1206 (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
1207 (TARGET_MACHINE_DEPENDENT_REORG): Define.
1208 * config/nios2/constraints.md (P): New constraint.
1209 * config/nios2/predicates.md (const_and_operand): New.
1210 (and_operand): New.
1211 (stack_memory_operand): New.
1212 * config/nios2/nios2.md (SP_REGNO): Define stack pointer regno.
1213 (length): Update to use nios2_cdx_narrow_form_p().
1214 (type): Add new insn type values.
1215 (control, alu, st, ld, shift): Update insn reservations with
1216 new insn type values.
1217 (*high, *lo_sum): Define new insn patterns for constant generation.
1218 (movqi_internal, movhi_internal, movsi_internal): Reduce
1219 alternatives, update asm template to handle CDX variants, update
1220 type attributes.
1221 (zero_extendhisi2, zero_extendqi<mode>2): Add CDX variants to asm
1222 template, update type attributes.
1223 (extendhisi2, extendqi<mode>2): Likewise.
1224 (addsi3): Change to use function for asm string.
1225 (subsi3): Add CDX notation to asm template, update type attributes.
1226 (negsi3, one_cmplsi3): Likewise.
1227 (andsi3): New pattern, specialized from logical patterns.
1228 (<code>si3): Remove and case, combine alternatives, update asm
1229 template.
1230 (<shift_op>si3): Add CDX notation, update type attributes.
1231 (rotrsi3): Update type attribute.
1232 (*merge, extzv, insv): New insn patterns.
1233 (return): Change to define_expand.
1234 (simple_return): Add CDX notation, update type attributes.
1235 (indirect_jump): Add CDX notation.
1236 (jump): Update asm cases, update length attribute expression.
1237 (*call, *call_value, *sibcall, *sibcall_value): Add CDX variant.
1238 (nios2_cbranch): Update asm cases and length attribute expression
1239 to handle CDX variants.
1240 (nios2_cmp<code>): Update asm template.
1241 (nop): Add CDX notation, update type attributes.
1242 (trap): Add CDX notation.
1243 (ctrapsi4): Update asm cases and length attribute expression to
1244 handle CDX variant.
1245 * doc/md.texi (Machine Constraints): Document P constraint.
1246
1247 2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
1248 Cesar Philippidis <cesar@codesourcery.com>
1249 Chung-Lin Tang <cltang@codesourcery.com>
1250
1251 * config/nios2/nios2.h (SMALL_INT12): New macro.
1252 * config/nios2/nios2.c (nios2_valid_addr_offset_p): New function.
1253 (nios2_valid_addr_expr_p): Use it.
1254 (nios2_symbol_ref_in_small_data_p): Disallow GP-relative addressing
1255 with implicit "io" instructions on R2.
1256 * config/nios2/constraints.md (w): New constraint.
1257 * config/nios2/predicates.md (ldstio_memory_operand): New.
1258 * config/nios2/nios2.md (ld<bhw_uns>io, ld<bh>io): Update memory
1259 operand predicate and constraint.
1260 (ld<bh>io_signed, st<bhw>io>): Likewise.
1261 * doc/md.texi (Machine Constraints): Document w constraint.
1262
1263 2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
1264 Cesar Philippidis <cesar@codesourcery.com>
1265 Chung-Lin Tang <cltang@codesourcery.com>
1266
1267 * config/nios2/nios2.opt (march, mbmx, mcdx): New options.
1268 * config/nios2/nios2-opts.h (enum nios2_arch_type): New enum for
1269 Nios II architecture level.
1270 * config/nios2/nios2.h (TARGET_ARCH_R2): New define.
1271 (TARGET_CPU_CPP_BUILTINS): Add definition of __nios2_arch__ symbol.
1272 (OPTION_DEFAULT_SPECS): Define.
1273 (ASM_SPEC): Add -march= spec strings.
1274 * config/nios2/nios2.c (nios2_option_override): Check for
1275 conflicts involving new options.
1276 * config.gcc (nios2*-*-*): Support --with-arch=.
1277 * doc/invoke.texi (Option Summary, Nios II Options): Document
1278 -march=, -mbmx, and -mcdx.
1279
1280 2015-07-14 Vladimir Makarov <vmakarov@redhat.com>
1281
1282 PR rtl-optimization/66626
1283 * lra-constraints.c (lra_constraints): Prevent equivalence
1284 substitution for static chain pseudo in functions with nonlocal
1285 goto.
1286
1287 2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
1288
1289 * config/nios2/nios2.c (TEMP_REG_NUM): Move define up in file.
1290 (nios2_emit_stack_limit_check): Add size parameter. Handle
1291 -fstack-limit-symbol as well as -fstack-limit-register.
1292 (nios2_expand_prologue): Emit only a single stack limit check,
1293 even if multiple stack adjustments are required.
1294 (nios2_option_override): Diagnose unsupported combination of -fpic
1295 and -stack-limit-symbol.
1296
1297 2015-07-14 H.J. Lu <hongjiu.lu@intel.com>
1298
1299 * Makefile.in (top_srcdir): New.
1300 * configure.ac: Use AM_ZLIB.
1301 * configure: Regeneated.
1302
1303 2015-07-14 Matthias Klose <doko@ubuntu.com>
1304
1305 PR target/66840
1306 * config/rs6000/t-rs6000 (TM_H): Add rs6000-cpus.def.
1307
1308 2015-07-14 Richard Biener <rguenther@suse.de>
1309
1310 PR tree-optimization/66863
1311 * tree-vrp.c (register_edge_assert_for_2): Properly restrict
1312 what we record for conversion use stmt lhs inequalities.
1313
1314 2015-07-14 Richard Biener <rguenther@suse.de>
1315
1316 * genmatch.c (dt_node::gen_kids_1): Fix case label indenting.
1317 (decision_tree::gen_gimple): Likewise.
1318
1319 2015-07-14 Tom de Vries <tom@codesourcery.com>
1320
1321 * gcc.c (greater_than_spec_func): Declare forward.
1322 (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): Use gt to ignore
1323 -ftree-parallelize-loops={0,1}.
1324 (static_spec_functions): Add greater_than_spec_func function with name
1325 "gt".
1326 (greater_than_spec_func): New function.
1327
1328 2015-07-14 Richard Biener <rguenther@suse.de>
1329
1330 * tree-ssa-dom.c (record_temporary_equivalences): Merge
1331 wideing type conversion case from record_equivalences_from_incoming_edge
1332 and use record_equality to record equivalences.
1333 (record_equivalences_from_incoming_edge): Call
1334 record_temporary_equivalences.
1335
1336 2015-07-14 Richard Biener <rguenther@suse.de>
1337
1338 * genmatch.c (struct operand): Add OP_IF and OP_WITH op_types.
1339 (struct if_expr): New.
1340 (struct with_expr): Likewise.
1341 (is_a_helper): Add helpers for if_expr and with_expr.
1342 (struct simplify): Add simplify_kind enum and member. Remove
1343 ifexpr_vec member.
1344 (simplify::simplify): Adjust.
1345 (lower_commutative): Adjust.
1346 (lower_opt_convert): Likewise.
1347 (lower_cond): Likewise.
1348 (replace_id): Handle with_expr and if_expr.
1349 (lower_for): Adjust.
1350 (dt_simplify::gen_1): New recursive worker, split out from ...
1351 (dt_simplify::gen): ... here. Deal with if and with expansion
1352 recursively.
1353 (capture_info::capture_info): Take context argument
1354 (capture_info::walk_result): Only analyze specific result.
1355 (parser::parse_result): New function.
1356 (parser::parse_simplify): Adjust to parse ifs with then end
1357 else case.
1358 (parser::parse_if): Simplify.
1359 (parser::parse_pattern): Pass down simplify kind.
1360 * match.pd: Convert if structure to new syntax.
1361
1362 2015-07-13 Marek Polacek <polacek@redhat.com>
1363
1364 * rtl.c (rtx_equal_p_cb): Fix typo.
1365
1366 2015-07-13 Andrew MacLeod <amacleod@redhat.com>
1367
1368 * omega.h: Don't include config.h, don't include params.h again if
1369 omega.h has already been included.
1370 * graphite-poly.h: Include sese.h.
1371 * graphite.c: Don't include sese.h, remove needless includes and
1372 minimize includes outside #ifdef HAVE_isl block.
1373 * graphite-blocking.c: Don't include sese.h, remove needless includes,
1374 and wrap entire file in #ifdef HAVE_isl
1375 * graphite-dependences.c: Likewise.
1376 * graphite-interchange.c: Likewise.
1377 * graphite-isl-ast-to-gimple.c: Likewise.
1378 * graphite-optimize-isl.c: Likewise.
1379 * graphite-poly.c: Likewise.
1380 * graphite-scop-detection.c: Likewise.
1381 * graphite-sese-to-poly.c: Likewise.
1382
1383 2015-07-13 Tom de Vries <tom@codesourcery.com>
1384
1385 * omp-low.c (build_receiver_ref): Mark *.omp_data_i as non-trapping.
1386
1387 2015-07-13 Renlin Li <renlin.li@arm.com>
1388
1389 PR rtl/66556
1390 * simplify-rtx.c (simplify_const_relational_operation): Add
1391 side_effects_p checks.
1392
1393 2015-07-12 Aldy Hernandez <aldyh@redhat.com>
1394
1395 * bitmap.h: Fix double word typos.
1396 * builtins.c: Same.
1397 * calls.c: Same.
1398 * cfgloopmanip.c: Same.
1399 * cgraph.c: Same.
1400 * cgraph.h: Same.
1401 * cgraphclones.c: Same.
1402 * combine.c: Same.
1403 * config/aarch64/aarch64-protos.h: Same.
1404 * config/aarch64/aarch64.c: Same.
1405 * config/aarch64/aarch64.md: Same.
1406 * config/arm/arm.md: Same.
1407 * config/arm/arm1020e.md: Same.
1408 * config/arm/arm1026ejs.md: Same.
1409 * config/arm/arm926ejs.md: Same.
1410 * config/arm/fa526.md: Same.
1411 * config/arm/fa606te.md: Same.
1412 * config/arm/fa626te.md: Same.
1413 * config/arm/fa726te.md: Same.
1414 * config/arm/fmp626.md: Same.
1415 * config/darwin.c: Same.
1416 * config/epiphany/epiphany.c: Same.
1417 * config/frv/frv.c: Same.
1418 * config/ft32/ft32.c: Same.
1419 * config/gnu-user.h: Same.
1420 * config/h8300/constraints.md: Same.
1421 * config/i386/i386.c: Same.
1422 * config/i386/i386.md: Same.
1423 * config/iq2000/iq2000.md: Same.
1424 * config/mips/mips.c: Same.
1425 * config/mmix/mmix.md: Same.
1426 * config/moxie/moxie.c: Same.
1427 * config/nds32/nds32.md: Same.
1428 * config/pa/pa.h: Same.
1429 * config/rs6000/aix.h: Same.
1430 * config/rs6000/rs6000.h: Same.
1431 * config/sh/sh.c: Same.
1432 * config/tilegx/tilegx.md: Same.
1433 * config/tilepro/gen-mul-tables.cc: Same.
1434 * cse.c: Same.
1435 * dbxout.c: Same.
1436 * doc/invoke.texi: Same.
1437 * dse.c: Same.
1438 * dwarf2out.c: Same.
1439 * final.c: Same.
1440 * gcc.c: Same.
1441 * genmatch.c: Same.
1442 * gimplify.c: Same.
1443 * hash-table.h: Same.
1444 * internal-fn.c: Same.
1445 * ipa-cp.c: Same.
1446 * ipa-devirt.c: Same.
1447 * ipa-icf.c: Same.
1448 * ipa-icf.h: Same.
1449 * ipa-profile.c: Same.
1450 * ipa-prop.c: Same.
1451 * ipa-prop.h: Same.
1452 * ira.c: Same.
1453 * omp-low.c: Same.
1454 * reg-stack.c: Same.
1455 * regcprop.c: Same.
1456 * reorg.c: Same.
1457 * rtl.h: Same.
1458 * sbitmap.h: Same.
1459 * tree-eh.c: Same.
1460 * tree-inline.c: Same.
1461 * tree-sra.c: Same.
1462 * tree-ssa-dom.c: Same.
1463 * tree-ssa-loop-ivopts.c: Same.
1464 * tree-ssa-structalias.c: Same.
1465 * tree-ssa-tail-merge.c: Same.
1466 * tree-ssa-ter.c: Same.
1467 * tree-ssa-threadupdate.c: Same.
1468 * tree-ssa-uninit.c: Same.
1469 * tree-ssanames.c: Same.
1470 * tree-vect-loop-manip.c: Same.
1471 * tree-vrp.c: Same.
1472 * tree.c: Same.
1473 * valtrack.c: Same.
1474 * vec.h: Same.
1475
1476 2015-07-12 Kugan Vivekanandarajah <kuganv@linaro.org>
1477
1478 PR middle-end/66726
1479 * tree-ssa-phiopt.c(factor_out_conditional_conversion): New function.
1480 tree_ssa_phiopt_worker): Call it.
1481
1482 2015-07-12 Kugan Vivekanandarajah <kuganv@linaro.org>
1483
1484 * cse.c (cse_insn): Calculate src_eqv for ZERO_EXTRACT.
1485 * emit-rtl.c (set_for_reg_notes): Allow ZERO_EXTRACT to set
1486 REG_EQUAL note.
1487
1488 2015-07-11 Marek Polacek <polacek@redhat.com>
1489
1490 PR middle-end/66353
1491 * basic-block.h (has_abnormal_call_or_eh_pred_edge_p): New function.
1492 * ira-lives.c (bb_has_abnormal_call_pred): Remove function.
1493 (process_bb_node_lives): Call has_abnormal_call_or_eh_pred_edge_p
1494 rather than bb_has_abnormal_call_pred.
1495 * lra-lives.c (bb_has_abnormal_call_pred): Remove function.
1496 (process_bb_lives): Call has_abnormal_call_or_eh_pred_edge_p
1497 rather than bb_has_abnormal_call_pred.
1498
1499 2015-07-10 Anatoly Sokolov <aesok@post.ru>
1500
1501 * config/v850/v850.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
1502 REG_OK_FOR_BASE_P_STRICT, REG_OK_FOR_INDEX_P_STRICT, STRICT,
1503 RTX_OK_FOR_BASE_P, GO_IF_LEGITIMATE_ADDRESS): Remove macros.
1504 * config/v850/v850.c (v850_reg_ok_for_base_, v850_rtx_ok_for_base_p,
1505 v850_legitimate_address_p): New functions.
1506 (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define.
1507
1508 2015-07-10 H.J. Lu <hongjiu.lu@intel.com>
1509
1510 PR target/66819
1511 * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
1512 indirect sibcall with register arguments if register available
1513 for argument passing.
1514 (init_cumulative_args): Set cfun->machine->arg_reg_available
1515 to (cum->nregs > 0) or to true if function has a variable
1516 argument list.
1517 (function_arg_advance_32): Set cfun->machine->arg_reg_available
1518 to false if cum->nregs <= 0.
1519 * config/i386/i386.h (machine_function): Add arg_reg_available.
1520
1521 2015-07-10 Uros Bizjak <ubizjak@gmail.com>
1522
1523 * config/i386/sse.md (movdi_to_sse): Use gen_lowpart
1524 and gen_higpart instead of gen_rtx_SUBREG.
1525 * config/i386/i386.md
1526 (floatdi<X87MODEF:mode>2_i387_with_xmm splitter): Ditto.
1527 (read-modify peephole2): Use gen_lowpart instead of
1528 gen_rtx_SUBREG for operand 5.
1529
1530 2015-07-10 Andrew MacLeod <amacleod@redhat.com>
1531
1532 * config/tilepro/gen-mul-tables.cc (main): Change include list for
1533 generated files.
1534 * config/tilepro/mul-tables.c: Regenerate.
1535 * config/tilegx/mul-tables.c: Regenerate.
1536
1537 2015-07-10 Richard Biener <rguenther@suse.de>
1538
1539 * fold-const.c (distribute_bit_expr): Remove.
1540 (fold_binary_loc): Move simplifying (A & C1) + (B & C2)
1541 to (A & C1) | (B & C2), distributing (A & B) | (A & C)
1542 to A & (B | C) and simplifying A << C1 << C2 to ...
1543 * match.pd: ... patterns here.
1544
1545 2015-07-10 Jiong Wang <jiong.wang@arm.com>
1546
1547 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
1548 Mark mem as READONLY and NOTRAP for PIC symbol.
1549
1550 2015-07-10 Andrew MacLeod <amacleod@redhat.com>
1551
1552 * gimple-predict.h: New file.
1553 (gimple_predict_predictor, gimple_predict_set_predictor,
1554 gimple_predict_outcome, gimple_predict_set_outcome,
1555 gimple_build_predict): Relocate here.
1556 * gimple.h (gimple_predict_predictor, gimple_predict_set_predictor,
1557 gimple_predict_outcome, gimple_predict_set_outcome): Move to
1558 gimple-predict.h.
1559 * gimple.c (gimple_build_predict): Move to gimple-predict.h
1560 * basic-block.h: Don't include cfghooks.h.
1561 * backend.h: Don't include predict.h.
1562 * cfghooks.h: Include predict.h.
1563 * gimple-pretty-print.c: Include gimple-predict.h.
1564 * gimplify.c: Likwise.
1565 * predict.c: Adjust includes.
1566 * tree-inline.c: Likewise.
1567 * asan.c: Likewise.
1568 * auto-inc-dec.c: Likewise.
1569 * auto-profile.c: Likewise.
1570 * bb-reorder.c: Likewise.
1571 * builtins.c: Likewise.
1572 * caller-save.c: Likewise.
1573 * calls.c: Likewise.
1574 * cfganal.c: Likewise.
1575 * cfgbuild.c: Likewise.
1576 * cfg.c: Likewise.
1577 * cfgcleanup.c: Likewise.
1578 * cfgexpand.c: Likewise.
1579 * cfghooks.c: Likewise.
1580 * cfgloopanal.c: Likewise.
1581 * cfgloop.c: Likewise.
1582 * cfgloopmanip.c: Likewise.
1583 * cfgrtl.c: Likewise.
1584 * cgraph.c: Likewise.
1585 * cgraphunit.c: Likewise.
1586 * combine.c: Likewise.
1587 * cprop.c: Likewise.
1588 * cse.c: Likewise.
1589 * dce.c: Likewise.
1590 * dojump.c: Likewise.
1591 * dse.c: Likewise.
1592 * except.c: Likewise.
1593 * expmed.c: Likewise.
1594 * expr.c: Likewise.
1595 * final.c: Likewise.
1596 * fold-const.c: Likewise.
1597 * function.c: Likewise.
1598 * fwprop.c: Likewise.
1599 * gcc-plugin.h: Likewise.
1600 * gcse.c: Likewise.
1601 * genattrtab.c: Likewise.
1602 * genemit.c: Likewise.
1603 * gengtype.c: Likewise.
1604 * genopinit.c: Likewise.
1605 * genoutput.c: Likewise.
1606 * genpreds.c: Likewise.
1607 * genrecog.c: Likewise.
1608 * gimple-fold.c: Likewise.
1609 * gimple-iterator.c: Likewise.
1610 * gimple-ssa-isolate-paths.c: Likewise.
1611 * gimple-ssa-strength-reduction.c: Likewise.
1612 * graph.c: Likewise.
1613 * graphite-blocking.c: Likewise.
1614 * graphite.c: Likewise.
1615 * graphite-dependences.c: Likewise.
1616 * graphite-interchange.c: Likewise.
1617 * graphite-isl-ast-to-gimple.c: Likewise.
1618 * graphite-optimize-isl.c: Likewise.
1619 * graphite-poly.c: Likewise.
1620 * graphite-scop-detection.c: Likewise.
1621 * graphite-sese-to-poly.c: Likewise.
1622 * haifa-sched.c: Likewise.
1623 * ifcvt.c: Likewise.
1624 * internal-fn.c: Likewise.
1625 * ipa-cp.c: Likewise.
1626 * ipa-profile.c: Likewise.
1627 * ipa-split.c: Likewise.
1628 * ipa-utils.c: Likewise.
1629 * ira-build.c: Likewise.
1630 * ira-color.c: Likewise.
1631 * ira-conflicts.c: Likewise.
1632 * ira-costs.c: Likewise.
1633 * ira-emit.c: Likewise.
1634 * ira-lives.c: Likewise.
1635 * jump.c: Likewise.
1636 * loop-doloop.c: Likewise.
1637 * loop-init.c: Likewise.
1638 * loop-invariant.c: Likewise.
1639 * loop-unroll.c: Likewise.
1640 * lower-subreg.c: Likewise.
1641 * lra-assigns.c: Likewise.
1642 * lra.c: Likewise.
1643 * lra-coalesce.c: Likewise.
1644 * lra-constraints.c: Likewise.
1645 * lra-lives.c: Likewise.
1646 * lto-cgraph.c: Likewise.
1647 * lto-streamer-in.c: Likewise.
1648 * mode-switching.c: Likewise.
1649 * modulo-sched.c: Likewise.
1650 * omp-low.c: Likewise.
1651 * optabs.c: Likewise.
1652 * passes.c: Likewise.
1653 * postreload.c: Likewise.
1654 * postreload-gcse.c: Likewise.
1655 * profile.c: Likewise.
1656 * recog.c: Likewise.
1657 * regstat.c: Likewise.
1658 * reload1.c: Likewise.
1659 * reorg.c: Likewise.
1660 * rtlanal.c: Likewise.
1661 * sched-ebb.c: Likewise.
1662 * sel-sched-ir.c: Likewise.
1663 * sese.c: Likewise.
1664 * shrink-wrap.c: Likewise.
1665 * simplify-rtx.c: Likewise.
1666 * stmt.c: Likewise.
1667 * store-motion.c: Likewise.
1668 * tracer.c: Likewise.
1669 * trans-mem.c: Likewise.
1670 * tree-call-cdce.c: Likewise.
1671 * tree-cfg.c: Likewise.
1672 * tree-cfgcleanup.c: Likewise.
1673 * tree-chkp.c: Likewise.
1674 * tree-complex.c: Likewise.
1675 * tree-eh.c: Likewise.
1676 * tree-if-conv.c: Likewise.
1677 * tree-loop-distribution.c: Likewise.
1678 * tree-outof-ssa.c: Likewise.
1679 * tree-parloops.c: Likewise.
1680 * tree-predcom.c: Likewise.
1681 * tree-pretty-print.c: Likewise.
1682 * tree-profile.c: Likewise.
1683 * tree-sra.c: Likewise.
1684 * tree-ssa.c: Likewise.
1685 * tree-ssa-coalesce.c: Likewise.
1686 * tree-ssa-dce.c: Likewise.
1687 * tree-ssa-dom.c: Likewise.
1688 * tree-ssa-forwprop.c: Likewise.
1689 * tree-ssa-ifcombine.c: Likewise.
1690 * tree-ssa-loop-ch.c: Likewise.
1691 * tree-ssa-loop-im.c: Likewise.
1692 * tree-ssa-loop-ivcanon.c: Likewise.
1693 * tree-ssa-loop-ivopts.c: Likewise.
1694 * tree-ssa-loop-manip.c: Likewise.
1695 * tree-ssa-loop-prefetch.c: Likewise.
1696 * tree-ssa-loop-unswitch.c: Likewise.
1697 * tree-ssa-math-opts.c: Likewise.
1698 * tree-ssa-phiopt.c: Likewise.
1699 * tree-ssa-pre.c: Likewise.
1700 * tree-ssa-reassoc.c: Likewise.
1701 * tree-ssa-sink.c: Likewise.
1702 * tree-ssa-tail-merge.c: Likewise.
1703 * tree-ssa-threadedge.c: Likewise.
1704 * tree-ssa-threadupdate.c: Likewise.
1705 * tree-switch-conversion.c: Likewise.
1706 * tree-tailcall.c: Likewise.
1707 * tree-vect-data-refs.c: Likewise.
1708 * tree-vect-loop.c: Likewise.
1709 * tree-vect-loop-manip.c: Likewise.
1710 * tree-vectorizer.c: Likewise.
1711 * tree-vrp.c: Likewise.
1712 * ubsan.c: Likewise.
1713 * value-prof.c: Likewise.
1714 * varasm.c: Likewise.
1715 * var-tracking.c: Likewise.
1716 * config/aarch64/aarch64-builtins.c: Likewise.
1717 * config/aarch64/aarch64.c: Likewise.
1718 * config/aarch64/cortex-a57-fma-steering.c: Likewise.
1719 * config/alpha/alpha.c: Likewise.
1720 * config/arc/arc.c: Likewise.
1721 * config/arm/arm.c: Likewise.
1722 * config/avr/avr.c: Likewise.
1723 * config/bfin/bfin.c: Likewise.
1724 * config/c6x/c6x.c: Likewise.
1725 * config/cr16/cr16.c: Likewise.
1726 * config/cris/cris.c: Likewise.
1727 * config/darwin.c: Likewise.
1728 * config/darwin-c.c: Likewise.
1729 * config/epiphany/epiphany.c: Likewise.
1730 * config/epiphany/mode-switch-use.c: Likewise.
1731 * config/epiphany/resolve-sw-modes.c: Likewise.
1732 * config/fr30/fr30.c: Likewise.
1733 * config/frv/frv.c: Likewise.
1734 * config/ft32/ft32.c: Likewise.
1735 * config/h8300/h8300.c: Likewise.
1736 * config/i386/i386.c: Likewise.
1737 * config/i386/winnt.c: Likewise.
1738 * config/ia64/ia64.c: Likewise.
1739 * config/iq2000/iq2000.c: Likewise.
1740 * config/lm32/lm32.c: Likewise.
1741 * config/m32c/m32c.c: Likewise.
1742 * config/m32r/m32r.c: Likewise.
1743 * config/m68k/m68k.c: Likewise.
1744 * config/mcore/mcore.c: Likewise.
1745 * config/mep/mep.c: Likewise.
1746 * config/microblaze/microblaze.c: Likewise.
1747 * config/mips/mips.c: Likewise.
1748 * config/mmix/mmix.c: Likewise.
1749 * config/mn10300/mn10300.c: Likewise.
1750 * config/moxie/moxie.c: Likewise.
1751 * config/msp430/msp430.c: Likewise.
1752 * config/nds32/nds32.c: Likewise.
1753 * config/nds32/nds32-cost.c: Likewise.
1754 * config/nds32/nds32-fp-as-gp.c: Likewise.
1755 * config/nds32/nds32-intrinsic.c: Likewise.
1756 * config/nds32/nds32-isr.c: Likewise.
1757 * config/nds32/nds32-md-auxiliary.c: Likewise.
1758 * config/nds32/nds32-memory-manipulation.c: Likewise.
1759 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
1760 * config/nds32/nds32-predicates.c: Likewise.
1761 * config/nios2/nios2.c: Likewise.
1762 * config/nvptx/nvptx.c: Likewise.
1763 * config/pa/pa.c: Likewise.
1764 * config/pdp11/pdp11.c: Likewise.
1765 * config/rl78/rl78.c: Likewise.
1766 * config/rs6000/rs6000.c: Likewise.
1767 * config/rx/rx.c: Likewise.
1768 * config/s390/s390.c: Likewise.
1769 * config/sh/sh.c: Likewise.
1770 * config/sh/sh-mem.cc: Likewise.
1771 * config/sh/sh_optimize_sett_clrt.cc: Likewise.
1772 * config/sh/sh_treg_combine.cc: Likewise.
1773 * config/sparc/sparc.c: Likewise.
1774 * config/spu/spu.c: Likewise.
1775 * config/stormy16/stormy16.c: Likewise.
1776 * config/tilegx/tilegx.c: Likewise.
1777 * config/tilepro/tilepro.c: Likewise.
1778 * config/v850/v850.c: Likewise.
1779 * config/vax/vax.c: Likewise.
1780 * config/visium/visium.c: Likewise.
1781 * config/xtensa/xtensa.c: Likewise.
1782
1783 2015-07-10 Richard Biener <rguenther@suse.de>
1784
1785 * genmatch.c (dt_node::gen_kids_1): Fix indenting of case labels.
1786 (decision_tree::gen_gimple): Likewise.
1787 (decision_tree::gen_generic): Likewise.
1788
1789 2015-07-10 Uros Bizjak <ubizjak@gmail.com>
1790
1791 PR target/66813
1792 * config/i386/i386.c (ix86_md_asm_adjust): Emit movstrictqi
1793 sequence for TARGET_ZERO_EXTEND_WITH_AND targets.
1794
1795 2015-07-10 Jakub Jelinek <jakub@redhat.com>
1796
1797 PR middle-end/66820
1798 * gimplify.c (maybe_fold_stmt): Don't fold in ORT_PARALLEL
1799 or ORT_TASK contexts.
1800 * omp-low.c (lower_omp): Call fold_stmt even if taskreg_nesting_level
1801 is non-zero.
1802
1803 2015-07-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1804
1805 * expr.c (expand_cond_expr_using_cmove): Fix typos in comment
1806 above function.
1807
1808 2015-07-10 Tom de Vries <tom@codesourcery.com>
1809
1810 * tree-parloops.c (try_transform_to_exit_first_loop_alt): If not found,
1811 insert nit + 1 bound.
1812
1813 2015-07-10 Richard Biener <rguenther@suse.de>
1814
1815 * tree-if-conv.c (if_convertible_gimple_assign_stmt_p):
1816 Use ifcvt_could_trap_p also when not flag_tree_loop_if_convert_stores.
1817 (if_convertible_loop_p_1): For this always compute bb predicates.
1818 (if_convertible_loop_p): And free them.
1819
1820 2015-07-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
1821
1822 * ipa-icf.c (sem_item_optimizer::do_congruence_step): Fix typo
1823 in dump message.
1824
1825 2015-07-10 Richard Biener <rguenther@suse.de>
1826
1827 PR tree-optimization/66823
1828 * tree-if-conv.c (memrefs_read_or_written_unconditionally): Fix
1829 inverted predicate.
1830
1831 2015-07-09 Steve Ellcey <sellcey@imgtec.com>
1832
1833 * config/mips/mti-linux.h (MIPS_SYSVERSION_SPEC): Update
1834 to handle mips[32|64]r3 and mips[32|64]r5.
1835
1836 2015-07-09 Jakub Jelinek <jakub@redhat.com>
1837
1838 PR middle-end/66633
1839 * tree-nested.c (get_static_chain): Or in a flag into
1840 info->static_chain_added.
1841 (get_frame_field, get_nonlocal_debug_decl): Likewise.
1842 (convert_nonlocal_omp_clauses, convert_local_omp_clauses): Revert
1843 2015-07-01 changes.
1844 (convert_tramp_reference_stmt): If a frame_decl or chain_decl
1845 is needed newly inside of GIMPLE_OMP_{PARALLEL,TASK,TARGET} body,
1846 add it to clauses.
1847
1848 PR tree-optimization/66718
1849 * tree-vect-stmts.c (struct simd_call_arg_info): Add simd_lane_linear
1850 field.
1851 (vect_simd_lane_linear): New function.
1852 (vectorizable_simd_clone_call): Support using linear arguments for
1853 addresses of arrays elements indexed by GOMP_SIMD_LANE result.
1854
1855 2015-07-09 H.J. Lu <hongjiu.lu@intel.com>
1856
1857 PR target/66821
1858 * config/i386/i386.c (iamcu_cost): Adjust variable shift costs.
1859
1860 2015-07-09 Michael Meissner <meissner@linux.vnet.ibm.com>
1861
1862 * config/rs6000/rs6000-protos.h (rs6000_secondary_reload_memory):
1863 Use machine mode, not enum machine_mode in the prototype.
1864
1865 * config/rs6000/rs6000.h (FLOAT128_IEEE_P): New helper macros to
1866 classify 128-bit floating point support.
1867 (FLOAT128_IBM_P): Likewise.
1868 (FLOAT128_VECTOR_P): Likewise.
1869 (FLOAT128_2REG_P): Likewise.
1870 (SCALAR_FLOAT_MODE_NOT_VECTOR_P): Likewise.
1871 (SLOW_UNALIGNED_ACCESS): Add IEEE 128-bit floating point support.
1872 (HARD_REGNO_CALLER_SAVE_MODE): Likewise.
1873 (HARD_REGNO_CALL_PART_CLOBBERED): Likewise.
1874
1875 * config/rs6000/rs6000.c (rs6000_hard_regno_nregs_internal): Drop
1876 tests against TFmode/TDmode, since those modes do not use VSX
1877 addresses.
1878 (rs6000_hard_regno_mode_ok): Add IEEE 128-bit floating point
1879 support.
1880 (rs6000_init_hard_regno_mode_ok): Use new helper macros instead of
1881 tests against TFmode, etc.
1882 (invalid_e500_subreg): Add tests against IFmode/KFmode.
1883 (reg_offset_addressing_ok_p): Likewise.
1884 (rs6000_legitimate_offset_address_p): Likewise.
1885 (rs6000_legitimize_address): Likewise.
1886 (rs6000_legitimize_reload_address): Likewise.
1887 (rs6000_legitimate_address_p): Clean up tests against TFmode and
1888 TDmode to use the new helper macros, which will include IFmode and
1889 KFmode.
1890 (rs6000_emit_move): Likewise.
1891 (rs6000_darwin64_record_arg_recurse): Likewise.
1892 (print_operand): Likewise.
1893 (rs6000_member_type_forces_blk): Treat IEEE 128-bit floating point
1894 that uses a single vector register as a vector and not as a
1895 floating point register in terms of the calling sequence.
1896 (rs6000_discover_homogeneous_aggregate): Likewise.
1897 (rs6000_return_in_memory): Likewise.
1898 (init_cumulative_args): Likewise.
1899 (rs6000_function_arg_boundary): Likewise.
1900 (rs6000_function_arg_advance_1): Likewise.
1901 (rs6000_function_arg): Likewise.
1902 (rs6000_pass_by_reference): Likewise.
1903 (rs6000_gimplify_va_arg): Likewise.
1904 (rs6000_secondary_reload_memory): Use machine_mode not enum
1905 machine mode.
1906 (rs6000_split_multireg_move): Use new helper macros.
1907 (spe_func_has_64bit_regs_p): Likewise.
1908 (rs6000_output_function_epilogue): Add IFmode/KFmode support.
1909 (output_toc): Use new helper macros.
1910 (rs6000_register_move_cost): Likewise.
1911 (rs6000_function_value): Add IEEE 128-bit floating point calling
1912 sequence support.
1913 (rs6000_libcall_value): Likewise.
1914 (rs6000_scalar_mode_supported_p): Add support for IEEE 128-bit
1915 floating point support.
1916 (rs6000_vector_mode_supported_p): Likewise.
1917
1918 2015-07-09 Vladimir Makarov <vmakarov@redhat.com>
1919
1920 PR rtl-optimization/66782
1921 * lra-int.h (struct lra_insn_recog_data): Add comment about
1922 clobbered hard regs for arg_hard_regs.
1923 * lra.c (lra_set_insn_recog_data): Add clobbered hard regs.
1924 * lra-lives.c (process_bb_lives): Process clobbered hard regs.
1925 Add condition for processing used hard regs.
1926 * lra-constraints.c (update_ebb_live_info, inherit_in_ebb):
1927 Process clobbered hard regs.
1928
1929 2015-07-09 Michael Matz <matz@suse.de>
1930
1931 * genmatch.c (fprintf_indent): New function.
1932 (operand::gen_transform): Add indent parameter.
1933 (expr::gen_transform, c_expr::gen_transform,
1934 capture::gen_transform): Ditto and use fprintf_indent.
1935 (dt_node::gen, dt_node::gen_kids, dt_node::gen_kids_1): Ditto.
1936 (dt_operand::gen, dt_operand::gen_predicate,
1937 dt_operand::gen_match_op, dt_operand::gen_gimple_expr,
1938 dt_operand::gen_generic_expr, dt_simplify::gen): Ditto.
1939 (decision_tree::gen_gimple): Adjust calls and indent generated
1940 code.
1941 (decision_tree::gen_generic): Ditto.
1942 (write_predicate): Ditto.
1943
1944 2015-07-08 Uros Bizjak <ubizjak@gmail.com>
1945
1946 PR target/66814
1947 * config/i386/predicates.md (nonimmediate_gr_operand): New predicate.
1948 * config/i386/i386.md (not peephole2): Use nonimmediate_gr_operand.
1949 (varous peephole2s): Use {GENERAL,SSE,MMX}_REGNO_P instead of
1950 {GENERAL,SSE,MMX}_REG_P where appropriate.
1951
1952 2015-07-09 Andrew MacLeod <amacleod@redhat.com>
1953
1954 * lto-streamer.h: Don't include target.h and alloc-pool.h.
1955 * builtins.c: Adjust includes.
1956 * gimple.c: Likewise.
1957 * ipa-icf.c: Likewise.
1958 * lto-opts.c: Likewise.
1959 * ipa-reference.c: Likewise.
1960 * lto-section-out.c: Likewise.
1961 * lto-streamer-in.c: Likewise.
1962 * lto-streamer-out.c: Likewise.
1963 * opts-global.c: Likewise.
1964 * symtab.c: Likewise.
1965 * tree-chkp.c: Likewise.
1966 * tree-ssa-live.c: Likewise.
1967 * tree-streamer-in.c: Likewise.
1968 * tree-streamer-out.c: Likewise.
1969 * config/darwin.c: Likewise.
1970 * config/i386/winnt.c: Likewise.
1971
1972 2015-07-09 Richard Biener <rguenther@suse.de>
1973
1974 * genmatch.c (struct expr): Add force_single_use flag.
1975 (expr::expr): Add copy constructor.
1976 (capture_info::walk_match): Gather force_single_use captures.
1977 (expr::gen_transform): Use possibly NULLified sequence.
1978 (dt_simplify::gen): Apply single-use restrictions by NULLifying
1979 seq if any constrained expr is not single-use.
1980 (parser::parse_expr): Refactor to allow multiple flags. Handle
1981 's' flag to force an expression have a single-use if the pattern
1982 simplifies to more than one statement.
1983 * match.pd: Convert most single_use conditionals to :s flags.
1984
1985 2015-07-09 H.J. Lu <hongjiu.lu@intel.com>
1986
1987 * config/i386/iamcu.h (ASM_OUTPUT_ALIGNED_BSS): New.
1988 (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
1989 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
1990
1991 2015-07-09 Andrew MacLeod <amacleod@redhat.com>
1992
1993 * flags.h: Don't include flag-types.h or options.h.
1994 * opts-common.c: Adjust includes.
1995 * opts-global.c: Likewise.
1996 * common/config/epiphany/epiphany-common.c: Likewise.
1997
1998 2015-07-09 H.J. Lu <hongjiu.lu@intel.com>
1999
2000 PR target/66818
2001 * config/i386/i386.h (ATTRIBUTE_ALIGNED_VALUE): Defined to 32
2002 for IA MCU.
2003
2004 2015-07-09 H.J. Lu <hongjiu.lu@intel.com>
2005
2006 PR target/66817
2007 * config/i386/i386.c (ix86_return_in_memory): Return true
2008 if int_size_in_bytes returns negative for IA MCU.
2009
2010 2015-07-09 Marek Polacek <polacek@redhat.com>
2011
2012 PR tree-optimization/66718
2013 * Makefile.in (OBJS): Add gimple-laddress.o.
2014 * passes.def: Schedule pass_laddress.
2015 * timevar.def (DEFTIMEVAR): Add TV_GIMPLE_LADDRESS.
2016 * tree-pass.h (make_pass_laddress): Declare.
2017 * gimple-laddress.c: New file.
2018
2019 2015-07-09 Richard Biener <rguenther@suse.de>
2020
2021 * toplev.c (compile_file): Reset maximum_field_alignment after parsing.
2022
2023 2015-07-09 Richard Biener <rguenther@suse.de>
2024
2025 PR tree-optimization/66807
2026 * tree-chkp-opt.c (chkp_opt_fini): Free post dominator info.
2027
2028 2015-07-08 Kito Cheng <kito.cheng@gmail.com>
2029
2030 * function.c (stack_protect_epilogue): Use if rather than switch for
2031 check targetm.have_stack_protect_test.
2032
2033 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2034
2035 * defaults.h: Provide default for WORD_REGISTER_OPERATIONS.
2036 * config/alpha/alpha.h: Define WORD_REGISTER_OPERATIONS to 1.
2037 * config/arc/arc.h: Likewise.
2038 * config/arm/arm.h: Likewise.
2039 * config/bfin/bfin.h: Likewise.
2040 * config/epiphany/epiphany.h: Likewise.
2041 * config/frv/frv.h: Likewise.
2042 * config/ia64/ia64.h: Likewise.
2043 * config/iq2000/iq2000.h: Likewise.
2044 * config/lm32/lm32.h: Likewise.
2045 * config/m32r/m32r.h: Likewise.
2046 * config/mcore/mcore.h: Likewise.
2047 * config/mep/mep.h: Likewise.
2048 * config/microblaze/microblaze.h: Likewise.
2049 * config/mips/mips.h: Likewise.
2050 * config/mmix/mmix.h: Likewise.
2051 * config/mn10300/mn10300.h: Likewise.
2052 * config/nds32/nds32.h: Likewise.
2053 * config/nios2/nios2.h: Likewise.
2054 * config/pa/pa.h: Likewise.
2055 * config/rl78/rl78.h: Likewise.
2056 * config/sh/sh.h: Likewise.
2057 * config/sparc/sparc.h: Likewise.
2058 * config/stormy16/stormy16.h: Likewise.
2059 * config/tilegx/tilegx.h: Likewise.
2060 * config/tilepro/tilepro.h: Likewise.
2061 * config/v850/v850.h: Likewise.
2062 * config/xtensa/xtensa.h: Likewise.
2063 * doc/tm.texi: Regenerate.
2064 * doc/tm.texi.in: Adjust.
2065 * combine.c (simplify_set): Likewise.
2066 (simplify_comparison): Likewise.
2067 * expr.c (store_constructor): Likewise.
2068 * internal-fn.c (expand_arith_overflow): Likewise.
2069 * reload.c (push_reload): Likewise.
2070 (find_reloads): Likewise.
2071 (find_reloads_subreg_address): Likewise.
2072 * reload1.c (eliminate_regs_1): Likewise.
2073 * rtlanal.c (nonzero_bits1): Likewise.
2074 (num_sign_bit_copies1): Likewise.
2075 * simplify-rtx.c (simplify_truncation): Likewise.
2076
2077 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2078
2079 * auto-inc-dec.c (pass_inc_dec::execute): Don't check the value
2080 of AUTO_INC_DEC with the preprocessor.
2081 * combine.c (combine_instructions): Likewise.
2082 (can_combine_p): Likewise.
2083 (try_combine): Likewise.
2084 * emit-rtl.c (try_split): Likewise.
2085 * loop-invariant.c (calculate_loop_reg_pressure): Likewise.
2086 * lower-subreg.c (resolve_simple_move): Likewise.
2087 * lra.c (update_inc_notes): Likewise.
2088 * recog.c (asm_operand_ok): Likewise.
2089 (constrain_operands): Likewise.
2090 * regrename.c (scan_rtx_address): Likewise.
2091 * reload.c (update_auto_inc_notes): Likewise.
2092 (reg_inc_found_and_valid_p): Likewise.
2093 * reload1.c (reload): Likewise.
2094 (emit_input_reload_insns): Likewise.
2095 (delete_output_reload): Likewise.
2096 * sched-deps.c (init_insn_reg_pressure_info): Likewise.
2097 * valtrack.c (cleanup_auto_inc_dec): Likewise.
2098
2099 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2100
2101 * rtl.h: Always define AUTO_INC_DEC.
2102 * auto-inc-dec.c (pass_inc_dec::execute): Adjust.
2103 * combine.c (combine_instructions): Likewise.
2104 (can_combine_p): Likewise.
2105 (try_combine): Likewise.
2106 * emit-rtl.c (try_split): Likewise.
2107 * loop-invariant.c (calculate_loop_reg_pressure): Likewise.
2108 * lower-subreg.c (resolve_simple_move): Likewise.
2109 * lra.c (update_inc_notes): Likewise.
2110 * recog.c (asm_operand_ok): Likewise.
2111 (constrain_operands): Likewise.
2112 * regrename.c (scan_rtx_address): Likewise.
2113 * reload.c (update_auto_inc_notes): Likewise.
2114 (find_equiv_reg): Likewise.
2115 * reload1.c (reload): Likewise.
2116 (reload_as_needed): Likewise.
2117 (choose_reload_regs): Likewise.
2118 (emit_input_reload_insns): Likewise.
2119 (delete_output_reload): Likewise.
2120 * sched-deps.c (init_insn_reg_pressure_info): Likewise.
2121 * valtrack.c (cleanup_auto_inc_dec): Likewise.
2122
2123 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2124
2125 * combine.c (can_combine_def_p): Don't check the value of
2126 HARD_FRAME_POINTER_IS_FRAME_POINTER with the preprocessor.
2127 (combinable_i3pat): Likewise.
2128 (mark_used_regs_combine): Likewise.
2129 * regrename.c (rename_chains): Likewise.
2130 * reload.c (find_reloads_address): Likewise.
2131 * sel-sched.c (mark_unavailable_hard_regs): Likewise.
2132
2133 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2134
2135 * combine.c (update_rsp_from_reg_equal): Don't check if
2136 SHORT_IMMEDIATES_SIGN_EXTEND is defined.
2137 (reg_nonzero_bits_for_combine): Likewise.
2138 * config/alpha/alpha.h: Define SHORT_IMMEDIATES_SIGN_EXTEND to
2139 1.
2140 * config/frv/frv.h: Likewise.
2141 * config/lm32/lm32.h: Likewise.
2142 * config/mep/mep.h: Likewise.
2143 * config/mips/mips.h: Likewise.
2144 * config/rs6000/rs6000.h: Likewise.
2145 * config/sh/sh.h: Likewise.
2146 * config/tilegx/tilegx.h (enum reg_class): Likewise.
2147 * config/tilepro/tilepro.h: Likewise.
2148 * defaults.h: Add default for SHORT_IMMEDIATES_SIGN_EXTEND.
2149 * doc/tm.texi: Regenerate.
2150 * doc/tm.texi.in: Adjust.
2151 * rtlanal.c (nonzero_bits1): Likewise.
2152
2153 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2154
2155 * combine.c (do_SUBST_MODE): Don't check the value of HAVE_cc0
2156 with the preprocessor.
2157 (combine_instructions): Likewise.
2158 (try_combine): Likewise.
2159 (subst): Likewise.
2160 (distribute_notes): Likewise.
2161
2162 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2163
2164 * combine.c (try_combine): Don't check if LOAD_EXTEND_OP is
2165 defined.
2166 (simplify_set): Likewise.
2167 * cse.c (cse_insn): Likewise.
2168 * fold-const.c (fold_single_bit_test): Likewise.
2169 (fold_unary_loc): Likewise.
2170 * postreload.c (reload_cse_simplify_set): Likewise.
2171 (reload_cse_simplify_operands): Likewise.
2172
2173 2015-07-08 Jiong Wang <jiong.wang@arm.com>
2174
2175 * config/aarch64/aarch64.c (aarch64_unspec_may_trap_p): New function.
2176 (TARGET_UNSPEC_MAY_TRAP_P): Define as aarch64_unspec_may_trap_p.
2177
2178 2015-07-08 H.J. Lu <hongjiu.lu@intel.com>
2179
2180 PR target/66746
2181 * config/i386/x86intrin.h: Include <adxintrin.h> even if
2182 __iamcu__ is defined.
2183
2184 2015-07-08 Uros Bizjak <ubizjak@gmail.com>
2185
2186 * config/i386/predicates.md (general_reg_operand): Use GENERAL_REGNO_P.
2187
2188 2015-07-08 Iain Sandoe <iain@codesourcery.com>
2189
2190 PR target/66523
2191 * config/darwin.c (darwin_mark_decl_preserved): Exclude 'L' label
2192 names from preservation.
2193
2194 2015-07-08 H.J. Lu <hongjiu.lu@intel.com>
2195
2196 PR target/66806
2197 * config/i386/i386.c (type_natural_mode): Don't warn vector ABI
2198 change for IAMCU.
2199 (function_arg_advance_32): Don't pass vectors in registers for
2200 IAMCU.
2201 (function_arg_32): Likewise.
2202 (ix86_return_in_memory): Don't return vectors in registers for
2203 IAMCU.
2204
2205 2015-07-08 Vladimir Makarov <vmakarov@redhat.com>
2206
2207 PR middle-end/66334
2208 * ira-lives.c (process_bb_node_lives): Make conflicts with PIC
2209 hard regno live at the start of BB with incoming abnormal edges.
2210 * lra-lives.c (process_bb_lives): Ditto.
2211
2212 2015-07-08 Thomas Schwinge <thomas@codesourcery.com>
2213
2214 PR libgomp/65099
2215 * config/nvptx/mkoffload.c (main): Create an offload image only in
2216 64-bit configurations.
2217
2218 2015-07-08 Martin Liska <mliska@suse.cz>
2219
2220 PR bootstrap/66744
2221 * tree-sra.c (create_access_1): Call ctor without brackets.
2222 (create_artificial_child_access): Likewise.
2223
2224 2015-07-08 Richard Biener <rguenther@suse.de>
2225
2226 PR tree-optimization/66793
2227 * gimple-ssa-isolate-paths.c (insert_trap_and_remove_trailing_statemen):
2228 Properly split the block after stmts ending it.
2229
2230 2015-07-08 Richard Biener <rguenther@suse.de>
2231
2232 PR tree-optimization/66794
2233 * passes.c (execute_function_todo): Assert that post-dominators
2234 are not computed.
2235 * gimple-ssa-isolate-paths.c (gimple_ssa_isolate_erroneous_paths):
2236 Free post-dominators.
2237
2238 2015-07-08 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2239
2240 * config/s390/s390.c (s390_init_frame_layout): Replace assertion
2241 with early exit.
2242
2243 2015-07-08 Uros Bizjak <ubizjak@gmail.com>
2244
2245 * config/i386/i386.md (*jcc_bt<mode>): Only allow const_int values
2246 more than or equal 8 and less than 32 when optimizing for size.
2247
2248 2015-07-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2249
2250 * config/arm/arm.c (arm_new_rtx_costs): Initialise cost to
2251 COSTS_N_INSNS (1) and increment it appropriately throughout the
2252 function.
2253
2254 2015-07-08 Richard Biener <rguenther@suse.de>
2255
2256 * fold-const.c (fold_widened_comparison): Fix inverted comparison.
2257
2258 2015-07-08 Alan Modra <amodra@gmail.com>
2259
2260 * target.def (rtx_costs): Remove "code" param, add "mode".
2261 * rtl.h (rtx_cost, get_full_rtx_cost): Update prototype.
2262 (set_src_cost, get_full_set_src_cost): Likewise. Move later in file.
2263 (set_rtx_cost, get_full_set_rtx_cost): Move later in file.
2264 * rtlanal.c (rtx_cost): Add "mode" parameter. Update targetm.rtx_costs
2265 call. Track mode when given in rtx.
2266 (get_full_rtx_cost): Add "mode" parameter. Update rtx_cost calls.
2267 (default_address_cost): Pass Pmode to rtx_cost.
2268 (insn_rtx_cost): Pass dest mode of set to set_src_cost.
2269 * cprop.c (try_replace_reg): Ensure set_rtx_cost is not called
2270 with NULL set.
2271 * cse.c (COST, COST_IN): Add MODE param. Update all uses.
2272 (notreg_cost): Add mode param. Use it.
2273 * gcse.c (want_to_gcse_p): Delete forward declaration. Add
2274 mode param and pass to set_src_cost. Update all calls.
2275 (hash_scan_set): Formatting.
2276 * hooks.c (hook_bool_rtx_int_int_int_intp_bool_false): Delete.
2277 (hook_bool_rtx_mode_int_int_intp_bool_false): New function.
2278 * hooks.h: Ditto.
2279 * expmed.c (init_expmed_one_conv, init_expmed_one_mode,
2280 init_expmed, expand_mult, mult_by_coeff_cost, expand_smod_pow2,
2281 emit_store_flag): Update set_src_cost and rtx_cost calls.
2282 * auto-inc-dec.c (attempt_change): Likewise.
2283 * calls.c (precompute_register_parameters): Likewise.
2284 * combine.c (expand_compound_operation, make_extraction,
2285 force_to_mode, distribute_and_simplify_rtx): Likewise.
2286 * dojump.c (prefer_and_bit_test): Likewise.
2287 * dse.c (find_shift_sequence): Likewise.
2288 * expr.c (compress_float_constant): Likewise.
2289 * fwprop.c (should_replace_address, try_fwprop_subst): Likewise.
2290 * ifcvt.c (noce_try_sign_mask): Likewise.
2291 * loop-doloop.c (doloop_optimize): Likewise.
2292 * loop-invariant.c (create_new_invariant): Likewise.
2293 * lower-subreg.c (shift_cost, compute_costs): Likewise.
2294 * optabs.c (avoid_expensive_constant, prepare_cmp_insn,
2295 lshift_cheap_p): Likewise.
2296 * postreload.c (reload_cse_simplify_set, reload_cse_simplify_operands,
2297 try_replace_in_use, reload_cse_move2add): Likewise.
2298 * reload1.c (calculate_elim_costs_all_insns, note_reg_elim_costly):
2299 Likewise.
2300 * simplify-rtx.c (simplify_binary_operation_1): Likewise.
2301 * tree-ssa-loop-ivopts.c (computation_cost): Likewise.
2302 * tree-ssa-reassoc.c (optimize_range_tests_to_bit_test): Likewise.
2303 * tree-switch-conversion.c (emit_case_bit_tests): Likewise.
2304 * config/aarch64/aarch64.c (aarch64_rtx_costs): Delete "code" param,
2305 add "mode" param. Use "mode: in place of GET_MODE (x). Pass mode
2306 to rtx_cost calls.
2307 * config/alpha/alpha.c (alpha_rtx_costs): Likewise.
2308 * config/arc/arc.c (arc_rtx_costs): Likewise.
2309 * config/arm/arm.c (arm_rtx_costs): Likewise.
2310 * config/avr/avr.c (avr_rtx_costs, avr_rtx_costs_1): Likewise.
2311 * config/bfin/bfin.c (bfin_rtx_costs): Likewise.
2312 * config/c6x/c6x.c (c6x_rtx_costs): Likewise.
2313 * config/cris/cris.c (cris_rtx_costs): Likewise.
2314 * config/epiphany/epiphany.c (epiphany_rtx_costs): Likewise.
2315 * config/frv/frv.c (frv_rtx_costs): Likewise.
2316 * config/h8300/h8300.c (h8300_rtx_costs): Likewise.
2317 * config/i386/i386.c (ix86_rtx_costs): Likewise.
2318 * config/ia64/ia64.c (ia64_rtx_costs): Likewise.
2319 * config/iq2000/iq2000.c (iq2000_rtx_costs): Likewise.
2320 * config/lm32/lm32.c (lm32_rtx_costs): Likewise.
2321 * config/m32c/m32c.c (m32c_rtx_costs): Likewise.
2322 * config/m32r/m32r.c (m32r_rtx_costs): Likewise.
2323 * config/m68k/m68k.c (m68k_rtx_costs): Likewise.
2324 * config/mcore/mcore.c (mcore_rtx_costs): Likewise.
2325 * config/mep/mep.c (mep_rtx_cost): Likewise.
2326 * config/microblaze/microblaze.c (microblaze_rtx_costs): Likewise.
2327 * config/mips/mips.c (mips_rtx_costs): Likewise.
2328 * config/mmix/mmix.c (mmix_rtx_costs): Likewise.
2329 * config/mn10300/mn10300.c (mn10300_rtx_costs): Likewise.
2330 * config/msp430/msp430.c (msp430_rtx_costs): Likewise.
2331 * config/nds32/nds32-cost.c (nds32_rtx_costs_impl): Likewise.
2332 * config/nds32/nds32-protos.h (nds32_rtx_costs_impl): Likewise.
2333 * config/nds32/nds32.c (nds32_rtx_costs): Likewise.
2334 * config/nios2/nios2.c (nios2_rtx_costs): Likewise.
2335 * config/pa/pa.c (hppa_rtx_costs): Likewise.
2336 * config/pdp11/pdp11.c (pdp11_rtx_costs): Likewise.
2337 * config/rl78/rl78.c (rl78_rtx_costs): Likewise.
2338 * config/rs6000/rs6000.c (rs6000_rtx_costs): Likewise.
2339 * config/s390/s390.c (s390_rtx_costs): Likewise.
2340 * config/sh/sh.c (sh_rtx_costs): Likewise.
2341 * config/sparc/sparc.c (sparc_rtx_costs): Likewise.
2342 * config/spu/spu.c (spu_rtx_costs): Likewise.
2343 * config/stormy16/stormy16.c (xstormy16_rtx_costs): Likewise.
2344 * config/tilegx/tilegx.c (tilegx_rtx_costs): Likewise.
2345 * config/tilepro/tilepro.c (tilepro_rtx_costs): Likewise.
2346 * config/v850/v850.c (v850_rtx_costs): Likewise.
2347 * config/vax/vax.c (vax_rtx_costs): Likewise.
2348 * config/visium/visium.c (visium_rtx_costs): Likewise.
2349 * config/xtensa/xtensa.c (xtensa_rtx_costs): Likewise.
2350 * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Change type of
2351 "code" param, and pass as outer_code to first rtx_cost call. Pass
2352 mode to rtx_cost calls.
2353 (aarch64_address_cost, aarch64_if_then_else_costs): Update rtx_cost
2354 calls.
2355 (aarch64_rtx_costs_wrapper): Update.
2356 * config/arm/arm.c (arm_rtx_costs_1, arm_size_rtx_costs,
2357 arm_unspec_cost, arm_new_rtx_costs, arm_slowmul_rtx_costs): Update
2358 rtx_cost calls.
2359 * config/avr/avr.c (avr_final_prescan_insn): Update set_src_cost
2360 and rtx_cost calls.
2361 (avr_operand_rtx_cost): Similarly.
2362 (avr_rtx_costs_1): Correct mode passed to avr_operand_rtx_cost
2363 for subexpressions of ZERO_EXTEND, SIGN_EXTEND and COMPARE.
2364 * config/mips/mips.c (mips_stack_address_p): Comment typo.
2365 (mips_binary_cost): Update rtx_cost and set_src_cost calls.
2366 (mips_rtx_costs): Use GET_MODE (x) to detect const_int.
2367 * config/mn10300/mn10300.c (mn10300_address_cost): Pass Pmode to
2368 rtx_cost.
2369 (mn10300_rtx_costs): Correct mode passed to mn10300_address_cost.
2370 * config/rs6000/rs6000.c (rs6000_debug_rtx_costs): Update.
2371 * config/sh/sh.c (and_xor_ior_costs): Update rtx_cost call.
2372 * doc/tm.texi: Regenerate.
2373
2374 2015-07-07 Andrew MacLeod <amacleod@redhat.com>
2375
2376 * tree-core.h: Include symtab.h.
2377 * rtl.h: Include hard-reg-set.h but not flags.h.
2378 (HARD_CONST): Remove condition compilation involving HARD_CONST since
2379 hard-reg-set.h is always included.
2380 * regs.h: Don't include hard-reg-set.h or rtl.h.
2381 * cfg.h: Include dominance.h.
2382 * gimple.h: Include tree-ssa-alias.h and gimple-expr.h.
2383 * backend.h: New. Aggregate commonly used backend header files.
2384 * gimple-ssa.h: Don't include tree-hasher.h.
2385 * ssa.h: New. Aggregate commonly used SSA header files.
2386 * regset.h: Remove bitmap.h and hard-reg-set.h #includes.
2387 * sel-sched-ir.h: Flatten includes.
2388 * lra-int.h: Flatten completely.
2389 * sel-sched-dump.h: Flatten includes.
2390 * ira-int.h: Flatten includes.
2391 * gimple-streamer.h: Remove all includes.
2392 * cfgloop.h: Remove all #includes except cfgloopmanip.h.
2393 * resource.h: Flatten hard-reg-set.h and df.h.
2394 * sched-int.h: Flatten insn-arrt.h and df.h.
2395 * valtrack.h: flatten bitmap.h, df.h, and rtl.h
2396 * df.h: Flatten includes, leaving regset.h, alloc-pool.h and timevar.h.
2397 * genattrtab.c (write_header): Adjust generated includes.
2398 * genautomata.c (main): Likewise.
2399 * genconditions.c (write-header): Likewise.
2400 * genemit.c (main): Likewise.
2401 * gengtype.c (open_base_files): Likewise.
2402 * genopinit.c (main): Likewise.
2403 * genoutput.c (output_prologue): Likewise.
2404 * genpeep.c (main): Likewise.
2405 * genpreds.c (write_insn_preds_c): Likewise.
2406 * genrecog.c (write_header): Likewise.
2407 * alias.c: Adjust includes.
2408 * asan.c: Likewise.
2409 * attribs.c: Likewise.
2410 * auto-inc-dec.c: Likewise.
2411 * auto-profile.c: Likewise.
2412 * bb-reorder.c: Likewise.
2413 * bt-load.c: Likewise.
2414 * builtins.c: Likewise.
2415 * caller-save.c: Likewise.
2416 * calls.c: Likewise.
2417 * ccmp.c: Likewise.
2418 * cfg.c: Likewise.
2419 * cfganal.c: Likewise.
2420 * cfgbuild.c: Likewise.
2421 * cfgcleanup.c: Likewise.
2422 * cfgexpand.c: Likewise.
2423 * cfghooks.c: Likewise.
2424 * cfgloop.c: Likewise.
2425 * cfgloopanal.c: Likewise.
2426 * cfgloopmanip.c: Likewise.
2427 * cfgrtl.c: Likewise.
2428 * cgraph.c: Likewise.
2429 * cgraphbuild.c: Likewise.
2430 * cgraphclones.c: Likewise.
2431 * cgraphunit.c: Likewise.
2432 * cilk-common.c: Likewise.
2433 * combine-stack-adj.c: Likewise.
2434 * combine.c: Likewise.
2435 * compare-elim.c: Likewise.
2436 * convert.c: Likewise.
2437 * coverage.c: Likewise.
2438 * cppbuiltin.c: Likewise.
2439 * cprop.c: Likewise.
2440 * cse.c: Likewise.
2441 * cselib.c: Likewise.
2442 * data-streamer-in.c: Likewise.
2443 * data-streamer-out.c: Likewise.
2444 * data-streamer.c: Likewise.
2445 * dbxout.c: Likewise.
2446 * dce.c: Likewise.
2447 * ddg.c: Likewise.
2448 * debug.c: Likewise.
2449 * df-core.c: Likewise.
2450 * df-problems.c: Likewise.
2451 * df-scan.c: Likewise.
2452 * dfp.c: Likewise.
2453 * dojump.c: Likewise.
2454 * dominance.c: Likewise.
2455 * domwalk.c: Likewise.
2456 * double-int.c: Likewise.
2457 * dse.c: Likewise.
2458 * dumpfile.c: Likewise.
2459 * dwarf2asm.c: Likewise.
2460 * dwarf2cfi.c: Likewise.
2461 * dwarf2out.c: Likewise.
2462 * emit-rtl.c: Likewise.
2463 * et-forest.c: Likewise.
2464 * except.c: Likewise.
2465 * explow.c: Likewise.
2466 * expmed.c: Likewise.
2467 * expr.c: Likewise.
2468 * final.c: Likewise.
2469 * fixed-value.c: Likewise.
2470 * fold-const.c: Likewise.
2471 * function.c: Likewise.
2472 * fwprop.c: Likewise.
2473 * gcc-plugin.h: Likewise.
2474 * gcse-common.c: Likewise.
2475 * gcse.c: Likewise.
2476 * generic-match-head.c: Likewise.
2477 * ggc-page.c: Likewise.
2478 * gimple-builder.c: Likewise.
2479 * gimple-expr.c: Likewise.
2480 * gimple-fold.c: Likewise.
2481 * gimple-iterator.c: Likewise.
2482 * gimple-low.c: Likewise.
2483 * gimple-match-head.c: Likewise.
2484 * gimple-pretty-print.c: Likewise.
2485 * gimple-ssa-isolate-paths.c: Likewise.
2486 * gimple-ssa-strength-reduction.c: Likewise.
2487 * gimple-streamer-in.c: Likewise.
2488 * gimple-streamer-out.c: Likewise.
2489 * gimple-walk.c: Likewise.
2490 * gimple.c: Likewise.
2491 * gimplify-me.c: Likewise.
2492 * gimplify.c: Likewise.
2493 * godump.c: Likewise.
2494 * graph.c: Likewise.
2495 * graphite-blocking.c: Likewise.
2496 * graphite-dependences.c: Likewise.
2497 * graphite-interchange.c: Likewise.
2498 * graphite-isl-ast-to-gimple.c: Likewise.
2499 * graphite-optimize-isl.c: Likewise.
2500 * graphite-poly.c: Likewise.
2501 * graphite-scop-detection.c: Likewise.
2502 * graphite-sese-to-poly.c: Likewise.
2503 * graphite.c: Likewise.
2504 * haifa-sched.c: Likewise.
2505 * hw-doloop.c: Likewise.
2506 * ifcvt.c: Likewise.
2507 * init-regs.c: Likewise.
2508 * internal-fn.c: Likewise.
2509 * ipa-chkp.c: Likewise.
2510 * ipa-comdats.c: Likewise.
2511 * ipa-cp.c: Likewise.
2512 * ipa-devirt.c: Likewise.
2513 * ipa-icf-gimple.c: Likewise.
2514 * ipa-icf.c: Likewise.
2515 * ipa-inline-analysis.c: Likewise.
2516 * ipa-inline-transform.c: Likewise.
2517 * ipa-inline.c: Likewise.
2518 * ipa-polymorphic-call.c: Likewise.
2519 * ipa-profile.c: Likewise.
2520 * ipa-prop.c: Likewise.
2521 * ipa-pure-const.c: Likewise.
2522 * ipa-ref.c: Likewise.
2523 * ipa-reference.c: Likewise.
2524 * ipa-split.c: Likewise.
2525 * ipa-utils.c: Likewise.
2526 * ipa-visibility.c: Likewise.
2527 * ipa.c: Likewise.
2528 * ira-build.c: Likewise.
2529 * ira-color.c: Likewise.
2530 * ira-conflicts.c: Likewise.
2531 * ira-costs.c: Likewise.
2532 * ira-emit.c: Likewise.
2533 * ira-lives.c: Likewise.
2534 * ira.c: Likewise.
2535 * jump.c: Likewise.
2536 * langhooks.c: Likewise.
2537 * lcm.c: Likewise.
2538 * loop-doloop.c: Likewise.
2539 * loop-init.c: Likewise.
2540 * loop-invariant.c: Likewise.
2541 * loop-iv.c: Likewise.
2542 * loop-unroll.c: Likewise.
2543 * lower-subreg.c: Likewise.
2544 * lra-assigns.c: Likewise.
2545 * lra-coalesce.c: Likewise.
2546 * lra-constraints.c: Likewise.
2547 * lra-eliminations.c: Likewise.
2548 * lra-lives.c: Likewise.
2549 * lra-remat.c: Likewise.
2550 * lra-spills.c: Likewise.
2551 * lra.c: Likewise.
2552 * lto-cgraph.c: Likewise.
2553 * lto-compress.c: Likewise.
2554 * lto-opts.c: Likewise.
2555 * lto-section-in.c: Likewise.
2556 * lto-section-out.c: Likewise.
2557 * lto-streamer-in.c: Likewise.
2558 * lto-streamer-out.c: Likewise.
2559 * lto-streamer.c: Likewise.
2560 * mcf.c: Likewise.
2561 * mode-switching.c: Likewise.
2562 * modulo-sched.c: Likewise.
2563 * omega.c: Likewise.
2564 * omp-low.c: Likewise.
2565 * optabs.c: Likewise.
2566 * opts-global.c: Likewise.
2567 * passes.c: Likewise.
2568 * plugin.c: Likewise.
2569 * postreload-gcse.c: Likewise.
2570 * postreload.c: Likewise.
2571 * predict.c: Likewise.
2572 * print-rtl.c: Likewise.
2573 * print-tree.c: Likewise.
2574 * profile.c: Likewise.
2575 * real.c: Likewise.
2576 * realmpfr.c: Likewise.
2577 * recog.c: Likewise.
2578 * ree.c: Likewise.
2579 * reg-stack.c: Likewise.
2580 * regcprop.c: Likewise.
2581 * reginfo.c: Likewise.
2582 * regrename.c: Likewise.
2583 * regstat.c: Likewise.
2584 * reload.c: Likewise.
2585 * reload1.c: Likewise.
2586 * reorg.c: Likewise.
2587 * resource.c: Likewise.
2588 * rtl-chkp.c: Likewise.
2589 * rtlanal.c: Likewise.
2590 * rtlhooks.c: Likewise.
2591 * sanopt.c: Likewise.
2592 * sched-deps.c: Likewise.
2593 * sched-ebb.c: Likewise.
2594 * sched-rgn.c: Likewise.
2595 * sched-vis.c: Likewise.
2596 * sdbout.c: Likewise.
2597 * sel-sched-dump.c: Likewise.
2598 * sel-sched-ir.c: Likewise.
2599 * sel-sched.c: Likewise.
2600 * sese.c: Likewise.
2601 * shrink-wrap.c: Likewise.
2602 * simplify-rtx.c: Likewise.
2603 * stack-ptr-mod.c: Likewise.
2604 * stmt.c: Likewise.
2605 * stor-layout.c: Likewise.
2606 * store-motion.c: Likewise.
2607 * stringpool.c: Likewise.
2608 * symtab.c: Likewise.
2609 * target-globals.c: Likewise.
2610 * targhooks.c: Likewise.
2611 * toplev.c: Likewise.
2612 * tracer.c: Likewise.
2613 * trans-mem.c: Likewise.
2614 * tree-affine.c: Likewise.
2615 * tree-browser.c: Likewise.
2616 * tree-call-cdce.c: Likewise.
2617 * tree-cfg.c: Likewise.
2618 * tree-cfgcleanup.c: Likewise.
2619 * tree-chkp-opt.c: Likewise.
2620 * tree-chkp.c: Likewise.
2621 * tree-chrec.c: Likewise.
2622 * tree-complex.c: Likewise.
2623 * tree-data-ref.c: Likewise.
2624 * tree-dfa.c: Likewise.
2625 * tree-diagnostic.c: Likewise.
2626 * tree-dump.c: Likewise.
2627 * tree-eh.c: Likewise.
2628 * tree-emutls.c: Likewise.
2629 * tree-if-conv.c: Likewise.
2630 * tree-inline.c: Likewise.
2631 * tree-into-ssa.c: Likewise.
2632 * tree-iterator.c: Likewise.
2633 * tree-loop-distribution.c: Likewise.
2634 * tree-nested.c: Likewise.
2635 * tree-nrv.c: Likewise.
2636 * tree-object-size.c: Likewise.
2637 * tree-outof-ssa.c: Likewise.
2638 * tree-parloops.c: Likewise.
2639 * tree-phinodes.c: Likewise.
2640 * tree-predcom.c: Likewise.
2641 * tree-pretty-print.c: Likewise.
2642 * tree-profile.c: Likewise.
2643 * tree-scalar-evolution.c: Likewise.
2644 * tree-sra.c: Likewise.
2645 * tree-ssa-address.c: Likewise.
2646 * tree-ssa-alias.c: Likewise.
2647 * tree-ssa-ccp.c: Likewise.
2648 * tree-ssa-coalesce.c: Likewise.
2649 * tree-ssa-copy.c: Likewise.
2650 * tree-ssa-copyrename.c: Likewise.
2651 * tree-ssa-dce.c: Likewise.
2652 * tree-ssa-dom.c: Likewise.
2653 * tree-ssa-dse.c: Likewise.
2654 * tree-ssa-forwprop.c: Likewise.
2655 * tree-ssa-ifcombine.c: Likewise.
2656 * tree-ssa-live.c: Likewise.
2657 * tree-ssa-loop-ch.c: Likewise.
2658 * tree-ssa-loop-im.c: Likewise.
2659 * tree-ssa-loop-ivcanon.c: Likewise.
2660 * tree-ssa-loop-ivopts.c: Likewise.
2661 * tree-ssa-loop-manip.c: Likewise.
2662 * tree-ssa-loop-niter.c: Likewise.
2663 * tree-ssa-loop-prefetch.c: Likewise.
2664 * tree-ssa-loop-unswitch.c: Likewise.
2665 * tree-ssa-loop.c: Likewise.
2666 * tree-ssa-math-opts.c: Likewise.
2667 * tree-ssa-operands.c: Likewise.
2668 * tree-ssa-phiopt.c: Likewise.
2669 * tree-ssa-phiprop.c: Likewise.
2670 * tree-ssa-pre.c: Likewise.
2671 * tree-ssa-propagate.c: Likewise.
2672 * tree-ssa-reassoc.c: Likewise.
2673 * tree-ssa-sccvn.c: Likewise.
2674 * tree-ssa-scopedtables.c: Likewise.
2675 * tree-ssa-sink.c: Likewise.
2676 * tree-ssa-strlen.c: Likewise.
2677 * tree-ssa-structalias.c: Likewise.
2678 * tree-ssa-tail-merge.c: Likewise.
2679 * tree-ssa-ter.c: Likewise.
2680 * tree-ssa-threadedge.c: Likewise.
2681 * tree-ssa-threadupdate.c: Likewise.
2682 * tree-ssa-uncprop.c: Likewise.
2683 * tree-ssa-uninit.c: Likewise.
2684 * tree-ssa.c: Likewise.
2685 * tree-ssanames.c: Likewise.
2686 * tree-stdarg.c: Likewise.
2687 * tree-streamer-in.c: Likewise.
2688 * tree-streamer-out.c: Likewise.
2689 * tree-streamer.c: Likewise.
2690 * tree-switch-conversion.c: Likewise.
2691 * tree-tailcall.c: Likewise.
2692 * tree-vect-data-refs.c: Likewise.
2693 * tree-vect-generic.c: Likewise.
2694 * tree-vect-loop-manip.c: Likewise.
2695 * tree-vect-loop.c: Likewise.
2696 * tree-vect-patterns.c: Likewise.
2697 * tree-vect-slp.c: Likewise.
2698 * tree-vect-stmts.c: Likewise.
2699 * tree-vectorizer.c: Likewise.
2700 * tree-vrp.c: Likewise.
2701 * tree.c: Likewise.
2702 * tsan.c: Likewise.
2703 * ubsan.c: Likewise.
2704 * valtrack.c: Likewise.
2705 * value-prof.c: Likewise.
2706 * var-tracking.c: Likewise.
2707 * varasm.c: Likewise.
2708 * varpool.c: Likewise.
2709 * vmsdbgout.c: Likewise.
2710 * vtable-verify.c: Likewise.
2711 * web.c: Likewise.
2712 * wide-int.cc: Likewise.
2713 * xcoffout.c: Likewise.
2714 * config/aarch64/aarch64-builtins.c: Likewise.
2715 * config/aarch64/aarch64.c: Likewise.
2716 * config/aarch64/cortex-a57-fma-steering.c: Likewise.
2717 * config/alpha/alpha.c: Likewise.
2718 * config/arc/arc.c: Likewise.
2719 * config/arm/aarch-common.c: Likewise.
2720 * config/arm/arm-builtins.c: Likewise.
2721 * config/arm/arm-c.c: Likewise.
2722 * config/arm/arm.c: Likewise.
2723 * config/avr/avr-c.c: Likewise.
2724 * config/avr/avr-log.c: Likewise.
2725 * config/avr/avr.c: Likewise.
2726 * config/bfin/bfin.c: Likewise.
2727 * config/c6x/c6x.c: Likewise.
2728 * config/cr16/cr16.c: Likewise.
2729 * config/cris/cris.c: Likewise.
2730 * config/darwin-c.c: Likewise.
2731 * config/darwin.c: Likewise.
2732 * config/epiphany/epiphany.c: Likewise.
2733 * config/epiphany/mode-switch-use.c: Likewise.
2734 * config/epiphany/resolve-sw-modes.c: Likewise.
2735 * config/fr30/fr30.c: Likewise.
2736 * config/frv/frv.c: Likewise.
2737 * config/ft32/ft32.c: Likewise.
2738 * config/h8300/h8300.c: Likewise.
2739 * config/i386/i386-c.c: Likewise.
2740 * config/i386/i386.c: Likewise.
2741 * config/i386/msformat-c.c: Likewise.
2742 * config/i386/winnt-cxx.c: Likewise.
2743 * config/i386/winnt-stubs.c: Likewise.
2744 * config/i386/winnt.c: Likewise.
2745 * config/ia64/ia64-c.c: Likewise.
2746 * config/ia64/ia64.c: Likewise.
2747 * config/iq2000/iq2000.c: Likewise.
2748 * config/lm32/lm32.c: Likewise.
2749 * config/m32c/m32c-pragma.c: Likewise.
2750 * config/m32c/m32c.c: Likewise.
2751 * config/m32r/m32r.c: Likewise.
2752 * config/m68k/m68k.c: Likewise.
2753 * config/mcore/mcore.c: Likewise.
2754 * config/mep/mep-pragma.c: Likewise.
2755 * config/mep/mep.c: Likewise.
2756 * config/microblaze/microblaze-c.c: Likewise.
2757 * config/microblaze/microblaze.c: Likewise.
2758 * config/mips/mips.c: Likewise.
2759 * config/mmix/mmix.c: Likewise.
2760 * config/mn10300/mn10300.c: Likewise.
2761 * config/moxie/moxie.c: Likewise.
2762 * config/msp430/msp430-c.c: Likewise.
2763 * config/msp430/msp430.c: Likewise.
2764 * config/nds32/nds32-cost.c: Likewise.
2765 * config/nds32/nds32-fp-as-gp.c: Likewise.
2766 * config/nds32/nds32-intrinsic.c: Likewise.
2767 * config/nds32/nds32-isr.c: Likewise.
2768 * config/nds32/nds32-md-auxiliary.c: Likewise.
2769 * config/nds32/nds32-memory-manipulation.c: Likewise.
2770 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
2771 * config/nds32/nds32-predicates.c: Likewise.
2772 * config/nds32/nds32.c: Likewise.
2773 * config/nios2/nios2.c: Likewise.
2774 * config/nvptx/nvptx.c: Likewise.
2775 * config/pa/pa.c: Likewise.
2776 * config/pdp11/pdp11.c: Likewise.
2777 * config/rl78/rl78-c.c: Likewise.
2778 * config/rl78/rl78.c: Likewise.
2779 * config/rs6000/rs6000-c.c: Likewise.
2780 * config/rs6000/rs6000.c: Likewise.
2781 * config/rx/rx.c: Likewise.
2782 * config/s390/s390-c.c: Likewise.
2783 * config/s390/s390.c: Likewise.
2784 * config/sh/sh-c.c: Likewise.
2785 * config/sh/sh-mem.cc: Likewise.
2786 * config/sh/sh.c: Likewise.
2787 * config/sh/sh_optimize_sett_clrt.cc: Likewise.
2788 * config/sh/sh_treg_combine.cc: Likewise.
2789 * config/sol2-c.c: Likewise.
2790 * config/sol2-cxx.c: Likewise.
2791 * config/sol2-stubs.c: Likewise.
2792 * config/sol2.c: Likewise.
2793 * config/sparc/sparc-c.c: Likewise.
2794 * config/sparc/sparc.c: Likewise.
2795 * config/spu/spu-c.c: Likewise.
2796 * config/spu/spu.c: Likewise.
2797 * config/stormy16/stormy16.c: Likewise.
2798 * config/tilegx/mul-tables.c: Likewise.
2799 * config/tilegx/tilegx-c.c: Likewise.
2800 * config/tilegx/tilegx.c: Likewise.
2801 * config/tilepro/mul-tables.c: Likewise.
2802 * config/tilepro/tilepro-c.c: Likewise.
2803 * config/tilepro/tilepro.c: Likewise.
2804 * config/v850/v850-c.c: Likewise.
2805 * config/v850/v850.c: Likewise.
2806 * config/vax/vax.c: Likewise.
2807 * config/visium/visium.c: Likewise.
2808 * config/vms/vms-c.c: Likewise.
2809 * config/vms/vms.c: Likewise.
2810 * config/vxworks.c: Likewise.
2811 * config/xtensa/xtensa.c: Likewise.
2812
2813 2015-07-07 Uros Bizjak <ubizjak@gmail.com>
2814
2815 * config/i386/i386.md (*jcc_bt<mode>): Only split before reload.
2816 Remove operand constraints. Change operand 2 predicate to
2817 nonmemory operand. Limit const_int values to mode bitsize. Only
2818 allow const_int values less than 32 when optimizing for size.
2819 (*jcc_bt<mode>_1, *jcc_bt<mode>_mask): Only split before reload.
2820 Remove operand constraints.
2821 (*bt<mode>): Use SImode for const_int values less than 32.
2822 (regmode): Remove mode attribute.
2823
2824 2015-07-07 Anatoly Sokolov <aesok@post.ru>
2825
2826 * config/moxie/moxie.h (GO_IF_LEGITIMATE_ADDRESS): Remove macros.
2827 * config/moxie/moxie.c (moxie_reg_ok_for_base_p,
2828 moxie_legitimate_address_p): New functions.
2829 (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define.
2830
2831 2015-07-07 Tom de Vries <tom@codesourcery.com>
2832
2833 PR tree-optimization/66642
2834 * tree-parloops.c (transform_to_exit_first_loop_alt): Update function
2835 header comment. Rename split_edge variable to edge_at_split. Split
2836 exit edge to create new loop exit bb. Insert loop exit phis in new
2837 loop exit bb.
2838
2839 2015-07-07 Tom de Vries <tom@codesourcery.com>
2840
2841 * tree-cfg.c (get_virtual_phi): New function.
2842 * tree-cfg.h (get_virtual_phi): Declare.
2843 * tree-ssa-loop-manip.c (replace_uses_in_dominated_bbs)
2844 (rewrite_virtuals_into_loop_closed_ssa): New function.
2845 * tree-ssa-loop-manip.h (rewrite_virtuals_into_loop_closed_ssa):
2846 Declare.
2847 * tree-parloops.c (replace_uses_in_bbs_by): Remove.
2848 (transform_to_exit_first_loop_alt): Use
2849 rewrite_virtuals_into_loop_closed_ssa.
2850
2851 2015-07-07 Richard Biener <rguenther@suse.de>
2852
2853 * fold-const.c (fold_binary_loc): Move
2854 (X & C2) << C1 -> (X << C1) & (C2 << C1) simplification ...
2855 * match.pd: ... here.
2856 Add (X * C1) % C2 -> 0 simplification pattern derived from
2857 extract_muldiv_1.
2858
2859 2015-07-07 Kaz Kojima <kkojima@gcc.gnu.org>
2860
2861 PR target/66780
2862 * config/sh/sh.md (symGOT_load): Revert a part of 2015-03-03
2863 change for target/65249.
2864
2865 2015-07-07 Paulo Matos <pmatos@broadcom.com>
2866
2867 * symtab.c (address_matters_1): Fix typo in comment above.
2868 (can_increase_alignment_p): Likewise.
2869
2870 2015-07-07 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
2871
2872 * function.c (free_after_compilation): Clear PROP_cfg in
2873 f->curr_properties.
2874
2875 2015-07-07 Richard Biener <rguenther@suse.de>
2876
2877 * tree-ssa-propagate.c (add_ssa_edge): Dump what edge list we
2878 add which use to.
2879 (add_control_edge): Remove excessive vertical space in dumping.
2880 (process_ssa_edge_worklist): Simulate at most one statement and
2881 return whether we did. Do not simulate PHIs if they are in a
2882 BB not yet simulated.
2883 (ssa_propagate): Adjust to always drain the BB worklist whenever
2884 a BB is available there, likewise the VARYING edges list before
2885 the interesting edge list.
2886
2887 2015-07-07 Christian Bruel <christian.bruel@st.com>
2888
2889 PR target/52144
2890 * config/arm/elf.h (TARGET_ASM_FILE_START_APP_OFF): Delete.
2891
2892 2015-07-07 Richard Biener <rguenther@suse.de>
2893
2894 PR middle-end/66739
2895 * match.pd: Condition A - B ==/!= 0 -> A ==/!= B on single-use
2896 A - B.
2897
2898 2015-07-06 Uros Bizjak <ubizjak@gmail.com>
2899
2900 * config/i386/i386.md (insv<mode>): Rename from insv. Use SWI48
2901 modes for operands 0 and 3. Use SImode for operands 2 and 3.
2902 Copy operand 0 to a temporary if !ext_register_operand. Remove
2903 ancient extract_bit_field workaround.
2904 (insv<mode>_1): Rename from mov<mode>_insv_1.
2905 (*insvqi): Rename from *movqi_insv_2.
2906 * config/i386/i386.c (emit_i386_cw_initialization): Update calls
2907 for renamed insvsi_1.
2908 (promote_duplicated_reg): Ditto for renamed insv<mode>_1.
2909
2910 2015-07-06 Nathan Sidwell <nathan@codesourcery.com>
2911
2912 * config/nvptx/nvptx.c (nvptx_reorg): Remove unused vars. Fix
2913 call to nvptx_reorg_subreg.
2914
2915 2015-07-06 Jim Wilson <jim.wilson@linaro.org>
2916
2917 * graphite-blocking.c (HAVE_isl): Include <stddef.h>.
2918 * graphite-dependencies.c, graphite-interchange.c,
2919 graphite-isl-ast-to-gimple.c, graphite-optimize-isl.c, graphite-poly.c,
2920 graphite-scop-detection.c, graphite-sese-to-poly.c, graphite.c:
2921 Likewise.
2922
2923 2015-07-06 Marc Glisse <marc.glisse@inria.fr>
2924
2925 * match.pd: Remove element_mode inside HONOR_*.
2926 (~ (-A) -> A - 1, ~ (A - 1) -> -A): Handle complex types.
2927 (~X | X -> -1, ~X ^ X -> -1): Merge.
2928 * tree.c (build_each_one_cst): New function.
2929 * tree.h (build_each_one_cst): Likewise.
2930
2931 2015-07-06 H.J. Lu <hongjiu.lu@intel.com>
2932
2933 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
2934 PROCESSOR_IAMCU.
2935
2936 2015-07-06 Steve Ellcey <sellcey@imgtec.com>
2937
2938 * config.gcc <mips*-*-*>: Add fused-madd.opt.
2939 * config/mips/mips.opt (mfused-madd): Remove.
2940 * config/mips/mips.c (mips_rtx_costs): Update cost calculations.
2941 * config/mips/mips.h (TARGET_MIPS8000): New.
2942 (ISA_HAS_FP_MADD4_MSUB4): Remove.
2943 (ISA_HAS_FP_MADDF_MSUBF): Remove.
2944 (ISA_HAS_FP_MADD3_MSUB3): Remove.
2945 (ISA_HAS_NMADD4_NMSUB4): Remove.
2946 (ISA_HAS_NMADD3_NMSUB3): Remove.
2947 (ISA_HAS_FUSED_MADD4): New.
2948 (ISA_HAS_UNFUSED_MADD4): New.
2949 (ISA_HAS_FUSED_MADDF): New.
2950 (ISA_HAS_FUSED_MADD3): New.
2951 * config/mips/mips.md: (fma<mode>4) Change from insn to expand.
2952 (*fma<mode>4_madd3) New.
2953 (*fma<mode>4_madd4) New.
2954 (*fma<mode>4_maddf) New.
2955 (fms<mode>4) New.
2956 (*fms<mode>4_msub3) New.
2957 (*fms<mode>4_msub4) New.
2958 (fnma<mode>4) New.
2959 (*fnma<mode>4_nmadd3) New.
2960 (*fnma<mode>4_nmadd4) New.
2961 (fnms<mode>4) New.
2962 (*fnms<mode>4_nmsub3) New.
2963 (*fnms<mode>4_nmsub4) New.
2964 (*madd4<mode>) Modify to be unfused only.
2965 (*msub4<mode>) Modify to be unfused only.
2966 (*nmadd4<mode>) Modify to be unfused only.
2967 (*nmsub4<mode>) Modify to be unfused only.
2968 (*madd3<mode>) Remove.
2969 (*msub3<mode>) Remove.
2970 (*nmadd3<mode>) Remove.
2971 (*nmsub3<mode>) Remove.
2972 (*nmadd3<mode>_fastmath) Remove.
2973 (*nmsub3<mode>_fastmath) Remove.
2974 (*nmadd4<mode>_fastmath) Update condition.
2975 (*nmsub4<mode>_fastmath) Update condition.
2976
2977 2015-07-06 Alan Lawrence <alan.lawrence@arm.com>
2978
2979 PR target/65956
2980 * config/arm/arm.c (arm_needs_doubleword_align): Drop any outer
2981 alignment attribute, exploring one level down for records and arrays.
2982
2983 2015-07-06 Uros Bizjak <ubizjak@gmail.com>
2984
2985 * config/i386/i386.md (extv<mode>): Rename from extv. Use SWI24
2986 modes for operands 0 and 1. Use SImode for operands 2 and 3.
2987 Copy operand 1 to a temporary if !ext_register_operand. Remove
2988 ancient extract_bit_field workaround.
2989 (*extv<mode>): Rename from *mov<mode>_extv_1.
2990 (*extvqi): Rename from *movqi_extv_1.
2991 (extzv<mode>): Rename from extzv. Use SWI248 modes for
2992 operands 0 and 1. Use SImode for operands 2 and 3. Copy operand 1
2993 to a temporary if !ext_register_operand. Remove ancient
2994 extract_bit_field workaround.
2995 (*extzv<mode>): Rename from *mov<mode>_extzv_1.
2996 (*extzvqi): Rename from *movqi_extzv_2.
2997 (*testqi_ext_3): Remove modes from const_int_operand predicated
2998 operands. Add "n" constraint.
2999 (*btsq, *btrq, *btcq): Remove mode from const_0_to_63 predicated
3000 operand. Add "J" constraint.
3001 (*btsq, *btrq, *btcq peephole2s): Remove mode from
3002 const_0_to_63 predicated operand.
3003 (regmode): New insn attribute.
3004 (*bt<mode>): Use SImode for operand 1. Change operand 1 predicate
3005 to nonmemory_operand. Use regmode insn attribute.
3006 (*jcc_bt<mode>_1): Convert operand 2 to SImode.
3007 (*jcc_bt<mode>_mask): Remove mode from operand 3.
3008 (*jcc_btsi_1, *jcc_btsi_mask_1): Remove patterns.
3009 (tbm_bextri_<mode>): Remove modes from const_0_to_255 predicated
3010 operands. Use "N" constraint instead of "n".
3011
3012 2015-07-06 Alan Lawrence <alan.lawrence@arm.com>
3013
3014 * config/arm/arm.md (movdi): Avoid odd-number ldrd/strd in ARM state.
3015
3016 2015-07-06 H.J. Lu <hongjiu.lu@intel.com>
3017
3018 PR target/66749
3019 * config/i386/i386.c (iamcu_cost): New.
3020 (m_IAMCU): Likewise.
3021 (initial_ix86_arch_features): Disable X86_ARCH_CMOV for m_IAMCU.
3022 (processor_target_table): Add an entry for "iamcu".
3023 (processor_alias_table): Likewise.
3024 (ix86_issue_rate): Handle PROCESSOR_IAMCU.
3025 (ix86_adjust_cost): Likewise.
3026 (ia32_multipass_dfa_lookahead): Likewise.
3027 * config/i386/i386.h (processor_type): Add PROCESSOR_IAMCU.
3028 * config/i386/x86-tune.def: Updated for m_IAMCU.
3029
3030 2015-07-06 Richard Biener <rguenther@suse.de>
3031
3032 PR tree-optimization/66772
3033 * tree-ssa-ccp.c (ccp_visit_phi_node): Make sure that copy
3034 values are available in the PHI node BB when there are
3035 still unexecutable edges.
3036
3037 2015-07-06 Richard Biener <rguenther@suse.de>
3038
3039 PR tree-optimization/66767
3040 * tree-vect-loop-manip.c (vect_create_cond_for_align_checks):
3041 Make sure to build the alignment test on a SSA name without
3042 final alignment info valid only if the alignment test
3043 evaluates to true.
3044
3045 2015-07-06 Bernd Schmidt <bernds@codesourcery.com>
3046
3047 PR target/66620
3048 * config/bfin/bfin.c (hwloop_optimize): Create new bb between jump and
3049 loop start when inserting LSETUP.
3050
3051 2015-07-06 H.J. Lu <hongjiu.lu@intel.com>
3052
3053 PR target/53383
3054 * config/i386/i386.c (ix86_option_override_internal): Allow
3055 -mincoming-stack-boundary=3 for 64-bit if SSE is disabled.
3056
3057 2015-07-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3058
3059 * read-md.c (decimal_string): Rename to ...
3060 (md_decimal_string): ... this.
3061 (handle_enum): Reflect this.
3062
3063 2015-07-06 Szabolcs Nagy <szabolcs.nagy@arm.com>
3064
3065 PR target/66731
3066 * config/aarch64/aarch64.md (fnmul<mode>3): Handle -frounding-math.
3067
3068 2015-07-06 Richard Biener <rguenther@suse.de>
3069
3070 PR middle-end/66759
3071 * match.pd: Add missing constraint of y to REAL_CST in
3072 REAL_CST - x CMP y to y - CST CMP x simplification.
3073
3074 2015-07-06 Eric Botcazou <ebotcazou@adacore.com>
3075
3076 PR tree-optimization/66757
3077 * match.pd: Add missing condition to ~X ^ C -> X ^ ~C.
3078
3079 2015-07-05 Chung-Lin Tang <cltang@codesourcery.com>
3080 Sandra Loosemore <sandra@codesourcery.com>
3081
3082 * config/nios2/nios2-protos.h (nios2_symbol_ref_in_small_data_p):
3083 Delete extern declaration.
3084 (gprel_constant_p): Add extern declaration.
3085 * config/nios2/constraints.md ("S"): Use gprel_constant_p
3086 instead of nios2_symbol_ref_in_small_data_p.
3087 * config/nios2/nios2.c (nios2_legitimate_address_p): Likewise.
3088 (nios2_symbol_ref_in_small_data_p): Make static.
3089 (gprel_constant_p): Make non-static.
3090
3091 2015-07-05 Gerald Pfeifer <gerald@pfeifer.com>
3092
3093 * doc/fragments.texi (Target Fragment): Convert debian.org
3094 link to use https.
3095 * doc/install.texi (Configuration): Ditto.
3096
3097 2015-07-05 Jakub Jelinek <jakub@redhat.com>
3098
3099 PR tree-optimization/66718
3100 * tree-vect-stmts.c (vectorizable_call): Replace uses of
3101 GOMP_SIMD_LANE outside of loop with vf - 1 rather than 0.
3102
3103 PR tree-optimization/66718
3104 * tree-vect-stmts.c (vectorizable_assignment, vectorizable_store,
3105 vectorizable_load, vectorizable_condition): Move vectype,
3106 nunits, ncopies computation after checking what kind of statement
3107 stmt is.
3108
3109 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
3110
3111 * target-insns.def (extv, extzv, insv): New targetm instruction
3112 patterns.
3113 * optabs.c (get_extraction_insn): Use them instead of HAVE_*/gen_*
3114 interface.
3115 * recog.c (simplify_while_replacing): Likewise.
3116
3117 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
3118
3119 * target-insns.def (doloop_begin, doloop_end): New targetm
3120 instruction patterns.
3121 * loop-init.c: Include target.h.
3122 (pass_loop2::gate): Use the new targetm patterns instead of
3123 HAVE_*/gen_* interface.
3124 (pass_rtl_doloop::gate): Likewise.
3125 (pass_rtl_doloop::execute): Remove preprocessor condition.
3126 * hw-doloop.c: Build unconditionally.
3127 * loop-doloop.c: Likewise.
3128 (doloop_optimize): Use the new targetm patterns instead of
3129 HAVE_*/gen_* interface.
3130 (doloop_modify): Likewise. Change type of doloop_seq to rtx_insn *.
3131 * modulo-sched.c (doloop_register_get): Likewise.
3132
3133 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
3134
3135 * target-insns.def (clear_cache): New targetm instruction pattern.
3136 * builtins.c (expand_builtin___clear_cache): Use it instead of
3137 HAVE_*/gen_* interface.
3138
3139 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
3140
3141 * target-insns.def (allocate_stack, check_stack, probe_stack)
3142 (probe_stack_address, split_stack_prologue, split_stack_space_check):
3143 New targetm instruction patterns.
3144 * explow.c (allocate_dynamic_stack_space): Use them instead of
3145 HAVE_*/gen_* interface.
3146 (emit_stack_probe): Likewise.
3147 (probe_stack_range): Likewise.
3148 * function.c (thread_prologue_and_epilogue_insns): Likewise.
3149
3150 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
3151
3152 * target-insns.def (stack_protect_set, stack_protect_test): New
3153 targetm instruction patterns.
3154 * cfgexpand.c (stack_protect_prologue): Use them instead of
3155 HAVE_*/gen_* interface.
3156 * function.c (stack_protect_epilogue): Likewise.
3157
3158 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
3159
3160 * expr.h (gen_move_insn_uncast): Delete.
3161 * expr.c (gen_move_insn_uncast): Delete.
3162
3163 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
3164
3165 * target-insns.def (restore_stack_block, restore_stack_function)
3166 (restore_stack_nonlocal, save_stack_block, save_stack_function)
3167 (save_stack_nonlocal): New targetm instruction patterns.
3168 * builtins.c (expand_builtin_apply): Use them instead of
3169 HAVE_*/gen_* interface.
3170 * explow.c (emit_stack_save, emit_stack_restore): Likewise.
3171
3172 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
3173
3174 * target-insns.def (trap): New targetm instruction pattern.
3175 * builtins.c (expand_builtin_trap): Use it instead of HAVE_*/gen_*
3176 interface.
3177 * explow.c (allocate_dynamic_stack_space): Likewise.
3178 * ifcvt.c (find_if_header): Likewise.
3179
3180 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
3181
3182 * target-insns.def (prefetch): New targetm instruction pattern.
3183 * tree-ssa-loop-prefetch.c: Include targeth.
3184 (tree_ssa_prefetch_arrays): Use prefetch targetm pattern instead
3185 of HAVE_*/gen_* interface.
3186 * builtins.c (expand_builtin_prefetch): Likewise.
3187 * toplev.c (process_options): Likewise.
3188
3189 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
3190
3191 * target-insns.def (untyped_call, untyped_return): New targetm
3192 instruction patterns.
3193 * builtins.c (expand_builtin_apply): Use them instead of
3194 HAVE_*/gen_* interface.
3195 (result_vector): Define unconditionally.
3196
3197 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
3198
3199 * target-insns.def (builtin_longjmp, builtin_setjmp_receiver)
3200 (builtin_setjmp_setup, exception_receiver, nonlocal_goto)
3201 (nonlocal_goto_receiver): New targetm instruction patterns.
3202 * builtins.c (expand_builtin_setjmp_setup): Use them instead
3203 of HAVE_*/gen_* interface.
3204 (expand_builtin_setjmp_receiver): Likewise.
3205 (expand_builtin_longjmp, expand_builtin_nonlocal_goto): Likewise.
3206 * except.c (expand_dw2_landing_pad_for_region): Likewise.
3207
3208 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
3209
3210 * target.def: Add code_for_* hooks.
3211 * gentarget-def.c (def_target_insn): Add TARGET_CODE_FOR_* macros.
3212 * defaults.h (HAVE_tablejump, gen_tablejump): Delete.
3213 * target-insns.def (casesi, tablejump): New targetm instruction
3214 patterns.
3215 * expr.c (try_casesi): Use them instead of HAVE_*/gen_* interface.
3216 (do_tablejump): Likewise.
3217 * stmt.c (expand_switch_as_decision_tree_p): Likewise.
3218 (expand_sjlj_dispatch_table): Likewise.
3219 * targhooks.c (default_case_values_threshold): Likewise.
3220
3221 2015-07-04 Sandra Loosemore <sandra@codesourcery.com>
3222
3223 * config/nios2/nios2.c (save_reg, restore_reg): Use plus_constant.
3224 Use rtx_insn * instead of rtx.
3225 (nios2_emit_add_constant): Use rtx_insn * instead of rtx.
3226 (nios2_expand_prologue, nios2_expand_epilogue): Likewise.
3227 (nios2_call_tls_get_addr): Likewise.
3228 (nios2_emit_expensive_div): Likewise.
3229 (nios2_emit_move_sequence): Change return type to bool.
3230 * config/nios2/nios2-protos.h (nios2_emit_move_sequence):
3231 Change return type to bool.
3232
3233 2015-07-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
3234
3235 PR target/66747
3236 * config/mips/mips.c (mips_find_gp_ref): Handle instruction sequences.
3237
3238 2015-07-04 John David Anglin <danglin@gcc.gnu.org>
3239
3240 PR target/66114
3241 * config/pa/pa.md (indirect_jump): Use pmode_register_operand instead
3242 of register_operand. Remove constraint.
3243
3244 2015-07-04 Marc Glisse <marc.glisse@inria.fr>
3245
3246 * tree-cfg.c (verify_gimple_assign_ternary) <VEC_COND_EXPR>: Check
3247 the first argument.
3248
3249 2015-07-03 Paolo Carlini <paolo.carlini@oracle.com>
3250
3251 * attribs.c (decl_attributes): Guard inform with the return value
3252 of the preceding warning.
3253
3254 2015-07-03 James Greenhalgh <james.greenhalgh@arm.com>
3255
3256 * doc/invoke.texi (moverride): Move to correct section.
3257
3258 2015-07-03 Richard Biener <rguenther@suse.de>
3259
3260 * genmatch.c (commutative_tree_code, commutative_ternary_tree_code):
3261 Copy from tree.c
3262 (dt_operand::gen_gimple_expr): After valueizing operands
3263 re-canonicalize operand order for commutative tree codes.
3264
3265 2015-07-03 H.J. Lu <hongjiu.lu@intel.com>
3266
3267 PR target/66746.
3268 * config/i386/ia32intrin.h (__crc32b): Don't define if __iamcu__
3269 is defined.
3270 (__crc32w): Likewise.
3271 (__crc32d): Likewise.
3272 (__rdpmc): Likewise.
3273 (__rdtscp): Likewise.
3274 (_rdpmc): Likewise.
3275 (_rdtscp): Likewise.
3276 * config/i386/x86intrin.h: Only include ia32intrin.h if __iamcu__
3277 is defined.
3278
3279 2015-07-03 Richard Biener <rguenther@suse.de>
3280
3281 * fold-const.c (fold_mathfn_compare): Remove.
3282 (fold_inf_compare): Likewise.
3283 (fold_comparison): Move floating point comparison simplifications...
3284 * match.pd: ... to patterns here. Introduce simple_comparisons
3285 operator list and use it for patterns formerly in fold_comparison.
3286
3287 2015-07-03 James Greenhalgh <james.greenhalgh@arm.com>
3288
3289 PR tree-optimization/66119
3290 * toplev.c (process_options): Don't set up default values for
3291 the sra_max_scalarization_size_{speed,size} parameters.
3292 * tree-sra (analyze_all_variable_accesses): If no values
3293 have been set for the sra_max_scalarization_size_{speed,size}
3294 parameters, call get_move_ratio to get target defaults.
3295
3296 2015-07-03 Richard Biener <rguenther@suse.de>
3297
3298 * fold-const.c (fold_binary_loc): Move (T)ptr & CST folding...
3299 * match.pd: ... here.
3300
3301 2015-07-03 Gerald Pfeifer <gerald@pfeifer.com>
3302
3303 PR target/37072
3304 * doc/invoke.texi (i386 and x86-64 Options): -mno-fancy-math-387
3305 is not actually the default on FreeBSD.
3306
3307 2015-07-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3308
3309 * config/rs6000/rs6000-builtin.def (CMPGE_16QI): New built-in
3310 definition.
3311 (CMPGE_8HI): Likewise.
3312 (CMPGE_4SI): Likewise.
3313 (CMPGE_2DI): Likewise.
3314 (CMPGE_U16QI): Likewise.
3315 (CMPGE_U8HI): Likewise.
3316 (CMPGE_U4SI): Likewise.
3317 (CMPGE_U2DI): Likewise.
3318 (CMPLE_16QI): Likewise.
3319 (CMPLE_8HI): Likewise.
3320 (CMPLE_4SI): Likewise.
3321 (CMPLE_2DI): Likewise.
3322 (CMPLE_U16QI): Likewise.
3323 (CMPLE_U8HI): Likewise.
3324 (CMPLE_U4SI): Likewise.
3325 (CMPLE_U2DI): Likewise.
3326 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
3327 overloads for ALTIVEC_BUILTIN_VEC_CMPGE and
3328 ALTIVEC_BUILTIN_VEC_CMPLE.
3329 * config/rs6000/vector.md (vector_ge<mode>): Restrict to
3330 floating-point vector modes.
3331 (vector_nlt<mode>): New define_expand.
3332 (vector_nltu<mode>): Likewise.
3333 (vector_ngt<mode>): Likewise.
3334 (vector_ngtu<mode>): Likewise.
3335
3336 2015-07-02 Segher Boessenkool <segher@kernel.crashing.org>
3337
3338 PR rtl-optimization/66706
3339 * combine.c (make_compound_operation): If an AND of SUBREG of
3340 LSHIFTRT does not simplify, see if just the AND of SUBREG does.
3341
3342 2015-07-02 Alan Lawrence <alan.lawrence@arm.com>
3343
3344 * tree-pass.h (make_pass_ch_vect): New.
3345 * passes.def: Add pass_ch_vect just before pass_if_conversion.
3346
3347 * tree-ssa-loop-ch.c (ch_base, pass_ch_vect, pass_data_ch_vect,
3348 pass_ch::process_loop_p, pass_ch_vect::process_loop_p,
3349 make_pass_ch_vect): New.
3350 (pass_ch): Extend ch_base.
3351
3352 (pass_ch::execute): Move all but loop_optimizer_init/finalize to...
3353 (ch_base::copy_headers): ...here.
3354
3355 2015-07-02 Richard Biener <rguenther@suse.de>
3356
3357 * builtins.c (get_pointer_alignment_1): Handle POINTER_PLUS_EXPR.
3358 * fold-const.c (get_pointer_modulus_and_residue): Remove.
3359 (fold_binary_loc): Implement (T)ptr & CST in terms of
3360 get_pointer_alignment_1.
3361 * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop):
3362 Make sure to build the alignment test on a SSA name without
3363 final alignment info valid only after the prologue.
3364
3365 2015-07-02 Hans-Peter Nilsson <hp@axis.com>
3366
3367 * config/cris/cris.md ("epilogue"): Remove condition.
3368 ("prologue"): Ditto.
3369
3370 2015-07-02 Richard Biener <rguenther@suse.de>
3371
3372 * tree-ssa-dom.c (build_and_record_new_cond): Add optional
3373 parameter to record a condition that is false.
3374 (record_conditions): When recording an extra NE_EXPR that is
3375 true also record a EQ_EXPR that is false.
3376
3377 2015-07-02 Bin Cheng <bin.cheng@arm.com>
3378
3379 * tree-ssa-loop-ivopts.c (struct ivopts_data): New field iv_obstack.
3380 (tree_ssa_iv_optimize_init): Initialize iv_obstack.
3381 (alloc_iv): New parameter. Allocate struct iv using obstack_alloc.
3382 (set_iv, find_interesting_uses_address, add_candidate_1): New
3383 argument to alloc_iv.
3384 (find_interesting_uses_op, find_interesting_uses_cond): Don't
3385 duplicate struct iv.
3386 (free_loop_data): Don't free struct iv explicitly.
3387 (tree_ssa_iv_optimize_finalize): Free iv_obstack.
3388
3389 2015-07-01 DJ Delorie <dj@redhat.com>
3390
3391 * config/s390/tpf.h (LIBSTDCXX): Change to CPP1.
3392 (LIB_SPEC): Add.
3393 (SUPPORTS_DISCRIMINATOR): Define.
3394
3395 2015-07-01 Richard Sandiford <richard.sandiford@arm.com>
3396
3397 PR bootstrap/66685
3398 * rtl.c (classify_insn): Only return JUMP_INSN for parallel returns if
3399 there are no CALLs in the same pattern.
3400
3401 2015-07-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
3402
3403 PR rtl-optimization/61047
3404 * rtlanal.c (get_initial_register_offset): New function.
3405 (rtx_addr_can_trap_p_1): Check offsets of stack references.
3406
3407 2015-07-01 Richard Biener <rguenther@suse.de>
3408
3409 * fold-const.c (fold_comparison): Move X - Y CMP 0 -> X CMP Y,
3410 X * C1 CMP 0 -> X CMP 0, X CMP X, ~X CMP ~Y -> Y CMP X and
3411 ~X CMP C -> X CMP' ~C to ...
3412 * match.pd: ... patterns here.
3413
3414 2015-07-01 Nick Clifton <nickc@redhat.com>
3415
3416 * config/msp430/msp430.md (zero_extendhipsi2): Use MOVX.A to store
3417 a 16-bit value into a 20-bit memory slot.
3418
3419 2015-07-01 Jiong Wang <jiong.wang@arm.com>
3420
3421 * doc/sourcebuild.texi (AArch64-specific attributes): Document
3422 "aarch64_tiny", "aarch64_small", "aarch64_large",
3423 "aarch64_little_endian", "aarch64_big_endian".
3424
3425 2015-07-01 Jiong Wang <jiong.wang@arm.com>
3426
3427 * doc/sourcebuild.texi (AArch64-specific attributes): New subsection.
3428 Document "aarch64_small_fpic".
3429
3430 2015-07-01 Jiong Wang <jiong.wang@arm.com>
3431
3432 * configure.ac: Add check for aarch64 assembler -fpic relocation
3433 modifier support.
3434 * configure: Regenerate.
3435 * config.in: Regenerate.
3436 * config/aarch64/aarch64.c (initialize_aarch64_code_model): Fall back
3437 to -fPIC if not support of -fpic relocation modifier in assembler.
3438
3439 2015-07-01 Richard Sandiford <richard.sandiford@arm.com>
3440
3441 PR bootstrap/66685
3442 * rtl.c (classify_insn): Handle returns in PARALLELs.
3443
3444 2015-07-01 Eric Botcazou <ebotcazou@adacore.com>
3445
3446 PR middle-end/66633
3447 * tree-nested.c (convert_nonlocal_omp_clauses): Initialize need_chain
3448 to true if the function is nested and if not optimizing.
3449 (convert_local_omp_clauses): Initialize need_frame to true if the
3450 function contains nested functions and if not optimizing.
3451
3452 2015-07-01 Richard Biener <rguenther@suse.de>
3453
3454 * fold-const.c (fold_binary_loc): Move ~X ^ X -> -1 and
3455 (X & Y) ^ Y -> ~X & Y transforms to ...
3456 * match.pd: ... here.
3457
3458 2015-07-01 Richard Biener <rguenther@suse.de>
3459
3460 * genmatch.c (expr::gen_transform): Shortcut re-simplifying
3461 of converts to avoid uninteresting noise from the conversion
3462 simplifying patterns.
3463
3464 2015-06-30 Sandra Loosemore <sandra@codesourcery.com>
3465
3466 * config/c6x/c6x.c (try_rename_operands): Do not depend on
3467 gcc_assert evaluating its argument for side-effect.
3468
3469 2015-06-30 Kaz Kojima <kkojima@gcc.gnu.org>
3470
3471 PR target/64833
3472 * config/sh/sh.md (casesi_worker_1): Set length to 8 when
3473 flag_pic is set.
3474
3475 2015-06-30 Eric Botcazou <ebotcazou@adacore.com>
3476
3477 * lto-streamer-out.c (class DFS): Adjust hash_scc method.
3478 (DFS::DFS): Pass this_ref_p and ref_p to hash_scc.
3479 (hash_scc): Add this_ref_p and ref_p parameters and pass them
3480 to the inner DFS walk.
3481
3482 2015-06-30 Richard Sandiford <richard.sandiford@arm.com>
3483
3484 * target-insns.def (jump): New targetm instruction pattern.
3485 * bb-reorder.c (get_uncond_jump_length): Use targetm.gen_jump
3486 instead of gen_jump.
3487 (fix_up_crossing_landing_pad): Likewise.
3488 (add_labels_and_missing_jumps): Likewise.
3489 (fix_crossing_conditional_branches): Likewise.
3490 * cfgrtl.c (try_redirect_by_replacing_jump): Likewise.
3491 (force_nonfallthru_and_redirect): Likewise.
3492 * cse.c (cse_insn): Likewise.
3493 * expmed.c (expand_divmod): Likewise.
3494 * expr.c (store_expr_with_bounds, expand_expr_real_2): Likewise.
3495 * haifa-sched.c (init_before_recovery): Likewise.
3496 (sched_create_recovery_edges): Likewise.
3497 * ifcvt.c (find_cond_trap): Likewise.
3498 * optabs.c (expand_doubleword_shift, expand_doubleword_clz): Likewise.
3499 (expand_float, expand_fix): Likewise.
3500 * stmt.c (emit_jump): Likewise.
3501
3502 2015-06-30 Richard Sandiford <richard.sandiford@arm.com>
3503
3504 * defaults.h (HAVE_load_multiple, gen_load_multiple)
3505 (HAVE_store_multiple, gen_store_multiple): Delete.
3506 * target-insns.def (load_multiple, store_multiple): New targetm
3507 instruction patterns.
3508 * expr.c (move_block_to_reg, move_block_from_reg): Use them instead
3509 of HAVE_*/gen_* interface.
3510
3511 2015-06-30 Richard Sandiford <richard.sandiford@arm.com>
3512
3513 * defaults.h (HAVE_mem_thread_fence, gen_mem_thread_fence)
3514 (HAVE_memory_barrier, gen_memory_barrier, HAVE_mem_signal_fence)
3515 (gen_mem_signal_fence): Delete.
3516 * target-insns.def (mem_signal_fence, mem_thread_fence)
3517 (memory_barrier): New targetm instruction patterns.
3518 * optabs.c (expand_mem_thread_fence): Use them instead of HAVE_*/gen_*
3519 interface.
3520 (expand_mem_signal_fence): Likewise.
3521
3522 2015-06-30 Richard Sandiford <richard.sandiford@arm.com>
3523
3524 * defaults.h (HAVE_epilogue, gen_epilogue): Delete.
3525 * target-insns.def (epilogue, prologue, sibcall_prologue): New
3526 targetm instruction patterns.
3527 * alias.c (init_alias_analysis): Use them instead of HAVE_*/gen_*
3528 interface.
3529 * calls.c (expand_call): Likewise.
3530 * cfgrtl.c (cfg_layout_finalize): Likewise.
3531 * df-scan.c (df_get_entry_block_def_set): Likewise.
3532 (df_get_exit_block_use_set): Likewise.
3533 * dwarf2cfi.c (pass_dwarf2_frame::gate): Likewise.
3534 * final.c (final_start_function): Likewise.
3535 * function.c (thread_prologue_and_epilogue_insns): Likewise.
3536 (reposition_prologue_and_epilogue_notes): Likewise.
3537 * reorg.c (find_end_label): Likewise.
3538 * toplev.c (process_options): Likewise.
3539
3540 2015-06-30 David Malcolm <dmalcolm@redhat.com>
3541
3542 * typed-splay-tree.h: New file.
3543
3544 2015-06-30 Vladimir Makarov <vmakarov@redhat.com>
3545
3546 PR debug/66691
3547 * lra-int.h (lra_substitute_pseudo): Add a parameter.
3548 (lra_substitute_pseudo_within_insn): Ditto.
3549 * lra.c (lra_substitute_pseudo): Add a parameter. Simplify subreg
3550 of constant.
3551 (lra_substitute_pseudo_within_insn): Add a parameter. Transfer it
3552 to lra_substitute_pseudo.
3553 * lra-lives.c (process_bb_lives): Add an argument to
3554 lra_substitute_pseudo_within_insn call.
3555 * lra-constraints.c (inherit_reload_reg, split_reg): Add an
3556 argument to lra_substitute_pseudo and
3557 lra_substitute_pseudo_within_insn calls.
3558 (remove_inheritance_pseudos, undo_optional_reloads): Ditto.
3559
3560 2015-06-30 H.J. Lu <hongjiu.lu@intel.com>
3561
3562 * configure: Regenerated.
3563
3564 2015-06-30 H.J. Lu <hongjiu.lu@intel.com>
3565
3566 * config.gcc: Support i[34567]86-*-elfiamcu target.
3567 * config/i386/iamcu.h: New.
3568 * config/i386/i386.opt: Add -miamcu.
3569 * doc/invoke.texi: Document -miamcu.
3570 * common/config/i386/i386-common.c (ix86_handle_option): Turn
3571 off x87/MMX/SSE/AVX codegen for -miamcu.
3572 * config/i386/i386-c.c (ix86_target_macros_internal): Define
3573 __iamcu/__iamcu__ for -miamcu.
3574 * config/i386/i386.h (PREFERRED_STACK_BOUNDARY_DEFAULT): Set
3575 to MIN_STACK_BOUNDARY if TARGET_IAMCU is true.
3576 (BIGGEST_ALIGNMENT): Set to 32 if TARGET_IAMCU is true.
3577 * config/i386/i386.c (ix86_option_override_internal): Ignore and
3578 warn -mregparm for Intel MCU. Turn on -mregparm=3 for Intel
3579 MCU by default. Default long double to 64-bit for Intel MCU.
3580 Turn on -freg-struct-return for Intel MCU. Issue an error when
3581 -miamcu is used in 64-bit or x32 mode or if x87, MMX, SSE or
3582 AVX is turned on.
3583 (function_arg_advance_32): Pass value whose size is no larger
3584 than 8 bytes in registers for Intel MCU.
3585 (function_arg_32): Likewise.
3586 (ix86_return_in_memory): Return value whose size is no larger
3587 than 8 bytes in registers for Intel MCU.
3588 (iamcu_alignment): New function.
3589 (ix86_data_alignment): Call iamcu_alignment if TARGET_IAMCU is
3590 true.
3591 (ix86_local_alignment): Don't increase alignment for Intel MCU.
3592 (x86_field_alignment): Return iamcu_alignment if TARGET_IAMCU is
3593 true.
3594
3595 2015-06-30 Marek Polacek <polacek@redhat.com>
3596
3597 * match.pd (X - (X / Y) * Y): Use convert1 and convert2. Convert
3598 both operands of the resulting expression.
3599
3600 * match.pd (~x | x): Don't use tree_nop_conversion_p. Build
3601 the final expression with the operand's type and then convert
3602 it to the type of the expression.
3603
3604 2015-06-30 Richard Biener <rguenther@suse.de>
3605
3606 * fold-const.c (fold_binary_loc): Move ~x & ~y -> ~(x | y) and
3607 ~x | ~y -> ~(x & y), (x & CST) ^ (x & CST2) -> (x & CST) | (x & CST2),
3608 (X | Y) ^ X -> Y & ~ X, ~X ^ ~Y to X ^ Y and ~X ^ C to X ^ ~C ...
3609 * match.pd: ... to patterns here.
3610
3611 2015-06-30 Richard Biener <rguenther@suse.de>
3612
3613 PR tree-optimization/66704
3614 * tree-vect-data-refs.c (vect_setup_realignment): Use
3615 make_ssa_name for non-SSA name source.
3616
3617 2015-06-30 Jakub Jelinek <jakub@redhat.com>
3618
3619 PR middle-end/66702
3620 * omp-low.c (simd_clone_adjust): Handle addressable linear
3621 or uniform parameters or non-gimple type uniform parameters.
3622
3623 2015-06-30 Richard Biener <rguenther@suse.de>
3624
3625 * fold-const.c (fold_unary_loc): Move abs(abs(x)) -> abs(x),
3626 ~ (-A) to A - 1, ~ (A - 1) or ~ (A + -1) to -A and some cases of
3627 ~(X ^ Y) to ~X ^ Y or X ^ ~Y if ~X or ~Y simplify to ...
3628 * match.pd: ... here.
3629 Add a few cases of A - B -> A + (-B) when B "easily" negates.
3630 Move (x & y) | x -> x and friends before
3631 (x | CST1) & CST2 -> (x & CST2) | (CST1 & CST2).
3632
3633 2015-06-30 Eric Botcazou <ebotcazou@adacore.com>
3634
3635 * config/sparc/leon.md (leon_load): Enable for all LEON variants if
3636 -mfix-ut699 is not specified.
3637 (leon3_load): Rename into...
3638 (ut699_load): ...this. Enable for all LEON variants if -mfix-ut699
3639 is specified.
3640
3641 2015-06-30 Marek Polacek <polacek@redhat.com>
3642
3643 * fold-const.c (fold_binary_loc): Move ~X | X folding ...
3644 * match.pd: ... here.
3645
3646 2015-06-30 Richard Biener <rguenther@suse.de>
3647
3648 * target-insns.def (canonicalize_funcptr_for_compare): Add.
3649 * fold-const.c (build_range_check): Replace uses of
3650 HAVE_canonicalize_funcptr_for_compare.
3651 (fold_widened_comparison): Likewise.
3652 (fold_sign_changed_comparison): Likewise.
3653 * dojump.c: Include "target.h".
3654 (do_compare_and_jump): Replace uses of
3655 HAVE_canonicalize_funcptr_for_compare and
3656 gen_canonicalize_funcptr_for_compare.
3657 * expr.c (do_store_flag): Likewise.
3658
3659 2015-06-30 Tom de Vries <tom@codesourcery.com>
3660
3661 PR tree-optimization/66652
3662 * tree-parloops.c (try_transform_to_exit_first_loop_alt): Use
3663 max_loop_iterations to determine if nit + 1 overflows.
3664
3665 2015-06-30 Richard Biener <rguenther@suse.de>
3666
3667 * tree-vrp.c (register_edge_assert_for_2): Also register
3668 asserts for dominating conversion results.
3669
3670 2015-06-30 Bin Cheng <bin.cheng@arm.com>
3671
3672 * tree-ssa-loop-ivopts.c (record_sub_use): Don't reset ssa_name
3673 field in struct iv.
3674
3675 2015-06-29 Jack Howarth <howarth.at.gcc@gmail.com>
3676
3677 PR target/66509
3678 * configure.ac: Fix filds and fildq test for 64-bit.
3679 * configure: Regenerated.
3680
3681 2015-06-29 Nathan Sidwell <nathan@codesourcery.com>
3682
3683 * config/nvptx/nvptx.md (nvptx_reorg_subreg): New fn, broken out of ...
3684 (nvptx_reorg): Here. Keep the non-subreg pieces.
3685
3686 2015-06-29 H.J. Lu <hongjiu.lu@intel.com>
3687
3688 * config/gnu-user.h (GNU_USER_TARGET_ENDFILE_SPEC): Use
3689 PIE_SPEC and NO_PIE_SPEC if HAVE_LD_PIE is defined.
3690
3691 2015-06-29 Uros Bizjak <ubizjak@gmail.com>
3692
3693 * config/i386/i386.md (*jcc_1): Use %! in asm template.
3694 Set attribute "length_nobnd" instead of "length".
3695 (*jcc_2): Ditto.
3696 (jump): Ditto.
3697 (*jcc_1_bnd, *jcc_2_bnd, jump_bnd): Remove insn patterns.
3698
3699 2015-06-29 Sandra Loosemore <sandra@codesourcery.com>
3700
3701 * config/nios2/nios2.c (nios2_delegitimize_address): Make
3702 assert less restrictive.
3703
3704 2015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
3705
3706 PR fortran/66605
3707 * cgraphunit.c (cgraph_node::finalize_function): Do not call
3708 do_warn_unused_parameter.
3709 * function.c (do_warn_unused_parameter): Move from here.
3710 * function.h (do_warn_unused_parameter): Do not declare.
3711
3712 2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
3713
3714 PR target/65697
3715 * gcc.target/arm/armv-sync-comp-swap.c: New.
3716 * gcc.target/arm/armv-sync-op-acquire.c: New.
3717 * gcc.target/arm/armv-sync-op-full.c: New.
3718 * gcc.target/arm/armv-sync-op-release.c: New.
3719
3720 2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
3721
3722 PR target/65697
3723 * config/armc/arm.c (arm_split_compare_and_swap): For ARMv8, replace an
3724 initial acquire barrier with final barrier.
3725
3726 2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
3727
3728 PR target/65697
3729 * config/armc/arm.c (arm_split_atomic_op): For ARMv8, replace an
3730 initial acquire barrier with final barrier.
3731
3732 2015-06-29 Richard Henderson <rth@redhat.com>
3733
3734 * config/i386/constraints.md (Bf): New constraint.
3735 * config/i386/i386-c.c (ix86_target_macros): Define
3736 __GCC_ASM_FLAG_OUTPUTS__.
3737 * config/i386/i386.c (ix86_md_asm_adjust): Handle =@cc* constraints
3738 as flags outputs.
3739 * doc/extend.texi (FlagOutputOperands): Document them.
3740
3741 2015-06-29 Jiong Wang <jiong.wang@arm.com>
3742
3743 * config/arch64/aarch64.md (UNSPEC_TLSLE): New enumeration.
3744 * config/arch64/aarch64.md (tlsle_small): Rename to tlsle and use new
3745 unspec name.
3746 (tlsle_small_<mode>): Rename to tlsle_<mode> and use new unspec name.
3747 * config/arch64/aarch64-protos.h (arch64_symbol_type): Rename
3748 SYMBOL_SMALL_TPREL to SYMBOL_TLSLE.
3749 (aarch64_symbol_context): Ditto.
3750 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Ditto
3751 and use new pattern name.
3752 (aarch64_expand_mov_immediate): Ditto.
3753 (aarch64_print_operand): Ditto.
3754 (aarch64_classify_tls_symbol): Ditto.
3755
3756 2015-06-29 Marek Polacek <polacek@redhat.com>
3757 Marc Glisse <marc.glisse@inria.fr>
3758
3759 * fold-const.c (fold_binary_loc): Move X - (X / Y) * Y -> X % Y to ...
3760 * match.pd: ... pattern here.
3761
3762 2015-06-29 Tom de Vries <tom@codesourcery.com>
3763
3764 * tree-parloops.c (try_transform_to_exit_first_loop_alt): Simplify
3765 function structure.
3766
3767 2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
3768
3769 * doc/invoke.texi (Aarch64 Options, -march): Split out arch and
3770 feature description, split out the native option, add a link to
3771 the feature documentation, rearrange and slightly rewrite text.
3772 (Aarch64 options, -mcpu): Likewise.
3773 (Aarch64 options, Feature Modifiers): Add an anchor. Mention
3774 +rdma implies Adv. SIMD.
3775
3776 2015-06-29 Marek Polacek <polacek@redhat.com>
3777
3778 PR c/66322
3779 * function.c (stack_protect_epilogue): Remove a cast to int.
3780 * doc/invoke.texi: Update -Wswitch-bool description.
3781
3782 2015-06-29 Richard Biener <rguenther@suse.de>
3783
3784 * genmatch.c (add_operator): Treat ADDR_EXPR as atom.
3785 * fold-const.c (fold_binary_loc): Move &A - &B simplification
3786 via ptr_difference_const ...
3787 * match.pd: ... here.
3788 When matching (X ^ Y) == Y also match with swapped operands.
3789
3790 2015-06-29 Richard Biener <rguenther@suse.de>
3791
3792 * lto-streamer.h (LTO_major_version): Bump to 5.
3793
3794 2015-06-29 Richard Biener <rguenther@suse.de>
3795
3796 PR tree-optimization/66677
3797 * tree-vect-stmts.c (vect_transform_stmt): Make assert about
3798 STMT_VINFO_VEC_STMT clobbering less strict.
3799
3800 2015-06-29 Kugan Vivekanandarajah <kuganv@linaro.org>
3801
3802 PR middle-end/64130
3803 * tree-vrp.c (extract_range_from_binary_expr_1): For unsigned
3804 division, compute max and min when value ranges for dividend and
3805 divisor are available.
3806
3807 2015-06-28 Chung-Lin Tang <cltang@codesourcery.com>
3808 Sandra Loosemore <sandra@codesourcery.com>
3809
3810 * regrename.h (regrename_do_replace): Change to return bool.
3811 * regrename.c (rename_chains): Check return value of
3812 regname_do_replace.
3813 (regrename_do_replace): Re-validate the modified insns and
3814 return bool status.
3815 * config/aarch64/cortex-a57-fma-steering.c (rename_single_chain):
3816 Update to match rename_chains changes.
3817 * config/c6x/c6x.c (try_rename_operands): Assert that
3818 regrename_do_replace returns true.
3819
3820 2015-06-28 Uros Bizjak <ubizjak@gmail.com>
3821
3822 * config/i386/i386.md (<mode>_ldx): Do not zero-extend non-Pmode
3823 operand 2 here. Use copy_addr_to_reg to copy non-index
3824 register operand 2 to a temporary.
3825 (<mode>_stx): Ditto for operand 1.
3826 (*<mode>_ldx, *<mode>_stx): Remove enclosing parallel.
3827 * config/i386/i386.c (ix86_load_bounds): Zero-extend non-Pmode ptr here.
3828 (ix86_store_bounds): Ditto.
3829
3830 2015-06-27 Patrick Palka <ppalka@gcc.gnu.org>
3831
3832 * print-tree.c (print_node) [TREE_VEC]: Print its length.
3833
3834 2015-06-26 Andrew MacLeod <amacleod@redhat.com>
3835
3836 * gimple.c (gimple_call_set_fndecl): Remove.
3837 * gimple.h (gimple_call_set_fndecl): Relocate to gimple.h and call
3838 build1_loc directly instead of build_fold_addr_expr_loc.
3839
3840 2015-06-26 Richard Sandiford <richard.sandiford@arm.com>
3841
3842 * hash-map.h (hash_map::traverse): Use the definition of the
3843 Key typedef rather than the typedef itself.
3844
3845 2015-06-26 Martin Jambor <mjambor@suse.cz>
3846
3847 PR debug/66301
3848 * tree-ssa-pre.c (before_dom_children): Check that dump_file is not
3849 NULL instead of calling dump_enabled_p.
3850
3851 2015-06-26 James Greenhalgh <james.greenhalgh@arm.com>
3852
3853 * config/aarch64/aarch64.opt: (override): New.
3854 * doc/invoke.texi (override): Document.
3855 * config/aarch64/aarch64.c (aarch64_flag_desc): New
3856 (aarch64_fusible_pairs): Likewise.
3857 (aarch64_tuning_flags): Likewise.
3858 (aarch64_tuning_override_function): Likewise.
3859 (aarch64_tuning_override_functions): Likewise.
3860 (aarch64_parse_one_option_token): Likewise.
3861 (aarch64_parse_boolean_options): Likewise.
3862 (aarch64_parse_fuse_string): Likewise.
3863 (aarch64_parse_tune_string): Likewise.
3864 (aarch64_parse_one_override_token): Likewise.
3865 (aarch64_parse_override_string): Likewise.
3866 (aarch64_override_options): Parse the -override string if it
3867 is present.
3868
3869 2015-06-26 James Greenhalgh <james.greenhalgh@arm.com>
3870
3871 * config/aarch64/aarch64-protos.h (tune_params): Remove
3872 const from members.
3873 (aarch64_tune_params): Remove const, change to no longer be
3874 a pointer.
3875 * config/aarch64/aarch64.c (aarch64_tune_params): Remove const,
3876 change to no longer be a pointer, initialize to generic_tunings.
3877 (aarch64_min_divisions_for_recip_mul): Change dereference of
3878 aarch64_tune_params to member access.
3879 (aarch64_reassociation_width): Likewise.
3880 (aarch64_rtx_mult_cost): Likewise.
3881 (aarch64_address_cost): Likewise.
3882 (aarch64_branch_cost): Likewise.
3883 (aarch64_rtx_costs): Likewise.
3884 (aarch64_register_move_cost): Likewise.
3885 (aarch64_memory_move_cost): Likewise.
3886 (aarch64_sched_issue_rate): Likewise.
3887 (aarch64_builtin_vectorization_cost): Likewise.
3888 (aarch64_override_options): Take a copy of the selected tuning
3889 struct in to aarch64_tune_params, rather than just setting
3890 a pointer, change dereferences of aarch64_tune_params to member
3891 accesses.
3892 (aarch64_override_options_after_change): Change dereferences of
3893 aarch64_tune_params to member access.
3894 (aarch64_macro_fusion_p): Likewise.
3895 (aarch_macro_fusion_pair_p): Likewise.
3896 * config/aarch64/cortex-a57-fma-steering.c (gate): Likewise.
3897
3898 2015-06-26 James Greenhalgh <james.greenhalgh@arm.com>
3899
3900 * config/aarch64/aarch64.h (AARCH64_FL_USE_FMA_STEERING_PASS): Delete.
3901 (aarch64_tune_flags): Likewise.
3902 (AARCH64_TUNE_FMA_STEERING): Likewise.
3903 * config/aarch64/aarch64-cores.def (cortex-a57): Remove reference
3904 to AARCH64_FL_USE_FMA_STEERING_PASS.
3905 (cortex-a57.cortex-a53): Likewise.
3906 (cortex-a72): Use cortexa72_tunings.
3907 (cortex-a72.cortex-a53): Likewise.
3908 (exynos-m1): Likewise.
3909 * config/aarch64/aarch64-protos.h (tune_params): Add
3910 a field: extra_tuning_flags.
3911 * config/aarch64/aarch64-tuning-flags.def: New.
3912 * config/aarch64/aarch64-protos.h (AARCH64_EXTRA_TUNING_OPTION): New.
3913 (aarch64_extra_tuning_flags): Likewise.
3914 (aarch64_tune_params): Declare here.
3915 * config/aarch64/aarch64.c (generic_tunings): Set extra_tuning_flags.
3916 (cortexa53_tunings): Likewise.
3917 (cortexa57_tunings): Likewise.
3918 (thunderx_tunings): Likewise.
3919 (xgene1_tunings): Likewise.
3920 (cortexa72_tunings): New.
3921 * config/aarch64/cortex-a57-fma-steering.c: Include aarch64-protos.h.
3922 (gate): Check against aarch64_tune_params.
3923 * config/aarch64/t-aarch64 (cortex-a57-fma-steering.o): Depend on
3924 aarch64-protos.h.
3925
3926 2015-06-26 James Greenhalgh <james.greenhalgh@arm.com>
3927
3928 * config/aarch64/aarch64-fusion-pairs.def: New.
3929 * config/aarch64/aarch64-protos.h (aarch64_fusion_pairs): New.
3930 * config/aarch64/aarch64.c (AARCH64_FUSE_NOTHING): Move to
3931 aarch64_fusion_pairs.
3932 (AARCH64_FUSE_MOV_MOVK): Likewise.
3933 (AARCH64_FUSE_ADRP_ADD): Likewise.
3934 (AARCH64_FUSE_MOVK_MOVK): Likewise.
3935 (AARCH64_FUSE_ADRP_LDR): Likewise.
3936 (AARCH64_FUSE_CMP_BRANCH): Likewise.
3937
3938 2015-06-26 Jiong Wang <jiong.wang@arm.com>
3939
3940 * config/aarch64/aarch64-protos.h (aarch64_symbol_type): New type
3941 SYMBOL_SMALL_GOT_28K.
3942 * config/aarch64/aarch64.md: (ldr_got_small_<mode>): Support new GOT
3943 relocation modifiers.
3944 (unspec): New enum "UNSPEC_GOTMALLPIC28K.
3945 (ldr_got_small_28k_<mode>): New.
3946 (ldr_got_small_28k_sidi): New.
3947 * config/aarch64/iterators.md (got_modifier): New mode iterator.
3948 * config/aarch64/aarch64-otps.h (aarch64_code_model): New model.
3949 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Support
3950 SYMBOL_SMALL_GOT_28K.
3951 (aarch64_rtx_costs): Add costs for new instruction sequences.
3952 (initialize_aarch64_code_model): Initialize new model.
3953 (aarch64_classify_symbol): Recognize new model and new symbol classification.
3954 (aarch64_asm_preferred_eh_data_format): Support new model.
3955 (aarch64_load_symref_appropriately): Generate new instruction
3956 sequences for -fpic.
3957 (TARGET_USE_PSEUDO_PIC_REG): New definition.
3958 (aarch64_use_pseudo_pic_reg): New function.
3959
3960 2015-06-26 Jiong Wang <jiong.wang@arm.com>
3961
3962 * config/aarch64/aarch64-protos.h (aarch64_symbol_type): Rename
3963 SYMBOL_SMALL_GOT to SYMBOL_SMALL_GOT_4G.
3964 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Ditto.
3965 (aarch64_expand_mov_immediate): Ditto.
3966 (aarch64_print_operand): Ditto.
3967 (aarch64_classify_symbol): Ditto.
3968
3969 2015-06-26 Nathan Sidwell <nathan@codesourcery.com>
3970
3971 * config/nvptx/nvptx.md (call_operation): Remove unused variables.
3972
3973 2015-06-26 Bin Cheng <bin.cheng@arm.com>
3974
3975 PR bootstrap/66638
3976 * tree-ssa-loop-niter.c (loop_exits_before_overflow): Skip if
3977 assertion failed. Remove assertion itself.
3978
3979 2015-06-26 Richard Biener <rguenther@suse.de>
3980
3981 * fold-const.c (fold_binary_loc): Remove -A CMP -B -> A CMP B
3982 and -A CMP CST -> A CMP -CST which is redundant with a pattern
3983 in match.pd.
3984 Move (A | C) == D where C & ~D != 0 -> 0, (X ^ Y) ==/!= 0 -> X ==/!= Y,
3985 (X ^ Y) ==/!= {Y,X} -> {X,Y} ==/!= 0 and
3986 (X ^ C1) op C2 -> X op (C1 ^ C2) to ...
3987 * match.pd: ... patterns here.
3988
3989 2015-06-26 Marek Polacek <polacek@redhat.com>
3990
3991 * match.pd ((x | y) & ~(x & y) -> x ^ y,
3992 (x | y) & (~x ^ y) -> x & y): New patterns.
3993
3994 2015-06-26 Richard Sandiford <richard.sandiford@arm.com>
3995
3996 * rtl.h (emit): Add an optional boolean parameter to control
3997 whether barriers are emitted.
3998 * emit-rtl.c (emit): Likewise.
3999 * gensupport.c (get_emit_function): Return null rather than "emit".
4000 * genemit.c (gen_emit_seq): Handle the null return value.
4001 Don't emit barriers after the final instruction in the sequence.
4002 * gentarget-def.c (main): Don't emit barriers after the instruction.
4003
4004 2015-06-26 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
4005
4006 * config/arm/arm.c (arm_output_multireg_pop): Fix use of
4007 TARGET_UNIFIED_ASM.
4008
4009 2015-06-26 Richard Biener <rguenther@suse.de>
4010
4011 * match.pd: Allow associating FLOAT_TYPE_P when flag_associative_math.
4012
4013 2015-06-26 Richard Biener <rguenther@suse.de>
4014
4015 * match.pd: Allow (p +p off1) +p off2 to (p +p (off1 + off2))
4016 irrespective on whether the inner operation has a single use
4017 of both off are constant.
4018
4019 2015-06-26 Uros Bizjak <ubizjak@gmail.com>
4020 Segher Boessenkool <segher@kernel.crashing.org>
4021
4022 PR target/66412
4023 * config/i386/i386.md (various splitters): Use shallow_copy_rtx
4024 before doing PUT_MODE or PUT_CODE on operands to avoid
4025 in-place RTX modification.
4026
4027 2015-06-25 H.J. Lu <hongjiu.lu@intel.com>
4028
4029 * gentarget-def.c (def_target_insn): Cast return of strtol to
4030 unsigned int.
4031
4032 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
4033
4034 * gimple.h (gimple_call_set_fn): Move inline function.
4035 * gimple.c (gimple_call_set_fn): Relocate here.
4036
4037 2015-06-25 Oleg Endo <olegendo@gcc.gnu.org>
4038
4039 PR target/65979
4040 PR target/66611
4041 * config/sh/sh.md (tstsi_t peephole2): Use insn_invalid_p to check if
4042 the replacement insn will work.
4043
4044 2015-06-25 H.J. Lu <hongjiu.lu@intel.com>
4045
4046 * gcc.c (driver_handle_option): Validate -pie if PIE is enabled
4047 by default.
4048
4049 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
4050
4051 * function.h (ipa_opt_pass, ipa_opt_pass_d): Move forward declarations.
4052 * cgraph.h: Include ipa-ref.h and plugin-api.h.
4053 (ipa_opt_pass, ipa_opt_pass_d)): Relocate forward declarations here.
4054 (symtab_node::address_can_be_compared_p): Move function.
4055 * cgraph.c (symtab_node::address_can_be_compared_p): Relocate function
4056 definition here.
4057 * asan.c: Remove ipa-ref.h and plugin-api.h from include list.
4058 * auto-profile.c: Likewise.
4059 * bb-reorder.c: Likewise.
4060 * builtins.c: Likewise.
4061 * calls.c: Likewise.
4062 * cfgexpand.c: Likewise.
4063 * cgraphbuild.c: Likewise.
4064 * cgraphclones.c: Likewise.
4065 * cgraphunit.c: Likewise.
4066 * combine.c: Likewise.
4067 * coverage.c: Likewise.
4068 * data-streamer-in.c: Likewise.
4069 * data-streamer-out.c: Likewise.
4070 * data-streamer.c: Likewise.
4071 * dbxout.c: Likewise.
4072 * dwarf2out.c: Likewise.
4073 * except.c: Likewise.
4074 * expr.c: Likewise.
4075 * final.c: Likewise.
4076 * fold-const.c: Likewise.
4077 * ggc-page.c: Likewise.
4078 * gimple-fold.c: Likewise.
4079 * gimple-iterator.c: Likewise.
4080 * gimple-pretty-print.c: Likewise.
4081 * gimple-streamer-in.c: Likewise.
4082 * gimple-streamer-out.c: Likewise.
4083 * gimple.c: Likewise.
4084 * gimplify.c: Likewise.
4085 * ipa-chkp.c: Likewise.
4086 * ipa-comdats.c: Likewise.
4087 * ipa-cp.c: Likewise.
4088 * ipa-devirt.c: Likewise.
4089 * ipa-icf-gimple.c: Likewise.
4090 * ipa-icf.c: Likewise.
4091 * ipa-inline-analysis.c: Likewise.
4092 * ipa-inline-transform.c: Likewise.
4093 * ipa-inline.c: Likewise.
4094 * ipa-polymorphic-call.c: Likewise.
4095 * ipa-profile.c: Likewise.
4096 * ipa-prop.c: Likewise.
4097 * ipa-pure-const.c: Likewise.
4098 * ipa-ref.c: Likewise.
4099 * ipa-reference.c: Likewise.
4100 * ipa-split.c: Likewise.
4101 * ipa-utils.c: Likewise.
4102 * ipa-visibility.c: Likewise.
4103 * ipa.c: Likewise.
4104 * langhooks.c: Likewise.
4105 * lto-cgraph.c: Likewise.
4106 * lto-compress.c: Likewise.
4107 * lto-opts.c: Likewise.
4108 * lto-section-in.c: Likewise.
4109 * lto-section-out.c: Likewise.
4110 * lto-streamer-in.c: Likewise.
4111 * lto-streamer-out.c: Likewise.
4112 * lto-streamer.c: Likewise.
4113 * omp-low.c: Likewise.
4114 * opts-global.c: Likewise.
4115 * passes.c: Likewise.
4116 * predict.c: Likewise.
4117 * print-tree.c: Likewise.
4118 * profile.c: Likewise.
4119 * ree.c: Likewise.
4120 * sanopt.c: Likewise.
4121 * stor-layout.c: Likewise.
4122 * symtab.c: Likewise.
4123 * toplev.c: Likewise.
4124 * trans-mem.c: Likewise.
4125 * tree-cfg.c: Likewise.
4126 * tree-chkp.c: Likewise.
4127 * tree-eh.c: Likewise.
4128 * tree-emutls.c: Likewise.
4129 * tree-inline.c: Likewise.
4130 * tree-nested.c: Likewise.
4131 * tree-parloops.c: Likewise.
4132 * tree-pretty-print.c: Likewise.
4133 * tree-profile.c: Likewise.
4134 * tree-sra.c: Likewise.
4135 * tree-ssa-alias.c: Likewise.
4136 * tree-ssa-live.c: Likewise.
4137 * tree-ssa-loop-ivcanon.c: Likewise.
4138 * tree-ssa-loop-ivopts.c: Likewise.
4139 * tree-ssa-pre.c: Likewise.
4140 * tree-ssa-sccvn.c: Likewise.
4141 * tree-ssa-strlen.c: Likewise.
4142 * tree-ssa-structalias.c: Likewise.
4143 * tree-streamer-in.c: Likewise.
4144 * tree-streamer-out.c: Likewise.
4145 * tree-streamer.c: Likewise.
4146 * tree-switch-conversion.c: Likewise.
4147 * tree-tailcall.c: Likewise.
4148 * tree-vect-data-refs.c: Likewise.
4149 * tree-vect-stmts.c: Likewise.
4150 * tree-vectorizer.c: Likewise.
4151 * tree.c: Likewise.
4152 * tsan.c: Likewise.
4153 * ubsan.c: Likewise.
4154 * value-prof.c: Likewise.
4155 * varasm.c: Likewise.
4156 * varpool.c: Likewise.
4157 * config/arm/arm.c: Likewise.
4158 * config/bfin/bfin.c: Likewise.
4159 * config/c6x/c6x.c: Likewise.
4160 * config/cris/cris.c: Likewise.
4161 * config/darwin-c.c: Likewise.
4162 * config/darwin.c: Likewise.
4163 * config/i386/i386.c: Likewise.
4164 * config/i386/winnt.c: Likewise.
4165 * config/microblaze/microblaze.c: Likewise.
4166 * config/mips/mips.c: Likewise.
4167 * config/rs6000/rs6000.c: Likewise.
4168 * config/rx/rx.c: Likewise.
4169 * config/s390/s390.c: Likewise.
4170 * config/tilegx/mul-tables.c: Likewise.
4171
4172 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4173
4174 * config/aarch64/aarch64.c, config/alpha/alpha.c,
4175 config/arm/arm.c, config/avr/avr.c, config/bfin/bfin.c,
4176 config/c6x/c6x.c, config/cr16/cr16.c, config/cris/cris.c,
4177 config/fr30/fr30.c, config/frv/frv.c, config/h8300/h8300.c,
4178 config/i386/i386.c, config/ia64/ia64.c, config/iq2000/iq2000.c,
4179 config/lm32/lm32.c, config/m32c/m32c.c, config/m32r/m32r.c,
4180 config/m68k/m68k.c, config/mcore/mcore.c, config/mep/mep.c,
4181 config/microblaze/microblaze.c, config/mips/mips.c,
4182 config/mmix/mmix.c, config/mn10300/mn10300.c,
4183 config/moxie/moxie.c, config/msp430/msp430.c,
4184 config/nds32/nds32.c, config/nios2/nios2.c, config/nvptx/nvptx.c,
4185 config/pa/pa.c, config/pdp11/pdp11.c, config/rl78/rl78.c,
4186 config/rs6000/rs6000.c, config/rx/rx.c, config/s390/s390.c,
4187 config/sh/sh.c, config/sparc/sparc.c, config/spu/spu.c,
4188 config/stormy16/stormy16.c, config/tilegx/tilegx.c,
4189 config/tilepro/tilepro.c, config/v850/v850.c, config/vax/vax.c,
4190 config/visium/visium.c, config/xtensa/xtensa.c: Add comment above
4191 target-def.h include.
4192 * config/ft32/ft32.c: Likewise. Fix misapplied hunk.
4193
4194 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4195
4196 * Makefile.in (TARGET_DEF): Add target-insns.def.
4197 (.PRECIOUS, simple_rtl_generated_h): Add insn-target-def.h.
4198 (build/gentarget-def.o): New rule.
4199 (genprogrtl): Add target-def.
4200 * target-insns.def, gentarget-def.c: New files.
4201 * target.def: Add targetm.have_* and targetm.gen_* hooks,
4202 based on the contents of target-insns.def.
4203 * defaults.h (HAVE_simple_return, gen_simple_return): Delete.
4204 (HAVE_return, gen_return): Delete.
4205 * target-def.h: Include insn-target-def.h.
4206 * cfgrtl.c (force_nonfallthru_and_redirect): Use targetm interface
4207 instead of direct calls. Rely on them to do the appropriate assertions.
4208 * function.c (gen_return_pattern): Likewise. Return an rtx_insn *.
4209 (convert_jumps_to_returns): Use targetm interface instead of
4210 direct calls.
4211 (thread_prologue_and_epilogue_insns): Likewise.
4212 * reorg.c (find_end_label, dbr_schedule): Likewise.
4213 * shrink-wrap.h (SHRINK_WRAPPING_ENABLED): Likewise.
4214 * shrink-wrap.c (convert_to_simple_return): Likewise.
4215 (try_shrink_wrapping): Use SHRINK_WRAPPING_ENABLED.
4216
4217 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4218
4219 * config/aarch64/aarch64.c, config/alpha/alpha.c, config/arm/arm.c,
4220 config/avr/avr.c, config/bfin/bfin.c, config/c6x/c6x.c,
4221 config/cr16/cr16.c, config/cris/cris.c, config/fr30/fr30.c,
4222 config/frv/frv.c, config/ft32/ft32.c, config/h8300/h8300.c,
4223 config/i386/i386.c, config/ia64/ia64.c, config/iq2000/iq2000.c,
4224 config/lm32/lm32.c, config/m32c/m32c.c, config/m32r/m32r.c,
4225 config/m68k/m68k.c, config/mcore/mcore.c, config/mep/mep.c,
4226 config/microblaze/microblaze.c, config/mips/mips.c, config/mmix/mmix.c,
4227 config/mn10300/mn10300.c, config/moxie/moxie.c, config/msp430/msp430.c,
4228 config/nds32/nds32.c, config/nios2/nios2.c, config/nvptx/nvptx.c,
4229 config/pa/pa.c, config/pdp11/pdp11.c, config/rl78/rl78.c,
4230 config/rs6000/rs6000.c, config/rx/rx.c, config/s390/s390.c,
4231 config/sh/sh.c, config/sparc/sparc.c, config/spu/spu.c,
4232 config/stormy16/stormy16.c, config/tilegx/tilegx.c,
4233 config/tilepro/tilepro.c, config/v850/v850.c, config/vax/vax.c,
4234 config/visium/visium.c, config/xtensa/xtensa.c: Move target-def.h
4235 includes to end.
4236
4237 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4238
4239 * hash-map-traits.h (simple_hashmap_traits::key_type): New typedef.
4240 (unbounded_int_hashmap_traits::key_type): Likewise.
4241 * hash-map.h (hash_map): Get the key type from the traits.
4242 * hash-traits.h (default_hash_traits): By default, inherit from the
4243 template parameter.
4244 * alias.c (alias_set_traits): Delete.
4245 (alias_set_entry_d::children): Use alias_set_hash as the first
4246 template parameter.
4247 (record_alias_subset): Update accordingly.
4248 * except.c (tree_hash_traits): Delete.
4249 (type_to_runtime_map): Use tree_hash as the first template parameter.
4250 (init_eh): Update accordingly.
4251 * genmatch.c (capture_id_map_hasher): Delete.
4252 (cid_map_t): Use nofree_string_hash as first template parameter.
4253 * ipa-icf.h (symbol_compare_hashmap_traits): Delete.
4254 * ipa-icf.c (sem_item_optimizer::subdivide_classes_by_sensitive_refs):
4255 Use symbol_compare_hash as the first template parameter in
4256 subdivide_hash_map.
4257 * mem-stats.h (mem_usage_pair::mem_alloc_hashmap_traits): Delete.
4258 (mem_usage_pair::mem_map_t): Use mem_location_hash as the first
4259 template parameter.
4260 * passes.c (pass_registry_hasher): Delete.
4261 (name_to_pass_map): Use nofree_string_hash as the first template
4262 parameter.
4263 (register_pass_name): Update accordingly.
4264 * sanopt.c (sanopt_tree_map_traits): Delete.
4265 (sanopt_tree_triplet_map_traits): Delete.
4266 (sanopt_ctx::asan_check_map): Use tree_operand_hash as the first
4267 template parameter.
4268 (sanopt_ctx::vptr_check_map): Use sanopt_tree_triplet_hash as
4269 the first template parameter.
4270 * sese.c (rename_map_hasher): Delete.
4271 (rename_map_type): Use tree_ssa_name_hash as the first template
4272 parameter.
4273 * symbol-summary.h (function_summary::summary_hashmap_traits): Delete.
4274 (function_summary::m_map): Use map_hash as the first template
4275 parameter.
4276 (function_summary::release): Update accordingly.
4277 * tree-if-conv.c (phi_args_hash_traits): Delete.
4278 (predicate_scalar_phi): Use tree_operand_hash as the first template
4279 parameter to phi_arg_map.
4280 * tree-inline.h (dependence_hasher): Delete.
4281 (copy_body_data::dependence_map): Use dependence_hash as the first
4282 template parameter.
4283 * tree-inline.c (remap_dependence_clique): Update accordingly.
4284 * tree-ssa-strlen.c (stridxlist_hash_traits): Delete.
4285 (decl_to_stridxlist_htab): Use tree_decl_hash as the first template
4286 parameter.
4287 (addr_stridxptr): Update accordingly.
4288 * value-prof.c (profile_id_traits): Delete.
4289 (cgraph_node_map): Use profile_id_hash as the first template
4290 parameter.
4291 (init_node_map): Update accordingly.
4292 * config/alpha/alpha.c (string_traits): Delete.
4293 (machine_function::links): Use nofree_string_hash as the first
4294 template parameter.
4295 (alpha_use_linkage, alpha_write_linkage): Update accordingly.
4296 * config/m32c/m32c.c (pragma_traits): Delete.
4297 (pragma_htab): Use nofree_string_hash as the first template parameter.
4298 (m32c_note_pragma_address): Update accordingly.
4299 * config/mep/mep.c (pragma_traits): Delete.
4300 (pragma_htab): Use nofree_string_hash as the first template parameter.
4301 (mep_note_pragma_flag): Update accordingly.
4302 * config/mips/mips.c (mips16_flip_traits): Delete.
4303 (mflip_mips16_htab): Use nofree_string_hash as the first template
4304 parameter.
4305 (mflip_mips16_use_mips16_p): Update accordingly.
4306 (local_alias_traits): Delete.
4307 (mips16_local_aliases): Use nofree_string_hash as the first template
4308 parameter.
4309 (mips16_local_alias): Update accordingly.
4310
4311 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4312
4313 * hash-map-traits.h (default_hashmap_traits): Delete.
4314
4315 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4316
4317 * hash-map-traits.h (unbounded_hashmap_traits): New class.
4318 (unbounded_int_hashmap_traits): Likewise.
4319 * cfgexpand.c (part_traits): Use unbounded_int_hashmap_traits.
4320
4321 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4322
4323 * ipa-icf.h (symbol_compare_hash): New class.
4324 (symbol_compare_hashmap_traits): Use it.
4325 * mem-stats.h (mem_alloc_description::mem_location_hash): New class.
4326 (mem_alloc_description::mem_alloc_hashmap_traits): Use it.
4327 (mem_alloc_description::reverse_mem_map_t): Remove redundant
4328 default_hashmap_traits.
4329 * sanopt.c (sanopt_tree_triplet_hash): New class.
4330 (sanopt_tree_triplet_map_traits): Use it.
4331
4332 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4333
4334 * gengtype-parse.c (require_template_declaration): Allow '+' in
4335 template parameters. Consolidate cases.
4336 * hash-traits.h (int_hash): New class.
4337 * alias.c (alias_set_hash): New structure.
4338 (alias_set_traits): Use it.
4339 * symbol-summary.h (function_summary::map_hash): New class.
4340 (function_summary::summary_hashmap_traits): Use it.
4341 * tree-inline.h (dependence_hash): New class.
4342 (dependence_hasher): Use it.
4343 * tree-ssa-reassoc.c (oecount_hasher): Use int_hash.
4344 * value-prof.c (profile_id_hash): New class.
4345 (profile_id_traits): Use it.
4346
4347 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4348
4349 * config/mips/mips.c (mips16_flip_traits): Use it.
4350 (local_alias_traits, mips16_local_aliases): Convert from a map of
4351 rtxes to a map of symbol names.
4352 (mips16_local_alias): Update accordingly.
4353
4354 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4355
4356 * hash-traits.h (string_hash, nofree_string_hash): New classes.
4357 * genmatch.c (capture_id_map_hasher): Use nofree_string_hash.
4358 * passes.c (pass_registry_hasher): Likewise.
4359 * config/alpha/alpha.c (string_traits): Likewise.
4360 * config/i386/winnt.c (i386_find_on_wrapper_list): Likewise.
4361 * config/m32c/m32c.c (pragma_traits): Likewise.
4362 * config/mep/mep.c (pragma_traits): Likewise.
4363
4364 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4365
4366 * tree-hash-traits.h (tree_hash): New class.
4367 * except.c: Include tree-hash-traits.h.
4368 (tree_hash_traits): Use tree_hash.
4369
4370 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4371
4372 * tree-hash-traits.h (tree_ssa_name_hasher): New class.
4373 * sese.c: Include tree-hash-traits.h.
4374 (rename_map_hasher): Use tree_ssa_name_hasher.
4375
4376 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4377
4378 * tree-hash-traits.h (tree_decl_hash): New class.
4379 * tree-ssa-strlen.c: Include tree-hash-traits.h.
4380 (stridxlist_hash_traits): Use tree_decl_hash.
4381
4382 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4383
4384 * tree-hash-traits.h: New file.
4385 (tree_operand_hash): New class.
4386 * sanopt.c: Include tree-hash-traits.h.
4387 (sanopt_tree_map_traits): Use tree_operand_hash.
4388 * tree-if-conv.c: Include tree-hash-traits.h.
4389 (phi_args_hash_traits): Use tree_operand_hash.
4390 * tree-ssa-uncprop.c: Include tree-hash-traits.h.
4391 (val_ssa_equiv_hash_traits): Use tree_operand_hash.
4392
4393 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4394
4395 * hash-map-traits.h: Include hash-traits.h.
4396 (simple_hashmap_traits): New class.
4397 * mem-stats.h (hash_map): Change the default traits to
4398 simple_hashmap_traits<default_hash_traits<Key> >.
4399
4400 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4401
4402 * hash-table.h: Update comments.
4403
4404 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4405
4406 * hash-traits.h (default_hash_traits): New structure.
4407 * hash-set.h (default_hashset_traits): Delete.
4408 (hash_set): Use default_hash_traits<Key> instead of
4409 default_hashset_traits. Delete hash_entry type and use Key directly.
4410 * ipa-devirt.c (pair_traits): Delete.
4411 (default_hash_traits <type_pair>): Override.
4412 (odr_subtypes_equivalent_p): Remove pair_types template parameter.
4413 (odr_types_equivalent_p, add_type_duplicate): Likewise.
4414
4415 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4416
4417 * hash-traits.h (typed_noop_remove): Don't require a pointer type.
4418
4419 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4420
4421 * hash-table.h (has_is_deleted, is_deleted_helper): Delete.
4422 (has_is_empty, is_empty_helper): Delete.
4423 (has_mark_deleted, mark_deleted_helper): Delete.
4424 (has_mark_empty, mark_empty_helper): Delete.
4425 (hash_table::is_deleted): Call the Descriptor unconditionally.
4426 (hash_table::is_empty): Likewise.
4427 (hash_table::mark_deleted): Likewise.
4428 (hash_table::mark_empty): Likewise.
4429
4430 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4431
4432 * cgraph.h (asmname_hasher): Inherit from ggc_ptr_hash. Remove
4433 redundant typedefs and members.
4434 * coverage.c (counts_entry): Inherit from pointer_hash. Remove
4435 redundant typedefs.
4436 * dwarf2out.c (cu_hash_table_entry_hasher): Likewise.
4437 * ipa-devirt.c (odr_name_hasher): Likewise.
4438 (polymorphic_call_target_hasher): Likewise.
4439 * ira-costs.c (cost_classes_hasher): Likewise.
4440 * statistics.c (stats_counter_hasher): Likewise.
4441 * trans-mem.c (log_entry_hasher): Likewise.
4442 * tree-ssa-dom.c (expr_elt_hasher): Likewise.
4443 * tree-ssa-sccvn.c (vn_phi_hasher, vn_reference_hasher): Likewise.
4444 * tree-ssa-tail-merge.c (same_succ_def): Likewise.
4445 * var-tracking.c (variable_hasher): Likewise.
4446 * valtrack.h (dead_debug_hash_descr): Inherit from free_ptr_hash.
4447 Remove redundant typedefs and members.
4448
4449 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4450
4451 * hash-traits.h (ggc_cache_hasher): Rename to...
4452 (ggc_cache_remove): ...this and remove typedefs.
4453 (ggc_cache_ptr_hash): New class.
4454 * hash-table.h: Update commentary.
4455 * emit-rtl.c (const_int_hasher): Inherit from ggc_cache_ptr_hash
4456 rather than ggc_cache_hasher.
4457 (const_wide_int_hasher, reg_attr_hasher): Likewise.
4458 (const_double_hasher, const_fixed_hasher): Likewise.
4459 * function.c (insn_cache_hasher): Likewise.
4460 * trans-mem.c (tm_wrapper_hasher): Likewise.
4461 * tree.h (tree_decl_map_cache_hasher): Likewise.
4462 * tree.c (type_cache_hasher, int_cst_hasher): Likewise.
4463 (cl_option_hasher, tree_vec_map_cache_hasher): Likewise.
4464 * ubsan.c (tree_type_map_cache_hasher): Likewise.
4465 * varasm.c (tm_clone_hasher): Likewise.
4466 * config/i386/i386.c (dllimport_hasher): Likewise.
4467 * config/nvptx/nvptx.c (declared_libfunc_hasher): Likewise.
4468 (tree_hasher): Likewise.
4469
4470 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4471
4472 * hash-traits.h (ggc_hasher): Rename to...
4473 (ggc_remover): ...this and remove typedefs.
4474 (ggc_cache_hasher): Update accordingly. Add typedefs.
4475 (ggc_ptr_hash): New class.
4476 * hash-table.h: Update comment.
4477 * cfgloop.h (loop_exit_hasher): Inherit from ggc_ptr_hash rather than
4478 ggc_hasher.
4479 * cgraph.h (section_name_hasher, cgraph_edge_hasher): Likewise.
4480 (tree_descriptor_hasher): Likewise.
4481 * cgraph.c (function_version_hasher): Likewise.
4482 * dwarf2out.c (indirect_string_hasher, dwarf_file_hasher): Likewise.
4483 (decl_die_hasher, block_die_hasher, decl_loc_hasher): Likewise.
4484 (dw_loc_list_hasher, addr_hasher): Likewise.
4485 * function.h (used_type_hasher): Likewise.
4486 * function.c (temp_address_hasher): Likewise.
4487 * gimple-ssa.h (tm_restart_hasher, ssa_name_hasher): Likewise.
4488 * libfuncs.h (libfunc_hasher): Likewise.
4489 * lto-streamer.h (decl_state_hasher): Likewise.
4490 * optabs.c (libfunc_decl_hasher): Likewise.
4491 * tree-scalar-evolution.c (scev_info_hasher): Likewise.
4492 * varasm.c (section_hasher, object_block_hasher): Likewise.
4493 (const_rtx_desc_hasher): Likewise.
4494 * config/darwin.c (indirection_hasher, cfstring_hasher): Likewise.
4495 * config/rs6000/rs6000.c (toc_hasher, builtin_hasher): Likewise.
4496
4497 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4498
4499 * hash-traits.h (free_ptr_hash): New class.
4500 * dwarf2out.c (decl_table_entry_hasher): Inherit from free_ptr_hash
4501 rather than typed_free_remove. Remove redudant typedefs.
4502 (external_ref_hasher): Likewise.
4503 * except.c (action_record_hasher, ttypes_filter_hasher): Likewise.
4504 (ehspec_hasher): Likewise.
4505 * ggc-common.c (saving_hasher): Likewise.
4506 * gimplify.c (gimplify_hasher): Likewise.
4507 * haifa-sched.c (delay_i2_hasher): Likewise.
4508 * loop-invariant.c (invariant_expr_hasher): Likewise.
4509 * loop-iv.c (biv_entry_hasher): Likewise.
4510 * loop-unroll.c (iv_split_hasher, var_expand_hasher): Likewise.
4511 * trans-mem.c (tm_mem_map_hasher, tm_memop_hasher): Likewise.
4512 * tree-cfg.c (locus_discrim_hasher): Likewise.
4513 * tree-eh.c (finally_tree_hasher): Likewise.
4514 * tree-into-ssa.c (var_info_hasher): Likewise.
4515 * tree-parloops.c (reduction_hasher, name_to_copy_hasher): Likewise.
4516 * tree-ssa-loop-ivopts.c (iv_inv_expr_hasher): Likewise.
4517 * tree-ssa-phiopt.c (ssa_names_hasher): Likewise.
4518 * tree-ssa-pre.c (expr_pred_trans_d): Likewise.
4519 * tree-ssa-sccvn.c (vn_constant_hasher): Likewise.
4520 * tree-ssa-structalias.c (equiv_class_hasher): Likewise.
4521 (shared_bitmap_hasher): Likewise.
4522 * tree-ssa-threadupdate.c (redirection_data): Likewise.
4523 * tree-vectorizer.h (peel_info_hasher): Likewise.
4524 * tree-vectorizer.c (simduid_to_vf, simd_array_to_simduid): Likewise.
4525 * config/mips/mips.c (mips_lo_sum_offset_hasher): Likewise.
4526
4527 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4528
4529 * hash-table.h: Update comments.
4530 * hash-traits.h (pointer_hash): Don't inherit from typed_noop_remove.
4531 (nofree_ptr_hash): New class.
4532 * asan.c (asan_mem_ref_hasher): Inherit from nofree_ptr_hash rather
4533 than typed_noop_remove. Remove redudant typedefs.
4534 * attribs.c (attribute_hasher): Likewise.
4535 * cfg.c (bb_copy_hasher): Likewise.
4536 * cselib.c (cselib_hasher): Likewise.
4537 * dse.c (invariant_group_base_hasher): Likewise.
4538 * dwarf2cfi.c (trace_info_hasher): Likewise.
4539 * dwarf2out.c (macinfo_entry_hasher): Likewise.
4540 (comdat_type_hasher, loc_list_hasher): Likewise.
4541 * gcse.c (pre_ldst_expr_hasher): Likewise.
4542 * genmatch.c (id_base): Likewise.
4543 * genrecog.c (test_pattern_hasher): Likewise.
4544 * gimple-ssa-strength-reduction.c (cand_chain_hasher): Likewise.
4545 * haifa-sched.c (delay_i1_hasher): Likewise.
4546 * hard-reg-set.h (simplifiable_subregs_hasher): Likewise.
4547 * ipa-icf.h (congruence_class_group_hash): Likewise.
4548 * ipa-profile.c (histogram_hash): Likewise.
4549 * ira-color.c (allocno_hard_regs_hasher): Likewise.
4550 * lto-streamer.h (string_slot_hasher): Likewise.
4551 * lto-streamer.c (tree_entry_hasher): Likewise.
4552 * plugin.c (event_hasher): Likewise.
4553 * postreload-gcse.c (expr_hasher): Likewise.
4554 * store-motion.c (st_expr_hasher): Likewise.
4555 * tree-sra.c (uid_decl_hasher): Likewise.
4556 * tree-ssa-coalesce.c (coalesce_pair_hasher): Likewise.
4557 (ssa_name_var_hash): Likewise.
4558 * tree-ssa-live.c (tree_int_map_hasher): Likewise.
4559 * tree-ssa-loop-im.c (mem_ref_hasher): Likewise.
4560 * tree-ssa-pre.c (pre_expr_d): Likewise.
4561 * tree-ssa-sccvn.c (vn_nary_op_hasher): Likewise.
4562 * vtable-verify.h (registration_hasher): Likewise.
4563 * vtable-verify.c (vtbl_map_hasher): Likewise.
4564 * config/arm/arm.c (libcall_hasher): Likewise.
4565 * config/i386/winnt.c (wrapped_symbol_hasher): Likewise.
4566 * config/ia64/ia64.c (bundle_state_hasher): Likewise.
4567 * config/sol2.c (comdat_entry_hasher): Likewise.
4568 * fold-const.c (fold): Use nofree_ptr_hash instead of pointer_hash.
4569 (print_fold_checksum, fold_checksum_tree): Likewise.
4570 (debug_fold_checksum, fold_build1_stat_loc): Likewise.
4571 (fold_build2_stat_loc, fold_build3_stat_loc): Likewise.
4572 (fold_build_call_array_loc): Likewise.
4573 * tree-ssa-ccp.c (gimple_htab): Likewise.
4574 * tree-browser.c (tree_upper_hasher): Inherit from nofree_ptr_hash
4575 rather than pointer_type.
4576
4577 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4578
4579 * hash-traits.h (pointer_hash::mark_deleted, pointer_hash::mark_empty)
4580 (pointer_hash::is_deleted, pointer_hash::is_empty): New functions.
4581
4582 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4583
4584 * hash-traits.h (ggc_hasher::remove): Take a reference parameter.
4585 (ggc_hasher::ggc_mx): Likewise.
4586 (ggc_cache_hasher): Inherit from ggc_hasher. Remove definitions
4587 that duplicate ggc_hasher ones.
4588
4589 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4590
4591 * hash-table.h (hash_table): Add gt_cleare_cache as a friend.
4592 (gt_cleare_cache): Check here for deleted and empty entries.
4593 Replace handle_cache_entry with a call to keep_cache_entry.
4594 * hash-traits.h (ggc_cache_hasher::handle_cache_entry): Delete.
4595 (ggc_cache_hasher::keep_cache_entry): New function.
4596 * trans-mem.c (tm_wrapper_hasher::handle_cache_entry): Delete.
4597 (tm_wrapper_hasher::keep_cache_entry): New function.
4598 * tree.h (tree_decl_map_cache_hasher::handle_cache_entry): Delete.
4599 (tree_vec_map_cache_hasher::keep_cache_entry): New function.
4600 * tree.c (type_cache_hasher::handle_cache_entry): Delete.
4601 (type_cache_hasher::keep_cache_entry): New function.
4602 (tree_vec_map_cache_hasher::handle_cache_entry): Delete.
4603 (tree_vec_map_cache_hasher::keep_cache_entry): New function.
4604 * ubsan.c (tree_type_map_cache_hasher::handle_cache_entry): Delete.
4605 (tree_type_map_cache_hasher::keep_cache_entry): New function.
4606 * varasm.c (tm_clone_hasher::handle_cache_entry): Delete.
4607 (tm_clone_hasher::keep_cache_entry): New function.
4608 * config/i386/i386.c (dllimport_hasher::handle_cache_entry): Delete.
4609 (dllimport_hasher::keep_cache_entry): New function.
4610
4611 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4612
4613 * hash-table.h: Include hash-traits.h.
4614 (typed_free_remove, typed_noop_remove, pointer_hash, ggc_hasher)
4615 (ggc_cache_hasher): Move to...
4616 * hash-traits.h: ...this new file.
4617
4618 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
4619
4620 * tree-core.h (struct tree_optimization_option): Make opts a pointer to
4621 struct cl_optimization.
4622 * tree.h (TREE_OPTIMIZATION): Return the pointer, not the address of it.
4623 * tree.c (make_node_stat): Allocate cl_optimization struct.
4624 (copy_node_stat): Allocate and copy cl_optimization struct.
4625
4626 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
4627
4628 * function.h (struct incoming_args): Move struct.
4629 (pass_by_reference, reference_callee_copied): Remove prototypes.
4630 * emit-rtl.h (struct incoming_args): Relocate struct here.
4631 * calls.h (pass_by_reference, reference_callee_copied): Relocate
4632 prototypes here.
4633 * function.c (pass_by_reference, reference_callee_copied): Move.
4634 * calls.c (pass_by_reference, reference_callee_copied): Relocate here.
4635 * cfgloop.h: Don't include tm.h or hard-reg-set.h.
4636 * ipa-chkp.c: Include calls.h.
4637
4638 2015-06-25 Andrew Macleod <amacleod@redhat.com>
4639
4640 * alias.h (alias_set_type): Move typedef.
4641 * coretypes.h (alias_set_type): Relocate typedef here.
4642 * rtl.h: Don't include alias.h.
4643
4644 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
4645
4646 * cgraph.h (cgraph_rtl_info): Move to rtl.h
4647 (cgraph_node): Maintain pointer to struct cgraph_rtl_info instead of
4648 and instance.
4649 * rtl.h (struct cgraph_rtl_info): Define when HARD_REG_SET available.
4650 * cgraph.c (cgraph_node::rtl_info): Allocate cgraph_rtl_info if one
4651 doesn't exist.
4652 * calls.c: Include hard-reg-set.h before rtl.h.
4653 * ira.c: Likewise.
4654
4655 2015-06-25 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
4656 Vladimir Makarov <vmakarov@redhat.com>
4657
4658 * ira-color.c (assign_hard_reg): Remove unecessary bitmap check.
4659 Add assert.
4660
4661 2015-06-25 Richard Biener <rguenther@suse.de>
4662
4663 * fold-const.c (fold_binary_loc): Move simplification of
4664 (X <<>> C1) & C2 ...
4665 * match.pd: ... here.
4666
4667 2015-06-25 Eric Botcazou <ebotcazou@adacore.com>
4668
4669 * lto-streamer-out.c (DFS::hash_scc): Fix typos & formatting glitches.
4670
4671 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4672
4673 * match.pd: Add patterns for vec_conds between 1 and 0.
4674
4675 2015-06-25 Richard Biener <rguenther@suse.de>
4676
4677 * tree-vect-stmts.c (vectorizable_conversion): Do not set
4678 STMT_VINFO_VEC_STMT for SLP.
4679 (vectorizable_store): Likewise.
4680 (vectorizable_load): Likewise.
4681 (vect_transform_stmt): Catch SLP vectorization clobbering
4682 STMT_VINFO_VEC_STMT.
4683
4684 2015-06-25 Richard Biener <rguenther@suse.de>
4685
4686 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Improve debug
4687 dumping.
4688 (vect_create_mask_and_perm): Do not set STMT_VINFO_VEC_STMT and
4689 cleanup resulting dead code and parameters.
4690 (vect_transform_slp_perm_load): Adjust.
4691
4692 2015-06-25 Nick Clifton <nickc@redhat.com>
4693
4694 * config/bfin/bfin.c (bfin_expand_prologue): Set
4695 current_function_static_stack_size if flag_stack_usage_info is set.
4696 * config/ft32/ft32.c (ft32_expand_prologue): Likewise.
4697 * config/h8300/h8300.c (h8300_expand_prologue): Likewise.
4698 * config/iq2000/iq2000.c (iq2000_expand_prologue): Likewise.
4699 * config/m32c/m32c.c (m32c_emit_prologue): Likewise.
4700
4701 2015-06-25 Tom de Vries <tom@codesourcery.com>
4702
4703 * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Don't claim in header
4704 comment that the generated IV is unsigned.
4705
4706 2015-06-25 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
4707
4708 PR target/29693
4709 * config/arm/arm.c (arm_dbx_register_number): Return
4710 DWARF_FRAME_REGISTERS by default.
4711
4712 2015-06-25 Tom de Vries <tom@codesourcery.com>
4713
4714 * dominance.c (calculate_dominance_info): Fix verify_dominators call
4715 argument. Call verify_dominator when reusing dominator info.
4716
4717 2015-06-24 Kaz Kojima <kkojima@gcc.gnu.org>
4718
4719 PR target/66563
4720 * config/sh/sh.md (GOTaddr2picreg): Add a new operand for
4721 an additional element of the unspec vector. Modify indices
4722 of operands.
4723 (builtin_setjmp_receiver): Pass const0_rtx to gen_GOTaddr2picreg.
4724 * config/sh/sh.c (prepare_move_operands): Pass incremented
4725 const_int to gen_GOTaddr2picreg.
4726 (sh_expand_prologue): Pass const0_rtx to gen_GOTaddr2picreg.
4727
4728 2015-06-24 Alan Lawrence <alan.lawrence@arm.com>
4729
4730 * config/aarch64/aarch64.md (<optab><fcvt_target><GPF:mode>2):
4731 Condition on TARGET_FLOAT.
4732
4733 2015-06-24 Alan Lawrence <alan.lawrence@arm.com>
4734
4735 * doc/invoke.texi: Clarify AArch64 feature modifiers (no)fp, (no)simd
4736 and (no)crypto.
4737
4738 2015-06-24 Alan Lawrence <alan.lawrence@arm.com>
4739
4740 * config/aarch64/aarch64-protos.h (aarch64_err_no_fpadvsimd): New.
4741
4742 * config/aarch64/aarch64.md (mov<mode>/GPF, movtf): Use
4743 aarch64_err_no_fpadvsimd.
4744
4745 * config/aarch64/aarch64.c (aarch64_err_no_fpadvsimd): New.
4746 (aarch64_layout_arg, aarch64_init_cumulative_args): Use
4747 aarch64_err_no_fpadvsimd if !TARGET_FLOAT and we need FP regs.
4748 (aarch64_expand_builtin_va_start, aarch64_setup_incoming_varargs):
4749 Turn error into assert, test TARGET_FLOAT.
4750 (aarch64_gimplify_va_arg_expr): Use aarch64_err_no_fpadvsimd, test
4751 TARGET_FLOAT.
4752
4753 2015-06-24 Aldy Hernandez <aldyh@redhat.com>
4754
4755 PR debug/66482
4756 * dwarf2out.c (gen_formal_parameter_die): Remove assert.
4757
4758 2015-06-24 Ilya Enkovich <enkovich.gnu@gmail.com>
4759
4760 * tree-vect-slp.c (vect_build_slp_tree_1): Init vectype.
4761
4762 2015-06-24 Renlin Li <renlin.li@arm.com>
4763
4764 * config/aarch64/aarch64.h(TARGET_CPU_CPP_BUILTINS): Add
4765 __ARM_ALIGN_MAX_PWR, __ARM_ALIGN_MAX_STACK_PWR.
4766
4767 2015-06-24 Richard Biener <rguenther@suse.de>
4768
4769 * genmatch.c (enum tree_code): Add VIEW_CONVERT[012].
4770 (main): Likewise.
4771 (lower_opt_convert): Support lowering of conditional view_convert.
4772 (parser::parse_operation): Likewise.
4773 (parser::parse_for): Likewise.
4774
4775 2015-06-24 Renlin Li <renlin.li@arm.com>
4776
4777 * varasm.c (emit_local): Use unsigned int for align variable.
4778
4779 2015-06-24 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
4780
4781 PR target/63408
4782 * config/arm/arm.c (vfp3_const_double_for_fract_bits): Disable
4783 for negative numbers.
4784
4785 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4786
4787 PR rtl-optimization/66306
4788 * reload.c (find_reloads): Swap the match_dup info for
4789 commutative operands.
4790
4791 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4792
4793 * config/s390/vx-builtins.md
4794 ("vec_scatter_element<mode>_<non_vec_int>")
4795 ("vec_scatter_element<V_HW_64:mode>_SI"): Replace gf mode
4796 attribute with bhfgq.
4797
4798 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4799
4800 * config/s390/s390-builtins.def: Fix vpopct instruction comments.
4801
4802 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4803
4804 * config/s390/s390-builtin-types.def: Add flag to indicate the
4805 options under which the function type is needed.
4806 * config/s390/s390-builtins.def: Add flag to indicate the options
4807 under which the builtin is enabled.
4808 * config/s390/s390-builtins.h: Add flags parameter to macro
4809 definitions.
4810 (bflags_for_builtin): New function.
4811 (flags_for_builtin): Renamed to ...
4812 (opflags_for_builtin): ... this.
4813 * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Rename
4814 flags_for_builtin to bflags_for_builtin and
4815 flags_overloaded_builtin_var to opflags_overloaded_builtin_var.
4816 * config/s390/s390.c: Add initialization of bflags_builtin and
4817 opflags_builtin arrays.
4818 Remove code for flags_builtin.
4819 (s390_init_builtins): Only create builtin function types if one of
4820 their flags is active.
4821 Only create builtins if all of their flags are active.
4822 (s390_expand_builtin): Rename flags_for_builtin to
4823 opflags_for_builtin.
4824
4825 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4826
4827 * config/s390/vecintrin.h: Remove internal builtins.
4828
4829 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4830
4831 * config/s390/s390.c (s390_secondary_reload): Fix check for
4832 GENERAL_REGS register class.
4833
4834 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4835
4836 * config/s390/s390.c (s390_support_vector_misalignment): Call
4837 default implementation for !TARGET_VX.
4838
4839 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4840
4841 * config/s390/s390.c (s390_legitimate_constant_p): Add
4842 TARGET_VX check.
4843
4844 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4845
4846 * config/s390/s390.c (s390_vector_abi): New variable definition.
4847 (s390_check_type_for_vector_abi): New function.
4848 (TARGET_ASM_FILE_END): New macro definition.
4849 (s390_asm_file_end): New function.
4850 (s390_function_arg): Call s390_check_type_for_vector_abi.
4851 (s390_gimplify_va_arg): Likewise.
4852 * configure: Regenerate.
4853 * configure.ac: Check for .gnu_attribute Binutils feature.
4854
4855 2015-06-23 Chen Gang <gang.chen.5i5j@gmail.com>
4856
4857 PR target/65803
4858 * config/bfin/bfin.c (hwloop_optimize): Initialize
4859 JUMP_LABEL for newly created jump.
4860
4861 2015-06-23 Tristan Gingold <gingold@adacore.com>
4862
4863 * collect-utils.c (collect_wait): Unlink the response file here
4864 instead of...
4865 (do_wait): ...here.
4866 (utils_cleanup): ...and here.
4867
4868 2015-06-23 Richard Sandiford <richard.sandiford@arm.com>
4869
4870 * df-scan.c: Don't include target-def.h.
4871 * targhooks.c: Likewise.
4872 * config/arm/arm-c.c: Likewise.
4873 * config/i386/i386-c.c: Likewise.
4874 * config/nds32/nds32-cost.c: Likewise.
4875 * config/nds32/nds32-fp-as-gp.c: Likewise.
4876 * config/nds32/nds32-intrinsic.c: Likewise.
4877 * config/nds32/nds32-isr.c: Likewise.
4878 * config/nds32/nds32-md-auxiliary.c: Likewise.
4879 * config/nds32/nds32-memory-manipulation.c: Likewise.
4880 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
4881 * config/nds32/nds32-predicates.c: Likewise.
4882
4883 2015-06-23 Richard Biener <rguenther@suse.de>
4884
4885 PR tree-optimization/66636
4886 * tree-vect-stmts.c (vectorizable_store): Properly compute the
4887 def type for further defs for strided stores.
4888
4889 2015-06-23 Nathan Sidwell <nathan@codesourcery.com>
4890
4891 * config/nvptx/nvptx.md (sel_true<mode>, sel_false<mode>): New
4892 conditional selects.
4893 (setcc_int<mode>, setcc_float<mode>): Reformat.
4894
4895 2015-06-23 Marek Polacek <polacek@redhat.com>
4896
4897 * match.pd ((x + y) - (x | y) -> x & y,
4898 (x + y) - (x & y) -> x | y): New patterns.
4899
4900 2015-06-23 Ludovic Courtès <ludo@gnu.org>
4901
4902 PR 65711
4903 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Move
4904 '-dynamic-linker' within %{!shared: ...}.
4905
4906 2015-06-23 Uros Bizjak <ubizjak@gmail.com>
4907
4908 PR target/66560
4909 * config/i386/predicates.md (addsub_vm_operator): New predicate.
4910 (addsub_vs_operator): Ditto.
4911 (addsub_vs_parallel): Ditto.
4912 * config/i386/sse.md (ssedoublemode): Add V4SF and V2DF modes.
4913 (avx_addsubv4df3, avx_addsubv8sf3, sse3_addsubv2df3, sse3_addsubv4sf3):
4914 Put minus RTX before plus and adjust vec_merge selector.
4915 (*avx_addsubv4df3_1, *avx_addsubv4df3_1s, *sse3_addsubv2df3_1)
4916 (*sse_addsubv2df3_1s, *avx_addsubv8sf3_1, *avx_addsubv8sf3_1s)
4917 (*sse3_addsubv4sf3_1, *sse_addsubv4sf3_1s): Remove insn patterns.
4918 (addsub vec_merge splitters): New combiner splitters.
4919 (addsub vec_select/vec_concat splitters): Ditto.
4920
4921 2015-06-23 Bin Cheng <bin.cheng@arm.com>
4922
4923 PR tree-optimization/66449
4924 * tree-ssa-loop-niter.c (loop_exits_before_overflow): Use
4925 POINTER_PLUS_EXPR for pointers.
4926
4927 2015-06-23 Alan Modra <amodra@gmail.com>
4928
4929 * rtlanal.c (commutative_operand_precedence): Correct comments.
4930 * simplify-rtx.c (simplify_plus_minus_op_data_cmp): Delete forward
4931 declaration. Return an int. Distinguish REG,REG return from
4932 others.
4933 (struct simplify_plus_minus_op_data): Make local to function.
4934 (simplify_plus_minus): Don't set canonicalized if merely sorting
4935 registers. Avoid packing ops if nothing changes. White space fixes.
4936
4937 2015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
4938
4939 * gcc.c (default_compilers): Pass "-o %g.s" to cc1 for headers even if
4940 -fdump-ada-spec is passed but not if -fsyntax-only is.
4941
4942 2015-06-22 Vladimir Makarov <vmakarov@redhat.com>
4943
4944 PR bootstrap/63740
4945 * lra-lives.c (process_bb_lives): Check insn copying the same
4946 reload pseudo and don't create a copy for it.
4947
4948 2015-06-22 Tom de Vries <tom@codesourcery.com>
4949
4950 * tree-parloops.c (transform_to_exit_first_loop_alt): Add update_stmt
4951 for cond_stmt.
4952
4953 2015-06-22 Tom de Vries <tom@codesourcery.com>
4954
4955 * builtins.def (DEF_GOMP_BUILTIN): Test
4956 'flag_tree_parallelize_loops > 1' instead of
4957 'flag_tree_parallelize_loops'. Test flag_cilkplus.
4958
4959 2015-06-22 Tom de Vries <tom@codesourcery.com>
4960
4961 * dominance.c (calculate_dominance_info): Verify dominators if
4962 early-out.
4963
4964 2015-06-22 Marek Polacek <polacek@redhat.com>
4965
4966 * match.pd ((x ^ y) ^ (x | y) -> x & y,
4967 (x & y) + (x ^ y) -> x | y, (x & y) | (x ^ y) -> x | y,
4968 (x & y) ^ (x ^ y) -> x | y, (x & y) + (x | y) -> x + y,
4969 (x | y) - (x ^ y) -> x & y, (x | y) - (x & y) -> x ^ y): New patterns.
4970
4971 2015-06-22 Uros Bizjak <ubizjak@gmail.com>
4972
4973 PR target/65871
4974 * config/i386/i386.c (ix86_rtx_costs) <case COMPARE>: Ignore the
4975 cost of embedded comparison.
4976
4977 2015-06-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4978
4979 PR target/65914
4980 * config/rs6000/predicates.md (altivec_register_operand): Permit
4981 virtual stack registers.
4982 (vsx_register_operand): Likewise.
4983 (vfloat_operand): Likewise.
4984 (vint_operand): Likewise.
4985 (vlogical_operand): Likewise.
4986
4987 2015-06-22 Richard Biener <rguenther@suse.de>
4988
4989 * tree-vectorizer.h (_loop_vec_info): Add scalar_cost_vec
4990 and single_scalar_iteration_cost members.
4991 (LOOP_VINFO_SCALAR_ITERATION_COST): New.
4992 (LOOP_VINFO_SINGLE_SCALAR_ITERATION_COST): Likewise.
4993 (vect_get_single_scalar_iteration_cost): Remove.
4994 * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost):
4995 Use LOOP_VINFO_SCALAR_ITERATION_COST.
4996 * tree-vect-loop.c (destroy_loop_vec_info): Free
4997 scalar_cost_vec.
4998 (vect_get_single_scalar_iteration_cost): Compute result into
4999 LOOP_VINFO_SINGLE_SCALAR_ITERATION_COST and
5000 LOOP_VINFO_SCALAR_ITERATION_COST. Make static.
5001 (vect_analyze_loop_2): Call vect_get_single_scalar_iteration_cost.
5002 (vect_estimate_min_profitable_iters): Use them.
5003
5004 2015-06-22 Christian Bruel <christian.bruel@st.com>
5005
5006 PR target/52144
5007 * config/arm/arm.c (add_attribute, arm_insert_attributes): New functions
5008 (TARGET_INSERT_ATTRIBUTES): Define.
5009 (thumb_flipper): New var.
5010 * config/arm/arm.opt (-mflip-thumb): New switch.
5011
5012 2015-06-22 Jan Hubicka <hubicka@ucw.cz>
5013 Martin Liska <mliska@suse.cz>
5014
5015 PR ipa/65908
5016 * ipa-icf.c (sem_item::target_supports_symbol_aliases): Remove
5017 construction of arg_types.
5018 (sem_function::sem_function): Likewise.
5019 (sem_function::~sem_function): Remove destruction of arg_types.
5020 (sem_function::compatible_parm_types_p): New function.
5021 (sem_function::equals_wpa): Reorg matching of return values
5022 and parameter types.
5023 (sem_function::equals_private): Reorg mathcing of argument types.
5024 (sem_function::parse_tree_args): Remove.
5025 * ipa-icf.h (init_wpa): Do not call it.
5026 (parse_tree_args): Remove.
5027 (compatible_parm_types_p): Declare.
5028 (result_type): Remove.
5029 (arg_types): Remove.
5030
5031 2015-06-22 Jan Hubicka <hubicka@ucw.cz>
5032
5033 PR ipa/66351
5034 * ipa-polymorphic-call.c
5035 (ipa_polymorphic_call_context::get_dynamic_type): Fix thinko when
5036 initializing alias oracle; fix formating; set base_alias_set if it
5037 is known.
5038
5039 2015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
5040
5041 * auto-inc-dec.c (reverse_mem, reverse_inc): Remove.
5042 (parse_add_or_inc): Use std::swap instead of reverse_{mem,inc}.
5043 (find_inc): Likewise.
5044 * combine.c (combine_simplify_rtx): Use std::swap instead of manually
5045 swapping.
5046 * df-core.c (df_worklist_dataflow_doublequeue): Likewise.
5047 * df-scan.c (df_swap_refs): Remove.
5048 (df_sort_and_compress_refs): Use std::swap instead of df_swap_refs.
5049 * dominance.c (link_roots): Use std::swap instead of manually swapping.
5050 * expr.c (expand_expr_real_2, do_store_flag): Likewise.
5051 * fold-const.c (fold_relational_const): Likewise.
5052 * genattrtab.c (simplify_test_exp): Likewise.
5053 * gimple-match-head.c (gimple_resimplify2, gimple_resimplify3,
5054 gimple_simplify): Likewise.
5055 * ifcvt.c (noce_try_abs, find_if_header): Likewise.
5056 * internal-fn.c (expand_addsub_overflow, expand_mul_overflow): Likewise.
5057 * ipa-devirt.c (add_type_duplicate): Likewise.
5058 * loop-iv.c (get_biv_step_1, iv_number_of_iterations): Likewise.
5059 * lra-lives.c (lra_setup_reload_pseudo_preferenced_hard_reg): Likewise.
5060 * lra.c (lra_create_copy): Likewise.
5061 * lto-streamer-out.c (DFS::DFS): Likewise.
5062 * modulo-sched.c (get_sched_window): Likewise.
5063 * omega.c (omega_pretty_print_problem): Likewise.
5064 * optabs.c (prepare_float_lib_cmp, expand_mult_highpart): Likewise.
5065 * reload1.c (reloads_unique_chain_p): Likewise.
5066 * sel-sched-ir.c (exchange_lv_sets, exchange_av_sets): Remove.
5067 (exchange_data_sets): Move logic from exchange_{av,lv}_sets here and
5068 use std::swap.
5069 * simplify-rtx.c (simplify_unary_operation_1): Use std::swap instead of
5070 manually swapping.
5071 * tree-if-conv.c (is_cond_scalar_reduction, predicate_scalar_phi,
5072 predicate_mem_writes): Likewise.
5073 * tree-loop-distribution.c (pg_add_dependence_edges): Likewise.
5074 * tree-predcom.c (combine_chains): Likewise.
5075 * tree-ssa-alias.c (nonoverlapping_component_refs_p,
5076 refs_may_alias_p_1): Likewise.
5077 * tree-ssa-ifcombine.c (recognize_if_then_else): Likewise.
5078 * tree-ssa-loop-ivopts.c (extract_cond_operands): Likewise.
5079 * tree-ssa-loop-niter.c (refine_bounds_using_guard,
5080 number_of_iterations_cond): Likewise.
5081 * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Likewise.
5082 * tree-ssa-sccvn.c (vn_nary_op_compute_hash): Likewise.
5083 * tree-vect-slp.c (vect_build_slp_tree): Likewise.
5084 * tree-vect-stmts.c (supportable_widening_operation): Likewise.
5085 * tree-vrp.c (extract_range_from_binary_expr_1,
5086 extract_range_from_unary_expr_1): Likewise.
5087
5088 2015-06-20 Marek Polacek <polacek@redhat.com>
5089
5090 * common.opt (fsanitize-undefined-trap-on-error): Add Driver.
5091
5092 2015-06-19 Kaz Kojima <kkojima@gcc.gnu.org>
5093
5094 PR target/66591
5095 * config/sh/sh.c (prepare_move_operands): Replace subreg
5096 index term with R0 for base and index addressing.
5097
5098 2015-06-19 Jim Wilson <jim.wilson@linaro.org>
5099
5100 * config/aarch64/aarch64.md (mov<mode>:GPF): Don't call force_reg if
5101 op1 is an fp zero.
5102 (movsf_aarch64): Change condition from register_operand to
5103 aarch64_reg_or_fp_zero for op1. Change type for alternative 6 to
5104 load1. Change type for alternative 7 to store1.
5105 (movdf_aarch64): Likewise.
5106
5107 2015-06-19 James Greenhalgh <james.greenhalgh@arm.com>
5108
5109 * config/vax/vax.md: Adjust sign/zero extend patterns to
5110 handle SUBREGs in operands[1].
5111
5112 2015-06-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5113
5114 * config/i386/i386.c (ix86_function_versions): Use std::swap instead
5115 of manually swapping.
5116 (expand_vec_perm_interleave2): Likewise.
5117
5118 2015-06-19 Ilya Enkovich <enkovich.gnu@gmail.com>
5119
5120 * tree-chkp.c (chkp_compute_bounds_for_assignment): Don't
5121 reuse bounds created for abnormal ssa names.
5122
5123 2015-06-19 Jakub Jelinek <jakub@redhat.com>
5124
5125 * config/nvptx/nvptx.md (allocate_stack): Rename to...
5126 (allocate_stack_<mode>): ... this, and add :P on both
5127 match_operand and unspec.
5128 (allocate_stack): New expander.
5129
5130 2015-06-19 Christian Bruel <christian.bruel@st.com>
5131
5132 PR target/66541
5133 PR target/52144
5134 * config/arm/arm.c (arm_set_current_function): Handle
5135 explicit default options.
5136
5137 2015-06-18 Uros Bizjak <ubizjak@gmail.com>
5138
5139 * config/i386/i386.md (*movsicc_noc_zext): New insn.
5140 (zero-extended cmove with mem peephole2): New pattern.
5141 (cmove with mem peephole2): Merge patterns.
5142
5143 2015-06-18 Segher Boessenkool <segher@kernel.crashing.org>
5144
5145 * config/rs6000/rs6000.h (WORD_REGISTER_OPERATIONS): Delete.
5146
5147 2015-06-18 Steve Ellcey <sellcey@imgtec.com>
5148
5149 * config/mips/mips.c (mips_rtx_costs): Remove HONOR_NAN check.
5150 * config/mips/mips.md (*madd4<mode>): Ditto.
5151 (*nmadd3<mode>) Ditto.
5152 (*nmadd4<mode>_fastmath): Ditto.
5153 (*nmadd3<mode>_fastmath): Ditto.
5154 (*nmsub4<mode>): Ditto.
5155 (*nmsub3<mode>): Ditto.
5156 (*nmsub4<mode>_fastmath): Ditto.
5157 (*nmsub3<mode>_fastmath): Ditto.
5158
5159 2015-06-18 Michael Matz <matz@suse.de>
5160
5161 PR middle-end/66253
5162 * tree-vect-stmts.c (vectorizable_store): Implement non-SLP
5163 grouped strided stores.
5164 (vectorizable_load): Don't use the DR from first_stmt in
5165 the non-SLP grouped strided case.
5166
5167 2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com>
5168
5169 PR target/66569
5170 * function.c (assign_bounds): Add arguments assign_regs,
5171 assign_special, assign_bt.
5172 (assign_parms): For vararg functions handle bounds in BT
5173 and special slots after incoming vararg bounds.
5174
5175 2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com>
5176
5177 PR middle-end/66568
5178 * cfgexpand.c (expand_return): Handle missing bounds.
5179 (expand_gimple_stmt_1): Likewise.
5180 * tree-chkp.c (chkp_expand_zero_bounds): New.
5181 * tree-chkp.h (chkp_expand_zero_bounds): New.
5182
5183 2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com>
5184
5185 PR middle-end/66567
5186 * ipa-chkp.c (chkp_maybe_create_clone): Require
5187 functions to be instrumentable.
5188 * tree-chkp.c (chkp_replace_function_pointer): Use
5189 chkp_instrumentable_p instead of attribute check.
5190
5191 2015-06-18 Richard Biener <rguenther@suse.de>
5192
5193 PR tree-optimization/66510
5194 * tree-vect-stmts.c (vectorizable_load): Properly compute the
5195 number of vector loads for SLP permuted loads.
5196 * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Also
5197 check the stride for loop vectorization.
5198 (vect_enhance_data_refs_alignment): Deal with SLP adjusted
5199 vectorization factor.
5200 (vect_analyze_group_access): If the group size is not a power
5201 of two require a epilogue loop.
5202 * tree-vect-loop.c (vect_analyze_loop_2): Move alignment
5203 compute and optimizing and alias test pruning after final
5204 vectorization factor computation.
5205 * tree-vect-slp.c (vect_build_slp_tree_1): Remove check on
5206 vector alignment.
5207 (vect_transform_slp_perm_load): Properly compute the original
5208 number of vector load stmts.
5209
5210 2015-06-18 Uros Bizjak <ubizjak@gmail.com>
5211
5212 * doc/invoke.texi (-fsanitize-sections): Split @var to avoid
5213 "unlikely character , in @var" warning.
5214
5215 2015-06-17 Uros Bizjak <ubizjak@gmail.com>
5216
5217 * config/i386/i386.c (ix86_function_arg): Nest TARGET_64BIT code.
5218 (ix86_function_arg_advance): Ditto.
5219 (ix86_pass_by_reference): Ditto. Rewrite MS_ABI part.
5220
5221 2015-06-17 Andrew MacLeod <amacleod@redhat.com>
5222
5223 * function.h (struct rtl_data): Remove struct and accessor macros.
5224 * emit-rtl.h (struct rtl_data): Relocate to here.
5225 * Makefile.in (GTFILES): Add emit-rtl.h.
5226 * df-core.c: Include emit-rtl.h.
5227 * genattrtab.c: Likewise.
5228 * genconditions.c: Likewise.
5229 * genpreds.c: Likewise.
5230 * genrecog.c: Likewise.
5231 * regcprop.c: Likewise.
5232 * resource.c: Likewise.
5233 * sched-rgn.c: Likewise.
5234 * config/aarch64/cortex-a57-fma-steering.c: Likewise.
5235 * config/i386/winnt.c: Likewise.
5236
5237 2015-06-17 Jakub Jelinek <jakub@redhat.com>
5238
5239 PR middle-end/66429
5240 * omp-low.c (expand_omp_taskreg, expand_omp_target): Use child_cfun
5241 instead of DECL_STRUCT_FUNCTION (child_fn). Or in has_simduid_loops
5242 and has_force_vectorize_loops flags from cfun into
5243 child_cfun.
5244 (expand_omp_simd): For broken loop, set cfun->has_simduid_loops
5245 if simduid is non-NULL.
5246 * tree-pass.h (make_pass_simduid_cleanup): New prototype.
5247 * passes.def (pass_simduid_cleanup): Add new pass after loop
5248 passes.
5249 * tree-vectorizer.c (adjust_simduid_builtins): Remove one unnecessary
5250 indirection from htab argument's type.
5251 (shrink_simd_arrays): New function.
5252 (vectorize_loops): Use it. Adjust adjust_simduid_builtins caller.
5253 Don't call adjust_simduid_builtins if there are no loops.
5254 (pass_data_simduid_cleanup, pass_simduid_cleanup): New variables.
5255 (pass_simduid_cleanup::execute): New method.
5256 (make_pass_simduid_cleanup): New function.
5257
5258 2017-06-17 Andrew MacLeod <amacleod@redhat.com>
5259
5260 * tree-core.h (tree_target_option): Make opts field a pointer to a
5261 cl_target_option instead of an instance of the struct.
5262 * tree.h (TREE_TARGET_OPTION): Return the pointer, not an address of
5263 the structure.
5264 * tree.c (make_node_stat ): Allocate a cl_target_option struct for
5265 TARGET_OPTION_NODE.
5266 (copy_node_stat): Allocate and copy struct cl_target_option.
5267
5268 2015-06-17 Andrew MacLeod <amacleod@redhat.com>
5269
5270 * tree.h (merge_dllimport_decl_attributes, handle_dll_attribute):
5271 Remove conditional exposure of prototypes.
5272 (ANON_AGGRNAME_FORMAT, ANON_AGGRNAME_P): Delete.
5273 * tree.c (anon_aggrname_format, anon_aggrname_p): New. Replace macro
5274 definitions in tree.h with functions.
5275 * lto-streamer-out.c (DFS_write_tree_body, hash_tree): Use
5276 anon_aggrname_p.
5277 * tree-streamer-out.c (write_ts_decl_minimal_tree_pointers): Likewise.
5278
5279 2015-06-17 Segher Boessenkool <segher@kernel.crashing.org>
5280
5281 * config/rs6000/rs6000.md (*cmp<mode>_internal1): Rename to...
5282 (*cmp<mode>_signed): ... this.
5283 (*cmpsi_internal2, *cmpdi_internal2): Merge, rename to...
5284 (*cmp<mode>_unsigned): ... this. Remove %b.
5285
5286 2015-06-17 Andrew MacLeod <amacleod@redhat.com>
5287
5288 * coretypes.h: Include input.h and as-a.h.
5289 * rtl.h: Include input.h and as-a.h for generator files.
5290 * hwint.c: Include coretypes.h, don't include diagnostic-core.h.
5291 * vec.c: Don't include diagnostic-core.h.
5292 * alias.c: Do not include input.h, line-map.h or is-a.h.
5293 * asan.c: Likewise.
5294 * attribs.c: Likewise.
5295 * auto-inc-dec.c: Likewise.
5296 * auto-profile.c: Likewise.
5297 * bb-reorder.c: Likewise.
5298 * bt-load.c: Likewise.
5299 * builtins.c: Likewise.
5300 * caller-save.c: Likewise.
5301 * calls.c: Likewise.
5302 * ccmp.c: Likewise.
5303 * cfg.c: Likewise.
5304 * cfganal.c: Likewise.
5305 * cfgbuild.c: Likewise.
5306 * cfgcleanup.c: Likewise.
5307 * cfgexpand.c: Likewise.
5308 * cfghooks.c: Likewise.
5309 * cfgloop.c: Likewise.
5310 * cfgloop.h: Likewise.
5311 * cfgloopanal.c: Likewise.
5312 * cfgloopmanip.c: Likewise.
5313 * cfgrtl.c: Likewise.
5314 * cgraph.c: Likewise.
5315 * cgraphbuild.c: Likewise.
5316 * cgraphclones.c: Likewise.
5317 * cgraphunit.c: Likewise.
5318 * cilk-common.c: Likewise.
5319 * combine-stack-adj.c: Likewise.
5320 * combine.c: Likewise.
5321 * compare-elim.c: Likewise.
5322 * convert.c: Likewise.
5323 * coverage.c: Likewise.
5324 * cppbuiltin.c: Likewise.
5325 * cprop.c: Likewise.
5326 * cse.c: Likewise.
5327 * cselib.c: Likewise.
5328 * data-streamer-in.c: Likewise.
5329 * data-streamer-out.c: Likewise.
5330 * data-streamer.c: Likewise.
5331 * dbxout.c: Likewise.
5332 * dce.c: Likewise.
5333 * ddg.c: Likewise.
5334 * debug.c: Likewise.
5335 * df-core.c: Likewise.
5336 * df-problems.c: Likewise.
5337 * df-scan.c: Likewise.
5338 * df.h: Likewise.
5339 * dfp.c: Likewise.
5340 * diagnostic-core.h: Likewise.
5341 * diagnostic.c: Likewise.
5342 * dojump.c: Likewise.
5343 * dominance.c: Likewise.
5344 * domwalk.c: Likewise.
5345 * double-int.c: Likewise.
5346 * dse.c: Likewise.
5347 * dumpfile.c: Likewise.
5348 * dumpfile.h: Likewise.
5349 * dwarf2asm.c: Likewise.
5350 * dwarf2cfi.c: Likewise.
5351 * dwarf2out.c: Likewise.
5352 * emit-rtl.c: Likewise.
5353 * et-forest.c: Likewise.
5354 * except.c: Likewise.
5355 * explow.c: Likewise.
5356 * expmed.c: Likewise.
5357 * expr.c: Likewise.
5358 * final.c: Likewise.
5359 * fixed-value.c: Likewise.
5360 * fold-const.c: Likewise.
5361 * function.c: Likewise.
5362 * fwprop.c: Likewise.
5363 * gcc-plugin.h: Likewise.
5364 * gcse.c: Likewise.
5365 * generic-match-head.c: Likewise.
5366 * ggc-page.c: Likewise.
5367 * gimple-builder.c: Likewise.
5368 * gimple-expr.c: Likewise.
5369 * gimple-fold.c: Likewise.
5370 * gimple-iterator.c: Likewise.
5371 * gimple-low.c: Likewise.
5372 * gimple-match-head.c: Likewise.
5373 * gimple-pretty-print.c: Likewise.
5374 * gimple-ssa-isolate-paths.c: Likewise.
5375 * gimple-ssa-strength-reduction.c: Likewise.
5376 * gimple-streamer-in.c: Likewise.
5377 * gimple-streamer-out.c: Likewise.
5378 * gimple-streamer.h: Likewise.
5379 * gimple-walk.c: Likewise.
5380 * gimple.c: Likewise.
5381 * gimplify-me.c: Likewise.
5382 * gimplify.c: Likewise.
5383 * godump.c: Likewise.
5384 * graph.c: Likewise.
5385 * graphite-blocking.c: Likewise.
5386 * graphite-dependences.c: Likewise.
5387 * graphite-interchange.c: Likewise.
5388 * graphite-isl-ast-to-gimple.c: Likewise.
5389 * graphite-optimize-isl.c: Likewise.
5390 * graphite-poly.c: Likewise.
5391 * graphite-scop-detection.c: Likewise.
5392 * graphite-sese-to-poly.c: Likewise.
5393 * graphite.c: Likewise.
5394 * haifa-sched.c: Likewise.
5395 * hw-doloop.c: Likewise.
5396 * ifcvt.c: Likewise.
5397 * init-regs.c: Likewise.
5398 * input.c: Likewise.
5399 * internal-fn.c: Likewise.
5400 * ipa-chkp.c: Likewise.
5401 * ipa-comdats.c: Likewise.
5402 * ipa-cp.c: Likewise.
5403 * ipa-devirt.c: Likewise.
5404 * ipa-icf-gimple.c: Likewise.
5405 * ipa-icf.c: Likewise.
5406 * ipa-inline-analysis.c: Likewise.
5407 * ipa-inline-transform.c: Likewise.
5408 * ipa-inline.c: Likewise.
5409 * ipa-polymorphic-call.c: Likewise.
5410 * ipa-profile.c: Likewise.
5411 * ipa-prop.c: Likewise.
5412 * ipa-pure-const.c: Likewise.
5413 * ipa-ref.c: Likewise.
5414 * ipa-reference.c: Likewise.
5415 * ipa-split.c: Likewise.
5416 * ipa-utils.c: Likewise.
5417 * ipa-visibility.c: Likewise.
5418 * ipa.c: Likewise.
5419 * ira-build.c: Likewise.
5420 * ira-color.c: Likewise.
5421 * ira-conflicts.c: Likewise.
5422 * ira-costs.c: Likewise.
5423 * ira-emit.c: Likewise.
5424 * ira-lives.c: Likewise.
5425 * ira.c: Likewise.
5426 * jump.c: Likewise.
5427 * langhooks.c: Likewise.
5428 * lcm.c: Likewise.
5429 * loop-doloop.c: Likewise.
5430 * loop-init.c: Likewise.
5431 * loop-invariant.c: Likewise.
5432 * loop-iv.c: Likewise.
5433 * loop-unroll.c: Likewise.
5434 * lower-subreg.c: Likewise.
5435 * lra-assigns.c: Likewise.
5436 * lra-coalesce.c: Likewise.
5437 * lra-constraints.c: Likewise.
5438 * lra-eliminations.c: Likewise.
5439 * lra-lives.c: Likewise.
5440 * lra-remat.c: Likewise.
5441 * lra-spills.c: Likewise.
5442 * lra.c: Likewise.
5443 * lto-cgraph.c: Likewise.
5444 * lto-compress.c: Likewise.
5445 * lto-opts.c: Likewise.
5446 * lto-section-in.c: Likewise.
5447 * lto-section-out.c: Likewise.
5448 * lto-streamer-in.c: Likewise.
5449 * lto-streamer-out.c: Likewise.
5450 * lto-streamer.c: Likewise.
5451 * mcf.c: Likewise.
5452 * mode-switching.c: Likewise.
5453 * modulo-sched.c: Likewise.
5454 * omega.c: Likewise.
5455 * omp-low.c: Likewise.
5456 * optabs.c: Likewise.
5457 * opts-global.c: Likewise.
5458 * opts.h: Likewise.
5459 * passes.c: Likewise.
5460 * plugin.c: Likewise.
5461 * postreload-gcse.c: Likewise.
5462 * postreload.c: Likewise.
5463 * predict.c: Likewise.
5464 * pretty-print.h: Likewise.
5465 * print-rtl.c: Likewise.
5466 * print-tree.c: Likewise.
5467 * profile.c: Likewise.
5468 * real.c: Likewise.
5469 * realmpfr.c: Likewise.
5470 * recog.c: Likewise.
5471 * ree.c: Likewise.
5472 * reg-stack.c: Likewise.
5473 * regcprop.c: Likewise.
5474 * reginfo.c: Likewise.
5475 * regrename.c: Likewise.
5476 * regstat.c: Likewise.
5477 * reload.c: Likewise.
5478 * reload1.c: Likewise.
5479 * reorg.c: Likewise.
5480 * resource.c: Likewise.
5481 * rtl-chkp.c: Likewise.
5482 * rtl-error.c: Likewise.
5483 * rtlanal.c: Likewise.
5484 * rtlhooks.c: Likewise.
5485 * sanopt.c: Likewise.
5486 * sched-deps.c: Likewise.
5487 * sched-ebb.c: Likewise.
5488 * sched-rgn.c: Likewise.
5489 * sched-vis.c: Likewise.
5490 * sdbout.c: Likewise.
5491 * sel-sched-dump.c: Likewise.
5492 * sel-sched-ir.c: Likewise.
5493 * sel-sched.c: Likewise.
5494 * sese.c: Likewise.
5495 * shrink-wrap.c: Likewise.
5496 * simplify-rtx.c: Likewise.
5497 * stack-ptr-mod.c: Likewise.
5498 * statistics.c: Likewise.
5499 * stmt.c: Likewise.
5500 * stor-layout.c: Likewise.
5501 * store-motion.c: Likewise.
5502 * streamer-hooks.c: Likewise.
5503 * stringpool.c: Likewise.
5504 * symtab.c: Likewise.
5505 * target-globals.c: Likewise.
5506 * targhooks.c: Likewise.
5507 * toplev.c: Likewise.
5508 * tracer.c: Likewise.
5509 * trans-mem.c: Likewise.
5510 * tree-affine.c: Likewise.
5511 * tree-browser.c: Likewise.
5512 * tree-call-cdce.c: Likewise.
5513 * tree-cfg.c: Likewise.
5514 * tree-cfgcleanup.c: Likewise.
5515 * tree-chkp-opt.c: Likewise.
5516 * tree-chkp.c: Likewise.
5517 * tree-chrec.c: Likewise.
5518 * tree-complex.c: Likewise.
5519 * tree-data-ref.c: Likewise.
5520 * tree-dfa.c: Likewise.
5521 * tree-diagnostic.c: Likewise.
5522 * tree-dump.c: Likewise.
5523 * tree-eh.c: Likewise.
5524 * tree-emutls.c: Likewise.
5525 * tree-if-conv.c: Likewise.
5526 * tree-inline.c: Likewise.
5527 * tree-into-ssa.c: Likewise.
5528 * tree-iterator.c: Likewise.
5529 * tree-loop-distribution.c: Likewise.
5530 * tree-nested.c: Likewise.
5531 * tree-nrv.c: Likewise.
5532 * tree-object-size.c: Likewise.
5533 * tree-outof-ssa.c: Likewise.
5534 * tree-parloops.c: Likewise.
5535 * tree-phinodes.c: Likewise.
5536 * tree-predcom.c: Likewise.
5537 * tree-pretty-print.c: Likewise.
5538 * tree-profile.c: Likewise.
5539 * tree-scalar-evolution.c: Likewise.
5540 * tree-sra.c: Likewise.
5541 * tree-ssa-address.c: Likewise.
5542 * tree-ssa-alias.c: Likewise.
5543 * tree-ssa-ccp.c: Likewise.
5544 * tree-ssa-coalesce.c: Likewise.
5545 * tree-ssa-copy.c: Likewise.
5546 * tree-ssa-copyrename.c: Likewise.
5547 * tree-ssa-dce.c: Likewise.
5548 * tree-ssa-dom.c: Likewise.
5549 * tree-ssa-dse.c: Likewise.
5550 * tree-ssa-forwprop.c: Likewise.
5551 * tree-ssa-ifcombine.c: Likewise.
5552 * tree-ssa-live.c: Likewise.
5553 * tree-ssa-loop-ch.c: Likewise.
5554 * tree-ssa-loop-im.c: Likewise.
5555 * tree-ssa-loop-ivcanon.c: Likewise.
5556 * tree-ssa-loop-ivopts.c: Likewise.
5557 * tree-ssa-loop-manip.c: Likewise.
5558 * tree-ssa-loop-niter.c: Likewise.
5559 * tree-ssa-loop-prefetch.c: Likewise.
5560 * tree-ssa-loop-unswitch.c: Likewise.
5561 * tree-ssa-loop.c: Likewise.
5562 * tree-ssa-math-opts.c: Likewise.
5563 * tree-ssa-operands.c: Likewise.
5564 * tree-ssa-phiopt.c: Likewise.
5565 * tree-ssa-phiprop.c: Likewise.
5566 * tree-ssa-pre.c: Likewise.
5567 * tree-ssa-propagate.c: Likewise.
5568 * tree-ssa-reassoc.c: Likewise.
5569 * tree-ssa-sccvn.c: Likewise.
5570 * tree-ssa-scopedtables.c: Likewise.
5571 * tree-ssa-sink.c: Likewise.
5572 * tree-ssa-strlen.c: Likewise.
5573 * tree-ssa-structalias.c: Likewise.
5574 * tree-ssa-tail-merge.c: Likewise.
5575 * tree-ssa-ter.c: Likewise.
5576 * tree-ssa-threadedge.c: Likewise.
5577 * tree-ssa-threadupdate.c: Likewise.
5578 * tree-ssa-uncprop.c: Likewise.
5579 * tree-ssa-uninit.c: Likewise.
5580 * tree-ssa.c: Likewise.
5581 * tree-ssanames.c: Likewise.
5582 * tree-stdarg.c: Likewise.
5583 * tree-streamer-in.c: Likewise.
5584 * tree-streamer-out.c: Likewise.
5585 * tree-streamer.c: Likewise.
5586 * tree-switch-conversion.c: Likewise.
5587 * tree-tailcall.c: Likewise.
5588 * tree-vect-data-refs.c: Likewise.
5589 * tree-vect-generic.c: Likewise.
5590 * tree-vect-loop-manip.c: Likewise.
5591 * tree-vect-loop.c: Likewise.
5592 * tree-vect-patterns.c: Likewise.
5593 * tree-vect-slp.c: Likewise.
5594 * tree-vect-stmts.c: Likewise.
5595 * tree-vectorizer.c: Likewise.
5596 * tree-vrp.c: Likewise.
5597 * tree.c: Likewise.
5598 * tsan.c: Likewise.
5599 * ubsan.c: Likewise.
5600 * valtrack.c: Likewise.
5601 * value-prof.c: Likewise.
5602 * var-tracking.c: Likewise.
5603 * varasm.c: Likewise.
5604 * varpool.c: Likewise.
5605 * vmsdbgout.c: Likewise.
5606 * vtable-verify.c: Likewise.
5607 * web.c: Likewise.
5608 * wide-int.cc: Likewise.
5609 * xcoffout.c: Likewise.
5610 * common/common-target.h: Do not include input.h, line-map.h or is-a.h.
5611 * common/common-targhooks.c: Likewise.
5612 * config/aarch64/aarch64-builtins.c: Likewise.
5613 * config/aarch64/aarch64.c: Likewise.
5614 * config/alpha/alpha.c: Likewise.
5615 * config/arc/arc.c: Likewise.
5616 * config/arm/aarch-common.c: Likewise.
5617 * config/arm/arm-builtins.c: Likewise.
5618 * config/arm/arm-c.c: Likewise.
5619 * config/arm/arm.c: Likewise.
5620 * config/avr/avr-c.c: Likewise.
5621 * config/avr/avr-log.c: Likewise.
5622 * config/avr/avr.c: Likewise.
5623 * config/bfin/bfin.c: Likewise.
5624 * config/c6x/c6x.c: Likewise.
5625 * config/cr16/cr16.c: Likewise.
5626 * config/cris/cris.c: Likewise.
5627 * config/darwin-c.c: Likewise.
5628 * config/darwin.c: Likewise.
5629 * config/default-c.c: Likewise.
5630 * config/epiphany/epiphany.c: Likewise.
5631 * config/epiphany/mode-switch-use.c: Likewise.
5632 * config/epiphany/resolve-sw-modes.c: Likewise.
5633 * config/fr30/fr30.c: Likewise.
5634 * config/frv/frv.c: Likewise.
5635 * config/ft32/ft32.c: Likewise.
5636 * config/glibc-c.c: Likewise.
5637 * config/h8300/h8300.c: Likewise.
5638 * config/i386/i386-c.c: Likewise.
5639 * config/i386/i386.c: Likewise.
5640 * config/i386/msformat-c.c: Likewise.
5641 * config/i386/winnt-cxx.c: Likewise.
5642 * config/i386/winnt-stubs.c: Likewise.
5643 * config/i386/winnt.c: Likewise.
5644 * config/ia64/ia64-c.c: Likewise.
5645 * config/ia64/ia64.c: Likewise.
5646 * config/iq2000/iq2000.c: Likewise.
5647 * config/lm32/lm32.c: Likewise.
5648 * config/m32c/m32c-pragma.c: Likewise.
5649 * config/m32c/m32c.c: Likewise.
5650 * config/m32r/m32r.c: Likewise.
5651 * config/m68k/m68k.c: Likewise.
5652 * config/mcore/mcore.c: Likewise.
5653 * config/mep/mep-pragma.c: Likewise.
5654 * config/mep/mep.c: Likewise.
5655 * config/microblaze/microblaze-c.c: Likewise.
5656 * config/microblaze/microblaze.c: Likewise.
5657 * config/mips/mips.c: Likewise.
5658 * config/mmix/mmix.c: Likewise.
5659 * config/mn10300/mn10300.c: Likewise.
5660 * config/moxie/moxie.c: Likewise.
5661 * config/msp430/msp430-c.c: Likewise.
5662 * config/msp430/msp430.c: Likewise.
5663 * config/nds32/nds32-cost.c: Likewise.
5664 * config/nds32/nds32-fp-as-gp.c: Likewise.
5665 * config/nds32/nds32-intrinsic.c: Likewise.
5666 * config/nds32/nds32-isr.c: Likewise.
5667 * config/nds32/nds32-md-auxiliary.c: Likewise.
5668 * config/nds32/nds32-memory-manipulation.c: Likewise.
5669 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
5670 * config/nds32/nds32-predicates.c: Likewise.
5671 * config/nds32/nds32.c: Likewise.
5672 * config/nios2/nios2.c: Likewise.
5673 * config/nvptx/nvptx.c: Likewise.
5674 * config/pa/pa.c: Likewise.
5675 * config/pdp11/pdp11.c: Likewise.
5676 * config/rl78/rl78-c.c: Likewise.
5677 * config/rl78/rl78.c: Likewise.
5678 * config/rs6000/rs6000-c.c: Likewise.
5679 * config/rs6000/rs6000.c: Likewise.
5680 * config/rx/rx.c: Likewise.
5681 * config/s390/s390-c.c: Likewise.
5682 * config/s390/s390.c: Likewise.
5683 * config/sh/sh-c.c: Likewise.
5684 * config/sh/sh-mem.cc: Likewise.
5685 * config/sh/sh.c: Likewise.
5686 * config/sh/sh_optimize_sett_clrt.cc: Likewise.
5687 * config/sh/sh_treg_combine.cc: Likewise.
5688 * config/sol2-c.c: Likewise.
5689 * config/sol2-cxx.c: Likewise.
5690 * config/sol2-stubs.c: Likewise.
5691 * config/sol2.c: Likewise.
5692 * config/sparc/sparc-c.c: Likewise.
5693 * config/sparc/sparc.c: Likewise.
5694 * config/spu/spu-c.c: Likewise.
5695 * config/spu/spu.c: Likewise.
5696 * config/stormy16/stormy16.c: Likewise.
5697 * config/tilegx/mul-tables.c: Likewise.
5698 * config/tilegx/tilegx-c.c: Likewise.
5699 * config/tilegx/tilegx.c: Likewise.
5700 * config/tilepro/mul-tables.c: Likewise.
5701 * config/tilepro/tilepro-c.c: Likewise.
5702 * config/tilepro/tilepro.c: Likewise.
5703 * config/v850/v850-c.c: Likewise.
5704 * config/v850/v850.c: Likewise.
5705 * config/vax/vax.c: Likewise.
5706 * config/visium/visium.c: Likewise.
5707 * config/vms/vms-c.c: Likewise.
5708 * config/vms/vms.c: Likewise.
5709 * config/vxworks.c: Likewise.
5710 * config/winnt-c.c: Likewise.
5711 * config/xtensa/xtensa.c: Likewise.
5712
5713 2015-06-17 Robert Suchanek <robert.suchanek@imgtec.com>
5714
5715 * config/mips/mips.c (mips_ira_change_pseudo_allocno_class): New
5716 function.
5717 (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): Define macro.
5718
5719 2015-06-17 Richard Biener <rguenther@suse.de>
5720
5721 PR tree-optimization/66251
5722 * tree-vect-stmts.c (vectorizable_store): Fix gathering of vectorized
5723 stmts for SLP strided stores.
5724
5725 Revert
5726 2015-05-22 Richard Biener <rguenther@suse.de>
5727
5728 PR tree-optimization/66251
5729 * tree-vect-stmts.c (vectorizable_conversion): Properly
5730 set STMT_VINFO_VEC_STMT even for the SLP case.
5731
5732 2015-05-26 Michael Matz <matz@suse.de>
5733
5734 PR middle-end/66251
5735 * tree-vect-stmts.c (vect_create_vectorized_demotion_stmts): Always set
5736 STMT_VINFO_VEC_STMT, also with SLP.
5737
5738 2015-06-16 Uros Bizjak <ubizjak@gmail.com>
5739
5740 PR target/56766
5741 * config/i386/sse.md (*avx_addsubv4df3_1): New insn pattern.
5742 (*avx_addsubv4df3_1s): Ditto.
5743 (*sse3_addsubv2df3_1): Ditto.
5744 (*sse3_addsubv2df3_1s): Ditto.
5745 (*avx_addsubv8sf3_1): Ditto.
5746 (*avx_addsubv8sf3_1s): Ditto.
5747 (*sse3_addsubv4sf3_1): Ditto.
5748 (*sse3_addsubv4sf3_1s): Ditto.
5749
5750 2015-06-16 Steve Ellcey <sellcey@imgtec.com>
5751
5752 * config/mips/mti-linux.h (MIPS_SYSVERSION_SPEC): New.
5753 (SYSROOT_SUFFIX_SPEC): Update.
5754 (SYSROOT_HEADERS_SUFFIX_SPEC): New.
5755 (STARTFILE_PREFIX_SPEC): Update.
5756 * config/mips/t-mti-linux (MULTILIB_EXCEPTIONS): Remove.
5757 (MULTILIB_REQUIRED): New.
5758 (MULTILIB_OSDIRNAMES): New.
5759 * config/mips/t-img-linux (MULTILIB_EXCEPTIONS): Remove.
5760 (MULTILIB_REQUIRED): New.
5761 (MULTILIB_OSDIRNAMES): New.
5762
5763 2015-06-16 Matthew Wahab <matthew.wahab@arm.com>
5764
5765 * config/aarch64/aarch64-arches.def: Add "armv8.1-a".
5766 * config/aarch64/aarch64-options-extensions.def: Update "fP",
5767 "simd" and "crypto". Add "lse", "pan", "lor" and "rdma".
5768 * gcc/config/aarch64/aarch64.h (AARCH64_FL_LSE): New.
5769 (AARCH64_FL_PAN): New.
5770 (AARCH64_FL_LOR): New.
5771 (AARCH64_FL_RDMA): New.
5772 (AARCH64_FL_FOR_ARCH8_1): New.
5773 * doc/invoke.texi (AArch64 Options): Add "armv8.1-a" to
5774 -march. Add "lse", "pan", "lor", "rdma" to feature modifiers.
5775
5776 2015-06-16 Martin Liska <mliska@suse.cz>
5777
5778 * bitmap.c (dump_bitmap_statistics): Fix GNU coding style.
5779 * hash-table.c (void dump_hash_table_loc_statistics): Add missing
5780 guard.
5781
5782 2015-06-16 Richard Biener <rguenther@suse.de>
5783
5784 * tree-vect-stmts.c (vectorizable_store): Adjust.
5785 (vectorizable_load): Likewise.
5786 * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
5787 Simplify.
5788 (vect_create_data_ref_ptr): Likewise.
5789 (bump_vector_ptr): Adjust.
5790
5791 2015-06-16 Richard Biener <rguenther@suse.de>
5792
5793 * tree-vect-stmts.c (vectorizable_load): Properly start loads
5794 with the first element if this is grouped loads.
5795
5796 2015-06-16 James Greenhalgh <james.greenhalgh@arm.com>
5797
5798 * config/arm/arm-protos.h (struct tune_params): Rename
5799 log_op_non_sc to log_op_non_short_circuit, and rename enum
5800 values to expand SC to SHORT_CIRCUIT.
5801 * config/arm/arm.c (arm_slowmul_tune): Expand LOG_OP_NON_SC
5802 to LOG_OP_NON_SHORT_CIRCUIT.
5803 (arm_fastmul_tune):Likewise
5804 (arm_strongarm_tune): Likewise.
5805 (arm_xscale_tune): Likewise.
5806 (arm_9e_tune): Likewise.
5807 (arm_marvell_pj4_tune): Likewise.
5808 (arm_v6t2_tune): Likewise.
5809 (arm_cortex_tune): Likewise.
5810 (arm_cortex_a8_tune): Likewise.
5811 (arm_cortex_a7_tune): Likewise.
5812 (arm_cortex_a15_tune): Likewise.
5813 (arm_cortex_a53_tune): Likewise.
5814 (arm_cortex_a57_tune): Likewise.
5815 (arm_xgene1_tune): Likewise.
5816 (arm_cortex_a5_tune): Likewise.
5817 (arm_cortex_a9_tune): Likewise.
5818 (arm_cortex_a12_tune): Likewise.
5819 (arm_v7m_tune): Likewise.
5820 (arm_cortex_m7_tune): Likewise.
5821 (arm_v6m_tune): Likewise.
5822 (arm_fa726te_tune): Likewise.
5823
5824 2015-06-15 David Edelsohn <dje.gcc@gmail.com>
5825
5826 * altivec.md: Delete UNSPEC_VMLADDUHM.
5827 (mulv4si3_p8): New pattern.
5828 (mulv4si3): Use it for POWER8.
5829 (mulv8hi3): Use vmladduhm with zero addend.
5830 (altivec_vmladduhm): Descriptive RTL.
5831
5832 2015-06-15 Jim Wilson <jim.wilson@linaro.org>
5833
5834 * config/aarch64/aarch64.md (mov<mode>_aarch64): Change alternative 2
5835 to use neon_move instead of mov_imm.
5836 (movdi_aarch64): Change alternative 14 to use neon_move not fmov.
5837 (movtf_aarch64): Change alternative 4 to use neon_move_q not fconstd.
5838
5839 * config/aarch64/aarch64.c (aarch64_valid_floating_const): Move
5840 aarch64_float_const_zero_rtx_p check before TFmode check.
5841 * config/aarch64/aarch64.md (movtf): Don't call force_reg if op1 is
5842 an fp zero.
5843 (movtf_aarch64): Separate ?rY alternative into two. Adjust assembly
5844 code and attributes to match. Change condition from register_operand
5845 to aarch64_reg_or_fp_zero for op1. Change type for ldp from
5846 neon_load1_2reg to load2. Change type for stp from neon_store1_2reg
5847 to store2.
5848
5849 2015-06-15 Aldy Hernandez <aldyh@redhat.com>
5850
5851 PR debug/66535
5852 * dwarf2out.c (gen_subprogram_die): Do not check a parent's tag if
5853 there is no parent.
5854
5855 2015-06-14 Shiva Chen <shiva0217@gmail.com>
5856
5857 * aarch64.c (aarch64_simd_lane_bounds): Change %ld to %wd for
5858 HOST_WIDE_INT parameter.
5859
5860 2015-06-14 Jan Hubicka <hubicka@ucw.cz>
5861
5862 PR ipa/66181
5863 * lto-streamer-out.c (hash_tree): Do not hash TYPE_NO_FORCE_BLK.
5864 * tree-streamer-out.c (pack_ts_type_common_value_fields): Do not stream
5865 TYPE_NO_FORCE_BLK.
5866 * tree-streamer-in.c (unpack_ts_type_common_value_fields): Likewise.
5867
5868 2015-06-14 Richard Sandiford <richard.sandiford@arm.com>
5869
5870 * rtl.h (classify_insn): Declare.
5871 * emit-rtl.c (classify_insn): Move to...
5872 * rtl.c: ...here and add generator support.
5873 * gensupport.h (get_emit_function, needs_barrier_p): Declare.
5874 * gensupport.c (get_emit_function, needs_barrier_p): New functions.
5875 * genemit.c (gen_emit_seq): New function.
5876 (gen_expand, gen_split): Use it.
5877
5878 2015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
5879
5880 * tree.c (make_vector_stat): Fix comment to state that the
5881 function returns a VECTOR_CST.
5882
5883 2015-06-13 Richard Sandiford <richard.sandiford@arm.com>
5884
5885 * gensupport.h (add_implicit_parallel): Declare.
5886 * genrecog.c (add_implicit_parallel): Move to...
5887 * gensupport.c (add_implicit_parallel): ...here.
5888 (process_one_cond_exec): Use it.
5889 * genemit.c (gen_insn): Likewise.
5890
5891 2015-06-13 Iain Sandoe <iain@codesourcery.com>
5892
5893 PR bootstrap/66448
5894 * passes.c (rest_of_decl_compilation): Do not register globals for
5895 early debug if they are declared in built-ins.
5896
5897 2015-06-12 Aldy Hernandez <aldyh@redhat.com>
5898
5899 * dwarf2out.c (check_die): Protect with ENABLE_CHECKING.
5900
5901 2015-06-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5902
5903 * ifcvt.c (noce_try_store_flag_constants): Use std::swap instead of
5904 manually swapping.
5905 (noce_try_cmove_arith): Likewise.
5906 (noce_get_alt_condition): Likewise.
5907
5908 2015-06-12 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
5909
5910 * common/config/i386/i386-common.c
5911 (OPTION_MASK_ISA_MWAITX_SET): New.
5912 (ix86_handle_option): Handle mwaitx.
5913 * config.gcc (i[34567]86-*-*): Add mwaitxintrin.h,
5914 (x86_64-*-*): Likewise.
5915 * config/i386/mwaitxintrin.h: New header.
5916 * config/i386/cpuid.h (bit_MWAITX): Define.
5917 * config/i386/driver-i386.c (host_detect_local_cpu): Detect
5918 MWAITX support.
5919 * config/i386/i386.opt (mwaitx): New.
5920 * config/i386/i386-builtin-types.def
5921 (VOID_FTYPE_UNSIGNED_ UNSIGNED_UNSIGNED): New function type.
5922 * config/i386/i386-c.c: Define __MWAITX__ if needed.
5923 * config/i386/i386.c (ix86_target_string): Define -mmwaitx option.
5924 (PTA_MWAITX): New.
5925 (ix86_option_override_internal): Handle new option.
5926 (processor_alias_table): Added PTA_MWAITX.
5927 (ix86_valid_target_attribute_inner_p): Add OPT_mmwaitx.
5928 (ix86_builtins): Add IX86_BUILTIN_MWAITX, IX86_BUILTIN_MONITORX.
5929 (ix86_expand_builtin): Handle IX86_BUILTIN_MWAITX and
5930 IX86_BUILTIN_MONITORX built-ins.
5931 * config/i386/i386.h (TARGET_MWAITX): New.
5932 * config/i386/i386.md (unspecv): Add UNSPEC_MWAITX and
5933 UNSPEC_MONITORX.
5934 (mwaitx): New pattern.
5935 (monitorx_<mode>): New pattern.
5936 * config/i386/x86intrin.h: Include mwaitxintrin.h.
5937 * doc/extend.texi: Document monitorx and mwaitx builtins.
5938 * doc/invoke.texi: Document -mmwaitx option.
5939
5940 2015-06-12 Uros Bizjak <ubizjak@gmail.com>
5941
5942 * emit-rtl.c (need_atomic_barrier_p): Mask model with
5943 MEMMODEL_BASE_MASK. Remove MEMMODEL_SYNC_* cases.
5944
5945 2015-06-11 David Edelsohn <dje.gcc@gmail.com>
5946
5947 * dbxout.c (xcoff_debug_hooks): Provide a function for
5948 register_main_translation_unit hook.
5949
5950 2015-06-11 David Edelsohn <dje.gcc@gmail.com>
5951
5952 * config/rs6000/rs6000.c (rs6000_pre_atomic_barrier): Remove SYNC
5953 variants cases from switch.
5954 (rs6000_post_atomic_barrier): Same.
5955 (rs6000_expand_atomic_compare_and_swap): Use memmodel_base.
5956 (rs6000_expand_atomic_exchange): Same.
5957 (rs6000_expand_atomic_op): Same.
5958 * config/rs6000/sync.md (mem_thread_fence): Use memodel_base. Remove
5959 SYNC variants cases from switch.
5960 (atomic_load): Same.
5961 (atomic_store): Same.
5962
5963 2015-06-11 John David Anglin <danglin@gcc.gnu.org>
5964
5965 * config/pa/pa.c (pa_output_global_address): Handle LABEL_REF plus
5966 CONST_INT for goto.
5967
5968 2015-06-11 Aldy Hernandez <aldyh@redhat.com>
5969
5970 PR bootstrap/66448
5971 * dwarf2out.c (check_die): Check for common duplicate attributes.
5972 (add_location_or_const_value_attribute): Do not add duplicate
5973 attributes.
5974 (gen_formal_parameter_die): Do not add DW_AT_artificial the second
5975 time around.
5976 (gen_struct_or_union_type_die): Bail early if TREE_ASM_WRITTEN.
5977 (gen_type_die_with_usage): Call check_die.
5978 (dwarf2out_decl): Only call check_die() when ENABLE_CHECKING.
5979
5980 2015-06-11 Jason Merrill <jason@redhat.com>
5981
5982 * dwarf2out.c (prune_unused_types): Handle unused top-level limbo
5983 dies.
5984
5985 2015-06-11 Marek Polacek <polacek@redhat.com>
5986
5987 * match.pd ((x & y) ^ (x | y)): Don't check for single_use.
5988
5989 2015-06-11 Eric Botcazou <ebotcazou@adacore.com>
5990
5991 PR bootstrap/66252
5992 * config/sparc/sparc.c (hard_regno_mode_classes): Add ??? comment.
5993 * config/sparc/sparc.md (zero_extendsidi2_insn_sp32): Use single order.
5994 (*addx_extend_sp32): Fix pasto.
5995 (*subx_extend): Rename into...
5996 (*subx_extend_sp32): ...this.
5997 (*adddi3_extend_sp32): Add earlyclobber.
5998 (*subdi3_insn_sp32): Likewise.
5999 (*subdi3_extend_sp32): Likewise.
6000 (*and_not_di_sp32): Likewise.
6001 (*or_not_di_sp32): Likewise.
6002 (*xor_not_di_sp32): Likewise.
6003 (*negdi2_sp32): Likewise.
6004 (*one_cmpldi2_sp32): Likewise.
6005
6006 2015-06-11 Pierre-Marie de Rodat <derodat@adacore.com>
6007
6008 * debug.h (struct gcc_debug_hooks): Add a
6009 register_main_translation_unit hook.
6010 * debug.c (do_nothing_debug_hooks): Provide a function for this
6011 new hook.
6012 * dbxout.c (dbx_debug_hooks): Likewise.
6013 * sdbout.c (sdb_debug_hooks): Likewise.
6014 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
6015 * dwarf2out.c (main_translation_unit): New global variable.
6016 (dwarf2out_register_main_translation_unit): New function
6017 implementing the new hook.
6018 (dwarf2_debug_hooks): Assign
6019 dwarf2out_register_main_translation_unit to this new hook.
6020 (dwarf2out_init): Associate any main translation unit to
6021 comp_unit_die ().
6022
6023 2015-06-11 Marek Polacek <polacek@redhat.com>
6024
6025 * match.pd ((x & y) ^ (x | y) -> x ^ y): New pattern.
6026
6027 2015-06-11 Marek Polacek <polacek@redhat.com>
6028
6029 * match.pd: Use single_use throughout.
6030
6031 2015-06-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6032
6033 * config/arm/arm.c (arm_option_params_internal): When optimising
6034 for speed set max_insns_skipped when arm_restrict_it.
6035
6036 2015-06-11 Christian Bruel <christian.bruel@st.com>
6037
6038 PR target/52144
6039 * config/arm/arm-c.c (arm_cpu_cpp_builtins): Conditionally define
6040 macros in ...
6041 (arm_cpu_builtins): New function.
6042 (arm_pragma_target_parse): Call arm_cpu_builtins.
6043 * config/arm/arm-protos.h (arm_cpu_builtins): Declare.
6044 (arm_register_target_pragmas): Likewise.
6045 * config/arm/arm.h (REGISTER_TARGET_PRAGMAS):
6046 Call arm_register_target_pragmas.
6047 * config/arm/arm-c.c (arm_register_target_pragmas): New function.
6048 (arm_pragma_target_parse): Likewise.
6049
6050 2015-06-10 Kaz Kojima <kkojima@gcc.gnu.org>
6051
6052 * config/sh/sh.md (tstsi_t): Add '?' modifier to 'r' alternative
6053 of the second operand.
6054
6055 2015-06-10 Uros Bizjak <ubizjak@gmail.com>
6056
6057 PR target/66473
6058 * config/i386/i386.c (ix86_expand_vector_set): Use gen_int_mode
6059 to prepare mask operand for AVX512 modes.
6060
6061 2015-06-10 Michael Meissner <meissner@linux.vnet.ibm.com>
6062
6063 PR target/66474
6064 * doc/md.texi (Machine Constraints): Document that on the PowerPC
6065 if you use a constraint that targets a VSX register, you must use
6066 %x<n> in the template.
6067
6068 2015-06-10 Max Filippov <jcmvbkbc@gmail.com>
6069
6070 * config/xtensa/xtensa.h (TARGET_DEBUG): New definition.
6071 * config/xtensa/xtensa.md (define_attr "type"): New type "trap".
6072 (define_insn "trap"): New definition.
6073
6074 2015-06-10 Richard Biener <rguenther@suse.de>
6075
6076 * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Split
6077 out from ...
6078 (vect_supported_load_permutation_p): ... here. Handle
6079 supportable permutations in reductions.
6080 * tree-vect-stmts.c (vectorizable_load): Handle SLP permutations
6081 for vectorizing strided group loads.
6082
6083 2015-06-10 Jakub Jelinek <jakub@redhat.com>
6084
6085 PR target/66470
6086 * config/i386/i386.c (ix86_split_long_move): For collisions
6087 involving direct tls segment refs, move the UNSPEC_TP possibly
6088 wrapped in ZERO_EXTEND out of the address for lea, to each of
6089 the memory loads.
6090
6091 2015-06-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
6092
6093 * config/arm/sync.md (*memory_barrier): Use dmb ish instead of
6094 dmb sy. Adjust tabs.
6095
6096 2015-06-10 Tom de Vries <tom@codesourcery.com>
6097
6098 * omp-low.c (expand_omp_target): Remove duplicate declaration of node.
6099
6100 2015-06-10 Martin Liska <mliska@suse.cz>
6101
6102 PR bootstrap/66471
6103 * mem-stats-traits.h (enum mem_alloc_origin): Add _ORIGIN suffix for
6104 all enum values in mem_alloc_origin.
6105 * alloc-pool.c (dump_alloc_pool_statistics): Use newly changed enum
6106 name.
6107 * alloc-pool.h (pool_allocator::pool_allocator): Likewise.
6108 * bitmap.c (bitmap_register): Likewise.
6109 (dump_bitmap_statistics): Likewise.
6110 * ggc-common.c (dump_ggc_loc_statistics): Likewise.
6111 (ggc_record_overhead): Likewise.
6112 * hash-map.h: Likewise.
6113 * hash-set.h: Likewise.
6114 * hash-table.c (void dump_hash_table_loc_statistics): Likewise.
6115 * hash-table.h: Likewise.
6116 * vec.c (vec_prefix::register_overhead): Likewise.
6117 (vec_prefix::release_overhead): Likewise.
6118 (dump_vec_loc_statistics): Likewise.
6119
6120 2015-06-09 Christian Bruel <christian.bruel@st.com>
6121
6122 PR target/52144
6123 * config/arm/arm.opt (THUMB, arm_restrict_it, inline_asm_unified): Save.
6124 * config/arm/arm-protos.h (arm_valid_target_attribute_tree): Declare.
6125 (arm_reset_previous_fndecl, arm_change_mode_p): Likewise.
6126 * config/arm/arm.h (SWITCHABLE_TARGET): Define.
6127 * config/arm/arm.c (arm_reset_previous_fndecl): New functions.
6128 (arm_valid_target_attribute_tree, arm_change_mode_p): Likewise.
6129 (arm_valid_target_attribute_p): Likewise.
6130 (arm_set_current_function, arm_can_inline_p): Likewise.
6131 (arm_valid_target_attribute_rec): Likewise.
6132 (arm_previous_fndecl): New variable.
6133 (TARGET_SET_CURRENT_FUNCTION, TARGET_OPTION_VALID_ATTRIBUTE_P): Define.
6134 (TARGET_CAN_INLINE_P): Define.
6135 (arm_asm_trampoline_template): Emit mode.
6136 (arm_file_start): Don't set unified syntax.
6137 (arm_declare_function_name): Set unified syntax and mode.
6138 (arm_option_override): Init target_option_default_node.
6139 and target_option_current_node.
6140 * config/arm/arm.md (*call_value_symbol): Set mode when possible.
6141 (*call_symbol): Likewise.
6142 * doc/extend.texi: Document ARM/Thumb target attribute.
6143 * doc/invoke.texi: Likewise.
6144
6145 2015-06-09 Alexandre Oliva <aoliva@redhat.com>
6146
6147 Revert:
6148 2015-06-09 Alexandre Oliva <aoliva@redhat.com>
6149 PR rtl-optimization/64164
6150 * Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
6151 * tree-ssa-copyrename.c: Removed.
6152 * opts.c (default_options_table): Drop -ftree-copyrename. Add
6153 -ftree-coalesce-vars.
6154 * passes.def: Drop all occurrences of pass_rename_ssa_copies.
6155 * common.opt (ftree-copyrename): Ignore.
6156 (ftree-coalesce-inlined-vars): Likewise.
6157 * doc/invoke.texi: Remove the ignored options above.
6158 * gimple-expr.h (gimple_can_coalesce_p): Move declaration
6159 * tree-ssa-coalesce.h: ... here.
6160 * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
6161 headers required by it.
6162 * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
6163 across variables when flag_tree_coalesce_vars. Check register
6164 use and promoted modes to allow coalescing. Moved to
6165 tree-ssa-coalesce.c.
6166 * tree-ssa-live.c (struct tree_int_map_hasher): Move along
6167 with its member functions to tree-ssa-coalesce.c.
6168 (var_map_base_init): Likewise. Renamed to
6169 compute_samebase_partition_bases.
6170 (partition_view_normal): Drop want_bases parameter.
6171 (partition_view_bitmap): Likewise.
6172 * tree-ssa-live.h: Adjust declarations.
6173 * tree-ssa-coalesce.c: Include explow.h.
6174 (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
6175 default defs at the entry point.
6176 (dump_part_var_map): New.
6177 (compute_optimized_partition_bases): New, called by...
6178 (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
6179 of compute_samebase_partition_bases. Adjust.
6180 * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
6181 * cfgexpand.c (leader_merge): New.
6182 (get_rtl_for_parm_ssa_default_def): New.
6183 (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
6184 vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
6185 (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
6186 redundant MEM attr setting.
6187 (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
6188 from...
6189 (expand_one_stack_var): ... this. New wrapper to check and
6190 skip already expanded SSA partitions.
6191 (record_alignment_for_reg_var): New, factored out of...
6192 (expand_one_var): ... this.
6193 (expand_one_ssa_partition): New.
6194 (adjust_one_expanded_partition_var): New.
6195 (expand_one_register_var): Check and skip already expanded SSA
6196 partitions.
6197 (expand_used_vars): Don't create DECLs for anonymous SSA
6198 names. Expand all SSA partitions, then adjust all SSA names.
6199 (pass::execute): Replace the loops that set
6200 SA.partition_to_pseudo from partition leaders and cleared
6201 DECL_RTL for multi-location variables, and that which used to
6202 rename vars and set attrs, with one that clears DECL_RTL and
6203 checks that PARMs and RESULTs default_defs match DECL_RTL.
6204 * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
6205 * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl.
6206 * explow.c (promote_ssa_mode): New.
6207 * explow.h (promote_ssa_mode): Declare.
6208 * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
6209 * function.c: Include cfgexpand.h.
6210 (use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
6211 (use_register_for_parm_decl): Wrapper for the above to
6212 special-case the result_ptr.
6213 (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
6214 (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
6215 multiple locations.
6216 (assign_parm_adjust_stack_rtl): Add all and parm arguments,
6217 for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
6218 (assign_parm_setup_block): Prefer SSA-assigned location.
6219 (assign_parm_setup_reg): Likewise. Use entry_parm for equiv
6220 if stack_parm is NULL.
6221 (assign_parm_setup_stack): Prefer SSA-assigned location.
6222 (assign_parms): Maybe reset DECL_RTL of params. Adjust stack
6223 rtl before testing for pointer bounds. Special-case result_ptr.
6224 (expand_function_start): Maybe reset DECL_RTL of result.
6225 Prefer SSA-assigned location for result and static chain.
6226 Factor out DECL_RESULT and SET_DECL_RTL.
6227 * tree-outof-ssa.c (insert_value_copy_on_edge): Handle
6228 anonymous SSA names. Use promote_ssa_mode.
6229 (get_temp_reg): Likewise.
6230 (remove_ssa_form): Adjust.
6231 * var-tracking.c (dataflow_set_clear_at_call): Take call_insn
6232 and get its reg_usage for reg invalidation.
6233 (compute_bb_dataflow): Pass it insn.
6234 (emit_notes_in_bb): Likewise.
6235 * tree-ssa-loop-niter.c (loop_exits_before_overflow): Don't
6236 fail assert on conversion between unsigned types.
6237
6238 2015-06-09 Tom de Vries <tom@codesourcery.com>
6239
6240 PR tree-optimization/65460
6241 * omp-low.c (expand_omp_target): Set parallelized_function on
6242 cgraph_node for child_fn.
6243
6244 2015-06-09 Tom de Vries <tom@codesourcery.com>
6245
6246 * omp-low.c (finalize_task_copyfn, expand_omp_taskreg): Mark function
6247 parallelized_function before add_new_function.
6248
6249 2015-06-09 Andrew MacLeod <amacleod@redhat.com>
6250
6251 * gcc-plugin.h: Move decls to plugin.h and include it.
6252 * plugin.h: Relocate decls from gcc-plugin.h
6253 * ggc-page.c: Include required header files.
6254 * passes.c: Likewise.
6255 * cgraphunit.c: Likewise.
6256
6257 2015-06-09 Tom de Vries <tom@codesourcery.com>
6258
6259 * tree-stdarg.c (expand_ifn_va_arg_1): Handle location.
6260
6261 2015-06-09 Jason Merrill <jason@redhat.com>
6262
6263 PR bootstrap/66448
6264 * toplev.c (check_global_declaration): Don't warn about a clone.
6265
6266 2015-06-09 Marek Polacek <polacek@redhat.com>
6267
6268 PR tree-optimization/66299
6269 * match.pd ((CST1 << A) == CST2 -> A == ctz (CST2) - ctz (CST1)
6270 ((CST1 << A) != CST2 -> A != ctz (CST2) - ctz (CST1)): New
6271 patterns.
6272
6273 2015-06-09 Richard Biener <rguenther@suse.de>
6274
6275 * tree-vect-slp.c (vect_build_slp_tree_1): Remove bailout on gaps.
6276 (vect_analyze_slp_instance): Instead do not falsely drop
6277 load permutations.
6278
6279 2015-06-09 Richard Biener <rguenther@suse.de>
6280
6281 PR middle-end/66423
6282 * match.pd: Handle A % (unsigned)(1 << B).
6283
6284 2015-06-09 Aldy Hernandez <aldyh@redhat.com>
6285
6286 * varasm.c (output_object_block_htab): Remove.
6287 (output_object_block_compare): New.
6288 (output_object_blocks): Sort named object_blocks before outputting
6289 them.
6290
6291 2015-06-09 Richard Biener <rguenther@suse.de>
6292
6293 PR tree-optimization/66419
6294 * tree-vect-slp.c (vect_supported_load_permutation_p): Properly
6295 consider GROUP_GAP when detecting a perfect subchain.
6296
6297 2015-06-09 Nick Clifton <nickc@redhat.com>
6298
6299 * config/rl78/rl78.c (rl78_select_section): When -mes0 is active
6300 place read only data in the .frodata section.
6301
6302 2015-06-09 Shiva Chen <shiva0217@gmail.com>
6303
6304 * sync.md (atomic_load<mode>): Add conditional code for lda/ldr
6305 (atomic_store<mode>): Likewise.
6306
6307 2015-06-09 Richard Biener <rguenther@suse.de>
6308
6309 * cfgloop.c (get_loop_body_in_bfs_order): Fix assert.
6310
6311 2015-06-09 Richard Biener <rguenther@suse.de>
6312
6313 PR middle-end/66413
6314 * tree-inline.c (insert_init_debug_bind): Unshare value.
6315
6316 2015-06-09 Richard Biener <rguenther@suse.de>
6317
6318 PR tree-optimization/66396
6319 * graphite-isl-ast-to-gimple.c (graphite_regenerate_ast_isl):
6320 Rename virtual operands.
6321
6322 2015-06-09 Tom de Vries <tom@codesourcery.com>
6323
6324 * gimple-iterator.h (gimple_seq_nondebug_singleton_p): Don't
6325 always return false.
6326
6327 2015-06-09 Alexandre Oliva <aoliva@redhat.com>
6328
6329 PR rtl-optimization/64164
6330 * Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
6331 * tree-ssa-copyrename.c: Removed.
6332 * opts.c (default_options_table): Drop -ftree-copyrename. Add
6333 -ftree-coalesce-vars.
6334 * passes.def: Drop all occurrences of pass_rename_ssa_copies.
6335 * common.opt (ftree-copyrename): Ignore.
6336 (ftree-coalesce-inlined-vars): Likewise.
6337 * doc/invoke.texi: Remove the ignored options above.
6338 * gimple-expr.h (gimple_can_coalesce_p): Move declaration
6339 * tree-ssa-coalesce.h: ... here.
6340 * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
6341 headers required by it.
6342 * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
6343 across variables when flag_tree_coalesce_vars. Check register
6344 use and promoted modes to allow coalescing. Moved to
6345 tree-ssa-coalesce.c.
6346 * tree-ssa-live.c (struct tree_int_map_hasher): Move along
6347 with its member functions to tree-ssa-coalesce.c.
6348 (var_map_base_init): Likewise. Renamed to
6349 compute_samebase_partition_bases.
6350 (partition_view_normal): Drop want_bases parameter.
6351 (partition_view_bitmap): Likewise.
6352 * tree-ssa-live.h: Adjust declarations.
6353 * tree-ssa-coalesce.c: Include explow.h.
6354 (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
6355 default defs at the entry point.
6356 (dump_part_var_map): New.
6357 (compute_optimized_partition_bases): New, called by...
6358 (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
6359 of compute_samebase_partition_bases. Adjust.
6360 * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
6361 * cfgexpand.c (leader_merge): New.
6362 (get_rtl_for_parm_ssa_default_def): New.
6363 (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
6364 vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
6365 (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
6366 redundant MEM attr setting.
6367 (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
6368 from...
6369 (expand_one_stack_var): ... this. New wrapper to check and
6370 skip already expanded SSA partitions.
6371 (record_alignment_for_reg_var): New, factored out of...
6372 (expand_one_var): ... this.
6373 (expand_one_ssa_partition): New.
6374 (adjust_one_expanded_partition_var): New.
6375 (expand_one_register_var): Check and skip already expanded SSA
6376 partitions.
6377 (expand_used_vars): Don't create DECLs for anonymous SSA
6378 names. Expand all SSA partitions, then adjust all SSA names.
6379 (pass::execute): Replace the loops that set
6380 SA.partition_to_pseudo from partition leaders and cleared
6381 DECL_RTL for multi-location variables, and that which used to
6382 rename vars and set attrs, with one that clears DECL_RTL and
6383 checks that PARMs and RESULTs default_defs match DECL_RTL.
6384 * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
6385 * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl.
6386 * explow.c (promote_ssa_mode): New.
6387 * explow.h (promote_ssa_mode): Declare.
6388 * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
6389 * function.c: Include cfgexpand.h.
6390 (use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
6391 (use_register_for_parm_decl): Wrapper for the above to
6392 special-case the result_ptr.
6393 (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
6394 (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
6395 multiple locations.
6396 (assign_parm_adjust_stack_rtl): Add all and parm arguments,
6397 for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
6398 (assign_parm_setup_block): Prefer SSA-assigned location.
6399 (assign_parm_setup_reg): Likewise. Use entry_parm for equiv
6400 if stack_parm is NULL.
6401 (assign_parm_setup_stack): Prefer SSA-assigned location.
6402 (assign_parms): Maybe reset DECL_RTL of params. Adjust stack
6403 rtl before testing for pointer bounds. Special-case result_ptr.
6404 (expand_function_start): Maybe reset DECL_RTL of result.
6405 Prefer SSA-assigned location for result and static chain.
6406 Factor out DECL_RESULT and SET_DECL_RTL.
6407 * tree-outof-ssa.c (insert_value_copy_on_edge): Handle
6408 anonymous SSA names. Use promote_ssa_mode.
6409 (get_temp_reg): Likewise.
6410 (remove_ssa_form): Adjust.
6411 * var-tracking.c (dataflow_set_clear_at_call): Take call_insn
6412 and get its reg_usage for reg invalidation.
6413 (compute_bb_dataflow): Pass it insn.
6414 (emit_notes_in_bb): Likewise.
6415 * tree-ssa-loop-niter.c (loop_exits_before_overflow): Don't
6416 fail assert on conversion between unsigned types.
6417
6418 2015-06-09 Alexandre Oliva <aoliva@redhat.com>
6419
6420 PR debug/58315
6421 * tree-inline.c (reset_debug_binding): New.
6422 (reset_debug_bindings): Likewise.
6423 (expand_call_inline): Call it.
6424
6425 2015-06-08 Jan Hubicka <hubicka@ucw.cz>
6426
6427 * tree.c (gimple_canonical_types_compatible_p): Drop comparsion of
6428 TYPE_STRING_FLAG.
6429
6430 2015-06-08 Jan Hubicka <hubicka@ucw.cz>
6431
6432 * lto-streamer-out.c (lto_output_location): Stream
6433 reserved locations correctly.
6434 * lto-streamer-in.c (lto_output_location): Likewise.
6435
6436 2015-06-08 Andrew MacLeod <amacleod@redhat.com>
6437
6438 * coretypes.h: Include hash-table.h and hash-set.h for host files.
6439 * ggc.h: Don't include statistics.h>
6440 * hash-map.h: Remove all includes.
6441 * hash-set.h: Likewise.
6442 * hash-table.h: Add statistics.h, inchash.h and hash-map-traits.h to
6443 the include list. Remove <new>.
6444 * inchash.h: Remove all includes.
6445 * mem-stats.h: Likewise.
6446 * vec.h: No special processing for generators or ggc.
6447 * alias.c : Adjust include files.
6448 * alloc-pool.c : Likewise.
6449 * alloc-pool.h : Likewise.
6450 * asan.c : Likewise.
6451 * attribs.c : Likewise.
6452 * auto-inc-dec.c : Likewise.
6453 * auto-profile.c : Likewise.
6454 * bb-reorder.c : Likewise.
6455 * bitmap.c : Likewise.
6456 * bitmap.h : Likewise.
6457 * bt-load.c : Likewise.
6458 * builtins.c : Likewise.
6459 * caller-save.c : Likewise.
6460 * calls.c : Likewise.
6461 * ccmp.c : Likewise.
6462 * cfg.c : Likewise.
6463 * cfganal.c : Likewise.
6464 * cfgbuild.c : Likewise.
6465 * cfgcleanup.c : Likewise.
6466 * cfgexpand.c : Likewise.
6467 * cfghooks.c : Likewise.
6468 * cfgloop.c : Likewise.
6469 * cfgloop.h : Likewise.
6470 * cfgloopanal.c : Likewise.
6471 * cfgloopmanip.c : Likewise.
6472 * cfgrtl.c : Likewise.
6473 * cgraph.c : Likewise.
6474 * cgraphbuild.c : Likewise.
6475 * cgraphclones.c : Likewise.
6476 * cgraphunit.c : Likewise.
6477 * cilk-common.c : Likewise.
6478 * combine-stack-adj.c : Likewise.
6479 * combine.c : Likewise.
6480 * compare-elim.c : Likewise.
6481 * context.c : Likewise.
6482 * convert.c : Likewise.
6483 * coverage.c : Likewise.
6484 * cppbuiltin.c : Likewise.
6485 * cprop.c : Likewise.
6486 * cse.c : Likewise.
6487 * cselib.c : Likewise.
6488 * data-streamer-in.c : Likewise.
6489 * data-streamer-out.c : Likewise.
6490 * data-streamer.c : Likewise.
6491 * data-streamer.h : Likewise.
6492 * dbxout.c : Likewise.
6493 * dce.c : Likewise.
6494 * ddg.c : Likewise.
6495 * debug.c : Likewise.
6496 * df-core.c : Likewise.
6497 * df-problems.c : Likewise.
6498 * df-scan.c : Likewise.
6499 * df.h : Likewise.
6500 * dfp.c : Likewise.
6501 * dojump.c : Likewise.
6502 * dominance.c : Likewise.
6503 * domwalk.c : Likewise.
6504 * double-int.c : Likewise.
6505 * dse.c : Likewise.
6506 * dumpfile.c : Likewise.
6507 * dwarf2asm.c : Likewise.
6508 * dwarf2cfi.c : Likewise.
6509 * dwarf2out.c : Likewise.
6510 * emit-rtl.c : Likewise.
6511 * et-forest.c : Likewise.
6512 * except.c : Likewise.
6513 * except.h : Likewise.
6514 * explow.c : Likewise.
6515 * expmed.c : Likewise.
6516 * expr.c : Likewise.
6517 * final.c : Likewise.
6518 * fixed-value.c : Likewise.
6519 * fold-const.c : Likewise.
6520 * function.c : Likewise.
6521 * fwprop.c : Likewise.
6522 * gcc-plugin.h : Likewise.
6523 * gcc.c : Likewise.
6524 * gcse-common.c : Likewise.
6525 * gcse.c : Likewise.
6526 * genattrtab.c : Likewise.
6527 * genautomata.c : Likewise.
6528 * genconditions.c : Likewise.
6529 * genemit.c : Likewise.
6530 * generic-match-head.c : Likewise.
6531 * genextract.c : Likewise.
6532 * gengtype-state.c : Likewise.
6533 * gengtype.c : Likewise.
6534 * genhooks.c : Likewise.
6535 * genmatch.c : Likewise.
6536 * genmodes.c : Likewise.
6537 * genrecog.c : Likewise.
6538 * gensupport.c : Likewise.
6539 * ggc-common.c : Likewise.
6540 * ggc-internal.h : Likewise.
6541 * ggc-none.c : Likewise.
6542 * ggc-page.c : Likewise.
6543 * gimple-builder.c : Likewise.
6544 * gimple-expr.c : Likewise.
6545 * gimple-fold.c : Likewise.
6546 * gimple-iterator.c : Likewise.
6547 * gimple-low.c : Likewise.
6548 * gimple-match-head.c : Likewise.
6549 * gimple-pretty-print.c : Likewise.
6550 * gimple-ssa-isolate-paths.c : Likewise.
6551 * gimple-ssa-strength-reduction.c : Likewise.
6552 * gimple-ssa.h : Likewise.
6553 * gimple-streamer-in.c : Likewise.
6554 * gimple-streamer-out.c : Likewise.
6555 * gimple-streamer.h : Likewise.
6556 * gimple-walk.c : Likewise.
6557 * gimple.c : Likewise.
6558 * gimplify-me.c : Likewise.
6559 * gimplify.c : Likewise.
6560 * godump.c : Likewise.
6561 * graph.c : Likewise.
6562 * graphds.c : Likewise.
6563 * graphite-blocking.c : Likewise.
6564 * graphite-dependences.c : Likewise.
6565 * graphite-interchange.c : Likewise.
6566 * graphite-isl-ast-to-gimple.c : Likewise.
6567 * graphite-optimize-isl.c : Likewise.
6568 * graphite-poly.c : Likewise.
6569 * graphite-scop-detection.c : Likewise.
6570 * graphite-sese-to-poly.c : Likewise.
6571 * graphite.c : Likewise.
6572 * haifa-sched.c : Likewise.
6573 * hard-reg-set.h : Likewise.
6574 * hw-doloop.c : Likewise.
6575 * ifcvt.c : Likewise.
6576 * inchash.c : Likewise.
6577 * incpath.c : Likewise.
6578 * init-regs.c : Likewise.
6579 * input.c : Likewise.
6580 * internal-fn.c : Likewise.
6581 * ipa-chkp.c : Likewise.
6582 * ipa-comdats.c : Likewise.
6583 * ipa-cp.c : Likewise.
6584 * ipa-devirt.c : Likewise.
6585 * ipa-icf-gimple.c : Likewise.
6586 * ipa-icf.c : Likewise.
6587 * ipa-inline-analysis.c : Likewise.
6588 * ipa-inline-transform.c : Likewise.
6589 * ipa-inline.c : Likewise.
6590 * ipa-polymorphic-call.c : Likewise.
6591 * ipa-profile.c : Likewise.
6592 * ipa-prop.c : Likewise.
6593 * ipa-pure-const.c : Likewise.
6594 * ipa-ref.c : Likewise.
6595 * ipa-reference.c : Likewise.
6596 * ipa-split.c : Likewise.
6597 * ipa-utils.c : Likewise.
6598 * ipa-visibility.c : Likewise.
6599 * ipa.c : Likewise.
6600 * ira-build.c : Likewise.
6601 * ira-color.c : Likewise.
6602 * ira-conflicts.c : Likewise.
6603 * ira-costs.c : Likewise.
6604 * ira-emit.c : Likewise.
6605 * ira-lives.c : Likewise.
6606 * ira.c : Likewise.
6607 * jump.c : Likewise.
6608 * langhooks.c : Likewise.
6609 * lcm.c : Likewise.
6610 * libfuncs.h : Likewise.
6611 * lists.c : Likewise.
6612 * loop-doloop.c : Likewise.
6613 * loop-init.c : Likewise.
6614 * loop-invariant.c : Likewise.
6615 * loop-iv.c : Likewise.
6616 * loop-unroll.c : Likewise.
6617 * lower-subreg.c : Likewise.
6618 * lra-assigns.c : Likewise.
6619 * lra-coalesce.c : Likewise.
6620 * lra-constraints.c : Likewise.
6621 * lra-eliminations.c : Likewise.
6622 * lra-lives.c : Likewise.
6623 * lra-remat.c : Likewise.
6624 * lra-spills.c : Likewise.
6625 * lra.c : Likewise.
6626 * lto-cgraph.c : Likewise.
6627 * lto-compress.c : Likewise.
6628 * lto-opts.c : Likewise.
6629 * lto-section-in.c : Likewise.
6630 * lto-section-out.c : Likewise.
6631 * lto-streamer-in.c : Likewise.
6632 * lto-streamer-out.c : Likewise.
6633 * lto-streamer.c : Likewise.
6634 * lto-streamer.h : Likewise.
6635 * mcf.c : Likewise.
6636 * mode-switching.c : Likewise.
6637 * modulo-sched.c : Likewise.
6638 * omega.c : Likewise.
6639 * omp-low.c : Likewise.
6640 * optabs.c : Likewise.
6641 * opts-global.c : Likewise.
6642 * opts.h : Likewise.
6643 * passes.c : Likewise.
6644 * plugin.c : Likewise.
6645 * postreload-gcse.c : Likewise.
6646 * postreload.c : Likewise.
6647 * predict.c : Likewise.
6648 * print-rtl.c : Likewise.
6649 * print-tree.c : Likewise.
6650 * profile.c : Likewise.
6651 * read-md.c : Likewise.
6652 * read-md.h : Likewise.
6653 * read-rtl.c : Likewise.
6654 * real.c : Likewise.
6655 * realmpfr.c : Likewise.
6656 * recog.c : Likewise.
6657 * ree.c : Likewise.
6658 * reg-stack.c : Likewise.
6659 * regcprop.c : Likewise.
6660 * reginfo.c : Likewise.
6661 * regrename.c : Likewise.
6662 * regstat.c : Likewise.
6663 * reload.c : Likewise.
6664 * reload1.c : Likewise.
6665 * reorg.c : Likewise.
6666 * resource.c : Likewise.
6667 * rtl-chkp.c : Likewise.
6668 * rtl.c : Likewise.
6669 * rtl.h : Likewise.
6670 * rtlanal.c : Likewise.
6671 * rtlhash.c : Likewise.
6672 * rtlhash.h : Likewise.
6673 * rtlhooks.c : Likewise.
6674 * sanopt.c : Likewise.
6675 * sched-deps.c : Likewise.
6676 * sched-ebb.c : Likewise.
6677 * sched-rgn.c : Likewise.
6678 * sched-vis.c : Likewise.
6679 * sdbout.c : Likewise.
6680 * sel-sched-dump.c : Likewise.
6681 * sel-sched-ir.c : Likewise.
6682 * sel-sched-ir.h : Likewise.
6683 * sel-sched.c : Likewise.
6684 * sese.c : Likewise.
6685 * shrink-wrap.c : Likewise.
6686 * shrink-wrap.h : Likewise.
6687 * simplify-rtx.c : Likewise.
6688 * stack-ptr-mod.c : Likewise.
6689 * statistics.c : Likewise.
6690 * stmt.c : Likewise.
6691 * stor-layout.c : Likewise.
6692 * store-motion.c : Likewise.
6693 * stringpool.c : Likewise.
6694 * symtab.c : Likewise.
6695 * target-globals.c : Likewise.
6696 * targhooks.c : Likewise.
6697 * tlink.c : Likewise.
6698 * toplev.c : Likewise.
6699 * tracer.c : Likewise.
6700 * trans-mem.c : Likewise.
6701 * tree-affine.c : Likewise.
6702 * tree-affine.h : Likewise.
6703 * tree-browser.c : Likewise.
6704 * tree-call-cdce.c : Likewise.
6705 * tree-cfg.c : Likewise.
6706 * tree-cfgcleanup.c : Likewise.
6707 * tree-chkp-opt.c : Likewise.
6708 * tree-chkp.c : Likewise.
6709 * tree-chrec.c : Likewise.
6710 * tree-complex.c : Likewise.
6711 * tree-data-ref.c : Likewise.
6712 * tree-dfa.c : Likewise.
6713 * tree-diagnostic.c : Likewise.
6714 * tree-dump.c : Likewise.
6715 * tree-eh.c : Likewise.
6716 * tree-eh.h : Likewise.
6717 * tree-emutls.c : Likewise.
6718 * tree-hasher.h : Likewise.
6719 * tree-if-conv.c : Likewise.
6720 * tree-inline.c : Likewise.
6721 * tree-inline.h : Likewise.
6722 * tree-into-ssa.c : Likewise.
6723 * tree-iterator.c : Likewise.
6724 * tree-loop-distribution.c : Likewise.
6725 * tree-nested.c : Likewise.
6726 * tree-nrv.c : Likewise.
6727 * tree-object-size.c : Likewise.
6728 * tree-outof-ssa.c : Likewise.
6729 * tree-parloops.c : Likewise.
6730 * tree-phinodes.c : Likewise.
6731 * tree-predcom.c : Likewise.
6732 * tree-pretty-print.c : Likewise.
6733 * tree-profile.c : Likewise.
6734 * tree-scalar-evolution.c : Likewise.
6735 * tree-sra.c : Likewise.
6736 * tree-ssa-address.c : Likewise.
6737 * tree-ssa-alias.c : Likewise.
6738 * tree-ssa-ccp.c : Likewise.
6739 * tree-ssa-coalesce.c : Likewise.
6740 * tree-ssa-copy.c : Likewise.
6741 * tree-ssa-copyrename.c : Likewise.
6742 * tree-ssa-dce.c : Likewise.
6743 * tree-ssa-dom.c : Likewise.
6744 * tree-ssa-dse.c : Likewise.
6745 * tree-ssa-forwprop.c : Likewise.
6746 * tree-ssa-ifcombine.c : Likewise.
6747 * tree-ssa-live.c : Likewise.
6748 * tree-ssa-loop-ch.c : Likewise.
6749 * tree-ssa-loop-im.c : Likewise.
6750 * tree-ssa-loop-ivcanon.c : Likewise.
6751 * tree-ssa-loop-ivopts.c : Likewise.
6752 * tree-ssa-loop-manip.c : Likewise.
6753 * tree-ssa-loop-niter.c : Likewise.
6754 * tree-ssa-loop-prefetch.c : Likewise.
6755 * tree-ssa-loop-unswitch.c : Likewise.
6756 * tree-ssa-loop.c : Likewise.
6757 * tree-ssa-math-opts.c : Likewise.
6758 * tree-ssa-operands.c : Likewise.
6759 * tree-ssa-phiopt.c : Likewise.
6760 * tree-ssa-phiprop.c : Likewise.
6761 * tree-ssa-pre.c : Likewise.
6762 * tree-ssa-propagate.c : Likewise.
6763 * tree-ssa-reassoc.c : Likewise.
6764 * tree-ssa-sccvn.c : Likewise.
6765 * tree-ssa-scopedtables.c : Likewise.
6766 * tree-ssa-sink.c : Likewise.
6767 * tree-ssa-strlen.c : Likewise.
6768 * tree-ssa-structalias.c : Likewise.
6769 * tree-ssa-tail-merge.c : Likewise.
6770 * tree-ssa-ter.c : Likewise.
6771 * tree-ssa-threadedge.c : Likewise.
6772 * tree-ssa-threadupdate.c : Likewise.
6773 * tree-ssa-uncprop.c : Likewise.
6774 * tree-ssa-uninit.c : Likewise.
6775 * tree-ssa.c : Likewise.
6776 * tree-ssanames.c : Likewise.
6777 * tree-stdarg.c : Likewise.
6778 * tree-streamer-in.c : Likewise.
6779 * tree-streamer-out.c : Likewise.
6780 * tree-streamer.c : Likewise.
6781 * tree-streamer.h : Likewise.
6782 * tree-switch-conversion.c : Likewise.
6783 * tree-tailcall.c : Likewise.
6784 * tree-vect-data-refs.c : Likewise.
6785 * tree-vect-generic.c : Likewise.
6786 * tree-vect-loop-manip.c : Likewise.
6787 * tree-vect-loop.c : Likewise.
6788 * tree-vect-patterns.c : Likewise.
6789 * tree-vect-slp.c : Likewise.
6790 * tree-vect-stmts.c : Likewise.
6791 * tree-vectorizer.c : Likewise.
6792 * tree-vectorizer.h : Likewise.
6793 * tree-vrp.c : Likewise.
6794 * tree.c : Likewise.
6795 * tsan.c : Likewise.
6796 * ubsan.c : Likewise.
6797 * valtrack.c : Likewise.
6798 * valtrack.h : Likewise.
6799 * value-prof.c : Likewise.
6800 * var-tracking.c : Likewise.
6801 * varasm.c : Likewise.
6802 * varpool.c : Likewise.
6803 * vec.c: Likewise.
6804 * vmsdbgout.c : Likewise.
6805 * vtable-verify.c : Likewise.
6806 * vtable-verify.h : Likewise.
6807 * web.c : Likewise.
6808 * wide-int.cc : Likewise.
6809 * xcoffout.c : Likewise.
6810 * config/aarch64/aarch64-builtins.c : Likewise.
6811 * config/aarch64/aarch64.c : Likewise.
6812 * config/aarch64/cortex-a57-fma-steering.c : Likewise.
6813 * config/alpha/alpha.c : Likewise.
6814 * config/arc/arc.c : Likewise.
6815 * config/arm/aarch-common.c : Likewise.
6816 * config/arm/arm-builtins.c : Likewise.
6817 * config/arm/arm-c.c : Likewise.
6818 * config/arm/arm.c : Likewise.
6819 * config/avr/avr-c.c : Likewise.
6820 * config/avr/avr-log.c : Likewise.
6821 * config/avr/avr.c : Likewise.
6822 * config/bfin/bfin.c : Likewise.
6823 * config/c6x/c6x.c : Likewise.
6824 * config/cr16/cr16.c : Likewise.
6825 * config/cris/cris.c : Likewise.
6826 * config/darwin-c.c : Likewise.
6827 * config/darwin.c : Likewise.
6828 * config/default-c.c : Likewise.
6829 * config/epiphany/epiphany.c : Likewise.
6830 * config/epiphany/mode-switch-use.c : Likewise.
6831 * config/epiphany/resolve-sw-modes.c : Likewise.
6832 * config/fr30/fr30.c : Likewise.
6833 * config/frv/frv.c : Likewise.
6834 * config/ft32/ft32.c : Likewise.
6835 * config/glibc-c.c : Likewise.
6836 * config/h8300/h8300.c : Likewise.
6837 * config/i386/i386-c.c : Likewise.
6838 * config/i386/i386.c : Likewise.
6839 * config/i386/msformat-c.c : Likewise.
6840 * config/i386/winnt-cxx.c : Likewise.
6841 * config/i386/winnt-stubs.c : Likewise.
6842 * config/i386/winnt.c : Likewise.
6843 * config/ia64/ia64-c.c : Likewise.
6844 * config/ia64/ia64.c : Likewise.
6845 * config/iq2000/iq2000.c : Likewise.
6846 * config/lm32/lm32.c : Likewise.
6847 * config/m32c/m32c-pragma.c : Likewise.
6848 * config/m32c/m32c.c : Likewise.
6849 * config/m32r/m32r.c : Likewise.
6850 * config/m68k/m68k.c : Likewise.
6851 * config/mcore/mcore.c : Likewise.
6852 * config/mep/mep-pragma.c : Likewise.
6853 * config/mep/mep.c : Likewise.
6854 * config/microblaze/microblaze-c.c : Likewise.
6855 * config/microblaze/microblaze.c : Likewise.
6856 * config/mips/mips.c : Likewise.
6857 * config/mmix/mmix.c : Likewise.
6858 * config/mn10300/mn10300.c : Likewise.
6859 * config/moxie/moxie.c : Likewise.
6860 * config/msp430/msp430-c.c : Likewise.
6861 * config/msp430/msp430.c : Likewise.
6862 * config/nds32/nds32-cost.c : Likewise.
6863 * config/nds32/nds32-fp-as-gp.c : Likewise.
6864 * config/nds32/nds32-intrinsic.c : Likewise.
6865 * config/nds32/nds32-isr.c : Likewise.
6866 * config/nds32/nds32-md-auxiliary.c : Likewise.
6867 * config/nds32/nds32-memory-manipulation.c : Likewise.
6868 * config/nds32/nds32-pipelines-auxiliary.c : Likewise.
6869 * config/nds32/nds32-predicates.c : Likewise.
6870 * config/nds32/nds32.c : Likewise.
6871 * config/nios2/nios2.c : Likewise.
6872 * config/nvptx/nvptx.c : Likewise.
6873 * config/pa/pa.c : Likewise.
6874 * config/pdp11/pdp11.c : Likewise.
6875 * config/rl78/rl78-c.c : Likewise.
6876 * config/rl78/rl78.c : Likewise.
6877 * config/rs6000/rs6000-c.c : Likewise.
6878 * config/rs6000/rs6000.c : Likewise.
6879 * config/rx/rx.c : Likewise.
6880 * config/s390/s390-c.c : Likewise.
6881 * config/s390/s390.c : Likewise.
6882 * config/sh/sh-c.c : Likewise.
6883 * config/sh/sh-mem.cc : Likewise.
6884 * config/sh/sh.c : Likewise.
6885 * config/sh/sh_optimize_sett_clrt.cc : Likewise.
6886 * config/sh/sh_treg_combine.cc : Likewise.
6887 * config/sol2-c.c : Likewise.
6888 * config/sol2-cxx.c : Likewise.
6889 * config/sol2-stubs.c : Likewise.
6890 * config/sol2.c : Likewise.
6891 * config/sparc/sparc-c.c : Likewise.
6892 * config/sparc/sparc.c : Likewise.
6893 * config/spu/spu-c.c : Likewise.
6894 * config/spu/spu.c : Likewise.
6895 * config/stormy16/stormy16.c : Likewise.
6896 * config/tilegx/mul-tables.c : Likewise.
6897 * config/tilegx/tilegx-c.c : Likewise.
6898 * config/tilegx/tilegx.c : Likewise.
6899 * config/tilepro/mul-tables.c : Likewise.
6900 * config/tilepro/tilepro-c.c : Likewise.
6901 * config/tilepro/tilepro.c : Likewise.
6902 * config/v850/v850-c.c : Likewise.
6903 * config/v850/v850.c : Likewise.
6904 * config/vax/vax.c : Likewise.
6905 * config/visium/visium.c : Likewise.
6906 * config/vms/vms-c.c : Likewise.
6907 * config/vms/vms.c : Likewise.
6908 * config/vxworks.c : Likewise.
6909 * config/winnt-c.c : Likewise.
6910 * config/xtensa/xtensa.c : Likewise.
6911
6912 2015-06-08 Jan Hubicka <hubicka@ucw.cz>
6913
6914 PR lto/65378
6915 * ipa-utils.h (warn_types_mismatch): Update prototype.
6916 * ipa-devirt.c (odr_types_equivalent_p): Add loc1/loc2
6917 parameters.
6918 (type_mismatch_p): New function.
6919 (warn_types_mismatch): Reorg to work better on non-C++ types.
6920 (odr_types_equivalent_p): Add loc1/loc2 parameters.
6921 (add_type_duplicate): Update.
6922
6923 2015-06-08 Tom de Vries <tom@codesourcery.com>
6924
6925 PR rtl-optimization/66444
6926 * postreload.c (reload_combine): Use get_call_reg_set_usage instead of
6927 call_used_regs.
6928
6929 2015-06-08 Richard Biener <rguenther@suse.de>
6930
6931 PR tree-optimization/66422
6932 * tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Split
6933 block after inserted gcc_unreachable.
6934
6935 2015-06-08 Nick Clifton <nickc@redhat.com>
6936
6937 * config/rx/rx.c (rx_function_value): Do not promote vector types.
6938 (rx_promote_function_mode): Likewise.
6939 * config/rx/rx.h (LIBCALL_VALUE): Likewise.
6940
6941 2015-06-08 Jakub Jelinek <jakub@redhat.com>
6942
6943 * genattrtab.c (insn_alternatives): Change type from int *
6944 to uint64_t *.
6945 (check_attr_test): Shift ((uint64_t) 1) instead of 1 up.
6946 (get_attr_value): Change type of num_alt to uint64_t.
6947 (compute_alternative_mask): Change return type from
6948 int to uint64_t, shift ((uint64_t) 1) instead of 1 up.
6949 (make_alternative_compare, mk_attr_alt): Change argument type
6950 from int to uint64_t.
6951 (simplify_test_exp): Change type of i from int to uint64_t.
6952 Shift ((uint64_t) 1) instead of 1 up.
6953 (main): Adjust oballocvec first argument from int to uint64_t.
6954 Shift ((uint64_t) 1) instead of 1 up.
6955
6956 2015-06-08 Jan Kratochvil <jan.kratochvil@redhat.com>
6957
6958 PR other/65366
6959 * gdbhooks.py: Import sys.
6960 (intptr): New function. Replace int(...) by intptr(...).
6961
6962 2015-06-08 Richard Biener <rguenther@suse.de>
6963
6964 * tree-vect-stmts.c (vectorizable_load): Compute the pointer
6965 adjustment for gaps at the end of a SLP load group properly.
6966 * tree-vect-slp.c (vect_supported_load_permutation_p): Allow
6967 all permutations we can generate.
6968 (vect_transform_slp_perm_load): Use the correct group-size.
6969
6970 2015-06-08 Marc Glisse <marc.glisse@inria.fr>
6971
6972 * genmatch.c (expr::gen_transform): For conditions, guess the type
6973 from the second operand.
6974
6975 2015-06-08 Tom de Vries <tom@codesourcery.com>
6976
6977 PR tree-optimization/66442
6978 * gimple-iterator.h (gimple_seq_nondebug_singleton_p): Add function.
6979 * tree-parloops.c (try_transform_to_exit_first_loop_alt): Return false
6980 if the loop latch is not a singleton. Use
6981 gimple_seq_nondebug_singleton_p instead of gimple_seq_singleton_p.
6982
6983 2015-06-08 Marek Polacek <polacek@redhat.com>
6984
6985 PR sanitizer/66452
6986 * toplev.c (check_global_declaration): Don't warn about artificial
6987 decls.
6988
6989 2015-06-08 Tom de Vries <tom@codesourcery.com>
6990
6991 PR tree-optimization/66436
6992 * cgraphunit.c (cgraph_node::analyze): Don't dump function to gimple
6993 dump file.
6994 * gimplify.c: Add tree-dump.h include.
6995 (gimplify_function_tree): Dump function to gimple dump file.
6996 * stor-layout.c (finalize_size_functions): Don't dump function to gimple
6997 dump file.
6998
6999 2015-06-08 Tom de Vries <tom@codesourcery.com>
7000
7001 PR tree-optimization/66435
7002 * cgraphunit.c (cgraph_node::add_new_function): Dump message on new
7003 function.
7004
7005 2015-06-06 Jan Hubicka <hubicka@ucw.cz>
7006
7007 * alias.c (get_alias_set): Be ready for TYPE_CANONICAL
7008 of ptr_type_node to not be ptr_to_node.
7009 * tree.c (gimple_types_compatible_p): Do not match TREE_CODE of
7010 TREE_TYPE of pointers.
7011 * gimple-expr.c (useless_type_conversion): Reorder the check for
7012 function pointers and TYPE_CANONICAL.
7013
7014 2015-06-06 John David Anglin <danglin@gcc.gnu.org>
7015
7016 PR bootstrap/66319
7017 * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Rearrange builtin
7018 defines. Define _LARGEFILE_SOURCE and _LARGEFILE64_SOURCE for c++.
7019 Define _XOPEN_UNIX and _XOPEN_SOURCE_EXTENDED for c++ if unix95 or
7020 later.
7021 * config/pa/pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Likewise.
7022 Define _INCLUDE_STDC_SOURCE_PRE_199901, _INCLUDE_STDC_SOURCE_199901,
7023 _INCLUDE_XOPEN_SOURCE_PRE_500, _INCLUDE_XOPEN_SOURCE_520,
7024 _INCLUDE_XOPEN_SOURCE_PRE_600 and _INCLUDE_XOPEN_SOURCE_600 for c++
7025 and non iso if unix2003.
7026
7027 2015-06-06 Aldy Hernandez <aldyh@redhat.com>
7028
7029 * dwarf2out.c (gen_lexical_block_die): Initialize stmt_die.
7030
7031 2015-06-06 Richard Sandiford <richard.sandiford@arm.com>
7032
7033 * emit-rtl.c, expr.c, gcse.c, optabs.c, optabs.h, print-rtl.c,
7034 rtl.h, bb-reorder.c, builtins.c, calls.c, cfgbuild.c, cfgexpand.c,
7035 cfgrtl.c, cilk-common.c, config/i386/i386.md, cse.c, dwarf2cfi.c,
7036 except.c, final.c, function.c, gcse-common.c, genemit.c,
7037 haifa-sched.c, ifcvt.c, jump.c, loop-invariant.c, loop-iv.c,
7038 lra-constraints.c, lra.c, reload1.c, resource.c, rtlanal.c,
7039 sched-deps.c, sched-ebb.c, sel-sched-ir.c, sel-sched.c,
7040 shrink-wrap.c, stmt.c, store-motion.c: Replace rtx base types with
7041 more derived ones.
7042
7043 2015-06-06 Mikhail Maltsev <maltsevm@gmail.com>
7044
7045 * combine.c (combine_split_insns): Remove cast.
7046 * config/bfin/bfin.c (hwloop_fail): Add cast in try_split call.
7047 * config/sh/sh.c (sh_try_split_insn_simple): Remove cast.
7048 * config/sh/sh_treg_combine.cc (sh_treg_combine::execute): Add cast.
7049 * emit-rtl.c (try_split): Promote type of trial argument to rtx_insn.
7050 * genemit.c (gen_split): Change return type of generated functions to
7051 rtx_insn.
7052 * genrecog.c (get_failure_return): Use NULL instead of NULL_RTX.
7053 (print_subroutine_start): Promote rtx to rtx_insn in gen_split_* and
7054 gen_peephole2_* functions.
7055 (print_subroutine, main): Likewise.
7056 * recog.c (peephole2_optimize): Remove cast.
7057 (peep2_next_insn): Promote return type to rtx_insn.
7058 * recog.h (peep2_next_insn): Fix prototype.
7059 * rtl.h (try_split, split_insns): Likewise.
7060
7061 2015-06-06 DJ Delorie <dj@redhat.com>
7062
7063 * config/msp430/msp430.c (msp430_asm_integer): Support addition
7064 and subtraction too.
7065
7066 2015-06-05 Kaz Kojima <kkojima@gcc.gnu.org>
7067
7068 PR target/66410
7069 * config/sh/constraints.md (Sid, Ssd): New memory constraints.
7070 * config/sh/sh.md (*mov<mode>): Use Sid and Ssd alternatives
7071 instead of Snd. Disparage Sid/z alternative with '^'.
7072
7073 2015-06-05 Aldy Hernandez <aldyh@redhat.com>
7074
7075 * dwarf2out.c: Remove deferred_locations*.
7076 (dwarf2_debug_hooks): Add early_finish hook.
7077 Remove global_decl hook.
7078 Add early_global_decl and late_global_decl hook.
7079 New global early_dwarf.
7080 New structure set_early_dwarf.
7081 (output_die): Indicate whether a DIE was generated early
7082 when generating assembly with -dA.
7083 (struct limbo_die_struct): Document created_for field.
7084 Remove file_table_last_lookup.
7085 (remove_AT): Return TRUE if successful.
7086 (remove_child_TAG): Clear die_parent.
7087 (reparent_child): New function abstracted from...
7088 (splice_child_die): ...here.
7089 (new_die): ICE if a DIE ends up in limbo too late.
7090 (check_die): New.
7091 (defer_location): Remove.
7092 (add_subscript_info): Reuse DW_TAG_subrange_type if available.
7093 (fill_variable_array_bounds): New.
7094 (decl_start_label): Call fill_variable_array_bounds.
7095 (gen_formal_parameter_die): Rewrite to reuse previously generated
7096 DIEs.
7097 (gen_subprogram_die): Same.
7098 (gen_variable_die): Same.
7099 (gen_const_die): Same.
7100 (gen_label_die): Same.
7101 (gen_lexical_block_die): Same.
7102 (decl_will_get_specification_p): New.
7103 (local_function_static): New.
7104 (gen_struct_or_union_type_die): Fill in variable-length fields.
7105 (gen_typedef_die): Fill in variable-length typedefs.
7106 (gen_tagged_type_die): Gracefully return on error_mark_node.
7107 Handle re-entrancy.
7108 (gen_type_die_with_usage): Handle variable-length types.
7109 Remove duplicate code for ARRAY_TYPE case.
7110 (process_scope_var): Only process imported modules during early
7111 dwarf.
7112 (dwarf2out_early_global_decl): New.
7113 (dwarf2out_late_global_decl): Rename from dwarf2out_global_decl.
7114 (dwarf2out_type_decl): Set early_dwarf while calling
7115 dwarf2out_decl.
7116 (dwarf2out_decl): Verify that we did not recreate a previously
7117 generated DIE.
7118 Do not return on DECL_EXTERNALs in VAR_DECLs.
7119 Abstract some code to local_function_static.
7120 (lookup_filename): Remove use of file_table_last_lookup.
7121 Gracefully exit on missing file_name.
7122 (dwarf2out_finish): Verify limbo list.
7123 Remove deferred_locations_list use.
7124 Move deferred_asm_name and limbo flushing to...
7125 (dwarf2out_early_finish): ...here. New.
7126 (dwarf2out_c_finalize): Remove set of deferred_location_list,
7127 deferred_asm_name, and file_table_last_lookup.
7128 * cgraph.h (referred_to_p): Add default argument.
7129 * cgraphunit.c (referred_to_p): Add and handle include_self
7130 argument.
7131 (analyze_functions): Add first_time argument.
7132 Call check_global_declaration for all symbols.
7133 Call late_global_decl for nodes for moribund nodes.
7134 (finalize_compilation_unit): Add new argument to
7135 analyze_functions.
7136 Call early_global_decl for functions.
7137 Call early_finish debug hook.
7138 * dbxout.c (dbxout_early_global_decl): New.
7139 (dbxout_late_global_decl): New. Adapted from dbxout_global_decl.
7140 (dbx_debug_hooks): Add new hooks.
7141 (xcoff_debug_hooks): Same.
7142 * debug.c (do_nothing_debug_hooks): Add early_finish field.
7143 Add early and late debug hooks.
7144 Remove global_decl hook.
7145 * debug.h (struct gcc_debug_hooks): Add early_finish,
7146 early_global_decl, and late_global_decl fields.
7147 Remove global_decl field.
7148 Document gcc_debug_hooks.
7149 * gengtype.c (output_typename): Remove.
7150 * godump.c (go_early_global_decl): New.
7151 (go_late_global_decl): New.
7152 (go_global_decl): Remove.
7153 (dump_go_spec_init): Remove global_decl. Add
7154 {early,late}_global_decl.
7155 * langhooks-def.h (LANG_HOOKS_WRITE_GLOBALS): Remove.
7156 (LANG_HOOKS_POST_COMPILATION_PARSING_CLEANUPS): New.
7157 * langhooks.c (lhd_warn_unused_global_decl): Adjust comment.
7158 (write_global_declarations): Remove.
7159 (global_decl_processing): New.
7160 * langhooks.h (struct lang_hooks_for_decls): Remove
7161 final_write_globals field.
7162 Add post_compilation_parsing_cleanups field.
7163 * passes.c (rest_of_decl_compilation): Call early_global_decl.
7164 * sdbout.c: Add early and late_global_decl hooks. Remove
7165 sdbout_global_decl hook.
7166 Add early_finish field for sdb_debug_hooks.
7167 (sdbout_global_decl): Remove.
7168 (sdbout_early_global_decl): New.
7169 (sdbout_late_global_decl): New.
7170 * timevar.def (TV_PHASE_LATE_PARSING_CLEANUPS): New.
7171 * toplev.c (check_global_declaration): Rename from
7172 check_global_declaration_1.
7173 Adapt to use symtab infrastructure.
7174 (check_global_declarations): Remove.
7175 (emit_debug_global_declarations): Remove.
7176 (compile_file): Remove call to final_write_globals langhook.
7177 Run the actual compilation process.
7178 Perform any post compilation parser cleanups.
7179 Generate late debug info.
7180 * toplev.h (check_global_declaration): New.
7181 (check_global_declaration_1): Remove.
7182 (check_global_declarations): Remove.
7183 (write_global_declarations): Remove.
7184 (emit_debug_global_declarations): Remove.
7185 (global_decl_processing): New.
7186 * tree-core.h (struct tree_block): Add DIE field.
7187 * tree.h (BLOCK_DIE): New.
7188 * vmsdbgout.c (vmsdbgout_global_decl): Remove function and its use
7189 throughout.
7190 (vmsdbgout_early_global_decl): New.
7191 (vmsdbgout_late_global_decl): New.
7192 Add early_finish debug hook field to vmsdbg_debug_hooks.
7193 Remove vmsdbgout_decl to vmsdbgout_function_decl.
7194 Add early and late_global_decl debug hooks.
7195
7196 2015-06-05 Julian Brown <julian@codesourcery.com>
7197 Sandra Loosemore <sandra@codesourcery.com>
7198
7199 * config/print-sysroot-suffix.sh: Handle MULTILIB_REUSE settings.
7200 * config/t-sysroot-suffix (sysroot-suffix.h): Pass MULTILIB_REUSE
7201 to print-sysroot-suffix.sh script.
7202
7203 2015-06-05 Tom de Vries <tom@codesourcery.com>
7204
7205 merge from gomp4 branch:
7206 2015-05-28 Tom de Vries <tom@codesourcery.com>
7207
7208 PR tree-optimization/65443
7209 * tree-parloops.c (replace_imm_uses, replace_uses_in_bb_by)
7210 (replace_uses_in_bbs_by, transform_to_exit_first_loop_alt)
7211 (try_transform_to_exit_first_loop_alt): New function.
7212 (transform_to_exit_first_loop): Use
7213 try_transform_to_exit_first_loop_alt.
7214
7215 2015-06-05 James Greenhalgh <james.greenhalgh@arm.com>
7216
7217 * builtins.c (expand_builtin_atomic_compare_exchange): Call
7218 emit_cmp_and_jump_insns with the mode of target.
7219
7220 2015-06-05 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
7221
7222 * config/i386/sse.md (sse3_mwait): Swap the operand constriants.
7223
7224 2015-06-04 DJ Delorie <dj@redhat.com>
7225
7226 * config/msp430/msp430.md (movsi_s): New. Special case for
7227 storing a 20-bit symbol into a 32-bit register.
7228 * config/msp430/msp430.c (msp430_subreg): Add support for it.
7229 * config/msp430/predicates.md (msp430_symbol_operand): New.
7230
7231 2015-06-04 Sriraman Tallam <tmsriram@google.com>
7232
7233 * c-family/c-common.c (noplt): New attribute.
7234 (handle_noplt_attribute): New handler.
7235 * calls.c (prepare_call_address): Check for noplt
7236 attribute.
7237 * config/i386/i386.c (ix86_expand_call): Check
7238 for noplt attribute.
7239 (ix86_nopic_noplt_attribute_p): New function.
7240 (ix86_output_call_insn): Output indirect call for non-pic
7241 no plt calls.
7242 * doc/extend.texi (noplt): Document new attribute.
7243 * doc/invoke.texi: Document new attribute.
7244
7245 2015-06-04 Andrew MacLeod <amacleod@redhat.com>
7246
7247 * coretypes.h: Include machmode.h, signop.h, wide-int.h, double-int.h,
7248 real.h, and fixed-value.h when included in host source files.
7249 * double-int.h: Remove redundant #includes listed above.
7250 * fixed-value.h: Likewise.
7251 * real.h: Likewise.
7252 * wide-int.h: Likewise.
7253 * inchash.h: Likewise.
7254 * rtl.h: Add some include files When included from a generator file.
7255 * target.h: Remove wide-int.h and insn-modes.h from the include list.
7256 * internal-fn.h: Don't include coretypes.h.
7257 * alias.c: Adjust includes for restructured coretypes.h.
7258 * asan.c: Likewise.
7259 * attribs.c: Likewise.
7260 * auto-inc-dec.c: Likewise.
7261 * auto-profile.c: Likewise.
7262 * bb-reorder.c: Likewise.
7263 * bt-load.c: Likewise.
7264 * builtins.c: Likewise.
7265 * caller-save.c: Likewise.
7266 * calls.c: Likewise.
7267 * ccmp.c: Likewise.
7268 * cfg.c: Likewise.
7269 * cfganal.c: Likewise.
7270 * cfgbuild.c: Likewise.
7271 * cfgcleanup.c: Likewise.
7272 * cfgexpand.c: Likewise.
7273 * cfghooks.c: Likewise.
7274 * cfgloop.c: Likewise.
7275 * cfgloop.h: Likewise.
7276 * cfgloopanal.c: Likewise.
7277 * cfgloopmanip.c: Likewise.
7278 * cfgrtl.c: Likewise.
7279 * cgraph.c: Likewise.
7280 * cgraphbuild.c: Likewise.
7281 * cgraphclones.c: Likewise.
7282 * cgraphunit.c: Likewise.
7283 * cilk-common.c: Likewise.
7284 * combine-stack-adj.c: Likewise.
7285 * combine.c: Likewise.
7286 * compare-elim.c: Likewise.
7287 * convert.c: Likewise.
7288 * coverage.c: Likewise.
7289 * cppbuiltin.c: Likewise.
7290 * cprop.c: Likewise.
7291 * cse.c: Likewise.
7292 * cselib.c: Likewise.
7293 * data-streamer-in.c: Likewise.
7294 * data-streamer-out.c: Likewise.
7295 * data-streamer.c: Likewise.
7296 * dbxout.c: Likewise.
7297 * dce.c: Likewise.
7298 * ddg.c: Likewise.
7299 * debug.c: Likewise.
7300 * df-core.c: Likewise.
7301 * df-problems.c: Likewise.
7302 * df-scan.c: Likewise.
7303 * df.h: Likewise.
7304 * dfp.c: Likewise.
7305 * dojump.c: Likewise.
7306 * dominance.c: Likewise.
7307 * domwalk.c: Likewise.
7308 * double-int.c: Likewise.
7309 * dse.c: Likewise.
7310 * dumpfile.c: Likewise.
7311 * dwarf2asm.c: Likewise.
7312 * dwarf2cfi.c: Likewise.
7313 * dwarf2out.c: Likewise.
7314 * dwarf2out.h: Likewise.
7315 * emit-rtl.c: Likewise.
7316 * et-forest.c: Likewise.
7317 * except.c: Likewise.
7318 * explow.c: Likewise.
7319 * expmed.c: Likewise.
7320 * expr.c: Likewise.
7321 * final.c: Likewise.
7322 * fixed-value.c: Likewise.
7323 * fold-const.c: Likewise.
7324 * function.c: Likewise.
7325 * fwprop.c: Likewise.
7326 * gcc-plugin.h: Likewise.
7327 * gcse.c: Likewise.
7328 * generic-match-head.c: Likewise.
7329 * ggc-page.c: Likewise.
7330 * gimple-builder.c: Likewise.
7331 * gimple-expr.c: Likewise.
7332 * gimple-fold.c: Likewise.
7333 * gimple-iterator.c: Likewise.
7334 * gimple-low.c: Likewise.
7335 * gimple-match-head.c: Likewise.
7336 * gimple-pretty-print.c: Likewise.
7337 * gimple-ssa-isolate-paths.c: Likewise.
7338 * gimple-ssa-strength-reduction.c: Likewise.
7339 * gimple-streamer-in.c: Likewise.
7340 * gimple-streamer-out.c: Likewise.
7341 * gimple-streamer.h: Likewise.
7342 * gimple-walk.c: Likewise.
7343 * gimple.c: Likewise.
7344 * gimplify-me.c: Likewise.
7345 * gimplify.c: Likewise.
7346 * godump.c: Likewise.
7347 * graph.c: Likewise.
7348 * graphite-blocking.c: Likewise.
7349 * graphite-dependences.c: Likewise.
7350 * graphite-interchange.c: Likewise.
7351 * graphite-isl-ast-to-gimple.c: Likewise.
7352 * graphite-optimize-isl.c: Likewise.
7353 * graphite-poly.c: Likewise.
7354 * graphite-scop-detection.c: Likewise.
7355 * graphite-sese-to-poly.c: Likewise.
7356 * graphite.c: Likewise.
7357 * haifa-sched.c: Likewise.
7358 * hooks.h: Likewise.
7359 * hw-doloop.c: Likewise.
7360 * ifcvt.c: Likewise.
7361 * incpath.c: Likewise.
7362 * init-regs.c: Likewise.
7363 * internal-fn.c: Likewise.
7364 * ipa-chkp.c: Likewise.
7365 * ipa-comdats.c: Likewise.
7366 * ipa-cp.c: Likewise.
7367 * ipa-devirt.c: Likewise.
7368 * ipa-icf-gimple.c: Likewise.
7369 * ipa-icf.c: Likewise.
7370 * ipa-inline-analysis.c: Likewise.
7371 * ipa-inline-transform.c: Likewise.
7372 * ipa-inline.c: Likewise.
7373 * ipa-polymorphic-call.c: Likewise.
7374 * ipa-profile.c: Likewise.
7375 * ipa-prop.c: Likewise.
7376 * ipa-pure-const.c: Likewise.
7377 * ipa-ref.c: Likewise.
7378 * ipa-reference.c: Likewise.
7379 * ipa-split.c: Likewise.
7380 * ipa-utils.c: Likewise.
7381 * ipa-visibility.c: Likewise.
7382 * ipa.c: Likewise.
7383 * ira-build.c: Likewise.
7384 * ira-color.c: Likewise.
7385 * ira-conflicts.c: Likewise.
7386 * ira-costs.c: Likewise.
7387 * ira-emit.c: Likewise.
7388 * ira-lives.c: Likewise.
7389 * ira.c: Likewise.
7390 * jump.c: Likewise.
7391 * langhooks.c: Likewise.
7392 * lcm.c: Likewise.
7393 * loop-doloop.c: Likewise.
7394 * loop-init.c: Likewise.
7395 * loop-invariant.c: Likewise.
7396 * loop-iv.c: Likewise.
7397 * loop-unroll.c: Likewise.
7398 * lower-subreg.c: Likewise.
7399 * lra-assigns.c: Likewise.
7400 * lra-coalesce.c: Likewise.
7401 * lra-constraints.c: Likewise.
7402 * lra-eliminations.c: Likewise.
7403 * lra-lives.c: Likewise.
7404 * lra-remat.c: Likewise.
7405 * lra-spills.c: Likewise.
7406 * lra.c: Likewise.
7407 * lto-cgraph.c: Likewise.
7408 * lto-compress.c: Likewise.
7409 * lto-opts.c: Likewise.
7410 * lto-section-in.c: Likewise.
7411 * lto-section-out.c: Likewise.
7412 * lto-streamer-in.c: Likewise.
7413 * lto-streamer-out.c: Likewise.
7414 * lto-streamer.c: Likewise.
7415 * mcf.c: Likewise.
7416 * mode-switching.c: Likewise.
7417 * modulo-sched.c: Likewise.
7418 * omega.c: Likewise.
7419 * omp-low.c: Likewise.
7420 * optabs.c: Likewise.
7421 * opts-global.c: Likewise.
7422 * passes.c: Likewise.
7423 * plugin.c: Likewise.
7424 * postreload-gcse.c: Likewise.
7425 * postreload.c: Likewise.
7426 * predict.c: Likewise.
7427 * print-rtl.c: Likewise.
7428 * print-tree.c: Likewise.
7429 * profile.c: Likewise.
7430 * real.c: Likewise.
7431 * realmpfr.c: Likewise.
7432 * realmpfr.h: Likewise.
7433 * recog.c: Likewise.
7434 * ree.c: Likewise.
7435 * reg-stack.c: Likewise.
7436 * regcprop.c: Likewise.
7437 * reginfo.c: Likewise.
7438 * regrename.c: Likewise.
7439 * regs.h: Likewise.
7440 * regstat.c: Likewise.
7441 * reload.c: Likewise.
7442 * reload1.c: Likewise.
7443 * reorg.c: Likewise.
7444 * resource.c: Likewise.
7445 * rtl-chkp.c: Likewise.
7446 * rtlanal.c: Likewise.
7447 * rtlhooks.c: Likewise.
7448 * sanopt.c: Likewise.
7449 * sched-deps.c: Likewise.
7450 * sched-ebb.c: Likewise.
7451 * sched-rgn.c: Likewise.
7452 * sched-vis.c: Likewise.
7453 * sdbout.c: Likewise.
7454 * sel-sched-dump.c: Likewise.
7455 * sel-sched-ir.c: Likewise.
7456 * sel-sched.c: Likewise.
7457 * sese.c: Likewise.
7458 * shrink-wrap.c: Likewise.
7459 * shrink-wrap.h: Likewise.
7460 * simplify-rtx.c: Likewise.
7461 * stack-ptr-mod.c: Likewise.
7462 * statistics.c: Likewise.
7463 * stmt.c: Likewise.
7464 * stor-layout.c: Likewise.
7465 * store-motion.c: Likewise.
7466 * stringpool.c: Likewise.
7467 * symtab.c: Likewise.
7468 * target-globals.c: Likewise.
7469 * targhooks.c: Likewise.
7470 * toplev.c: Likewise.
7471 * tracer.c: Likewise.
7472 * trans-mem.c: Likewise.
7473 * tree-affine.c: Likewise.
7474 * tree-affine.h: Likewise.
7475 * tree-browser.c: Likewise.
7476 * tree-call-cdce.c: Likewise.
7477 * tree-cfg.c: Likewise.
7478 * tree-cfgcleanup.c: Likewise.
7479 * tree-chkp-opt.c: Likewise.
7480 * tree-chkp.c: Likewise.
7481 * tree-chrec.c: Likewise.
7482 * tree-complex.c: Likewise.
7483 * tree-data-ref.c: Likewise.
7484 * tree-dfa.c: Likewise.
7485 * tree-diagnostic.c: Likewise.
7486 * tree-dump.c: Likewise.
7487 * tree-eh.c: Likewise.
7488 * tree-emutls.c: Likewise.
7489 * tree-if-conv.c: Likewise.
7490 * tree-inline.c: Likewise.
7491 * tree-into-ssa.c: Likewise.
7492 * tree-iterator.c: Likewise.
7493 * tree-loop-distribution.c: Likewise.
7494 * tree-nested.c: Likewise.
7495 * tree-nrv.c: Likewise.
7496 * tree-object-size.c: Likewise.
7497 * tree-outof-ssa.c: Likewise.
7498 * tree-parloops.c: Likewise.
7499 * tree-phinodes.c: Likewise.
7500 * tree-predcom.c: Likewise.
7501 * tree-pretty-print.c: Likewise.
7502 * tree-pretty-print.h: Likewise.
7503 * tree-profile.c: Likewise.
7504 * tree-scalar-evolution.c: Likewise.
7505 * tree-sra.c: Likewise.
7506 * tree-ssa-address.c: Likewise.
7507 * tree-ssa-alias.c: Likewise.
7508 * tree-ssa-ccp.c: Likewise.
7509 * tree-ssa-coalesce.c: Likewise.
7510 * tree-ssa-copy.c: Likewise.
7511 * tree-ssa-copyrename.c: Likewise.
7512 * tree-ssa-dce.c: Likewise.
7513 * tree-ssa-dom.c: Likewise.
7514 * tree-ssa-dse.c: Likewise.
7515 * tree-ssa-forwprop.c: Likewise.
7516 * tree-ssa-ifcombine.c: Likewise.
7517 * tree-ssa-live.c: Likewise.
7518 * tree-ssa-loop-ch.c: Likewise.
7519 * tree-ssa-loop-im.c: Likewise.
7520 * tree-ssa-loop-ivcanon.c: Likewise.
7521 * tree-ssa-loop-ivopts.c: Likewise.
7522 * tree-ssa-loop-manip.c: Likewise.
7523 * tree-ssa-loop-niter.c: Likewise.
7524 * tree-ssa-loop-prefetch.c: Likewise.
7525 * tree-ssa-loop-unswitch.c: Likewise.
7526 * tree-ssa-loop.c: Likewise.
7527 * tree-ssa-loop.h: Likewise.
7528 * tree-ssa-math-opts.c: Likewise.
7529 * tree-ssa-operands.c: Likewise.
7530 * tree-ssa-phiopt.c: Likewise.
7531 * tree-ssa-phiprop.c: Likewise.
7532 * tree-ssa-pre.c: Likewise.
7533 * tree-ssa-propagate.c: Likewise.
7534 * tree-ssa-reassoc.c: Likewise.
7535 * tree-ssa-sccvn.c: Likewise.
7536 * tree-ssa-scopedtables.c: Likewise.
7537 * tree-ssa-sink.c: Likewise.
7538 * tree-ssa-strlen.c: Likewise.
7539 * tree-ssa-structalias.c: Likewise.
7540 * tree-ssa-tail-merge.c: Likewise.
7541 * tree-ssa-ter.c: Likewise.
7542 * tree-ssa-threadedge.c: Likewise.
7543 * tree-ssa-threadupdate.c: Likewise.
7544 * tree-ssa-uncprop.c: Likewise.
7545 * tree-ssa-uninit.c: Likewise.
7546 * tree-ssa.c: Likewise.
7547 * tree-ssanames.c: Likewise.
7548 * tree-stdarg.c: Likewise.
7549 * tree-streamer-in.c: Likewise.
7550 * tree-streamer-out.c: Likewise.
7551 * tree-streamer.c: Likewise.
7552 * tree-switch-conversion.c: Likewise.
7553 * tree-tailcall.c: Likewise.
7554 * tree-vect-data-refs.c: Likewise.
7555 * tree-vect-generic.c: Likewise.
7556 * tree-vect-loop-manip.c: Likewise.
7557 * tree-vect-loop.c: Likewise.
7558 * tree-vect-patterns.c: Likewise.
7559 * tree-vect-slp.c: Likewise.
7560 * tree-vect-stmts.c: Likewise.
7561 * tree-vectorizer.c: Likewise.
7562 * tree-vrp.c: Likewise.
7563 * tree.c: Likewise.
7564 * tsan.c: Likewise.
7565 * ubsan.c: Likewise.
7566 * valtrack.c: Likewise.
7567 * value-prof.c: Likewise.
7568 * var-tracking.c: Likewise.
7569 * varasm.c: Likewise.
7570 * varpool.c: Likewise.
7571 * vmsdbgout.c: Likewise.
7572 * vtable-verify.c: Likewise.
7573 * web.c: Likewise.
7574 * wide-int-print.cc: Likewise.
7575 * wide-int-print.h: Likewise.
7576 * wide-int.cc: Likewise.
7577 * xcoffout.c: Likewise.
7578 * config/aarch64/aarch64-builtins.c: Likewise.
7579 * config/aarch64/aarch64.c: Likewise.
7580 * config/aarch64/cortex-a57-fma-steering.c: Likewise.
7581 * config/alpha/alpha.c: Likewise.
7582 * config/arc/arc.c: Likewise.
7583 * config/arm/aarch-common.c: Likewise.
7584 * config/arm/arm-builtins.c: Likewise.
7585 * config/arm/arm-c.c: Likewise.
7586 * config/arm/arm.c: Likewise.
7587 * config/avr/avr-c.c: Likewise.
7588 * config/avr/avr-log.c: Likewise.
7589 * config/avr/avr.c: Likewise.
7590 * config/bfin/bfin.c: Likewise.
7591 * config/c6x/c6x.c: Likewise.
7592 * config/cr16/cr16.c: Likewise.
7593 * config/cris/cris.c: Likewise.
7594 * config/darwin-c.c: Likewise.
7595 * config/darwin.c: Likewise.
7596 * config/default-c.c: Likewise.
7597 * config/epiphany/epiphany.c: Likewise.
7598 * config/epiphany/mode-switch-use.c: Likewise.
7599 * config/epiphany/resolve-sw-modes.c: Likewise.
7600 * config/fr30/fr30.c: Likewise.
7601 * config/frv/frv.c: Likewise.
7602 * config/ft32/ft32.c: Likewise.
7603 * config/glibc-c.c: Likewise.
7604 * config/h8300/h8300.c: Likewise.
7605 * config/i386/i386-c.c: Likewise.
7606 * config/i386/i386.c: Likewise.
7607 * config/i386/msformat-c.c: Likewise.
7608 * config/i386/winnt-cxx.c: Likewise.
7609 * config/i386/winnt-stubs.c: Likewise.
7610 * config/i386/winnt.c: Likewise.
7611 * config/ia64/ia64-c.c: Likewise.
7612 * config/ia64/ia64.c: Likewise.
7613 * config/iq2000/iq2000.c: Likewise.
7614 * config/lm32/lm32.c: Likewise.
7615 * config/m32c/m32c-pragma.c: Likewise.
7616 * config/m32c/m32c.c: Likewise.
7617 * config/m32r/m32r.c: Likewise.
7618 * config/m68k/m68k.c: Likewise.
7619 * config/mcore/mcore.c: Likewise.
7620 * config/mep/mep-pragma.c: Likewise.
7621 * config/mep/mep.c: Likewise.
7622 * config/microblaze/microblaze-c.c: Likewise.
7623 * config/microblaze/microblaze.c: Likewise.
7624 * config/mips/mips.c: Likewise.
7625 * config/mmix/mmix.c: Likewise.
7626 * config/mn10300/mn10300.c: Likewise.
7627 * config/moxie/moxie.c: Likewise.
7628 * config/msp430/msp430-c.c: Likewise.
7629 * config/msp430/msp430.c: Likewise.
7630 * config/nds32/nds32-cost.c: Likewise.
7631 * config/nds32/nds32-fp-as-gp.c: Likewise.
7632 * config/nds32/nds32-intrinsic.c: Likewise.
7633 * config/nds32/nds32-isr.c: Likewise.
7634 * config/nds32/nds32-md-auxiliary.c: Likewise.
7635 * config/nds32/nds32-memory-manipulation.c: Likewise.
7636 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
7637 * config/nds32/nds32-predicates.c: Likewise.
7638 * config/nds32/nds32.c: Likewise.
7639 * config/nios2/nios2.c: Likewise.
7640 * config/nvptx/nvptx.c: Likewise.
7641 * config/pa/pa.c: Likewise.
7642 * config/pdp11/pdp11.c: Likewise.
7643 * config/rl78/rl78-c.c: Likewise.
7644 * config/rl78/rl78.c: Likewise.
7645 * config/rs6000/rs6000-c.c: Likewise.
7646 * config/rs6000/rs6000.c: Likewise.
7647 * config/rx/rx.c: Likewise.
7648 * config/s390/s390-c.c: Likewise.
7649 * config/s390/s390.c: Likewise.
7650 * config/sh/sh-c.c: Likewise.
7651 * config/sh/sh-mem.cc: Likewise.
7652 * config/sh/sh.c: Likewise.
7653 * config/sh/sh_optimize_sett_clrt.cc: Likewise.
7654 * config/sh/sh_treg_combine.cc: Likewise.
7655 * config/sol2-c.c: Likewise.
7656 * config/sol2-cxx.c: Likewise.
7657 * config/sol2-stubs.c: Likewise.
7658 * config/sol2.c: Likewise.
7659 * config/sparc/sparc-c.c: Likewise.
7660 * config/sparc/sparc.c: Likewise.
7661 * config/spu/spu-c.c: Likewise.
7662 * config/spu/spu.c: Likewise.
7663 * config/stormy16/stormy16.c: Likewise.
7664 * config/tilegx/mul-tables.c: Likewise.
7665 * config/tilegx/tilegx-c.c: Likewise.
7666 * config/tilegx/tilegx.c: Likewise.
7667 * config/tilepro/mul-tables.c: Likewise.
7668 * config/tilepro/tilepro-c.c: Likewise.
7669 * config/tilepro/tilepro.c: Likewise.
7670 * config/v850/v850-c.c: Likewise.
7671 * config/v850/v850.c: Likewise.
7672 * config/vax/vax.c: Likewise.
7673 * config/visium/visium.c: Likewise.
7674 * config/vms/vms-c.c: Likewise.
7675 * config/vms/vms.c: Likewise.
7676 * config/vxworks.c: Likewise.
7677 * config/winnt-c.c: Likewise.
7678 * config/xtensa/xtensa.c: Likewise.
7679 * common/config/bfin/bfin-common.c: Likewise.
7680
7681 2015-06-04 Jan Hubicka <hubicka@ucw.cz>
7682
7683 * tree.h (tree_code_for_canonical_type_merging): New function.
7684 * tree.c (gimple_canonical_types_compatible_p): Use
7685 tree_code_for_canonical_type_merging..
7686
7687 2015-06-04 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7688
7689 PR c++/66192
7690 PR target/66200
7691 * doc/tm.texi: Regenerate.
7692 * doc/tm.texi.in (TARGET_RELAXED_ORDERING): Delete.
7693 * target.def (TARGET_RELAXED_ORDERING): Likewise.
7694 * config/alpha/alpha.c (TARGET_RELAXED_ORDERING): Likewise.
7695 * config/ia64/ia64.c (TARGET_RELAXED_ORDERING): Likewise.
7696 * config/rs6000/rs6000.c (TARGET_RELAXED_ORDERING): Likewise.
7697 * config/sparc/linux.h (SPARC_RELAXED_ORDERING): Likewise.
7698 * config/sparc/linux64.h (SPARC_RELAXED_ORDERING): Likewise.
7699 * config/sparc/sparc.c (TARGET_RELAXED_ORDERING): Likewise.
7700 * config/sparc/sparc.h (SPARC_RELAXED_ORDERING): Likewise.
7701
7702 2015-06-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7703
7704 * config/aarch64/aarch64.c (aarch64_override_options): Unconditionally
7705 register fma steering pass.
7706 * config/aarch64/cortex-a57-fma-steering.c (gate): Add gating on
7707 AARCH64_TUNE_FMA_STEERING.
7708
7709 2015-06-03 Jan Hubicka <hubicka@ucw.cz>
7710
7711 * tree.c (verify_type_variant): Verify that type and variant is
7712 compatible.
7713 (gimple_canonical_types_compatible_p): Look for main variants.
7714
7715 2015-06-03 Michael Meissner <meissner@linux.vnet.ibm.com>
7716
7717 * config.gcc (powerpc*-*-*): Add support for a new configure
7718 option --with-advance-toolchain=<xxx> which overrides using the
7719 default header files, libraries and dynamic linker.
7720
7721 * config/rs6000/linux64.h (SUBSUBTARGET_EXTRA_SPECS): Add new
7722 specs to support the configure --with-advance-toolchain=<xxx>
7723 option.
7724 (INCLUDE_EXTRA_SPEC): Likewise.
7725 (LINK_OS_EXTRA_SPEC32): Likewise.
7726 (LINK_OK_EXTRA_SPEC64): Likewise.
7727 (LINK_OS_NEW_DTAGS_SPEC): Likewise.
7728 (DYNAMIC_LINKER_PREFIX): Likewise.
7729 (CPP_OS_DEFAULT_SPEC): Use the new specs for providing advance
7730 toolchain support.
7731 (GLIBC_DYNAMIC_LINKER32): Likewise.
7732 (GLIBC_DYNAMIC_LINKER64): Likewise.
7733 (LINK_OS_LINUX_SPEC32): Likewise.
7734 (LINK_OS_LINUX_SPEC64): Likewise.
7735
7736 * doc/install.texi (--enable-advance-toolchain=<xx>): Document new
7737 configuration option.
7738
7739 2015-06-03 Uros Bizjak <ubizjak@gmail.com>
7740
7741 PR target/66275
7742 * config/i386/i386.c (ix86_function_arg_regno): Use ix86_cfun_abi
7743 to determine current function ABI.
7744 (ix86_function_value_regno_p): Ditto.
7745
7746 2015-06-03 Martin Liska <mliska@suse.cz>
7747
7748 * alloc-pool.h (struct pool_usage): Correct GNU coding style.
7749 * bitmap.h (struct bitmap_usage): Likewise.
7750 * ggc-common.c (struct ggc_usage): Likewise.
7751 * mem-stats.h (struct mem_location): Likewise.
7752 (struct mem_usage): Likewise.
7753 * vec.c (struct vec_usage): Likewise.
7754
7755 2015-06-03 Benigno B. Junior <bbj@gentoo.org>
7756
7757 * config/netbsd-elf.h (NETBSD_LINK_SPEC_ELF): Turn -symbolic into
7758 -Bsymbolic.
7759
7760 2015-06-02 Andres Tiraboschi <andres.tiraboschi@tallertechnologies.com>
7761
7762 * doc/plugins.texi (enum plugin_event): New event.
7763 * plugin.c (register_callback): Handle PLUGIN_START_PARSE_FUNCTION
7764 and PLUGIN_FINISH_FUNCTION.
7765 * plugin.def (PLUGIN_START_PARSE_FUNCTION): Add plugin event
7766 (PLUGIN_FINISH_PARSE_FUNCTION): Likewise.
7767
7768 2015-06-03 Richard Biener <rguenther@suse.de>
7769
7770 * tree-vect-data-refs.c (vect_analyze_group_access): Properly
7771 compute GROUP_GAP for the first element.
7772 * tree-vect-slp.c (vect_build_slp_tree_1): Remove restriction
7773 on in-group gaps.
7774
7775 2015-06-03 Nick Clifton <nickc@redhat.com>
7776
7777 * config/rl78/rl78-real.md: Add peepholes to avoid a register
7778 copy when calling a function.
7779 * config/rl78/rl78.c (need_to_save): Do not push the frame
7780 pointer in an interrupt handler prologue if it is never used.
7781
7782 2015-06-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7783
7784 * ifcvt (end_ifcvt_sequence): Fix typo in comment above.
7785
7786 2015-06-03 Ilya Enkovich <ilya.enkovich@intel.com>
7787
7788 * ipa-chkp.c (chkp_maybe_create_clone): Create alias
7789 reference when cloning alias node.
7790
7791 2015-06-03 Martin Liska <mliska@suse.cz>
7792
7793 * alloc-pool.h (struct pool_usage): Correct space padding.
7794 * ggc-page.c (ggc_print_statistics): Align columns in a report.
7795 * mem-stats.h (struct mem_usage): Add argument to print_dash_line.
7796 * tree.c (dump_tree_statistics): Align columns in a report.
7797
7798 2015-06-03 Martin Liska <mliska@suse.cz>
7799
7800 * alloc-pool.c (allocate_pool_descriptor): Remove.
7801 (struct pool_output_info): Likewise.
7802 (print_alloc_pool_statistics): Likewise.
7803 (dump_alloc_pool_statistics): Likewise.
7804 * alloc-pool.h (struct pool_usage): New struct.
7805 (pool_allocator::initialize): Change usage of memory statistics
7806 to a new interface.
7807 (pool_allocator::release): Likewise.
7808 (pool_allocator::allocate): Likewise.
7809 (pool_allocator::remove): Likewise.
7810 * mem-stats-traits.h (enum mem_alloc_origin): Add new enum value
7811 for a pool allocator.
7812 * mem-stats.h (struct mem_location): Add new ctor.
7813 (struct mem_usage): Add counter for number of
7814 instances.
7815 (mem_alloc_description::register_descriptor): New overload of
7816 * mem-stats.h (mem_location::to_string): New function.
7817 * bitmap.h (struct bitmap_usage): Use this new function.
7818 * ggc-common.c (struct ggc_usage): Likewise.
7819 the function.
7820
7821 2015-06-03 Richard Sandiford <richard.sandiford@arm.com>
7822
7823 * defaults.h (SWITCHABLE_TARGET, TARGET_SUPPORTS_WIDE_INT): Move out
7824 of GCC_INSN_FLAGS_H block.
7825
7826 2015-06-03 Andrew Bennett <andrew.bennett@imgtec.com>
7827
7828 * explow.c (plus_constant): Update check after force_const_mem call
7829 to see if the value returned is not a NULL_RTX.
7830
7831 2015-06-03 Ilya Enkovich <ilya.enkovich@intel.com>
7832
7833 * ipa.c (symbol_table::remove_unreachable_nodes): Don't
7834 remove instumentation thunks calling reachable functions.
7835 * lto-cgraph.c (output_refs): Always output IPA_REF_CHKP.
7836 * lto/lto-partition.c (privatize_symbol_name_1): New.
7837 (privatize_symbol_name): Privatize both decl and orig_decl
7838 names for instrumented functions.
7839 * cgraph.c (cgraph_node::verify_node): Add transparent
7840 alias chain check for instrumented node.
7841
7842 2015-06-03 Marek Polacek <polacek@redhat.com>
7843
7844 PR c/64223
7845 PR c/29358
7846 * tree.c (attribute_value_equal): Handle attribute format.
7847 (cmp_attrib_identifiers): Factor out of lookup_ident_attribute.
7848
7849 2015-06-03 Richard Biener <rguenther@suse.de>
7850
7851 PR tree-optimization/63916
7852 * tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address):
7853 Forward-propagate non-invariant addresses by splicing their
7854 reference ops if the result isn't going to be used by PRE.
7855 (vn_reference_lookup_3): Remove pointless assert.
7856
7857 2015-06-03 Richard Biener <rguenther@suse.de>
7858
7859 PR tree-optimization/66375
7860 * tree-scalar-evolution.c (follow_ssa_edge_binary): First
7861 add to the evolution before following SSA edges.
7862
7863 2015-06-03 Bin Cheng <bin.cheng@arm.com>
7864
7865 * tree-ssa-loop-ivopts.c (dump_iv): New parameter.
7866 (dump_use, dump_cand, find_induction_variables): Pass new argument
7867 to dump_iv.
7868 (record_use): Preserve the ssa name information in IV.
7869
7870 2015-06-03 Richard Sandiford <richard.sandiford@arm.com>
7871
7872 * genpreds.c (mark_mode_tests): Mark all MATCH_CODEs as
7873 NO_MODE_TEST.
7874 (add_mode_tests): Don't add mode tests if the predicate only
7875 accepts scalar constant integers. Otherwise, allow the mode
7876 of "op" to be VOIDmode if the predicate does accept such integers.
7877
7878 2015-06-02 Jim Wilson <jim.wilson@linaro.org>
7879
7880 PR target/66258
7881 * config/aarch64/aarch64.c (aarch64_function_value_regno_p): Change
7882 !TARGET_GENERAL_REGS_ONLY to TARGET_FLOAT.
7883 (aarch64_secondary_reload): Likewise
7884 (aarch64_expand_builtin_va_start): Change TARGET_GENERAL_REGS_ONLY
7885 to !TARGET_FLOAT.
7886 (aarch64_gimplify_va_arg_expr, aarch64_setup_incoming_varargs):
7887 Likewise.
7888
7889 2015-06-03 Kugan Vivekanandarajah <kuganv@linaro.org>
7890 Zhenqiang Chen <zhenqiang.chen@linaro.org>
7891
7892 PR target/65768
7893 * cprop.c (try_replace_reg): Check cost of constants before propagating.
7894
7895 2015-06-02 Michael Meissner <meissner@linux.vnet.ibm.com>
7896
7897 * config/rs6000/rs6000-modes.def (IFmode): Define IFmode to
7898 provide access to the IBM extended double floating point mode if
7899 long double is IEEE 128-bit floating point.
7900 (KFmode): Define KFmode to provide access to IEEE 128-bit floating
7901 point if long double is the IBM extended double type.
7902
7903 * config/rs6000/rs6000.opt (-mfloat128-none): New switches to
7904 enable adding IEEE 128-bit floating point support.
7905 (-mfloat128-software): Likewise.
7906 (-mfloat128-sw): Likewise.
7907
7908 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Do not allow
7909 128-bit floating point types to occupy any register if
7910 -mlong-double-64. Do not allow use of IFmode/KFmode unless
7911 -mfloat128-software is enabled.
7912 (rs6000_debug_reg_global): Add IEEE 128-bit floating point debug
7913 support.
7914 (rs6000_option_override_internal): Add -mfloat128-* support.
7915 (rs6000_init_builtins): Setup __ibm128 and __float128 type modes.
7916
7917 * config/rs6000/rs6000.h (rs6000_builtin_type_index): Add ibm128
7918 and float128 type nodes.
7919 (ieee128_float_type_node): Likewise.
7920 (ibm128_float_type_node): Likewise.
7921
7922 2015-06-02 Szabolcs Nagy <szabolcs.nagy@arm.com>
7923
7924 PR target/66136
7925 * config/aarch64/geniterators.sh: Rewrite in awk.
7926
7927 2015-06-02 Martin Liska <mliska@suse.cz>
7928
7929 * alloc-pool.h (pool_allocator::pool_allocator): Set implicit
7930 values to avoid -Wmaybe-uninitialized errors.
7931
7932 2015-06-02 Richard Biener <rguenther@suse.de>
7933
7934 PR debug/65549
7935 * dwarf2out.c (lookup_context_die): New function.
7936 (resolve_addr): Avoid forcing a full DIE for the
7937 target of a DW_TAG_GNU_call_site during late compilation.
7938 Instead create a stub DIE without a type if we have a
7939 context DIE present.
7940
7941 2015-06-02 Uros Bizjak <ubizjak@gmail.com>
7942
7943 * df-scan.c (df_scan_start_dump): Add space between regno and regname.
7944
7945 2015-06-02 Bin Cheng <bin.cheng@arm.com>
7946
7947 PR tree-optimization/48052
7948 * cfgloop.h (struct control_iv): New.
7949 (struct loop): New field control_ivs.
7950 * tree-ssa-loop-niter.c : Include "stor-layout.h".
7951 (number_of_iterations_lt): Set no_overflow information.
7952 (number_of_iterations_exit): Init control iv in niter struct.
7953 (record_control_iv): New.
7954 (estimate_numbers_of_iterations_loop): Call record_control_iv.
7955 (loop_exits_before_overflow): New. Interface factored out of
7956 scev_probably_wraps_p.
7957 (scev_probably_wraps_p): Factor loop niter related code into
7958 loop_exits_before_overflow.
7959 (free_numbers_of_iterations_estimates_loop): Free control ivs.
7960 * tree-ssa-loop-niter.h (free_loop_control_ivs): New.
7961
7962 2015-06-02 Eric Botcazou <ebotcazou@adacore.com>
7963
7964 * gimplify.c (gimplify_modify_expr): Do not create a DECL_DEBUG_EXPR if
7965 the target doesn't belong to the current function.
7966
7967 2015-06-02 Marek Polacek <polacek@redhat.com>
7968
7969 PR middle-end/66345
7970 * gimple-fold.c (gimple_fold_builtin_snprintf): Return false if
7971 get_maxval_strlen does not produce an INTEGER_CST.
7972
7973 2015-06-02 Richard Sandiford <richard.sandiford@arm.com>
7974
7975 * config/arc/constraints.md: Use lower-case names in match_code.
7976 * config/mmix/constraints.md: Likewise.
7977
7978 2015-06-02 Richard Biener <rguenther@suse.de>
7979
7980 PR tree-optimization/65961
7981 * tree-vect-slp.c (vect_get_and_check_slp_defs): Remove bogus
7982 check and clarify dump message.
7983 (vect_build_slp_tree): If all children are built up from scalars
7984 build up the parent from scalars instead.
7985 * tree-vect-stmts.c (vect_is_simple_use): Cleanup.
7986
7987 2015-06-02 Jan Kratochvil <jan.kratochvil@redhat.com>
7988
7989 PR other/65366
7990 * gdbhooks.py: Use int(...) instead of long(...). Use print(...)
7991 instead of print ... .
7992
7993 2015-06-02 Alan Modra <amodra@gmail.com>
7994
7995 * config/rs6000/vsx.md (vsx_extract_v4sf): Revert accidental
7996 2014-08-11 change.
7997
7998 2015-06-02 Bin Cheng <bin.cheng@arm.com>
7999
8000 PR tree-optimization/52563
8001 PR tree-optimization/62173
8002 * tree-ssa-loop-ivopts.c (struct iv): New field. Reorder fields.
8003 (alloc_iv, set_iv): New parameter.
8004 (determine_biv_step): Delete.
8005 (find_bivs): Inline original determine_biv_step. Pass new
8006 argument to set_iv.
8007 (idx_find_step): Use no_overflow information for conversion.
8008 * tree-scalar-evolution.c (analyze_scalar_evolution_in_loop): Let
8009 resolve_mixers handle folded_casts.
8010 (instantiate_scev_name): Change bool parameter to bool pointer.
8011 (instantiate_scev_poly, instantiate_scev_binary): Ditto.
8012 (instantiate_array_ref, instantiate_scev_not): Ditto.
8013 (instantiate_scev_3, instantiate_scev_2): Ditto.
8014 (instantiate_scev_1, instantiate_scev_r): Ditto.
8015 (instantiate_scev_convert, ): Change parameter. Pass argument
8016 to chrec_convert_aggressive.
8017 (instantiate_scev): Change argument.
8018 (resolve_mixers): New parameter and set it.
8019 (scev_const_prop): New argument.
8020 * tree-scalar-evolution.h (resolve_mixers): New parameter.
8021 * tree-chrec.c (convert_affine_scev): Call chrec_convert instead
8022 of chrec_conert_1.
8023 (chrec_convert): New parameter. Move definition below.
8024 (chrec_convert_aggressive): New parameter and set it. Call
8025 convert_affine_scev.
8026 * tree-chrec.h (chrec_convert): New parameter.
8027 (chrec_convert_aggressive): Ditto.
8028
8029 2015-06-01 Eric Botcazou <ebotcazou@adacore.com>
8030
8031 * gimplify.c (gimplify_modify_expr_rhs): Use simple test on the size.
8032 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Do not remove
8033 the LHS of a no-return call if its type has variable size.
8034 * tree-cfgcleanup.c (fixup_noreturn_call): Likewise.
8035 * tree-cfg.c (verify_gimple_call): Accept these no-return calls.
8036
8037 2015-06-01 Andreas Tobler <andreast@gcc.gnu.org>
8038
8039 * read-rtl.c: Adapt to use HAVE_DECL_ATOLL instead of HAVE_ATOLL.
8040 * config.in: Regenerate.
8041
8042 2015-06-01 Yuri Rumyantsev <ysrumyan@gmail.com>
8043
8044 * tree-vect-data-refs.c (vect_analyze_data_ref_access): Allow
8045 consecutive accesses within outer-loop with force_vectorize
8046 for references with zero step in inner-loop.
8047
8048 2015-06-01 Vidya Praveen <vidyapraveen@arm.com>
8049
8050 * Makefile.in: Pick up gcov-dump dependencies from gcc/ directory
8051 rather than from gcc/build directory.
8052
8053 2015-06-01 Matthew Wahab <matthew.wahab@arm.com>
8054
8055 PR target/65697
8056 * config/aarch64/aarch64.c (aarch64_split_compare_and_swap): Check
8057 for __sync memory models, emit initial loads and final barriers as
8058 appropriate.
8059
8060 2015-06-01 Matthew Wahab <matthew.wahab@arm.com>
8061
8062 PR target/65697
8063 * config/aarch64/aarch64.c (aarch64_emit_post_barrier):New.
8064 (aarch64_split_atomic_op): Check for __sync memory models, emit
8065 appropriate initial loads and final barriers.
8066
8067 2015-06-01 Vidya Praveen <vidyapraveen@arm.com>
8068
8069 * Makefile.in: Fix gcov dependencies that should
8070 not point to a build folder.
8071
8072 2015-06-01 Richard Biener <rguenther@suse.de>
8073
8074 Revert
8075 2015-05-29 Richard Biener <rguenther@suse.de>
8076
8077 PR tree-optimization/66314
8078 * tree-ssa-threadupdate.c (create_block_for_threading): Add
8079 parameter that says which loop the new block belongs to.
8080 (ssa_create_duplicates): Blocks duplicated for the threaded
8081 path belong to the loop of the thread destination.
8082
8083 2015-06-01 Martin Liska <mliska@suse.cz>
8084
8085 * sched-deps.c: Include pool-alloc.h before
8086 cselib.h header file is included.
8087
8088 2015-06-01 Richard Biener <rguenther@suse.de>
8089
8090 * tree-ssa-structalias.c (ipa_pta_execute): Handle address-taken
8091 functions.
8092
8093 2015-06-01 Martin Liska <mliska@suse.cz>
8094
8095 * alloc-pool.h: Add ATTRIBUTE_UNUSED for
8096 a function local variable.
8097
8098 2015-06-01 Martin Liska <mliska@suse.cz>
8099
8100 * alloc-pool.c (create_alloc_pool): Remove.
8101 (empty_alloc_pool): Likewise.
8102 (free_alloc_pool): Likewise.
8103 (free_alloc_pool_if_empty): Likewise.
8104 (pool_alloc): Likewise.
8105 (pool_free): Likewise.
8106 * alloc-pool.h: Remove old declarations.
8107
8108 2015-06-01 Martin Liska <mliska@suse.cz>
8109
8110 * ira-build.c (initiate_allocnos): Use new type-based pool allocator.
8111 (ira_create_object): Likewise.
8112 (ira_create_allocno): Likewise.
8113 (ira_create_live_range): Likewise.
8114 (copy_live_range): Likewise.
8115 (ira_finish_live_range): Likewise.
8116 (ira_free_allocno_costs): Likewise.
8117 (finish_allocno): Likewise.
8118 (finish_allocnos): Likewise.
8119 (initiate_prefs): Likewise.
8120 (ira_create_pref): Likewise.
8121 (finish_pref): Likewise.
8122 (finish_prefs): Likewise.
8123 (initiate_copies): Likewise.
8124 (ira_create_copy): Likewise.
8125 (finish_copy): Likewise.
8126 (finish_copies): Likewise.
8127 (finish_prefs): Likewise.
8128
8129 2015-06-01 Martin Liska <mliska@suse.cz>
8130
8131 * ipa-cp.c (ipcp_value::add_source): Use new type-based pool allocator.
8132 (allocate_and_init_ipcp_value): Likewise.
8133 (ipcp_lattice::add_value): Likewise.
8134 (merge_agg_lats_step): Likewise.
8135 (ipcp_driver): Likewise.
8136 * ipa-prop.c (ipa_free_all_structures_after_ipa_cp): Likewise.
8137 (ipa_free_all_structures_after_iinln): Likewise.
8138 * ipa-prop.h: Likewise.
8139
8140 2015-06-01 Martin Liska <mliska@suse.cz>
8141
8142 * ipa-inline-analysis.c (edge_set_predicate): Use new type-based
8143 pool allocator.
8144 (set_hint_predicate): Likewise.
8145 (inline_summary_alloc): Likewise.
8146 (reset_inline_edge_summary): Likewise.
8147 (reset_inline_summary): Likewise.
8148 (set_cond_stmt_execution_predicate): Likewise.
8149 (set_switch_stmt_execution_predicate): Likewise.
8150 (compute_bb_predicates): Likewise.
8151 (estimate_function_body_sizes): Likewise.
8152 (inline_free_summary): Likewise.
8153
8154 2015-06-01 Martin Liska <mliska@suse.cz>
8155
8156 * ipa-prop.c (ipa_set_jf_constant): Use new type-based pool allocator.
8157 (ipa_edge_duplication_hook): Likewise.
8158 (ipa_free_all_structures_after_ipa_cp): Likewise.
8159 (ipa_free_all_structures_after_iinln): Likewise.
8160
8161 2015-06-01 Martin Liska <mliska@suse.cz>
8162
8163 * ipa-profile.c (account_time_size): Use new type-based pool allocator.
8164 (ipa_profile_generate_summary): Likewise.
8165 (ipa_profile_read_summary): Likewise.
8166 (ipa_profile): Likewise.
8167
8168 2015-06-01 Martin Liska <mliska@suse.cz>
8169
8170 * tree-ssa-structalias.c (new_var_info): Use new type-based
8171 pool allocator.
8172 (new_constraint): Likewise.
8173 (init_alias_vars): Likewise.
8174 (delete_points_to_sets): Likewise.
8175
8176 2015-06-01 Martin Liska <mliska@suse.cz>
8177
8178 * tree-ssa-strlen.c (new_strinfo): Use new type-based pool allocator.
8179 (free_strinfo): Likewise.
8180 (pass_strlen::execute): Likewise.
8181
8182 2015-06-01 Martin Liska <mliska@suse.cz>
8183
8184 * tree-ssa-sccvn.c (vn_reference_insert): Use new type-based
8185 pool allocator.
8186 (vn_reference_insert_pieces): Likewise.
8187 (vn_phi_insert): Likewise.
8188 (visit_reference_op_call): Likewise.
8189 (copy_phi): Likewise.
8190 (copy_reference): Likewise.
8191 (process_scc): Likewise.
8192 (allocate_vn_table): Likewise.
8193 (free_vn_table): Likewise.
8194
8195 2015-06-01 Martin Liska <mliska@suse.cz>
8196
8197 * tree-ssa-reassoc.c (add_to_ops_vec): Use new type-based
8198 pool allocator.
8199 (add_repeat_to_ops_vec): Likewise.
8200 (get_ops): Likewise.
8201 (maybe_optimize_range_tests): Likewise.
8202 (init_reassoc): Likewise.
8203 (fini_reassoc): Likewise.
8204
8205 2015-06-01 Martin Liska <mliska@suse.cz>
8206
8207 * tree-ssa-pre.c (get_or_alloc_expr_for_name): Use new type-based
8208 pool allocator.
8209 (bitmap_set_new): Likewise.
8210 (get_or_alloc_expr_for_constant): Likewise.
8211 (get_or_alloc_expr_for): Likewise.
8212 (phi_translate_1): Likewise.
8213 (compute_avail): Likewise.
8214 (init_pre): Likewise.
8215 (fini_pre): Likewise.
8216
8217 2015-06-01 Martin Liska <mliska@suse.cz>
8218
8219 * sched-deps.c (create_dep_node): Use new type-based pool allocator.
8220 (delete_dep_node): Likewise.
8221 (create_deps_list): Likewise.
8222 (free_deps_list): Likewise.
8223 (sched_deps_init): Likewise.
8224 (sched_deps_finish): Likewise.
8225
8226 2015-06-01 Martin Liska <mliska@suse.cz>
8227
8228 * regcprop.c (free_debug_insn_changes): Use new type-based
8229 pool allocator.
8230 (replace_oldest_value_reg): Likewise.
8231 (pass_cprop_hardreg::execute): Likewise.
8232
8233 2015-06-01 Martin Liska <mliska@suse.cz>
8234
8235 * ira-build.c (initiate_cost_vectors): Use new type-based
8236 pool allocator.
8237 (ira_allocate_cost_vector): Likewise.
8238 (ira_free_cost_vector): Likewise.
8239 (finish_cost_vectors): Likewise.
8240
8241 2015-06-01 Martin Liska <mliska@suse.cz>
8242
8243 * sel-sched-ir.c (alloc_sched_pools): Use new type-based
8244 pool allocator.
8245 (free_sched_pools): Likewise.
8246 * sel-sched-ir.h (_list_alloc): Likewise.
8247 (_list_remove): Likewise.
8248
8249 2015-06-01 Martin Liska <mliska@suse.cz>
8250
8251 * stmt.c (add_case_node): Use new type-based pool allocator.
8252 (expand_case): Likewise.
8253 (expand_sjlj_dispatch_table): Likewise.
8254
8255 2015-06-01 Martin Liska <mliska@suse.cz>
8256
8257 * tree-ssa-math-opts.c (occ_new): Use new type-based pool allocator.
8258 (free_bb): Likewise.
8259 (pass_cse_reciprocals::execute): Likewise.
8260
8261 2015-06-01 Martin Liska <mliska@suse.cz>
8262
8263 * tree-sra.c (sra_initialize): Use new type-based pool allocator.
8264 (sra_deinitialize) Likewise.
8265 (create_access_1) Likewise.
8266 (build_accesses_from_assign) Likewise.
8267 (create_artificial_child_access) Likewise.
8268
8269 2015-06-01 Martin Liska <mliska@suse.cz>
8270
8271 * dse.c (get_group_info):Use new type-based pool allocator.
8272 (dse_step0) Likewise.
8273 (free_store_info) Likewise.
8274 (delete_dead_store_insn) Likewise.
8275 (free_read_records) Likewise.
8276 (record_store) Likewise.
8277 (replace_read) Likewise.
8278 (check_mem_read_rtx) Likewise.
8279 (scan_insn) Likewise.
8280 (dse_step1) Likewise.
8281 (dse_step7) Likewise.
8282
8283 2015-06-01 Martin Liska <mliska@suse.cz>
8284
8285 * df-scan.c (struct df_scan_problem_data):Use new type-based
8286 pool allocator.
8287 (df_scan_free_internal) Likewise.
8288 (df_scan_alloc) Likewise.
8289 (df_grow_reg_info) Likewise.
8290 (df_free_ref) Likewise.
8291 (df_insn_create_insn_record) Likewise.
8292 (df_mw_hardreg_chain_delete) Likewise.
8293 (df_insn_info_delete) Likewise.
8294 (df_free_collection_rec) Likewise.
8295 (df_mw_hardreg_chain_delete_eq_uses) Likewise.
8296 (df_sort_and_compress_mws) Likewise.
8297 (df_ref_create_structure) Likewise.
8298 (df_ref_record) Likewise.
8299
8300 2015-06-01 Martin Liska <mliska@suse.cz>
8301
8302 * df-problems.c (df_chain_create):Use new type-based pool allocator.
8303 (df_chain_unlink_1) Likewise.
8304 (df_chain_unlink) Likewise.
8305 (df_chain_remove_problem) Likewise.
8306 (df_chain_alloc) Likewise.
8307 (df_chain_free) Likewise.
8308 * df.h (struct dataflow) Likewise.
8309
8310 2015-06-01 Martin Liska <mliska@suse.cz>
8311
8312 * cselib.c (new_elt_list):Use new type-based pool allocator.
8313 (new_elt_loc_list) Likewise.
8314 (unchain_one_elt_list) Likewise.
8315 (unchain_one_elt_loc_list) Likewise.
8316 (unchain_one_value) Likewise.
8317 (new_cselib_val) Likewise.
8318 (cselib_init) Likewise.
8319 (cselib_finish) Likewise.
8320
8321 2015-06-01 Martin Liska <mliska@suse.cz>
8322
8323 * config/sh/sh.c (add_constant):Use new type-based pool allocator.
8324 (sh_reorg) Likewise.
8325
8326 2015-06-01 Martin Liska <mliska@suse.cz>
8327
8328 * cfg.c (initialize_original_copy_tables):Use new type-based
8329 pool allocator.
8330 (free_original_copy_tables) Likewise.
8331 (copy_original_table_clear) Likewise.
8332 (copy_original_table_set) Likewise.
8333
8334 2015-06-01 Martin Liska <mliska@suse.cz>
8335
8336 * asan.c (asan_mem_ref_get_alloc_pool):Use new type-based
8337 pool allocator.
8338 (asan_mem_ref_new) Likewise.
8339 (free_mem_ref_resources) Likewise.
8340
8341 2015-06-01 Martin Liska <mliska@suse.cz>
8342
8343 * var-tracking.c (variable_htab_free):Use new type-based
8344 pool allocator.
8345 (attrs_list_clear) Likewise.
8346 (attrs_list_insert) Likewise.
8347 (attrs_list_copy) Likewise.
8348 (shared_hash_unshare) Likewise.
8349 (shared_hash_destroy) Likewise.
8350 (unshare_variable) Likewise.
8351 (var_reg_delete_and_set) Likewise.
8352 (var_reg_delete) Likewise.
8353 (var_regno_delete) Likewise.
8354 (drop_overlapping_mem_locs) Likewise.
8355 (variable_union) Likewise.
8356 (insert_into_intersection) Likewise.
8357 (canonicalize_values_star) Likewise.
8358 (variable_merge_over_cur) Likewise.
8359 (dataflow_set_merge) Likewise.
8360 (remove_duplicate_values) Likewise.
8361 (variable_post_merge_new_vals) Likewise.
8362 (dataflow_set_preserve_mem_locs) Likewise.
8363 (dataflow_set_remove_mem_locs) Likewise.
8364 (variable_from_dropped) Likewise.
8365 (variable_was_changed) Likewise.
8366 (set_slot_part) Likewise.
8367 (clobber_slot_part) Likewise.
8368 (delete_slot_part) Likewise.
8369 (loc_exp_insert_dep) Likewise.
8370 (notify_dependents_of_changed_value) Likewise.
8371 (emit_notes_for_differences_1) Likewise.
8372 (vt_emit_notes) Likewise.
8373 (vt_initialize) Likewise.
8374 (vt_finalize) Likewise.
8375
8376 2015-06-01 Martin Liska <mliska@suse.cz>
8377
8378 * ira-color.c (init_update_cost_records):Use new type-based
8379 pool allocator.
8380 (get_update_cost_record) Likewise.
8381 (free_update_cost_record_list) Likewise.
8382 (finish_update_cost_records) Likewise.
8383 (initiate_cost_update) Likewise.
8384
8385 2015-06-01 Martin Liska <mliska@suse.cz>
8386
8387 * lra.c (init_insn_regs): Use new type-based pool allocator.
8388 (new_insn_reg) Likewise.
8389 (free_insn_reg) Likewise.
8390 (free_insn_regs) Likewise.
8391 (finish_insn_regs) Likewise.
8392 (init_insn_recog_data) Likewise.
8393 (init_reg_info) Likewise.
8394 (finish_reg_info) Likewise.
8395 (lra_free_copies) Likewise.
8396 (lra_create_copy) Likewise.
8397 (invalidate_insn_data_regno_info) Likewise.
8398
8399 2015-06-01 Martin Liska <mliska@suse.cz>
8400
8401 * lra-lives.c (free_live_range): Use new type-based pool allocator.
8402 (free_live_range_list) Likewise.
8403 (create_live_range) Likewise.
8404 (copy_live_range) Likewise.
8405 (lra_merge_live_ranges) Likewise.
8406 (remove_some_program_points_and_update_live_ranges) Likewise.
8407 (lra_live_ranges_init) Likewise.
8408 (lra_live_ranges_finish) Likewise.
8409
8410 2015-06-01 Martin Liska <mliska@suse.cz>
8411
8412 * et-forest.c (et_new_occ): Use new type-based pool allocator.
8413 (et_new_tree): Likewise.
8414 (et_free_tree): Likewise.
8415 (et_free_tree_force): Likewise.
8416 (et_free_pools): Likewise.
8417 (et_split): Likewise.
8418
8419 2015-06-01 Martin Liska <mliska@suse.cz>
8420
8421 * alloc-pool.c (struct alloc_pool_descriptor): Move definition
8422 to header file.
8423 * alloc-pool.h (pool_allocator::pool_allocator): New function.
8424 (pool_allocator::release): Likewise.
8425 (inline pool_allocator::release_if_empty): Likewise.
8426 (inline pool_allocator::~pool_allocator): Likewise.
8427 (pool_allocator::allocate): Likewise.
8428 (pool_allocator::remove): Likewise.
8429
8430 2015-06-01 James Greenhalgh <james.greenhalgh@arm.com>
8431
8432 * sched-deps.c (sched_analyze_2): Replace fuseable with fusible
8433 in comment.
8434
8435 2015-06-01 James Greenhalgh <james.greenhalgh@arm.com>
8436
8437 * gcc/config/arm/arm-protos.h (tune_params): Rename fuseable_ops
8438 to fusible_ops.
8439 * gcc/config/arm/arm.c (arm_print_tune_info): Likewise.
8440 (arm_macro_fusion_p): Likewise.
8441 (arm_macro_fusion_pair_p): Likewise.
8442
8443 2015-06-01 James Greenhalgh <james.greenhalgh@arm.com>
8444
8445 * config/aarch64/aarch64-protos.h (tune_params): Rename
8446 fuseable_ops to fusible_ops.
8447 * config/aarch64/aarch64.c (generic_tunings): Rename
8448 fuseable_ops to fusible_ops.
8449 (cortexa53_tunings): Likewise.
8450 (cortexa57_tunings): Likewise.
8451 (thunderx_tunings): Likewise.
8452 (xgene1_tunings): Likewise.
8453 (aarch64_macro_fusion_p): Likewise.
8454 (aarch64_macro_fusion_pair_p): Likewise.
8455
8456 2015-06-01 Dominik Vogt <vogt@linux.vnet.ibm.com>
8457
8458 * config/s390/driver-native.c: New file.
8459 * config/s390/x-native: New file.
8460 * config.host: Add new files for s390.
8461 * config/s390/s390.h (DRIVER_SELF_SPECS): Add support for -mtune=native
8462 and -march=native
8463 * config.gcc: Likewise.
8464 * config/s390/s390.opt (march): Likewise; add PROCESSOR_NATIVE
8465 * config/s390/s390-opts.h (enum processor_type): Ditto.
8466 * config/s390/s390.c (s390_option_override): Catch unhandled
8467 PROCESSOR_NATIVE
8468
8469 2015-06-01 Ilya Enkovich <ilya.enkovich@intel.com>
8470
8471 PR target/65527
8472 * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Add
8473 redirection for instrumented calls.
8474 * lto-wrapper.c (merge_and_complain): Merge -fcheck-pointer-bounds.
8475 (append_compiler_options): Append -fcheck-pointer-bounds.
8476 * tree-chkp.h (chkp_copy_call_skip_bounds): New.
8477 (chkp_redirect_edge): New.
8478 * tree-chkp.c (chkp_copy_call_skip_bounds): New.
8479 (chkp_redirect_edge): New.
8480
8481 2015-06-01 Richard Biener <rguenther@suse.de>
8482
8483 PR tree-optimization/66280
8484 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Fix pattern
8485 def-use walking.
8486
8487 2015-06-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8488
8489 * config/aarch64/aarch64.md
8490 (*<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3): Change type to
8491 logic_shift_imm.
8492
8493 2015-06-01 Eric Botcazou <ebotcazou@adacore.com>
8494
8495 * config/i386/winnt.c (i386_pe_encode_section_info) <FUNCTION_DECL>:
8496 Remove obsolete kludge.
8497
8498 2015-06-01 Richard Biener <rguenther@suse.de>
8499
8500 * tree-ssa-reassoc.c (get_rank): Simplify.
8501
8502 2015-05-31 H.J. Lu <hongjiu.lu@intel.com>
8503
8504 * configure.ac (NO_PIE_CFLAGS): Check CXXFLAGS instead of CFLAGS.
8505 * configure: Regenerated.
8506
8507 2015-05-31 Mikhail Maltsev <maltsevm@gmail.com>
8508
8509 * config/cris/cris.h (CRIS_ARCH_CPP_DEFAULT): Fix C++11 compatibility
8510 issue (add space between string literal and macro).
8511 * config/i386/mingw32.h (REAL_LIBGCC_SPEC): Likewise.
8512
8513 2015-05-30 Andreas Schwab <schwab@linux-m68k.org>
8514
8515 * config/m68k/m68k.h (ASM_PCREL_SPEC): Pass --pcrel also for
8516 implict or explicit -fPIE or -fpie.
8517
8518 2015-05-30 Mike Frysinger <vapier@gentoo.org>
8519
8520 * gcc/config/alpha/elf.h (ASM_SPEC): Add %{mcpu=*:-m%*}.
8521
8522 2015-05-28 DJ Delorie <dj@redhat.com>
8523
8524 * expmed.c (extract_bit_field_1): Avoid clobbering a
8525 yet-to-be-used base/index register.
8526
8527 2015-05-30 Jan Hubicka <hubicka@ucw.cz>
8528
8529 * alias.c (alias_set_entry_d): Add is_pointer and has_pointer.
8530 (alias_stats): Add num_universal.
8531 (alias_set_subset_of): Special case pointers; be ready for NULL
8532 children.
8533 (alias_sets_conflict_p): Special case pointers; be ready for NULL
8534 children.
8535 (init_alias_set_entry): Break out from ...
8536 (record_alias_subset): ... here; propagate new fields;
8537 allocate children only when really needed.
8538 (get_alias_set): Do less generous pointer globbing.
8539 (dump_alias_stats_in_alias_c): Update statistics.
8540
8541 2015-05-30 Alan Modra <amodra@gmail.com>
8542
8543 * config/rs6000/rs6000.c (split_stack_arg_pointer_used_p): Scan
8544 correct block for use of r12.
8545 (rs6000_expand_split_stack_prologue): Error on r29 asm global reg.
8546
8547 2015-05-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
8548
8549 PR target/66215
8550 * config/s390/s390.c (s390_reorg): Fix placement of post-label NOPs
8551 with -mhotpatch=.
8552
8553 2015-05-29 Jakub Jelinek <jakub@redhat.com>
8554
8555 PR tree-optimization/66142
8556 * tree-if-conv.c (if_convertible_phi_p): Don't give up on
8557 virtual phis that feed themselves.
8558
8559 2015-05-29 Richard Biener <rguenther@suse.de>
8560
8561 PR tree-optimization/66314
8562 * tree-ssa-threadupdate.c (create_block_for_threading): Add
8563 parameter that says which loop the new block belongs to.
8564 (ssa_create_duplicates): Blocks duplicated for the threaded
8565 path belong to the loop of the thread destination.
8566
8567 2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
8568
8569 * config/arm/neon-testgen.ml (emit_epilogue): Remove manual call
8570 to cleanup-saved-temps.
8571 * doc/sourcebuild.texi (Clean up generated test files): Expand
8572 introduction.
8573 (dg-keep-saved-temps): Document new proc.
8574 (cleanup-ipa-dump, cleanup-rtl-dump, cleanup-tree-dump,
8575 cleanup-saved-temps): Remove.
8576
8577 2015-05-28 Andreas Tobler <andreast@gcc.gnu.org>
8578
8579 * configure.ac: Move the atoll check from AC_CHECK_FUNCS to
8580 gcc_AC_CHECK_DECLS.
8581 * configure: Regenerate.
8582
8583 2015-05-28 Mike Frysinger <vapier@gentoo.org>
8584
8585 * config/nios2/linux.h (CPP_SPEC): Define.
8586
8587 2015-05-28 Mike Frysinger <vapier@gentoo.org>
8588
8589 * config/microblaze/linux.h (CPP_SPEC): Define.
8590
8591 2015-05-28 Mike Frysinger <vapier@gentoo.org>
8592
8593 * config/pa/pa-linux.h (CPP_SPEC): Change so -D_REENTRANT is used when
8594 -pthread is specified.
8595
8596 2015-05-28 Richard Biener <rguenther@suse.de>
8597
8598 * tree-vect-loop.c (vect_fixup_reduc_chain): New function.
8599 (vect_fixup_scalar_cycles_with_patterns): Likewise.
8600 (vect_analyze_loop_2): Call vect_fixup_scalar_cycles_with_patterns
8601 after pattern recog.
8602 (vect_create_epilog_for_reduction): Properly handle reductions
8603 with patterns.
8604 (vectorizable_reduction): Likewise.
8605 * tree-vect-slp.c (vect_analyze_slp_instance): Properly mark
8606 reduction chains.
8607 (vect_get_constant_vectors): Create the correct number of
8608 initial values for reductions.
8609 (vect_schedule_slp_instance): Handle reduction chains that are
8610 type changing properly.
8611 * tree-vect-stmts.c (vect_analyze_stmt): Adjust.
8612
8613 2015-05-28 Richard Biener <rguenther@suse.de>
8614
8615 PR tree-optimization/66142
8616 * tree-ssa-sccvn.c (vn_reference_lookup_3): Handle non-GIMPLE
8617 values better in memcpy destination handling. Handle non-aliasing
8618 we discover here.
8619
8620 2015-05-28 Lawrence Velázquez <vq@larryv.me>
8621
8622 PR target/63810
8623 * config/darwin-c.c (version_components): New global enum.
8624 (parse_version, version_as_legacy_macro)
8625 (version_as_modern_macro, macosx_version_as_macro): New functions.
8626 (version_as_macro): Remove.
8627 (darwin_cpp_builtins): Use new function.
8628
8629 2015-05-28 H.J. Lu <hongjiu.lu@intel.com>
8630
8631 * builtins.c (expand_builtin_acc_on_device): Mark parameters
8632 with ATTRIBUTE_UNUSED.
8633
8634 2015-05-28 Julian Brown <julian@codesourcery.com>
8635
8636 PR libgomp/65742
8637
8638 * builtins.c (expand_builtin_acc_on_device): Don't use open-coded
8639 sequence for !ACCEL_COMPILER.
8640
8641 2015-05-28 Nick Clifton <nickc@redhat.com>
8642
8643 * config/rx/rx.c (push_regs): New function. Extracts code from...
8644 (rx_expand_prologue): ... here. Use push_regs to push even small
8645 spans of registers.
8646 (pop_regs): New function.
8647 (rx_expand_epilogue): Use pop_regs to pop even small spans of
8648 registers.
8649
8650 2015-05-28 Richard Biener <rguenther@suse.de>
8651
8652 * tree-vectorizer.h (struct _slp_instance): Remove body_cost_vec
8653 member.
8654 (SLP_INSTANCE_BODY_COST_VEC): Remove.
8655 (vect_update_slp_costs_according_to_vf): Likewise.
8656 (vect_slp_analyze_operations): Update prototype.
8657 * tree-vect-loop.c (vect_analyze_loop_2): Remove call to
8658 vect_update_slp_costs_according_to_vf, adjust.
8659 * tree-vect-slp.c (vect_free_slp_instance): Adjust.
8660 (vect_analyze_slp_cost_1): Likewise.
8661 (vect_analyze_slp_cost): Likewise. Properly deal with
8662 widening reduction ops. Commit body costs.
8663 (vect_analyze_slp_instance): Adjust. Do not analyze SLP
8664 cost for loops from here.
8665 (vect_slp_analyze_operations): But do it from here when
8666 the vectorization factor is known and stmts are analyzed.
8667 (vect_bb_vectorization_profitable_p): Simplify.
8668 (vect_slp_analyze_bb_1): Do not compute SLP cost here.
8669 (vect_update_slp_costs_according_to_vf): Remove.
8670
8671 2015-05-27 Magnus Granberg <zorry@gentoo.org>
8672 H.J. Lu <hongjiu.lu@intel.com>
8673
8674 * Makefile.in (COMPILER): Add @NO_PIE_CFLAGS@.
8675 (BUILD_CFLAGS): Likewise.
8676 (BUILD_CXXFLAGS): Likewise.
8677 (LINKER): Add @NO_PIE_FLAG@.
8678 (BUILD_LDFLAGS): Likewise.
8679 (libgcc.mvars): Set NO_PIE_CFLAGS to -fno-PIE for
8680 --enable-default-pie.
8681 * common.opt (fPIE): Initialize to -1.
8682 (fpie): Likewise.
8683 (no-pie): New option.
8684 (pie): Replace "Negative(shared)" with "Negative(no-pie)".
8685 * configure.ac: Add --enable-default-pie.
8686 (NO_PIE_CFLAGS): New. Check if -fno-PIE works. AC_SUBST.
8687 (NO_PIE_FLAG): New. Check if -no-pie works. AC_SUBST.
8688 * defaults.h (DEFAULT_FLAG_PIE): New. Default PIE to -fPIE.
8689 * gcc.c (NO_PIE_SPEC): New.
8690 (PIE_SPEC): Likewise.
8691 (NO_FPIE1_SPEC): Likewise.
8692 (FPIE1_SPEC): Likewise.
8693 (NO_FPIE2_SPEC): Likewise.
8694 (FPIE2_SPEC): Likewise.
8695 (NO_FPIE2_SPEC): Likewise.
8696 (FPIE_SPEC): Likewise.
8697 (NO_FPIE_SPEC): Likewise.
8698 (NO_FPIC1_SPEC): Likewise.
8699 (FPIC1_SPEC): Likewise.
8700 (NO_FPIC2_SPEC): Likewise.
8701 (FPIC2_SPEC): Likewise.
8702 (NO_FPIC2_SPEC): Likewise.
8703 (FPIC_SPEC): Likewise.
8704 (NO_FPIC_SPEC): Likewise.
8705 (NO_FPIE1_AND_FPIC1_SPEC): Likewise.
8706 (FPIE1_OR_FPIC1_SPEC): Likewise.
8707 (NO_FPIE2_AND_FPIC2_SPEC): Likewise.
8708 (FPIE2_OR_FPIC2_SPEC): Likewise.
8709 (NO_FPIE_AND_FPIC_SPEC): Likewise.
8710 (FPIE_OR_FPIC_SPEC): Likewise.
8711 (LD_PIE_SPEC): Likewise.
8712 (LINK_PIE_SPEC): Handle -no-pie. Use PIE_SPEC and LD_PIE_SPEC.
8713 * opts.c (finish_options): Update opts->x_flag_pie if it is -1.
8714 * config/darwin.h (PIE_SPEC): Renamed to ...
8715 (DARWIN_PIE_SPEC): This.
8716 (LINK_SPEC): Replace PIE_SPEC with DARWIN_PIE_SPEC.
8717 * config/darwin9.h (PIE_SPEC): Renamed to ...
8718 (DARWIN_PIE_SPEC): This.
8719 * config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Use
8720 PIE_SPEC and NO_PIE_SPEC if HAVE_LD_PIE is defined.
8721 * config/openbsd.h (ASM_SPEC): Use FPIE1_OR_FPIC1_SPEC and
8722 FPIE2_OR_FPIC2_SPEC.
8723 * config/m68k/netbsd-elf.h (ASM_SPEC): Likewise.
8724 * config/m68k/openbsd.h (ASM_SPEC): Likewise.
8725 * gcc/config/sol2.h (ASM_PIC_SPEC): Likewise.
8726 * config/arm/freebsd.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
8727 * config/arm/netbsd-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
8728 * config/arm/semi.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
8729 * config/cris/linux.h (CRIS_ASM_SUBTARGET_SPEC): Likewise.
8730 * config/m32r/m32r.h (ASM_SPEC): Likewise.
8731 * config/m68k/uclinux.h (DRIVER_SELF_SPECS): Likewise.
8732 * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
8733 * config/rs6000/sysv4.h (ASM_SPEC): Likewise.
8734 * config/sparc/freebsd.h (ASM_SPEC): Likewise.
8735 * config/sparc/linux.h (ASM_SPEC): Likewise.
8736 * config/sparc/linux64.h (ASM_SPEC): Likewise.
8737 * config/sparc/netbsd-elf.h (ASM_SPEC): Likewise.
8738 * config/sparc/openbsd64.h (ASM_SPEC): Likewise.
8739 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
8740 * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
8741 * config/sparc/sparc.h (ASM_SPEC): Likewise.
8742 * config/sparc/sysv4.h (ASM_SPEC): Likewise.
8743 * config/sparc/vxworks.h (ASM_SPEC): Likewise.
8744 * config/c6x/elf-common.h (ASM_SPEC): Use NO_FPIC2_SPEC,
8745 FPIC2_SPEC, FPIC1_SPEC and FPIC2_SPEC.
8746 * config/c6x/uclinux-elf.h (LINK_SPEC): Use FPIE_SPEC.
8747 * config/frv/frv.h (DRIVER_SELF_SPECS): Use FPIC_SPEC,
8748 NO_FPIC_SPEC and NO_FPIE1_AND_FPIC1_SPEC.
8749 (ASM_SPEC): Use FPIE1_OR_FPIC1_SPEC and FPIE2_OR_FPIC2_SPEC.
8750 * config/m68k/m68k.h (ASM_PCREL_SPEC): Use FPIC_SPEC and NO_FPIC_SPEC.
8751 * config/mips/gnu-user.h (NO_SHARED_SPECS): Use NO_FPIE_AND_FPIC_SPEC.
8752 * config/mips/vxworks.h (SUBTARGET_ASM_SPEC): Use FPIC_SPEC.
8753 * config/rs6000/freebsd64.h (ASM_SPEC32): Likewise.
8754 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
8755 * config/vax/linux.h (ASM_SPEC): Likewise.
8756 * doc/install.texi: Document --enable-default-pie.
8757 * doc/invoke.texi: Document -no-pie.
8758 * config.in: Regenerated.
8759 * configure: Likewise.
8760
8761 2015-05-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
8762
8763 PR rtl-optimization/66168
8764 * loop-invariant.c (move_invariant_reg): Pass dest rather than reg to
8765 can_move_invariant_reg.
8766
8767 2015-05-27 John David Anglin <danglin@gcc.gnu.org>
8768
8769 PR target/66148
8770 * config/pa/pa.c (pa_emit_move_sequence): Correct placement of
8771 REG_EQUAL note when doing insert.
8772
8773 * config/pa/pa.c (pa_print_operand): Use HOST_WIDE_INT_PRINT_DEC
8774 instead of "%d" for 'o' operand.
8775
8776 2015-05-27 Nathan Sidwell <nathan@acm.org>
8777
8778 PR c++/66270
8779 * tree.c (build_pointer_type_for_mode): Canonical type does not
8780 inherit can_alias_all.
8781 (build_reference_type_for_mode): Likewise.
8782
8783 2015-05-27 Eric Botcazou <ebotcazou@adacore.com>
8784
8785 * expr.h (array_at_struct_end_p): Move to...
8786 (array_ref_element_size): Likewise.
8787 (component_ref_field_offset): Likewise.
8788 * tree.h (array_ref_element_size): ...here.
8789 (array_at_struct_end_p): Likewise.
8790 (component_ref_field_offset): Likewise.
8791 * expr.c (array_ref_element_size): Move to...
8792 (array_ref_low_bound): Likewise.
8793 (array_at_struct_end_p): Likewise.
8794 (array_ref_up_bound): Likewise.
8795 (component_ref_field_offset): Likewise.
8796 * tree.c (array_ref_element_size): ...here.
8797 (array_ref_low_bound): Likewise.
8798 (array_ref_up_bound): Likewise.
8799 (array_at_struct_end_p): Likewise.
8800 (component_ref_field_offset): Likewise.
8801
8802 2015-05-27 Gregor Richards <gregor.richards@uwaterloo.ca>
8803 Szabolcs Nagy <szabolcs.nagy@arm.com>
8804
8805 * config/aarch64/aarch64-linux.h (MUSL_DYNAMIC_LINKER): Define.
8806
8807 2015-05-27 Jason Merrill <jason@redhat.com>
8808
8809 PR bootstrap/66304
8810 * configure.ac: Use ACX_PROG_CXX_WARNING_OPTS,
8811 ACX_PROG_CXX_WARNING_ALMOST_PEDANTIC, and
8812 ACX_PROG_CXX_WARNINGS_ARE_ERRORS.
8813
8814 2015-05-22 Aditya Kumar <hiraditya@msn.com>
8815
8816 * auto-profile.c (afdo_calculate_branch_prob): Break once has_sample
8817 is true.
8818
8819 * statistics.c (statistics_fini_pass): Print pass name.
8820
8821 2015-05-27 Richard Biener <rguenther@suse.de>
8822
8823 PR tree-optimization/66272
8824 Revert parts of
8825 2014-08-15 Richard Biener <rguenther@suse.de>
8826
8827 PR tree-optimization/62031
8828 * tree-data-ref.c (dr_analyze_indices): Do not set
8829 DR_UNCONSTRAINED_BASE.
8830 (dr_may_alias_p): All indirect accesses have to go the
8831 formerly DR_UNCONSTRAINED_BASE path.
8832 * tree-data-ref.h (struct indices): Remove
8833 unconstrained_base member.
8834 (DR_UNCONSTRAINED_BASE): Remove.
8835
8836 2015-05-27 Aldy Hernandez <aldyh@redhat.com>
8837
8838 * dwarf2out.c: Remove block_map.
8839 (gen_call_site_die): Replace block_map use with BLOCK_DIE.
8840 (gen_lexical_block_die): Same.
8841 (dwarf2out_function_decl): Remove block_map use.
8842 (dwarf2out_c_finalize): Same.
8843 * tree-core.h (struct tree_block): Add die field.
8844 * tree.h (BLOCK_DIE): New.
8845
8846 2015-05-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8847
8848 PR target/65358
8849 * expr.c (memory_load_overlap): New function.
8850 (emit_push_insn): When pushing partial args to the stack would
8851 clobber the register part load the overlapping part into a pseudo
8852 and put it into the hard reg after pushing. Change return type
8853 to bool. Add bool argument.
8854 * expr.h (emit_push_insn): Change return type to bool.
8855 Add bool argument.
8856 * calls.c (expand_call): Cancel sibcall optimization when encountering
8857 partial argument on targets with ARGS_GROW_DOWNWARD and
8858 !STACK_GROWS_DOWNWARD.
8859 (emit_library_call_value_1): Update callsite of emit_push_insn.
8860 (store_one_arg): Likewise.
8861
8862 2015-05-27 Gregor Richards <gregor.richards@uwaterloo.ca>
8863
8864 * config/arm/linux-eabi.h (MUSL_DYNAMIC_LINKER): Define.
8865
8866 2015-05-27 Martin Liska <mliska@suse.cz>
8867
8868 * Makefile.in: Add additional dependencies related to memory report
8869 enhancement.
8870 * alloc-pool.c (allocate_pool_descriptor): Use new ctor.
8871 * bitmap.c (struct bitmap_descriptor_d): Remove.
8872 (struct loc): Likewise.
8873 (struct bitmap_desc_hasher): Likewise.
8874 (bitmap_desc_hasher::hash): Likewise.
8875 (bitmap_desc_hasher::equal): Likewise.
8876 (get_bitmap_descriptor): Likewise.
8877 (bitmap_register): User new memory descriptor API.
8878 (register_overhead): Likewise.
8879 (bitmap_find_bit): Register nsearches and search_iter statistics.
8880 (struct bitmap_output_info): Remove.
8881 (print_statistics): Likewise.
8882 (dump_bitmap_statistics): Use new memory descriptor.
8883 * bitmap.h (struct bitmap_usage): New class.
8884 * genmatch.c: Extend header file inclusion.
8885 * genpreds.c: Likewise.
8886 * ggc-common.c (struct ggc_usage): New class.
8887 (struct ggc_loc_desc_hasher): Remove.
8888 (ggc_loc_desc_hasher::hash): Likewise.
8889 (ggc_loc_desc_hasher::equal): Likewise.
8890 (struct ggc_ptr_hash_entry): Likewise.
8891 (struct ptr_hash_hasher): Likewise.
8892 (ptr_hash_hasher::hash): Likewise.
8893 (ptr_hash_hasher::equal): Likewise.
8894 (make_loc_descriptor): Likewise.
8895 (ggc_prune_ptr): Likewise.
8896 (dump_ggc_loc_statistics): Use new memory descriptor.
8897 (ggc_record_overhead): Likewise.
8898 (ggc_free_overhead): Likewise.
8899 (final_cmp_statistic): Remove.
8900 (cmp_statistic): Likewise.
8901 (ggc_add_statistics): Liekwise.
8902 (ggc_prune_overhead_list): Likewise.
8903 * hash-map-traits.h: New file.
8904 * hash-map.h (struct default_hashmap_traits): Move the traits to a
8905 separate header file.
8906 * hash-set.h: Pass memory statistics info to ctor.
8907 * hash-table.c (void dump_hash_table_loc_statistics): New function.
8908 * hash-table.h (hash_table::hash_table): Add new ctor arguments.
8909 (hash_table::~hash_table): Register memory release operation.
8910 (hash_table::alloc_entries): Handle memory allocation operation.
8911 (hash_table::expand): Likewise.
8912 * inchash.c (iterative_hash_hashval_t): Move implementation to header
8913 file.
8914 (iterative_hash_host_wide_int): Likewise.
8915 * inchash.h (class hash): Likewise.
8916 * mem-stats-traits.h: New file.
8917 * mem-stats.h: New file.
8918 (mem_location): Add new class.
8919 (mem_usage): Likewise.
8920 (mem_alloc_description): Likewise.
8921 * sese.c: Add new header file inclusision.
8922 * toplev.c (dump_memory_report): Add report for hash_table, hash_map
8923 and hash_set.
8924 * tree-sra.c: Add new header file inclusision.
8925 * vec.c (struct vec_descriptor): Remove.
8926 (hash_descriptor): Likewise.
8927 (struct vec_usage): Likewise.
8928 (struct ptr_hash_entry): Likewise.
8929 (hash_ptr): Likewise.
8930 (eq_ptr): Likewise.
8931 (vec_prefix::register_overhead): Use new memory descriptor API.
8932 (vec_prefix::release_overhead): Likewise.
8933 (add_statistics): Remove.
8934 (dump_vec_loc_statistics): Use new memory descriptor API.
8935 * vec.h (struct vec_prefix): Likewise.
8936 (va_heap::reserve): Likewise.
8937 (va_heap::release): Likewise.
8938 * emit-rtl.c (gen_raw_REG): Fix passing MEM_STAT.
8939
8940 2015-05-27 Richard Biener <rguenther@suse.de>
8941
8942 * tree-vect-stmts.c (vectorizable_load): Initialize slp_perm
8943 earlier and remove ??? comment.
8944 (vect_analyze_stmt): If we are analyzing a pure SLP stmt
8945 and got called from loop analysis bail out. Always pass the SLP
8946 node to the vectorizable_* functions.
8947 * tree-vect-loop.c (vect_analyze_loop_operations): Remove
8948 the premature SLP check here.
8949 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Dump hybrid
8950 detected SLP stmts.
8951 (vect_detect_hybrid_slp_1): Likewise.
8952
8953 2015-05-26 Jeff Law <law@redhat.com>
8954
8955 * combine.c (find_split_point): Verify that the shift count is a
8956 constant when choosing (plus (ashift ...)) as a split point.
8957
8958 * tree-ssa-threadupdate.c: Replace 8 space sequences with tabs.
8959 No functional changes.
8960
8961 2015-05-26 Jan Hubicka <hubicka@ucw.cz>
8962
8963 * ipa-polymorphic-call.c
8964 (ipa_polymorphic_call_context::get_dynamic_type): Short circuit the
8965 case when call target is already known.
8966
8967 2015-05-26 Oleg Endo <olegendo@gcc.gnu.org>
8968
8969 PR target/65979
8970 * config/sh/sh.md (tstsi_t peephole2): Use gen_rtx_SET and
8971 take into account the case that operands[1] and operands[2]
8972 are the same register.
8973
8974 2015-05-26 Michael Matz <matz@suse.de>
8975
8976 PR middle-end/66251
8977
8978 * tree-vect-stmts.c (vect_model_store_cost): Handled strided group
8979 stores.
8980 (vect_create_vectorized_demotion_stmts): Always set
8981 STMT_VINFO_VEC_STMT, also with SLP.
8982 (vectorizable_store): Handle strided group stores.
8983
8984 2015-05-26 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
8985
8986 PR target/66049
8987 * config/aarch64/aarch64.md
8988 (*adds_shift_imm_<mode>): New pattern.
8989 (*subs_shift_imm_<mode>): Likewise.
8990 (*adds_<optab><ALLX:mode>_shift_<GPI:mode>): Likewise.
8991 (*subs_<optab><ALLX:mode>_shift_<GPI:mode>): Likewise.
8992 (*add_uxt<mode>_shift2): Likewise.
8993 (*add_uxtsi_shift2_uxtw): Likewise.
8994 (*sub_uxt<mode>_shift2): Likewise.
8995 (*sub_uxtsi_shift2_uxtw): Likewise.
8996
8997 2015-05-26 David Edelsohn <dje.gcc@gmail.com>
8998
8999 * config/rs6000/constraints.md (Y, U): Use match_test.
9000
9001 2015-05-26 Christian Bruel <christian.bruel@st.com>
9002
9003 PR target/52144
9004 * config/arm/arm.c (arm_option_check_internal)
9005 (arm_option_params_internal): Check opts->target_flags to set macros.
9006 (TREE_TARGET_ARM, TREE_TARGET_THUMB)
9007 (TREE_TARGET_THUMB1, TREE_TARGET_THUMB2) Replace with...
9008 (TARGET_ARM_P, TARGET_THUMB_P, TARGET_THUMB1_P, TARGET_THUMB2_P)
9009 (builtin_define): Replaced with def_or_undef_macro.
9010 * config/arm/arm.h (TREE_TARGET_ARM, TREE_TARGET_THUMB)
9011 TREE_TARGET_THUMB1, TREE_TARGET_THUMB2) Redefine with...
9012 (TARGET_ARM_P, TARGET_THUMB_P, TARGET_THUMB1_P, TARGET_THUMB2_P)
9013 (TARGET_32BIT_P, TARGET_ARM_QBIT_P, TARGET_ARM_SAT_P, TARGET_IDIV_P)
9014 (TARGET_HAVE_LDREX_P, TARGET_HAVE_LDREXBH_P, TARGET_HAVE_LDREXD_P)
9015 (TARGET_ARM_FEATURE_LDREX_P)
9016 (TARGET_DSP_MULTIPLY_P, TARGET_INT_SIMD_P): New macros.
9017 * config/arm/arm-c.c (def_or_undef_macro): New function.
9018 (arm_cpu_cpp_builtins): Use def_or_undef_macro for macros definition.
9019
9020 2015-05-26 Christian Bruel <christian.bruel@st.com>
9021
9022 * c-common.h (builtin_define_with_int_value)
9023 (builtin_define_type_sizeof): Declare.
9024 * c-cppbuiltin.c (builtin_define_with_int_value)
9025 (builtin_define_type_sizeof): Externalize.
9026 (builtin_define_std): Cleanup declaration.
9027 * config/arm/arm-protos.h (arm_cpu_cpp_builtins): Declare.
9028 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Move macro defines into...
9029 * config/arm/arm-c.c (arm_cpu_cpp_builtins): New function.
9030 (builtin_define, builtin_assert): New macros.
9031
9032 2015-05-26 Richard Biener <rguenther@suse.de>
9033
9034 PR tree-optimization/66142
9035 * tree-ssa-sccvn.c (vn_reference_lookup_3): Manually compare
9036 MEM_REFs for the same base address.
9037
9038 2015-05-26 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
9039
9040 PR ipa/66181
9041 * tree.c (verify_type_variant): Do not check TYPE_NO_FORCE_BLK.
9042
9043 2015-05-26 Jason Merrill <jason@redhat.com>
9044
9045 * configure.ac: Set CXXFLAGS for ISL test.
9046 * configure: Regenerate.
9047
9048 * configure.ac: Use C++ for all tests. Use AC_CHECK_DECLS for
9049 strstr and basename.
9050 * configure: Regenerate.
9051
9052 2015-05-26 Richard Biener <rguenther@suse.de>
9053
9054 * fold-const.c (fold_binary_loc): Move X % -Y -> X % Y and
9055 X % C -> X & (C - 1) for C being a power-of two to ...
9056 * match.pd: ... patterns.
9057
9058 2015-05-26 Marc Glisse <marc.glisse@inria.fr>
9059
9060 * match.pd (swapped_tcc_comparison): New operator list.
9061 (-A CMP -B): New simplification.
9062 * fold-const.c (fold_comparison): Remove corresponding code.
9063
9064 2015-05-26 Richard Sandiford <richard.sandiford@arm.com>
9065
9066 * caller-save.c (init_caller_save): Base temporary register numbers
9067 on LAST_VIRTUAL_REGISTER + 1 rather than FIRST_PSEUDO_REGISTER.
9068 * cfgloopanal.c (init_set_costs): Likewise.
9069 * dojump.c (prefer_and_bit_test): Likewise.
9070 * expr.c (init_expr_target): Likewise.
9071 * ira.c (setup_prohibited_mode_move_regs): Likewise.
9072 * lower-subreg.c (init_lower_subreg): Likewise.
9073 * postreload.c (reload_cse_regs_1): Likewise.
9074
9075 2015-05-26 Richard Sandiford <richard.sandiford@arm.com>
9076
9077 * gensupport.h (compute_test_codes): Declare.
9078 * gensupport.c (compute_predicate_codes): Rename to...
9079 (compute_test_codes): ...this. Generalize error message.
9080 (process_define_predicate): Update accordingly.
9081 * genpreds.c (compute_maybe_allows): Delete.
9082 (add_constraint): Use compute_test_codes to determine whether
9083 something can accept a SUBREG, REG or MEM.
9084
9085 2015-05-26 Torvald Riegel <triegel@redhat.com>
9086
9087 * doc/extend.texi (__atomic Builtins): Use 'memory order' instead of
9088 'memory model' to align with C++11; fix description of memory orders;
9089 fix a few typos.
9090
9091 2015-05-26 Richard Biener <rguenther@suse.de>
9092
9093 * tree-vect-loop.c (vect_update_vf_for_slp): Split out from ...
9094 (vect_analyze_loop_operations): ... here. Remove slp parameter,
9095 detect whether we apply SLP. Remove call to
9096 vect_update_slp_costs_according_to_vf.
9097 (vect_analyze_loop_2): Call vect_update_vf_for_slp and
9098 vect_update_slp_costs_according_to_vf from here. Dispatch
9099 to vect_slp_analyze_operations to analyze SLP stmts.
9100 * tree-vect-slp.c (vect_slp_analyze_node_operations): Drop
9101 unused bb_vec_info parameter, adjust assert.
9102 (vect_slp_analyze_operations): Pass in the slp instance tree
9103 instead of bb_vec_info.
9104 (vect_slp_analyze_bb_1): Adjust call to vect_slp_analyze_operations.
9105 * tree-vectorizer.h (vect_slp_analyze_operations): Declare.
9106
9107 2015-05-25 Alexander Monakov <amonakov@ispras.ru>
9108
9109 * config/i386/i386.h (enum reg_class): Move CLOBBERED_REGS prior to
9110 Q_REGS. Expand comment.
9111 (REG_CLASS_NAMES): Ditto.
9112 (REG_CLASS_CONTENTS): Ditto.
9113
9114 2015-05-25 Uros Bizjak <ubizjak@gmail.com>
9115
9116 PR target/66274
9117 * config/i386/i386.c (print_reg): Only print "r" for TARGET_64BIT
9118 when LEGACY_INT_REGNO_P is processed.
9119
9120 2015-05-25 Alexander Monakov <amonakov@ispras.ru>
9121
9122 * config/i386/i386.c (ix86_function_ok_for_sibcall): Check flag_plt.
9123
9124 2015-05-25 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
9125
9126 * config/avr/avr.c (avr_out_load_psi_reg_no_disp_tiny): Restore base
9127 register if not marked dead/unused, before return.
9128
9129 2015-05-24 Jan Hubicka <hubicka@ucw.cz>
9130
9131 PR lto/66180
9132 * ipa-devirt.c (type_with_linkage): Check that TYPE_STUB_DECL
9133 is set; check for assembler name at LTO time.
9134 (type_in_anonymous_namespace): Remove hacks, check that all
9135 anonymous types are called "<anon>"
9136 (odr_type_p): Simplify; add check for "<anon>"
9137 (odr_subtypes_equivalent): Add odr_type_p check.
9138 * tree.c (need_assembler_name_p): Even anonymous namespace needs
9139 assembler name.
9140
9141 2015-05-24 Jan Hubicka <hubicka@ucw.cz>
9142
9143 * ipa-utils.h (method_class_type): Remove.
9144 * cgraphunit.c (walk_polymorphic_call_targets): Use
9145 TYPE_METHOD_BASETYPE.
9146 * ipa-devirt.c (type_in_anonymous_namespace_p): Check that it is called
9147 on main variants only.
9148 (method_class_type): Remove.
9149 (update_type_inheritance_graph): Use TYPE_METHOD_BASETYPE.
9150 (build_type_inheritance_graph): Likewise.
9151 * ipa-icf.c (sem_function::equals_wpa): Likewise.
9152 * pa-polymorphic-call.c (decl_maybe_in_construction_p,
9153 check_stmt_for_type_change): Use TYPE_METHOD_BASETYPE.
9154
9155 2015-05-24 Jan Hubicka <hubicka@ucw.cz>
9156
9157 * tree.c (prototype_p, virtual_method_call_p, obj_type_ref_class,
9158 is_typedef_decl, typedef_variant_p): Constify.
9159 * tree.h (prototype_p, virtual_method_call_p, obj_type_ref_class,
9160 is_typedef_decl, typedef_variant_p): Constify.
9161
9162 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9163
9164 * defaults.h (gen_tablejump): New function.
9165 (HAVE_tablejump): Add default value.
9166 * expr.c: Adjust.
9167 * stmt.c: Likewise.
9168
9169 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9170
9171 * defaults.h (gen_store_multiple): New function.
9172 (HAVE_store_multiple): Add default value.
9173 * expr.c (move_block_from_reg): Adjust.
9174
9175 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9176
9177 * defaults.h (gen_load_multiple): New function.
9178 (HAVE_load_multiple): Add default value.
9179 * expr.c (move_block_to_reg): Adjust.
9180
9181 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9182
9183 * defaults.h (gen_mem_signal_fence): New function.
9184 (HAVE_mem_signal_fence): Add default value.
9185 * optabs.c: Adjust.
9186
9187 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9188
9189 * defaults.h (gen_memory_barrier): New function.
9190 (HAVE_memory_barrier): Add default value.
9191 * optabs.c: Adjust.
9192
9193 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9194
9195 * defaults.h (gen_mem_thread_fence): New function.
9196 (HAVE_mem_thread_fence): Add default definition.
9197 * optabs.c: Adjust.
9198
9199 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9200
9201 * combine.c (find_split_point): Check the value of HAVE_lo_sum
9202 instead of if it is defined.
9203 (combine_simplify_rtx): Likewise.
9204 * lra-constraints.c (process_address_1): Likewise.
9205 * config/darwin.c: Adjust.
9206 * genconfig.c (main): Always define HAVE_lo_sum.
9207
9208 2015-05-23 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
9209
9210 * genmatch.c (parser::parse_operation): Reject expanding
9211 operator-list inside 'for'.
9212
9213 2015-05-23 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
9214
9215 * genmatch.c (parser::parse_for): Reject iterator if used as
9216 operator-list.
9217
9218 2015-05-23 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
9219
9220 * genmatch.c (parser::parse_operator_list): Check for CPP_CLOSE_PAREN
9221 after end of id-list.
9222
9223 2015-05-22 Jan Hubicka <hubicka@ucw.cz>
9224
9225 * tree.c (gimple_canonical_types_compatible_p): Sanity check that
9226 we do not try to compute canonical type for type that does not need
9227 alias set.
9228 (verify_type): Drop FIXME for METHOD_TYPE, update FIXME for
9229 FUNCITON_TYPE.
9230 * tree.h (type_with_alias_set_p): New.
9231
9232 2015-05-22 Jan Hubicka <hubicka@ucw.cz>
9233
9234 * tree.c (gimple_canonical_types_compatible_p): Do not compare
9235 function attributes.
9236 (verify_type): Remove METHOD_TYPE FIXME; update FUNCTION_TYPE.
9237
9238 2015-05-22 Jim Wilson <jim.wilson@linaro.org>
9239
9240 * Makefile.in (check_gcc_parallelize): Delete.
9241 (lang_checks_parallelized): Update comment.
9242
9243 2015-05-22 Mikhail Maltsev <maltsevm@gmail.com>
9244
9245 PR rtl-optimization/66237
9246 * bb-reorder.c (fix_crossing_conditional_branches): Fix wrong
9247 location of an "as_a" cast.
9248
9249 2015-05-22 Jeff Law <law@redhat.com>
9250
9251 * config/pa/pa.md (non-canonical shift-add insns): Remove.
9252 (peepholes with non-canonical RTL sources): Remove.
9253 (peepholes for indexed stores of FP regs in integer modes): Match and
9254 generate canonical RTL.
9255
9256 2015-05-22 Marc Glisse <marc.glisse@inria.fr>
9257
9258 PR tree-optimization/63387
9259 * match.pd ((X /[ex] A) * A -> X): Remove unnecessary condition.
9260 ((x ord x) & (y ord y) -> (x ord y),
9261 (x ord x) & (x ord y) -> (x ord y)): New simplifications.
9262 * fold-const.c (tree_unary_nonnegative_warnv_p) <ABS_EXPR>: Handle
9263 vectors like scalars.
9264
9265 2015-05-22 Marc Glisse <marc.glisse@inria.fr>
9266
9267 * convert.c (convert_to_integer, convert_to_vector): Include the
9268 types in the error message.
9269
9270 2015-05-22 Marc Glisse <marc.glisse@inria.fr>
9271
9272 * match.pd ((x | y) & ~x -> y & ~x, (x & y) | ~x -> y | ~x): New
9273 simplifications.
9274
9275 2015-05-22 Jeff Law <law@redhat.com>
9276
9277 * config/pa/pa.md (integer_indexed_store splitters): Use
9278 mem_shadd_operand. Use ASHIFT rather than MULT in the resulting
9279 insns -- adjusting the constant 2nd operand accordingly.
9280
9281 * combine.c (try_combine): Canonicalize (plus (mult X pow2) Y) into
9282 (plus (ashift X log2) Y) if it is a split point.
9283
9284 * config/pa/pa.c (mem_shadd_or_shadd_rtx_p): New function factoredx
9285 out of hppa_legitimize_address to handle both forms of a multiply
9286 by 2, 4 or 8.
9287 (hppa_legitimize_address): Use mem_shadd_or_shadd_rtx_p.
9288 Always generate the ASHIFT variant as the result is not directly
9289 used in a MEM. Update comments and refactor slightly to improve
9290 readability.
9291
9292 2015-05-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9293
9294 PR target/65491
9295 * config/aarch64/aarch64.c (aarch64_short_vector_p): Move above
9296 aarch64_composite_type_p. Remove check for aarch64_composite_type_p.
9297 (aarch64_composite_type_p): Return false if given type and mode are
9298 for a short vector.
9299
9300 2015-05-22 Richard Biener <rguenther@suse.de>
9301
9302 * tree-vectorizer.h (struct _slp_oprnd_info): Add second_pattern
9303 member.
9304 * tree-vect-loop.c (vect_analyze_loop_operations): Look at
9305 patterns when determining whether SLP is pure.
9306 (vect_is_slp_reduction): Remove check for pattern stmts.
9307 (vect_is_simple_reduction_1): Remove dead code.
9308 * tree-vect-slp.c (vect_create_oprnd_info): Initialize second_pattern.
9309 (vect_get_and_check_slp_defs): Pass in the stmt number.
9310 Allow the first def in a reduction to be not a pattern stmt when
9311 the rest of the stmts def are patterns.
9312 (vect_build_slp_tree_1): Allow tcc_expression codes like
9313 SAD_EXPR and DOT_PROD_EXPR.
9314 (vect_build_slp_tree): Adjust.
9315 (vect_analyze_slp): Refactor and move BB vect error message ...
9316 (vect_slp_analyze_bb_1): ... here.
9317
9318 2015-05-22 Aldy Hernandez <aldyh@redhat.com>
9319
9320 * tree-switch-conversion.c (build_one_array): Set DECL_IGNORED_P
9321 for CSWTCH temporary.
9322
9323 2015-05-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9324
9325 * config/arm/arm.c (arm_new_rtx_costs): Handle UNSPEC_VOLATILE.
9326 (arm_unspec_cost): Allow UNSPEC_VOLATILE. Do not recurse inside
9327 unknown unspecs.
9328
9329 2015-05-22 Richard Biener <rguenther@suse.de>
9330
9331 PR tree-optimization/66251
9332 * tree-vect-stmts.c (vectorizable_conversion): Properly
9333 set STMT_VINFO_VEC_STMT even for the SLP case.
9334
9335 2015-05-22 Marek Polacek <polacek@redhat.com>
9336
9337 * doc/extend.texi: Use @pxref instead of @xref.
9338
9339 2015-05-22 hiraditya <hiraditya@msn.com>
9340
9341 * gimple.h (gimple_expr_type): Refactor to make it concise. Remove
9342 redundant if.
9343
9344 2015-05-22 Richard Biener <rguenther@suse.de>
9345
9346 PR tree-optimization/65701
9347 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
9348 Move peeling cost models into one place. Peel for alignment
9349 for single loads only if an aligned load is cheaper than
9350 an unaligned load.
9351
9352 2015-05-22 Marek Polacek <polacek@redhat.com>
9353
9354 PR c/47043
9355 * doc/extend.texi (Enumerator Attributes): New section.
9356 Document syntax of enumerator attributes.
9357
9358 2015-05-22 Richard Biener <rguenther@suse.de>
9359
9360 * tree-vect-loop.c (get_reduction_op): New function.
9361 (vect_model_reduction_cost): Use it, add reduc_index parameter.
9362 Make ready for BB reductions.
9363 (vect_create_epilog_for_reduction): Use get_reduction_op.
9364 (vectorizable_reduction): Init reduc_index to a valid value.
9365 Adjust vect_model_reduction_cost call.
9366 * tree-vect-slp.c (vect_get_constant_vectors): Use the proper
9367 operand for reduction defaults. Add SAD_EXPR support.
9368 Assert we have a neutral op for SLP reductions.
9369 * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): When
9370 walking pattern stmt ops only recurse to SSA names.
9371
9372 2015-05-22 Richard Biener <rguenther@suse.de>
9373
9374 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Replace
9375 assert with guard, remove check on detected reduction.
9376 (vect_recog_sad_pattern): Likewise.
9377 (vect_recog_widen_sum_pattern): Likewise.
9378
9379 2015-05-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9380
9381 * config/aarch64/arm_neon.h (vaeseq_u8): Add __extension__ and
9382 __always_inline__ attribute.
9383 (vaesdq_u8): Likewise.
9384 (vaesmcq_u8): Likewise.
9385 (vaesimcq_u8): Likewise.
9386 (vsha1cq_u32): Likewise.
9387 (vsha1mq_u32): Likewise.
9388 (vsha1pq_u32): Likewise.
9389 (vsha1h_u32): Likewise.
9390 (vsha1su0q_u32): Likewise.
9391 (vsha1su1q_u32): Likewise.
9392 (vsha256hq_u32): Likewise.
9393 (vsha256h2q_u32): Likewise.
9394 (vsha256su0q_u32): Likewise.
9395 (vsha256su1q_u32): Likewise.
9396 (vmull_p64): Likewise.
9397 (vmull_high_p64): Likewise.
9398
9399 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9400
9401 * final.c (final_scan_insn): Don't check HAVE_peephole with the
9402 preprocessor.
9403 * output.h: Likewise.
9404 * genconfig.c (main): Alwways define HAVE_peephole.
9405 * genpeep.c: Don't emit checks of HAVE_peephole.
9406
9407 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9408
9409 * combine.c, expmed.c, expr.c, optabs.c optabs.h, toplev.c: DOn't
9410 check HAVE_conditional_move with the preprocessor.
9411
9412 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9413
9414 * genconfig.c (main): Always define HAVE_conditional_move.
9415 * combine.c, expmed.c, expr.c, ifcvt.c, optabs.c, optabs.h,
9416 toplev.c, tree-ssa-phiopt.c: Don't check if HAVE_conditional_move
9417 is defined.
9418
9419 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9420
9421 * combine.c, df-problems.c, df-scan.c, emit-rtl.c, reginfo.c,
9422 reload.c, rtlanal.c: Remove comparison of ARG_FRAME_POINTER_REGNUM
9423 and FRAME_POINTER_REGNUM with the preprocessor.
9424
9425 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9426
9427 * defaults.h: Add default for STACK_PUSH_CODE.
9428 * expr.c: Don't redefine STACK_PUSH_CODE.
9429 * recog.c: Likewise.
9430
9431 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9432
9433 * builtins.c, dwarf2cfi.c, explow.c, expr.c, recog.c,
9434 sched-deps.c: Use if instead of preprocessor checks with
9435 STACK_GROWS_DOWNWARD.
9436
9437 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9438
9439 * *.c: Check the value of STACK_GROWS_DOWNWARD rather than if it
9440 is defined.
9441 * config/**/*.h: Define STACK_GROWS_DOWNWARD to an integer.
9442 * defaults.h: Provide default for STACK_GROWS_DOWNWARD.
9443 * doc/tm.texi.in: Update references to STACK_GROWS_DOWNWARD.
9444 * doc/tm.texi: Regenerate.
9445
9446 2015-05-21 H.J. Lu <hongjiu.lu@intel.com>
9447
9448 PR target/66232
9449 * config/i386/constraints.md (Bg): New constraint for GOT memory
9450 operand.
9451 * config/i386/i386.md (*call_got_x32): New pattern.
9452 (*call_value_got_x32): Likewise.
9453 * config/i386/predicates.md (GOT_memory_operand): New predicate.
9454
9455 2015-05-21 Jakub Jelinek <jakub@redhat.com>
9456
9457 PR tree-optimization/66233
9458 * match.pd (ocvt (icvt@1 @0)): Don't handle vector types.
9459 Simplify.
9460
9461 2015-05-21 Jeff Law <law@redhat.com>
9462
9463 * config/pa/pa.md (add-with-constant splitter): Use ASHIFT rather
9464 than MULT for shadd sequences.
9465
9466 2015-05-08 Jan Hubicka <hubicka@ucw.cz>
9467
9468 * alias.c (alias_stats): New static var.
9469 (alias_sets_conflict_p, alias_sets_must_conflict_p): Update stats.
9470 (dump_alias_stats_in_alias_c): New function.
9471 * alias.h (dump_alias_stats_in_alias_c): Declare.
9472 * tree-ssa-alias.c (dump_alias_stats): Call it.
9473
9474 2015-05-08 Michael Matz <matz@suse.de>
9475
9476 * tree-vectorizer.h (struct _stmt_vec_info): Rename stride_load_p
9477 to strided_p.
9478 (STMT_VINFO_STRIDE_LOAD_P): Rename to ...
9479 (STMT_VINFO_STRIDED_P): ... this.
9480 * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Adjust.
9481 (vect_verify_datarefs_alignment): Likewise.
9482 (vect_enhance_data_refs_alignment): Likewise.
9483 (vect_analyze_data_ref_access): Likewise.
9484 (vect_analyze_data_refs): Accept strided stores.
9485 * tree-vect-stmts.c (vect_model_store_cost): Count strided stores.
9486 (vect_model_load_cost): Adjust for macro rename.
9487 (vectorizable_mask_load_store): Likewise.
9488 (vectorizable_load): Likewise.
9489 (vectorizable_store): Open code strided stores.
9490
9491 2015-05-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9492
9493 * doc/sourcebuild.texi (7.2.3.9 Other hardware attributes):
9494 Document sqrt_insn.
9495
9496 2015-05-21 Richard Biener <rguenther@suse.de>
9497
9498 PR c++/66211
9499 * match.pd: Guard pattern optimzing (int)(float)int
9500 conversions to apply only on GIMPLE.
9501
9502 2015-05-21 Jeff Law <law@redhat.com>
9503
9504 * combine.c (find_split_point): Handle ASHIFT like MULT to encourage
9505 multiply-accumulate/shift-add insn generation.
9506
9507 2015-05-21 Oleg Endo <olegendo@gcc.gnu.org>
9508
9509 PR target/54236
9510 * config/sh/sh.md (*round_int_even): Reject pattern if operands[0] and
9511 operands[1] are the same.
9512
9513 2015-05-21 Ilya Enkovich <enkovich.gnu@gmail.com>
9514
9515 PR middle-end/66221
9516 * ipa-chkp.c (chkp_copy_function_type_adding_bounds): Use
9517 build_distinct_type_copy to copy bounds.
9518
9519 2015-05-21 Thomas Schwinge <thomas@codesourcery.com>
9520
9521 * genrecog.c (MAX_DEPTH, MIN_NUM_STATEMENTS, MAX_NUM_STATEMENTS):
9522 Change to unsigned int.
9523
9524 2015-05-20 Jeff Law <law@redhat.com>
9525
9526 * config/pa/pa.c (pa_print_operand): New 'o' output modifier.
9527 (pa_mem_shadd_constant_p): Renamed from pa_shadd_constant_p.
9528 (pa_shadd_constant_p): Allow constants for shadd insns rather
9529 than valid scaling constants for memory addresses.
9530 * config/pa/pa-protos.h (pa_mem_shadd_constant_p): Add prototype.
9531 * config/pa/predicates.md (mem_shadd_operand): New predicate.
9532 * config/pa/pa.md (shift-add insns using MULT): Use mem_shadd_operand.
9533 (shift-add insns using ASHIFT): New patterns.
9534
9535 2015-05-20 Mikhail Maltsev <maltsevm@gmail.com>
9536
9537 * bb-reorder.c (set_edge_can_fallthru_flag): Use rtx_jump_insn where
9538 feasible.
9539 (fix_up_fall_thru_edges): Likewise.
9540 (fix_crossing_conditional_branches): Likewise. Promote jump targets
9541 from to rtx_insn to rtx_code_label where feasible.
9542 * bt-load.c (move_btr_def): Remove as-a cast of the value returned by
9543 gen_move_insn (returned type changed to rtx_insn).
9544 * builtins.c (expand_errno_check): Fix arguments of
9545 do_compare_rtx_and_jump (now expects rtx_code_label).
9546 (expand_builtin_acc_on_device): Likewise.
9547 * cfgcleanup.c (try_simplify_condjump): Add cast when calling
9548 invert_jump (now exprects rtx_jump_insn).
9549 * cfgexpand.c (label_rtx_for_bb): Promote return type to rtx_code_label.
9550 (construct_init_block): Use rtx_code_label.
9551 * cfgrtl.c (block_label): Promote return type to rtx_code_label.
9552 (try_redirect_by_replacing_jump): Use cast to rtx_jump_insn when
9553 calling redirect_jump.
9554 (patch_jump_insn): Likewise.
9555 (redirect_branch_edge): Likewise.
9556 (force_nonfallthru_and_redirect): Likewise.
9557 (fixup_reorder_chain): Explicitly use rtx_jump_insn instead of rtx_insn
9558 when suitable.
9559 (rtl_lv_add_condition_to_bb): Update call of do_compare_rtx_and_jump.
9560 * cfgrtl.h: Promote return type of block_label to rtx_code_label.
9561 * config/bfin/bfin.c (hwloop_optimize): Fix call of emit_label_before.
9562 * config/i386/i386.c (ix86_emit_cmove): Explicitly use rtx_code_label
9563 to store the value retured by gen_label_rtx.
9564 * config/mips/mips.c (mips16_split_long_branches): Promote rtx_insn to
9565 rtx_jump_insn.
9566 * config/sh/sh.c (gen_far_branch): Likewise. Fix call of invert_jump.
9567 (split_branches): Fix calls of redirect_jump.
9568 * dojump.c (jumpifnot): Promote argument type from rtx to
9569 rtx_code_label.
9570 (jumpifnot_1): Likewise.
9571 (jumpif): Likewise.
9572 (jumpif_1): Likewise.
9573 (do_jump_1): Likewise.
9574 (do_jump): Likewise. Use rtx_code_label when feasible.
9575 (do_jump_by_parts_greater_rtx): Likewise.
9576 (do_jump_by_parts_zero_rtx): Likewise.
9577 (do_jump_by_parts_equality_rtx): Likewise.
9578 (do_compare_rtx_and_jump): Likewise.
9579 * dojump.h: Update function prototypes.
9580 * dse.c (emit_inc_dec_insn_before): Remove case (gen_move_insn now
9581 returns rtx_insn).
9582 * emit-rtl.c (emit_jump_insn_before_noloc): Promote return type to
9583 rtx_jump_insn.
9584 (emit_label_before): Likewise.
9585 (emit_jump_insn_after_noloc): Likewise.
9586 (emit_jump_insn_after_setloc): Likewise.
9587 (emit_jump_insn_after): Likewise
9588 (emit_jump_insn_before_setloc): Likewise.
9589 (emit_jump_insn_before): Likewise.
9590 (emit_label_before): Promote return type to rtx_code_label.
9591 (emit_label): Likewise.
9592 * except.c (sjlj_emit_dispatch_table): Use jump_target_rtx.
9593 * explow.c (emit_stack_save): Use gen_move_insn_uncast instead of
9594 gen_move_insn.
9595 (emit_stack_restore): Likewise.
9596 * expmed.c (emit_store_flag_force): Fix calls of do_compare_rtx_and_jump.
9597 (do_cmp_and_jump): Likewise.
9598 * expr.c (expand_expr_real_2): Likewise. Promote some local variables
9599 from rtx to rtx_code_label.
9600 (gen_move_insn_uncast): New function.
9601 * expr.h: Update return type of gen_move_insn (promote to rtx_insn).
9602 * function.c (convert_jumps_to_returns): Fix call of redirect_jump.
9603 * gcse.c (pre_insert_copy_insn): Use rtx_insn instead of rtx.
9604 * ifcvt.c (dead_or_predicable): Use rtx_jump_insn when calling
9605 invert_jump_1 and redirect_jump_1.
9606 * internal-fn.c (expand_arith_overflow_result_store): Fix call of
9607 do_compare_rtx_and_jump.
9608 (expand_addsub_overflow): Likewise.
9609 (expand_neg_overflow): Likewise.
9610 (expand_mul_overflow): Likewise.
9611 * ira.c (split_live_ranges_for_shrink_wrap): Use rtx_insn for
9612 return value of gen_move_insn.
9613 * jump.c (redirect_jump): Promote argument from rtx to rtx_jump_insn.
9614 * loop-doloop.c (add_test): Use rtx_code_label.
9615 (doloop_modify): Likewise.
9616 (doloop_optimize): Likewise.
9617 * loop-unroll.c (compare_and_jump_seq): Promote rtx to rtx_code_label.
9618 * lra-constraints.c (emit_spill_move): Remove cast of value returned
9619 by gen_move_insn.
9620 (inherit_reload_reg): Add cast when calling dump_insn_slim.
9621 (split_reg): Likewise.
9622 * modulo-sched.c (schedule_reg_moves): Remove cast of value returned by
9623 gen_move_insn.
9624 * optabs.c (expand_binop_directly): Remove casts of values returned by
9625 maybe_gen_insn.
9626 (expand_unop_direct): Likewise.
9627 (expand_abs): Likewise.
9628 (maybe_emit_unop_insn): Likewise.
9629 (maybe_gen_insn): Promote return type to rtx_insn.
9630 * optabs.h: Update prototype of maybe_gen_insn.
9631 * postreload-gcse.c (eliminate_partially_redundant_load): Remove
9632 redundant cast.
9633 * recog.c (struct peep2_insn_data): Promote type of insn field to
9634 rtx_insn.
9635 (peep2_reinit_state): Use NULL instead of NULL_RTX.
9636 (peep2_attempt): Remove casts of insn in peep2_insn_data.
9637 (peep2_fill_buffer): Promote argument from rtx to rtx_insn
9638 * recog.h (struct insn_gen_fn): Promote return types of function
9639 pointers and operator ().from rtx to rtx_insn.
9640 * reorg.c (fill_simple_delay_slots): Promote rtx_insn to rtx_jump_insn.
9641 (fill_eager_delay_slots): Likewise.
9642 (relax_delay_slots): Likewise.
9643 (make_return_insns): Likewise.
9644 (dbr_schedule): Likewise.
9645 (optimize_skips): Likewise.
9646 (reorg_redirect_jump): Likewise.
9647 (fill_slots_from_thread): Likewise.
9648 * reorg.h: Update prototypes.
9649 * resource.c (find_dead_or_set_registers): Use dyn_cast to
9650 rtx_jump_insn instead of check. Use it's jump_target method.
9651 * rtl.h (rtx_jump_insn::jump_label): Define new method.
9652 (rtx_jump_insn::jump_target): Define new method.
9653 (rtx_jump_insn::set_jump_target): Define new method.
9654 * rtlanal.c (tablejump_p): Promote type of one local variable.
9655 * sched-deps.c (sched_analyze_2): Promote rtx to rtx_insn_list.
9656 (sched_analyze_insn): Likewise.
9657 * sched-vis.c (print_insn_with_notes): Promote rtx to rtx_insn.
9658 (print_insn): Likewise.
9659 * stmt.c (label_rtx): Promote return type to rtx_insn.
9660 (force_label_rtx): Likewise.
9661 (jump_target_rtx): Define new function.
9662 (expand_label): Use it, get rid of one cast.
9663 (expand_naked_return): Promote rtx to rtx_code_label.
9664 (do_jump_if_equal): Fix do_compare_rtx_and_jump call.
9665 (expand_case): Use rtx_code_label instread of rtx where feasible.
9666 (expand_sjlj_dispatch_table): Likewise.
9667 (emit_case_nodes): Likewise.
9668 * stmt.h: Declare jump_target_rtx. Update prototypes. Fix comments.
9669 * store-motion.c (insert_store): Make use of new return type of
9670 gen_move_insn and remove a cast.
9671 (replace_store_insn): Likewise.
9672
9673 2015-05-20 Max Filippov <jcmvbkbc@gmail.com>
9674
9675 * config/xtensa/xtensa.c (init_alignment_context): Replace MULT
9676 by BITS_PER_UNIT with ASHIFT by exact_log2 (BITS_PER_UNIT).
9677
9678 2015-05-20 Jeff Law <law@redhat.com>
9679
9680 * tree-ssa-threadupdate.c (mark_threaded_blocks): Properly
9681 dispose of the jump thread path when the jump threading
9682 opportunity is cancelled.
9683
9684 2015-05-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
9685
9686 * diagnostic.c (diagnostic_print_caret_line): Fix off-by-one error
9687 when printing the caret character.
9688
9689 2015-05-20 Marek Polacek <polacek@redhat.com>
9690
9691 * cfgexpand.c (expand_debug_expr): Use UNARY_CLASS_P.
9692
9693 2015-05-20 Marek Polacek <polacek@redhat.com>
9694
9695 * expr.c (expand_cond_expr_using_cmove): Use COMPARISON_CLASS_P.
9696 * gimple-expr.c (gimple_cond_get_ops_from_tree): Likewise.
9697 * gimple-fold.c (canonicalize_bool): Likewise.
9698 (same_bool_result_p): Likewise.
9699 * tree-if-conv.c (parse_predicate): Likewise.
9700
9701 2015-05-20 Marek Polacek <polacek@redhat.com>
9702
9703 * gimple-fold.c (fold_const_aggregate_ref_1): Use DECL_P.
9704 * gimplify.c (gimplify_modify_expr_rhs): Likewise.
9705
9706 2015-05-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9707
9708 * config/aarch64/aarch64.c (aarch64_class_max_nregs):
9709 Use UNITS_PER_VREG and UNITS_PER_WORD instead of their direct
9710 values.
9711
9712 2015-05-20 Robert Suchanek <robert.suchanek@imgtec.com>
9713
9714 * config/mips/mips.h (micromips_globals): Declare.
9715
9716 2015-05-20 David Malcolm <dmalcolm@redhat.com>
9717
9718 * timevar.def (TV_INITIALIZE_RTL): New.
9719 * toplev.c (initialize_rtl): Use an auto_timevar to account this
9720 function's time to TV_INITIALIZE_RTL.
9721
9722 2015-05-20 Ilya Enkovich <enkovich.gnu@gmail.com>
9723
9724 * tree-chkp.c (chkp_maybe_copy_and_register_bounds): Remove useless
9725 gimple_build_nop calls.
9726 (chkp_find_bounds_for_elem): Likewise.
9727 (chkp_get_zero_bounds): Likewise.
9728 (chkp_get_none_bounds): Likewise.
9729 (chkp_get_bounds_by_definition): Likewise.
9730 (chkp_generate_extern_var_bounds): Likewise.
9731 (chkp_get_bounds_for_decl_addr): Likewise.
9732 (chkp_get_bounds_for_string_cst): Likewise.
9733
9734 2015-05-20 Bin Cheng <bin.cheng@arm.com>
9735
9736 PR tree-optimization/65447
9737 * tree-ssa-loop-ivopts.c (struct iv_use): New fields.
9738 (dump_use, dump_uses): Support to dump sub use.
9739 (record_use): New parameters to support sub use. Remove call to
9740 dump_use.
9741 (record_sub_use, record_group_use): New functions.
9742 (compute_max_addr_offset, split_all_small_groups): New functions.
9743 (group_address_uses, rewrite_use_address): New functions.
9744 (strip_offset): New declaration.
9745 (find_interesting_uses_address): Call record_group_use.
9746 (add_candidate): New assertion.
9747 (infinite_cost_p): Move definition forward.
9748 (add_costs): Check INFTY cost and return immediately.
9749 (get_computation_cost_at): Clear setup cost and dependent bitmap
9750 for sub uses.
9751 (determine_use_iv_cost_address): Compute cost for sub uses.
9752 (rewrite_use_address_1): Rename from old rewrite_use_address.
9753 (free_loop_data): Free sub uses.
9754 (tree_ssa_iv_optimize_loop): Call group_address_uses.
9755
9756 2015-05-20 Kugan Vivekanandarajah <kuganv@linaro.org>
9757 Jim Wilson <jim.wilson@linaro.org>
9758
9759 * config/arm/aarch-common-protos.h (struct mem_cost_table): Added
9760 new fields loadv and storev.
9761 * config/aarch64/aarch64-cost-tables.h (thunderx_extra_costs):
9762 Initialize loadv and storev.
9763 * config/arm/aarch-cost-tables.h (generic_extra_costs): Likewise.
9764 (cortexa53_extra_costs): Likewise.
9765 (cortexa57_extra_costs): Likewise.
9766 (xgene1_extra_costs): Likewise.
9767 * config/aarch64/aarch64.c (aarch64_rtx_costs): Update vector
9768 rtx_costs.
9769
9770 2015-05-20 Kugan Vivekanandarajah <kuganv@linaro.org>
9771
9772 * config/arm/arm.c (cortexa9_extra_costs): Initialize loadv and
9773 storev.
9774 (cortexa8_extra_costs): Likewise.
9775 (cortexa5_extra_costs): Likewise.
9776 (cortexa7_extra_costs): Likewise.
9777 (cortexa12_extra_costs): Likewise.
9778 (cortexa15_extra_costs): Likewise.
9779 (v7m_extra_costs): Likewise.
9780
9781 2015-05-20 Jeff Law <law@redhat.com>
9782
9783 * tree-ssa-threadupdate.c (thread_single_edge): Use delete_jump_thread
9784 instead of open-coded version. Also delete the jump thread created
9785 within this function.
9786
9787 2015-05-20 Alan Modra <amodra@gmail.com>
9788
9789 * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Return
9790 stack adjusting insn. Formatting.
9791 (rs6000_emit_prologue): Track stack adjusting insn, and use of
9792 r12. If possible, emit first -fsplit-stack arg pointer insn
9793 before stack adjust. Don't use r12 to save cr if split-stack.
9794
9795 2015-05-20 Alan Modra <amodra@gmail.com>
9796
9797 * common/config/rs6000/rs6000-common.c (TARGET_SUPPORTS_SPLIT_STACK):
9798 Define.
9799 (rs6000_supports_split_stack): New function.
9800 * gcc/config/rs6000/rs6000.c (machine_function): Add
9801 split_stack_arg_pointer.
9802 (TARGET_EXTRA_LIVE_ON_ENTRY, TARGET_INTERNAL_ARG_POINTER): Define.
9803 (setup_incoming_varargs): Use crtl->args.internal_arg_pointer
9804 rather than virtual_incoming_args_rtx.
9805 (rs6000_va_start): Likewise.
9806 (split_stack_arg_pointer_used_p): New function.
9807 (rs6000_emit_prologue): Set up arg pointer for -fsplit-stack.
9808 (morestack_ref): New var.
9809 (gen_add3_const, rs6000_expand_split_stack_prologue,
9810 rs6000_internal_arg_pointer, rs6000_live_on_entry,
9811 rs6000_split_stack_space_check): New functions.
9812 (rs6000_elf_file_end): Call file_end_indicate_split_stack.
9813 * gcc/config/rs6000/rs6000.md (UNSPEC_STACK_CHECK): Define.
9814 (UNSPECV_SPLIT_STACK_RETURN): Define.
9815 (split_stack_prologue, load_split_stack_limit,
9816 load_split_stack_limit_di, load_split_stack_limit_si,
9817 split_stack_return, split_stack_space_check): New expands and insns.
9818 * gcc/config/rs6000/rs6000-protos.h
9819 (rs6000_expand_split_stack_prologue): Declare.
9820 (rs6000_split_stack_space_check): Declare.
9821
9822 2015-05-20 Alan Modra <amodra@gmail.com>
9823
9824 * config/rs6000/rs6000.c (struct rs6000_stack): Correct comments.
9825 (direct_return): Test vrsave_size rather than vrsave_mask.
9826 (rs6000_emit_prologue): Likewise. Remove redundant altivec tests.
9827 (rs6000_emit_epilogue): Likewise.
9828
9829 2015-05-20 Alan Modra <amodra@gmail.com>
9830
9831 * config/rs6000/rs6000.c (rs6000_stack_info): Don't zero offsets
9832 when not saving registers.
9833 (debug_stack_info): Adjust to omit printing unused offsets,
9834 as before.
9835 (rs6000_emit_epilogue): Adjust use_backchain_to_restore_sp
9836 expression.
9837
9838 2015-05-19 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9839
9840 PR c++/65835
9841 * config/i386/winnt.c (struct wrapped_symbol_hasher): Change
9842 value_type to const char *.
9843
9844 2015-05-19 Sandra Loosemore <sandra@codesourcery.com>
9845
9846 * config.gcc [powerpc*-*-linux*]: Allow --enable-targets=all
9847 to build a biarch toolchain again.
9848
9849 2015-05-19 Jan Hubicka <hubicka@ucw.cz>
9850
9851 * ipa-devirt.c (type_in_anonymous_namespace_p): Return true
9852 or implicit declarations.
9853 (odr_type_p): Check that TYPE_NAME is TYPE_DECL before looking
9854 into it.
9855 (get_odr_type): Check type has linkage before adding bases.
9856 (register_odr_type): Check that type has linkage before adding it.
9857 (type_known_to_have_no_deriavations_p): Rename to ..
9858 (type_known_to_have_no_derivations_p): This one.
9859 * ipa-utils.h (type_known_to_have_no_deriavations_p): Rename to ..
9860 (type_known_to_have_no_derivations_p): This one.
9861 * ipa-polymorphic-call.c
9862 (ipa_polymorphic_call_context::restrict_to_inner_type): Check that
9863 type has linkage.
9864
9865 2015-05-19 Eric Botcazou <ebotcazou@adacore.com>
9866
9867 * stor-layout.c (finalize_type_size): Use AGGREGATE_TYPE_P.
9868 (layout_type): Use RECORD_OR_UNION_TYPE_P.
9869
9870 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
9871
9872 * config/s390/s390.c (s390_vector_bool_type_p): New function.
9873 (s390_invalid_binary_op): New function.
9874 (TARGET_INVALID_BINARY_OP): Define macro.
9875
9876 2015-05-19 David Sherwood <david.sherwood@arm.com>
9877
9878 * loop-invariant.c (create_new_invariant): Don't calculate address cost
9879 if mode is not a scalar integer.
9880 (get_inv_cost): Increase computational cost for unused invariants.
9881
9882 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
9883
9884 * config.gcc: Add vecintrin.h to extra_headers. Add s390-c.o to
9885 c_target_objs and cxx_target_objs. Add t-s390 to tmake_file.
9886 * config/s390/s390-builtin-types.def: New file.
9887 * config/s390/s390-builtins.def: New file.
9888 * config/s390/s390-builtins.h: New file.
9889 * config/s390/s390-c.c: New file.
9890 * config/s390/s390-modes.def: Add modes CCVEQANY, CCVH,
9891 CCVHANY, CCVHU, CCVHUANY, CCVFHANY, CCVFHEANY.
9892 * config/s390/s390-protos.h (s390_expand_vec_compare_cc)
9893 (s390_cpu_cpp_builtins, s390_register_target_pragmas): Add
9894 prototypes.
9895 * config/s390/s390.c (s390-builtins.h, s390-builtins.def):
9896 Include.
9897 (flags_builtin, flags_overloaded_builtin_var, s390_builtin_types)
9898 (s390_builtin_fn_types, s390_builtin_decls, code_for_builtin): New
9899 variable definitions.
9900 (s390_const_operand_ok): New function.
9901 (s390_expand_builtin): Rewrite.
9902 (s390_init_builtins): New function.
9903 (s390_handle_vectorbool_attribute): New function.
9904 (s390_attribute_table): Add s390_vector_bool attribute.
9905 (s390_match_ccmode_set): Handle new cc modes CCVH, CCVHU.
9906 (s390_branch_condition_mask): Generate masks for new modes.
9907 (s390_expand_vec_compare_cc): New function.
9908 (s390_mangle_type): Add mangling for vector bool types.
9909 (enum s390_builtin): Remove.
9910 (s390_atomic_assign_expand_fenv): Rename constants for sfpc and
9911 efpc builtins.
9912 * config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): Call
9913 s390_cpu_cpp_builtins.
9914 (REGISTER_TARGET_PRAGMAS): New macro.
9915 * config/s390/s390.md: Define more UNSPEC_VEC_* constants.
9916 (insn_cmp mode attribute): Add new CC modes.
9917 (s390_sfpc, s390_efpc): Rename patterns to sfpc and efpc.
9918 (lcbb): New pattern definition.
9919 * config/s390/s390intrin.h: Include vecintrin.h.
9920 * config/s390/t-s390: New file.
9921 * config/s390/vecintrin.h: New file.
9922 * config/s390/vector.md: Include vx-builtins.md.
9923 * config/s390/vx-builtins.md: New file.S/390 zvector builtin
9924 support.
9925
9926 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
9927
9928 * config/s390/s390-modes.def: Add new modes CCVEQ, CCVFH, and
9929 CCVFHE.
9930 * config/s390/s390.c (s390_match_ccmode_set): Handle new modes.
9931 (s390_select_ccmode): Likewise.
9932 (s390_canonicalize_comparison): Swap operands if necessary.
9933 (s390_expand_vec_compare_scalar): Expand DFmode compare using
9934 single element vector instructions.
9935 (s390_emit_compare): Call s390_expand_vec_compare_scalar.
9936 (s390_branch_condition_mask): Generate CC masks for the new modes.
9937 * config/s390/s390.md (v0, vf, vd): New mode attributes.
9938 (VFCMP, asm_fcmp, insn_cmp): New mode iterator and attributes.
9939 (*vec_cmp<insn_cmp>df_cconly, *fixuns_truncdfdi2_z13)
9940 (*fix_trunc<BFP:mode><GPR:mode>2_bfp, *floatunsdidf2_z13)
9941 (*floatuns<GPR:mode><FP:mode>2, *extendsfdf2_z13)
9942 (*extend<DSF:mode><BFP:mode>2): New insn definition.
9943 (fix_trunc<BFP:mode><GPR:mode>2_bfp, loatuns<GPR:mode><FP:mode>2)
9944 (extend<DSF:mode><BFP:mode>2): Turn into expander.
9945 (floatdi<mode>2, truncdfsf2, add<mode>3, sub<mode>3, mul<mode>3)
9946 (div<mode>3, *neg<mode>2, *abs<mode>2, *negabs<mode>2)
9947 (sqrt<mode>2): Add vector instruction.
9948
9949 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
9950
9951 * config/s390/constraints.md (j00, jm1, jxx, jyy, v): New
9952 constraints.
9953 * config/s390/predicates.md (const0_operand, constm1_operand)
9954 (constable_operand): Accept vector operands.
9955 * config/s390/s390-modes.def: Add supported vector modes.
9956 * config/s390/s390-protos.h (s390_cannot_change_mode_class)
9957 (s390_function_arg_vector, s390_contiguous_bitmask_vector_p)
9958 (s390_bytemask_vector_p, s390_expand_vec_strlen)
9959 (s390_expand_vec_compare, s390_expand_vcond)
9960 (s390_expand_vec_init): Add prototypes.
9961 * config/s390/s390.c (VEC_ARG_NUM_REG): New macro.
9962 (s390_vector_mode_supported_p): New function.
9963 (s390_contiguous_bitmask_p): Mask out the irrelevant bits.
9964 (s390_contiguous_bitmask_vector_p): New function.
9965 (s390_bytemask_vector_p): New function.
9966 (s390_split_ok_p): Vector regs don't work either.
9967 (regclass_map): Add VEC_REGS.
9968 (s390_legitimate_constant_p): Handle vector constants.
9969 (s390_cannot_force_const_mem): Handle CONST_VECTOR.
9970 (legitimate_reload_vector_constant_p): New function.
9971 (s390_preferred_reload_class): Handle CONST_VECTOR.
9972 (s390_reload_symref_address): Likewise.
9973 (s390_secondary_reload): Vector memory instructions only support
9974 short displacements. Rename reload*_nonoffmem* to reload*_la*.
9975 (s390_emit_ccraw_jump): New function.
9976 (s390_expand_vec_strlen): New function.
9977 (s390_expand_vec_compare): New function.
9978 (s390_expand_vcond): New function.
9979 (s390_expand_vec_init): New function.
9980 (s390_dwarf_frame_reg_mode): New function.
9981 (print_operand): Handle addresses with 'O' and 'R' constraints.
9982 (NR_C_MODES, constant_modes): Add vector modes.
9983 (s390_output_pool_entry): Handle vector constants.
9984 (s390_hard_regno_mode_ok): Handle vector registers.
9985 (s390_class_max_nregs): Likewise.
9986 (s390_cannot_change_mode_class): New function.
9987 (s390_invalid_arg_for_unprototyped_fn): New function.
9988 (s390_function_arg_vector): New function.
9989 (s390_function_arg_float): Remove size variable.
9990 (s390_pass_by_reference): Handle vector arguments.
9991 (s390_function_arg_advance): Likewise.
9992 (s390_function_arg): Likewise.
9993 (s390_return_in_memory): Vector values are returned in a VR if
9994 possible.
9995 (s390_function_and_libcall_value): Handle vector arguments.
9996 (s390_gimplify_va_arg): Likewise.
9997 (s390_call_saved_register_used): Consider the arguments named.
9998 (s390_conditional_register_usage): Disable v16-v31 for non-vec
9999 targets.
10000 (s390_preferred_simd_mode): New function.
10001 (s390_support_vector_misalignment): New function.
10002 (s390_vector_alignment): New function.
10003 (TARGET_STRICT_ARGUMENT_NAMING, TARGET_DWARF_FRAME_REG_MODE)
10004 (TARGET_VECTOR_MODE_SUPPORTED_P)
10005 (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN)
10006 (TARGET_VECTORIZE_PREFERRED_SIMD_MODE)
10007 (TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT)
10008 (TARGET_VECTOR_ALIGNMENT): Define target macro.
10009 * config/s390/s390.h (FUNCTION_ARG_PADDING): Define macro.
10010 (FIRST_PSEUDO_REGISTER): Increase value.
10011 (VECTOR_NOFP_REGNO_P, VECTOR_REGNO_P, VECTOR_NOFP_REG_P)
10012 (VECTOR_REG_P): Define macros.
10013 (FIXED_REGISTERS, CALL_USED_REGISTERS)
10014 (CALL_REALLY_USED_REGISTERS, REG_ALLOC_ORDER)
10015 (HARD_REGNO_CALL_PART_CLOBBERED, REG_CLASS_NAMES)
10016 (FUNCTION_ARG_REGNO_P, FUNCTION_VALUE_REGNO_P, REGISTER_NAMES):
10017 Add vector registers.
10018 (CANNOT_CHANGE_MODE_CLASS): Call C function.
10019 (enum reg_class): Add VEC_REGS, ADDR_VEC_REGS, GENERAL_VEC_REGS.
10020 (SECONDARY_MEMORY_NEEDED): Allow SF<->SI mode moves without
10021 memory.
10022 (DBX_REGISTER_NUMBER, FIRST_VEC_ARG_REGNO, LAST_VEC_ARG_REGNO)
10023 (SHORT_DISP_IN_RANGE, VECTOR_STORE_FLAG_VALUE): Define macro.
10024 * config/s390/s390.md (UNSPEC_VEC_*): New constants.
10025 (VR*_REGNUM): New constants.
10026 (ALL): New mode iterator.
10027 (INTALL): Remove mode iterator.
10028 Include vector.md.
10029 (movti): Implement TImode moves for VRs.
10030 Disable TImode splitter for VR targets.
10031 Implement splitting TImode GPR<->VR moves.
10032 (reload*_tomem_z10, reload*_toreg_z10): Replace INTALL with ALL.
10033 (reload<mode>_nonoffmem_in, reload<mode>_nonoffmem_out): Rename to
10034 reload<mode>_la_in, reload<mode>_la_out.
10035 (*movdi_64, *movsi_zarch, *movhi, *movqi, *mov<mode>_64dfp)
10036 (*mov<mode>_64, *mov<mode>_31): Add vector instructions.
10037 (TD/TF mode splitter): Enable for GPRs only (formerly !FP).
10038 (mov<mode> SF SD): Prefer lder, lde for loading.
10039 Add lrl and strl instructions.
10040 Add vector instructions.
10041 (strlen<mode>): Rename old strlen<mode> to strlen_srst<mode>.
10042 Call s390_expand_vec_strlen on z13.
10043 (*cc_to_int): Change predicate to nonimmediate_operand.
10044 (addti3): Rename to *addti3. New expander.
10045 (subti3): Rename to *subti3. New expander.
10046 * config/s390/vector.md: New file.
10047
10048 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
10049
10050 * common/config/s390/s390-common.c (processor_flags_table): Add
10051 z13.
10052 * config.gcc: Add z13.
10053 * config/s390/s390-opts.h (enum processor_type): Add
10054 PROCESSOR_2964_Z13.
10055 * config/s390/s390.c (s390_adjust_priority): Check for
10056 PROCESSOR_2964_Z13.
10057 (s390_reorg): Likewise.
10058 (s390_sched_reorder): Likewise.
10059 (s390_sched_variable_issue): Likewise.
10060 (s390_loop_unroll_adjust): Likewise.
10061 (s390_option_override): Likewise. Default to -mvx when available.
10062 * config/s390/s390.h (enum processor_flags): Add PF_Z13 and PF_VX.
10063 (TARGET_CPU_Z13, TARGET_CPU_VX, TARGET_Z13, TARGET_VX)
10064 (TARGET_VX_ABI): Define macros.
10065 macros.
10066 (TARGET_DEFAULT): Add MASK_OPT_VX.
10067 * config/s390/s390.md ("cpu" attribute): Add z13.
10068 ("cpu_facility" attribute): Add vec.
10069 * config/s390/s390.opt (processor_type): Add z13.
10070 (mvx): New options.
10071 * doc/invoke.texi: Add z13 option for -march.
10072
10073 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
10074
10075 * config/s390/predicates.md (shift_count_or_setmem_operand): Add
10076 mode check to make sure that only scalar integer values are
10077 accepted.
10078
10079 2015-05-19 Jan Hubicka <hubicka@ucw.cz>
10080
10081 * tree.c (verify_type_variant): Fix #undef.
10082 (gimple_canonical_types_compatible_p): Move here from lto.c
10083 (verify_type): Verify TYPE_CANONICAL compatibility.
10084 * tree.h (gimple_canonical_types_compatible_p): Declare.
10085
10086 2015-05-19 Jakub Jelinek <jakub@redhat.com>
10087
10088 PR middle-end/66199
10089 * tree.h (OMP_TEAMS_COMBINED): Define.
10090 * gimplify.c (enum gimplify_omp_var_data): Add
10091 GOVD_LINEAR_LASTPRIVATE_NO_OUTER.
10092 (enum omp_region_type): Add ORT_COMBINED_TEAMS.
10093 (omp_notice_variable): Accept both ORT_TEAMS
10094 and ORT_COMBINED_TEAMS. Don't recurse if
10095 GOVD_LINEAR_LASTPRIVATE_NO_OUTER is set and either
10096 GOVD_LINEAR is set, or GOVD_LASTPRIVATE without
10097 GOVD_FIRSTPRIVATE.
10098 (omp_no_lastprivate): New function.
10099 (gimplify_scan_omp_clauses): For OMP_CLAUSE_LASTPRIVATE
10100 and OMP_CLAUSE_LINEAR, if omp_no_lastprivate, don't
10101 notice_outer and set appropriate bits, otherwise make
10102 sure default(none) combined constructs won't complain.
10103 (gimplify_adjust_omp_clauses): Remove OMP_CLAUSE_LINEAR
10104 outer special casing, for OMP_CLAUSE_LASTPRIVATE if
10105 omp_no_lastprivate either remove the clause or turn it
10106 into OMP_CLAUSE_PRIVATE.
10107 (gimplify_omp_for): Fix up handling of implicit
10108 lastprivate or linear iterators.
10109 (gimplify_omp_workshare): For OMP_TEAMS_COMBINED use
10110 ORT_COMBINED_TEAMS.
10111 * omp-low.c (lower_omp_for_lastprivate): For combined
10112 for simd use fd.loop.n2 from the for rather than simd.
10113
10114 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
10115
10116 * config/cris/cris.c (cris_expand_prologue): Use gen_raw_REG
10117 instead of gen_rtx_raw_REG.
10118 (cris_expand_epilogue): Likewise.
10119 * config/microblaze/microblaze.c (microblaze_classify_address):
10120 Likewise.
10121 * config/sparc/sparc.md: Likewise.
10122
10123 2015-05-19 Uros Bizjak <ubizjak@gmail.com>
10124
10125 * config/alpha/alpha.c (alpha_legitimize_reload_address)
10126 (alpha_preferred_reload_class, alpha_legitimate_constant_p): Use
10127 CONST_INT_P, CONST_SCALAR_INT_P and CONST_DOUBLE_P predicates.
10128 (alpha_split_reload_pair) <case CONST_INT, case CONST_WIDE_INT>:
10129 Use CASE_CONST_SCALAR_INT.
10130 (print_operand) <case 'M'>: Use mode_width_operand to check the
10131 value of the constant.
10132 * config/alpha/alpha.md (movti): Use CONST_SCALAR_INT_P predicate.
10133 * config/alpha/predicates.md (input_operand): Use general_operand
10134 instead of match_code as operand check.
10135 (symbolic_operand): Use match_code with subexpression digits.
10136 * config/alpha/constraints.md (Q): Ditto.
10137
10138 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
10139
10140 * optabs.c (expand_vec_perm): Don't re-use SEL as target operand.
10141
10142 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
10143
10144 * config/s390/s390.c (s390_secondary_reload): Fix check for
10145 load/store relative.
10146
10147 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
10148
10149 * recog.h: Increase MAX_RECOG_ALTERNATIVES. Change type of
10150 alternative_mask to uint64_t.
10151
10152 2015-05-19 Jakub Jelinek <jakub@redhat.com>
10153
10154 PR tree-optimization/66187
10155 * match.pd ((bit_and (plus/minus (convert @0) (convert @1)) mask)):
10156 Pass TYPE_SIGN to tree_int_cst_min_precision. If
10157 !TYPE_OVERFLOW_WRAPS, ensure @4 is non-negative.
10158
10159 2015-05-19 David Malcolm <dmalcolm@redhat.com>
10160
10161 * diagnostic.c (diagnostic_report_current_module): Strengthen
10162 local "new_map" from const line_map * to
10163 const line_map_ordinary *.
10164 * genmatch.c (error_cb): Likewise for local "map".
10165 (output_line_directive): Likewise for local "map".
10166 * input.c (expand_location_1): Likewise for local "map".
10167 Pass NULL rather than &map to
10168 linemap_unwind_to_first_non_reserved_loc, since the value is never
10169 read from there, and the value written back not read from here.
10170 (is_location_from_builtin_token): Strengthen local "map" from
10171 const line_map * to const line_map_ordinary *.
10172 (dump_location_info): Strengthen locals "map" from
10173 line_map *, one to const line_map_ordinary *, the other
10174 to const line_map_macro *.
10175 * tree-diagnostic.c (loc_map_pair): Strengthen field "map" from
10176 const line_map * to const line_map_macro *.
10177 (maybe_unwind_expanded_macro_loc): Add a call to
10178 linemap_check_macro when writing to the "map" field of the
10179 loc_map_pair.
10180 Introduce local const line_map_ordinary * "ord_map", using it in
10181 place of "map" in the part of the function where we know we have
10182 an ordinary map. Strengthen local "m" from const line_map * to
10183 const line_map_ordinary *.
10184
10185 2015-05-19 Nick Clifton <nickc@redhat.com>
10186
10187 PR target/66156
10188 * config/msp430/msp430.md (zero_extendhisi2): Add support for
10189 separate source and destination registers.
10190
10191 2015-05-19 Richard Biener <rguenther@suse.de>
10192
10193 PR tree-optimization/66165
10194 * tree-vect-slp.c (vect_supported_load_permutation_p): Add guard
10195 for no load permutation.
10196
10197 PR tree-optimization/66185
10198 * tree-vect-slp.c (vect_build_slp_tree): Properly roll back
10199 when building the SLP node from scalars.
10200
10201 2015-05-19 Eric Botcazou <ebotcazou@adacore.com>
10202 Tristan Gingold <gingold@adacore.com>
10203
10204 * insn-notes.def (UPDATE_SJLJ_CONTEXT): New note.
10205 * builtins.c (expand_builtin_update_setjmp_buf): Make global.
10206 (expand_stack_restore): Call record_new_stack_level.
10207 (expand_stack_save): Do not call do_pending_stack_adjust.
10208 * builtins.h (expand_builtin_update_setjmp_buf): Declare.
10209 * calls.c (expand_call): Call record_new_stack_level for alloca.
10210 * except.c (sjlj_mark_call_sites): Expand builtin_update_setjmp_buf
10211 wherever a NOTE_INSN_UPDATE_SJLJ_CONTEXT note is present.
10212 (update_sjlj_context): New global function.
10213 * except.h (update_sjlj_context): Declare.
10214 * explow.c (record_new_stack_level): New global function.
10215 (allocate_dynamic_stack_space): Call record_new_stack_level.
10216 * explow.h (record_new_stack_level): Declare.
10217 * final.c (final_scan_insn): Deal with NOTE_INSN_UPDATE_SJLJ_CONTEXT.
10218 * cfgrtl.c (duplicate_insn_chain): Likewise.
10219
10220 2015-05-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10221
10222 * calls.c: Always define STACK_GROWS_DOWNWARD as 0 or 1.
10223 (mem_overlaps_already_clobbered_arg_p): Rewrite ifdef
10224 STACK_GROWS_DOWNWARD as normal if.
10225 (expand_call): Likewise.
10226
10227 2015-05-19 Oleg Endo <olegendo@gcc.gnu.org>
10228
10229 PR target/54236
10230 * config/sh/sh.md (*round_int_even): New insn_and_split and
10231 accompanying new unnamed split.
10232
10233 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
10234
10235 * bitmap.c (bitmap_set_range): Handle count==1 specially.
10236 (bitmap_clear_range): Likewise.
10237 * cfgcleanup.c (mark_effect): Use bitmap_clear_range and
10238 bitmap_set_range unconditionally.
10239 * df-problems.c (df_simulate_one_insn_forwards): Likewise.
10240 * df-scan.c (df_mark_reg): Likewise.
10241 * haifa-sched.c (setup_ref_regs): Likewise.
10242 * sched-rgn.c (update_live_1): Likewise.
10243
10244 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
10245
10246 * regs.h (END_HARD_REGNO): Delete.
10247 (END_REGNO): Move to...
10248 * rtl.h: ...here.
10249 * bt-load.c (note_btr_set): Use END_REGNO instead of END_HARD_REGNO.
10250 * caller-save.c (mark_set_regs): Likewise.
10251 * combine.c (move_deaths, distribute_notes): Likewise.
10252 * cse.c (invalidate, invalidate_for_call): Likewise.
10253 * df-scan.c (df_ref_record): Likewise.
10254 * postreload-gcse.c (reg_changed_after_insn_p): Likewise.
10255 (record_last_reg_set_info): Likewise.
10256 * reg-stack.c (convert_regs_exit): Likewise.
10257 * reload.c (reg_overlap_mentioned_for_reload_p): Likewise.
10258 * resource.c (update_live_status): Likewise.
10259 * rtlanal.c (find_reg_fusage, find_regno_fusage): Likewise.
10260
10261 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
10262
10263 * rtl.h (reg_info): Add an nregs field.
10264 (REG_NREGS): Use it.
10265 (SET_REGNO_RAW): Delete.
10266 (set_regno_raw): New function.
10267 * regs.h (END_HARD_REGNO): Make equivalent to END_REGNO.
10268 (END_REGNO): Redefine in terms of REG_NREGS.
10269 * read-rtl.c (read_rtx_code): Call set_regno_raw instead of
10270 SET_REGNO_RAW.
10271 * emit-rtl.c (set_mode_and_regno): Likewise.
10272 * df-scan.c (df_ref_change_reg_with_loc): Use set_mode_and_regno
10273 instead of SET_REGNO_RAW.
10274
10275 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
10276
10277 * rtl.h (PUT_MODE_RAW): New macro.
10278 (PUT_REG_NOTE_KIND): Use it.
10279 (set_mode_and_regno): Declare.
10280 (gen_raw_REG): Change regno to "unsigned int".
10281 (gen_rtx_REG): Change "unsigned" to "unsigned int".
10282 (PUT_MODE): Forward to PUT_MODE_RAW for generators, otherwise
10283 use set_mode_and_regno to change the mode of registers.
10284 * gengenrtl.c (gendef): Use PUT_MODE_RAW.
10285 * emit-rtl.c (set_mode_and_regno): New function.
10286 (gen_raw_REG): Change regno to unsigned int. Use set_mode_and_regno.
10287 * caller-save.c (reg_save_code): Use set_mode_and_regno.
10288 * expr.c (init_expr_target): Likewise.
10289 * ira.c (setup_prohibited_mode_move_regs): Likewise.
10290 * postreload.c (reload_cse_simplify_operands): Likewise.
10291
10292 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
10293
10294 * caller-save.c (init_caller_save): Use word_mode and
10295 FIRST_PSEUDO_REGISTER when creating temporary rtxes.
10296 * expr.c (init_expr_target): Likewise.
10297 * ira.c (setup_prohibited_mode_move_regs): Likewise.
10298 * postreload.c (reload_cse_regs_1): Likewise.
10299
10300 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
10301
10302 * rtl.def (REG): Change format to "r".
10303 * rtl.h (rtunion): Remove rt_reg.
10304 (reg_info): New structure.
10305 (rtx_def): Add reg field to main union.
10306 (X0REGATTR): Delete.
10307 (REG_CHECK): New macro.
10308 (SET_REGNO_RAW, rhs_regno, REG_ATTRS): Use it.
10309 * rtl.c (rtx_format): Document "r".
10310 (rtx_code_size): Handle REG specially.
10311 * gengenrtl.c (special_format): Return true for formats
10312 that include 'r'.
10313 * gengtype.c (adjust_field_rtx_def): Handle 'r' fields.
10314 Deal with REG_ATTRS after the field loop.
10315 * emit-rtl.c (gen_raw_REG): Call rtx_alloc_stat directly.
10316 * expmed.c (init_expmed): Call gen_raw_REG instead of
10317 gen_rtx_raw_REG.
10318 * expr.c (init_expr_target): Likewise.
10319 * regcprop.c (maybe_mode_change): Likewise.
10320 * varasm.c (make_decl_rtl): Likewise.
10321 * final.c (leaf_renumber_regs_insn): Return early after
10322 handling REGs.
10323 * genemit.c (gen_exp): Handle 'r' fields.
10324 * genpeep.c (match_rtx): Likewise.
10325 * gensupport.c (subst_pattern_match): Likewise.
10326 (get_alternatives_number, collect_insn_data, alter_predicate_for_insn)
10327 (alter_constraints, subst_dup): Likewise.
10328 * read-rtl.c (read_rtx_code): Likewise.
10329 * print-rtl.c (print_rtx): Likewise.
10330 * genrecog.c (find_operand, find_matching_operand): Likewise.
10331 (validate_pattern, match_pattern_2): Likewise.
10332 (parameter::UINT, rtx_test::REGNO_FIELD): New enum values.
10333 (rtx_test::regno_field): New function.
10334 (operator ==, safe_to_hoist_p, transition_parameter_type)
10335 (parameter_type_string, print_parameter_value)
10336 (print_nonbool_test, print_test): Handle new enum values.
10337 * cselib.c (rtx_equal_for_cselib_1): Handle REG specially.
10338 * lra-constraints.c (operands_match_p): Likewise.
10339
10340 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
10341
10342 * df.h (df_ref_change_reg_with_loc): Remove old_regno parameter.
10343 Change type of new_regno to unsigned int.
10344 * df-scan.c (df_ref_change_reg_with_loc_1): Change type of
10345 new_regno to unsigned int.
10346 (df_ref_change_reg_with_loc): Remove old_regno parameter.
10347 Change type of new_regno to unsigned int. Use SET_REGNO_RAW.
10348 * rtl.h (SET_REGNO): Update call to df_ref_change_reg_with_loc.
10349 (SET_REGNO_RAW): Add space after ",".
10350
10351 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
10352
10353 * rtl.h (REG_NREGS): New macro
10354 * alias.c (record_set): Use it.
10355 * cfgcleanup.c (mark_effect): Likewise.
10356 * combine.c (likely_spilled_retval_1): Likewise.
10357 (likely_spilled_retval_p, can_change_dest_mode): Likewise.
10358 (move_deaths, distribute_notes): Likewise.
10359 * cselib.c (cselib_record_set): Likewise.
10360 * df-problems.c (df_simulate_one_insn_forwards): Likewise.
10361 * df-scan.c (df_mark_reg): Likewise.
10362 * dse.c (look_for_hardregs): Likewise.
10363 * dwarf2out.c (reg_loc_descriptor): Likewise.
10364 (multiple_reg_loc_descriptor): Likewise.
10365 * expr.c (write_complex_part, read_complex_part): Likewise.
10366 (emit_move_complex): Likewise.
10367 * haifa-sched.c (setup_ref_regs): Likewise.
10368 * ira-lives.c (mark_hard_reg_live): Likewise.
10369 * lra.c (lra_set_insn_recog_data): Likewise.
10370 * mode-switching.c (create_pre_exit): Likewise.
10371 * postreload.c (reload_combine_recognize_const_pattern): Likewise.
10372 (reload_combine_recognize_pattern): Likewise.
10373 (reload_combine_note_use, move2add_record_mode): Likewise.
10374 (reload_cse_move2add): Likewise.
10375 * reg-stack.c (subst_stack_regs_pat): Likewise.
10376 * regcprop.c (kill_value, copy_value): Likewise.
10377 (copyprop_hardreg_forward_1): Likewise.
10378 * regrename.c (verify_reg_in_set, scan_rtx_reg): Likewise.
10379 (build_def_use): Likewise.
10380 * sched-deps.c (mark_insn_reg_birth, mark_reg_death): Likewise.
10381 (deps_analyze_insn): Likewise.
10382 * sched-rgn.c (check_live_1, update_live_1): Likewise.
10383 * sel-sched.c (count_occurrences_equiv): Likewise.
10384 * valtrack.c (dead_debug_insert_temp): Likewise.
10385
10386 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
10387
10388 * cfgcleanup.c (mentions_nonequal_regs): Use END_REGNO.
10389 * dse.c (note_add_store): Likewise.
10390 * ira-lives.c (mark_hard_reg_dead): Likewise.
10391 * loop-invariant.c (mark_reg_store): Likewise.
10392 (mark_reg_death): Likewise.
10393 * postreload.c (reload_combine): Likewise.
10394 (reload_combine_note_store): Likewise.
10395 (reload_combine_note_use): Likewise.
10396 * recog.c (peep2_reg_dead_p): Likewise.
10397
10398 2015-05-19 Alan Modra <amodra@gmail.com>
10399
10400 * config/rs6000/predicates.md (gpc_reg_operand): Don't allow all
10401 hard registers numbered greater or equal to ARG_POINTER_REGNUM.
10402 (reg_or_neg_short_operand, fix_trunc_dest_operand): Delete
10403 unused predicates.
10404 * config/rs6000/altivec.md (save_vregs_*, restore_vregs_*):
10405 Use altivec_register_operand. Make insn predicate TARGET_ALTIVEC.
10406 * config/rs6000/rs6000.md (extzvdi_internal2): Use cc_reg_operand.
10407 * config/rs6000/vsx.md (vsx_float<VSi><mode>2): Expand comment.
10408
10409 2015-05-19 Sameera Deshpande <Sameera.Deshpande@imgtec.com>
10410
10411 * config/mips/mips.md (JOIN_MODE): New mode iterator.
10412 (join2_load_Store<JOIN_MODE:mode>): New pattern.
10413 (join2_loadhi): Likewise.
10414 (define_peehole2): Add peephole2 patterns to join 2 HI/SI/SF/DF-mode
10415 load-load and store-stores.
10416 * config/mips/mips.opt (mload-store-pairs): New option.
10417 (TARGET_LOAD_STORE_PAIRS): New macro.
10418 * config/mips/mips.h (ENABLE_LD_ST_PAIRS): Likewise.
10419 * config/mips/mips-protos.h (mips_load_store_bonding_p): New prototype.
10420 * config/mips/mips.c (mips_load_store_bonding_p): New function.
10421
10422 2015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
10423
10424 * bb-reorder.c (fix_up_fall_thru_edges): Use std::swap instead of
10425 explicit swaps.
10426 * dojump.c (do_compare_rtx_and_jump): Likewise.
10427 * expmed.c (emit_store_flag_1): Likewise.
10428 * fibonacci_heap.h (fibonacci_heap::union_with): Likewise.
10429 * final.c (sprint_ul): Use std::reverse for reversing a string.
10430 * fold-const.c (extract_muldiv_1): Use std::swap.
10431 * genmodes.c (emit_mode_int_n): Likewise.
10432 * ifcvt.c (dead_or_predicable): Likewise.
10433 * ira-build.c (ira_merge_live_ranges): Likewise.
10434 (swap_allocno_copy_ends_if_necessary): Likewise.
10435 * ira.c (ira_setup_alts): Likewise.
10436 * loop-iv.c (iv_analyze_expr): Likewise.
10437 (implies_p): Likewise.
10438 (canon_condition): Likewise.
10439 * lra-constraints.c (swap_operands): Likewise.
10440 * lra-lives.c (lra_merge_live_ranges): Likewise.
10441 * omega.c (swap): Remove.
10442 (bswap): Remove.
10443 (omega_unprotect_1): Use std::swap.
10444 (omega_solve_geq): Likewise.
10445 * optabs.c (expand_binop_directly): Likewise.
10446 (expand_binop): Likewise.
10447 (emit_conditional_move): Likewise.
10448 (emit_conditional_add): Likewise.
10449 * postreload.c (reload_cse_simplify_operands): Likewise.
10450 * reg-stack.c (emit_swap_insn): Likewise.
10451 (swap_to_top): Likewise.
10452 (compare_for_stack_reg): Likewise.
10453 (subst_asm_stack_regs): Likewise.
10454 * reload.c (find_reloads): Likewise.
10455 * reload1.c (gen_reload_chain_without_interm_reg_p): Likewise.
10456 * sel-sched.c (invoke_reorder_hooks): Likewise.
10457 (create_block_for_bookkeeping): Likewise.
10458 * tree-data-ref.c (lambda_matrix_row_exchange): Remove.
10459 (lambda_matrix_right_hermite): Use std::swap.
10460 * tree-ssa-coalesce.c (sort_coalesce_list): Likewise.
10461 * tree-ssa-ifcombine.c (ifcombine_ifandif): Likewise.
10462 * tree-ssa-loop-ivopts.c (iv_ca_delta_reverse): Likewise.
10463 * tree-ssa-math-opts.c (is_widening_mult_p): Likewise.
10464 * tree-ssa-phiopt.c (hoist_adjacent_loads): Likewise.
10465 * tree-ssa-reassoc.c (linearize_expr_tree): Likewise.
10466 * tree-ssa-threadedge.c (simplify_control_stmt_condition): Likewise.
10467 * tree-vrp.c (compare_ranges): Likewise.
10468 * var-tracking.c (add_with_sets): Likewise.
10469 (vt_find_locations): Likewise.
10470
10471 2015-05-18 Andreas Tobler <andreast@gcc.gnu.org>
10472
10473 * config/freebsd-spec.h (FBSD_STARTFILE_SPEC): Add the bits to build
10474 pie executables.
10475 (FBSD_ENDFILE_SPEC): Likewise.
10476 * config/i386/freebsd.h (STARTFILE_SPEC): Remove and use the one from
10477 config/freebsd-spec.h.
10478 (ENDFILE_SPEC): Likewise.
10479
10480 2015-05-18 Uros Bizjak <ubizjak@gmail.com>
10481 Richard Henderson <rth@redhat.com>
10482
10483 PR target/57032
10484 * config/alpha/constraints.md (Q): Rewrite as define_memory_constraint.
10485 Check for a memory location that is not a reference (using an AND)
10486 to an unaligned location here.
10487 * config/alpha/predicates.md (normal_memory_operand): Remove.
10488
10489 2015-05-18 Alex Velenko <Alex.Velenko@arm.com>
10490
10491 * config/arm/arm.md (andsi_not_shiftsi_si_scc): New pattern.
10492 (andsi_not_shiftsi_si_scc_no_reuse): New pattern.
10493
10494 2015-05-18 Robert Suchanek <robert.suchanek@imgtec.com>
10495
10496 * config/mips/mips.c (micromips_globals): New variable.
10497 (mips_set_compression_mode): Save and reinitialize target-dependent
10498 state for microMIPS.
10499
10500 2015-05-18 Martin Liska <mliska@suse.cz>
10501
10502 * dbgcnt.def: Add new counter.
10503 * ipa-icf.c (sem_item_optimizer::merge_classes): Use the counter.
10504
10505 2015-05-18 Martin Liska <mliska@suse.cz>
10506
10507 * dbgcnt.def: Sort counters.
10508 * opts.c (common_handle_option): Do not compile if
10509 -fdbg-cnt-list is enabled.
10510
10511 2015-05-18 Tom de Vries <tom@codesourcery.com>
10512
10513 * gimplify.c (gimplify_modify_expr): Remove do_deref handling.
10514 (gimplify_va_arg_expr): Remove do_deref handling. Remove adding of
10515 address operator to va_list operand.
10516 * tree-stdarg.c (expand_ifn_va_arg_1): Do deref of va_list operand
10517 unconditionally.
10518 * config/i386/i386.c (ix86_gimplify_va_arg): Remove deref on va_list
10519 operand.
10520 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Same.
10521 * config/s390/s390.c (s390_gimplify_va_arg): Same.
10522 * config/spu/spu.c (spu_gimplify_va_arg_expr): Same.
10523
10524 2015-05-18 Tom de Vries <tom@codesourcery.com>
10525
10526 * tree-ssa-tail-merge.c: Fix whitespace.
10527
10528 2015-05-17 Jim Wilson <jim.wilson@linaro.org>
10529
10530 * doc/invoke.texi (ARM Options, mtune): Add generic-armv7-a,
10531 cortex-a17, and cortex-a17.cortex-a7.
10532
10533 2015-05-17 Oleg Endo <olegendo@gcc.gnu.org>
10534
10535 PR target/54236
10536 * config/sh/sh.md (*addc_2r_t): Use ashift instead of mult.
10537
10538 2015-05-17 Uros Bizjak <ubizjak@gmail.com>
10539
10540 PR target/66174
10541 * config/i386/i386.c (expand_vec_perm_blend): Enable HImode and
10542 QImode inner modes for TARGET_AVX512BW. Force mask operand
10543 to a register for AVX512F modes.
10544
10545 2015-05-16 Jan Hubicka <hubicka@ucw.cz>
10546
10547 * toplev.c (emit_debug_global_declarations): Do not output debug info
10548 when doing slim LTO objects.
10549
10550 2015-05-16 Jan Hubicka <hubicka@ucw.cz>
10551
10552 * ipa-utils.h (warn_types_mismatch, odr_or_derived_type_p,
10553 odr_types_equivalent_p): Declare.
10554 (odr_type_p): Use gcc_checking_assert.
10555 (type_in_anonymous_namespace_p) Declare.
10556 (type_with_linkage_p): Declare.
10557 * common.opt (Wlto-type-mismatch): New warning.
10558 * ipa-devirt.c (compound_type_base): New function.
10559 (odr_or_derived_type_p): New function.
10560 (odr_types_equivalent_p): New function.
10561 (add_type_duplicate): Simplify.
10562 (type_with_linkage_p): Add hack to prevent false positives on C types
10563 (type_in_anonymous_namespace_p): Likewise.
10564 * tree.c (need_assembler_name_p): Use type_with_linkage.
10565 * tree.h (type_in_anonymous_namespace_p): Remove.
10566 * doc/invoke.texi (-Wlto-type-mismatch): Document
10567
10568 2015-05-16 Jan Hubicka <hubicka@ucw.cz>
10569
10570 * tree.c (verify_type_variant): Verify tree_base and type_common flags.
10571 (verify_type): Verify STRING_FLAG.
10572
10573 2015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
10574
10575 PR fortran/44054
10576 * tree-pretty-print.c (percent_K_format): Replace locus pointer
10577 with accessor function.
10578 * tree-diagnostic.c (diagnostic_report_current_function): Use
10579 diagnostic_location function.
10580 (maybe_unwind_expanded_macro_loc): Likewise.
10581 (virt_loc_aware_diagnostic_finalizer): Likewise.
10582 (default_tree_printer): Replace locus pointer with accessor function.
10583 * diagnostic.c (diagnostic_initialize): Initialize caret_chars array.
10584 (diagnostic_set_info_translated): Initialize second location.
10585 (diagnostic_build_prefix): Use CARET_LINE_MARGIN.
10586 (diagnostic_show_locus): Handle two locations. Call
10587 diagnostic_print_caret_line.
10588 (diagnostic_print_caret_line): New.
10589 (default_diagnostic_starter): Use diagnostic_location function.
10590 (diagnostic_report_diagnostic): Use diagnostic_location function.
10591 (verbatim): Do not set text.locus.
10592 * diagnostic.h (struct diagnostic_info): Remove location field.
10593 (struct diagnostic_context): Make caret_chars an array of two.
10594 (diagnostic_location): New inline.
10595 (diagnostic_expand_location): Handle two locations.
10596 (diagnostic_same_line): New inline.
10597 (diagnostic_print_caret_line): Declare.
10598 (CARET_LINE_MARGIN): New constant.
10599 * pretty-print.c (pp_printf): Do not set text.locus.
10600 (pp_verbatim): Do not set text.locus.
10601 * pretty-print.h (MAX_LOCATIONS_PER_MESSAGE): New constant.
10602 (struct text_info): Replace locus pointer with locations
10603 array. Add accessor functions.
10604
10605 2015-05-16 Kugan Vivekanandarajah <kuganv@linaro.org>
10606 Zhenqiang Chen <zhenqiang.chen@linaro.org>
10607
10608 PR target/65768
10609 * config/arm/arm.h (DONT_EARLY_SPLIT_CONSTANT): New macro.
10610 * config/arm/arm.md (subsi3, andsi3, iorsi3, xorsi3, movsi): Keep some
10611 large constants in register instead of splitting them.
10612
10613 2015-05-16 Uros Bizjak <ubizjak@gmail.com>
10614
10615 PR target/66140
10616 * config/alpha/alpha.c (get_aligned_mem): Also look for reload
10617 replacements in memory addresses.
10618 (get_unaligned_address): Ditto.
10619
10620 2015-05-16 James Bowman <james.bowman@ftdichip.com>
10621
10622 * config/ft32/*: New files for FT32 port.
10623 * doc/install.texi: Add FT32 information.
10624 * doc/invoke.texi: Add FT32 information.
10625 * doc/md.texi: Add FT32 information.
10626 * doc/contrib.texi: Self added.
10627
10628 2015-05-15 Marc Glisse <marc.glisse@inria.fr>
10629
10630 PR tree-optimization/64454
10631 * match.pd ((X % Y) % Y, (X % Y) < Y): New patterns.
10632 (-1 - A -> ~A): Remove unnecessary condition.
10633
10634 2015-05-15 Gregor Richards <gregor.richards@uwaterloo.ca>
10635
10636 * config/i386/linux.h (MUSL_DYNAMIC_LINKER): Define.
10637 * config/i386/linux64.h (MUSL_DYNAMIC_LINKER32): Define.
10638 (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERX32): Define.
10639
10640 2015-05-15 Ilya Enkovich <ilya.enkovich@intel.com>
10641
10642 * ipa-chkp.h (chkp_wrap_function): New.
10643 * ipa-chkp.c (chkp_wrap_function): Remove 'static'.
10644 (chkp_wrap_function_name): New.
10645 (chkp_build_instrumented_fndecl): Use chkp_wrap_function_name
10646 to get wrapper name.
10647 * lto-cgraph.c: Include ipa-chkp.h.
10648 (input_cgraph_1): Avoid alias chain for wrappers.
10649
10650 2015-05-15 Ilya Enkovich <enkovich.gnu@gmail.com>
10651
10652 PR middle-end/66134
10653 * tree-chkp.c (chkp_get_orginal_bounds_for_abnormal_copy): New.
10654 (chkp_maybe_copy_and_register_bounds): Don't copy abnormal copy.
10655
10656 2015-05-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10657
10658 * config/aarch64/aarch64.h (AARCH64_TUNE_SLOWMUL): Delete.
10659 (AARCH64_FL_SLOWMUL): Delete.
10660 (AARCH64_FL_CRC): Redefine to 1<<3.
10661 (AARCH64_FL_USE_FMA_STEERING_PASS): Redefine to 1<<4.
10662
10663 2015-05-15 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
10664
10665 * config/arm/arm.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Add appropriate
10666 casting.
10667
10668 2015-05-15 Uros Bizjak <ubizjak@gmail.com>
10669
10670 * config/alpha/alpha.md (extendqidi2): Use general_operand
10671 instead of some_operand for operand[1] predicate.
10672 (extendhidi2): Ditto.
10673 (cbranchdi4): Use general_operand instead of some_operand
10674 for operand[1] and operands[2] predicates.
10675 (cstoredi4): Ditto.
10676 * config/alpha/predicates.md (some_operand): Remove unused predicate.
10677 (some_ni_operand): Ditto.
10678
10679 2015-05-15 Uros Bizjak <ubizjak@gmail.com>
10680
10681 * config/alpha/alpha.c (alpha_extract_integer): Do not handle
10682 CONST_WIDE_INT and CONST_DOUBLE. Assert CONST_INT_P (x).
10683 (alpha_legitimate_constant_p) <case CONST_WIDE_INT>: Check high and
10684 low part of the constant using alpha_emit_set_const_1.
10685 (alpha_expand_mov): Do not handle CONST_WIDE_INT and CONST_DOUBLE.
10686
10687 2015-05-14 Rohit Arul Raj <rohitrulraj@freescale.com>
10688
10689 * varasm.c (output_constant_pool_1): Pass down alignment from
10690 constant pool entry's descriptor to output_constant_pool_2.
10691 (output_object_block): Add comment prior to call to
10692 output_constant_pool_1.
10693
10694 2015-05-14 Vladimir Makarov <vmakarov@redhat.com>
10695
10696 PR rtl-optimization/65862
10697 * target.def (ira_change_pseudo_allocno_class): New hook.
10698 * targhooks.c (default_ira_change_pseudo_allocno_class): Default
10699 value of the hook.
10700 * targhooks.h (default_ira_change_pseudo_allocno_class): New extern.
10701 * doc/tm.texi.in (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): Add the
10702 hook.
10703 * ira-costs.c (find_costs_and_classes): Call the hook and change
10704 classes when it is necessary.
10705 * doc/tm.texi: Update.
10706
10707 2015-05-14 Alexander Monakov <amonakov@ispras.ru>
10708
10709 * config/i386/i386.md (sibcall_memory): Check that register with
10710 callee address is not also used as one of the arguments, instead
10711 of checking that it is not live after the sibcall.
10712 (sibcall_pop_memory): Ditto.
10713 (sibcall_value_memory): Ditto.
10714 (sibcall_value_pop_memory): Ditto.
10715
10716 2015-05-14 Marc Glisse <marc.glisse@inria.fr>
10717
10718 * generic-match-head.c (types_match): Handle non-types.
10719 * gimple-match-head.c (types_match): Likewise.
10720 * match.pd: Remove unnecessary TREE_TYPE for types_match.
10721
10722 2015-05-14 Wilco Dijkstra <wdijkstr@arm.com>
10723
10724 * config/aarch64/aarch64.md (absdi2): Optimize abs expansion.
10725 (csneg3<mode>_insn): Enable expansion of pattern.
10726
10727 2015-05-14 Nick Clifton <nickc@redhat.com>
10728
10729 * config/rl78/rl78.c (rl78_select_section): Select the correct
10730 default section based upon the category of the decl.
10731
10732 2015-05-13 Segher Boessenkool <segher@kernel.crashing.org>
10733
10734 PR rtl-optimization/30967
10735 * config/rs6000/rs6000.c (rs6000_rtx_costs): Don't consider
10736 destination mode for the cost of scc patterns.
10737
10738 2015-05-13 Uros Bizjak <ubizjak@gmail.com>
10739
10740 * config/i386/i386.md (*mul<mode>3_1): Merge with *mulhi3_1
10741 using SWIM248 mode iterator.
10742 (*mulv<mode>4): Use x86_64_sext_operand for operand[2] constraint.
10743 (*mulvhi4): mark operand[1] as commutative. Use nonimmediate_operand
10744 for operand[2] constraint.
10745 (*mulv<mode>4_1): Merge with *mulvhi4_1 using SWI248 mode iterator.
10746
10747 2015-05-13 Jakub Jelinek <jakub@redhat.com>
10748
10749 PR middle-end/66133
10750 * omp-low.c (expand_omp_taskreg): For GIMPLE_OMP_TASK expansion,
10751 make sure it is never noreturn, even when the task body does not
10752 return.
10753 (lower_omp_taskreg): For GIMPLE_OMP_TASK, emit GIMPLE_OMP_CONTINUE
10754 right before GIMPLE_OMP_RETURN.
10755 (make_gimple_omp_edges): Accept GIMPLE_OMP_CONTINUE as ->cont
10756 for GIMPLE_OMP_TASK. For GIMPLE_OMP_RETURN corresponding to
10757 GIMPLE_OMP_TASK add an EDGE_ABNORMAL edge from entry to exit.
10758
10759 2015-05-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10760
10761 * params.def (PARAM_MAX_POW_SQRT_DEPTH): New param.
10762 * tree-ssa-math-opts.c: Include params.h
10763 (pow_synth_sqrt_info): New struct.
10764 (representable_as_half_series_p): New function.
10765 (get_fn_chain): Likewise.
10766 (print_nested_fn): Likewise.
10767 (dump_fractional_sqrt_sequence): Likewise.
10768 (dump_integer_part): Likewise.
10769 (expand_pow_as_sqrts): Likewise.
10770 (gimple_expand_builtin_pow): Use above to attempt to expand
10771 pow as series of square roots. Removed now unused variables.
10772
10773 2015-05-13 Uros Bizjak <ubizjak@gmail.com>
10774
10775 * config/alpha/alpha.c (alpha_emit_set_long_const): Remove c1 argument.
10776 (alpha_extract_integer): Redeclare as static HOST_WIDE_INT.
10777 Remove *p0 and *p1 arguments. Rewrite function.
10778 (alpha_legitimate_constant_p): Update call to alpha_extract_integer.
10779 (alpha_split_const_mov): Update calls to alpha_extract_integer and
10780 alpha_emit_set_long_const.
10781 (alpha_expand_epilogue): Update calls to alpha_emit_set_long_const.
10782 (alpha_output_mi_thunk_osf): Ditto.
10783 * config/alpha/alpha.md (movti): Do not check operands[1]
10784 for CONST_DOUBLE.
10785
10786 2015-05-13 Richard Biener <rguenther@suse.de>
10787
10788 PR tree-optimization/66129
10789 * tree-vect-slp.c (vect_build_slp_tree): Make sure all ops are
10790 commutative.
10791 (vect_schedule_slp_instance): Fix typo.
10792
10793 2015-05-13 David Malcolm <dmalcolm@redhat.com>
10794
10795 * common.opt (fdump-internal-locations): New option.
10796 * input.c: Include diagnostic-core.h.
10797 (get_end_location): New function.
10798 (write_digit): New function.
10799 (write_digit_row): New function.
10800 (dump_location_range): New function.
10801 (dump_labelled_location_range): New function.
10802 (dump_location_info): New function.
10803 * input.h (dump_location_info): New prototype.
10804 * toplev.c (compile_file): Handle flag_dump_locations.
10805
10806 2015-05-13 Eric Botcazou <ebotcazou@adacore.com>
10807
10808 * gimple-expr.h (is_gimple_constant): Reorder.
10809 * tree-ssa-propagate.c (before_dom_children): Use inline accessor.
10810
10811 2015-05-13 Segher Boessenkool <segher@kernel.crashing.org>
10812
10813 * combine.c (simplify_set): When generating a CC set, if the
10814 source already is in the correct mode, do not wrap it in a
10815 compare. Simplify the rest of that code.
10816
10817 2015-05-13 Richard Biener <rguenther@suse.de>
10818
10819 PR tree-optimization/66123
10820 * tree-ssa-dom.c (propagate_rhs_into_lhs): Check if we found
10821 a taken edge.
10822
10823 2015-05-13 Richard Biener <rguenther@suse.de>
10824
10825 PR middle-end/66110
10826 * alias.c (alias_sets_conflict_p): Do not treat has_zero_child
10827 specially.
10828 * Makefile.in (dfp.o-warn): Add -Wno-strict-aliasing.
10829
10830 2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
10831
10832 * doc/install.texi: Bump latest automake 1.11 version to 1.11.6.
10833 * aclocal.m4: Regenerated with automake-1.11.6.
10834
10835 2015-05-13 Tom de Vries <tom@codesourcery.com>
10836
10837 PR tree-optimization/66010
10838 * gimplify.h (gimplify_va_arg_internal): Remove declaration.
10839 * gimplify.c (gimplify_va_arg_internal): Remove and inline into ...
10840 * tree-stdarg.c (expand_ifn_va_arg_1): ... here. Choose between lval
10841 and rval based on do_deref.
10842
10843 2015-05-13 Ilya Enkovich <ilya.enkovich@intel.com>
10844
10845 PR target/65103
10846 * config/i386/i386.c (ix86_rtx_costs): We want to propagate
10847 link time constants into adress expressions and therefore set
10848 their cost to 0.
10849
10850 2015-05-13 Jakub Jelinek <jakub@redhat.com>
10851
10852 PR target/66112
10853 * config/i386/i386.md (mulv<mode>4, umulv<mode>4, *umulv<mode>4):
10854 Use SWI248 iterator instead of SWI.
10855 (*mulv<mode>4_1): Use SWI48 instead of SWI. Simplify output template.
10856 Use eq_attr "alternative" "0" instead of match_test in
10857 length_immediate attribute computation.
10858 (*mulvhi4, *mulvhi4_1): New define_insns.
10859
10860 PR target/66112
10861 * internal-fn.c (get_min_precision): Use UNSIGNED instead of
10862 SIGNED to get precision of non-negative value.
10863
10864 2015-05-13 Ilya Enkovich <ilya.enkovich@intel.com>
10865
10866 PR target/66048
10867 * function.c (diddle_return_value_1): Process bounds first.
10868 * config/i38/i386.c (ix86_function_value_regno_p): Add bnd1
10869 register.
10870
10871 2015-05-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
10872
10873 PR rtl-optimization/64616
10874 * loop-invariant.c (can_move_invariant_reg): New.
10875 (move_invariant_reg): Call above new function to decide whether
10876 instruction can just be moved, skipping creation of temporary
10877 register.
10878
10879 2015-05-12 Jan Hubicka <hubicka@ucw.cz>
10880
10881 PR target/pr66047.c
10882 * i386.c (ix86_function_sseregparm): Only return -1 if local function
10883 with implied regparm is called from -mno-sse function.
10884 (init_cumulative_args): Output error if ix86_function_sseregparm
10885 return -1 and SSE register would be needed.
10886 (function_arg_advance_32): Likewise.
10887 (function_arg_32): Likewise.
10888 * i386.h (ix86_args): Add decl field.
10889
10890 2015-05-12 Jan Hubicka <hubicka@ucw.cz>
10891
10892 PR ipa/65873
10893 * ipa-inline.c (can_inline_edge_p): Allow early inlining of always
10894 inlines across optimization boundary.
10895
10896 2015-05-12 Jason Merrill <jason@redhat.com>
10897
10898 * config/mmix/mmix.c, config/msp430/msp430.c: Add space between
10899 string literal and macro name.
10900
10901 2015-05-12 Steve Ellcey <sellcey@imgtec.com>
10902
10903 * config/mips/mips.c (mips_print_operand): Remove 'y' operand code.
10904 * config/mips/mips.md (<GPR:d>lsa): Rewrite with shift operator.
10905 * config/mips/predicates.md (const_immlsa_operand): Remove log call.
10906
10907 2015-05-12 David Malcolm <dmalcolm@redhat.com>
10908
10909 * doc/invoke.texi (Warning Options): Add -Wmisleading-indentation.
10910 (-Wmisleading-indentation): New option.
10911 * Makefile.in (C_COMMON_OBJS): Add c-family/c-indentation.o.
10912
10913 2015-05-12 Uros Bizjak <ubizjak@gmail.com>
10914
10915 * config/alpha/alpha.h (TARGET_SUPPORTS_WIDE_INT): New define.
10916 * config/alpha/alpha.c (alpha_rtx_costs): Handle CONST_WIDE_INT.
10917 (alpha_extract_integer): Ditto.
10918 (alpha_legitimate_constant_p): Ditto.
10919 (alpha_split_tmode_pair): Ditto.
10920 (alpha_preferred_reload_class): Add CONST_WIDE_INT.
10921 (alpha_expand_mov): Ditto.
10922 (print_operand): Remove handling of 'H' modifier.
10923 <case 'm'>: Remove CONST_DOUBLE handling.
10924 (summarize_insn): Handle CONST_WIDE_INT.
10925 * config/alpha/alpha.md (*andsi_internal): Remove H constraint.
10926 (anddi3): Ditto.
10927 (movti): Handle CONST_WIDE_INT.
10928 * config/alpha/constraints.md ('H'): Remove constraint definition.
10929 ('G'): Do not match MODE_FLOAT class.
10930 * config/alpha/predicates.md (const0_operand): Also match
10931 const_wide_int.
10932 (non_add_const_operand): Ditto.
10933 (non_zero_const_operand): Ditto.
10934 (some_operand): Ditto.
10935 (input_operand): Ditto. Handle CONST_WIDE_INT.
10936 (and_operand): Do not match const_double.
10937 * config/alpha/sync.md (fetchop_constr): Remove H constraint.
10938
10939 2015-05-12 Andrew MacLeod <amacleod@redhat.com>
10940
10941 PR target/65697
10942 * coretypes.h (MEMMODEL_SYNC, MEMMODEL_BASE_MASK): New macros.
10943 (enum memmodel): Add SYNC_{ACQUIRE,RELEASE,SEQ_CST}.
10944 * tree.h (memmodel_from_int, memmodel_base, is_mm_relaxed,
10945 is_mm_consume,is_mm_acquire, is_mm_release, is_mm_acq_rel,
10946 is_mm_seq_cst, is_mm_sync): New accessor functions.
10947 * builtins.c (expand_builtin_sync_operation,
10948 expand_builtin_compare_and_swap): Use MEMMODEL_SYNC_SEQ_CST.
10949 (expand_builtin_sync_lock_release): Use MEMMODEL_SYNC_RELEASE.
10950 (get_memmodel, expand_builtin_atomic_compare_exchange,
10951 expand_builtin_atomic_load, expand_builtin_atomic_store,
10952 expand_builtin_atomic_clear): Use new accessor routines.
10953 (expand_builtin_sync_synchronize): Use MEMMODEL_SYNC_SEQ_CST.
10954 * optabs.c (expand_compare_and_swap_loop): Use MEMMODEL_SYNC_SEQ_CST.
10955 (maybe_emit_sync_lock_test_and_set): Use new accessors and
10956 MEMMODEL_SYNC_ACQUIRE.
10957 (expand_sync_lock_test_and_set): Use MEMMODEL_SYNC_ACQUIRE.
10958 (expand_mem_thread_fence, expand_mem_signal_fence, expand_atomic_load,
10959 expand_atomic_store): Use new accessors.
10960 * emit-rtl.c (need_atomic_barrier_p): Add additional enum cases.
10961 * tsan.c (instrument_builtin_call): Update check for memory model beyond
10962 final enum to use MEMMODEL_LAST.
10963 * c-family/c-common.c: Use new accessor for memmodel_base.
10964 * config/aarch64/aarch64.c (aarch64_expand_compare_and_swap): Use new
10965 accessors.
10966 * config/aarch64/atomics.md (atomic_load<mode>,atomic_store<mode>,
10967 arch64_load_exclusive<mode>, aarch64_store_exclusive<mode>,
10968 mem_thread_fence, *dmb): Likewise.
10969 * config/alpha/alpha.c (alpha_split_compare_and_swap,
10970 alpha_split_compare_and_swap_12): Likewise.
10971 * config/arm/arm.c (arm_expand_compare_and_swap,
10972 arm_split_compare_and_swap, arm_split_atomic_op): Likewise.
10973 * config/arm/sync.md (atomic_load<mode>, atomic_store<mode>,
10974 atomic_loaddi): Likewise.
10975 * config/i386/i386.c (ix86_destroy_cost_data, ix86_memmodel_check):
10976 Likewise.
10977 * config/i386/sync.md (mem_thread_fence, atomic_store<mode>): Likewise.
10978 * config/ia64/ia64.c (ia64_expand_atomic_op): Add new memmodel cases and
10979 use new accessors.
10980 * config/ia64/sync.md (mem_thread_fence, atomic_load<mode>,
10981 atomic_store<mode>, atomic_compare_and_swap<mode>,
10982 atomic_exchange<mode>): Use new accessors.
10983 * config/mips/mips.c (mips_process_sync_loop): Likewise.
10984 * config/pa/pa.md (atomic_loaddi, atomic_storedi): Likewise.
10985 * config/rs6000/rs6000.c (rs6000_pre_atomic_barrier,
10986 rs6000_post_atomic_barrier): Add new cases.
10987 (rs6000_expand_atomic_compare_and_swap): Use new accessors.
10988 * config/rs6000/sync.md (mem_thread_fence): Add new cases.
10989 (atomic_load<mode>): Add new cases and use new accessors.
10990 (store_quadpti): Add new cases.
10991 * config/s390/s390.md (mem_thread_fence, atomic_store<mode>): Use new
10992 accessors.
10993 * config/sparc/sparc.c (sparc_emit_membar_for_model): Use new accessors.
10994 * doc/extend.texi: Update docs to indicate 16 bits are used for memory
10995 model, not 8.
10996
10997 2015-05-12 Jan Hubicka <hubicka@ucw.cz>
10998
10999 * ipa-devirt.c (type_with_linkage_p): New function.
11000 (type_in_anonymous_namespace_p): Move here from tree.c; assert that
11001 type has linkage.
11002 (odr_type_p): Move here from ipa-utils.h; use type_with_linkage_p.
11003 (can_be_name_hashed_p): Simplify.
11004 (hash_odr_name): Check that type has linkage before checking if it is
11005 anonymous.
11006 (types_same_for_odr): Likewise.
11007 (odr_name_hasher::equal): Likewise.
11008 (odr_subtypes_equivalent_p): Likewise.
11009 (warn_types_mismatch): Likewise.
11010 (get_odr_type): Likewise.
11011 (odr_types_equivalent_p): Fix checking of TYPE_MAIN_VARIANT.
11012 * ipa-utils.h (odr_type_p): Move offline.
11013 * tree.c (need_assembler_name_p): Fix handling of types
11014 without linkages.
11015 (type_in_anonymous_namespace_p): Move to ipa-devirt.c
11016
11017 2015-05-12 David Malcolm <dmalcolm@redhat.com>
11018
11019 * timevar.c (timevar_enable): Delete in favor of...
11020 (g_timer): New global.
11021 (struct timevar_def): Move to timevar.h inside class timer.
11022 (struct timevar_stack_def): Likewise.
11023 (timevars): Delete global in favor of field "m_timevars" within
11024 class timer in timevar.h
11025 (stack): Likewise, in favor of field "m_stack".
11026 (unused_stack_instances): Likewise, in favor of field
11027 "m_unused_stack_instances".
11028 (start_time): Likewise, in favor of field "m_start_time".
11029 (get_time): Eliminate check for timevar_enable.
11030 (timer::timer): New function, built from part of timevar_init.
11031 (timevar_init): Rewrite idempotency test from using
11032 "timevar_enable" bool to using dynamic allocation of "g_timer".
11033 Move rest of implementation into timer's constructor.
11034 (timevar_push_1): Rename to...
11035 (timer::push): ...this, adding "m_" prefixes to variables that
11036 are now fields of timer.
11037 (timevar_pop_1): Likewise, rename to...
11038 (timer::pop): ...this, and add "m_" prefixes.
11039 (timevar_start): Replace test for "timevar_enable" with one for
11040 "g_timer", and move bulk of implementation to...
11041 (timer::start): ...here, adding "m_" prefixes.
11042 (timevar_stop): Likewise, from here...
11043 (timer::stop): ...to here.
11044 (timevar_cond_start): Likewise, from here...
11045 (timer::cond_start): ...to here.
11046 (timevar_cond_stop): Likewise, from here...
11047 (timer::cond_stop): ...to here.
11048 (validate_phases): Rename to...
11049 (timer::validate_phases): ...this, and add "m_" prefixes. Make
11050 locals "total" and "tv" const.
11051 (timevar_print): Rename to...
11052 (timer::print): ...this, and add "m_" prefixes. Make locals
11053 "total" and "tv" const. Eliminate test for timevar_enable.
11054 * timevar.h (timevar_enable): Eliminate.
11055 (g_timer): New declaration.
11056 (timevar_push_1): Eliminate.
11057 (timevar_pop_1): Eliminate.
11058 (timevar_print): Eliminate.
11059 (class timer): New class.
11060 (timevar_push): Rewrite to use g_timer.
11061 (timevar_pop): Likewise.
11062 * toplev.c (toplev::~toplev): Likewise.
11063
11064 2015-05-12 Richard Earnshaw <rearnsha@arm.com>
11065
11066 * arm-protos.h (arm_sched_autopref): Delete.
11067 (tune_params): Re-organize, use enums for flag values.
11068 (FUSE_OPS): New macro.
11069 * arm.c (ARM_PREFETCH_NOT_BENEFICIAL): Update.
11070 (ARM_PREFETCH_BENEFICIAL): Likewise.
11071 (ARM_FUSE_NOTHING, ARM_FUSE_MOVW_MOVT): Delete.
11072 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune)
11073 (arm_xscale_tune, arm_9e_tune, arm_marvell_pj4_tune)
11074 (arm_v6t2_tune, arm_cortex_tune, arm_cortex_a8_tune)
11075 (arm_cortex_a7_tune, arm_cortex_a15_tune, arm_cortex_a53_tune)
11076 (arm_cortex_a57_tune, arm_xgene1_tune, arm_cortex_a5_tune)
11077 (arm_cortex_a9_tune, arm_cortex_a12_tune, arm_v7m_tune)
11078 (arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune): Use new
11079 format.
11080 (arm_option_override, thumb2_reorg, arm_print_tune_info)
11081 (aarch_macro_fusion_pair_p): Update uses of current_tune.
11082 * arm.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Likewise.
11083
11084 2015-05-12 Sandra Loosemore <sandra@codesourcery.com>
11085
11086 * config/nios2/nios2.md (trap, ctrapsi4): Use "trap" instead of
11087 "break".
11088
11089 2015-05-12 Chung-Lin Tang <cltang@codesourcery.com>
11090 Sandra Loosemore <sandra@codesourcery.com>
11091
11092 * config/nios2/nios2.h (enum reg_class): Add IJMP_REGS enum
11093 value.
11094 (REG_CLASS_NAMES): Add "IJMP_REGS".
11095 (REG_CLASS_CONTENTS): Add new entry for IJMP_REGS.
11096 * config/nios2/nios2.md (indirect_jump,*tablejump): Adjust to
11097 use new "c" register constraint.
11098 * config/nios2/constraint.md (c): New register constraint
11099 corresponding to IJMP_REGS.
11100
11101 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
11102
11103 * config/rs6000/rs6000.md (*rotlsi3_internal4, *rotlsi3_internal5,
11104 *rotlsi3_internal6, rlwinm, 5 unnamed define_insns, and 6
11105 define_splits): Delete, revamp, transmogrify into ...
11106 (*rotlsi3_mask, *rotlsi3_mask_dot, *rotlsi3_mask_dot2,
11107 *ashlsi3_imm_mask, *ashlsi3_imm_mask_dot, *ashlsi3_imm_mask_dot2,
11108 *lshrsi3_imm_mask, *lshrsi3_imm_mask_dot, *lshrsi3_imm_mask_dot2):
11109 New.
11110
11111 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
11112
11113 * config/rs6000/rs6000.md (rs6000_adjust_atomic_subword): Use
11114 gen_ashlsi3 and gen_andsi3 instead of gen_rlwinm.
11115
11116 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
11117
11118 * config/rs6000/rs6000.md (extzv): FAIL for SImode.
11119 (extzvsi_internal, *extzvsi_internal1, *extzvsi_internal2,
11120 *rotlsi3_internal7le, *rotlsi3_internal7be, *rotlsi3_internal8le,
11121 *rotlsi3_internal8be, *rotlsi3_internal9le, *rotlsi3_internal9be,
11122 *rotlsi3_internal10le, *rotlsi3_internal10be, *rotlsi3_internal11le,
11123 *rotlsi3_internal11be, *rotlsi3_internal12le, *rotlsi3_internal12be,
11124 *lshiftrt_internal1le, *lshiftrt_internal1be, *lshiftrt_internal2le,
11125 *lshiftrt_internal2be, *lshiftrt_internal3le, *lshiftrt_internal3be,
11126 *lshiftrt_internal4le, *lshiftrt_internal4be, *lshiftrt_internal5le,
11127 *lshiftrt_internal5be, *lshiftrt_internal5le, *lshiftrt_internal5be,
11128 *rotldi3_internal7le, *rotldi3_internal7be, *rotldi3_internal8le,
11129 *rotldi3_internal8be, *rotldi3_internal9le, *rotldi3_internal9be,
11130 *rotldi3_internal10le, *rotldi3_internal10be, *rotldi3_internal11le,
11131 *rotldi3_internal11be, *rotldi3_internal12le, *rotldi3_internal12be,
11132 *rotldi3_internal13le, *rotldi3_internal13be, *rotldi3_internal14le,
11133 *rotldi3_internal14be, *rotldi3_internal15le, *rotldi3_internal15be,
11134 and 30 corresponding splitters): Delete.
11135
11136 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
11137
11138 * config/rs6000/rs6000.md (define_split for bswaphi): Don't use
11139 zero_extract.
11140
11141 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
11142
11143 * combine.c (recog_for_combine_1): New function, factored out
11144 from recog_for_combine.
11145 (change_zero_ext): New function.
11146 (recog_for_combine): If recog fails, try again with the pattern
11147 modified by change_zero_ext; if that still fails, restore the
11148 pattern.
11149
11150 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
11151
11152 * combine.c (get_undo_marker): New function.
11153 (undo_to_marker): New function, largely factored out from ...
11154 (undo_all): ... this. Adjust.
11155
11156 2015-05-12 Richard Biener <rguenther@suse.de>
11157
11158 PR tree-optimization/66101
11159 * tree-ssa-dce.c (remove_dead_stmt): Properly mark loops for
11160 fixup if we turn a loop exit edge to a fallthru edge.
11161
11162 2015-05-12 Richard Biener <rguenther@suse.de>
11163
11164 PR tree-optimization/37021
11165 * tree-vectorizer.h (struct _slp_tree): Add two_operators flag.
11166 (SLP_TREE_TWO_OPERATORS): New define.
11167 * tree-vect-slp.c (vect_create_new_slp_node): Initialize
11168 SLP_TREE_TWO_OPERATORS.
11169 (vect_build_slp_tree_1): Allow two mixing plus/minus in an
11170 SLP node.
11171 (vect_build_slp_tree): Adjust.
11172 (vect_analyze_slp_cost_1): Likewise.
11173 (vect_schedule_slp_instance): Vectorize mixing plus/minus by
11174 emitting two vector stmts and mixing the results.
11175
11176 2015-05-12 Dominik Vogt <vogt@linux.vnet.ibm.com>
11177
11178 * call.c (print_z_candidates): Remove dead code.
11179
11180 2015-05-12 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
11181
11182 * config/s390/2827.md: Split zEC12_simple into zEC12_simple_int
11183 and zEC12_simple_fp.
11184 * config/s390/s390.c (s390_issue_rate): Set issue rate for zEC12
11185 to 1.
11186
11187 2015-05-12 Tom de Vries <tom@codesourcery.com>
11188
11189 PR tree-optimization/66010
11190 * gimplify.c (gimplify_modify_expr): Handle new do_deref argument of
11191 ifn_va_arg.
11192 * gimplify.h (gimplify_va_arg_internal): Remove loc parameter.
11193 (gimplify_va_arg_internal): Remove loc parameter. Assert no array-typed
11194 va_lists are passed, and remove corresponding handling.
11195 (gimplify_va_arg_expr): Only take address of ap if necessary. Add
11196 do_deref argument to ifn_va_arg.
11197 * tree-stdarg.c (expand_ifn_va_arg_1): Handle new do_deref argument of
11198 ifn_va_arg.
11199
11200 2015-05-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11201
11202 PR target/65955
11203 * config/arm/arm.md (movcond_addsi): Check that operands[2] is a
11204 REG before taking its REGNO.
11205
11206 2015-05-12 Thomas Preud'homme <thomas.preudhomme@arm.com>
11207
11208 * combine.c i(set_nonzero_bits_and_sign_copies): Split code updating
11209 rsp->sign_bit_copies and rsp->nonzero_bits into ...
11210 (update_rsp_from_reg_equal): This. Also use REG_EQUAL note on src if
11211 present to get more accurate information about the number of sign bit
11212 copies and non zero bits.
11213
11214 2015-05-12 Richard Biener <rguenther@suse.de>
11215
11216 * tree-vect-slp.c (vect_build_slp_tree_1): For BB vectorization
11217 do not allow unrolling.
11218
11219 2015-05-11 Richard Henderson <rth@redhat.com>
11220
11221 * config/i386/i386-modes.def (CCP): New.
11222 * config/i386/i386.c (put_condition_code): Handle it.
11223 (ix86_match_ccmode, ix86_cc_modes_compatible): Likewise.
11224
11225 2015-05-11 Richard Henderson <rth@redhat.com>
11226
11227 * target.def (md_asm_clobbers): Replace with...
11228 (md_asm_adjust): this.
11229 * tm.texi.in (TARGET_MD_ASM_CLOBBERS): Remove.
11230 (TARGET_MD_ASM_ADJUST): New.
11231 * tm.texi: Rebuild.
11232 * hooks.c (hook_tree_tree_tree_tree_3rd_identity): Remove.
11233 * hooks.h (hook_tree_tree_tree_tree_3rd_identity): Remove.
11234 * system.h (TARGET_MD_ASM_CLOBBERS): Poison.
11235
11236 * cfgexpand.c (check_operand_nalternatives): Accept vector of
11237 constraints instead of lists of outputs and inputs.
11238 (expand_asm_stmt): Save and restore input_location around the
11239 body of the function. Move asm data into vectors instead of
11240 building tree lists. Generate cleanup sequences as needed,
11241 rather than waiting til the end. Use new md_asm_adjust hook.
11242
11243 * config/vxworks.c: Include vec.h before target.h.
11244 * gimple.c: Likewise.
11245 * incpath.c: Likewise.
11246 * mode-switching.c: Likewise.
11247
11248 * config/cris/cris.c (cris_md_asm_clobbers): Convert to...
11249 (cris_md_asm_adjust): this.
11250 (TARGET_MD_ASM_CLOBBERS): Remove.
11251 (TARGET_MD_ASM_ADJUST): New.
11252 * config/i386/i386.c (ix86_md_asm_clobbers): Convert to...
11253 (ix86_md_asm_adjust): this.
11254 (TARGET_MD_ASM_CLOBBERS): Remove.
11255 (TARGET_MD_ASM_ADJUST): New.
11256 * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): Convert to...
11257 (mn10300_md_asm_adjust): this.
11258 (TARGET_MD_ASM_CLOBBERS): Remove.
11259 (TARGET_MD_ASM_ADJUST): New.
11260 * config/rs6000/rs6000.c (rs6000_md_asm_clobbers): Convert to...
11261 (rs6000_md_asm_adjust): this.
11262 (TARGET_MD_ASM_CLOBBERS): Remove.
11263 (TARGET_MD_ASM_ADJUST): New.
11264 * config/visium/visium.c (visium_md_asm_clobbers): Convert to...
11265 (visium_md_asm_adjust): this.
11266 (TARGET_MD_ASM_CLOBBERS): Remove.
11267 (TARGET_MD_ASM_ADJUST): New.
11268
11269 2015-05-11 Richard Henderson <rth@redhat.com>
11270
11271 * gimplify.c (gimplify_asm_expr): Set gimple_asm_volatile_p
11272 if noutputs is zero.
11273 * cfgexpand.c (expand_asm_stmt): Use gimple_asm_volatile_p unchanged.
11274
11275 * cfgexpand.c (expand_asm_operands): Merge into...
11276 (expand_asm_stmt): ... here.
11277
11278 * cfgexpand.c (expand_asm_operands): Don't call
11279 resolve_asm_operand_names.
11280 * stmt.c (resolve_asm_operand_names): Clarify block comment.
11281
11282 2015-05-11 Jan Hubicka <hubicka@ucw.cz>
11283
11284 * dwarf2out.c (gen_member_die): Sanity check that we access
11285 TYPE_MAIN_VARIANT for TYPE_METHODS.
11286 * function.c (use_register_for_decl): Look for TYPE_MAIN_VARIANT when
11287 checking TYPE_METHODS.
11288 * tree.c (free_lang_data_in_type): See TYPE_METHODS to error_mark_node
11289 if non-null.
11290 (build_distinct_type_copy): Clear TYPE_METHODS.
11291 (verify_type_variant): Verify that TYPE_METHODS is NULL for variants.
11292 (verify_type): Allow TYPE_METHODS to be error_mark_node.
11293 * tree.def: Update docs of TYPE_STUB_DECL and TYPE_METHODS.
11294
11295 2015-05-11 Eric Botcazou <ebotcazou@adacore.com>
11296
11297 * emit-rtl.c (emit_pattern_after_setloc): Add missing guard.
11298 (emit_pattern_before_setloc): Likewise.
11299
11300 2015-05-11 Richard Sandiford <richard.sandiford@arm.com>
11301
11302 * genrecog.c (match_pattern_1): Expect the pattern to be a SEQUENCE
11303 for define_peephole2s.
11304 (get_peephole2_pattern): New function.
11305 (main): Use it. Call validate_pattern.
11306
11307 2015-05-11 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
11308
11309 * config/avr/avr.c (avr_hard_regno_call_part_clobbered): Use
11310 LAST_CALLEE_SAVED_REG instead of hard-coded register number.
11311 (Last callee saved reg is different for AVR_TINY architecture)
11312
11313 2015-05-11 Uros Bizjak <ubizjak@gmail.com>
11314
11315 * config/i386/i386.c (ix86_loop_unroll_adjust): Use PATTERN (insn)
11316 when looking for memory references.
11317
11318 2015-05-11 Alexander Monakov <amonakov@ispras.ru>
11319
11320 PR target/65753
11321 * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow PIC sibcalls
11322 via function pointers.
11323
11324 2015-05-11 Alexander Monakov <amonakov@ispras.ru>
11325
11326 * calls.c (prepare_call_address): Transform PLT call to GOT lookup and
11327 indirect call by forcing address into a pseudo with -fno-plt.
11328 * common.opt (flag_plt): New option.
11329 * doc/invoke.texi (Code Generation Options): Add -fno-plt.
11330 ([-fno-plt]): Document.
11331
11332 2015-05-11 Markus Trippelsdorf <markus@trippelsdorf.de>
11333
11334 PR bootstrap/66105
11335 * config/rs6000/option-defaults.h: Add space between string literal
11336 and macro name.
11337
11338 2015-05-11 Thomas Preud'homme <thomas.preudhomme@arm.com>
11339
11340 * gcc.target/arm/pr64616.c: Test dump rather than assembly to work
11341 accross ARM targets.
11342
11343 2015-05-11 Christian Bruel <christian.bruel@st.com>
11344
11345 * config/arm/arm-protos.h (thumb_code, thumb1_code): Remove.
11346 * config/arm/vxworks.h (thumb_code): Replace with TARGET_THUMB.
11347
11348 2015-05-11 Richard Sandiford <richard.sandiford@arm.com>
11349
11350 PR rtl-optimization/66076
11351 * rtlanal.c (generic_subrtx_iterator <T>::add_single_to_queue):
11352 Don't grow the heap array if it is already big enough from a
11353 previous iteration.
11354
11355 2015-05-11 Christian Bruel <christian.bruel@st.com>
11356
11357 * config/arm/arm-protos.h (arm_declare_function_name): Declare.
11358 (is_called_in_ARM_mode): Remove.
11359 * config/arm/arm.c (is_called_in_ARM_mode): Declare static bool.
11360 (arm_declare_function_name): Moved from from ARM_DECLARE_FUNCTION_NAME.
11361 * config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME): Call
11362 arm_declare_function_name.
11363
11364 2015-05-11 Christian Bruel <christian.bruel@st.com>
11365
11366 * config/arm/arm.c (arm_option_override): Reoganized and split into :
11367 (arm_option_params_internal); New function.
11368 (arm_option_check_internal): New function.
11369 (arm_option_override_internal): New function.
11370 (thumb_code, thumb1_code): Remove.
11371 * config/arm/arm.h (TREE_TARGET_THUMB, TREE_TARGET_THUMB1): New macros.
11372 (TREE_TARGET_THUM2, TREE_TARGET_ARM): Likewise.
11373 (thumb_code, thumb1_code): Remove.
11374 * config/arm/arm.md (is_thumb, is_thumb1): Check TARGET flag.
11375
11376 2015-05-11 Uros Bizjak <ubizjak@gmail.com>
11377
11378 * config/alpha/alpha.c (alpha_emit_set_const_1)
11379 (alpha_emit_set_long_const, alpha_extract_integer)
11380 (alpha_legitimate_constant_p, alpha_split_const_mov)
11381 (alpha_expand_block_clear, alpha_expand_zap_mask, print_operand):
11382 [HOST_BITS_PER_WIDE_INT < 64]: Remove dead code.
11383 (alpha_emit_set_const_1): Change "(HOST_WIDE_INT) 1" to
11384 HOST_WIDE_INT_1U.
11385 * config/alpha/predicates.md (mode_mask_operand): Do not match
11386 const_double RTX.
11387 [HOST_BITS_PER_WIDE_INT < 64]: Remove dead code.
11388 * config/alpha/alpha.md (abstf, *abstf_internal, UNSPEC_ZAP splitter):
11389 Change "(HOST_WIDE_INT) 1" to HOST_WIDE_INT_1U.
11390 [HOST_BITS_PER_WIDE_INT < 64]: Remove dead code.
11391 (*negtf_internal): Use gen_int_mode instead of immed_double_const.
11392
11393 2015-05-11 Jakub Jelinek <jakub@redhat.com>
11394
11395 PR target/65780
11396 * config/s390/linux.h (TARGET_BINDS_LOCAL_P): Define to
11397 default_binds_local_p_2.
11398 * config/arm/linux-elf.h (TARGET_BINDS_LOCAL_P): Likewise.
11399 * config/aarch64/aarch64-linux.h (TARGET_BINDS_LOCAL_P): Likewise.
11400
11401 2015-05-09 Jan Hubicka <hubicka@ucw.cz>
11402
11403 * tree.c (verify_type_variant): Check TYPE_VALUES_RAW and TYPE_PRECISION
11404
11405 2015-05-09 Jan Hubicka <hubicka@ucw.cz>
11406
11407 Patch by Richard Biener
11408 * coverage.c (coverage_obj_init): Delay building of type variant
11409 until the type is finished.
11410
11411 2015-05-09 Jan Hubicka <hubicka@ucw.cz>
11412
11413 * ipa-devirt.c (warn_types_mismatch): Do not ICE when warning about
11414 mismatch between C and C++ type; compoare correctly ARG_TYPES
11415 for non-prototypes and output correctly parameter index for METHOD_TYPE.
11416 (odr_types_equivalent_p): Fix wording of warning about attributes;
11417 it is OK to match prototype and non-prototype.
11418
11419 2015-05-09 Jan Hubicka <hubicka@ucw.cz>
11420
11421 * tree.c (free_lang_data_in_type): Free TREE_PURPOSE of
11422 TYPE_ARG_TYPES list.
11423 (verify_type): Permit non-NULL TREE_PURPOSE in non-LTO builds.
11424 * tree.def (FUNCTION_TYPE): Document TREE_PURPOSE in TYPE_ARG_TYPES
11425
11426 2015-05-09 Jan Hubicka <hubicka@ucw.cz>
11427
11428 * tree.c (verify_type): Verify TYPE_BINFO and TYPE_VALUES_RAW.
11429 * tree.h (is_lang_specific): Constify.
11430
11431 2015-05-09 Marc Glisse <marc.glisse@inria.fr>
11432
11433 PR tree-optimization/64454
11434 * tree-vrp.c (extract_range_from_binary_expr_1) <TRUNC_MOD_EXPR>:
11435 Rewrite.
11436
11437 2015-05-08 Jason Merrill <jason@redhat.com>
11438
11439 * bitmap.c, c/c-aux-info.c, cfg.c, cfghooks.c, cgraph.c,
11440 config/aarch64/aarch64.md config/alpha/vms.h, config/darwin.c,
11441 config/darwin.h, config/darwin9.h, config/elfos.h,
11442 config/i386/bsd.h, config/ia64/ia64.c, config/lm32/lm32.h,
11443 config/microblaze/microblaze.h, config/mips/mips.h,
11444 config/mmix/mmix.c, config/msp430/msp430.c, config/nios2/nios2.h,
11445 config/nvptx/nvptx.c, config/nvptx/nvptx.h, config/pa/pa.c,
11446 config/pa/pa.h, config/rs6000/rs6000.c, config/rs6000/sysv4.h,
11447 config/rs6000/xcoff.h, config/rx/rx.h, config/s390/s390.h,
11448 config/sparc/sol2.h, config/sparc/sparc.h, config/visium/visium.h,
11449 cppbuiltin.c, defaults.h, doc/invoke.texi, dwarf2cfi.c,
11450 dwarf2out.c, final.c, gcc.c, gcov-dump.c, gcov.c, ipa-cp.c,
11451 ipa-inline.c, ipa-polymorphic-call.c, ipa-profile.c, ipa-prop.c,
11452 ira-color.c, ira.c, loop-doloop.c, loop-iv.c, mcf.c,
11453 modulo-sched.c, predict.c, profile.c, stor-layout.c, toplev.c,
11454 tree-ssa-reassoc.c, value-prof.c, wide-int-print.cc: Add space
11455 between string literal and macro name.
11456
11457 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11458
11459 * jump.c: Change argument types to rtx_insn *.
11460 * rtl.h: Adjust.
11461
11462 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11463
11464 * lra-constraints.c: Change argument type to rtx_insn *.
11465
11466 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11467
11468 * df-problems.c: Change argument type to rtx_insn *.
11469
11470 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11471
11472 * combine.c: Change argument type to rtx_insn *.
11473
11474 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11475
11476 * rtl.h: Adjust.
11477 * rtlanal.c: Change argument type to rtx_insn *.
11478
11479 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11480
11481 * sched-deps.c: Change argument types to rtx_insn *.
11482 * sched-int.h: Adjust.
11483
11484 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11485
11486 * dwarf2cfi.c: Change argument type to rtx_insn *.
11487
11488 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11489
11490 * ira.c (decrease_live_ranges_number): Changetype of local
11491 variable to rtx_insn *.
11492 * recog.c: Change argument types to rtx_insn *.
11493 * recog.h: Adjust.
11494
11495 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11496
11497 * reorg.c: Change argument types to rtx_insn *.
11498
11499 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11500
11501 * ira-color.c: Change argument types to rtx_insn *.
11502 * lra-eliminations.c: Likewise.
11503 * ira.h: Adjust.
11504
11505 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11506
11507 * gcse.c: Change argument types to rtx_insn *.
11508
11509 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11510
11511 * cse.c (cse_change_cc0_mode): Change argument type to rtx_insn *.
11512
11513 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11514
11515 * emit-rtl.c (emit_debug_insn_before): Change argument type to
11516 rtx_insn *.
11517 * rtl.h: Adjust.
11518
11519 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11520
11521 * emit-rtl.c (emit_note_before): Change argument type to rtx_insn *.
11522 * rtl.h: Adjust.
11523
11524 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11525
11526 * emit-rtl.c (emit_note_after): Change argument type to rtx_insn *.
11527 * rtl.h: Adjust.
11528
11529 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11530
11531 * emit-rtl.c (prev_cc0_setter): Change argument type to rtx_insn *.
11532 * rtl.h: Adjust.
11533
11534 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11535
11536 * rtlanal.c (noop_move_p): Change argument type to rtx_insn *.
11537 * rtl.h: Adjust.
11538
11539 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11540
11541 * rtlanal.c (add_shallow_copy_of_reg_note): Change argument type
11542 to rtx_insn *.
11543 * rtl.h: Adjust.
11544
11545 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11546
11547 * rtlanal.c (remove_reg_equal_equiv_notes): Change argument type
11548 to rtx_insn *.
11549 * rtl.h: Likewise.
11550
11551 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11552
11553 * except.c (can_nonlocal_goto): Change type of argument to
11554 rtx_insn *.
11555 * rtl.h: Adjust.
11556
11557 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11558
11559 * rtlanal.c (computed_jump_p): Cange argument type to rtx_insn *.
11560 * rtl.h: Adjust.
11561
11562 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11563
11564 * rtlanal.c (in_insn_list_p): Renamed from in_expr_list_p.
11565 * cfgrtl.c (can_delete_label_p): Adjust.
11566 * rtl.h: likewise.
11567
11568 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11569
11570 * reorg.c (stop_search_p): Change argument to rtx_insn *.
11571
11572 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11573
11574 * except.c (make_reg_eh_region_note): Change argument to
11575 rtx_insn *.
11576 (make_reg_eh_region_note_nothrow_nononlocal): Likewise.
11577 * except.h: Adjust.
11578
11579 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11580
11581 * mode-switching.c (commit_mode_sets): Change type of local
11582 variable from rtx to rtx_insn *.
11583
11584 2015-05-08 Jim Wilson <jim.wilson@linaro.org>
11585
11586 * doc/install.texi (--enable-languages): Add missing jit and lto info.
11587 Add ^ to grep command.
11588 * doc/match-and-simplify.texi (GIMPLE API): Add missing fourth tree
11589 arg to last gimple_simplify declaration. Add missing gimple_build
11590 declaration for built-in function case with four tree args.
11591
11592 2015-05-08 Gregor Richards <gregor.richards@uwaterloo.ca>
11593 Szabolcs Nagy <szabolcs.nagy@arm.com>
11594
11595 * config/mips/linux.h (MUSL_DYNAMIC_LINKER32): Define.
11596 (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERN32): Define.
11597 (GNU_USER_DYNAMIC_LINKERN32): Update.
11598
11599 2015-05-08 Richard Biener <rguenther@suse.de>
11600
11601 PR tree-optimization/66036
11602 * tree-vect-data-refs.c (vect_compute_data_ref_alignment):
11603 Handle strided group loads.
11604 (vect_verify_datarefs_alignment): Likewise.
11605 (vect_enhance_data_refs_alignment): Likewise.
11606 (vect_analyze_group_access): Likewise.
11607 (vect_analyze_data_ref_access): Likewise.
11608 (vect_analyze_data_ref_accesses): Likewise.
11609 * tree-vect-stmts.c (vect_model_load_cost): Likewise.
11610 (vectorizable_load): Likewise.
11611
11612 2015-05-08 Segher Boessenkool <segher@kernel.crashing.org>
11613
11614 * config/rs6000/rs6000.md: Require operand inequality in one
11615 of the peepholes.
11616
11617 2015-05-08 Richard Sandiford <richard.sandiford@arm.com>
11618 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
11619
11620 * config/i386/i386.md (<mode>_ldx, *<mode>_ldx): Remove mode
11621 from (set ...).
11622 * config/rx/rx.md (movdi, movdf): Likewise.
11623 Likewise for define_peephole2s.
11624
11625 2015-05-08 Alan Lawrence <alan.lawrence@arm.com>
11626
11627 * config/aarch64/arm_neon.h (vceq_s64, vceq_u64, vceqz_s64, vceqz_u64,
11628 vcge_s64, vcge_u64, vcgez_s64, vcgt_s64, vcgt_u64, vcgtz_s64, vcle_s64,
11629 vcle_u64, vclez_s64, vclt_s64, vclt_u64, vcltz_s64, vtst_s64,
11630 vtst_u64): Rewrite using gcc vector extensions.
11631
11632 2015-05-08 Alan Lawrence <alan.lawrence@arm.com>
11633
11634 * config/aarch64/aarch64-simd.md (aarch64_vcond_internal<mode><mode>,
11635 vcond<mode><mode>, vcondu<mode><mode>): Add DImode variant.
11636
11637 2015-05-08 Alan Lawrence <alan.lawrence@arm.com>
11638
11639 * optabs.c (vector_compare_rtx): Handle RTL operands having VOIDmode.
11640
11641 2015-05-08 Szabolcs Nagy <szabolcs.nagy@arm.com>
11642
11643 * config/glibc-stdint.h (OPTION_MUSL): Define.
11644 (INT_FAST16_TYPE, INT_FAST32_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE):
11645 Change the definition based on OPTION_MUSL for 64 bit targets.
11646 * config/linux.h (OPTION_MUSL): Redefine.
11647 * config/alpha/linux.h (OPTION_MUSL): Redefine.
11648 * config/rs6000/linux.h (OPTION_MUSL): Redefine.
11649 * config/rs6000/linux64.h (OPTION_MUSL): Redefine.
11650
11651 2015-05-08 Gregor Richards <gregor.richards@uwaterloo.ca>
11652 Szabolcs Nagy <szabolcs.nagy@arm.com>
11653
11654 * config.gcc (LIBC_MUSL): New tm_defines macro.
11655 * config/linux.h (OPTION_MUSL): Define.
11656 (MUSL_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER32,)
11657 (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERX32,)
11658 (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
11659 (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
11660 (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
11661 * config/linux.opt (mmusl): New option.
11662 * doc/invoke.texi (GNU/Linux Options): Document -mmusl.
11663 * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
11664 (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.
11665 * configure: Regenerate.
11666
11667 2015-05-08 H.J. Lu <hongjiu.lu@intel.com>
11668 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
11669
11670 PR target/48904
11671 * config.gcc (x86_64-*-knetbsd*-gnu): Add i386/knetbsd-gnu64.h.
11672 * config/i386/knetbsd-gnu64.h: New file.
11673
11674 2015-05-08 Marek Polacek <polacek@redhat.com>
11675
11676 PR c/64918
11677 * doc/invoke.texi: Document -Woverride-init-side-effects.
11678
11679 2015-05-07 Marek Polacek <polacek@redhat.com>
11680
11681 PR c/65179
11682 * doc/invoke.texi: Document -Wshift-negative-value.
11683
11684 2015-05-06 Aditya Kumar <hiraditya@msn.com>
11685
11686 * gcov-tool.c (do_merge): Refactore to remove int ret.
11687 * ipa-icf.c (sem_item::hash_referenced_symbol_properties): Change
11688 !type == FUNC to type != FUNC.
11689 * reload.h (struct target_reload): Changee to type of
11690 x_spill_indirect_levels from bool to unsigned char.
11691
11692 2015-05-07 Richard Sandiford <richard.sandiford@arm.com>
11693
11694 * rtl.h (always_void_p): New function.
11695 * gengenrtl.c (always_void_p): Likewise.
11696 (genmacro): Don't add a mode parameter to gen_rtx_foo if rtxes
11697 with code foo are always VOIDmode.
11698 * genemit.c (gen_exp): Update gen_rtx_foo calls accordingly.
11699 * builtins.c, caller-save.c, calls.c, cfgexpand.c, combine.c,
11700 compare-elim.c, config/aarch64/aarch64.c,
11701 config/aarch64/aarch64.md, config/alpha/alpha.c,
11702 config/alpha/alpha.md, config/arc/arc.c, config/arc/arc.md,
11703 config/arm/arm-fixed.md, config/arm/arm.c, config/arm/arm.md,
11704 config/arm/ldrdstrd.md, config/arm/thumb2.md, config/arm/vfp.md,
11705 config/avr/avr.c, config/bfin/bfin.c, config/c6x/c6x.c,
11706 config/c6x/c6x.md, config/cr16/cr16.c, config/cris/cris.c,
11707 config/cris/cris.md, config/darwin.c, config/epiphany/epiphany.c,
11708 config/epiphany/epiphany.md, config/fr30/fr30.c, config/frv/frv.c,
11709 config/frv/frv.md, config/h8300/h8300.c, config/i386/i386.c,
11710 config/i386/i386.md, config/i386/sse.md, config/ia64/ia64.c,
11711 config/ia64/vect.md, config/iq2000/iq2000.c,
11712 config/iq2000/iq2000.md, config/lm32/lm32.c, config/lm32/lm32.md,
11713 config/m32c/m32c.c, config/m32r/m32r.c, config/m68k/m68k.c,
11714 config/m68k/m68k.md, config/mcore/mcore.c, config/mcore/mcore.md,
11715 config/mep/mep.c, config/microblaze/microblaze.c,
11716 config/mips/mips.c, config/mips/mips.md, config/mmix/mmix.c,
11717 config/mn10300/mn10300.c, config/msp430/msp430.c,
11718 config/nds32/nds32-memory-manipulation.c, config/nds32/nds32.c,
11719 config/nds32/nds32.md, config/nios2/nios2.c, config/nvptx/nvptx.c,
11720 config/pa/pa.c, config/pa/pa.md, config/rl78/rl78.c,
11721 config/rs6000/altivec.md, config/rs6000/rs6000.c,
11722 config/rs6000/rs6000.md, config/rs6000/vector.md,
11723 config/rs6000/vsx.md, config/rx/rx.c, config/rx/rx.md,
11724 config/s390/s390.c, config/s390/s390.md, config/sh/sh.c,
11725 config/sh/sh.md, config/sh/sh_treg_combine.cc,
11726 config/sparc/sparc.c, config/sparc/sparc.md, config/spu/spu.c,
11727 config/spu/spu.md, config/stormy16/stormy16.c,
11728 config/tilegx/tilegx.c, config/tilegx/tilegx.md,
11729 config/tilepro/tilepro.c, config/tilepro/tilepro.md,
11730 config/v850/v850.c, config/v850/v850.md, config/vax/vax.c,
11731 config/visium/visium.c, config/xtensa/xtensa.c, cprop.c, dse.c,
11732 expr.c, gcse.c, ifcvt.c, ira.c, jump.c, lower-subreg.c,
11733 lra-constraints.c, lra-eliminations.c, lra.c, postreload.c, ree.c,
11734 reg-stack.c, reload.c, reload1.c, reorg.c, sel-sched.c,
11735 var-tracking.c: Update calls accordingly.
11736
11737 2015-05-07 Segher Boessenkool <segher@kernel.crashing.org>
11738
11739 PR middle-end/192
11740 PR middle-end/54303
11741 * varasm.c (function_mergeable_rodata_prefix): New function.
11742 (mergeable_string_section): Use it.
11743 (mergeable_constant_section): Use it.
11744
11745 2015-05-07 Jeff Law <law@redhat.com>
11746
11747 PR target/39726
11748 * match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New
11749 simplifier to narrow arithmetic.
11750 * generic-match-head.c: (types_match, single_use): New functions.
11751 * gimple-match-head.c: (types_match, single_use): New functions.
11752
11753 2015-05-07 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
11754
11755 * combine.c (make_compound_operation): Remove checks for PLUS/MINUS
11756 rtx type.
11757
11758 2015-05-07 Richard Biener <rguenther@suse.de>
11759
11760 PR tree-optimization/66002
11761 * passes.def: Schedule another pass_merge_phi after ifcombine, right
11762 before phiopt.
11763
11764 2015-05-07 Marek Polacek <polacek@redhat.com>
11765 Martin Uecker <uecker@eecs.berkeley.edu>
11766
11767 * doc/invoke.texi: Document -fsanitize=bounds-strict.
11768 * flag-types.h (enum sanitize_code): Add SANITIZE_BOUNDS_STRICT, or it
11769 into SANITIZE_NONDEFAULT.
11770 * opts.c (common_handle_option): Handle -fsanitize=bounds-strict.
11771
11772 2015-05-07 Uros Bizjak <ubizjak@gmail.com>
11773
11774 PR target/66015
11775 * config/alpha/alpha.c (alpha_override_options_after_change): New.
11776 (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): New.
11777 (alpha_override_options): Move align_loops, align_jumps and
11778 align_functions handling into alpha_override_options_after_change.
11779
11780 2015-05-06 Sandra Loosemore <sandra@codesourcery.com>
11781 Chris Jones <chrisj@nvidia.com>
11782 Joshua Conner <jconner@nvidia.com>
11783
11784 * config/arm/unknown-elf.h (STARTFILE_SPEC): Add conditional
11785 linking of crtfastmath.o.
11786 * config/arm/linux-eabi.h (STARTFILE_SPEC): Likewise.
11787
11788 2015-05-06 Segher Boessenkool <segher@kernel.crashing.org>
11789
11790 * config/rs6000/rs6000.md (cstore<mode>4_signed_imm): New expander.
11791 (cstore<mode>4_unsigned_imm): New expander.
11792 (cstore<mode>4): Remove empty constraint strings. Use the new
11793 expanders.
11794
11795 2015-05-06 Yvan Roux <yvan.roux@linaro.org>
11796
11797 PR target/64208
11798 * config/arm/iwmmxt.md ("*iwmmxt_arm_movdi"): Cleanup redundant
11799 alternatives.
11800
11801 2015-05-06 Szabolcs Nagy <szabolcs.nagy@arm.com>
11802
11803 * config/aarch64/geniterators.sh: Use standard BRE in sed.
11804
11805 2015-05-06 Alan Modra <amodra@gmail.com>
11806
11807 PR target/66033
11808 * config/rs6000/rs6000.md (nop): Use an unspec pattern.
11809 (UNSPEC_NOP): Define.
11810 (reload_vsx_from_gpr<mode>): Add missing DONE.
11811 (reload_gpr_from_vsx<mode>): Likewise.
11812 * config/rs6000/vsx.md (vsx_mul_v2di): Likewise.
11813 (vsx_div_v2di, vsx_udiv_v2di): Likewise.
11814
11815 2015-05-06 Christian Bruel <christian.bruel@st.com>
11816
11817 PR target/66015
11818 * config/aarch64/aarch64.c (aarch64_override_options): Move align_loops,
11819 align_jumps, align_functions into aarch64_override_options_after_change.
11820
11821 2015-05-06 Richard Biener <rguenther@suse.de>
11822
11823 * tree-vect-slp.c (vect_supported_load_permutation_p): Use
11824 vect_transform_slp_perm_load to check if we support a permutation
11825 for basic-block vectorization.
11826
11827 2015-05-06 Nick Clifton <nickc@redhat.com>
11828
11829 * config/rl78/rl78.c (need_to_save): Save register 22 if it is
11830 used, even if it is not being used as a frame pointer.
11831
11832 2015-05-05 Jason Merrill <jason@redhat.com>
11833
11834 * dwarf2out.c (gen_member_die): Don't emit anything for an
11835 anonymous class constructor.
11836
11837 2015-05-05 David Malcolm <dmalcolm@redhat.com>
11838
11839 * auto-profile.c (afdo_find_equiv_class): Fix indentation so
11840 that it reflects the block structure.
11841 (afdo_propagate_edge): Likewise.
11842 (afdo_calculate_branch_prob): Likewise.
11843 (afdo_annotate_cfg): Likewise.
11844 * cfgcleanup.c (equal_different_set_p): Likewise.
11845 (try_crossjump_to_edge): Likewise.
11846 * cgraph.c (cgraph_node::verify_node): Likewise.
11847 * cgraphunit.c (expand_all_functions): Likewise.
11848 * config/i386/i386.c (ix86_expand_copysign): Likewise.
11849 (exact_dependency_1): Likewise.
11850 * dwarf2asm.c (dw2_output_indirect_constants): Likewise.
11851 * dwarf2out.c (tree_add_const_value_attribute_for_decl): Likewise.
11852 * gensupport.c (process_define_subst): Likewise.
11853 * lto-wrapper.c (merge_and_complain): Likewise.
11854 * tree-if-conv.c (if_convertible_bb_p): Likewise.
11855 * tree-ssa-loop-prefetch.c (find_or_create_group): Likewise.
11856 * tree-ssa-tail-merge.c (gsi_advance_fw_nondebug_nonlocal): Likewise.
11857 * tree-vect-data-refs.c (vect_grouped_load_supported): Likewise.
11858 * tree-vect-loop.c (vectorizable_reduction): Likewise.
11859 * tree-vect-slp.c (vect_transform_slp_perm_load): Likewise.
11860 * tree-vect-stmts.c (vectorizable_shift): Likewise.
11861 * tree-vrp.c (vrp_finalize): Likewise.
11862 * tree.c (variably_modified_type_p): Likewise.
11863
11864 2015-05-05 Jack Howarth <howarth.at.gcc@gmail.com>
11865
11866 * config.gcc: Use darwin9.h, darwin10.h and darwin12.h
11867 on darwin12 and later.
11868 * config/darwin12.h (LINK_GCC_C_SEQUENCE_SPEC): Add
11869 file to pass -rdynamic on darwin12 and later.
11870 * config/darwin.opt (rdynamic): Add.
11871
11872 2015-05-05 Uros Bizjak <ubizjak@gmail.com>
11873
11874 * doc/extend.texi (C Extensions): Update menu for moved Variable
11875 Attributes and Type Attributes sections.
11876
11877 2015-05-05 Uros Bizjak <ubizjak@gmail.com>
11878
11879 PR target/65990
11880 * config/i386/i386.c (ix86_parse_stringop_strategy_string): Error out
11881 if rep_8byte stringop strategy was specified for 32-bit target.
11882
11883 2015-05-05 Ilya Tocar <ilya.tocar@intel.com>
11884
11885 PR target/65915
11886 * config/i386/i386.md (vector convert to float spltiter): Check for
11887 xmm16+, when splitting scalar float conversion.
11888 * config/i386/sse.md (sse2_cvtsi2sd): Support EVEX version.
11889
11890 2015-05-05 Nick Clifton <nickc@redhat.com>
11891
11892 * config/msp430/msp430-opts.h (enum msp430_regions): New.
11893 * config/msp430/msp430.c (msp430_override_options): Complain if
11894 -mcode-region or -mdata-region is used on a non MSP430X.
11895 (msp430_section_attr): New function. Checks lower, upper and
11896 either attributes.
11897 (msp430_attribute_table): Add lower, upper and either.
11898 (gen_prefix): New function. Generates a prefix for a section
11899 name.
11900 (msp430_select_section): New function - handles the choice of
11901 section for an object. Takes into account memory region
11902 attributes and options.
11903 (msp430_function_section): Use gen_prefix.
11904 (TARGET_SECTION_TYPE_FLAGS): Define.
11905 (msp430_section_type_flags): New function.
11906 (TARGET_ASM_UNIQUE_SECTION): Define.
11907 (msp430_unique_section): New function.
11908 (msp430_output_aligned_decl_common): New function.
11909 (msp430_do_not_relax_short_jumps): New function.
11910 * config/msp430/msp430.h (USE_SELECT_SECTION_FOR_FUNCTIONS):
11911 Define.
11912 (ASM_OUTPUT_ALIGNED_DECL_COMMON): Define.
11913 * config/msp430/msp430-protos.h
11914 (msp430_do_not_relax_short_jumps): New prototype.
11915 (msp430_output_aligned_decl_common): New prototype.
11916 * config/msp430/msp430.md (length): New attribute.
11917 (cbranchhi4_real): If msp430_do_not_relax_short_jumps is true
11918 then use a long code sequence for short jumps.
11919 * config/msp430/msp430.opt (mcode-region): New.
11920 (mdata-region): New.
11921 * doc/invoke.texi: Document new options.
11922 * doc/extend.texi: Document new attributes.
11923
11924 2015-05-05 Matthew Wahab <matthew.wahab@arm.com>
11925
11926 * gcc/config/aarch64-protos.h (struct cpu_branch_cost): New.
11927 (tune_params): Add field branch_costs.
11928 (aarch64_branch_cost): Declare.
11929 * gcc/config/aarch64.c (generic_branch_cost): New.
11930 (generic_tunings): Set field cpu_branch_cost to generic_branch_cost.
11931 (cortexa53_tunings): Likewise.
11932 (cortexa57_tunings): Likewise.
11933 (thunderx_tunings): Likewise.
11934 (xgene1_tunings): Likewise.
11935 (aarch64_branch_cost): Define.
11936 * gcc/config/aarch64/aarch64.h (BRANCH_COST): Redefine.
11937
11938 2015-05-05 Uros Bizjak <ubizjak@gmail.com>
11939
11940 * config/i386/i386.c: Use HOST_WIDE_INT_1 instead of (HOST_WIDE_INT) 1
11941 and HOST_WIDE_INT_1U instead of (unsigned HOST_WIDE_INT) 1.
11942 * config/i386/i386.md: Ditto.
11943 * config/i386/winnt.c: Ditto.
11944
11945 2015-05-05 Matthew Wahab <matthew.wahab@arm.com>
11946
11947 * doc/extend.texi (__atomic Builtins): Move implementation details
11948 to the end of the description, rewrite opening paragraphs, state
11949 difference with __sync builtins, state C11/C++11 assumptions,
11950 weaken itemized descriptions, add explanation of memory model
11951 behaviour, expand description of compare-exchange, simplify text.
11952
11953 2015-05-05 Renlin Li <renlin.li@arm.com>
11954
11955 * config/aarch64/aarch64.md (add<mode>3): Use mov when allowed.
11956
11957 2015-05-05 Yvan Roux <yvan.roux@linaro.org>
11958
11959 * config/aarch64/aarch64-elf-raw.h (CA53_ERR_843419_SPEC): Define.
11960 (LINK_SPEC): Include CA53_ERR_843419_SPEC.
11961 * config/aarch64/aarch64-linux.h (CA53_ERR_843419_SPEC): Define.
11962 (LINK_SPEC): Include CA53_ERR_843419_SPEC.
11963 * config/aarch64/aarch64.opt (mfix-cortex-a53-843419): New option.
11964 * configure: Regenerate.
11965 * configure.ac: Add --enable-fix-cortex-a53-843419 option.
11966 * doc/install.texi (aarch64*-*-*): Document new
11967 --enable-fix-cortex-a53-843419 option.
11968 * doc/invoke.texi (AArch64 Options): Document -mfix-cortex-a53-843419
11969 and -mno-fix-cortex-a53-843419 options.
11970
11971 2015-05-05 Uros Bizjak <ubizjak@gmail.com>
11972
11973 PR target/65871
11974 * config/i386/i386.md (*bmi_andn_<mode>_ccno): New pattern.
11975
11976 2015-05-04 Jan Hubicka <hubicka@ucw.cz>
11977
11978 * tree.c (verify_type): Check various uses of TYPE_MAXVAL;
11979 fix overactive TYPE_MIN_VALUE check and add FIXME for type
11980 compatibility problems.
11981
11982 2015-05-04 Ajit Agarwal <ajitkum@xilinx.com>
11983
11984 * config/microblaze/microblaze.md (cbranchsi4): Added immediate
11985 constraints.
11986 (cbranchsi4_reg): New.
11987 * config/microblaze/microblaze.c
11988 (microblaze_expand_conditional_branch_reg): New.
11989 * config/microblaze/microblaze-protos.h
11990 (microblaze_expand_conditional_branch_reg): New prototype.
11991
11992 2015-05-04 Ajit Agarwal <ajitkum@xilinx.com>
11993
11994 * config/microblaze/microblaze.md (peephole2): New.
11995
11996 2015-05-04 Jeff Law <law@redhat.com>
11997
11998 Revert:
11999 2015-05-04 Jeff Law <law@redhat.com>
12000
12001 * match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New
12002 simplifier to narrow arithmetic.
12003 * generic-match-head.c: (types_match, single_use): New functions.
12004 * gimple-match-head.c: (types_match, single_use): New functions.
12005
12006 2015-05-04 Kaz Kojima <kkojima@gcc.gnu.org>
12007
12008 PR target/65987
12009 * config/sh/sh.c (output_far_jump): Take into account crossing jumps.
12010 (split_branches): Likewise.
12011
12012 2015-05-04 Sandra Loosemore <sandra@codesourcery.com>
12013
12014 * common.opt (fdelete-null-pointer-checks): Init to -1.
12015 * config/nios2/elf.h (SUBTARGET_OVERRIDE_OPTIONS): Define to
12016 override flag_delete_null_pointer_checks default.
12017 * doc/invoke.texi (-fdelete-null-pointer-checks): Clarify
12018 behavior re address zero. Better document target-specific behavior.
12019 (-fisolate-errneous-paths-dereference): Mention relationship to
12020 -fdelete-null-pointer-checks.
12021
12022 2015-05-04 Jakub Jelinek <jakub@redhat.com>
12023
12024 PR tree-optimization/65984
12025 * ubsan.c: Include tree-cfg.h.
12026 (instrument_bool_enum_load): Use stmt_ends_bb_p instead of
12027 stmt_could_throw_p test, rename can_throw variable to ends_bb.
12028
12029 2015-05-04 Uros Bizjak <ubizjak@gmail.com>
12030
12031 * config/i386/i386.c: Change GET_CODE (...) == CONST_DOUBLE check
12032 to CONST_DOUBLE_P predicate.
12033 (standard_sse_constant_p): Return 0 for !TARGET_SSE.
12034 (ix86_legitimate_constant_p) <case CONST_WIDE_INT>: For 32bit targets,
12035 allow only operands that satisfy standard_sse_constant_p predicate.
12036 * config/i386/i386.md: Change GET_CODE (...) == CONST_DOUBLE check
12037 to CONST_DOUBLE_P predicate.
12038
12039 2015-05-04 Jeff Law <law@redhat.com>
12040
12041 * match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New
12042 simplifier to narrow arithmetic.
12043 * generic-match-head.c: (types_match, single_use): New functions.
12044 * gimple-match-head.c: (types_match, single_use): New functions.
12045
12046 2015-05-04 Andreas Tobler <andreast@gcc.gnu.org>
12047
12048 * config/arm/arm.c: Restore bootstrap.
12049
12050 2015-05-04 Uros Bizjak <ubizjak@gmail.com>
12051
12052 * config/i386/i386.h (TARGET_SUPPORTS_WIDE_INT): New define.
12053 * config/i386/i386.c (ix86_legitimate_constant_p): Handle TImode
12054 as CONST_WIDE_INT, not CONST_DOUBLE.
12055 (ix86_cannot_force_const_mem): Handle CONST_WIDE_INT.
12056 (output_pic_addr_const): Do not handle VOIDmode CONST_DOUBLEs.
12057 (ix86_find_base_term): Do not check for CONST_DOUBLE.
12058 (ix86_print_operand): Do not handle non-FPmode CONST_DOUBLEs.
12059 (ix86_build_signbit_mask): Rewrite using wide ints.
12060 (ix86_split_to_parts) [HOST_BITS_PER_WIDE_INT < 64]: Remove.
12061 (ix86_rtx_costs): Handle CONST_WIDE_INT.
12062 (find_constant): Ditto.
12063 * config/i386/i386.md (bts, btr, btc peepholes): Rewrite
12064 using gen_int_mode.
12065 * config/i386/predicates.md (x86_64_immediate_operand)
12066 <case CONST_INT>: Remove HOST_BITS_PER_WIDE_INT == 32 code.
12067 (x86_64_zext_immediate_operand): Remove CONST_DOUBLE handling.
12068 <case CONST_INT>: Remove HOST_BITS_PER_WIDE_INT == 32 code.
12069 (const0_operand): Also match const_wide_int.
12070 (constm1_operand): Ditto.
12071 (const1_operand): Ditto.
12072
12073 2015-05-04 Richard Biener <rguenther@suse.de>
12074
12075 PR tree-optimization/65965
12076 * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Split
12077 store groups at gaps.
12078
12079 2015-05-04 Richard Biener <rguenther@suse.de>
12080
12081 PR tree-optimization/65935
12082 * tree-vect-slp.c (vect_build_slp_tree): If we swapped operands
12083 then make sure to apply that swapping to the IL.
12084
12085 2015-05-04 Jakub Jelinek <jakub@redhat.com>
12086
12087 * Makefile.in (PATCHLEVEL_c): New variable.
12088 (DATESTAMP_s, REVISION_s): If PATCHLEVEL_c is not 0,
12089 expand the same way as if DEVPHASE_c was non-empty.
12090
12091 2015-05-04 Kai Tietz <ktietz@redhat.com>
12092
12093 PR target/65559
12094 * lto-wrapper.c (run_gcc): Open filename
12095 in binary-mode.
12096
12097 2015-05-03 Sandra Loosemore <sandra@codesourcery.com>
12098
12099 * doc/extend.texi (Variable Attributes, Type Attributes): Move
12100 sections up in file, to immediately after the Function Attributes
12101 section.
12102
12103 2015-05-02 Jan Hubicka <hubicka@ucw.cz>
12104
12105 * tree.c (verify_type): Check various uses of TYPE_MINVAL.
12106
12107 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12108
12109 * tree-outof-ssa.c (emit_partition_copy): Return rtx_insn *.
12110 (insert_partition_copy_on_edge): Adjust.
12111 (insert_rtx_to_part_on_edge): Likewise.
12112 (insert_part_to_rtx_on_edge): Likewise.
12113
12114 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12115
12116 * function.c (set_return_jump_label): Change type of argument to
12117 rtx_insn *.
12118 * function.h (set_return_jump_label): Adjust.
12119
12120 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12121
12122 * reload.h (struct reg_equivs_t): Change type of init to
12123 rtx_insn *.
12124 * ira.c (fix_reg_equiv_init): Adjust.
12125 * reload1.c (eliminate_regs_1): Likewise.
12126 (init_eliminable_invariants): Likewise.
12127
12128 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12129
12130 * cselib.c (fp_setter_insn): Take a rtx_insn *.
12131 * cselib.h (fp_setter_insn): Adjust.
12132
12133 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12134
12135 * recog.c (struct validate_replace_src_data): Change type of
12136 insn field to rtx_insn *.
12137 (validate_replace_src_group): Change type of argument to rtx_insn *.
12138 * recog.h (validate_replace_src_group): Adjust.
12139
12140 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12141
12142 * haifa-sched.c: Change the type of some variables to rtx_insn *.
12143 * sched-deps.c: Likewise.
12144 * sched-int.h: Likewise.
12145 * sched-rgn.c: Likewise.
12146 * sel-sched.c: Likewise.
12147
12148 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12149
12150 to rtx_insn *.
12151 * config/i386/i386.c: Change the type of some arguments to
12152 rtx_insn *.
12153 * config/arm/arm.c: Likewise.
12154
12155 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12156
12157 * lra-constraints.c: Change type of some arguments to rtx_insn *.
12158
12159 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12160
12161 * regcprop.c (kill_autoinc_value): Change type of argument to
12162 rtx_insn *.
12163
12164 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12165
12166 * genrecog.c (print_subroutine): Adjust.
12167 * recog.c (get_bool_attr_mask_uncached): Likewise.
12168 * recog.h (struct recog_data_d): Change the type of insn to
12169 rtx_insn *.
12170
12171 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12172
12173 * dwarf2cfi.c (add_cfi_insn): Change type to rtx_insn *.
12174
12175 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12176
12177 * df-problems.c (df_set_note): Change type of argument to
12178 rtx_insn *.
12179
12180 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12181
12182 * builtins.c (expand_builtin_trap): Change type of local
12183 variable to rtx_insn *.
12184 (add_sched_insns_for_speculation): Likewise.
12185 (ix86_emit_save_regs): Likewise.
12186 (get_scratch_register_on_entry): Likewise.
12187 (ix86_emit_restore_reg_using_pop): Likewise.
12188 (ix86_emit_leave): Likewise.
12189 (ix86_emit_restore_regs_using_mov): Likewise.
12190 (ix86_expand_epilogue): Likewise.
12191 Likewise.
12192 (rl78_alloc_physical_registers_umul): Likewise.
12193 * cselib.c (discard_useless_locs): Likewise.
12194 (cselib_invalidate_regno): Likewise.
12195 (cselib_invalidate_mem): Likewise.
12196 * function.c (expand_function_start): Likewise.
12197 (emit_use_return_register_into_block): Likewise.
12198 * gcse.c: Likewise.
12199 * haifa-sched.c (ok_for_early_queue_removal): Likewise.
12200 * ifcvt.c (noce_get_alt_condition): Likewise.
12201 * loop-doloop.c (doloop_condition_get): Likewise.
12202 * lra-constraints.c (inherit_in_ebb): Likewise.
12203 * modulo-sched.c (sms_schedule_by_order): Likewise.
12204 * recog.c (next_insn_tests_no_inequality): Likewise.
12205 * reorg.c (emit_delay_sequence): Likewise.
12206 (update_reg_dead_notes): Likewise.
12207 (fix_reg_dead_note): Likewise.
12208 (fill_slots_from_thread): Likewise.
12209 (delete_computation): Likewise.
12210
12211 2015-05-01 Sandra Loosemore <sandra@codesourcery.com>
12212
12213 * doc/extend.texi (Variable Attributes): Add menu and proper
12214 @nodes to subsections. Move Microsoft Windows attributes to
12215 their own subsection.
12216 (Type Attributes): Reorganize introduction to remove duplicate
12217 list of attributes. Add menu and proper @nodes to subsections.
12218 Alphabetize the main table of common attributes.
12219
12220 2015-05-01 Rasmus Villemoes <rv@rasmusvillemoes.dk>
12221
12222 * match.pd: New simplification patterns.
12223 (x + (x & 1)) -> ((x + 1) & ~1)
12224 (x & ~(x & y)) -> ((x & ~y))
12225 (x | ~(x | y)) -> ((x | ~y))
12226
12227 2015-05-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12228
12229 * target.def (attribute_table): Mention that struct attribute_spec
12230 is defined in tree-core.h rather than tree.h
12231 * doc/tm.texi: Regenerate.
12232
12233 2015-05-01 Richard Sandiford <richard.sandiford@arm.com>
12234
12235 * genrecog.c (test): Rename to rtx_test. Update rest of file
12236 accordingly.
12237
12238 2015-05-01 Andreas Schwab <schwab@linux-m68k.org>
12239
12240 PR translation/65959
12241 * params.h (DEFPARAM): Rename msgid to nocmsgid.
12242
12243 2015-05-01 Wilco Dijkstra <wdijkstr@arm.com>
12244
12245 * gcc/config/aarch64/aarch64-protos.h (tune_params):
12246 Add min_div_recip_mul_sf and min_div_recip_mul_df fields.
12247 * gcc/config/aarch64/aarch64.c (aarch64_min_divisions_for_recip_mul):
12248 Return value depending on target.
12249 (generic_tunings): Initialize new target settings.
12250 (cortexa53_tunings): Likewise.
12251 (cortexa57_tunings): Likewise.
12252 (thunderx_tunings): Likewise.
12253 (xgene1_tunings): Likewise.
12254
12255 2015-05-01 Wilco Dijkstra <wdijkstr@arm.com>
12256
12257 * gcc/config/arm/aarch-cost-tables.h (cortexa53_extra_costs):
12258 Make Cortex-A53 shift costs more accurate.
12259
12260 2015-05-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12261
12262 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle FLOAT and
12263 UNSIGNED_FLOAT.
12264
12265 2015-05-01 Wilco Dijkstra <wdijkstr@arm.com>
12266
12267 * gcc/config/aarch64/aarch64.c (aarch64_rtx_costs):
12268 Calculate cost of op0 and op1 in PLUS and MINUS cases.
12269
12270 2015-05-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12271
12272 * config/aarch64/aarch64.c (aarch64_rtx_costs, COMPARE case):
12273 Add cost of op0 in the compare-with-fpzero case.
12274
12275 2015-04-30 David Malcolm <dmalcolm@redhat.com>
12276
12277 * builtins.c (fold_builtin_1): Remove spurious second
12278 semicolon.
12279 * cgraph.h (symtab_node::get_availability): Likewise.
12280 * opts.c (common_handle_option): Remove spurious second semicolon.
12281 * tree-ssa-loop-ivopts.c (extract_cond_operands): Likewise.
12282 * tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Likewise.
12283
12284 2015-04-30 Caroline Tice <cmtice@google.com>
12285
12286 PR gcov-profile/65929
12287 * config/elfos.h (ASM_DECLARE_COLD_FUNCTION_NAME): New macro definition.
12288 (ASM_DECLARE_COLD_FUNCTION_SIZE): New macro definition.
12289 * doc/tm.texi.in (ASM_DECLARE_COLD_FUNCTION_NAME): Document new macro.
12290 (ASM_DECLARE_COLD_FUNCTION_SIZE): Document new macro.
12291 * doc/tm.texi: Regenerate.
12292 * final.c (final_scan_insn): Use ASM_DECLARE_COLD_FUNCTION_NAME
12293 instead of ASM_DECLARE_FUNCTION_NAME for cold partition name.
12294 * varasm.c (assemble_end_function): Use ASM_DECLARE_COLD_FUNCTION_SIZE
12295 instead of ASM_DECLARE_FUNCTION_SIZE for cold partition size.
12296
12297 2015-04-30 Marek Polacek <polacek@redhat.com>
12298
12299 * varasm.c (handle_cache_entry): Fix logic.
12300
12301 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12302
12303 * config/aarch64/aarch64.md (*extr<mode>5_insn_alt): New pattern.
12304 (*extrsi5_insn_uxtw_alt): Likewise.
12305 * config/aarch64/aarch64.c (aarch64_extr_rtx_p): New function.
12306 (aarch64_rtx_costs, IOR case): Use above to properly cost extr
12307 operations.
12308
12309 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12310
12311 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle pattern for
12312 fabd in ABS case.
12313
12314 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12315
12316 * config/aarch64/aarch64.md
12317 (*eor_one_cmpl_<SHIFT:optab><mode>3_alt): New pattern.
12318 (*eor_one_cmpl_<SHIFT:optab>sidi3_alt_ze): Likewise.
12319 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle MVN-shift
12320 appropriately. Handle alternative EON form.
12321
12322 2015-04-30 Renlin Li <renlin.li@arm.com>
12323
12324 * config/aarch64/aarch64-simd.md (vec_shr): Defined as an unspec.
12325 * config/aarch64/iterators.md (unspec): Add UNSPEC_VEC_SHR.
12326
12327 2015-04-30 Jan Hubicka <hubicka@ucw.cz>
12328
12329 PR ipa/65873
12330 * ipa-inline.c (can_inline_edge_p): It is safe to inline across
12331 -fstrict-aliasing boundaries.
12332
12333 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12334
12335 * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Handle MNEG
12336 and [SU]MNEGL patterns.
12337
12338 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12339
12340 * config/aarch64/aarch64.c (aarch64_shift_p): New function.
12341 (aarch64_rtx_mult_cost): Update comment to reflect that it also handles
12342 combined arithmetic-shift ops. Properly handle all shift and extend
12343 operations that can occur in combination with PLUS/MINUS.
12344 Rename maybe_fma to compound_p.
12345 (aarch64_rtx_costs): Use aarch64_shift_p when costing compound
12346 arithmetic and shift operations.
12347
12348 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12349
12350 * config/aarch64/aarch64.c (aarch64_rtx_costs): Use extend_arith
12351 rather than arith_shift cost when costing ADD/MINUS of an
12352 extended value.
12353
12354 2015-04-30 Jan Hubicka <hubicka@ucw.cz>
12355
12356 PR lto/65948
12357 * ipa-devirt.c (odr_types_equivalent_p): NULLPTR_TYPE is equivalent
12358 to itself.
12359
12360 2015-04-30 Richard Sandiford <richard.sandiford@arm.com>
12361
12362 * genrecog.c (simplify_tests): Check that CONST_INT and XWINT tests
12363 are for the same position.
12364
12365 2015-04-29 Aditya Kumar <hiraditya@hotmail.com>
12366
12367 * tree-vectorizer.c (set_uid_loop_bbs): New. Factored out of
12368 vectorize_loops.
12369 (vectorize_loops): Use it.
12370
12371 2015-04-29 Jan Hubicka <hubicka@ucw.cz>
12372
12373 * ipa-devirt.c (odr_subtypes_equivalent_p): Compare TYPE_NAME only
12374 for aggregate types.
12375 (register_odr_type): Be ready for MAIN_VARIANT of ODR type
12376 type to be non_ODR.
12377 * tree.c (need_assembler_name_p): Compute mangled name for
12378 non-fundamental types and integer types.
12379
12380 2015-04-29 Mikhail Maltsev <maltsevm@gmail.com>
12381
12382 * dojump.c (do_compare_rtx_and_jump): Use std::swap instead of
12383 manual swaps.
12384 * expr.c (expand_expr_real_2): Likewise.
12385
12386 2015-04-29 Jan Hubicka <hubicka@ucw.cz>
12387
12388 * tree.c (build_common_builtin_nodes): Do not build
12389 __builtin_alloca_with_align as equivalent of library alloca.
12390
12391 2015-04-29 Jan Hubicka <hubicka@ucw.cz>
12392
12393 * dwarf2out.c (gen_type_die_with_usage): Call verify_type.
12394 * ipa-chkp.c (chkp_copy_function_type_adding_bounds): Do not produce
12395 bugus variants.
12396 * tree.c: Include print-tree.h and ipa-utils.h
12397 (free_lang_data_in_type): Clear TYPE_VFIELD leaked by C FE.
12398 (free_lang_data_in_cgraph): Call verify_type.
12399 (verify_type_variant): New function.
12400 (verify_type): New function.
12401 * tree.h (verify_type): Declare.
12402
12403 2015-04-29 Steve Ellcey <sellcey@imgtec.com>
12404
12405 * config/mips/mips-cpus.def: (mips4): Change default processor
12406 from PROCESSOR_R8000 to PROCESSOR_R10000.
12407
12408 2015-04-29 Petar Jovanovic <petar.jovanovic@rt-rk.com>
12409
12410 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Fix the macro to use
12411 la/jalr instead of jal.
12412
12413 2015-04-29 Uros Bizjak <ubizjak@gmail.com>
12414
12415 PR target/65871
12416 * config/i386/i386.md (*bmi_bextr_<mode>_ccz): New pattern.
12417 (*bmi2_bzhi_<mode>3_1_ccz): Ditto.
12418 (setcc+movzbl peephole2): Check also clobbered reg.
12419 (setcc+andl peephole2): Ditto.
12420
12421 2015-04-29 Thomas Schwinge <thomas@codesourcery.com>
12422
12423 PR libgomp/65099
12424 * config/nvptx/mkoffload.c (target_ilp32): New variable.
12425 (main): Set it depending on "-foffload-abi=[...]".
12426 (compile_native, main): Use it to pass "-m32" or "-m64" to the
12427 compiler.
12428
12429 2015-04-29 Alan Lawrence <alan.lawrence@arm.com>
12430
12431 PR target/65770
12432 * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>,
12433 vec_store_lanesci_lane<mode>, vec_store_lanesxi_lane<mode>):
12434 Flip lane index back at assembly time for bigendian.
12435
12436 2015-04-29 Thomas Schwinge <thomas@codesourcery.com>
12437
12438 * tree.h (OMP_STANDALONE_CLAUSES): New macro.
12439 * gimplify.c (gimplify_omp_workshare): Use it.
12440
12441 2015-04-29 Richard Sandiford <richard.sandiford@arm.com>
12442
12443 * Makefile.in (build/genrecog.o): Depend on inchash.h.
12444 (build/genrecog$(build_exeext): Depend on build/hash-table.o and
12445 build/inchash.o
12446 * genrecog.c: Rewrite most of the code except for the third page.
12447
12448 2015-04-29 Richard Sandiford <richard.sandiford@arm.com>
12449
12450 * inchash.h, inchash.c: Include bconfig.h for build objects.
12451 * Makefile.in (build/inchash.o): New rule.
12452
12453 2015-04-29 Yvan Roux <yvan.roux@linaro.org>
12454
12455 PR target/65924
12456 * config/arm/thumb2.md (*thumb2_addsi3_compare0_scratch): Fix operand
12457 number in type attribute expression.
12458
12459 2015-04-29 Richard Sandiford <richard.sandiford@arm.com>
12460
12461 * loop-iv.c (canon_condition): Generalize to all types of integer
12462 constant.
12463
12464 2015-04-29 Bernhard Reuther-Fischer <aldot@gcc.gnu.org>
12465
12466 * gimple-walk.c: Prune duplicate or unneeded includes.
12467 (walk_gimple_asm): Only call parse_input_constraint or
12468 parse_output_constraint if their findings are used.
12469 Honour parse_input_constraint and parse_output_constraint
12470 result.
12471
12472 2015-04-29 Alan Lawrence <alan.lawrence@arm.com>
12473
12474 * config/arm/neon.md (vec_shl<mode>, vec_shr<mode>): Remove.
12475
12476 2015-04-29 Tom de Vries <tom@codesourcery.com>
12477
12478 PR tree-optimization/65893
12479 * passes.def (pass_all_optimizations): Move pass_stdarg to after
12480 pass_dce.
12481
12482 2015-04-29 Richard Biener <rguenther@suse.de>
12483
12484 * tree-vect-data-refs.c (vect_analyze_group_access): Properly
12485 compute GROUP_SIZE for basic-block SLP.
12486 * tree-vect-slp.c (vect_get_place_in_interleaving_chain): Properly
12487 take into account gaps.
12488 (vect_get_mask_element): Properly reject references to previous
12489 vectors.
12490 (vect_transform_slp_perm_load): Likewise.
12491
12492 2015-04-29 Christian Bruel <christian.bruel@st.com>
12493
12494 PR target/64835
12495 * config/i386/i386.c (ix86_default_align): New function.
12496 (ix86_override_options_after_change): Call ix86_default_align.
12497 (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): New hook.
12498 (ix86_override_options_after_change): New function.
12499
12500 2015-04-28 Jeff Law <law@redhat.com>
12501
12502 * tree-ssa-dom.c (record_equality); Fix comment typos.
12503
12504 2015-04-28 Tom de Vries <tom@codesourcery.com>
12505
12506 PR tree-optimization/65887
12507 * gimplify.c (gimplify_modify_expr): Remove ifn_va_arg ap fixup.
12508
12509 2015-04-28 Sandra Loosemore <sandra@codesourcery.com>
12510
12511 * doc/extend.texi (Declaring Attributes of Functions): Split into
12512 subsections by target. Alphabetize the table of common attributes.
12513 Rewrite some of the introductory text to reflect the new structure.
12514 Update some cross-references to point to the new subsections.
12515 (Attribute Syntax): Put paragraph about "__" naming here. Remove
12516 duplicate copies in the discussion of function, label, and type
12517 attributes.
12518
12519 2015-04-28 Dominique d'Humieres <dominiq@lps.ens.fr>
12520
12521 PR bootstrap/65910
12522 * varasm.c (assemble_end_function): Guard ASM_DECLARE_FUNCTION_SIZE.
12523
12524 2015-04-28 Jason Merrill <jason@redhat.com>
12525
12526 PR c++/65734
12527 * stor-layout.c (layout_type): Layout the TYPE_MAIN_VARIANT.
12528 (finalize_type_size): Respect TYPE_USER_ALIGN.
12529 (layout_type) [ARRAY_TYPE]: Likewise.
12530
12531 2015-04-28 Yvan Roux <yvan.roux@linaro.org>
12532
12533 * config/arm/arm.md (*arm_movt): Fix type attribute.
12534 (*cmpsi_shiftsi): Likewise.
12535 (*cmpsi_shiftsi_swp): Likewise.
12536 (*movsicc_insn): Likewise.
12537 (*cond_move): Likewise.
12538 (*if_plus_move): Likewise.
12539 (*if_move_plus): Likewise.
12540 (*if_arith_move): Likewise.
12541 (*if_move_arith): Likewise.
12542 (*if_shift_move): Likewise.
12543 (*if_move_shift): Likewise.
12544 (*arm_movtas_ze): Likewise.
12545 * config/arm/thumb2.md (*thumb2_movsicc_insn): Fix alternative
12546 redundancy and type attribute.
12547 (*thumb2_movsi_insn): Fix type attribute.
12548 (*thumb2_addsi_short): Likewise.
12549 (thumb2_addsi3_compare0): Likewise.
12550 (*thumb2_addsi3_compare0_scratch): Merge alternatives and fix
12551 attributes accordingly.
12552
12553 2015-04-28 Markus Trippelsdorf <markus@trippelsdorf.de>
12554
12555 PR other/65911
12556 * function.c (pad_to_arg_alignment): Add parentheses.
12557
12558 2015-04-28 Uros Bizjak <ubizjak@gmail.com>
12559
12560 * config/frv/frv.h (CRT_GET_RFIB_DATA): Move definition to
12561 libgcc/config/frv/elf-lib.h.
12562
12563 2015-04-28 Tom de Vries <tom@codesourcery.com>
12564
12565 * tree-call-cdce.c: Fix example in header comment.
12566
12567 2015-04-28 Richard Biener <rguenther@suse.de>
12568
12569 PR tree-optimization/62283
12570 * tree-vect-slp.c (vect_build_slp_tree): When the SLP build
12571 fails fatally and we are vectorizing a basic-block simply
12572 cause the child to be constructed piecewise.
12573 (vect_analyze_slp_cost_1): Adjust.
12574 (vect_detect_hybrid_slp_stmts): Likewise.
12575 (vect_bb_slp_scalar_cost): Likewise.
12576 (vect_get_constant_vectors): For piecewise constructed
12577 constants place them after the last def.
12578 (vect_get_slp_defs): Adjust.
12579 * tree-vect-stmts.c (vect_is_simple_use): Detect in-BB
12580 externals for basic-block vectorization.
12581
12582 2015-04-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
12583
12584 PR target/63503
12585 * config.gcc: Add cortex-a57-fma-steering.o to extra_objs for
12586 aarch64-*-*.
12587 * config/aarch64/t-aarch64: Add a rule for cortex-a57-fma-steering.o.
12588 * config/aarch64/aarch64.h (AARCH64_FL_USE_FMA_STEERING_PASS): Define.
12589 (AARCH64_TUNE_FMA_STEERING): Likewise.
12590 * config/aarch64/aarch64-cores.def: Set
12591 AARCH64_FL_USE_FMA_STEERING_PASS for cores with dynamic steering of
12592 FMUL/FMADD instructions.
12593 * config/aarch64/aarch64.c (aarch64_register_fma_steering): Declare.
12594 (aarch64_override_options): Include cortex-a57-fma-steering.h. Call
12595 aarch64_register_fma_steering () if AARCH64_TUNE_FMA_STEERING is true.
12596 * config/aarch64/cortex-a57-fma-steering.h: New file.
12597 * config/aarch64/cortex-a57-fma-steering.c: Likewise.
12598
12599 2015-04-28 Richard Sandiford <richard.sandiford@arm.com>
12600
12601 * gensupport.c (std_preds): Add missing codes to address_operand entry.
12602
12603 2015-04-28 Richard Biener <rguenther@suse.de>
12604
12605 PR tree-optimization/65851
12606 * tree-ssa-ccp.c (set_lattice_value): Perform a meet when
12607 changing CONSTANT to CONSTANT non-copy. Get new_val by reference.
12608 (ccp_lattice_meet): Remove stray argument. Use operand_equal_p
12609 rather than simple_cst_equal as the latter doesn't handle COMPLEX_CST.
12610 (ccp_visit_phi_node): Adjust.
12611 (evaluate_stmt): For simplifications to SSA names return its
12612 lattice value if that isn't VARYING. Return immediately when
12613 simplified to a constant.
12614 (visit_assignment): Adjust.
12615 (ccp_visit_stmt): Likewise.
12616
12617 2015-04-28 Tom de Vries <tom@codesourcery.com>
12618
12619 PR tree-optimization/65818
12620 * tree-stdarg.c (expand_ifn_va_arg_1): Ensure that side-effects are
12621 evaluated.
12622
12623 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12624
12625 * calls.c (save_fixed_argument_area): Don't check
12626 ARGS_GROW_DOWNWARD with the preprocessor.
12627 (restore_fixed_argument_area): Likewise.
12628 (mem_overlaps_already_clobbered_arg_p): Likewise.
12629 (check_sibcall_argument_overlap): Likewise.
12630 (expand_call): Likewise.
12631 (emit_library_call_value_1): Likewise.
12632 (store_one_arg): Likewise.
12633 * function.c (assign_parms): Likewise.
12634 (locate_and_pad_parm): Likewise.
12635 (pad_to_arg_alignment): Likewise.
12636 * targhooks.c (std_gimplify_va_arg_expr): Likewise.
12637
12638 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12639
12640 * config/pa/pa.h (ARGS_GROW_DOWNWARD): Define to 1.
12641 * defaults.h (ARGS_GROW_DOWNWARD): Define it to 0 by default.
12642 * calls.c (save_fixed_argument_area): Don't chekc if
12643 ARGS_GROW_DOWNWARD is defined.
12644 (restore_fixed_argument_area): Likewise.
12645 (mem_overlaps_already_clobbered_arg_p): Likewise.
12646 (check_sibcall_argument_overlap): Likewise.
12647 (expand_call): Likewise.
12648 (emit_library_call_value_1): Likewise.
12649 (store_one_arg): Likewise.
12650 * function.c (assign_parms): Likewise.
12651 (locate_and_pad_parm): Likewise.
12652 (pad_to_arg_alignment): Likewise.
12653 * targhooks.c (std_gimplify_va_arg_expr): Likewise.
12654
12655 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12656
12657 * defaults.h (gen_epilogue): New function.
12658 * alias.c (init_alias_analysis): don't check if HAVE_epilogue is
12659 defined.
12660 * cfgrtl.c (cfg_layout_finalize): Likewise.
12661 * df-scan.c: Likewise.
12662 * function.c (thread_prologue_and_epilogue_insns): Likewise.
12663 (reposition_prologue_and_epilogue_notes): Likewise.
12664 * reorg.c (find_end_label): Likewise.
12665 * toplev.c: Likewise.
12666
12667 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12668
12669 * bb-reorder.c (HAVE_return): Don't check if its undefined.
12670 * defaults.h (gen_simple_return): New function.
12671 (gen_simple_return): Likewise.
12672 (HAVE_return): Add default definition to false.
12673 (HAVE_simple_return): Likewise.
12674 * cfgrtl.c (force_nonfallthru_and_redirect): Remove checks if
12675 HAVE_return and HAVE_simple_return are defined.
12676 * function.c (gen_return_pattern): Likewise.
12677 (convert_jumps_to_returns): Likewise.
12678 (thread_prologue_and_epilogue_insns): Likewise.
12679 * reorg.c (find_end_label): Likewise.
12680 (dbr_schedule): Likewise.
12681 * shrink-wrap.c: Likewise.
12682 * shrink-wrap.h: Likewise.
12683
12684 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12685
12686 * defaults.h (EPILOGUE_USES): Add default definition of false.
12687 * df-scan.c (EPILOGUE_USES): Remove check if its undefined.
12688 * resource.c (init_resource_info): Likewise.
12689
12690 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12691
12692 * defaults.h (PCC_BITFIELD_TYPE_MATTERS): Add default definition
12693 to false.
12694 * dwarf2out.c (field_byte_offset): REmove check if
12695 PCC_BITFIELD_TYPE_MATTERS is defined.
12696 * stor-layout.c (layout_decl): Likewise.
12697 (update_alignment_for_field): Likewise.
12698 (place_field): Likewise.
12699
12700 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12701
12702 * defaults.h (HARD_REGNO_RENAME_OK): Add default definition to
12703 true.
12704 * regrename.c (check_new_reg_p): Remove check if
12705 HARD_REGNO_RENAME_OK is defined.
12706 * sel-sched.c (sel_hard_regno_rename_ok): Likewise.
12707
12708 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12709
12710 * calls.c (prepare_call_address): Remove ifdef NO_FUNCTION_CSE.
12711 * cse.c (fold_rtx): Likewise.
12712 * config/alpha/alpha.h (NO_FUNCTION_CSE): Define to 1.
12713 * config/arc/arc.h (NO_FUNCTION_CSE): Likewise.
12714 * config/avr/avr.h (NO_FUNCTION_CSE): Likewise.
12715 * config/cr16/cr16.h (NO_FUNCTION_CSE): Likewise.
12716 * config/epiphany/epiphany.h (NO_FUNCTION_CSE): Likewise.
12717 * config/frv/frv.h (NO_FUNCTION_CSE): Likewise.
12718 * config/h8300/h8300.h (NO_FUNCTION_CSE): Likewise.
12719 * config/i386/i386.h (NO_FUNCTION_CSE): Likewise.
12720 * config/ia64/ia64.h (NO_FUNCTION_CSE): Likewise.
12721 * config/lm32/lm32.h (enum reg_class) (NO_FUNCTION_CSE):
12722 * Likewise.
12723 * config/m32r/m32r.h (NO_FUNCTION_CSE): Likewise.
12724 * config/mep/mep.h (NO_FUNCTION_CSE): Likewise.
12725 * config/mn10300/mn10300.h (NO_FUNCTION_CSE): Likewise.
12726 * config/nds32/nds32.h (NO_FUNCTION_CSE): Likewise.
12727 * config/nios2/nios2.h (NO_FUNCTION_CSE): Likewise.
12728 * config/pa/pa.h (NO_FUNCTION_CSE): Likewise.
12729 * config/rs6000/rs6000.h (NO_FUNCTION_CSE): Likewise.
12730 * config/s390/s390.h (NO_FUNCTION_CSE): Likewise.
12731 * config/sparc/sparc.h (NO_FUNCTION_CSE): Likewise.
12732 * config/spu/spu.h (NO_FUNCTION_CSE): Likewise.
12733 * config/stormy16/stormy16.h (NO_FUNCTION_CSE): Likewise.
12734 * config/v850/v850.h (NO_FUNCTION_CSE): Likewise.
12735 * defaults.h (NO_FUNCTION_CSE): Provide default definition to 0.
12736 * doc/tm.texi: Regenerate.
12737 * doc/tm.texi.in: Document NO_FUNCTION_CSE is always defined to
12738 either true or false.
12739
12740 2015-04-27 Jeff Law <law@redhat.com>
12741
12742 PR tree-optimization/65217
12743 * tree-ssa-dom.c (record_equality): Given two SSA_NAMEs, if just one
12744 of them has a single use, make sure it is the LHS of the implied
12745 copy.
12746
12747 2015-04-28 Alan Modra <amodra@gmail.com>
12748
12749 PR target/65810
12750 * config/rs6000/rs6000.c (POWERPC64_TOC_POINTER_ALIGNMENT): Define.
12751 (offsettable_ok_by_alignment): Use minimum of decl and toc
12752 pointer alignment. Replace dead code with assertion.
12753 (use_toc_relative_ref): Add mode arg. Return false in -mcmodel=medium
12754 case if size exceeds toc pointer alignment.
12755 (rs6000_legitimize_reload_address): Update use_toc_relative_ref call.
12756 (rs6000_emit_move): Likewise.
12757 * configure.ac: Add linker toc pointer alignment check.
12758 * configure: Regenerate.
12759 * config.in: Regenerate.
12760
12761 2015-04-27 Yoshinori Sato <ysato@users.sourceforge.jp>
12762
12763 * config.gcc: Add h8300-*-linux.
12764 * config/h8300/linux.h: New.
12765 * config/h8300/t-linux: New.
12766 * config/h8300/h8300.c (h8300_option_override): Normal mode
12767 is not supported for h8300-*-linux.
12768 (h8300_file_start): Target priority change.
12769 (get_shift_alg): Likewise.
12770 (h8300_shift_need_scratch_p): Likewise.
12771 * config/h8300/h8300.h (TARGET_CPU_CPP_BUILTINS): Likewise.
12772 * config/h8300/h8300.md (define_peephole2): Remove duplicate condition.
12773
12774 2015-04-27 Caroline Tice <cmtice@google.com>
12775
12776 * final.c (final_scan_insn): Output cold_function_name as function
12777 type.
12778 * varasm.c (cold_function_name): Make global.
12779 (assemble_start_function): Re-set cold_function_name.
12780 (assemble_end_function): Output cold partition size.
12781 * varasm.h (cold_function_name): Declare global.
12782
12783 2015-04-27 Ilya Tocar <ilya.tocar@intel.com>
12784
12785 * config/i386/i386.h (EXT_REX_SSE_REG_P): New.
12786 * config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>_mixed): Use "v"
12787 constraint.
12788 (*movxi_internal_avx512f): Ditto.
12789 (define_split): Check for xmm16+, when splitting scalar float_extend.
12790 (*extendsfdf2_mixed): Use "v" constraint.
12791 (define_split): Check for xmm16+, when splitting scalar float_truncate.
12792 (*truncdfsf_fast_sse): Use "v" constraint.
12793 (fix_trunc<MODEF:mode><SWI48:mode>_sse): Ditto.
12794 (*float<SWI48:mode><MODEF:mode>2_sse): Ditto.
12795 (define_peephole2): Check for xmm16+, when converting scalar
12796 float_truncate.
12797 (define_peephole2): Check for xmm16+, when converting scalar
12798 float_extend.
12799 (*fop_<mode>_comm_mixed): Use "v" constraint.
12800 (*fop_<mode>_comm_sse): Ditto.
12801 (*fop_<mode>_1_mixed): Ditto.
12802 (*sqrt<mode>2_sse): Ditto.
12803 (*ieee_s<ieee_maxmin><mode>3): Ditto.
12804
12805 2015-04-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12806
12807 * combine.c (simplify_if_then_else): Use std::swap instead
12808 of manually swapping.
12809 (known_cond): Likewise.
12810 (simplify_comparison): Likewise.
12811
12812 2015-04-27 Peter Bergner <bergner@vnet.ibm.com>
12813
12814 PR target/64579
12815 * config/rs6000/htm.md: Remove all define_expands.
12816 (UNSPECV_HTM_TABORTDC, UNSPECV_HTM_TABORTDCI, UNSPECV_HTM_TABORTWC,
12817 UNSPECV_HTM_TABORTWCI): Remove.
12818 (UNSPECV_HTM_TABORTXC, UNSPECV_HTM_TABORTXCI, UNSPECV_HTM_TTEST): New.
12819 (tabort_internal, tbegin_internal, tcheck_internal, tend_internal,
12820 trechkpt_internal, treclaim_internal, tsr_internal): Rename from this...
12821 (tabort, tbegin, tcheck, tend, trechkpt, treclaim, tsr): ...to this.
12822 (tabortdc_internal, tabortdci_internal, tabortwc_internal,
12823 tabortwci_internal): Remove define_insns.
12824 (tabort<wd>c, tabort<wd>ci): New define_insns.
12825 (tabort): Use gpc_reg_operand.
12826 (tcheck): Remove operand.
12827 (htm_mfspr_<mode>, htm_mtspr_<mode>): Use GPR mode macro.
12828 * config/rs6000/htmxlintrin.h (__TM_end): Use _HTM_TRANSACTIONAL as
12829 expected value.
12830 * config/rs6000/rs6000-builtin.def (BU_HTM_SPR0): Remove.
12831 (BU_HTM_SPR1): Rename to BU_HTM_V1. Remove use of RS6000_BTC_SPR.
12832 (tabort, tabortdc, tabortdci, tabortwc, tabortwci, tbegin,
12833 tcheck, tend, tendall, trechkpt, treclaim, tresume, tsuspend,
12834 tsr, ttest): Pass in the RS6000_BTC_CR attribute.
12835 (get_tfhar, set_tfhar, get_tfiar, set_tfiar, get_texasr, set_texasr,
12836 get_texasru, set_texasru): Pass in the RS6000_BTC_SPR attribute.
12837 (tcheck): Remove builtin argument.
12838 * config/rs6000/rs6000.c (rs6000_htm_spr_icode): Use TARGET_POWERPC64
12839 not TARGET_64BIT.
12840 (htm_expand_builtin): Fix usage of expandedp. Disallow usage of the
12841 tabortdc and tabortdci builtins when not in 64-bit mode.
12842 Modify code to handle the loss of the HTM define_expands.
12843 Emit code to copy the CR register to TARGET.
12844 (htm_init_builtins): Modify code to handle the loss of the HTM
12845 define_expands.
12846 * config/rs6000/rs6000.h (RS6000_BTC_32BIT): Delete.
12847 (RS6000_BTC_64BIT): Likewise.
12848 (RS6000_BTC_CR): New macro.
12849 * doc/extend.texi: Update documentation for htm builtins.
12850
12851 2015-04-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12852
12853 * simplify-rtx.c (simplify_gen_binary): Use std::swap instead
12854 of manually swapping.
12855 (simplify_associative_operation): Likewise.
12856 (simplify_binary_operation): Likewise.
12857 (simplify_plus_minus): Likewise.
12858 (simplify_relational_operation): Likewise.
12859 (simplify_ternary_operation): Likewise.
12860
12861 2015-04-27 Richard Sandiford <richard.sandiford@arm.com>
12862
12863 * config/stormy16/predicates.md (xs_hi_general_operand): Delete.
12864 (xs_hi_nonmemory_operand): Remove error.
12865 * config/stormy16/stormy16.md (movhi, movhi_internal): Use
12866 general_operand rather than xs_hi_general_operand.
12867
12868 2015-04-27 Richard Biener <rguenther@suse.de>
12869
12870 * tree-ssa-dom.c (record_equivalences_from_phis): Valueize PHI arg.
12871 (record_equivalences_from_stmt): Valueize rhs.
12872 (record_equality): Canonicalize x and y order via
12873 tree_swap_operands_p. Do not swap operands for same loop depth.
12874
12875 2015-04-27 Georg-Johann Lay <avr@gjlay.de>
12876
12877 PR target/65296
12878 PR target/65895
12879 * config/avr/gen-avr-mmcu-specs.c (print_mcu): Close file.
12880 Add hint how to use own spec file.
12881
12882 2015-04-27 Jakub Jelinek <jakub@redhat.com>
12883
12884 PR tree-optimization/65875
12885 * tree-vrp.c (update_value_range): If in is_new case setting
12886 old_vr to VR_VARYING, also set new_vr to it. Remove
12887 old_vr->type == VR_VARYING test.
12888 (vrp_visit_phi_node): Return SSA_PROP_VARYING instead of
12889 SSA_PROP_INTERESTING if update_value_range returned true,
12890 but new range is VR_VARYING.
12891
12892 2015-04-27 Thomas Preud'homme <thomas.preudhomme@arm.com>
12893
12894 * combine.c (sign_extend_short_imm): New.
12895 (set_nonzero_bits_and_sign_copies): Use above new function for sign
12896 extension of src short immediate.
12897 (reg_nonzero_bits_for_combine): Likewise for tem.
12898
12899 2015-04-27 Eric Botcazou <ebotcazou@adacore.com>
12900
12901 * stor-layout.c (self_referential_component_ref_p): New predicate.
12902 (copy_self_referential_tree_r): Use it.
12903 (self_referential_size): Punt for simple operations directly involving
12904 self-referential component references.
12905 * tree-cfg.c (dump_function_to_file): Add missing final curly bracket.
12906
12907 2015-04-27 Eric Botcazou <ebotcazou@adacore.com>
12908
12909 * ipa-icf.c (icf_handled_component_p): Remove redundant tests.
12910
12911 2015-04-27 Richard Sandiford <richard.sandiford@arm.com>
12912
12913 * vec.h (vec): Make splice arguments const. Update definitions
12914 accordingly.
12915
12916 2015-04-27 Yvan Roux <yvan.roux@linaro.org>
12917
12918 * config/arm/arm.md (*arm_subsi3_insn): Fixed redundant
12919 alternatives.
12920
12921 2015-04-26 Tom de Vries <tom@codesourcery.com>
12922
12923 PR tree-optimization/65826
12924 * internal-fn.def: Mark VA_ARG with ECF_LEAF.
12925
12926 2015-04-24 Steve Ellcey <sellcey@imgtec.com>
12927
12928 * config/mips/mips.md: (*madd4<mode>) Remove accum_in attribute.
12929 (*madd3<mode>): Ditto.
12930 (*msub4<mode>): Ditto.
12931 (*msub3<mode>): Ditto.
12932 (*nmadd4<mode>): Ditto.
12933 (*nmadd3<mode>): Ditto.
12934 (*nmadd4<mode>_fastmath): Ditto.
12935 (*nmadd3<mode>_fastmath): Ditto.
12936 (*nmsub4<mode>): Ditto.
12937 (*nmsub3<mode>): Ditto.
12938 (*nmsub4<mode>_fastmath): Ditto.
12939 (*nmsub3<mode>_fastmath): Ditto.
12940
12941 2015-04-24 Jason Merrill <jason@redhat.com>
12942
12943 PR c++/50800
12944 * tree.c (build_reference_type_for_mode): Don't pass can_alias_all
12945 down when building TYPE_CANONICAL.
12946 (build_pointer_type_for_mode): Likewise.
12947
12948 2015-04-24 Chen Gang <gang.chen.5i5j@gmail.com>
12949
12950 * genrecog.c (validate_pattern): Check matching constraint refers
12951 to a lower numbered operand.
12952
12953 2015-04-24 Michael Meissner <meissner@linux.vnet.ibm.com>
12954
12955 PR target/65849
12956 * config/rs6000/rs6000.opt (-mvsx-align-128): Make options that
12957 save to independent variables use the Save attribute. This will
12958 allow these options to be modified with the #pragma/attribute
12959 target support.
12960 (-mallow-movmisalign): Likewise.
12961 (-mallow-df-permute): Likewise.
12962 (-msched-groups): Likewise.
12963 (-malways-hint): Likewise.
12964 (-malign-branch-targets): Likewise.
12965 (-mvectorize-builtins): Likewise.
12966 (-msave-toc-indirect): Likewise.
12967
12968 * config/rs6000/rs6000.c (rs6000_opt_masks): Add more options that
12969 can be set via the #pragma/attribute target support.
12970 (rs6000_opt_vars): Likewise.
12971 (rs6000_inner_target_options): If VSX was set, also set
12972 -mno-avoid-indexed-addresses.
12973
12974 2015-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12975
12976 * config/arm/iterators.md (shiftable_ops): Rename to...
12977 (SHIFTABLE_OPS): ... This. Update use in comments.
12978 (ior_xor): Rename to...
12979 (IOR_XOR): ... This.
12980 (vqh_ops): Rename to...
12981 (VQH_OPS): ... This.
12982 (vqhs_ops): Rename to...
12983 (VQHS_OPS): ... This.
12984 (rshifts): Rename to...
12985 (RSHIFTS): ... This.
12986 (returns): Rename to...
12987 (RETURNS): ... This.
12988 * config/arm/arm.md: Update uses of the above.
12989 * config/arm/neon.md: Likewise.
12990
12991 2014-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12992
12993 * config.host (case ${host}): Add aarch64*-*-linux case.
12994 * config/aarch64/aarch64-cores.def: Add IMPLEMENTER_ID and PART_NUMBER
12995 fields to all the cores.
12996 * config/aarch64/aarch64-elf.h (DRIVER_SELF_SPECS):
12997 Add MCPU_MTUNE_NATIVE_SPECS.
12998 * config/aarch64/aarch64-option-extensions.def: Add FEATURE_STRING
12999 field to all extensions.
13000 * config/aarch64/aarch64-opts.h: Adjust definition of AARCH64_CORE.
13001 * config/aarch64/aarch64.c: Adjust definition of AARCH64_CORE.
13002 Adjust definition of AARCH64_OPT_EXTENSION.
13003 * config/aarch64/aarch64.h: Adjust definition of AARCH64_CORE.
13004 (MCPU_MTUNE_NATIVE_SPECS): Define.
13005 * config/aarch64/driver-aarch64.c: New file.
13006 * config/aarch64/x-arch64: New file.
13007 * doc/invoke.texi (AArch64 Options): Document native value for -mcpu,
13008 -mtune and -march.
13009
13010 2015-04-24 Uros Bizjak <ubizjak@gmail.com>
13011 Wei Mi <wmi@google.com>
13012
13013 * config/i386/i386-protos.h (ix86_operands_ok_for_move_multiple): New.
13014 * config/i386/i386.c (extract_base_offset_in_addr): New function.
13015 (ix86_operands_ok_for_move_multiple): Ditto.
13016 * config/i386/sse.md (movsd/movhpd to movupd peephole2): New pattern.
13017 (movlpd/movhpd to movupd peephole2): Ditto.
13018
13019 2015-04-24 Marek Polacek <polacek@redhat.com>
13020
13021 PR c/61534
13022 * input.h (from_macro_expansion_at): Define.
13023
13024 PR c/63357
13025 * doc/invoke.texi: Update description of -Wlogical-op.
13026
13027 2015-04-24 Thomas Preud'homme <thomas.preudhomme@arm.com>
13028
13029 * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): fix
13030 ternary operator in fprintf and harmonize spacing.
13031
13032 2015-04-24 Uros Bizjak <ubizjak@gmail.com>
13033
13034 * config/i386/sse.md (*vec_widen_smult_even_v8si<mask_name>):
13035 Mark operand1 commutative.
13036
13037 2015-04-24 Uros Bizjak <ubizjak@gmail.com>
13038
13039 * config/i386/sse.md (*vec_concatv2sf_sse4_1): Do not allow both
13040 input operands in memory.
13041 (*vec_concatv2si_sse4_1): Ditto.
13042 (*vec_concatv2df): Ditto, except for SSE3 and equal input operands.
13043 (vec_extract_lo_<mode><mask_name>): Change operand 1 predicate to
13044 register_operand.
13045 (vec_extract_hi_v32hi): Ditto.
13046 (vec_extract_hi_v64hi): Ditto.
13047 (<mask_codefor>avx512f_unpckhpd512<mask_name>): Ditto.
13048
13049 2015-04-24 Thomas Preud'homme <thomas.preudhomme@arm.com>
13050 Steven Bosscher <steven@gcc.gnu.org>
13051
13052 PR rtl-optimization/34503
13053 * cprop.c (cprop_reg_p): New.
13054 (hash_scan_set): Use above function to check if register can be
13055 propagated.
13056 (find_avail_set): Return up to two sets, one whose source is a
13057 register and one whose source is a constant. Sets are returned in an
13058 array passed as parameter rather than as a return value.
13059 (cprop_insn): Use a do while loop rather than a goto. Try each of the
13060 sets returned by find_avail_set, starting with the one whose source is
13061 a constant. Use cprop_reg_p to check if register can be propagated.
13062 (do_local_cprop): Use cprop_reg_p to check if register can be
13063 propagated.
13064 (implicit_set_cond_p): Likewise.
13065
13066 2015-04-23 Jan Hubicka <hubicka@ucw.cz>
13067
13068 * ipa-icf.c (sem_function::equals_wpa): Compare thunk info.
13069 (sem_function::equals): IGNORED_NODES parameter is now unused;
13070 update call of equals_private.
13071 (sem_function::equals_private): Do not call equals_wpa; skip
13072 gimple body matching if there is no body.
13073 (sem_function::init): Add logic to hash tthunk info.
13074 (sem_function::parse): Also parse thunks.
13075 * ipa-icf.h (equals_private): Update declaration.
13076
13077 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13078
13079 * config/rs6000/altivec.md (*altivec_lvx_<mode>_internal): Remove
13080 asterisk from name so this can be generated directly.
13081 (*altivec_stvx_<mode>_internal): Likewise.
13082 * config/rs6000/rs6000.c (rs6000_emit_le_vsx_store): Add assert
13083 that this is never called during or after reload/lra.
13084 (rs6000_frame_related): Remove split_reg
13085 argument and logic that references it.
13086 (emit_frame_save): Remove last parameter from call to
13087 rs6000_frame_related.
13088 (rs6000_emit_prologue): Remove last parameter from eight calls to
13089 rs6000_frame_related. Force generation of stvx instruction for
13090 Altivec register saves. Remove split_reg handling, which is no
13091 longer needed.
13092 (rs6000_emit_epilogue): Force generation of lvx instruction for
13093 Altivec register restores.
13094
13095 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13096
13097 * config/rs6000/rs6000.opt (mcrypto): Change option description to
13098 match category changes in ISA 2.07B.
13099
13100 2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13101
13102 * config/arm/iterators.md (GTGE, GTUGEU, COMPARISONS): New code
13103 iterators.
13104 (cmp_op, cmp_type): New code attributes.
13105 (NEON_VCMP, NEON_VACMP): New int iterators.
13106 (cmp_op_unsp): New int attribute.
13107 * config/arm/neon.md (neon_vc<cmp_op><mode>): New define_expand.
13108 (neon_vceq<mode>): Delete.
13109 (neon_vc<cmp_op><mode>_insn): New pattern.
13110 (neon_vc<cmp_op_unsp><mode>_insn_unspec): Likewise.
13111 (neon_vcgeu<mode>): Delete.
13112 (neon_vcle<mode>): Likewise.
13113 (neon_vclt<mode>: Likewise.
13114 (neon_vcage<mode>): Likewise.
13115 (neon_vcagt<mode>): Likewise.
13116 (neon_vca<cmp_op><mode>): New define_expand.
13117 (neon_vca<cmp_op><mode>_insn): New pattern.
13118 (neon_vca<cmp_op_unsp><mode>_insn_unspec): Likewise.
13119
13120 2015-04-23 Jan Hubicka <hubicka@ucw.cz>
13121
13122 * tree.h (attribute_value_equal): Declare.
13123 * tree.c (attribute_value_equal): Export.
13124
13125 2015-04-23 Jan Hubicka <hubicka@ucw.cz>
13126
13127 * ipa-icf.c (sem_item::compare_attributes): New function.
13128 (sem_item::compare_referenced_symbol_properties): Compare variable
13129 attributes.
13130 (sem_item::hash_referenced_symbol_properties): Record DECL_ALIGN.
13131 (sem_function::param_used_p): New function.
13132 (sem_function::equals_wpa): Fix attribute comparsion; match
13133 parameter type codes; do not compare paremter flags when
13134 they are not used; compare edge flags; compare indirect calls.
13135 (sem_item::update_hash_by_addr_refs): Hash reference type.
13136 (sem_function::equals_private): Do not match DECL_ATTRIBUTES.
13137 (sem_variable::equals_wpa): Do not match DECL_ALIGN; match
13138 reference use type.
13139 (sem_item_optimizer::update_hash_by_addr_refs): Use param_used_p.
13140 * ipa-icf.h (compare_attributes, param_used_p): Declare.
13141
13142 2015-04-23 Jan Hubicka <hubicka@ucw.cz>
13143
13144 * ipa-icf.c (symbol_compare_collection::symbol_compare_collection):
13145 cleanup.
13146 (sem_function::get_hash): Do not hash DECL_DISREGARD_INLINE_LIMITS,
13147 DECL_DECLARED_INLINE_P and DECL_IS_OPERATOR_NEW.
13148 (sem_item::compare_referenced_symbol_properties): New.
13149 (sem_item::hash_referenced_symbol_properties): New.
13150 (sem_item::compare_cgraph_references): Rename to ...
13151 (sem_item::compare_symbol_references): ... this one; use
13152 compare_referenced_symbol_properties.
13153 (sem_function::equals_wpa): Do not compare
13154 DECL_DISREGARD_INLINE_LIMITS, DECL_DECLARED_INLINE_P,
13155 DECL_IS_OPERATOR_NEW; compare pointer sizes.
13156 (sem_item::update_hash_by_addr_refs): Call
13157 hash_referenced_symbol_properties.
13158 (sem_item::update_hash_by_local_refs): Cleanup.
13159 (sem_function::merge): Do not mix up symbol properties.
13160 (sem_variable::equals_wpa): Use compare_symbol_references.
13161 * ipa-icf.h (sem_item::compare_referenced_symbol_properties): New.
13162 (sem_item::hash_referenced_symbol_properties): New.
13163 (sem_item::compare_symbol_references): New.
13164 (sem_item::compare_cgraph_references): Remove.
13165
13166 2015-04-23 Kwok Cheung Yeung <kcy@codesourcery.com>
13167
13168 PR target/26702
13169 * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL):
13170 Emit size of local.
13171
13172 2015-04-23 Nick Clifton <nickc@redhat.com>
13173
13174 * config/rl78/rl78.c (rl78_preferred_reload_class): Add
13175 ATTRIBUTE_UNUSED to x parameter.
13176 * config/rl78/rl78-opts.h (enum rl78_mul_types): Remove unused MUL_RL78.
13177
13178 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13179
13180 * config/rs6000/crypto.md (crypto_vpmsum<CR_char>): Change
13181 TARGET_CRYPTO to TARGET_P8_VECTOR>
13182 (crypto_vpermxor_<mode>): Likewise.
13183 * config/rs6000/rs6000-builtin.def (BU_CRYPTO_2A): New #define.
13184 (BU_CRYPTO_3A): Likewise.
13185 (BU_CRYPTO_OVERLOAD_2A): Rename from BU_CRYPTO_OVERLOAD_2.
13186 (BU_CRYPTO_OVERLOAD_3A): New #define.
13187 (VPMSUMB): Change from BU_CRYPTO_2 to BU_CRYPTO_2A.
13188 (VPMSUMH): Likewise.
13189 (VPMSUMW): Likewise.
13190 (VPMSUMD): Likewise.
13191 (VPERMXOR_V2DI): Change from BU_CRYPTO_3 to BU_CRYPTO_3A.
13192 (VPERMXOR_V4SI): Likewise.
13193 (VPERMXOR_V8HI): Likewise.
13194 (VPERMXOR_V16QI): Likewise.
13195 (VPMSUM): Change from BU_CRYPTO_OVERLOAD_2 to
13196 BU_CRYPTO_OVERLOAD_2A.
13197 (VPERMXOR): Change from BU_CRYPTO_OVERLOAD3 to
13198 BU_CRYPTO_OVERLOAD_3A.
13199 * config/rs6000/rs6000.opt (mcrypto): Change description of
13200 option.
13201
13202 2015-04-23 Richard Biener <rguenther@suse.de>
13203
13204 * passes.def: Remove copy propagation passes run directly after CCP.
13205 * tree-ssa-ccp.c (get_value_for_expr): Fall back to a COPY for
13206 SSA names.
13207 (ccp_visit_phi_node): Rework to handle first executable edge
13208 specially.
13209
13210 2015-04-23 Matthew Wahab <matthew.wahab@arm.com>
13211
13212 * config/arm/arm.h (LEGITIMIZE_RELOAD_ADDRESS): Remove.
13213 (ARM_LEGITIMIZE_RELOAD_ADDRESS): Remove.
13214 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Remove.
13215 * config/arm/arm.c (arm_legimitimize_reload_address): Remove.
13216 (thumb_legimitimize_reload_address): Remove.
13217 * config/arm/arm-protos.h (arm_legimitimize_reload_address):
13218 Remove.
13219 (thumb_legimitimize_reload_address): Remove.
13220
13221 2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13222
13223 * conditions.h (CC_STATUS_INIT): Gate on #ifndef CC_STATUS_INIT.
13224
13225 2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13226
13227 * config/arm/arm.md (load_multiple): Reject operand 2 greater than
13228 MAX_LDM_STM_OPS.
13229 (store_multiple): Likewise.
13230
13231 2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13232
13233 * config/arm/arm-protos.h (struct tune_params): Add issue_rate field.
13234 * config/arm/arm.c (arm_slowmul_tune, arm_fastmul_tune,
13235 arm_strongarm_tune, arm_xscale_tune, arm_9e_tune, arm_v6t2_tune,
13236 arm_cortex_tune, arm_cortex_a8_tune, arm_cortex_a7_tune,
13237 arm_cortex_a15_tune, arm_cortex_a53_tune, arm_cortex_a57_tune,
13238 arm_cortex_a9_tune, arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune,
13239 arm_fa726te_tune arm_cortex_a5_tune, arm_xgene1_tune):
13240 Specify issue_rate value.
13241 (arm_issue_rate): Look up issue rate from tuning structs. Remove
13242 large switch statement.
13243 (arm_marvell_pj4_tune): New struct.
13244 * config/arm/arm-cores.def (marvell-pj4): Use arm_marvell_pj4_tune
13245 struct.
13246
13247 2015-04-23 Richard Biener <rguenther@suse.de>
13248
13249 * tree-vect-slp.c (vect_find_first_load_in_slp_instance): Remove.
13250 (vect_find_last_store_in_slp_instance): Rename to ...
13251 (vect_find_last_scalar_stmt_in_slp): ... this and generalize.
13252 (vect_analyze_slp_cost_1): Use vector_load for constant defs
13253 and vec_construct for external defs when estimating prologue cost.
13254 (vect_analyze_slp_instance): Do not init SLP_INSTANCE_FIRST_LOAD_STMT.
13255 Compute costs here only when vectorizing loops.
13256 (vect_slp_analyze_bb_1): Compute SLP cost here, after vector types
13257 have been determined.
13258 (vect_schedule_slp_instance): Simplify vectorized code placement
13259 and prepare for in-BB external defs.
13260 * tree-vectorizer.h (struct _slp_instance): Remove first_load member.
13261 (SLP_INSTANCE_FIRST_LOAD_STMT): Remove.
13262 * tree-vect-stmts.c (vect_model_store_cost): Remove PURE_SLP_STMT
13263 guard.
13264 (vect_model_load_cost): Likewise.
13265 (vectorizable_store): Instead add it here.
13266 (vectorizable_load): Likewise.
13267 (vect_is_simple_use): Dump def type textually.
13268
13269 2015-04-23 Richard Biener <rguenther@suse.de>
13270
13271 * cfgexpand.c (expand_gimple_stmt_1): Use ops.code.
13272 * cfgloop.c (verify_loop_structure): Verify the root loop node.
13273 * except.c (duplicate_eh_regions): Call get_eh_region_from_lp_number_fn
13274 instead of get_eh_region_from_lp_number.
13275 * loop-init.c (fix_loop_structure): If we removed a loop, reset
13276 the SCEV cache.
13277
13278 2015-04-23 Anton Blanchard <anton@samba.org>
13279
13280 * config/rs6000/rs6000.c (rs6000_output_function_prologue): No
13281 need for -mprofile-kernel to save LR to stack.
13282
13283 2015-04-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13284
13285 * config/rs6000/rs6000.c (rtx_is_swappable_p): Commentary
13286 adjustments.
13287 (insn_is_swappable_p): Return 1 for a convert from double to
13288 single precision when all of its uses are splats of BE element
13289 zero.
13290
13291 2015-04-23 Kugan Vivekanandarajah <kuganv@linaro.org>
13292
13293 * ira-costs.c (record_operand_costs): Fix typo (remove redundant code).
13294
13295 2015-04-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13296
13297 PR target/65456
13298 * config/rs6000/rs6000.c (rs6000_option_override_internal): For
13299 VSX + POWER8, enable TARGET_ALLOW_MOVMISALIGN and
13300 TARGET_EFFICIENT_UNALIGNED_VSX if not selected by command line
13301 option.
13302 (rs6000_builtin_mask_for_load): Return 0 for targets with
13303 efficient unaligned VSX accesses so that the vectorizer will use
13304 direct unaligned loads.
13305 (rs6000_builtin_support_vector_misalignment): Always return true
13306 for targets with efficient unaligned VSX accesses.
13307 (rs6000_builtin_vectorization_cost): Cost of unaligned loads and
13308 stores on targets with efficient unaligned VSX accesses is almost
13309 always the same as the cost of an aligned load or store, so model
13310 it that way.
13311 * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Return 0 for
13312 unaligned vectors if we have efficient unaligned VSX accesses.
13313 * config/rs6000/rs6000.opt (mefficient-unaligned-vector): New
13314 undocumented option.
13315
13316 2015-04-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13317
13318 Revert:
13319 2015-04-22 Gregor Richards <gregor.richards@uwaterloo.ca>
13320
13321 * config.gcc (LIBC_MUSL): New tm_defines macro.
13322 * config/linux.h (OPTION_MUSL): Define.
13323 (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
13324 (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
13325 (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
13326
13327 * config/linux.opt (mmusl): New option.
13328 * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
13329 (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.
13330
13331 * configure: Regenerate.
13332
13333 2015-04-22 Gregor Richards <gregor.richards@uwaterloo.ca>
13334
13335 * config.gcc (LIBC_MUSL): New tm_defines macro.
13336 * config/linux.h (OPTION_MUSL): Define.
13337 (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
13338 (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
13339 (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
13340
13341 * config/linux.opt (mmusl): New option.
13342 * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
13343 (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.
13344
13345 * configure: Regenerate.
13346
13347 2015-04-22 Yury Gribov <y.gribov@samsung.com>
13348
13349 * doc/invoke.texi (-fsanitize-sections): Update description.
13350 * asan.c (set_sanitized_sections): Parse incoming arg.
13351 (section_sanitized_p): Support wildcards.
13352
13353 2015-04-22 Tom de Vries <tom@codesourcery.com>
13354
13355 PR tree-optimization/65823
13356 * gimplify.c (gimplify_modify_expr): Use operand_equal_p to test for
13357 equality between ap_copy and ap.
13358
13359 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
13360
13361 PR target/47098
13362 * config/openbsd-oldgas.h (OBSD_LIB_SPEC): Add.
13363
13364 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
13365
13366 PR target/47122
13367 * config.gcc (vax-*-openbsd*): Fix name of pthread spec header.
13368
13369 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
13370
13371 PR target/55144
13372 * config.gcc (bfin*-linux-uclibc*): Prepend tmake_file and
13373 remove already contained t-files.
13374
13375 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
13376
13377 * tree-tailcall.c (suitable_for_tail_opt_p, find_tail_calls):
13378 Remove unneeded forward declarations.
13379 (suitable_for_tail_call_opt_p): Commentary typo fix.
13380
13381 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
13382
13383 * varasm.c (emit_bss): Remove redundant guard.
13384
13385 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
13386
13387 * config/c6x/c6x.h (TARGET_CPU_CPP_BUILTINS): Add unk_isa.
13388
13389 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
13390
13391 * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Add BFIN_CPU_UNKNOWN.
13392
13393 2015-04-22 Hale Wang <hale.wang@arm.com>
13394 Terry Guo <terry.guo@arm.com>
13395
13396 PR rtl-optimization/64818
13397 * combine.c (can_combine_p): Don't combine user-specified
13398 register if it is in an asm input.
13399
13400 2015-04-21 Jan Hubicka <hubicka@ucw.cz>
13401
13402 PR ipa/65076
13403 * passes.def (early_optimizations): Add pass_dse.
13404
13405 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
13406
13407 * defaults.h (INSN_REFERENCES_ARE_DELAYED): New definition.
13408 * reorg.c (redundant_insn): Remove ifdef
13409 INSN_REFERENCES_ARE_DELAYED.
13410 * resource.c (mark_referenced_resources): Likewise.
13411
13412 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
13413
13414 * defaults.h (INSN_SETS_ARE_DELAYED): New definition.
13415 * reorg.c (redundant_insn): Remove ifdef INSN_SETS_ARE_DELAYED.
13416 * resource.c (mark_set_resources): Likewise.
13417
13418 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
13419
13420 * caller-save.c (insert_one_insn): Remove ifdef HAVE_cc0.
13421 * cfgcleanup.c (flow_find_cross_jump): Likewise.
13422 (flow_find_head_matching_sequence): Likewise.
13423 (try_head_merge_bb): Likewise.
13424 * combine.c (can_combine_p): Likewise.
13425 (try_combine): Likewise.
13426 (distribute_notes): Likewise.
13427 * df-problems.c (can_move_insns_across): Likewise.
13428 * final.c (final): Likewise.
13429 * gcse.c (insert_insn_end_basic_block): Likewise.
13430 * ira.c (find_moveable_pseudos): Likewise.
13431 * reorg.c (try_merge_delay_insns): Likewise.
13432 (fill_simple_delay_slots): Likewise.
13433 (fill_slots_from_thread): Likewise.
13434 * sched-deps.c (sched_analyze_2): Likewise.
13435
13436 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
13437
13438 * df-scan.c (df_get_entry_block_def_set): Remove #ifdef
13439 PIC_OFFSET_TABLE_REGNUM.
13440
13441 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
13442
13443 * alias.c (init_alias_target): Remove ifdef
13444 * HARD_FRAME_POINTER_IS_FRAME_POINTER.
13445 * df-scan.c (df_insn_refs_collect): Likewise.
13446 (df_get_regular_block_artificial_uses): Likewise.
13447 (df_get_eh_block_artificial_uses): Likewise.
13448 (df_get_entry_block_def_set): Likewise.
13449 (df_get_exit_block_use_set): Likewise.
13450 * emit-rtl.c (gen_rtx_REG): Likewise.
13451 * ira.c (ira_setup_eliminable_regset): Likewise.
13452 * reginfo.c (init_reg_sets_1): Likewise.
13453 * regrename.c (rename_chains): Likewise.
13454 * reload1.c (reload): Likewise.
13455 (eliminate_regs_in_insn): Likewise.
13456 * resource.c (mark_referenced_resources): Likewise.
13457 (init_resource_info): Likewise.
13458
13459 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
13460
13461 * defaults.h (MASK_RETURN_ADDR): New definition.
13462 * except.c (expand_builtin_extract_return_addr): Remove ifdef
13463 MASK_RETURN_ADDR.
13464
13465 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
13466
13467 * defaults.h (RETURN_ADDR_OFFSET): New definition.
13468 * except.c (expand_builtin_extract_return_addr): Remove ifdef
13469 RETURN_ADDR_OFFSET.
13470 (expand_builtin_frob_return_addr): Likewise.
13471
13472 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
13473
13474 * cfgrtl.c (rtl_merge_blocks): Change #if HAVE_cc0 to if (HAVE_cc0)
13475 (try_redirect_by_replacing_jump): Likewise.
13476 (rtl_tidy_fallthru_edge): Likewise.
13477 * combine.c (insn_a_feeds_b): Likewise.
13478 (find_split_point): Likewise.
13479 (simplify_set): Likewise.
13480 * cprop.c (cprop_jump): Likewise.
13481 * cse.c (cse_extended_basic_block): Likewise.
13482 * df-problems.c (can_move_insns_across): Likewise.
13483 * function.c (emit_use_return_register_into_block): Likewise.
13484 * haifa-sched.c (sched_init): Likewise.
13485 * ira.c (find_moveable_pseudos): Likewise.
13486 * loop-invariant.c (find_invariant_insn): Likewise.
13487 * lra-constraints.c (curr_insn_transform): Likewise.
13488 * postreload.c (reload_combine_recognize_const_pattern):
13489 * Likewise.
13490 * reload.c (find_reloads): Likewise.
13491 * reorg.c (delete_scheduled_jump): Likewise.
13492 (steal_delay_list_from_target): Likewise.
13493 (steal_delay_list_from_fallthrough): Likewise.
13494 (redundant_insn): Likewise.
13495 (fill_simple_delay_slots): Likewise.
13496 (fill_slots_from_thread): Likewise.
13497 (delete_computation): Likewise.
13498 * sched-rgn.c (add_branch_dependences): Likewise.
13499
13500 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
13501
13502 * genconfig.c (main): Always define HAVE_cc0.
13503 * caller-save.c (insert_one_insn): Change ifdef HAVE_cc0 to #if
13504 HAVE_cc0.
13505 * cfgcleanup.c (flow_find_cross_jump): Likewise.
13506 (flow_find_head_matching_sequence): Likewise.
13507 (try_head_merge_bb): Likewise.
13508 * cfgrtl.c (rtl_merge_blocks): Likewise.
13509 (try_redirect_by_replacing_jump): Likewise.
13510 (rtl_tidy_fallthru_edge): Likewise.
13511 * combine.c (do_SUBST_MODE): Likewise.
13512 (insn_a_feeds_b): Likewise.
13513 (combine_instructions): Likewise.
13514 (can_combine_p): Likewise.
13515 (try_combine): Likewise.
13516 (find_split_point): Likewise.
13517 (subst): Likewise.
13518 (simplify_set): Likewise.
13519 (distribute_notes): Likewise.
13520 * cprop.c (cprop_jump): Likewise.
13521 * cse.c (cse_extended_basic_block): Likewise.
13522 * df-problems.c (can_move_insns_across): Likewise.
13523 * final.c (final): Likewise.
13524 (final_scan_insn): Likewise.
13525 * function.c (emit_use_return_register_into_block): Likewise.
13526 * gcse.c (insert_insn_end_basic_block): Likewise.
13527 * haifa-sched.c (sched_init): Likewise.
13528 * ira.c (find_moveable_pseudos): Likewise.
13529 * loop-invariant.c (find_invariant_insn): Likewise.
13530 * lra-constraints.c (curr_insn_transform): Likewise.
13531 * optabs.c (prepare_cmp_insn): Likewise.
13532 * postreload.c (reload_combine_recognize_const_pattern):
13533 * Likewise.
13534 * reload.c (find_reloads): Likewise.
13535 (find_reloads_address_1): Likewise.
13536 * reorg.c (delete_scheduled_jump): Likewise.
13537 (steal_delay_list_from_target): Likewise.
13538 (steal_delay_list_from_fallthrough): Likewise.
13539 (try_merge_delay_insns): Likewise.
13540 (redundant_insn): Likewise.
13541 (fill_simple_delay_slots): Likewise.
13542 (fill_slots_from_thread): Likewise.
13543 (delete_computation): Likewise.
13544 (relax_delay_slots): Likewise.
13545 * sched-deps.c (sched_analyze_2): Likewise.
13546 * sched-rgn.c (add_branch_dependences): Likewise.
13547
13548 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
13549
13550 * combine.c (find_single_use): Remove HAVE_cc0 ifdef for code
13551 that is trivially ded on non cc0 targets.
13552 (simplify_set): Likewise.
13553 (mark_used_regs_combine): Likewise.
13554 * cse.c (new_basic_block): Likewise.
13555 (fold_rtx): Likewise.
13556 (cse_insn): Likewise.
13557 (cse_extended_basic_block): Likewise.
13558 (set_live_p): Likewise.
13559 * rtlanal.c (canonicalize_condition): Likewise.
13560 * simplify-rtx.c (simplify_binary_operation_1): Likewise.
13561
13562 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
13563
13564 * conditions.h: Define macros even if HAVE_cc0 is undefined.
13565 * emit-rtl.c: Define functions even if HAVE_cc0 is undefined.
13566 * final.c: Likewise.
13567 * jump.c: Likewise.
13568 * recog.c: Likewise.
13569 * recog.h: Declare functions even when HAVE_cc0 is undefined.
13570 * sched-deps.c (sched_analyze_2): Always compile case for cc0.
13571
13572 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
13573
13574 * defaults.h: New definition of EH_RETURN_DATA_REGNO.
13575 * except.c: Remove definition of EH_RETURN_DATA_REGNO.
13576 * builtins.c (expand_builtin): Remove check if
13577 EH_RETURN_DATA_REGNO is defined.
13578 * df-scan.c (df_bb_refs_collect): Likewise.
13579 (df_get_exit_block_use_set): Likewise.
13580 * haifa-sched.c (initiate_bb_reg_pressure_info): Likewise.
13581 * ira-lives.c (process_bb_node_lives): Likewise.
13582 * lra-lives.c (process_bb_lives): Likewise.
13583
13584 2015-04-21 Uros Bizjak <ubizjak@gmail.com>
13585
13586 * config/i386/i386.md (ARGP_REG, FRAME_REG, BND2_REG, BND3_REG,
13587 FIRST_PSEUDO_REG): New.
13588 * config/i386/i386.h (STACK_POINTER_REGNUM): Define to SP_REG.
13589 (ARG_POINTER_REGNUM): Define to ARGP_REG.
13590 (FRAME_POINTER_REGNUM): Define to FRAME_REG.
13591 (HARD_FRAME_POINTER_REGNUM): Define to BP_REG.
13592 (FIRST_PSEUDO_REGISTER): Define to FIRST_PSEUDO_REG.
13593 (FIRST_INT_REG): New.
13594 (LAST_INT_REG): New.
13595 (FIRST_*_REG): Define using *_REG.
13596 (LAST_*_REG): Ditto.
13597 (QI_REGNO_P): Define using FIRST_QU_REG and LAST_QI_REG.
13598 (LEGACY_INT_REGNO_P): Define using FIRST_INT_REG and LAST_INT_REG.
13599 (FIRST_FLOAT_REG): Define to FIRST_STACK_REG.
13600
13601 2015-04-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13602
13603 * expmed.c: (synth_mult): Only assume overlapping
13604 shift with previous steps in alg_sub_t_m2 case.
13605
13606 2015-04-21 Richard Biener <rguenther@suse.de>
13607
13608 PR tree-optimization/65650
13609 * tree-ssa-ccp.c (valid_lattice_transition): Allow lattice
13610 transitions involving copies.
13611 (set_lattice_value): Adjust for copy lattice state.
13612 (ccp_lattice_meet): Do not merge UNDEFINED and a copy to the copy
13613 if that doesn't dominate the merge point.
13614 (bit_value_unop): Adjust what we treat as varying mask.
13615 (bit_value_binop): Likewise.
13616 (bit_value_assume_aligned): Likewise.
13617 (evaluate_stmt): When we simplified to a SSA name record a copy
13618 instead of dropping to varying.
13619 (visit_assignment): Simplify.
13620
13621 * gimple-match.h (gimple_simplify): Add another callback.
13622 * gimple-fold.c (fold_stmt_1): Adjust caller.
13623 (gimple_fold_stmt_to_constant_1): Likewise - pass valueize
13624 for the 2nd callback.
13625 * gimple-match-head.c (gimple_simplify): Add a callback that is
13626 used to valueize the stmt operands and use it that way.
13627
13628 2015-04-21 Richard Biener <rguenther@suse.de>
13629
13630 PR tree-optimization/65788
13631 * tree-ssa-ccp.c (evaluate_stmt): Evaluate to UNDEFINED early.
13632
13633 2015-04-21 Richard Biener <rguenther@suse.de>
13634
13635 * config/i386/i386.c (ix86_builtin_vectorization_cost): Scale
13636 vec_construct cost by vec_stmt_cost.
13637
13638 2015-04-21 Richard Biener <rguenther@suse.de>
13639
13640 * cfghooks.h (create_basic_block): Replace with two overloads
13641 for RTL and GIMPLE.
13642 (split_block): Likewise.
13643 * cfghooks.c (split_block): Rename to ...
13644 (split_block_1): ... this.
13645 (split_block): Add two type-safe overloads for RTL and GIMPLE.
13646 (split_block_after_labels): Call split_block_1.
13647 (create_basic_block): Rename to ...
13648 (create_basic_block_1): ... this.
13649 (create_basic_block): Add two type-safe overloads for RTL and GIMPLE.
13650 (create_empty_bb): Call create_basic_block_1.
13651 * cfgrtl.c (fixup_fallthru_exit_predecessor): Use
13652 split_block_after_labels.
13653 * omp-low.c (expand_parallel_call): Likewise.
13654 (expand_omp_target): Likewise.
13655 (simd_clone_adjust): Likewise.
13656 * tree-chkp.c (chkp_get_entry_block): Likewise.
13657 * cgraphunit.c (init_lowered_empty_function): Use the GIMPLE
13658 create_basic_block overload.
13659 (cgraph_node::expand_thunk): Likewise.
13660 * tree-cfg.c (make_blocks): Likewise.
13661 (handle_abnormal_edges): Likewise.
13662 * tree-inline.c (copy_bb): Likewise.
13663
13664 2015-04-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13665
13666 * config/aarch64/aarch64.md (*<NLOGICAL:optab>_one_cmplsidi3_ze):
13667 New pattern.
13668 (*xor_one_cmplsidi3_ze): Likewise.
13669
13670 2015-04-21 Thomas Preud'homme <thomas.preudhomme@arm.com>
13671
13672 * df-core.c (df_finish_pass): Iterate over df->problems_by_index[] and
13673 use df_remove_problem rather than manually removing problems, leaving
13674 holes in df->problems_in_order[].
13675
13676 2015-04-21 Tom de Vries <tom@codesourcery.com>
13677
13678 PR tree-optimization/65802
13679 * internal-fn.def (VA_ARG): Add ECF_NOTROW to flags.
13680
13681 2015-04-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13682
13683 * common/config/aarch64/aarch64-common.c (AARCH64_CPU_NAME_LENGTH):
13684 Increase to 128.
13685 (aarch64_rewrite_selected_cpu): Do not chop off extensions starting
13686 at '.'. Assert that there's enough space for everything.
13687
13688 2015-04-21 Uros Bizjak <ubizjak@gmail.com>
13689
13690 PR tree-optimization/64950
13691 Revert:
13692 2010-08-02 Uros Bizjak <ubizjak@gmail.com>
13693
13694 PR target/41089
13695 * config/alpha/alpha.c (alpha_build_builtin_va_list): Mark __offset
13696 as volatile.
13697
13698 2015-04-20 Shiva Chen <shiva0217@gmail.com>
13699
13700 PR rtl-optimization/64916
13701 * cfgcleanup.c (values_equal_p): New function.
13702 (can_replace_by): Use it.
13703
13704 2015-04-20 Paolo Carlini <paolo.carlini@oracle.com>
13705
13706 PR c++/65801
13707 * doc/invoke.texi ([-Wnarrowing]): Update.
13708
13709 2015-04-20 Jeff Law <law@redhat.com>
13710
13711 PR tree-optimization/65658
13712 * tree-ssa-threadupdate.c (redirection_block_p): Remove
13713 redundant test for GIMPLE_ASSIGN in last change.
13714
13715 2015-04-20 Uros Bizjak <ubizjak@gmail.com>
13716
13717 * config/i386/i386.c (set_pic_reg_ever_live): Remove.
13718 (legitimize_pic_address): Do not call set_pic_reg_ever_live.
13719 (legitimize_tls_address): Ditto.
13720 (ix86_expand_move): Ditto.
13721 (ix86_expand_binary_operator): Remove reload_in_progress checks.
13722 (ix86_expand_unary_operator): Ditto.
13723 * config/i386/predicates.md (index_register_operand): Ditto.
13724
13725 2015-04-20 Selim Belbachir <selim.belbachir@fr.thalesgroup.com>
13726
13727 * reorg.c (try_merge_delay_insns): Improve correctness checking
13728 for targets with multiple delay slots.
13729
13730 2015-04-20 Jeff Law <law@redhat.com>
13731
13732 PR tree-optimization/65658
13733 * tree-ssa-threadupdate.c (redirection_block_p): Ignore clobber
13734 statements too.
13735
13736 2015-04-20 Alan Lawrence <alan.lawrence@arm.com>
13737
13738 * config/aarch64/aarch64.c (aarch64_simd_emit_pair_result_insn): Delete.
13739 * config/aarch64/aarch64-protos.h (aarch64_simd_emit_pair_result_insn):
13740 Delete.
13741
13742 2015-04-20 Jakub Jelinek <jakub@redhat.com>
13743
13744 PR debug/65807
13745 * dwarf2out.c (add_AT_wide): Clear attr.dw_attr_val.val_entry.
13746
13747 2015-04-20 Richard Biener <rguenther@suse.de>
13748
13749 * gimple-fold.h (gimple_build): Remove optional valueize arguments.
13750 * gimple-fold.c (gimple_build_valueize): New function.
13751 (gimple_build): Always use gimple_build_valueize as valueize hook.
13752
13753 2015-04-20 Alan Lawrence <alan.lawrence@arm.com>
13754
13755 PR target/64134
13756 * config/aarch64/aarch64.c (aarch64_expand_vector_init): Load constant
13757 and overwrite variable parts if <= 1/2 the elements are variable.
13758
13759 2015-04-19 Vladimir Makarov <vmakarov@redhat.com>
13760
13761 PR rtl-optimization/65805
13762 * lra-eliminations.c (lra_eliminate_regs_1): Add new assert.
13763 Don't use difference of offset and previous offset if
13764 update_sp_offset is non-zero.
13765 (eliminate_regs_in_insn): Ditto.
13766 * lra-spills.c (remove_pseudos): Exchange 4th and 6th args in
13767 lra_eliminate_regs_1 call.
13768 * lra-constraints.c (get_equiv_with_elimination): Ditto.
13769
13770 2015-04-18 Trevor Saunders <tsaunders@mozilla.com>
13771
13772 * hash-table.h: Remove version of hash_table that stored value_type *.
13773 * asan.c, attribs.c, bitmap.c, cfg.c, cgraph.h, config/arm/arm.c,
13774 config/i386/winnt.c, config/ia64/ia64.c, config/mips/mips.c,
13775 config/sol2.c, coverage.c, cselib.c, dse.c, dwarf2cfi.c,
13776 dwarf2out.c, except.c, gcse.c, genmatch.c, ggc-common.c,
13777 gimple-ssa-strength-reduction.c, gimplify.c, haifa-sched.c,
13778 hard-reg-set.h, hash-map.h, hash-set.h, ipa-devirt.c, ipa-icf.h,
13779 ipa-profile.c, ira-color.c, ira-costs.c, loop-invariant.c,
13780 loop-iv.c, loop-unroll.c, lto-streamer.h, plugin.c, postreload-gcse.c,
13781 reginfo.c, statistics.c, store-motion.c, trans-mem.c, tree-cfg.c,
13782 tree-eh.c, tree-hasher.h, tree-into-ssa.c, tree-parloops.c,
13783 tree-sra.c, tree-ssa-coalesce.c, tree-ssa-dom.c, tree-ssa-live.c,
13784 tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-phiopt.c,
13785 tree-ssa-pre.c, tree-ssa-reassoc.c, tree-ssa-sccvn.c,
13786 tree-ssa-structalias.c, tree-ssa-tail-merge.c,
13787 tree-ssa-threadupdate.c, tree-vectorizer.c, tree-vectorizer.h,
13788 valtrack.h, var-tracking.c, vtable-verify.c, vtable-verify.h: Adjust.
13789
13790 2015-04-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13791 Jakub Jelinek <jakub@redhat.com>
13792
13793 PR target/65787
13794 * config/rs6000/rs6000.c (rtx_is_swappable_p): Ensure that a
13795 subsequent SH_NONE operand does not overwrite an existing *special
13796 value.
13797 (adjust_extract): Handle case where a vec_extract operation is
13798 wrapped in a PARALLEL.
13799
13800 2015-04-17 H.J. Lu <hongjiu.lu@intel.com>
13801
13802 PR target/65780
13803 * config/i386/i386.c (ix86_binds_local_p): Define only if
13804 TARGET_MACHO and TARGET_DLLIMPORT_DECL_ATTRIBUTES are false.
13805
13806 2015-04-17 Jeff Law <law@redhat.com>
13807
13808 PR tree-optimization/47679
13809 * Makefile.in (OBJS); Add tree-ssa-scopedtables.o.
13810 * tree-ssa-scopedtables.c: New file.
13811 * tree-ssa-scopedtables.h: New file.
13812 * tree-ssa-dom.c: Include tree-ssa-scopedtables.h.
13813 (const_and_copies): Change name/type.
13814 (record_const_or_copy): Move into tree-ssa-scopedtables.c
13815 (record_const_or_copy_1): Similarly.
13816 (restore_vars_to_original_value): Similarly.
13817 (pass_dominator::execute): Create and destroy const_and_copies table.
13818 (thread_across_edge): Update passing of const_and_copies.
13819 (record_temporary_equivalence): Use method calls rather than
13820 manipulating const_and_copies directly.
13821 (record_equality, cprop_into_successor_phis): Similarly.
13822 (dom_opt_dom_walker::before_dom_children): Similarly.
13823 (dom_opt_dom_walker::after_dom_children): Similarly.
13824 (eliminate_redundant_computations): Similarly.
13825 * tree-ssa-threadedge.c (remove_temporary_equivalences): Delete.
13826 (record_temporary_equivalence): Likewise.
13827 (invalidate_equivalences): Likewise.
13828 (record_temporary_equivalences_from_phis): Update due to type
13829 change of const_and_copies. Use method calls rather than
13830 manipulating the stack directly.
13831 (record_temporary_equivalences_from_stmts_at_dest): Likewise.
13832 (thread_through_normal_block, thread_across_edge): Likewise.
13833 (thread_across_edge): Likewise.
13834 * tree-ssa-threadedge.h (thread_across_edge): Update prototype.
13835 * tree-vrp.c: Include tree-ssa-scopedtables.h. Change type
13836 of equiv_stack.
13837 (identify_jump_threads): Update due to type change of equiv_stack.
13838 (finalize_jump_threads): Delete the equiv_stack when complete.
13839
13840 2015-04-17 Uros Bizjak <ubizjak@gmail.com>
13841
13842 * config/i386/i386.h (LEGITIMIZE_RELOAD_ADDRESS): Remove.
13843 * config/i386/i386.c (ix86_legitimize_reload_address): Ditto.
13844 * config/i386/i386-protos.h (ix86_legitimize_reload_address): Ditto.
13845
13846 2015-04-17 Andreas Tobler <andreast@gcc.gnu.org>
13847
13848 PR target/65535
13849 * config.gcc: Exit with a comment when we do not have a major version
13850 number for the FreeBSD target.
13851
13852 2015-04-17 Jakub Jelinek <jakub@redhat.com>
13853
13854 PR target/65689
13855 * genpreds.c (struct constraint_data): Add maybe_allows_reg and
13856 maybe_allows_mem bitfields.
13857 (maybe_allows_none_start, maybe_allows_none_end,
13858 maybe_allows_reg_start, maybe_allows_reg_end, maybe_allows_mem_start,
13859 maybe_allows_mem_end): New variables.
13860 (compute_maybe_allows): New function.
13861 (add_constraint): Use it to initialize maybe_allows_reg and
13862 maybe_allows_mem fields.
13863 (choose_enum_order): Sort the non-is_register/is_const_int/is_memory/
13864 is_address constraints such that those that allow neither mem nor
13865 reg come first, then those that only allow reg but not mem, then
13866 those that only allow mem but not reg, then the rest.
13867 (write_allows_reg_mem_function): New function.
13868 (write_tm_preds_h): Call it.
13869 * stmt.c (parse_output_constraint, parse_input_constraint): Use
13870 the generated insn_extra_constraint_allows_reg_mem function
13871 instead of always setting *allows_reg = true; *allows_mem = true;
13872 for unknown extra constraints.
13873
13874 2015-04-17 H.J. Lu <hongjiu.lu@intel.com>
13875
13876 PR target/65780
13877 * output.h (default_binds_local_p_3): New.
13878 * varasm.c (default_binds_local_p_3): Make it public. Take an
13879 argument to indicate if common symbol may be local. If common
13880 symbol may be local, treat non-external variable as defined
13881 locally.
13882 (default_binds_local_p_2): Pass !flag_pic to default_binds_local_p_3.
13883 (default_binds_local_p_1): Pass false to default_binds_local_p_3.
13884 * config/i386/i386.c (ix86_binds_local_p): New.
13885 (TARGET_BINDS_LOCAL_P): Replace default_binds_local_p_2 with
13886 ix86_binds_local_p.
13887
13888 2015-04-17 Jakub Jelinek <jakub@redhat.com>
13889
13890 PR debug/65771
13891 * dwarf2out.c (mem_loc_descriptor): For CONST, fallback to
13892 trying mem_loc_descriptor on XEXP (rtl, 0).
13893
13894 2015-04-17 Martin Liska <mliska@suse.cz>
13895
13896 * ipa-icf.c (sem_item_optimizer::subdivide_classes_by_sensitive_refs):
13897 Release symbol_compare_collection.
13898 * ipa-reference.c: Add TODO that a vector should be released.
13899
13900 2015-04-17 Sivanupandi Pitchumani <Pitchumani.Sivanupandi@atmel.com>
13901
13902 PR target/65296
13903 * config/avr/gen-avr-mmcu-specs.c (*avrlibc_startfile): Adjust
13904 to new AVR-LibC file layout (bug #44574).
13905 (*avrlibc_devicelib): Same.
13906 * config/avr/avr-mcus.def: Adjust comments.
13907 * config/avr/avr.opt (nodevicelib): Adjust help.
13908
13909 2015-04-17 Alan Lawrence <alan.lawrence@arm.com>
13910
13911 * config/aarch64/arm_neon.h (vdup_n_f32): Remove forward declaration.
13912
13913 2015-04-17 Patrick Palka <ppalka@gcc.gnu.org>
13914
13915 PR c++/64527
13916 * gimplify.c (gimplify_init_constructor): Always emit a
13917 side-effecting constructor.
13918
13919 2015-04-17 Tom de Vries <tom@codesourcery.com>
13920
13921 PR tree-optimization/64950
13922 * gimplify.c (gimplify_function_tree): Tentatively set PROP_gimple_lva
13923 in cfun->curr_properties.
13924 (gimplify_va_arg_expr): Clear PROP_gimple_lva in cfun->curr_properties
13925 if we generate an IFN_VA_ARG.
13926 * tree-inline.c (expand_call_inline): Reset PROP_gimple_lva in dest
13927 function if PROP_gimple_lva is not set in src function.
13928
13929 2015-04-17 Tom de Vries <tom@codesourcery.com>
13930 Michael Matz <matz@suse.de>
13931
13932 PR tree-optimization/64950
13933 * gimple-iterator.c (update_modified_stmts): Remove static.
13934 * gimple-iterator.h (update_modified_stmts): Declare.
13935 * gimplify.c (gimplify_modify_expr): Handle IFN_VA_ARG.
13936 (gimplify_va_arg_internal): New function.
13937 (gimplify_va_arg_expr): Use IFN_VA_ARG.
13938 * gimplify.h (gimplify_va_arg_internal): Declare.
13939 * internal-fn.c (expand_VA_ARG): New unreachable function.
13940 * internal-fn.def (VA_ARG): New DEF_INTERNAL_FN.
13941 * tree-stdarg.c (gimple_call_ifn_va_arg_p, expand_ifn_va_arg_1)
13942 (expand_ifn_va_arg): New function.
13943 (pass_data_stdarg): Add PROP_gimple_lva to properties_provided field.
13944 (pass_stdarg::execute): Call expand_ifn_va_arg.
13945 (pass_data_lower_vaarg): New pass_data.
13946 (pass_lower_vaarg): New gimple_opt_pass.
13947 (pass_lower_vaarg::gate, pass_lower_vaarg::execute)
13948 (make_pass_lower_vaarg): New function.
13949 * cfgexpand.c (pass_data_expand): Add PROP_gimple_lva to
13950 properties_required field.
13951 * passes.def (all_passes): Add pass_lower_vaarg.
13952 * tree-pass.h (PROP_gimple_lva): Add define.
13953 (make_pass_lower_vaarg): Declare.
13954
13955 2015-04-17 Tom de Vries <tom@codesourcery.com>
13956
13957 * fold-const.c (operand_equal_p): Handle INTERNAL_FNs.
13958 * calls.c (call_expr_flags): Same.
13959
13960 2015-04-17 Tom de Vries <tom@codesourcery.com>
13961
13962 * tree-stdarg.c (optimize_va_list_gpr_fpr_size): Factor out of ...
13963 (pass_stdarg::execute): ... here.
13964
13965 2015-04-17 Tom de Vries <tom@codesourcery.com>
13966 Michael Matz <matz@suse.de>
13967
13968 * tree-cfg.c (make_blocks_1): Factor out of ...
13969 (make_blocks): ... here.
13970 (make_edges_bb): Factor out of ...
13971 (make_edges): ... here.
13972 (gimple_find_sub_bbs): New function.
13973 * tree-cfg.h (gimple_find_sub_bbs): Declare.
13974
13975 2015-04-17 Tom de Vries <tom@codesourcery.com>
13976
13977 * tree.c (free_lang_data): Disable lang_hooks.gimplify_expr.
13978
13979 2015-04-17 Yury Gribov <y.gribov@samsung.com>
13980
13981 * asan.c (set_sanitized_sections): New function.
13982 (section_sanitized_p): Ditto.
13983 (asan_protect_global): Optionally sanitize user-defined
13984 sections.
13985 * asan.h (set_sanitized_sections): Declare new function.
13986 * common.opt (fsanitize-sections): New option.
13987 * doc/invoke.texi (-fsanitize-sections): Document new option.
13988 * opts-global.c (handle_common_deferred_options): Handle new
13989 option.
13990
13991 2015-04-17 Jakub Jelinek <jakub@redhat.com>
13992
13993 PR debug/65771
13994 * dwarf2out.c (loc_list_from_tree): Return NULL
13995 for DEBUG_EXPR_DECL.
13996
13997 2015-04-17 Christian Bruel <christian.bruel@st.com>
13998
13999 * ipa-inline.c (can_inline_edge_p): Allow inlining of functions with
14000 same attributes.
14001
14002 2015-04-16 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
14003
14004 * ira-color.c (setup_left_conflict_sizes_p): Do not process
14005 node itself when computing left conflict subnode size.
14006
14007 2015-04-16 Uros Bizjak <ubizjak@gmail.com>
14008
14009 * config/i386/predicates.md (register_mixssei387nonimm_operand): New.
14010 * config/i386/i386.md (*fop_<mode>_1_mixed): Merge with
14011 *fop_<mode>_1_sse using enabled attribute. Use
14012 register_mixssei387nonimm_operand operand 1 predicate. Change
14013 alternative 3 constraints from "x" to "v".
14014
14015 2015-04-16 Richard Biener <rguenther@suse.de>
14016
14017 PR tree-optimization/65774
14018 * tree-ssa-ccp.c (evaluate_stmt): Constrain types we invoke
14019 bit-value tracking on.
14020
14021 2015-04-16 Richard Biener <rguenther@suse.de>
14022
14023 PR tree-optimization/64277
14024 * tree-vrp.c (check_array_ref): Fix anti-range handling,
14025 simplify upper bound handling.
14026 (search_for_addr_array): Simplify.
14027 (check_array_bounds): Handle ADDR_EXPRs here.
14028 (check_all_array_refs): Simplify.
14029
14030 2015-04-16 Uros Bizjak <ubizjak@gmail.com>
14031
14032 * config/i386/i386.c (print_reg): Rewrite function.
14033
14034 2015-04-16 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
14035
14036 * config/s390/s390.h (IRA_HARD_REGNO_ADD_COST_MULTIPLIER):
14037 Invert the condition.
14038
14039 2015-04-16 Renlin Li <renlin.li@arm.com>
14040
14041 * simplify-rtx.c (simplify_unary_operation_1): Fix a typo. Enable two
14042 simplifications for UNSIGNED_FLOAT.
14043
14044 2015-04-16 Nick Clifton <nickc@redhat.com>
14045
14046 * config/rl78/rl78-opts.h (enum rl78_mul_types): Add MUL_G14 and
14047 MUL_UNINIT.
14048 (enum rl78_cpu_type): New.
14049 * config/rl78/rl78-virt.md (attr valloc): Add divhi and divsi.
14050 (umulhi3_shift_virt): Remove m constraint from operand 1.
14051 (umulqihi3_virt): Likewise.
14052 * config/rl78/rl78.c (rl78_option_override): Add code to process
14053 -mcpu and -mmul options.
14054 (rl78_alloc_physical_registers): Add code to handle divhi and
14055 divsi valloc attributes.
14056 (set_origin): Likewise.
14057 * config/rl78/rl78.h (RL78_MUL_G14): Define.
14058 (TARGET_G10, TARGET_G13, TARGET_G14): Define.
14059 (TARGET_CPU_CPP_BUILTINS): Define __RL78_MUL_xxx__ and
14060 __RL78_Gxx__.
14061 (ASM_SPEC): Pass -mcpu on to assembler.
14062 * config/rl78/rl78.md (mulqi3): Add a clobber of AX.
14063 (mulqi3_rl78): Likewise.
14064 (mulhi3_g13): Likewise.
14065 (mulhi3): Generate the G13 or G14 versions of the insn directly.
14066 (mulsi3): Likewise.
14067 (mulhi3_g14): Add clobbers of AX and BC.
14068 (mulsi3_g14): Likewise.
14069 (mulsi3_g13): Likewise.
14070 (udivmodhi4, udivmodhi4_g14, udivmodsi4): New patterns.
14071 (udivmodsi4_g14, udivmodsi4_g13): New patterns.
14072 * config/rl78/rl78.opt (mmul): Initialise value to
14073 RL78_MUL_UNINIT.
14074 (mcpu): New option.
14075 (m13, m14, mrl78): New option aliases.
14076 * config/rl78/t-rl78 (MULTILIB_OPTIONS): Add mg13 and mg14.
14077 (MULTILIB_DIRNAMES): Add g13 and g14.
14078 * doc/invoke.texi: Document -mcpu and -mmul options.
14079
14080 2015-04-16 Richard Biener <rguenther@suse.de>
14081
14082 * tree-ssa-ccp.c (likely_value): See if we have operands that
14083 are marked as never simulate again and return CONSTANT in this
14084 case.
14085 * tree-ssa-propagate.c (simulate_stmt): Mark stmts that do
14086 not have any operands that will be simulated again as
14087 not being simulated again.
14088
14089 2015-04-15 Uros Bizjak <ubizjak@gmail.com>
14090
14091 * config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>_mixed):
14092 Merge with *cmpi<FPCMP:unord><MODEF:mode>_sse using enabled attribute.
14093 (*extendsfdf2_mixed): Merge with *extendsfdf2_sse using enabled
14094 attribute.
14095 (*truncdfsf_fast_mixed): Merge with *truncdfsf_fast_sse using
14096 enabled attribute.
14097 (*float<SWI48:mode><MODEF:mode>2_mixed): Rename from
14098 *float<SWI48:mode><MODEF:mode>2_sse.
14099 (*absneg<mode>2_mixed): Merge with *absneg<mode>2_sse using
14100 enabled attribute.
14101 (*fop_<mode>_comm_mixed): Merge with *fop_<mode>_comm_sse using
14102 enabled attribute.
14103
14104 2015-04-15 Tom de Vries <tom@codesourcery.com>
14105
14106 PR other/65487
14107 * function.c (push_dummy_function): New function.
14108 (init_dummy_function_start): Use push_dummy_function.
14109 (pop_dummy_function): New function. Factored out of ...
14110 (expand_dummy_function_end): ... here.
14111 * function.h (push_dummy_function, pop_dummy_function): Declare.
14112 * passes.c (pass_manager::dump_passes): Use push_dummy_function and
14113 pop_dummy_function.
14114 * tree-chkp.c (chkp_gate): Handle cgraph_node::get (cfun->decl) == NULL.
14115
14116 2015-04-15 Jeff Law <law@redhat.com>
14117
14118 PR tree-optimization/47679
14119 * tree-ssa-dom.c (build_and_record_new_cond): Moved to avoid
14120 need for forward declaration in upcoming changes.
14121 (record_conditions, record_edge_info): Likewise.
14122
14123 PR rtl-optimization/42522
14124 * cse.c (fold_rtx): Try to simplify a ZERO_EXTRACT or
14125 SIGN_EXTRACT as a whole object rather than simplifying
14126 its operand.
14127
14128 2015-04-15 Jakub Jelinek <jakub@redhat.com>
14129
14130 PR ipa/65765
14131 * ipa-icf-gimple.c (func_checker::compare_bb): For GIMPLE_NOP
14132 and GIMPLE_PREDICT use break instead of return true. For
14133 GIMPLE_EH_DISPATCH, compare dispatch region.
14134
14135 2015-04-14 Matthew Wahab <matthew.wahab@arm.com>
14136
14137 * doc/extend.texi (__sync Builtins): Simplify some text. Update
14138 details about the implementation. Make clear preference for
14139 __atomic builtins. Reduce possibility of future change.
14140
14141 2015-04-15 Nick Clifton <nickc@redhat.com>
14142
14143 * config/rx/rx.opt (mallow-string-insns): New option.
14144 * config/rx/rx.c (RX_BUILTIN_RMPA): Disable the use of this
14145 builtin if string instructions are denied.
14146 * config/rx/rx.h (TARGET_CPU_CPP_BUILTINS): Define
14147 __RX_ALLOW_STRING_INSNS__ or __RX_DISALLOW_STRING_INSNS__, as
14148 appropriate.
14149 (ASM_SPEC): Pass -mno-allow-string-insns on to the assembler.
14150 * config/rx/rx.md (movstr): Enable pattern only if string
14151 instructions are allowed.
14152 (rx_movstr, rx_strend, movmemsi, rx_movmem): Likewise.
14153 (cmpstrnsi, cmpstrsi, rx_cmpstrn, rmpa): Likewise.
14154 * config/rx/t-rx (MULTILIB_OPTIONS): Add mno-allow-string-insns.
14155 (MULTILIB_DIRNAMES): Add no-strings.
14156 * doc/invoke.texi: Document -mno-allow-string-insns.
14157
14158 2015-04-15 Alan Modra <amodra@gmail.com>
14159
14160 PR target/65408
14161 PR target/58744
14162 PR middle-end/36043
14163 * calls.c (load_register_parameters): Don't load past end of
14164 mem unless suitably aligned.
14165
14166 2015-04-15 Nick Clifton <nickc@redhat.com>
14167
14168 * config/rl78/rl78.c (rl78_expand_prologue): Mark large stack
14169 decrement instruction as being frame related.
14170 (rl78_print_operand_1): Handle 'p' modifier to add +0 to HL
14171 based addresses.
14172 If zero extending a function address enclose the operation in
14173 %code(...).
14174 (rl78_preferred_reload_class): New function.
14175 (TARGET_PREFERRED_RELOAD_CLASS): Define.
14176 * config/rl78/rl78.md: Remove useless constraints in expanders.
14177 (mulqi3_rl78): Remove + qualifier on input-only operand 1.
14178 (mulhi3_rl78): Likewise.
14179 (mulhi3_g13): Likewise.
14180 (mulsi3_rl78): Likewise.
14181 (es_addr): Move to before the multiply patterns.
14182
14183 2015-04-15 Alan Modra <amodra@gmail.com>
14184
14185 * function.h (struct emit_status): Delete x_first_insn, x_last_insn
14186 and sequence_stack. Add seq.
14187 (seq_stack): Delete.
14188 * function.c (prepare_function_start): Don't access x_last_insn.
14189 * emit-rtl.h (get_current_sequence, get_topmost_sequence): New.
14190 (get_insns, set_first_insn, get_last_insn, set_last_insn): Use them.
14191 * emit_rtl.c (start_sequence, push_topmost_sequence,
14192 pop_topmost_sequence, end_sequence, in_sequence_p, init_emit): Use
14193 sequence accessors.
14194 (get_last_insn_anywhere, add_insn_after_nobb, add_insn_before_nobb,
14195 remove_insn): Likewise. Simplify.
14196 * config/m32c/m32c.c (m32c_leaf_function_p): Use push_topmost_sequence
14197 and pop_topmost_sequence.
14198 (m32c_function_needs_enter): Use get_topmost_sequence. Ignore
14199 debug insns.
14200 * config/rs6000/rs6000.c (rs6000_call_aix): Use get_current_sequence.
14201
14202 2015-04-14 Yvan Roux <yvan.roux@linaro.org>
14203
14204 PR target/65729
14205 * lra-constraints.c (prohibited_class_reg_set_mode_p): Restore and fix
14206 the assertiion.
14207
14208 2015-04-14 Uros Bizjak <ubizjak@gmail.com>
14209
14210 * config/i386/i386.h (LEGACY_INT_REG_P): New define.
14211 (LEGACY_INT_REGNO_P): Ditto.
14212 (GENERAL_REGNO_P): Use LEGACY_INT_REGNO_P.
14213 (ANY_MASK_REG_P): Remove.
14214 (BND_REG_P): Rename from ANY_BND_REG_P.
14215 * config/i386/i386.c (print_reg): Use LEGACY_INT_REG_P to print
14216 legacy integer registers. Do not handle MMX_REG_P in a special way.
14217 Merge 64byte and 32byte SSE handling.
14218
14219 2015-04-14 Nick Clifton <nickc@redhat.com>
14220
14221 * expr.c (expand_assignment): Force an address offset computation
14222 into a register before changing its mode.
14223 (expand_expr_real_1): Likewise.
14224
14225 2015-04-14 Alan Lawrence <alan.lawrence@arm.com>
14226
14227 * config/aarch64/arm_neon.h (vst1_lane_f32, vst1_lane_f64,
14228 vst1_lane_p8, vst1_lane_p16, vst1_lane_s8, vst1_lane_s16,
14229 vst1_lane_s32, vst1_lane_s64, vst1_lane_u8, vst1_lane_u16,
14230 vst1_lane_u32, vst1_lane_u64, vst1q_lane_f32, vst1q_lane_f64,
14231 vst1q_lane_p8, vst1q_lane_p16, vst1q_lane_s8, vst1q_lane_s16,
14232 vst1q_lane_s32, vst1q_lane_s64, vst1q_lane_u8, vst1q_lane_u16,
14233 vst1q_lane_u32, vst1q_lane_u64): Reimplement with pointer dereference
14234 and __aarch64_vget_lane_any.
14235
14236 2015-04-14 Jakub Jelinek <jakub@redhat.com>
14237
14238 PR rtl-optimization/65761
14239 * cfgrtl.c (rtl_split_edge): For EDGE_CROSSING split, use
14240 get_last_bb_insn (after) instead of NEXT_INSN (BB_END (after)).
14241
14242 2015-04-14 Richard Biener <rguenther@suse.de>
14243
14244 * graphite-scop-detection.c: Do not include cp/cp-tree.h.
14245 (graphite_can_represent_scev): Use POINTER_TYPE_P.
14246
14247 2015-04-14 Richard Biener <rguenther@suse.de>
14248
14249 PR tree-optimization/65758
14250 * tree-ssa-ccp.c (get_value_from_alignment): Adjust mask test
14251 against -1.
14252 (ccp_lattice_meet): Likewise.
14253 (bit_value_unop): Likewise.
14254 (bit_value_binop): Likewise.
14255 (bit_value_assume_aligned): Likewise.
14256
14257 2015-04-14 Christian Bruel <christian.bruel@st.com>
14258
14259 * execute_dwarf2_frame (dw_frame_pointer_regnum): Reinitialize for each
14260 function.
14261
14262 2015-04-14 Marc Glisse <marc.glisse@inria.fr>
14263
14264 PR tree-optimization/63387
14265 * match.pd ((x unord x) | (y unord y) -> (x unord y),
14266 (x unord x) | (x unord y) -> (x unord y)): New simplifications.
14267
14268 2015-04-14 Uros Bizjak <ubizjak@gmail.com>
14269
14270 * config/i386/predicates.md (any_QIreg_operand): Rename from
14271 q_regs_operand. Do not process subregs.
14272 (QIreg_operand): Use QI_REGNO_P predicate.
14273 (ext_QIreg_operand): Ditto.
14274 (ext_register_operand): Ditto.
14275 * config/i386/i386.md (TEST splitters): Use QIreg_operand predicate.
14276 (AND splitters): Ditto.
14277 (AND with -65536 splitter): Add SWI48 mode for operand 0.
14278 (AND with -256 splitter): Use any_QIreg_operand predicate and
14279 SWI248 mode for operand 0.
14280 (AND with -65281 splitter): Use QIreg_operand predicate and SWI248
14281 mode for operand 0.
14282 (SETCC + MOVZBL peepholes): Update for renamed any_QIreg_operand.
14283
14284 2015-04-13 Gerald Pfeifer <gerald@pfeifer.com>
14285
14286 * doc/plugins.texi: Rewrite first introductory paragraph.
14287
14288 2015-04-12 Jan Hubicka <hubicka@ucw.cz>
14289
14290 * tree-vrp.c (nonnull_arg_p): THIS pointers and references are non-zero.
14291 (gimple_stmt_nonzero_warnv_p): Reference return values are non-zero.
14292
14293 2015-04-12 Jan Hubicka <hubicka@ucw.cz>
14294
14295 * ipa-profie.c (ipa_profile): Check number of parameters
14296 and possible polymorphic call targets before
14297 devirtualizing.
14298
14299 2015-04-13 Uros Bizjak <ubizjak@gmail.com>
14300
14301 * config/i386/i386.md (*bmi2_umul<mode><dwi>3_1): Merge from
14302 *bmi2_umulsidi3_1 and *bmi2_umulditi3_1 using DWIH mode iterator.
14303
14304 2015-04-13 Richard Biener <rguenther@suse.de>
14305
14306 PR tree-optimization/65204
14307 * tree-ssa-ccp.c (evaluate_stmt): Always evaluate address
14308 takens for bit-CCP.
14309
14310 2015-04-13 Richard Biener <rguenther@suse.de>
14311
14312 PR target/65660
14313 * config/i386/i386.c (bdver1_cost): Double cond_taken_branch_cost
14314 and cond_not_taken_branch_cost to 4 and 2.
14315 (bdver2_cost): Likewise.
14316 (bdver3_cost): Likewise.
14317 (bdver4_cost): Likewise.
14318
14319 2015-04-12 Jan Hubicka <hubicka@ucw.cz>
14320
14321 * hash-table.h (hash_table constructor): Add mem stats.
14322 (alloc_entries): Likewise.
14323
14324 2015-04-12 Jan Hubicka <hubicka@ucw.cz>
14325
14326 * ipa-cp.c (ipcp_driver): Relase prev_edge.
14327 * passes.c (execute_one_pass): Only add transform if pass has one.
14328
14329 2015-04-12 Joseph Myers <joseph@codesourcery.com>
14330
14331 * config/i386/i386.c (ix86_option_override_internal): Don't set
14332 -fprefetch-loop-arrays if optimizing for size.
14333
14334 2015-04-12 Jan Hubicka <hubicka@ucw.cz>
14335 Gerald Pfeifer <gerald@pfeifer.com>
14336
14337 * doc/contrib.texi (Contributors): Add Martin Jambor and
14338 Michael Matz.
14339
14340 2015-04-12 Jakub Jelinek <jakub@redhat.com>
14341
14342 * BASE-VER: Set to 6.0.0.
14343
14344 PR tree-optimization/65747
14345 * ipa-icf-gimple.c (func_checker::compare_operand): Use compare_operand
14346 rather than compare_ssa_name for OBJ_TYPE_REF_OBJECT.
14347
14348 2015-04-12 Gerald Pfeifer <gerald@pfeifer.com>
14349
14350 * doc/invoke.texi (-Wmemset-transposed-args): Break a long
14351 sentence. Improve grammar.
14352
14353 2015-04-12 Gerald Pfeifer <gerald@pfeifer.com>
14354
14355 * doc/contrib.texi (Contributors): Add Maxim Kuvyrkov.
14356
14357 2015-04-11 Jan Hubicka <hubicka@ucw.cz>
14358
14359 PR ipa/65743
14360 * ipa-inline-transform.c (speculation_removed): Remove static var.
14361 (check_speculations): New function.
14362 (clone_inlined_nodes): Do not check spculations.
14363 (inline_call): Call check_speculations.
14364 * ipa-prop.c (ipa_make_edge_direct_to_target): Do not
14365 consider non-invariants.
14366
14367 2015-04-11 Jan Hubicka <hubicka@ucw.cz>
14368 Martin Liska <mliska@suse.cz>
14369
14370 PR ipa/65722
14371 * ipa-icf.c (sem_item::compare_cgraph_references): function and
14372 variable can not match.
14373 (sem_item::update_hash_by_addr_refs): Fix handling of virtual tables.
14374 (sem_variable::equals_wpa): Fix checking of DECL_FINAL_P patch.
14375
14376 2015-04-11 Jakub Jelinek <jakub@redhat.com>
14377
14378 PR tree-optimization/65735
14379 * tree-ssa-threadedge.c (fsm_find_control_statement_thread_paths):
14380 Remove visited_phis argument, add visited_bbs, avoid recursing into the
14381 same bb rather than just into the same phi node.
14382 (thread_through_normal_block): Adjust caller.
14383
14384 2015-04-11 Gerald Pfeifer <gerald@pfeifer.com>
14385
14386 * doc/contrib.texi (Contributors): Add Ira Rosen.
14387
14388 2015-04-11 Benno Schulenberg <bensberg@justemail.net>
14389
14390 * gcov.c (find_source): Fix miswording in error message.
14391 * config/i386/i386.c (ix86_handle_cconv_attribute): Likewise.
14392 (ix86_expand_sse_comi_round): Fix typo in error message.
14393
14394 2015-04-11 Gerald Pfeifer <gerald@pfeifer.com>
14395
14396 * doc/contrib.texi (Contributors): Add Laurynas Biveinis.
14397
14398 2015-04-10 Gerald Pfeifer <gerald@pfeifer.com>
14399
14400 * doc/contrib.texi (Contributors): Update Joe Buck's entry.
14401
14402 2015-04-10 Vladimir Makarov <vmakarov@redhat.com>
14403
14404 PR target/65710
14405 * lra-assigns.c (spill_for): Update smallest_bad_spills_num.
14406 Print bad_spills_num and insn_pseudos_num.
14407
14408 2015-04-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
14409
14410 PR target/65694
14411 * config/arm/arm.c (arm_canonicalize_comparison): Use ARM_SIGN_EXTEND
14412 when creating +1 values for SImode.
14413
14414 2015-04-10 Vladimir Makarov <vmakarov@redhat.com>
14415
14416 PR target/65729
14417 * lra-constraints.c (prohibited_class_reg_set_mode_p): Comment the
14418 assert.
14419
14420 2015-04-10 Jakub Jelinek <jakub@redhat.com>
14421 Iain Sandoe <iain@codesourcery.com>
14422
14423 PR target/65351
14424 * configure: Regenerate.
14425
14426 2015-04-09 Kirill Yukhin <kirill.yukhin@intel.com>
14427
14428 PR target/65671
14429 * config/i386/sse.md: Generate vextract32x4 if AVX-512DQ is disabled.
14430
14431 2015-04-09 Gerald Pfeifer <gerald@pfeifer.com>
14432
14433 * doc/contrib.texi (Contributors): Add John Marino.
14434
14435 2015-04-09 Jakub Jelinek <jakub@redhat.com>
14436
14437 PR tree-optimization/65709
14438 * ubsan.c (instrument_mem_ref): Use TREE_TYPE (base) instead of
14439 TREE_TYPE (TREE_TYPE (t)).
14440
14441 2015-04-09 Vladimir Makarov <vmakarov@redhat.com>
14442
14443 PR target/65710
14444 * lra-int.h (lra_bad_spill_regno_start): New.
14445 * lra.c (lra_bad_spill_regno_start): New.
14446 (lra): Set up lra_bad_spill_regno_start. Set up
14447 lra_constraint_new_regno_start unconditionally.
14448 * lra-assigns.c (spill_for): Use lra_bad_spill_regno_start for
14449 spill preferences.
14450
14451 2015-04-09 Marek Polacek <polacek@redhat.com>
14452 Jakub Jelinek <jakub@redhat.com>
14453
14454 PR middle-end/65554
14455 * gimple-fold.c (gimple_fold_builtin_memory_op): Update comment.
14456 (fold_ctor_reference): Use STRIP_USELESS_TYPE_CONVERSION instead
14457 of STRIP_NOPS.
14458
14459 2015-04-09 Segher Boessenkool <segher@kernel.crashing.org>
14460
14461 PR rtl-optimization/65693
14462 * combine.c (is_parallel_of_n_reg_sets): Move outside of
14463 #ifndef HAVE_cc0.
14464
14465 2015-04-09 Georg-Johann Lay <avr@gjlay.de>
14466
14467 PR target/65296
14468 * config/avr/driver-avr.c (avr_devicespecs_file): Don't specify a
14469 device specs file if "device-specs%s" didn't resolve to a path.
14470
14471 2015-04-09 Kirill Yukhin <kirill.yukhin@intel.com>
14472
14473 PR target/65676
14474 * config/i386/i386.c (fixup_modeless_constant): New.
14475 (ix86_expand_args_builtin): Fixup modeless constant operand.
14476 (ix86_expand_round_builtin): Ditto.
14477 (ix86_expand_special_args_builtin): Ditto.
14478 (ix86_expand_builtin): Ditto.
14479
14480 2015-04-09 Jakub Jelinek <jakub@redhat.com>
14481
14482 PR target/65693
14483 * config/i386/i386.md (*udivmod<mode>4_pow2): Allow
14484 any pow2 integer in between 2 and 0x80000000U inclusive.
14485
14486 2015-04-08 Segher Boessenkool <segher@kernel.crashing.org>
14487
14488 PR rtl-optimization/65693
14489 * combine.c (is_parallel_of_n_reg_sets): Change first argument
14490 from an rtx_insn * to an rtx.
14491 (try_combine): Adjust both callers. Use it once more.
14492
14493 2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
14494
14495 * tree-chkp.c (chkp_find_const_bounds_var): Remove.
14496 (chkp_make_static_const_bounds): Search existing
14497 symbol by assembler name. Use make_decl_one_only.
14498 (chkp_get_zero_bounds_var): Remove node search which
14499 is now performed in chkp_make_static_const_bounds.
14500 (chkp_get_none_bounds_var): Likewise.
14501
14502 2015-04-08 Michael Witten <mfwitten@gmail.com>
14503
14504 * doc/extend.texi (Attribute Syntax): Add a trailing semicolon
14505 to an example.
14506
14507 2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
14508
14509 * tree.h (CONVERT_EXPR_P): Commentary typo fix.
14510
14511 2015-04-08 Gerald Pfeifer <gerald@pfeifer.com>
14512
14513 * doc/extend.texi (__sync Builtins): Fix grammar.
14514
14515 2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
14516
14517 * doc/cfg.texi (GIMPLE statement iterators): Fix typo.
14518
14519 2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
14520
14521 * varasm.c (emit_local): Move definition of align.
14522
14523 2015-04-08 Julian Brown <julian@codesourcery.com>
14524
14525 * config/nvptx/mkoffload.c (process): Support variable mapping.
14526
14527 2015-03-27 Trevor Saunders <tbsaunde@tbsaunde.org>
14528
14529 * config/alpha/alpha.c (alpha_use_linkage): Change type of slot to
14530 alpha_links **.
14531 (alpha_write_one_linkage): Correct typo.
14532
14533 2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
14534
14535 * ipa-comdats.c (propagate_comdat_group): Walk through thunks.
14536
14537 2015-04-08 Gerald Pfeifer <gerald@pfeifer.com>
14538
14539 * doc/install.texi (bootstrap-lto-noplugin): Rewrite.
14540
14541 2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
14542
14543 * tree-chkp.h (chkp_insert_retbnd_call): New.
14544 * tree-chkp.c (chkp_insert_retbnd_call): New.
14545 * ipa-split.c (insert_bndret_call_after): Remove.
14546 (split_function): Use chkp_insert_retbnd_call.
14547 * cgraphunit.c (cgraph_node::expand_thunk): Build returned
14548 bounds for instrumented functions.
14549
14550 2015-04-07 Jan Hubicka <hubicka@ucw.cz>
14551
14552 PR ipa/65540
14553 * calls.c (initialize_argument_information): When producing tail
14554 call also turn SSA_NAMES passed by references to original PARM_DECLs
14555
14556 2015-04-07 Vladimir Makarov <vmakarov@redhat.com>
14557
14558 PR target/65648
14559 * lra-remat.c (do_remat): Process input and non-input insn
14560 registers separately.
14561
14562 2015-04-07 Jakub Jelinek <jakub@redhat.com>
14563
14564 PR debug/65678
14565 * valtrack.c (debug_lowpart_subreg): New function.
14566 (dead_debug_insert_temp): Use it.
14567
14568 PR middle-end/65680
14569 * expr.c (get_inner_reference): Handle bit_offset that doesn't fit
14570 into signed HOST_WIDE_INT the same as negative bit_offset.
14571
14572 2015-04-07 Ilya Enkovich <ilya.enkovich@intel.com>
14573
14574 * ipa-comdats.c (ipa_comdats): Visit all thunks
14575 to set proper comdat group.
14576
14577 2015-04-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
14578
14579 PR target/65489
14580 * config/arm/arm.c (arm_legitimate_constant_p_1): Remove restriction
14581 on constants for NEON VSTRUCT modes.
14582
14583 2015-04-07 Jakub Jelinek <jakub@redhat.com>
14584 Iain Sandoe <iain@codesourcery.com>
14585
14586 PR target/65351
14587 * configure: Regenerate.
14588
14589 2015-04-06 Michael Meissner <meissner@linux.vnet.ibm.com>
14590
14591 PR target/65614
14592 * config/rs6000/rs6000.c (struct processor_costs): Add cost field
14593 for SF->DF conversions to make FLOAT_EXTEND more expensive, so
14594 that LFD is used to load double constants instead of LFS. Add
14595 defaults for all costs structures. Add comments for missing
14596 initialization fields.
14597 (size32_cost): Likewise.
14598 (size64_cost): Likewise.
14599 (rs64a_cost): Likewise.
14600 (mpccore_cost): Likewise.
14601 (ppc403_cost): Likewise.
14602 (ppc405_cost): Likewise.
14603 (ppc440_cost): Likewise.
14604 (ppc476_cost): Likewise.
14605 (ppc601_cost): Likewise.
14606 (ppc603_cost): Likewise.
14607 (ppc604_cost): Likewise.
14608 (ppc604e_cost): Likewise.
14609 (ppc620_cost): Likewise.
14610 (ppc630_cost): Likewise.
14611 (ppccell_cost): Likewise.
14612 (ppc750_cost): Likewise.
14613 (ppc7450_cost): Likewise.
14614 (ppc8540_cost): Likewise.
14615 (ppce300c2c3_cost): Likewise.
14616 (ppce500mc_cost): Likewise.
14617 (ppce500mc64_cost): Likewise.
14618 (ppce5500_cost): Likewise.
14619 (ppce6500_cost): Likewise.
14620 (titan_cost): Likewise.
14621 (power4_cost): Likewise.
14622 (power6_cost): Likewise.
14623 (power7_cost): Likewise.
14624 (power8_cost): Likewise.
14625 (ppca2_cost): Likewise.
14626 (rs6000_rtx_costs): Make FLOAT_EXTEND use SFDF_convert field.
14627
14628 * config/rs6000/rs6000.md (extendsfdf2_fpr): Generate XSCPSGNDP
14629 instead of XXLOR to copy SFmode to clear out dirty bits created
14630 when SFmode denormals are generated.
14631 (mov<mode>_hardfloat, FMOVE32 case): Likewise.
14632 (truncdfsf2_fpr): Add support for ISA 2.07 XSRSP instruction.
14633
14634 2015-04-06 Evandro Menezes <e.menezes@samsung.com>
14635
14636 * doc/invoke.texi (AARCH64/mtune): Add exynos-m1 as an option.
14637 * config/aarch64/aarch64-cores.def (exynos-m1): New core.
14638 * config/aarch64/aarch64-tune.md: Regenerate.
14639
14640 2015-04-06 Evandro Menezes <e.menezes@samsung.com>
14641
14642 * doc/invoke.texi (ARM/mtune): Add "exynos-m1" as an option.
14643 * config/arm/arm.c (arm_issue_rate): Specify "3" for "exynosm1".
14644 * config/arm/arm-cores.def (exynos-m1): New core.
14645 * config/arm/arm-tune.md: Regenerate.
14646 * config/arm/arm-tables.opt: Add entry for "exynos-m1".
14647 * config/arm/bpabi.h: Likewise.
14648
14649 2015-04-06 Ilya Enkovich <ilya.enkovich@intel.com>
14650
14651 * ipa-cp (set_single_call_flag): Remove too
14652 restrictive assert.
14653
14654 2015-04-06 Ilya Verbin <ilya.verbin@intel.com>
14655
14656 * config/i386/intelmic-mkoffload.c (generate_host_descr_file): Call
14657 GOMP_offload_unregister from the destructor.
14658
14659 2015-04-06 Ilya Enkovich <ilya.enkovich@intel.com>
14660
14661 * ipa-chkp.c (chkp_maybe_create_clone): Reset cdtor
14662 flags for instrumentation thunk.
14663 (chkp_produce_thunks): Likewise.
14664
14665 2015-04-05 Martin Liska <mliska@suse.cz>
14666
14667 PR ipa/65665
14668 * ipa-icf.c (sem_function::equals_wpa): Verify that IPA CP
14669 has computed data structure.
14670 (sem_item_optimizer::update_hash_by_addr_refs): Likewise.
14671
14672 2015-04-04 Jan Hubicka <hubicka@ucw.cz>
14673
14674 * invoke.texi (inline-unit-growth): Increase growth to 20%
14675 * params.def (PARAM_INLINE_UNIT_GROWTH): Likewise.
14676
14677 2015-04-04 Vladimir Makarov <vmakarov@redhat.com>
14678
14679 PR target/65647
14680 * lra-int.h (LRA_MAX_REMATERIALIZATION_PASSES): New. Add its
14681 value checking.
14682 (lra_rematerialization_iter): New.
14683 * lra.c (lra): Initialize lra_rematerialization_iter.
14684 Stop updating lra_constraint_new_regno_start after switching of
14685 inheritance and rematerialization.
14686 * lra-remat.c (lra_rematerialization_iter): New.
14687 (lra_remat): Add printing pass iteration. Do rematerialization
14688 only first LRA_MAX_REMATERIALIZATION_PASSES iterations.
14689
14690 2015-04-04 Richard Biener <rguenther@suse.de>
14691
14692 PR tree-optimization/64909
14693 PR tree-optimization/65660
14694 * tree-vectorizer.h (vect_get_known_peeling_cost): Adjust
14695 to take a cost vector for scalar iteration cost.
14696 (vect_get_single_scalar_iteration_cost): Likewise.
14697 * tree-vect-loop.c (vect_get_single_scalar_iteration_cost):
14698 Compute the scalar iteration cost into a cost vector.
14699 (vect_get_known_peeling_cost): Use the scalar cost vector to
14700 account for the cost of the peeled iterations.
14701 (vect_estimate_min_profitable_iters): Likewise.
14702 * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost):
14703 Likewise.
14704
14705 2015-04-04 Alan Modra <amodra@gmail.com>
14706
14707 PR target/65576
14708 PR target/65240
14709 * config/rs6000/predicates.md (zero_reg_mem_operand): Exclude
14710 0.0 constant unless TARGET_VSX.
14711 * config/rs6000/rs6000.md (extenddftf2_internal): Remove last
14712 alternative.
14713
14714 2015-04-03 Jan Hubicka <hubicka@ucw.cz>
14715
14716 PR ipa/65654
14717 * ipa-inline-transform.c (inline_call): Skip sanity check to work
14718 around the ICE
14719
14720 2015-04-03 Jan Hubicka <hubicka@ucw.cz>
14721
14722 PR ipa/65655
14723 * ipa-inline-analysis.c (edge_set_predicate): Do not redirect
14724 speculative indirect edges to avoid ordering issue.
14725
14726 2015-04-03 Jan Hubicka <hubicka@ucw.cz>
14727
14728 PR ipa/65076
14729 * ipa-inline.c (edge_badness): Add combined size to the denominator.
14730
14731 2015-04-03 Jakub Jelinek <jakub@redhat.com>
14732
14733 * omp-low.c (scan_omp_parallel, scan_omp_task, scan_omp_target): Set
14734 TYPE_ARTIFICIAL on the .omp_data* types.
14735
14736 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
14737
14738 * cgraphunit.c (cgraph_node::expand_thunk): Don't expand
14739 instrumentation thunks.
14740
14741 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
14742
14743 * config/i386/i386.c (ix86_expand_call): Avoid nested
14744 PARALLEL in returned call value.
14745
14746 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
14747
14748 * lto-cgraph.c (input_cgraph_1): Always link instrumented
14749 assembler name with original one.
14750
14751 2015-04-02 Uros Bizjak <ubizjak@gmail.com>
14752
14753 * config/i386/i386.c (ix86_register_priority): Use AX_REG.
14754
14755 2015-04-02 Uros Bizjak <ubizjak@gmail.com>
14756
14757 Revert parts of r216820.
14758 * config/i386/i386.md (movqi_internal): Correct type calculation
14759 for alternatives 3 and 5.
14760
14761 2015-04-02 Jakub Jelinek <jakub@redhat.com>
14762
14763 PR preprocessor/61977
14764 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Don't
14765 predefine __vector/__bool/__pixel macros nor context sensitive
14766 macros for CLK_ASM.
14767 * config/spu/spu-c.c (spu_cpu_cpp_builtins): Similarly.
14768
14769 2015-04-02 John David Anglin <danglin@gcc.gnu.org>
14770
14771 * config/pa/pa.c (pa_output_move_double): Directly handle register
14772 indexed memory operand. Simplify handling of scaled register indexed
14773 memory operands.
14774
14775 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
14776
14777 PR driver/65444
14778 * config/i386/linux-common.h (MPX_SPEC): New.
14779 (CHKP_SPEC): Add MPX_SPEC.
14780 * doc/invoke.texi (-fcheck-pointer-boudns): Document
14781 possible issues with '-z bndplt' support in linker.
14782
14783 2015-04-02 Uros Bizjak <ubizjak@gmail.com>
14784
14785 * config/i386/sync.md (UNSPEC_FILD_ATOMIC, UNSPEC_FIST_ATOMIC): New.
14786 (loaddi_via_fpu): Use UNSPEC_FILD_ATOMIC.
14787 (storedi_via_fpu): Use UNSPEC_FIST_ATOMIC.
14788 * reg-stack.c (get_true_reg): Change UNSPEC_LDA to UNSPEC_FILD_ATOMIC.
14789 (subst_stack_regs_pat): Change UNSPEC_STA to UNSPEC_FIST_ATOMIC.
14790
14791 2015-04-01 Uros Bizjak <ubizjak@gmail.com>
14792
14793 * config/i386/sync.md (UNSPEC_MOVA): Remove.
14794 (atomic_load<mode>): Change operand 0 predicate to
14795 nonimmediate_operand and fix up the destination when needed.
14796 Use UNSPEC_LDA.
14797 (atomic_loaddi_fpu): Use UNSPEC_LDA.
14798 (atomic_store<mode>): Change operand 1 predicate to
14799 nonimmendate_operand and move the source to register when needed.
14800 Use UNSPEC_STA.
14801 (atomic_store<mode>_1): Use UNSPEC_STA.
14802 (atomic_storedi_fpu): Change operand 1 to nonimmediate_operand.
14803 Fix moves from memory operand. Use UNSPEC_STA.
14804
14805 2015-04-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
14806
14807 * expmed.c (strict_volatile_bitfield_p): Check that the access will
14808 not cross a MODESIZE boundary.
14809 (store_bit_field, extract_bit_field): Added assertions in the
14810 strict volatile bitfields code path.
14811
14812 2015-04-01 Max Ostapenko <m.ostapenko@partner.samsung.com>
14813
14814 PR target/65624
14815 * config/aarch64/aarch64-builtins.c (aarch64_simd_expand_builtin):
14816 Increase args array size by one to avoid buffer overflow.
14817
14818 2015-03-31 Jan Hubicka <hubicka@ucw.cz>
14819
14820 * lto-cgraph.c (lto_output_node, input_overwrite_node): Stream
14821 split_part.
14822 * ipa-inline.c (edge_badness): Add wrapper penalty.
14823 (sum_callers): Move up.
14824 (inline_small_functions): Set single_caller.
14825 * ipa-inline.h (inline_summary): Add single_caller.
14826 * ipa-split.c (split_function): Set split_part.
14827 (cgraph_node::create_clone): Do not shadow decl; copy split_part.
14828 * cgraph.h (cgraph_node): Add split_part.
14829
14830 2015-03-31 Uros Bizjak <ubizjak@gmail.com>
14831
14832 PR target/58945
14833 * config/i386/sync.md (atomic_compare_and_swap<dwi>_doubleword):
14834 Do not split operands 0 and operands 2 to halfmode.
14835 (atomic_compare_and_swap<mode>): Update for
14836 atomic_compare_and_swap<dwi>_doubleword changes.
14837
14838 2015-03-31 Jan Hubicka <hubicka@ucw.cz>
14839
14840 * tree.c (need_assembler_name_p): Artificial types have no ODR names.
14841 * ipa-devirt.c (warn_odr): Do not try to apply ODR cache when
14842 no caching is done.
14843
14844 2015-03-31 Martin Liska <mliska@suse.cz>
14845
14846 PR ipa/65557
14847 * ipa-icf.c (sem_function::equals_wpa): Check if IPA CP
14848 has already filled up function summary.
14849 (sem_item_optimizer::update_hash_by_addr_refs): Likewise.
14850
14851 2015-03-31 Richard Biener <rguenther@suse.de>
14852
14853 * tree-sra.c (create_access_replacement): Drop under-/over-alignment
14854 of types.
14855
14856 2015-03-31 Dominik Vogt <vogt@linux.vnet.ibm.com>
14857
14858 * config/s390/s390.c (s390_function_num_hotpatch_hw): Allow hotpatching
14859 nested functions.
14860 (s390_reorg): Adapt to new signature of s390_function_num_hotpatch_hw.
14861 (s390_asm_output_function_label): Adapt to new signature of
14862 s390_function_num_hotpatch_hw
14863 Optimise the code generating assembler output.
14864 Add comments to assembler file.
14865
14866 2015-03-31 Richard Biener <rguenther@suse.de>
14867
14868 PR middle-end/65626
14869 * tree-cfgcleanup.c (fixup_noreturn_call): Only split the block
14870 of the noreturn call so it is last and cleanup_control_flow_bb
14871 can do the CFG part.
14872
14873 2015-03-31 Ilya Enkovich <ilya.enkovich@intel.com>
14874
14875 PR target/65531
14876 * ipa-chkp.c (chkp_maybe_create_clone): Don't set
14877 same_comdat_group for external symbols.
14878 * symtab.c (symtab_node::verify_symtab_nodes): Avoid
14879 infinite same_comdat_group traversal loop.
14880
14881 2015-03-31 Jakub Jelinek <jakub@redhat.com>
14882
14883 PR plugins/61176
14884 * Makefile.in (install-plugin): Add all gcc/*.{h,def} files
14885 automatically to $headers.
14886
14887 2015-03-30 Jakub Jelinek <jakub@redhat.com>
14888
14889 PR ipa/65610
14890 * ipa-utils.h (inlined_polymorphic_ctor_dtor_block_p): Declare.
14891 * ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p): New
14892 function.
14893 (decl_maybe_in_construction_p, noncall_stmt_may_be_vtbl_ptr_store):
14894 Use it.
14895 * ipa-prop.c (param_type_may_change_p): Likewise.
14896 * tree-ssa-live.c: Include ipa-utils.h and its dependencies.
14897 (remove_unused_scope_block_p): Add in_ctor_dtor_block
14898 argument. Before inlining, preserve
14899 inlined_polymorphic_ctor_dtor_block_p blocks and the outermost block
14900 with FUNCTION_DECL BLOCK_ABSTRACT_ORIGIN inside of them. Adjust
14901 recursive calls.
14902 (remove_unused_locals): Adjust remove_unused_scope_block_p caller.
14903
14904 2015-03-27 Jan Hubicka <hubicka@ucw.cz>
14905
14906 PR ipa/65076
14907 * ipa-inline.c (edge_badness): Base denominator on callee's
14908 grwoth squared.
14909
14910 2015-03-27 Martin Jambor <mjambor@suse.cz>
14911
14912 PR ipa/65478
14913 * params.def (PARAM_IPA_CP_RECURSION_PENALTY) : New.
14914 (PARAM_IPA_CP_SINGLE_CALL_PENALTY): Likewise.
14915 * ipa-prop.h (ipa_node_params): New flags node_within_scc and
14916 node_calling_single_call.
14917 * ipa-cp.c (count_callers): New function.
14918 (set_single_call_flag): Likewise.
14919 (initialize_node_lattices): Count callers and set single_flag_call if
14920 necessary.
14921 (incorporate_penalties): New function.
14922 (good_cloning_opportunity_p): Use it, dump new flags.
14923 (propagate_constants_topo): Set node_within_scc flag if appropriate.
14924 * doc/invoke.texi (ipa-cp-recursion-penalty,
14925 ipa-cp-single-call-pentalty): Document.
14926
14927 2015-03-27 Jan Hubicka <hubicka@ucw.cz>
14928
14929 PR ipa/65588
14930 * symtab.c (symtab_node::get_partitioning_class): Register vars
14931 are duplicated.
14932 * varpool.c (symbol_table::output_variables) Do not assemble unefined
14933 decls for non-symbols.
14934
14935 2015-03-27 H.J. Lu <hongjiu.lu@intel.com>
14936
14937 PR target/65248
14938 * output.h (default_binds_local_p_2): New.
14939 * varasm.c (default_binds_local_p_2): Renamed to ...
14940 (default_binds_local_p_3): This. Don't return true on protected
14941 data symbol if protected data may be external.
14942 (default_binds_local_p): Use default_binds_local_p_3.
14943 (default_binds_local_p_1): Likewise.
14944 (default_binds_local_p_2): New.
14945 * config/i386/i386.c (TARGET_BINDS_LOCAL_P): Set to
14946 default_binds_local_p_2 if TARGET_MACHO is undefined.
14947
14948 2015-03-27 Jakub Jelinek <jakub@redhat.com>
14949
14950 PR target/65593
14951 * config/i386/i386.c (legitimize_pic_address): If base
14952 is SYMBOL_REF or LABEL_REF using %rip addressing, force
14953 it to reg to avoid PLUS of SYMBOL_REF/LABEL_REF and register.
14954
14955 2015-03-27 Jan Hubicka <hubicka@ucw.cz>
14956
14957 PR target/65531
14958 * symtab.c (symtab_node::verify_symtab_nodes): Fix verification of
14959 comdat groups.
14960
14961 2015-03-27 Jan Hubicka <hubicka@ucw.cz>
14962
14963 PR ipa/65600
14964 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Fix the case
14965 of optimized out indirect call.
14966 (redirect_to_unreachable): Always build symbol table node for
14967 BUILT_IN_UNREACHABLE
14968
14969 2015-03-27 Vladimir Makarov <vmakarov@redhat.com>
14970
14971 PR target/65407
14972 * ira-costs.c (record_reg_classes): Process all constraint string
14973 containing 0-9.
14974
14975 2015-03-27 Bernd Schmidt <bernds@codesourcery.com>
14976
14977 * config/c6x/c6x.md (movmisalign<mode>): Use MEM_P, not
14978 memory_operand.
14979
14980 PR target/65052
14981 * config/c6x/constraints.md (S3): New constraint.
14982 * config/c6x/c6x.md (real_jump): Use it.
14983
14984 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
14985
14986 PR middle-end/65595
14987 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Only
14988 do redirection if the call is not optimized out.
14989
14990 2015-03-27 Ilya Enkovich <ilya.enkovich@intel.com>
14991
14992 PR target/65495
14993 * c-family/c.opt (fcheck-pointer-bounds): List supported languages.
14994 (fchkp-check-incomplete-type): Add LTO.
14995 (fchkp-zero-input-bounds-for-main): Likewise.
14996 (fchkp-first-field-has-own-bounds): Likewise.
14997 (fchkp-narrow-bounds): Likewise.
14998 (fchkp-narrow-to-innermost-array): Likewise.
14999 (fchkp-use-static-bounds): Likewise.
15000 (fchkp-use-static-const-bounds): Likewise.
15001 (fchkp-treat-zero-dynamic-size-as-infinite): Likewise.
15002
15003 2015-03-27 Marek Polacek <polacek@redhat.com>
15004
15005 * gimple-iterator.h (gsi_prev_nondebug): Fix typo.
15006
15007 2015-03-27 Marek Polacek <polacek@redhat.com>
15008
15009 PR sanitizer/65583
15010 * ubsan.c (ubsan_create_edge): New function.
15011 (instrument_bool_enum_load): Call it.
15012 (instrument_nonnull_arg): Likewise.
15013 (instrument_nonnull_return): Likewise.
15014 (instrument_object_size): Likewise.
15015
15016 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
15017
15018 * lto-streamer.h (class lto_location_cache): Turn loc_cache into
15019 auto_vec.
15020
15021 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
15022
15023 PR lto/65536
15024 * lto-streamer.h (class lto_location_cache): New.
15025 (struct data_in): Add location_cache.
15026 (lto_input_location): Update prototype.
15027 (stream_input_location_now): New.
15028 * streamer-hooks.h (struct streamer_hooks): Make input_location to take
15029 pointer to location.
15030 (stream_input_location): Update.
15031 * ipa-devirt.c: Include streamer-hooks.h and lto-streamer.h
15032 (warn_odr): Apply location cache before warning.
15033 (lto_input_location): Update prototype.
15034 * gimple-streamer-in.c (input_phi, input_gimple_stmt):
15035 Use stream_input_location_now.
15036 * lto-streamer-in.c (lto_location_cache::current_cache): New static
15037 variable.
15038 (lto_location_cache::cmp_loc): New function.
15039 (lto_location_cache::apply_location_cache): New function.
15040 (lto_location_cache::accept_location_cache): New function.
15041 (lto_location_cache::revert_location_cache): New function.
15042 (lto_location_cache::input_location): New function.
15043 (lto_input_location): Do location caching.
15044 (stream_input_location_now): New function.
15045 (input_eh_region, input_struct_function_base): Use
15046 stream_input_location_now.
15047 (lto_data_in_create): use new.
15048 (lto_data_in_delete): Use delete.
15049 * tree-streamer-in.c (unpack_ts_block_value_fields,
15050 unpack_ts_omp_clause_value_fields, streamer_read_tree_bitfields,
15051 lto_input_ts_exp_tree_pointers): Update for cached location api.
15052
15053 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
15054
15055 PR ipa/65076
15056 * passes.def: Add pass_nothrow.
15057 * ipa-pure-const.c: (pass_data_nothrow): New.
15058 (pass_nothrow): New.
15059 (pass_nothrow::execute): New.
15060 (make_pass_nothrow): New.
15061 * tree-pass.h (make_pass_nothrow): Declare.
15062
15063 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
15064
15065 * ipa-inline-analysis.c (redirect_to_unreachable): Be prepared for
15066 edge to change by speculation resolution or redirection.
15067 (edge_set_predicate): Likewise.
15068 (inline_summary_t::duplicate): Likewise.
15069 (remap_edge_summaries): Likewise.
15070
15071 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
15072
15073 * ipa-inline.c (check_maybe_up, check_maybe_down, check_match):
15074 New macros.
15075 (can_inline_edge_p): Relax option matching for always inline functions.
15076
15077 2015-03-26 Uros Bizjak <ubizjak@gmail.com>
15078
15079 PR target/65561
15080 * config/i386/sse.md (avx512dq_vextract<shuffletype>64x2_1_maskm):
15081 Check operand 4 and operand 0 for equality.
15082 (avx512f_vextract<shuffletype>32x4_1_maskm):
15083 Check operand 6 and operand 0 for equality.
15084 (vec_extract_lo_<mode>_maskm): Check operand 2 and operand 0
15085 for equality.
15086 (vec_extract_hi_<mode>_maskm): Ditto.
15087
15088 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
15089
15090 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Do not bring
15091 dead calls back to live.
15092 (cgraph_edge::verify_count_and_frequency): Move cgraph/cfg frequency
15093 cross check to ...
15094 (cgraph_node::verify_node): ... here; verify only callee edges,
15095 not caller.
15096 * cif-code.def (CILK_SPAWN): New code.
15097
15098 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
15099
15100 * ipa-inline-analysis.c (redirect_to_unreachable): New function.
15101 (edge_set_predicate): Use it to mark unreachable edges.
15102 (inline_summary_t::duplicate): Remove unnecesary code.
15103 (remap_edge_summaries): Likewise.
15104 (dump_inline_summary): Report contains_cilk_spawn.
15105 (compute_inline_parameters): Compute contains_cilk_spawn.
15106 (inline_read_section, inline_write_summary): Stream
15107 contains_cilk_spawn.
15108 * ipa-inline.c (can_inline_edge_p): Do not touch
15109 DECL_STRUCT_FUNCTION that may not be available;
15110 use CIF_CILK_SPAWN for cilk; fix optimization attribute checks;
15111 remove check for callee_fun->can_throw_non_call_exceptions and
15112 replace it by optimization attribute check; check for flag_exceptions.
15113 * ipa-inline-transform.c (inline_call): Maintain
15114 DECL_FUNCTION_PERSONALITY
15115 * ipa-inline.h (inline_summary): Add contains_cilk_spawn.
15116
15117 2015-03-26 Jakub Jelinek <jakub@redhat.com>
15118
15119 PR tree-optimization/65551
15120 * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use
15121 TYPE_PRECISION only for INTEGRAL_TYPE_P types.
15122
15123 2015-03-26 Richard Biener <rguenther@suse.de>
15124
15125 PR middle-end/65555
15126 * tree-cfg.c (verify_gimple_call): Do not require a call to
15127 have no LHS if it wasn't recognized as control altering yet.
15128
15129 2015-03-26 Jakub Jelinek <jakub@redhat.com>
15130
15131 PR tree-optimization/64715
15132 * passes.def: Add another instance of pass_object_sizes before ccp1.
15133 * tree-object-size.c (pass_object_sizes::execute): In
15134 first_pass_instance, only handle __bos (, 1) and __bos (, 3)
15135 calls, and keep the call in the IL, as {MIN,MAX}_EXPR of the
15136 __bos result and the computed constant. Remove redundant
15137 checks, obsoleted by gimple_call_builtin_p test.
15138
15139 * var-tracking.c (variable_tracking_main_1): Don't track
15140 variables for targetm.no_register_allocation targets.
15141
15142 2015-03-26 Oleg Endo <olegendo@gcc.gnu.org>
15143
15144 * config/sh/t-linux (DEFAULT_ENDIAN, MULTILIB_EXCEPTIONS): Remove.
15145 * config/sh/t-sh (MULTILIB_EXCEPTIONS): Handle default endian.
15146
15147 2015-03-25 Michael Meissner <meissner@linux.vnet.ibm.com>
15148
15149 PR target/65569
15150 * config/rs6000/rs6000.md (extenddftf2_fprs): On VSX systems use
15151 XXLXOR to create 0.0. On pre-VSX systems make sure the constant
15152 0.0 is correctly setup.
15153 (extenddftf2_internal): Likewise.
15154
15155 2015-03-25 Sebastian Pop <s.pop@samsung.com>
15156
15157 PR tree-optimization/65177
15158 * tree-ssa-threadupdate.c (verify_seme): Renamed verify_jump_thread.
15159 (bb_in_bbs): New.
15160 (duplicate_seme_region): Renamed duplicate_thread_path. Redirect all
15161 edges not adjacent on the path to the original code.
15162
15163 2015-03-25 Uros Bizjak <ubizjak@gmail.com>
15164
15165 PR bootstrap/65537
15166 * doc/install.texi (Building a native compiler): Document new
15167 bootstrap-lto-noplugin configuration. Mention that bootstrap-lto
15168 configuration assumes that the host supports the linker plugin.
15169
15170 2015-03-25 Ilya Enkovich <ilya.enkovich@intel.com>
15171
15172 PR target/65508
15173 * tree-chkp.c (chkp_add_bounds_to_call_stmt): Set static
15174 chain for generated call.
15175
15176 2015-03-25 Richard Biener <rguenther@suse.de>
15177
15178 * passes.c (pass_manager::execute_early_local_passes): Guard
15179 execution of pass_chkp_instrumentation_passes with
15180 flag_check_pointer_bounds.
15181 (pass_chkp_instrumentation_passes::gate): Likewise.
15182
15183 2015-03-25 Martin Liska <mliska@suse.cz>
15184
15185 PR tree-optimization/65538
15186 * symbol-summary.h (function_summary::~function_summary):
15187 Relese memory for allocated summaries.
15188 (function_summary::release): New function.
15189
15190 2015-03-25 Jakub Jelinek <jakub@redhat.com>
15191
15192 PR lto/65515
15193 * lto-streamer-out.c (DFS::worklist): New struct.
15194 (DFS::worklist_vec): New data member.
15195 (DFS::next_dfs_num): Remove.
15196 (DFS::DFS): Rewritten using worklist instead of recursion,
15197 using most of code from DFS::DFS_write_tree.
15198 (DFS::DFS_write_tree_body): Remove SINGLE_P argument, don't
15199 pass it to DFS_write_tree calls.
15200 (DFS::DFS_write_tree): Remove SINGLE_P argument, after
15201 quick initial checks push it into worklist_vec and return.
15202
15203 2015-03-25 Richard Biener <rguenther@suse.de>
15204
15205 PR middle-end/65519
15206 * genmatch.c (expr::gen_transform): Re-write to avoid
15207 using gimple_build.
15208
15209 2015-03-25 Bin Cheng <bin.cheng@arm.com>
15210
15211 * doc/sourcebuild.texi (arm_tune_string_ops_prefer_neon): New.
15212
15213 2015-03-25 Bin Cheng <bin.cheng@arm.com>
15214
15215 * config/arm/arm.opt (print_tune_info): New option.
15216 * config/arm/arm.c (arm_print_tune_info): New function.
15217 (arm_file_start): Call arm_print_tune_info.
15218 * config/arm/arm-protos.h (struct tune_params): Add comment.
15219 * doc/invoke.texi (@item -mprint-tune-info): New item.
15220 (-mtune): mention it in ARM Option Summary.
15221
15222 2015-03-25 DJ Delorie <dj@redhat.com>
15223
15224 * config/rl78/rl78.c (rl78_print_operand_1): Move 'p' test to
15225 correct clause.
15226
15227 2015-03-24 Jan Hubicka <hubicka@ucw.cz>
15228 Martin Liska <mliska@suse.cz>
15229
15230 * ipa-icf-gimple.h (return_with_result): Add missing colon to dump.
15231 * ipa-icf.c (sem_function::get_hash): Hash new declaration properties.
15232 (sem_item::add_type): New function.
15233 (sem_function::hash_stmt): Add TREE_TYPE of gimple_op.
15234 (sem_function::compare_polymorphic_p): Do not consider indirect calls.
15235 (sem_item_optimizer::update_hash_by_addr_refs): Add ODR type to hash.
15236 (sem_function::equals_wpa): Fix typo.
15237 * ipa-icf.h (sem_item::add_type): New function.
15238 (symbol_compare_hashmap_traits): Replace hashing of pointer with symbol
15239 order.
15240
15241 2015-03-24 Jakub Jelinek <jakub@redhat.com>
15242
15243 PR tree-optimization/65533
15244 * tree-vect-slp.c (vect_build_slp_tree): Before re-trying
15245 with swapped operands, call vect_free_slp_tree on
15246 SLP_TREE_CHILDREN of child and truncate the SLP_TREE_CHILDREN
15247 vector.
15248
15249 2015-03-24 Richard Biener <rguenther@suse.de>
15250
15251 PR middle-end/65517
15252 * tree-cfg.c (remove_edge_and_dominated_blocks): Mark loops
15253 for fixup if necessary.
15254
15255 2015-03-23 Sandra Loosemore <sandra@codesourcery.com>
15256
15257 * doc/extend.texi (Function Attributes): Add @cindex entries
15258 for all attributes and regularize their format. Delete text
15259 about long-obsolete 68HC11 and 68HC12 targets. Move misplaced
15260 information about "eightbit_data", "tiny_data", and "model"
15261 variable attributes to the Variable Attributes section. Fix
15262 some obvious typos and copy-editing issues.
15263 (Variable Attributes, Type Attributes): Likewise add/fix
15264 @cindex entries for all attributes.
15265
15266 2015-03-23 Jakub Jelinek <jakub@redhat.com>
15267
15268 PR target/65523
15269 * tree-chkp.c (chkp_build_returned_bound): Ignore
15270 ERF_RETURNS_ARG calls if they have fewer than needed arguments.
15271
15272 2015-03-23 Oleg Endo <olegendo@gcc.gnu.org>
15273
15274 PR target/65505
15275 * config/sh/predicates.md (simple_mem_operand,
15276 displacement_mem_operand): Add test for reg.
15277 (short_displacement_mem_operand): Test for displacement_mem_operand
15278 before invoking sh_disp_addr_displacement.
15279 * config/sh/constraints.md (Sdd, Sra): Simplify.
15280 * config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1):
15281 Remove redundant displacement_mem_operand tests.
15282
15283 2015-03-23 Georg-Johann Lay <avr@gjlay.de>
15284
15285 PR target/65296
15286 * config/avr/driver-avr.c (avr_devicespecs_file): Allow to specify
15287 the same -mmcu=MCU more than once.
15288
15289 2015-03-23 Jakub Jelinek <jakub@redhat.com>
15290
15291 PR bootstrap/65522
15292 * ipa-devirt.c: Remove duplicate demangle.h include.
15293
15294 PR target/65504
15295 * config/i386/i386.c (ix86_copy_addr_to_reg): Set REG_POINTER
15296 on the pseudo.
15297 (expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Set
15298 REG_POINTER on *destptr after adjusting it for prologue size.
15299
15300 PR ipa/65521
15301 * ipa-icf.c (sem_item::update_hash_by_addr_refs): Hash
15302 ultimate_alias_target ()->order ints instead of
15303 ultimate_alias_target () pointers.
15304
15305 2015-03-23 Richard Biener <rguenther@suse.de>
15306
15307 PR tree-optimization/65518
15308 * tree-vect-stmts.c (vectorizable_load): Reject single-element
15309 interleaving cases we generate absymal code for.
15310
15311 2015-03-23 Richard Biener <rguenther@suse.de>
15312
15313 PR tree-optimization/65494
15314 * tree-vect-slp.c (vect_build_slp_tree): Do not (re-)allocate
15315 matches here.
15316 (vect_analyze_slp_instance): But do that here, always and once.
15317
15318 2015-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
15319
15320 * expmed.c (synth_mult): Fix comment about multiplying by T-1 and
15321 adding T or multiplying by T+1 and subracting T.
15322
15323 2015-03-22 Jeff Law <law@redhat.com>
15324
15325 PR rtl-optimization/64317
15326 * Makefile.in (OBJS): Add gcse-common.c
15327 * gcse.c: Include gcse-common.h
15328 (struct modify_pair_s): Move structure definition to gcse-common.h
15329 (compute_transp): Move function to gcse-common.c.
15330 (canon_list_insert): Similarly.
15331 (record_last_mem_set_info): Break out some code and put it into
15332 gcse-common.c. Call into the new common code.
15333 (compute_local_properties): Pass additional arguments to compute_transp.
15334 * postreload-gcse.c: Include gcse-common.h and df.h
15335 (modify_mem_list_set, blocks_with_calls): New variables.
15336 (modify_mem_list, canon_modify_mem_list, transp): Likewise.
15337 (get_bb_avail_insn): Pass in the expression index too.
15338 (alloc_mem): Allocate memory for the new bitmaps and lists.
15339 (free_mem): Free memory for the new bitmaps and lists.
15340 (insert_expr_in_table): Record a bitmap index for each entry we
15341 add to the table.
15342 (record_last_mem_set_info): Call into common code in gcse-common.c.
15343 (get_bb_avail_insn): If no available insn was found in the requested
15344 BB. If BB has a single predecessor, see if the expression is
15345 transparent in BB and available in that single predecessor.
15346 (compute_expr_transp): New wrapper for compute_transp.
15347 (eliminate_partially_redundant_load): Pass expression's bitmap_index
15348 to get_bb_avail_insn. Compute next_pred_bb_end a bit later.
15349 (gcse_after_reload_main): If there are elements in the hash table,
15350 then compute transparency for all the elements in the hash table.
15351 * gcse-common.h: New file.
15352 * gcse-common.c: New file.
15353
15354 2015-03-22 Sandra Loosemore <sandra@codesourcery.com>
15355
15356 * doc/cpp.texi (Search Path): Hyphenate "command-line" when used
15357 as an adjective.
15358 (System Headers): Likewise.
15359 (Ifdef): Likewise.
15360 (Traditional macros): Likewise.
15361 (Invocation): Likewise.
15362 (Option Index): Likewise.
15363 * doc/cppopts.texi (-M): Likewise.
15364 (-finput-charset): Likewise.
15365 (--help): Likewise.
15366 * doc.invoke.texi (AVR Options): Likewise.
15367 (V850 Options): Likewise.
15368
15369 2015-03-22 Jan Hubicka <hubicka@ucw.cz>
15370
15371 PR ipa/65475
15372 * ipa-devirt.c: Include demangle.h
15373 (odr_type_d): Add field rtti_broken.
15374 (odr_subtypes_equivalent_p): Do not require name to match.
15375 (compare_virtual_tables): Fix typo; if type already has ODR violation,
15376 bypass the tests; be ready for function referneces in vtables that are
15377 not DECL_VIRTUAL; make warnings to be OPT_Wodr.
15378 (warn_odr): Give up for nameless types.
15379 (warn_types_mismatch): Report mismatch in mangled names;
15380 report mismatch in anonymous namespaces; look into component types to
15381 give useful error; report when mismatch is dragged in from other ODR
15382 type.
15383 (odr_types_equivalent_p): Match types for being polymorphic; avoid
15384 duplicated diagnostics.
15385 (add_type_duplicate): Reorder checks so more informative ones come
15386 first; fix typo; do not output "the extra base is defined here" when
15387 we did not warn.
15388 (BINFO_N_BASE_BINFOS): Relax sanity check.
15389
15390 2015-03-22 Martin Liska <mliska@suse.cz>
15391 Jakub Jelinek <jakub@redhat.com>
15392
15393 * config/i386/i386.c (def_builtin): Set deferred_isa_values for
15394 masks that can potentially include a builtin.
15395 (ix86_add_new_builtins): Introduce fast filter for isa values
15396 that cannot trigger builtin inclusion.
15397
15398 2015-03-22 Martin Liska <mliska@suse.cz>
15399
15400 * ipa-icf.c (sem_item::update_hash_by_addr_refs): New function.
15401 (sem_item::update_hash_by_local_refs): Likewise.
15402 (sem_variable::get_hash): Empty line is fixed.
15403 (sem_item_optimizer::execute): Include adding of hash references.
15404 (sem_item_optimizer::update_hash_by_addr_refs): New function.
15405 (sem_item_optimizer::build_hash_based_classes): Use local hash.
15406 * ipa-icf.h (sem_item::update_hash_by_addr_refs): New function.
15407 (sem_item::update_hash_by_local_refs): Likewise.
15408
15409 2015-03-20 Jan Hubicka <hubicka@ucw.cz>
15410
15411 PR ipa/65502
15412 * ipa-comdats.c (enqueue_references): Walk through thunks.
15413 (ipa_comdats): Likewise.
15414 (set_comdat_group_1): New function.
15415
15416 2015-03-20 Jan Hubicka <hubicka@ucw.cz>
15417
15418 PR ipa/65475
15419 * ipa-devirt.c (add_type_duplicate): Prevail polymorphic type over
15420 non-polymorphic
15421
15422 2015-03-22 Dave Korn <dave.korn.cygwin@gmail.com>
15423 Gerald Pfeifer <gerald@pfeifer.com>
15424
15425 * doc/contrib.texi (Contributors): Update entry for Danny Smith.
15426
15427 2015-03-21 Chung-Lin Tang <cltang@codesourcery.com>
15428 Sandra Loosemore <sandra@codesourcery.com>
15429
15430 * config/nios2/nios2-protos.h (nios2_adjust_call_address): Adjust
15431 function parameter declaration.
15432 * config/nios2/nios2.md (call,call_value,sibcall,sibcall_value):
15433 Update arguments to nios2_adjust_call_address().
15434 (sibcall_internal): Rename from *sibcall.
15435 (sibcall_value_internal): Rename from *sibcall_value.
15436 * config/nios2/nios2.c (nios2_emit_add_constant): New function.
15437 (nios2_large_got_address): Add target temp reg parameter.
15438 (nios2_got_address): Adjust call to nios2_large_got_address, add
15439 force_reg around it.
15440 (nios2_load_pic_address): Add target temp reg parameter, replace call
15441 to nios2_got_address with corresponding code.
15442 (nios2_legitimize_constant_address): Update call to
15443 nios2_load_pic_address.
15444 (nios2_adjust_call_address): Add temp reg parameter, update PIC case
15445 to use temp reg for PIC loading purposes.
15446 (nios2_asm_output_mi_thunk): Implement TARGET_ASM_OUTPUT_MI_THUNK.
15447 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
15448 (TARGET_ASM_OUTPUT_MI_THUNK): Likewise.
15449
15450 2015-03-21 Sandra Loosemore <sandra@codesourcery.com>
15451
15452 * doc/invoke.texi (-fno-diagnostics-show-caret): Fix
15453 usage of "the @option{...}".
15454 (-Wopenmp-simd): Likewise.
15455 (-fsanitize-recover): Likewise.
15456 (-fsanitize-undefined-trap-on-error): Likewise.
15457 (-flto): Likewise.
15458 (tracer-dynamic-coverage-feedback): Likewise.
15459 (reorder-block-duplicate-feedback): Likewise.
15460 (loop-unroll-jam-size): Likewise.
15461 (-B): Likewise.
15462 (-I-): Likewise.
15463 (-mabs=legacy): Likewise.
15464 (-mupper-regs-df): Likewise.
15465 (-mupper-regs-sf): Likewise.
15466 (-mpointers-to-nested-functions): Likewise.
15467
15468 2015-03-21 Sandra Loosemore <sandra@codesourcery.com>
15469
15470 * doc/extend.texi (Cilk Plus Builtins): Add markup.
15471
15472 2015-03-21 Sandra Loosemore <sandra@codesourcery.com>
15473
15474 * doc/invoke.texi (-fcheck-pointer-bounds): Copy-edit, add
15475 additional index entries and cross-references.
15476 (-fchkp-check-incomplete-type): Likewise.
15477 (-fchkp-first-field-has-own-bounds): Likewise.
15478 (-fchkp-narrow-to-innermost-array): Likewise.
15479 (-fchkp-use-fast-string-functions): Likewise.
15480 (-fchkp-use-nochk-string-functions): Likewise.
15481 (-fchkp-use-static-const-bounds): Likewise.
15482 (-fchkp-treat-zero-dynamic-size-as-infinite): Likewise.
15483 (-fchkp-instrument-marked-only): Likewise.
15484 (-fchkp-use-wrappers): Likewise.
15485 (-static-libmpx): Likewise.
15486 (-static-libmpxwrappers): Likewise.
15487 * doc/extend.texi (bnd_legacy): Likewise.
15488 (bnd_instrument): Likewise.
15489 (bnd_variable_size): Likewise.
15490 (Pointer Bounds Checker builtins): Likewise.
15491
15492 2015-03-21 Tom de Vries <tom@codesourcery.com>
15493
15494 PR tree-optimization/65458
15495 * cgraph.c (cgraph_node::dump): Handle parallelized_function field.
15496 * cgraph.h (cgraph_node): Add parallelized_function field.
15497 * lto-cgraph.c (lto_output_node): Write parallelized_function field.
15498 (input_overwrite_node): Read parallelized_function field.
15499 * omp-low.c (expand_omp_taskreg, finalize_task_copyfn): Set
15500 parallelized_function on cgraph_node for child_fn.
15501 * tree-parloops.c: Add include of plugin-api.h, ipa-ref.h and cgraph.h.
15502 Remove include of gt-tree-parloops.h.
15503 (parallelized_functions): Remove static variable.
15504 (parallelized_function_p): Rewrite using parallelized_function field of
15505 cgraph_node.
15506 (create_loop_fn): Remove adding to parallelized_functions.
15507 * Makefile.in (GTFILES): Remove tree-parloops.c
15508
15509 2015-03-20 Vladimir Makarov <vmakarov@redhat.com>
15510
15511 PR rtl-optimization/64366
15512 * lra.c (lra_update_insn_regno_info): Consider regs in
15513 CALL_INSN_FUNCTION_USAGE memory.
15514
15515 2015-03-20 Richard Biener <rguenther@suse.de>
15516
15517 PR middle-end/64715
15518 * tree-chrec.c (chrec_fold_poly_cst): Use useless_type_conversion_p
15519 for type comparison and gcc_checking_assert.
15520 (chrec_fold_plus_poly_poly): Likewise.
15521 (chrec_fold_multiply_poly_poly): Likewise.
15522 (chrec_convert_1): Likewise.
15523 * gimplify.c (gimplify_expr): Remove premature folding of
15524 &X + CST to &MEM[&X, CST].
15525
15526 2015-03-20 Jan Hubicka <hubicka@ucw.cz>
15527
15528 * ipa-inline.c (can_inline_edge_p): Short circuit if inline_failed
15529 already is final.
15530 (ipa_inline): Recompute inline_failed codes.
15531 * cif-code.def (FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE,
15532 USES_COMDAT_LOCAL, ATTRIBUTE_MISMATCH, UNREACHABLE): Declare as
15533 CIF_FINAL_ERROR.
15534
15535 2015-03-20 Uros Bizjak <ubizjak@gmail.com>
15536
15537 PR rtl-optimization/60851
15538 * recog.c (constrain_operands): Accept a pseudo register before reload
15539 for LRA enabled targets.
15540
15541 2015-03-19 Michael Meissner <meissner@linux.vnet.ibm.com>
15542
15543 PR target/65240
15544 * config/rs6000/predicates.md (easy_fp_constant): Remove special
15545 -ffast-math handling that kept non-0 constants live in the RTL
15546 until reload. Remove logic testing the number of instructions it
15547 took to create a constant in a GPR that was never used, due to a
15548 test for soft-float earlier.
15549 (memory_fp_constant): Delete, no longer used.
15550
15551 * config/rs6000/rs6000.md (mov<MODE>_hardfloat): Remove
15552 alternatives for loading non-0 constants into GPRs for hard
15553 floating point that is no longer needed due to changes in
15554 easy_fp_constant. Add support for loading 0.0 into GPRs.
15555 (mov<mode>_hardfloat32): Likewise.
15556 (mov<mode>_hardfloat64): Likewise.
15557 (mov<mode>_64bit_dm): Likewise.
15558 (movtd_64bit_nodm): Likewise.
15559 (pre-reload move FP constant define_split): Delete define_split,
15560 since it is no longer used.
15561 (extenddftf2_internal): Remove GHF constraints that are not valid
15562 for extenddftf2.
15563
15564 2015-03-19 Vladimir Makarov <vmakarov@redhat.com>
15565
15566 PR rtl-optimization/63491
15567 * lra-constraints.c (check_and_process_move): Use src instead of
15568 sreg. Remove some dead code.
15569
15570 2015-03-19 Jan Hubicka <hubicka@ucw.cz>
15571
15572 PR ipa/65380
15573 * ipa-icf.c (sem_function::merge): Do not merge DECL_EXTERNAL symbols.
15574 (sem_variable::merge): Likewise.
15575
15576 2015-03-19 Martin Liska <mliska@suse.cz>
15577
15578 PR ipa/65465
15579 * cgraphunit.c (cgraph_node::create_wrapper): Correctly reset
15580 all fields of cgraph_thunk_info.
15581
15582 2015-03-19 Ilya Enkovich <ilya.enkovich@intel.com>
15583
15584 * ipa-chkp.c (chkp_maybe_create_clone): Don't try to
15585 clone instrumented thunks.
15586
15587 2015-03-19 Richard Biener <rguenther@suse.de>
15588
15589 Revert
15590 2015-03-10 Richard Biener <rguenther@suse.de>
15591
15592 PR middle-end/63155
15593 * tree-ssa-coalesce.h (verify_ssa_coalescing): Declare.
15594 * tree-ssa-coalesce.c: Include timevar.h.
15595 (attempt_coalesce): Handle graph being NULL.
15596 (coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING.
15597 Split out abnormal coalescing to ...
15598 (perform_abnormal_coalescing): ... this function.
15599 (coalesce_ssa_name): Perform abnormal coalescing without computing
15600 live/conflict.
15601 (verify_ssa_coalescing_worker): New function.
15602 (verify_ssa_coalescing): Likewise.
15603
15604 2015-03-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
15605 Jakub Jelinek <jakub@redhat.com>
15606
15607 PR sanitizer/65400
15608 * tsan.c (instrument_gimple): Clear tail call flag on
15609 calls.
15610
15611 2015-03-19 Jakub Jelinek <jakub@redhat.com>
15612
15613 PR sanitizer/65400
15614 * ipa-split.c (find_return_bb): Allow TSAN_FUNC_EXIT internal
15615 call in the return bb.
15616 (find_split_points): Add RETURN_BB argument, don't call
15617 find_return_bb.
15618 (split_function): Likewise. Add ADD_TSAN_FUNC_EXIT argument,
15619 if true append TSAN_FUNC_EXIT internal call after the call to
15620 the split off function.
15621 (execute_split_functions): Call find_return_bb here.
15622 Don't optimize if TSAN_FUNC_EXIT is found in unexpected places.
15623 Adjust find_split_points and split_function calls.
15624
15625 2015-03-18 DJ Delorie <dj@redhat.com>
15626
15627 * config/rl78/rl78-virt.md (andqi3_virt): Allow far operands.
15628 (iorqi3_virt): Likewise.
15629
15630 2015-03-18 Tom de Vries <tom@codesourcery.com>
15631
15632 * tree-parloops.c (parallelize_loops): Make static.
15633 * tree-parloops.h (parallelize_loops): Remove extern declaration.
15634
15635 2015-03-18 Andrew Stubbs <ams@codesourcery.com>
15636
15637 PR middle-end/64491
15638 Revert:
15639 2014-11-20 Andrew Stubbs <ams@codesourcery.com>
15640
15641 * tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Warn if a loop
15642 condition would be removed due to undefined behaviour.
15643
15644 2015-03-18 Martin Liska <mliska@suse.cz>
15645
15646 PR ipa/65432
15647 * cgraph.c (cgraph_node::get_create): Remove unnecessary
15648 xstrdup_for_dump wrapper.
15649 * ipa-icf.c (sem_item::dump): Use symtab_node::name instead of
15650 sem_item::name.
15651 (sem_function::equals): Wrap symtab_node::name and symtab_node::asm_name
15652 with xstrdup_for_dump.
15653 (sem_variable::equals): Likewise.
15654 (sem_item_optimizer::read_section): Use symtab_node::name instead of
15655 sem_item::name.
15656 (sem_item_optimizer::parse_funcs_and_vars): Likewise.
15657 (sem_item_optimizer::merge_classes): Wrap symtab_node::name and
15658 symtab_node::asm_name with xstrdup_for_dump.
15659 (congruence_class::dump): Use symtab_node::name instead of
15660 sem_item::name.
15661 * ipa-icf.h (symtab_node::name): Remove.
15662 (symtab_node::asm_name): Likewise.
15663
15664 2015-03-18 Jakub Jelinek <jakub@redhat.com>
15665
15666 PR tree-optimization/65450
15667 * tree-vect-data-refs.c (vect_duplicate_ssa_name_ptr_info): New
15668 function.
15669 (vect_create_addr_base_for_vector_ref, vect_create_data_ref_ptr): Use
15670 it instead of duplicate_ssa_name_ptr_info.
15671
15672 PR target/65222
15673 * doc/invoke.texi: Add knl as x86 -march=/-mtune= CPU type.
15674
15675 2015-03-18 Richard Biener <rguenther@suse.de>
15676
15677 * tree-data-ref.h (struct access_matrix): Remove.
15678 (AM_LOOP_NEST, AM_NB_INDUCTION_VARS, AM_PARAMETERS, AM_MATRIX,
15679 AM_NB_PARAMETERS, AM_CONST_COLUMN_INDEX, AM_NB_COLUMNS,
15680 AM_GET_SUBSCRIPT_ACCESS_VECTOR, AM_GET_ACCESS_MATRIX_ELEMENT): Likewise.
15681 (am_vector_index_for_loop): Likewise.
15682 (struct data_reference): Remove access_matrix member.
15683 (DR_ACCESS_MATRIX): Remove.
15684 (lambda_vector_new): Add comment.
15685 (lambda_matrix_new): Use XOBNEWVEC.
15686
15687 2015-03-18 Richard Biener <rguenther@suse.de>
15688
15689 * tree-ssa-loop-ch.c (pass_data_ch): Remove TODO_cleanup_cfg.
15690 (pass_ch::execute): Cleanup the CFG only if we did sth.
15691 * tree-vect-generic.c (pass_data_lower_vector): Remove TODO_cleanup_cfg.
15692
15693 2015-03-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
15694
15695 * expmed.c (synth_mult): Use std::swap instead of manually
15696 swapping algorithms.
15697
15698 2015-03-18 Jakub Jelinek <jakub@redhat.com>
15699
15700 PR target/65078
15701 * config/i386/sse.md (movsi/movdi -> vec_extract_*_0 splitter): New.
15702
15703 2015-03-16 Georg-Johann Lay <avr@gjlay.de>
15704
15705 PR target/65296
15706 * config/avr/avr.opt (-nodevicelib): New option.
15707 * doc/invoke.texi (AVR Options): Document it.
15708 * config/avr/avrlibc.h (LIB_SPEC, LIBGCC_SPEC) [avr1]: Don't link
15709 libgcc.a, libc.a, libm.a.
15710 * config/avr/specs.h: Same.
15711 * config/avr/gen-avr-mmcu-specs.c (print_mcu): Don't print specs
15712 which don't (directly) depend on the device. Print more help.
15713 (*avrlibc_devicelib) [-nodevicelib]: Don't link libdev.a.
15714 (*cpp): Don't define __AVR_DEV_LIB_NAME__.
15715 * config/avr/driver-avr.c: Remove -nodevicelib from option list in
15716 case of an error.
15717 (avr_devicespecs_file): Use suffix "%s" instead of absolute path
15718 for specs file name.
15719 * config/avr/avr-arch.h (avr_mcu_t) [.library_name]: Remove.
15720 * config/avr/avr-mcus.def: Adjust initializers and comments.
15721
15722 2015-03-16 Jan Hubicka <hubicka@ucw.cz>
15723
15724 * tree-sra.c (ipa_sra_preliminary_function_checks): Use
15725 DECL_ONE_ONLY to check if decl is one only.
15726 * ipa-split.c (consider_split): Limit splitt of one only functions.
15727
15728 2015-03-16 Jakub Jelinek <jakub@redhat.com>
15729
15730 PR tree-optimization/65427
15731 * tree-vect-generic.c (do_cond, expand_vector_scalar_condition): New
15732 functions.
15733 (expand_vector_operations_1): Handle BLKmode vector COND_EXPR.
15734
15735 2015-03-16 Marek Polacek <polacek@redhat.com>
15736
15737 * cgraph.h (add_new_static_var): Remove declaration.
15738 * varpool.c (add_new_static_var): Remove function.
15739
15740 2015-03-16 Jakub Jelinek <jakub@redhat.com>
15741
15742 * omp-low.c (expand_omp_target): Use auto_vec<tree, 11>
15743 instead of vec<tree> * with vec_alloc and release for args.
15744 Adjust all users.
15745
15746 PR middle-end/65431
15747 * omp-low.c (delete_omp_context): Only splay_tree_delete
15748 reduction_map in GIMPLE_OMP_TARGET is_gimple_omp_offloaded
15749 is_gimple_omp_oacc contexts. Don't look at ctx->outer.
15750
15751 2015-03-16 Max Ostapenko <m.ostapenko@partner.samsung.com>
15752
15753 PR sanitizer/64820
15754 * cfgexpand.c (align_base): New function.
15755 (alloc_stack_frame_space): Call it.
15756 (expand_stack_vars): Align prev_frame to be sure
15757 data->asan_vec elements aligned properly.
15758
15759 2015-03-16 Eric Botcazou <ebotcazou@adacore.com>
15760
15761 PR middle-end/65409
15762 * expr.c (store_field): Do not do a direct block copy if the source is
15763 a PARALLEL with BLKmode.
15764
15765 2015-03-16 Tom de Vries <tom@codesourcery.com>
15766
15767 PR middle-end/65414
15768 Revert:
15769 2015-03-12 Tom de Vries <tom@codesourcery.com>
15770
15771 PR rtl-optimization/64895
15772 * lra-lives.c (check_pseudos_live_through_calls): Use
15773 actual_call_used_reg_set instead of call_used_reg_set, if available.
15774
15775 2015-03-16 Alan Modra <amodra@gmail.com>
15776
15777 PR target/63150
15778 * config/rs6000/rs6000.md (bswapdi2): Remove one scratch reg.
15779 Modify Z->r bswapdi splitter to use dest in place of scratch.
15780 In r->Z and Z->r bswapdi splitter rename word_high, word_low
15781 to word1, word2 and rearrange logic to suit.
15782 (bswapdi2_64bit): Remove early clobber on Z->r alternative.
15783 (bswapdi2_ldbrx): Likewise. Remove '??' on r->r.
15784 (bswapdi2_32bit): Remove early clobber on Z->r alternative.
15785 Add one '?' on r->r. Modify Z->r splitter to avoid need for
15786 early clobber.
15787
15788 2015-03-14 Jakub Jelinek <jakub@redhat.com>
15789
15790 PR tree-optimization/65369
15791 * tree-vect-stmts.c (vectorizable_load) <case dr_explicit_realign>:
15792 Set bump to vs * TYPE_SIZE_UNIT (elem_type) - 1 instead of
15793 (vs - 1) * TYPE_SIZE_UNIT (elem_type).
15794
15795 PR tree-optimization/65418
15796 * tree-ssa-reassoc.c (extract_bit_test_mask): If there
15797 are casts in the first PLUS_EXPR operand, ensure tbias and
15798 *totallowp are in the inner type.
15799
15800 PR rtl-optimization/65401
15801 * combine.c (rtx_equal_for_field_assignment_p): Add widen_x
15802 argument. If true, adjust_address_nv of x with big-endian
15803 correction for the mode widening to GET_MODE (y).
15804 (make_field_assignment): Don't do MEM mode widening here.
15805 Use MEM_P instead of GET_CODE == MEM.
15806
15807 2015-03-13 Ilya Verbin <ilya.verbin@intel.com>
15808
15809 * varpool.c (varpool_node::get_create): Don't set 'offloadable' flag for
15810 the external decls.
15811
15812 2015-03-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
15813
15814 PR target/64600
15815 * config/arm/arm.c (arm_gen_constant, AND case): Use
15816 ARM_SIGN_EXTEND when constructing AND mask.
15817
15818 2015-03-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
15819
15820 * graph.c (print_graph_cfg): Make function names visible and append
15821 parenthesis to it. Also make groups of basic blocks belonging to the
15822 same function visible.
15823
15824 2015-03-12 Richard Biener <rguenther@suse.de>
15825
15826 PR middle-end/44563
15827 * tree-inline.c (gimple_expand_calls_inline): Walk BB backwards
15828 to avoid quadratic behavior with inline expansion splitting blocks.
15829 * tree-cfgcleanup.c (cleanup_tree_cfg_bb): Do not merge block
15830 with the successor if the predecessor will be merged with it.
15831 * tree-cfg.c (gimple_can_merge_blocks_p): We can't merge the
15832 entry block with its successor.
15833
15834 2015-03-13 Richard Biener <rguenther@suse.de>
15835
15836 PR middle-end/44563
15837 * tree-cfgcleanup.c (split_bb_on_noreturn_calls): Remove.
15838 (cleanup_tree_cfg_1): Do not call it.
15839 (execute_cleanup_cfg_post_optimizing): Fixup the CFG here.
15840 (fixup_noreturn_call): Mark the stmt as control altering.
15841 * tree-cfg.c (execute_fixup_cfg): Do not dump the function
15842 here.
15843 (pass_data_fixup_cfg): Produce a dump file.
15844 * tree-ssa-dom.c: Include tree-cfgcleanup.h.
15845 (need_noreturn_fixup): New global.
15846 (pass_dominator::execute): Fixup queued noreturn calls.
15847 (optimize_stmt): Queue calls that became noreturn for fixup.
15848 * tree-ssa-forwprop.c (pass_forwprop::execute): Likewise.
15849 * tree-ssa-pre.c: Include tree-cfgcleanup.h.
15850 (el_to_fixup): New global.
15851 (eliminate_dom_walker::before_dom_childre): Queue calls that
15852 became noreturn for fixup.
15853 (eliminate): Fixup queued noreturn calls.
15854 * tree-ssa-propagate.c: Include tree-cfgcleanup.h.
15855 (substitute_and_fold_dom_walker): New member stmts_to_fixup.
15856 (substitute_and_fold_dom_walker::before_dom_children): Queue
15857 alls that became noreturn for fixup.
15858 (substitute_and_fold): Fixup queued noreturn calls.
15859
15860 2015-03-12 Jan Hubicka <hubicka@ucw.cz>
15861
15862 * ipa-icf.c (sem_function::equals_wpa): Match CXX_CONSTRUCTOR_P
15863 and CXX_DESTURCTOR_P. For consutrctors match ODR type of class they
15864 are building; for methods check ODR type of class they belong to if
15865 they may lead to a polymorphic call.
15866 (sem_function::compare_polymorphic_p): Be bit smarter about testing
15867 when function may lead to a polymorphic call.
15868 (sem_function::compare_type_list): Remove.
15869 (sem_variable::equals): Update use of compatible_types_p.
15870 (sem_variable::parse_tree_refs): Remove.
15871 (sem_item_optimizer::filter_removed_items): Do not filter out CXX
15872 cdtor.
15873 * ipa-icf-gimple.c (func_checker::compare_decl): Do polymorphic
15874 matching here.
15875 (func_checker::compatible_polymorphic_types_p): Break out from ...
15876 (unc_checker::compatible_types_p): ... here.
15877 * ipa-icf-gimple.h (func_checker::compatible_polymorphic_types_p):
15878 Declare.
15879 (unc_checker::compatible_types_p): Update.
15880 * ipa-icf.h (compare_type_list, parse_tree_refs, compare_sections):
15881 Remove.
15882
15883 2015-03-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
15884
15885 PR rtl-optimization/65235
15886 * simplify-rtx.c (simplify_binary_operation_1, VEC_SELECT case):
15887 When first element of vec_concat is const_int, calculate its size
15888 using second element.
15889
15890 2015-03-12 Richard Biener <rguenther@suse.de>
15891
15892 PR middle-end/65270
15893 * fold-const.c (operand_equal_p): Fix ordering of resetting
15894 OEP_ADDRESS_OF and checking for it in the [TARGET_]MEM_REF case.
15895
15896 2015-03-12 Dominik Vogt <vogt@linux.vnet.ibm.com>
15897
15898 * config/s390/s390.c (s390_reorg): Move code to output nops after label
15899 to s390_reorg ().
15900 (s390_asm_output_function_label): Likewise.
15901 * config/s390/s390.c (s390_asm_output_function_label):
15902 Fix function label alignment with -mhtopatch.
15903 * config/s390/s390.md ("unspecv"): New values UNSPECV_NOP_2_BYTE,
15904 UNSPECV_NOP_4_BYTE and UNSPECV_NOP_6_BYTE
15905 ("nop_2_byte"): New define_insn.
15906 ("nop_4_byte"): Likewise.
15907 ("nop_6_byte"): Likewise.
15908 * doc/extend.texi (hotpatch): hotpatch attribute doc fixes.
15909 * doc/invoke.texi (-mhotpatch): -mhotpatch doc fixes.
15910
15911 2015-03-12 Ilya Enkovich <ilya.enkovich@intel.com>
15912
15913 PR target/65103
15914 * config/i386/i386.c (ix86_address_cost): Fix cost of a PIC
15915 register.
15916
15917 2015-03-12 Ilya Enkovich <ilya.enkovich@intel.com>
15918
15919 PR target/65044
15920 * toplev.c (process_options): Restrict Pointer Bounds Checker
15921 usage with Address Sanitizer.
15922
15923 2015-03-12 Richard Biener <rguenther@suse.de>
15924
15925 * tree-cfg.c (gimple_split_block): Remove loop finding stmt
15926 to split on.
15927 * omp-low.c (expand_omp_taskreg): Split block before removing
15928 the stmt.
15929 (expand_omp_target): Likewise.
15930 * ubsan.c (ubsan_expand_null_ifn): Adjust stmt if we replaced it.
15931 * tree-parloops.c (create_call_for_reduction_1): Pass a proper
15932 stmt to split_block.
15933
15934 2015-03-12 Tom de Vries <tom@codesourcery.com>
15935
15936 PR rtl-optimization/64895
15937 * lra-lives.c (check_pseudos_live_through_calls): Use
15938 actual_call_used_reg_set instead of call_used_reg_set, if available.
15939
15940 2015-03-10 Jan Hubicka <hubicka@ucw.cz>
15941
15942 * cgraph.c (cgraph_node::release_body): Free function_in_decl_state.
15943 (cgraph_node::remove): Likewise.
15944 (cgraph_node::get_untransformed_body): Likewise.
15945 * varpool.c (varpool_node::remove): Likewise.
15946 (varpool_node::get_constructor): Add sanity check.
15947
15948 2015-03-11 Sandra Loosemore <sandra@codesourcery.com>
15949
15950 * doc/invoke.texi (-fgnu89-inline): Remove discussion about
15951 old GCC versions.
15952 (-fabi-compat-version): Likewise.
15953 (-ffriend-injection): Likewise.
15954 (-Wdeclaration-after-statement): Likewise.
15955 (-fomit-frame-pointer): Likewise.
15956 (-ftree-coalesce-inlined-vars): Likewise.
15957 (-fvisibility=): Likewise.
15958 * doc/extend.texi (Typeof): Likewise.
15959 (Zero Length): Likewise.
15960 (Escaped Newlines): Likewise.
15961 (Compound Literals): Likewise.
15962 (Function Attributes): Likewise.
15963 (Label Attributes): Likewise.
15964 (Type Attributes): Likewise.
15965 (Function Names): Likewise.
15966 (Other Builtins): Likewise.
15967 (Function Specific Option Pragmas): Likewise.
15968 (C++ Interface): Likewise.
15969
15970 2015-03-11 Thomas Schwinge <thomas@codesourcery.com>
15971
15972 * config/nvptx/nvptx.h (LIBSTDCXX): Define to "gcc".
15973
15974 2015-03-11 Marek Polacek <polacek@redhat.com>
15975
15976 PR tree-optimization/65388
15977 * tree-ssa-tail-merge.c (same_succ_def::equal): Fix typo in comparison.
15978
15979 2015-03-10 Georg-Johann Lay <avr@gjlay.de>
15980
15981 PR target/65296
15982 * configure.ac [avr]: Check as for options -mrmw, --mlink-relax.
15983 * configure: Regenerate.
15984 * config.in: Regenerate.
15985 * doc/invoke.texi (AVR Options) [-mrmw]: Document it.
15986 [-mn-flash]: Document it.
15987 [__AVR_ARCH__]: Document avrtiny.
15988
15989 * config/avr/gen-avr-mmcu-specs.c (config.h): Include it.
15990 (*asm_relax): Only define spec if HAVE_AS_AVR_MLINK_RELAX_OPTION.
15991 (*asm_rmw): Only define spec if HAVE_AS_AVR_MRMW_OPTION.
15992
15993 2015-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
15994
15995 * doc/invoke.texi: Add missing cpu values (z196, zEC12).
15996
15997 2015-03-11 Michael Meissner <meissner@linux.vnet.ibm.com>
15998
15999 PR target/65242
16000 * config/rs6000/rs6000.c (rs6000_preferred_reload_class): Do not
16001 allow reloads of PLUS in floating point/VSX registers.
16002
16003 2015-03-11 Junmo Park <junmoz.park@samsung.com>
16004
16005 * config/arm/cortex-a57.md (cortex_a57_crypto_simple): Add
16006 crypto_sha256_fast.
16007 (cortex_a57_crypto_complex): Add crypto_sha256_slow.
16008
16009 2015-03-11 Richard Biener <rguenther@suse.de>
16010
16011 PR tree-optimization/65310
16012 * tree-sra.c (build_ref_for_offset): Also preserve larger
16013 alignment.
16014
16015 2015-03-11 Marat Zakirov <m.zakirov@samsung.com>
16016
16017 * asan.c (instrument_derefs): Disable instrumentation on asan-globals=0.
16018
16019 2015-03-10 Jakub Jelinek <jakub@redhat.com>
16020
16021 PR target/65368
16022 * config/i386/i386.md (bmi2_bzhi_<mode>3): Removed define_insn,
16023 new define_expand.
16024 (*bmi2_bzhi_<mode>3, *bmi2_bzhi_<mode>3_1): New define_insns.
16025
16026 2015-03-10 Jan Hubicka <hubicka@ucw.cz>
16027
16028 * ipa-icf.c (sem_function::equals_wpa): Move here some checks from ...
16029 (sem_function::equals_wpa): ... here.
16030
16031 2015-03-10 Marek Polacek <polacek@redhat.com>
16032 Jakub Jelinek <jakub@redhat.com>
16033
16034 PR sanitizer/65367
16035 * ubsan.c (ubsan_expand_objsize_ifn): Update GSI instead of GSI_ORIG
16036 when only removing the statement. Handle expanding UBSAN_OBJECT_SIZE
16037 separately.
16038
16039 2015-03-10 Jakub Jelinek <jakub@redhat.com>
16040
16041 PR target/65286
16042 * config/rs6000/t-linux: For powerpc64* target set
16043 MULTILIB_OSDIRNAMES instead of MULTIARCH_DIRNAME.
16044
16045 2015-03-10 Richard Biener <rguenther@suse.de>
16046
16047 PR middle-end/44563
16048 * tree-inline.c (copy_cfg_body): Skip block mapped to entry/exit
16049 for redirect_all_calls.
16050
16051 2015-03-10 Marek Polacek <polacek@redhat.com>
16052
16053 * gdbinit.in (pcfun): Define and document.
16054
16055 2015-03-10 Ilya Verbin <ilya.verbin@intel.com>
16056
16057 * config/i386/intelmic-mkoffload.c: Include intelmic-offload.h instead
16058 of libgomp-plugin.h.
16059 (find_target_compiler): Support a case when the path to gcc is
16060 specified in the PATH env var, so COLLECT_GCC doesn't contain a path.
16061 (generate_host_descr_file): Use GOMP_DEVICE_INTEL_MIC from
16062 intelmic-offload.h instead of OFFLOAD_TARGET_TYPE_INTEL_MIC from
16063 libgomp-plugin.h.
16064 (main): Use GCC_INSTALL_NAME as target_driver_name.
16065 * config/i386/t-intelmic (CFLAGS-mkoffload.o): Add GCC_INSTALL_NAME
16066 define.
16067 (mkoffload.o): Remove obsolete include path and defines.
16068 (mkoffload$(exeext)): Use $(LINKER) instead of $(COMPILER).
16069
16070 2015-03-10 Richard Biener <rguenther@suse.de>
16071
16072 PR middle-end/63155
16073 * tree-ssa-coalesce.h (verify_ssa_coalescing): Declare.
16074 * tree-ssa-coalesce.c: Include timevar.h.
16075 (attempt_coalesce): Handle graph being NULL.
16076 (coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING.
16077 Split out abnormal coalescing to ...
16078 (perform_abnormal_coalescing): ... this function.
16079 (coalesce_ssa_name): Perform abnormal coalescing without computing
16080 live/conflict.
16081 (verify_ssa_coalescing_worker): New function.
16082 (verify_ssa_coalescing): Likewise.
16083
16084 2015-03-10 Georg-Johann Lay <avr@gjlay.de>
16085
16086 PR target/65296
16087 * config.gcc (extra_options) [avr]: Remove.
16088 (extra_gcc_objs) [avr]: Use driver-avr.o, avr-devices.o.
16089 (tm_file) [avr]: Add avr/specs.h after avr/avr.h.
16090 (tm_defines) [avr-*-rtems*]: Add WITH_RTEMS.
16091
16092 * config/avr/avr.opt (config/avr/avr-arch.h): Remove include.
16093 (-mmcu=): Add Var and MissingArgError properties.
16094 (-march=): Remove.
16095 * config/avr/genmultilib.awk: Use -mmcu= instead of -march=.
16096 * config/avr/t-multilib: Regenerate.
16097 * config/avr/specs.h: New file.
16098 * config/avr/driver-avr.c: New file.
16099 * config/avr/genopt.sh: Remove file.
16100 * config/avr/avr-tables.opt: Remove file.
16101 * config/avr/predicates.md (avr_current_arch): Rename to avr_arch.
16102 * config/avr/avr-c.c: Same.
16103 * avr-arch.h: Same.
16104 (avr_current_device): Remove proto.
16105 * config/avr/avr.h (avr_current_arch): Rename to avr_arch.
16106 (AVR_HAVE_8BIT_SP): Don't depend on avr_current_device.
16107 (EXTRA_SPEC_FUNCTIONS): Define.
16108 (avr_devicespecs_file): New specs function proto.
16109 (DRIVER_SELF_SPECS): Use device-specs-file spec function.
16110 * config/avr/avr.c (avr_current_arch): Rename to avr_arch.
16111 (avr_current_device): Remove definition and usage.
16112 (avr_set_core_architecture): New static function.
16113 (avr_option_override): Use it.
16114 * config/avr/avr-devices.c (diagnostic.h, avr-arch.h): Include them.
16115 (mcu_name): New static array.
16116 (comparator, avr_archs_str, avr_mcus_str): New static functions.
16117 (avr_inform_devices, avr_inform_core_architectures): New functions.
16118 * config/avr/gen-avr-mmcu-specs.c (avr-arch.h, specs.h): Include.
16119 (avrlibc.h) [WITH_AVRLIBC]: Include.
16120 (../rtems.h, rtems.h) [WITH_RTEMS]: Include.
16121 (print_mcu): Rewrite from scratch.
16122 * config/avr/avrlibc.h (LIB_SPEC, LIBGCC_SPEC, STARTFILE_SPEC):
16123 Forward to avr-specific specs defined in device-specs file.
16124 * config/avr/t-avr (driver-avr.o): New rule.
16125 (avr-devices.o): Depend on avr-arch.h.
16126 (avr-mcus): No more depend on avr-tables.opt.
16127 (avr-tables.opt): Remove rule.
16128 (install-device-specs): Use INSTALL_DATA, not INSTALL_PROGRAM.
16129
16130 2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
16131
16132 * c-family/c.opt (fchkp-use-wrappers): New.
16133 * ipa-chkp.c (CHKP_WRAPPER_SYMBOL_PREFIX): New.
16134 (chkp_wrap_function): New.
16135 (chkp_build_instrumented_fndecl): Support wrapped
16136 functions.
16137 * doc/invoke.texi (-fcheck-pointer-bounds): New.
16138 (-fchkp-check-incomplete-type): New.
16139 (-fchkp-first-field-has-own-bounds): New.
16140 (-fchkp-narrow-bounds): New.
16141 (-fchkp-narrow-to-innermost-array): New.
16142 (-fchkp-optimize): New.
16143 (-fchkp-use-fast-string-functions): New.
16144 (-fchkp-use-nochk-string-functions): New.
16145 (-fchkp-use-static-bounds): New.
16146 (-fchkp-use-static-const-bounds): New.
16147 (-fchkp-treat-zero-dynamic-size-as-infinite): New.
16148 (-fchkp-check-read): New.
16149 (-fchkp-check-write): New.
16150 (-fchkp-store-bounds): New.
16151 (-fchkp-instrument-calls): New.
16152 (-fchkp-instrument-marked-only): New.
16153 (-fchkp-use-wrappers): New.
16154 (-static-libmpx): New.
16155 (-static-libmpxwrappers): New.
16156
16157 2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
16158
16159 * config/i386/linux-common.h (LIBMPX_WRAPPERSSPEC): New.
16160 (CHKP_SPEC): Add wrappers library.
16161 * c-family/c.opt (static-libmpxwrappers): New.
16162
16163 2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
16164
16165 * config/i386/linux-common.h (LIBMPX_LIBS): New.
16166 (LIBMPX_SPEC): New.
16167 (CHKP_SPEC): New.
16168 * gcc.c (CHKP_SPEC): New.
16169 (LINK_COMMAND_SPEC): Add CHKP_SPEC.
16170 * c-family/c.opt (static-libmpx): New.
16171
16172 2015-03-10 Richard Biener <rguenther@suse.de>
16173
16174 PR middle-end/44563
16175 * cgraph.h (struct cgraph_edge_hasher): Add hash overload
16176 for compare_type.
16177 * cgraph.c (cgraph_edge_hasher::hash): Inline htab_hash_pointer.
16178 (cgraph_update_edge_in_call_site_hash): Use cgraph_edge_hasher::hash.
16179 (cgraph_add_edge_to_call_site_hash): Likewise.
16180 (cgraph_node::get_edge): Likewise.
16181 (cgraph_edge::set_call_stmt): Likewise.
16182 (cgraph_edge::remove_caller): Likewise.
16183
16184 2015-03-10 Chung-Ju Wu <jasonwucj@gmail.com>
16185
16186 * config/nds32/nds32.h (callee_saved_regs_size): Rename to ...
16187 (callee_saved_gpr_regs_size): ... this.
16188 (callee_saved_regs_first_regno): Rename to ...
16189 (callee_saved_first_gpr_regno): ... this.
16190 (callee_saved_regs_last_regno) Rename to ...
16191 (callee_saved_last_gpr_regno): ... this.
16192 * config/nds32/nds32.c (nds32_compute_stack_frame): Adjust renamed
16193 variables.
16194 (nds32_initial_elimination_offset): Likewise.
16195 (nds32_expand_prologue): Likewise.
16196 (nds32_expand_epilogue): Likewise.
16197 (nds32_expand_prologue_v3push): Likewise.
16198 (nds32_expand_epilogue_v3pop): Likewise.
16199 * config/nds32/nds32-md-auxiliary.c (nds32_output_stack_push):
16200 Adjust renamed variables.
16201 (nds32_output_stack_pop): Likewise.
16202
16203 2015-03-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
16204
16205 * dominance.c (nearest_common_dominator_for_set): Fix A_Dominated_by_B
16206 code in comment.
16207
16208 2015-03-10 Jakub Jelinek <jakub@redhat.com>
16209
16210 PR rtl-optimization/65321
16211 * cfgexpand.c (expand_debug_expr): Ensure shift amount isn't wider
16212 than shift mode.
16213 * var-tracking.c (use_narrower_mode): Likewise.
16214
16215 2015-03-10 Jan Hubicka <hubicka@ucw.cz>
16216
16217 PR tree-optimization/65355
16218 * varasm.c (notice_global_symbol): Do not produce RTL.
16219 * symtab.c (symtab_node::can_increase_alignment_p): Check for section
16220 anchor.
16221 * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Do not
16222 check for section anchors.
16223
16224 2015-03-10 Alan Modra <amodra@gmail.com>
16225
16226 PR target/65286
16227 * config.gcc (powerpc*-*-linux*): Arrange for powerpc64le-linux
16228 to be single-arch by default. Set cpu_is_64bit for powerpc64
16229 given --with-cpu=native.
16230 * config/rs6000/t-fprules: Do not set default MULTILIB vars.
16231 * config/rs6000/t-linux (MULTIARCH_DIRNAME): Support powerpc64
16232 and powerpc64le.
16233 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Test
16234 rs6000_isa_flags rather than TARGET_64BIT.
16235
16236 2015-03-09 Yoshinori Sato <ysato@users.sourceforge.jp>
16237 Kaz Kojima <kkojima@gcc.gnu.org>
16238
16239 * config/sh/t-linux (MULTILIB_EXCEPTIONS): Define for m2a cases.
16240
16241 2015-03-09 Jakub Jelinek <jakub@redhat.com>
16242
16243 PR lto/65361
16244 * ipa-devirt.c (add_type_duplicate): Don't use DECL_CONTEXT
16245 on a TREE_BINFO, instead use BINFO_TYPE.
16246
16247 2015-03-09 Richard Biener <rguenther@suse.de>
16248
16249 PR middle-end/65270
16250 * tree-core.h (enum operand_equal_flag): Add OEP_ADDRESS_OF.
16251 * fold-const.c (operand_equal_p): When recursing for ADDR_EXPRs
16252 operand set OEP_ADDRESS_OF. Clear it when recursing to non-bases
16253 of that. When comparing dereferences compare alignment.
16254 When comparing MEM_REFs or TARGET_MEM_REFs compare dependence info.
16255
16256 2015-03-08 Jan Hubicka <hubicka@ucw.cz>
16257
16258 * ipa-inline-analysis.c (check_callers): Check
16259 node->can_remove_if_no_direct_calls_and_refs_p.
16260 (growth_likely_positive): Reorganize to call
16261 can_remove_if_no_direct_calls_p later.
16262 * cgraph.h (will_be_removed_from_program_if_no_direct_calls_p,
16263 will_be_removed_from_program_if_no_direct_calls_p): Add
16264 will_inline parameter.
16265 * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p,
16266 cgraph_node::will_be_removed_from_program_if_no_direct_calls_p):
16267 Handle inliner case correctly.
16268
16269 2015-03-09 Thomas Preud'homme <thomas.preudhomme@arm.com>
16270
16271 PR tree-optimization/63743
16272 * cfgexpand.c (reorder_operands): Also reorder if only second operand
16273 had its definition forwarded by TER.
16274
16275 2015-03-08 Jan Hubicka <hubicka@ucw.cz>
16276
16277 PR lto/65316
16278 * ipa-utils.h (types_odr_comparable): Add strict argument.
16279 * ipa-devirt.c: Fix whitespace;
16280 (odr_hasher): Remove.
16281 (odr_name_hasher, odr_vtable_hasher): New hashers.
16282 (can_be_name_hashed_p): New predicate.
16283 (hash_type_name): remove.
16284 (hash_odr_name): New.
16285 (odr_name_hasher::hash): new.
16286 (can_be_vtable_hashed_p): New.
16287 (hash_odr_vtable): New.
16288 (odr_vtable_hasher::hash): New.
16289 (types_same_for_odr): Add strict parameter.
16290 (types_odr_comparable): Likewise.
16291 (odr_name_hasher::equal): New.
16292 (odr_vtable_hasher::equal): New.
16293 (odr_name_hasher::remove): New.
16294 (odr_hash_type): Change to hash_table<odr_name_hasher>.
16295 (odr_vtable_hash_type): New.
16296 (odr_vtable_hash): New.
16297 (odr_subtypes_equivalent_p): Do strict comparsion.
16298 (add_type_duplicate): Merge type names; cleanup; avoid type
16299 duplicates.
16300 (register_odr_type): Initialize vtable hash.
16301 (build_type_inheritance_graph): Likewise
16302 (get_odr_type): Reorg to use two hashes.
16303 (dump_possible_polymorphic_call_targets): Move sanity check after debug
16304 output.
16305 (ipa_devirt): Dump type_inheritance_graph.
16306 (types_same_for_odr): Add strict mode.
16307
16308 2015-03-05 Jan Hubicka <hubicka@ucw.cz>
16309
16310 PR ipa/65334
16311 * cgraph.h (symtab_node): Add definition_alignment,
16312 can_increase_alignment_p and increase_alignment.
16313 * symtab.c (symtab_node::can_increase_alignment_p,
16314 increase_alignment_1, symtab_node::increase_alignment,
16315 symtab_node::definition_alignment): New.
16316 * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Use
16317 can_increase_alignment_p.
16318 * tree-vectorizer.c (increase_alignment): Use increase_alignment.
16319 * tree-vect-stmts.c (ensure_base_align): Likewise.
16320 * varasm.c (function_section_1): Use definition_alignment.
16321 (assemble_start_function): Likewise.
16322 (emit_local): likewise.
16323 (build_constant_desc): Likewsie.
16324 (output_constant_def_contents): Likewise.
16325 (place_block_symbol): Likewise.
16326 (output_object_block): Likewise.
16327
16328 2015-03-05 Jan Hubicka <hubicka@ucw.cz>
16329
16330 PR ipa/65316
16331 * tree.c (free_lang_data_in_type): Be sure to keep BINFO_VTABLE
16332 when outputting debug.
16333
16334 2015-03-07 Marek Polacek <polacek@redhat.com>
16335 Martin Uecker <uecker@eecs.berkeley.edu>
16336
16337 PR sanitizer/65280
16338 * doc/invoke.texi: Update description of -fsanitize=bounds.
16339
16340 2015-03-06 Wilco Dijkstra <wilco.dijkstra@arm.com>
16341
16342 * tree-ssa-phiopt.c (neg_replacement): Remove.
16343 (tree_ssa_phiopt_worker): Remove negate optimization.
16344
16345 2015-03-05 Jan Hubicka <hubicka@ucw.cz>
16346
16347 PR ipa/65302
16348 * value-prof.c (gimple_ic): Pure dead eh edges when needed.
16349
16350 2015-03-06 Richard Biener <rguenther@suse.de>
16351
16352 PR middle-end/64928
16353 * tree-ssa-live.h (struct tree_live_info_d): Add livein_obstack
16354 and liveout_obstack members.
16355 (calculate_live_on_exit): Remove.
16356 (calculate_live_ranges): Change declaration.
16357 * tree-ssa-live.c (liveness_bitmap_obstack): Remove global var.
16358 (new_tree_live_info): Adjust.
16359 (calculate_live_ranges): Delete livein when not wanted.
16360 (calculate_live_ranges): Do not initialize liveness_bitmap_obstack.
16361 Deal with partly deleted live info.
16362 (loe_visit_block): Remove temporary bitmap by using
16363 bitmap_ior_and_compl_into.
16364 (live_worklist): Adjust accordingly.
16365 (calculate_live_on_exit): Make static.
16366 * tree-ssa-coalesce.c (coalesce_ssa_name): Tell calculate_live_ranges
16367 we do not need livein.
16368
16369 2015-03-06 Jonathan Wakely <jwakely@redhat.com>
16370
16371 * real.c (real_from_string): Fix typo in assertion.
16372
16373 2015-03-06 Alex Velenko <alex.velenko@arm.com>
16374
16375 * ChangeLog (2015-03-05): Reflect Richard Henderson as actual author of
16376 the patch.
16377
16378 2015-03-05 Jan Hubicka <hubicka@ucw.cz>
16379
16380 * ipa-icf.c (sem_variable::equals_wpa): Check FINAL flags.
16381
16382 2015-03-05 Vladimir Makarov <vmakarov@redhat.com>
16383
16384 PR target/64342
16385 * lra-assigns.c (find_hard_regno_for): Rename to
16386 find_hard_regno_for_1. Add a new parameter.
16387 (find_hard_regno_for): New function using find_hard_regno_for_1.
16388
16389 2015-03-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
16390
16391 PR rtl-optimization/65067
16392 * expmed.c (store_bit_field, extract_bit_field): Reworked the
16393 strict volatile bitfield handling.
16394
16395 2015-03-05 Martin Liska <mliska@suse.cz>
16396
16397 PR ipa/65318
16398 * ipa-icf.c (sem_variable::equals): Compare variables types.
16399
16400 2015-03-05 Richard Henderson <rth@redhat.com>
16401
16402 PR target/65121
16403 * config/arm/arm.c (arm_function_in_section_p): Fix predicate to
16404 correctly check weak symbol binding.
16405
16406 2015-03-05 Steve Ellcey <sellcey@imgtec.com>
16407
16408 PR middle-end/65315
16409 * cfgexpand.c (expand_stack_vars): Update large_align to maximum
16410 needed alignment.
16411
16412 2015-03-05 Martin Liska <mliska@suse.cz>
16413
16414 * ipa-inline.c (inline_small_functions): Set default value to
16415 prevent warning during bootstrap.
16416 * tree.h: Add pragma guard that ignores false positives during
16417 bootstrap.
16418
16419 2015-03-05 Richard Biener <rguenther@suse.de>
16420
16421 PR tree-optimization/65310
16422 * tree-vect-data-refs.c (vect_compute_data_ref_alignment):
16423 Properly preserve alignment of the base of the access.
16424
16425 2015-03-05 Richard Biener <rguenther@suse.de>
16426
16427 PR ipa/65270
16428 * ipa-icf-gimple.c (func_checker::compare_memory_operand):
16429 Compare dependence info.
16430
16431 2015-03-05 Richard Biener <rguenther@suse.de>
16432
16433 PR middle-end/65233
16434 * ipa-polymorphic-call.c: Include tree-ssa-operands.h and
16435 tree-into-ssa.h.
16436 (walk_ssa_copies): Revert last chage. Instead do not walk
16437 SSA names registered for SSA update.
16438
16439 2015-03-03 Jan Hubicka <hubicka@ucw.cz>
16440
16441 PR ipa/65270
16442 * ipa-icf.c (sem_item::compare_cgraph_references): Compare
16443 vtable references for their containing type.
16444 (sem_function::equals_wpa): Compare TYPE_RESTRICT
16445 and type attributes.
16446
16447 2015-03-04 Eric Botcazou <ebotcazou@adacore.com>
16448
16449 * fold-const.c (round_up_loc): Cast divisor to signed on all paths
16450 before negating it.
16451 * stor-layout.c (finalize_record_size): Revert latest change.
16452
16453 2015-03-04 Andreas Tobler <andreast@gcc.gnu.org>
16454
16455 * config/rs6000/t-freebsd64: Remove 32-bit soft-float multilibs.
16456
16457 2015-03-03 Jan Hubicka <hubicka@ucw.cz>
16458
16459 * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p): Rewrite
16460 for correct comdat handling.
16461 (cgraph_node::will_be_removed_from_program_if_no_direct_calls_p):
16462 Likewise.
16463 * cgraph.h (call_for_symbol_and_aliases): Fix formating.
16464 (used_from_object_file_p_worker): Remove.
16465 (cgraph_node::only_called_directly_or_alised): Add
16466 used_from_object_file_p.
16467 * ipa-inline-analysis.c (growth_likely_positive): Optimie.
16468 * ipa-inline-transform.c (can_remove_node_now_p_1): Use
16469 can_remove_if_no_direct_calls_and_refs_p.
16470
16471 2015-03-04 Nick Clifton <nickc@redhat.com>
16472
16473 * config/rl78/rl78.h (enum reg_class): Remove real registers from
16474 General register class.
16475 * config/rl78/rl78-real.md: Replace general register constraints
16476 with real+virtual register constraints.
16477
16478 2015-03-04 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
16479
16480 * config/s390/s390.c (s390_expand_builtin): Exlude non-htm builtins
16481 from checking for -mhtm option.
16482
16483 2015-03-03 Jan Hubicka <hubicka@ucw.cz>
16484
16485 * tree-sra.c (convert_callers): Use call_for_symbol_and_aliases.
16486 (struct ipa_sra_check_caller_data): Add has_thunk field.
16487 (ipa_sra_check_caller): Check for thunk.
16488 (ipa_sra_preliminary_function_checks): Give up on function with
16489 thunks.
16490 (ipa_early_sra): Use call_for_symbol_and_aliases.
16491
16492 2015-03-03 Kaz Kojima <kkojima@gcc.gnu.org>
16493
16494 PR target/65249
16495 * config/sh/sh.md (symGOT_load): Use R0 reg for operands[2] when
16496 called for __stack_chk_guard symbol.
16497
16498 2015-03-03 DJ Delorie <dj@redhat.com>
16499
16500 * config/rl78/rl78-real.md (*addqi_real): Allow SADDR types for
16501 inc/dec.
16502 (*addhi3_real): Likewise.
16503 * config/rl78/rl78-virt.md (*inc<mode>3_virt): Additional
16504 pattern to match incrementing memory.
16505 * config/rl78/predicates.md (rl78_1_2_operand): New.
16506 * config/rl78/rl78.c (rl78_force_nonfar_3): Allow far mem-mem if
16507 it's the same and only mem.
16508 (rl78_alloc_physical_registers_op2): If there's effectively only
16509 one MEM, transcode it into HL.
16510 (rl78_far_p): Reject addresses that aren't legitimate.
16511
16512 2015-03-03 Eric Botcazou <ebotcazou@adacore.com>
16513
16514 * fold-const.c (round_up_loc): Cast divisor to HOST_WIDE_INT before
16515 negating it.
16516
16517 * tree-sra.c (pa_sra_preliminary_function_checks): Fix typo in message.
16518
16519 2015-03-03 Max Filippov <jcmvbkbc@gmail.com>
16520
16521 Implement call0 ABI for xtensa
16522 * config/xtensa/constraints.md ("a" constraint): Include stack
16523 pointer in case of call0 ABI.
16524 ("q" constraint): Make empty in case of call0 ABI.
16525 ("D" constraint): Include stack pointer in case of call0 ABI.
16526 * config/xtensa/xtensa-protos.h (xtensa_set_return_address,
16527 xtensa_expand_epilogue, xtensa_regno_to_class): Add new function
16528 prototypes.
16529 * config/xtensa/xtensa.c (xtensa_callee_save_size): New
16530 variable.
16531 (xtensa_regno_to_class): Make it a local variable in the
16532 function xtensa_regno_to_class.
16533 (xtensa_function_epilogue, TARGET_ASM_FUNCTION_EPILOGUE): Remove
16534 macro, function prototype and implementation.
16535 (reg_nonleaf_alloc_order): Make it a local variable in the
16536 function order_regs_for_local_alloc.
16537 (xtensa_conditional_register_usage): New function.
16538 (TARGET_CONDITIONAL_REGISTER_USAGE): Define macro.
16539 (xtensa_valid_move): Allow direct moves to stack pointer
16540 register in call0 ABI.
16541 (xtensa_setup_frame_addresses): Only spill register windows in
16542 windowed ABI.
16543 (xtensa_emit_call): Emit call(x)8 or call(x)0 in windowed and
16544 call0 ABI respectively.
16545 (xtensa_function_arg_1): Only mark a7 register for copying in
16546 windowed ABI.
16547 (xtensa_call_save_reg): New function.
16548 (compute_frame_size): Add space for callee saved register
16549 storage to the frame size in call0 ABI.
16550 (xtensa_expand_prologue): Generate code to set up stack frame
16551 and save callee-saved registers in call0 ABI.
16552 (xtensa_expand_epilogue): New function.
16553 (xtensa_set_return_address): New function.
16554 (xtensa_return_addr): Calculate return address in call0 ABI.
16555 (xtensa_builtin_saveregs): Only mark a7 register for copying and
16556 emit copying code in windowed ABI.
16557 (order_regs_for_local_alloc): Add preferred register allocation
16558 order for non-leaf function in call0 ABI.
16559 (xtensa_static_chain): Add atatic chain passing for call0 ABI.
16560 (xtensa_asm_trampoline_template): Add trampoline generation for
16561 call0 ABI.
16562 (xtensa_trampoline_init): Add trampoline initialization for
16563 call0 ABI.
16564 (xtensa_conditional_register_usage, xtensa_regno_to_class): New
16565 functions.
16566 * config/xtensa/xtensa.h (TARGET_WINDOWED_ABI): New macro.
16567 (TARGET_CPU_CPP_BUILTINS): Add built-in define for call0 ABI.
16568 (CALL_USED_REGISTERS): Modify to encode both windowed and call0
16569 ABI call-used registers.
16570 (HARD_FRAME_POINTER_REGNUM): Add frame pointer for call0 ABI.
16571 (INCOMING_REGNO, OUTGOING_REGNO): Use argument unchanged in
16572 call0 ABI.
16573 (REG_CLASS_CONTENTS): Include all registers into the preferred
16574 reload registers set, adjust the set in the
16575 xtensa_conditional_register_usage.
16576 (xtensa_regno_to_class): Drop variable declaration.
16577 (REGNO_REG_CLASS): Redefine to use xtensa_regno_to_class
16578 function.
16579 (WINDOW_SIZE): Define as 8 or 0 for windowed and call0 ABI
16580 respectively.
16581 (FUNCTION_PROFILER): Add _mcount call for call0 ABI.
16582 (TRAMPOLINE_SIZE): Define trampoline size for call0 ABI.
16583 (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 in call0 ABI.
16584 (ASM_OUTPUT_POOL_PROLOGUE): Always generate literal pool
16585 location in call0 ABI.
16586 (EH_RETURN_STACKADJ_RTX): New definition, use a10 for passing
16587 stack adjustment size when handling exception.
16588 (CRT_CALL_STATIC_FUNCTION): Add definition for call0 ABI.
16589 * config/xtensa/xtensa.md (A9_REG, UNSPECV_BLOCKAGE): New
16590 definitions.
16591 ("return" pattern): Generate ret.n/ret in call0 ABI.
16592 ("epilogue" pattern): Expand epilogue.
16593 ("nonlocal_goto" pattern): Use default in call0 ABI.
16594 ("eh_return" pattern): Move implementation to eh_set_a0_windowed,
16595 emit eh_set_a0_* depending on ABI.
16596 ("eh_set_a0_windowed" pattern): Former eh_return pattern.
16597 ("eh_set_a0_call0", "blockage"): New patterns.
16598
16599 2015-03-03 Martin Liska <mliska@suse.cz>
16600
16601 PR ipa/65287
16602 * ipa-icf.c (sem_variable::parse): Skip all alias variables.
16603
16604 2015-03-03 Michael Meissner <meissner@linux.vnet.ibm.com>
16605
16606 PR 65138/target
16607 * config/rs6000/rs6000-tables.opt: Regenerate table.
16608
16609 2015-03-03 Renlin Li <renlin.li@arm.com>
16610
16611 * doc/md.texi (@item ^): Change ? into ^.
16612
16613 2015-03-03 H.J. Lu <hongjiu.lu@intel.com>
16614
16615 * doc/tm.texi: Regenerated.
16616
16617 2015-03-03 Max Filippov <jcmvbkbc@gmail.com>
16618
16619 * builtins.c (expand_builtin_return_addr): Add
16620 RETURN_ADDR_IN_PREVIOUS_FRAME to 'if' condition, remove
16621 surrounding #ifdef.
16622 * config/sparc/sparc.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Change
16623 definition to 1.
16624 * config/xtensa/xtensa.h (RETURN_ADDR_IN_PREVIOUS_FRAME):
16625 Likewise.
16626 * defaults.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 if
16627 undefined.
16628 * doc/tm.texi.in (RETURN_ADDR_IN_PREVIOUS_FRAME): Update
16629 paragraph.
16630
16631 2015-03-03 Martin Jambor <mjambor@suse.cz>
16632 Eric Botcazou <ebotcazou@adacore.com>
16633
16634 * tree-sra.c (ipa_sra_check_caller_data): New type.
16635 (has_caller_p): Removed.
16636 (ipa_sra_check_caller): New function.
16637 (ipa_sra_preliminary_function_checks): Use it.
16638
16639 2015-03-03 Martin Liska <mliska@suse.cz>
16640
16641 * ipa-icf.c (sem_item_optimizer::merge_classes): Use bit or
16642 instead of if branch.
16643
16644 2015-03-03 Martin Liska <mliska@suse.cz>
16645
16646 PR ipa/65282
16647 * ipa-icf.c (sem_variable::equals): Fix wrong condition.
16648
16649 2015-03-23 Jeff Law <law@redhat.com>
16650
16651 PR tree-optimization/65241
16652 * tree-ssa-dom.c (lookup_avail_expr): Only modify the avail_expr
16653 hash table if INSERT is true.
16654
16655 2015-03-03 Georg-Johann Lay <avr@gjlay.de>
16656
16657 PR target/65296
16658 * config.gcc (extra_gcc_objs) [avr-*-rtems*]: Remove.
16659
16660 2015-03-03 Georg-Johann Lay <avr@gjlay.de>
16661
16662 PR target/64331
16663 * config/avr/avr.c (context.h, tree-pass.h): Include them.
16664 (avr_pass_data_recompute_notes): New static variable.
16665 (avr_pass_recompute_notes): New class.
16666 (avr_register_passes): New static function.
16667 (avr_option_override): Call it.
16668
16669 2015-03-03 Georg-Johann Lay <avr@gjlay.de>
16670
16671 Fix various problems with specs file generation.
16672
16673 PR target/65296
16674 * config.gcc (extra_gcc_objs) [avr]: Remove.
16675 * config/avr/driver-avr.c: Remove file.
16676 * config/avr/t-avr (driver-avr.o): Remove rule.
16677 (gen-avr-mmcu-specs): Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD and
16678 INCLUDES to build. Depend on TM_H.
16679 * config/avr/gen-avr-mmcu-specs.c: Tidy up code. Fix various
16680 build warnings. Fix non-matching types and non-existing %-codes.
16681 (tm.h): Include.
16682 (*lib) [!WITH_AVRLIBC]: Don't link libdev.a.
16683 (*libgcc) [WITH_AVRLIBC]: Add "-lm".
16684 * config/avr/avrlibc.h (LIBGCC_SPEC): Remove definition.
16685 * config/avr/avr.h (DRIVER_SELF_SPECS): Fix handling of -march=.
16686 (CPP_SPEC, CC1PLUS_SPEC, ASM_SPEC, LINK_SPEC, LIB_SPEC)
16687 (LIBGCC_SPEC): Remove definitions.
16688
16689 2015-03-03 Eric Botcazou <ebotcazou@adacore.com>
16690
16691 * config/ia64/ia64.c (expand_vec_perm_interleave_2): Use gen_raw_REG
16692 to create a register in testing mode.
16693
16694 2015-03-03 Martin Liska <mliska@suse.cz>
16695 Jan Hubicka <hubicka@ucw.cz>
16696
16697 PR ipa/65263
16698 * cgraph.c (cgraph_node::has_thunk_p): New function.
16699 * cgraph.h (cgraph_node::has_thunk_p: Likewise.
16700 * ipa-icf.c (redirect_all_callers): Do not redirect thunks.
16701 (sem_function::merge): Assert is changed.
16702
16703 2015-03-03 Martin Liska <mliska@suse.cz>
16704 Martin Jambor <mjambor@suse.cz>
16705
16706 PR ipa/65087
16707 * ipa-icf.c (sem_item_optimizer::execute): Change function
16708 return value to boolean.
16709 (sem_item_optimizer::merge_classes): Likewise.
16710 (ipa_icf_driver): Return TODO_remove_functions in case there's
16711 a merge operation processed.
16712 * ipa-icf.h: Change function return value to boolean.
16713
16714 2015-03-02 Michael Meissner <meissner@linux.vnet.ibm.com>
16715
16716 PR 65138/target
16717 * config/rs6000/rs6000-cpus.def (powerpc64le): Add new generic
16718 processor type for 64-bit little endian PowerPC.
16719
16720 * config/rs6000/rs6000.c (rs6000_option_override_internal): If
16721 -mdebug=reg, print TARGET_DEFAULT. Fix logic to use
16722 TARGET_DEFAULT if there is no default cpu. Fix -mdebug=reg
16723 printing built-in mask so it does not pass NULL pointers.
16724
16725 * doc/invoke.texi (IBM RS/6000 and PowerPC options): Document
16726 -mcpu=powerpc64le.
16727
16728 2015-03-02 Steve Ellcey <sellcey@imgtec.com>
16729
16730 PR target/58158
16731 * config/mips/mips.md (mov<mode>cc): Change ISA_HAS_SEL check to
16732 !ISA_HAS_FP_CONDMOVE.
16733
16734 2015-03-02 Aldy Hernandez <aldyh@redhat.com>
16735
16736 * config/i386/i386.md (*udivmod<mode>4_pow2): Remove
16737 reload_completed.
16738
16739 2015-03-02 Ulrich Drepper <drepper@gmail.com>
16740
16741 * doc/invoke.texi (Options for Code Generation Conventions):
16742 Fix URL of DSO paper.
16743
16744 2015-03-02 Jan Hubicka <hubicka@ucw.cz>
16745
16746 PR ipa/65130
16747 * ipa-inline.c (check_callers): Looks for recursion.
16748 (inline_to_all_callers): Give up on uninlinable or recursive edges.
16749 * ipa-inline-analysis.c (inline_summary_t::duplicate): Do not update
16750 summary of inline clones.
16751 (do_estimate_growth_1): Fix recursion check.
16752
16753 2015-03-02 Jan Hubicka <hubicka@ucw.cz>
16754
16755 PR ipa/64988
16756 * ipa-inline-transform.c (clone_inlined_nodes): Do not dissolve
16757 comdat groups.
16758
16759 2015-03-02 Jan Hubicka <hubicka@ucw.cz>
16760 Aldy Hernandez <aldyh@redhat.com>
16761
16762 PR lto/65276
16763 * ipa-devirt.c (add_type_duplicate): Remove odr_violated assert
16764 when checking TYPE_BINFO.
16765
16766 2015-03-02 Richard Biener <rguenther@suse.de>
16767
16768 PR ipa/65270
16769 * ipa-icf-gimple.c: Include builtins.h.
16770 (func_checker::compare_memory_operand): Compare base alignment.
16771
16772 2015-03-02 Ilya Enkovich <ilya.enkovich@intel.com>
16773
16774 PR target/65184
16775 * gcc/config/i386/i386.c (ix86_pass_by_reference) Bounds
16776 are never passed by reference.
16777
16778 2015-03-02 Ilya Enkovich <ilya.enkovich@intel.com>
16779
16780 PR target/65183
16781 * tree-chkp.c (chkp_check_lower): Don't check against
16782 zero bounds for already instrumented functions.
16783 (chkp_check_upper): Likewise.
16784 (chkp_fini): Clean pass local data to avoid wrong reusage.
16785
16786 2015-02-28 Martin Liska <mliska@suse.cz>
16787 Jan Hubicka <hubicka@ucw.cz>
16788
16789 * ipa-icf.c (sem_variable::equals): Improve debug output;
16790 get variable constructor.
16791 (sem_variable::parse): Do not filter out too early; give up on
16792 volatile and register vars.
16793 (sem_item_optimizer::filter_removed_items): Filter out nonreadonly
16794 variables.
16795 * ipa-icf.h (sem_variable::init): Do not set ctor.
16796 (sem_variable::ctor): Remove.
16797
16798 2015-03-01 Aldy Hernandez <aldyh@redhat.com>
16799
16800 PR middle-end/65233
16801 * ipa-polymorphic-call.c (walk_ssa_copies): Handle empty PHIs.
16802
16803 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
16804
16805 * ipa-icf.c: Include stor-layout.h
16806 (sem_function::compare_cgraph_references): Rename to ...
16807 (sem_item::compare_cgraph_references): ... this one.
16808 (sem_variable::equals_wpa): New function
16809 (sem_variable::equals): Do not check stuff already verified by
16810 equals_wpa.
16811 (sem_variable::equals): Reorg based on varasm.c:compare_constant.
16812 * ipa-icf.h (sem_item): Add compare_cgraph_references.
16813 (sem_function): Remove compare_cgraph_references.
16814 (sem_variable): Turns equals_wpa into non-inline.
16815
16816 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
16817
16818 * ipa-icf.c (sem_function::init): Fix formating; skip GIMPLE_PREDICT.
16819 (sem_item::add_expr): New function.
16820 (sem_function::hash_stmt): Handle operands of most statements.
16821 (sem_variable::get_hash): Hash the actual constructor.
16822 * ipa-icf.h (sem_item): Add add_expr.
16823 (sem_function): Update prototype of hash_stmt
16824
16825 2015-02-28 Martin Liska <mliska@suse.cz>
16826 Jan Hubicka <hubicka@ucw.cz>
16827
16828 PR ipa/65245
16829 * ipa-icf-gimple.c (func_checker::compare_function_decl):
16830 Remove.
16831 (func_checker::compare_variable_decl): Skip symtab vars.
16832 (func_checker::compare_cst_or_decl): Update.
16833 * ipa-icf.c (sem_function::parse): Do not consider aliases.
16834 (sem_function::compare_cgraph_references): Add ADDRESS parameter;
16835 use correct symtab predicates.
16836 (sem_function::equals_wpa): Update uses of compare_cgraph_references.
16837 (sem_variable::parse): Update comment.
16838 (sem_item_optimizer::build_graph): Consider ultimate aliases
16839 for references.
16840
16841 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
16842
16843 * ipa-icf-gimple.c (func_checker::compare_operand): Fix handling
16844 of OBJ_TYPE_REF.
16845
16846 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
16847
16848 * ipa-icf.c (sem_function::merge): Fix handling of COMDAT.
16849 (sem_variable::merge) Likewise.
16850
16851 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
16852
16853 * ipa-inline.c (can_inline_edge_p): Match opt_for_fn on inline
16854 target; also match flag_ipa_devirt.
16855
16856 2015-03-01 Martin Liska <mliska@suse.cz>
16857 Jan Hubicka <hubicka@ucw.cz>
16858
16859 * ipa-icf-gimple.c (func_checker::compare_variable_decl):
16860 Validate variable alignment.
16861 * ipa-icf.c (sem_function::equals_private): Be more precise
16862 about non-common function attributes.
16863 (sem_variable::equals): Likewise.
16864
16865 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
16866
16867 PR ipa/65237
16868 * ipa-icf.c (sem_function::merge): Do not attempt to produce alias
16869 across COMDAT group boundary.
16870
16871 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
16872
16873 PR ipa/65232
16874 * ipa-icf.c (clear_decl_rtl): New function.
16875 (sem_function::merge): Clear RTL before forming alias.
16876 (sem_variable::merge): Clear RTL before forming alias.
16877
16878 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
16879
16880 PR ipa/65236
16881 * cgraphunit.c (cgraph_node::expand_thunk): Enable return slot opt.
16882
16883 2015-02-28 Xingxing Pan <xxingpan@marvell.com>
16884
16885 * config/aarch64/aarch64.md: (mov<mode>_aarch64): Change type
16886 to neon_to_gp<q>.
16887
16888 2015-02-27 Vladimir Makarov <vmakarov@redhat.com>
16889
16890 * params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): Fix
16891 a typo in the description.
16892
16893 2015-02-27 Vladimir Makarov <vmakarov@redhat.com>
16894
16895 PR target/64317
16896 * params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): New.
16897 * params.h (LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): New.
16898 * lra-constraints.c: Include "params.h".
16899 (EBB_PROBABILITY_CUTOFF): Use
16900 LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF.
16901 (lra_inheritance): Use '<' instead of '<=' for
16902 EBB_PROBABILITY_CUTOFF.
16903 * doc/invoke.texi (lra-inheritance-ebb-probability-cutoff):
16904 Document change.
16905
16906 2015-02-27 Martin Liska <mliska@suse.cz>
16907
16908 * ipa-icf.h (struct symbol_compare_hashmap_traits): Add missing
16909 vector length condition.
16910
16911 2015-02-27 Sandra Loosemore <sandra@codesourcery.com>
16912
16913 * doc/extend.texi (x86 transactional memory intrinsics):
16914 Reorganize discussion of _xbegin. Clarify that the return
16915 value is a bit mask. Expand example and move to end of section.
16916
16917 2015-02-26 Jakub Jelinek <jakub@redhat.com>
16918 Aldy Hernandez <aldyh@redhat.com>
16919
16920 PR rtl-optimization/65220
16921 * config/i386/i386.md (*udivmod<mode>4_pow2): New.
16922
16923 2015-02-27 Vladimir Makarov <vmakarov@redhat.com>
16924
16925 PR target/65032
16926 * lra-remat.c (update_scratch_ops): New.
16927 (do_remat): Call it.
16928 * lra.c (lra_register_new_scratch_op): New. Take code from ...
16929 (remove_scratches): ... here.
16930 * lra-int.h (lra_register_new_scratch_op): New prototype.
16931
16932 2015-02-27 Marek Polacek <polacek@redhat.com>
16933
16934 PR c/65040
16935 * doc/invoke.texi: Update to reflect that -Wformat=2 doesn't enable
16936 -Wformat-signedness anymore.
16937
16938 2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
16939
16940 * config/s390/s390.c: (s390_atomic_assign_expand_fenv): New
16941 function.
16942 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define macro.
16943
16944 2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
16945
16946 * config/s390/s390.c (enum s390_builtin):
16947 Add S390_BUILTIN_S390_SFPC and S390_BUILTIN_S390_EFPC.
16948 (code_for_builtin): Add CODE_FOR_s390_sfpc and CODE_FOR_s390_efpc.
16949 (s390_init_builtins): Generate new builtin functions.
16950 * config/s390/s390.md (UNSPECV_SFPC, UNSPECV_EFPC): New constants.
16951 (s390_sfpc, s390_efpc): New pattern definitions.
16952
16953 2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
16954
16955 * config/s390/s390.c: (enum s390_builtin, s390_expand_builtin):
16956 Rename S390_BUILTIN_max to S390_BUILTIN_MAX.
16957 (s390_builtin_decls): New array.
16958 (s390_init_builtins): Put builtin decls into s390_builtin_decls.
16959 (s390_builtin_decl): New function.
16960 (TARGET_BUILTIN_DECL): Define macro.
16961
16962 2015-02-27 Richard Biener <rguenther@suse.de>
16963
16964 PR middle-end/63175
16965 * builtins.c (get_object_alignment_2): Make sure to re-apply
16966 the ANDed mask after recursing to its operand gets us a new
16967 misalignment bit position.
16968
16969 2015-02-26 Jan Hubicka <hubicka@ucw.cz>
16970 Martin Liska <mliska@suse.cz>
16971
16972 PR bootstrap/65150
16973 * ipa-icf.c (symbol_compare_collection::symbol_compare_colleciton):
16974 Use address_matters_p.
16975 (redirect_all_callers, set_addressable): New functions.
16976 (sem_function::merge): Reorganize and fix merging issues.
16977 (sem_variable::merge): Likewise.
16978 (sem_variable::compare_sections): Remove.
16979 * common.opt (fmerge-all-constants, fmerge-constants): Remove
16980 Optimization flag.
16981 * symtab.c (symtab_node::resolve_alias): When alias has aliases,
16982 redirect them.
16983 (symtab_node::make_decl_local): Set ADDRESSABLE bit when
16984 decl is used.
16985 (address_matters_1): New function.
16986 (symtab_node::address_matters_p): New function.
16987 * cgraph.c (cgraph_edge::verify_corresponds_to_fndecl): Fix
16988 check for merged flag.
16989 * cgraph.h (address_matters_p): Declare.
16990 (symtab_node::address_taken_from_non_vtable_p): Remove.
16991 (symtab_node::address_can_be_compared_p): New method.
16992 (ipa_ref::address_matters_p): Move here from ipa-ref.c; simplify.
16993 * ipa-visibility.c (symtab_node::address_taken_from_non_vtable_p):
16994 Remove.
16995 (comdat_can_be_unshared_p_1) Use address_matters_p.
16996 (update_vtable_references): Fix formating.
16997 * ipa-ref.c (ipa_ref::address_matters_p): Move inline.
16998 * cgraphunit.c (cgraph_node::create_wrapper): Drop UNINLINABLE flag.
16999 * cgraphclones.c: Preserve merged and icf_merged flags.
17000
17001 2015-02-26 Sandra Loosemore <sandra@codesourcery.com>
17002
17003 * doc/extend.texi (Function Attributes): Fix spelling and typos.
17004 (Label Attributes): Likewise.
17005 (Cilk Plus Builtins): Likewise.
17006 (ARC SIMD Built-in Functions): Likewise.
17007 (ARM C Language Extensions (ACLE)): Likewise.
17008 (PowerPC Built-in Functions): Likewise.
17009 (PowerPC Hardware Transactional Memory Built-in Functions):
17010 Likewise.
17011
17012 2015-02-26 Jakub Jelinek <jakub@redhat.com>
17013
17014 PR tree-optimization/65216
17015 * tree-ssa-reassoc.c (rewrite_expr_tree): Force creation of
17016 new stmt and new SSA_NAME for lhs whenever the arguments have
17017 changed and weren't just swapped. Fix comment typo.
17018
17019 PR tree-optimization/65215
17020 * tree-ssa-math-opts.c (find_bswap_or_nop_load): Return false
17021 for PDP endian targets.
17022 (perform_symbolic_merge, find_bswap_or_nop_1, find_bswap_or_nop):
17023 Fix up formatting issues.
17024 (bswap_replace): Likewise. For BYTES_BIG_ENDIAN, if the final access
17025 size is smaller than the original, adjust MEM_REF offset by the
17026 difference of sizes. Use is_gimple_mem_ref_addr instead of
17027 is_gimple_min_invariant test to avoid adding address temporaries.
17028
17029 2015-02-26 Martin Liska <mliska@suse.cz>
17030 Jan Hubicka <hubicka@ucw.cz>
17031
17032 PR ipa/64693
17033 * ipa-icf.c (symbol_compare_collection::symbol_compare_collection): New.
17034 (sem_item_optimizer::subdivide_classes_by_sensitive_refs): New function.
17035 (sem_item_optimizer::process_cong_reduction): Include division by
17036 sensitive references.
17037 * ipa-icf.h (struct symbol_compare_hashmap_traits): New class.
17038 * ipa-ref.c (ipa_ref::address_matters_p): New function.
17039 * ipa-ref.h (ipa_ref::address_matters_p): Likewise.
17040
17041 2015-02-26 Georg-Johann Lay <avr@gjlay.de>
17042
17043 PR target/65192
17044 * config/avr/avr-protos.h (tiny_valid_direct_memory_access_range):
17045 Remove.
17046 * config/avr/avr.c: Same.
17047 (avr_legitimate_address_p) <AVR_TINY, CONSTANT_ADDRESS_P>:
17048 Refuse any constant address not in 0..0xbf.
17049 * config/avr/avr.md (*mov<mode>, *movsf): Remove
17050 tiny_valid_direct_memory_access_range from insn conditions.
17051 (mov<mode>): Don't special-case expansion of avrtiny addresses.
17052
17053 2015-02-26 Oleg Endo <olegendo@gcc.gnu.org>
17054
17055 PR target/61142
17056 * config/sh/sh.c (sh_check_add_incdec_notes): New function.
17057 * config/sh/sh-protos.h (sh_check_add_incdec_notes): Declare it.
17058 * config/sh/predicates.md (const_logical_operand): New predicate.
17059 * config/sh/sh.md: Add new peephole2 patterns.
17060
17061 2015-02-26 Marek Polacek <polacek@redhat.com>
17062
17063 PR ipa/65008
17064 * ipa-inline.c (early_inliner): Recompute inline parameters.
17065
17066 2015-02-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
17067
17068 PR target/65171
17069 * config/rs6000/rs6000.c (rs6000_analyze_swaps): Ensure
17070 instructions with TImode operands are included in the analysis.
17071
17072 2015-02-26 Sebastian Pop <s.pop@samsung.com>
17073
17074 * tree-ssa-threadupdate.c (dump_jump_thread_path): Print all edges
17075 of an EDGE_FSM_THREAD.
17076
17077 2015-02-25 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
17078
17079 * config/rs6000/htm.md (tcheck): Fix assembly encoding.
17080
17081 2015-02-25 Aldy Hernandez <aldyh@redhat.com>
17082
17083 PR debug/46102
17084 * dwarf2out.c (dwarf2out_init): Disable -feliminate-dwarf2-dups.
17085
17086 2015-02-26 Sebastian Pop <s.pop@samsung.com>
17087
17088 PR tree-optimization/65048
17089 * tree-ssa-threadupdate.c (valid_jump_thread_path): New.
17090 (thread_through_all_blocks): Call valid_jump_thread_path.
17091 Remove invalid FSM jump-thread paths.
17092
17093 2015-02-26 Jakub Jelinek <jakub@redhat.com>
17094
17095 * passes.c (ipa_write_summaries_1): Call lto_output_init_mode_table.
17096 (ipa_write_optimization_summaries): Likewise.
17097 * tree-streamer.h: Include data-streamer.h.
17098 (streamer_mode_table): Declare extern variable.
17099 (bp_pack_machine_mode, bp_unpack_machine_mode): New inline functions.
17100 * lto-streamer-out.c (lto_output_init_mode_table,
17101 lto_write_mode_table): New functions.
17102 (produce_asm_for_decls): Call lto_write_mode_table when streaming
17103 offloading LTO.
17104 * lto-section-in.c (lto_section_name): Add "mode_table" entry.
17105 (lto_create_simple_input_block): Add mode_table argument to the
17106 lto_input_block constructors.
17107 * ipa-prop.c (ipa_prop_read_section, read_replacements_section):
17108 Likewise.
17109 * data-streamer-in.c (string_for_index): Likewise.
17110 * ipa-inline-analysis.c (inline_read_section): Likewise.
17111 * ipa-icf.c (sem_item_optimizer::read_section): Likewise.
17112 * lto-cgraph.c (input_cgraph_opt_section): Likewise.
17113 * lto-streamer-in.c (lto_read_body_or_constructor,
17114 lto_input_toplevel_asms): Likewise.
17115 (lto_input_mode_table): New function.
17116 * tree-streamer-out.c (pack_ts_fixed_cst_value_fields,
17117 pack_ts_decl_common_value_fields, pack_ts_type_common_value_fields):
17118 Use bp_pack_machine_mode.
17119 * real.h (struct real_format): Add name field.
17120 * lto-streamer.h (enum lto_section_type): Add LTO_section_mode_table.
17121 (class lto_input_block): Add mode_table member.
17122 (lto_input_block::lto_input_block): Add mode_table_ argument,
17123 initialize mode_table.
17124 (struct lto_file_decl_data): Add mode_table field.
17125 (lto_input_mode_table, lto_output_init_mode_table): New prototypes.
17126 * tree-streamer-in.c (unpack_ts_fixed_cst_value_fields,
17127 unpack_ts_decl_common_value_fields,
17128 unpack_ts_type_common_value_fields): Call bp_unpack_machine_mode.
17129 * tree-streamer.c (streamer_mode_table): New variable.
17130 * real.c (ieee_single_format, mips_single_format,
17131 motorola_single_format, spu_single_format, ieee_double_format,
17132 mips_double_format, motorola_double_format,
17133 ieee_extended_motorola_format, ieee_extended_intel_96_format,
17134 ieee_extended_intel_128_format, ieee_extended_intel_96_round_53_format,
17135 ibm_extended_format, mips_extended_format, ieee_quad_format,
17136 mips_quad_format, vax_f_format, vax_d_format, vax_g_format,
17137 decimal_single_format, decimal_double_format, decimal_quad_format,
17138 ieee_half_format, arm_half_format, real_internal_format): Add name
17139 field.
17140 * config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Likewise.
17141
17142 2015-02-26 Yuri Rumyantsev <ysrumyan@gmail.com>
17143
17144 PR target/65161
17145 * config/i386/i386.c (ix86_sched_reorder): Skip instruction
17146 reordering for selective scheduling.
17147
17148 2015-02-26 Terry Guo <terry.guo@arm.com>
17149
17150 * config/arm/arm-cores.def (cortex-m7): Add flag FL_NO_VOLATILE_CE.
17151 * config/arm/arm-protos.h (FL_NO_VOLATILE_CE): New flag.
17152 (arm_arch_no_volatile_ce): Declare new global variable.
17153 * config/arm/arm.c (arm_arch_no_volatile_ce): New global variable.
17154 (arm_option_override): Assign value to arm_arch_no_volatile_ce.
17155 * config/arm/arm.h (arm_arch_no_volatile_ce): Declare it.
17156 (TARGET_NO_VOLATILE_CE): New macro.
17157 * config/arm/arm.md (arm_comparison_operator): Disabled if not allow
17158 volatile memory access in IT block
17159
17160 2015-02-25 Kai Tietz <ktietz@redhat.com>
17161
17162 PR tree-optimization/61917
17163 * tree-vect-loop.c (vectorizable_reduction): Handle obvious case
17164 that reduc_def_stmt is null.
17165
17166 2015-02-25 Martin Liska <mliska@suse.cz>
17167
17168 * ipa-icf-gimple.c (func_checker::compare_variable_decl): Compare
17169 hard register variables.
17170
17171 2015-02-25 Kai Tietz <ktietz@redhat.com>
17172
17173 PR target/64212
17174 * symtab.c (symtab::make_decl_local): Set DECL_IMPORT_P explicit to 0.
17175 (symtab::noninterposable_alias): Likewise.
17176
17177 2015-02-25 Ilya Enkovich <ilya.enkovich@intel.com>
17178
17179 PR target/65167
17180 * gcc/config/i386/i386.c (ix86_function_arg_regno_p): Support
17181 bounds registers.
17182 (avoid_func_arg_motion): Add dependencies for BNDSTX insns.
17183
17184 2015-02-25 Alan Lawrence <alan.lawrence@arm.com>
17185
17186 PR target/64997
17187 * config/aarch64/aarch64.md (*xor_one_cmpl<mode>3): Use FP_REGNUM_P
17188 as split condition; force split via '#' in output pattern.
17189
17190 2015-02-25 Richard Biener <rguenther@suse.de>
17191 Kai Tietz <ktietz@redhat.com>
17192
17193 PR tree-optimization/61917
17194 * tree-vect-loop.c (vectorizable_reduction): Allow
17195 vect_internal_def without reduction to exit graceful.
17196
17197 2015-02-25 Georg-Johann Lay <avr@gjlay.de>
17198
17199 PR target/65196
17200 * config/avr/avr.c (avr_adjust_insn_length): Call recog_memoized
17201 only with NONDEBUG_INSN_P.
17202
17203 2015-02-25 Georg-Johann Lay <avr@gjlay.de>
17204
17205 Use variadic macros with avr-log.c.
17206
17207 * config/avr/avr-protos.h (avr_vdump): New prototype.
17208 (avr_log_set_caller_e, avr_log_set_caller_f): Remove protos.
17209 (avr_edump, avr_fdump, avr_dump): (Re)define to use avr_vdump.
17210 * config/avr/avr-log.c: Adjust comments.
17211 (avr_vdump): New function.
17212 (avr_vadump): Pass caller as 2nd argument instead of format string.
17213 (avr_log_caller, avr_log_fdump_e, avr_log_fdump_f)
17214 (avr_log_set_caller_e, avr_log_set_caller_f): Remove.
17215
17216 2015-02-25 Jakub Jelinek <jakub@redhat.com>
17217
17218 PR lto/64374
17219 * target.def (target_option_stream_in): New target hook.
17220 * tree-streamer-in.c (streamer_read_tree_bitfields): Invoke
17221 targetm.target_option.post_stream_in if non-NULL.
17222 * doc/tm.texi.in: Add @hook TARGET_OPTION_POST_STREAM_IN.
17223 * doc/tm.texi: Updated.
17224 * config/i386/i386.c (ix86_function_specific_post_stream_in): New
17225 function.
17226 (TARGET_OPTION_POST_STREAM_IN): Redefine.
17227
17228 2015-02-24 Jeff Law <law@redhat.com>
17229
17230 PR target/65117
17231 * config/xtensa/xtensa.md (zero_cost_loop_start): Reverse numbering
17232 of operand 0 and operand 2.
17233 (zero_cost_loop_end, loop_end): Similarly.
17234
17235 2015-02-24 Aldy Hernandez <aldyh@redhat.com>
17236
17237 * gimple.h (gimple_build_assign): Rename CXX_MEM_STAT_DECL to
17238 CXX_MEM_STAT_INFO.
17239
17240 2015-02-24 DJ Delorie <dj@redhat.com>
17241
17242 * config/rl78/rl78-protos.h (rl78_split_movsi): Accept a mode as well.
17243 * config/rl78/rl78-expand.md (movsf): New, same as movsi.
17244 * config/rl78/rl78.c (rl78_split_movsi): Accept a mode, use it
17245 instead of hardcoding SImode.
17246
17247 2015-02-24 Bernd Schmidt <bernds@codesourcery.com>
17248
17249 * omp-low.c (create_omp_child_function): Tag entrypoint
17250 functions with a special attribute.
17251
17252 2015-02-24 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
17253
17254 PR target/65058
17255 * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Drop unused variable.
17256
17257 2015-02-24 Vladimir Makarov <vmakarov@redhat.com>
17258
17259 PR rtl-optimization/65123
17260 * lra-remat.c (operand_to_remat): Check hard regs in insn
17261 definition too.
17262
17263 2015-02-24 Nick Clifton <nickc@redhat.com>
17264
17265 * config/v850/v850.h (ASM_SPEC): Pass -msoft-float/-mhard-float on
17266 to the assembler.
17267
17268 2015-02-24 Thomas Schwinge <thomas@codesourcery.com>
17269
17270 PR libgomp/64625
17271 * omp-builtins.def (BUILT_IN_GOACC_DATA_START): Specify as
17272 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR, not
17273 BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR.
17274 (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_UPDATE): Specify as
17275 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR, not
17276 BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR.
17277 (BUILT_IN_GOACC_PARALLEL): Specify as
17278 BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR, not
17279 BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR.
17280 * builtin-types.def
17281 (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
17282 (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
17283 Remove function types.
17284 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR)
17285 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR)
17286 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
17287 New function types.
17288
17289 2015-02-24 Georg-Johann Lay <avr@gjlay.de>
17290
17291 * config/avr/stdfix.h [__WITH_AVRLIBC__]: Include <stdfix-avrlibc.h>.
17292
17293 2015-02-24 Jakub Jelinek <jakub@redhat.com>
17294
17295 PR tree-optimization/65170
17296 * wide-int.cc (wi::mul_internal): For the umul_ppmm optimization,
17297 if val[1] < 0, clear also val[2] and return 3.
17298
17299 2015-02-24 Alan Modra <amodra@gmail.com>
17300
17301 PR target/65172
17302 * config/rs6000/rs6000.c (get_memref_parts): Only return true
17303 when *base is a reg. Handle nested plus addresses. Simplify
17304 pre_modify test.
17305
17306 2015-02-22 Max Filippov <jcmvbkbc@gmail.com>
17307
17308 * config/xtensa/xtensa.h (CONSTANT_ALIGNMENT, DATA_ALIGNMENT):
17309 use natural alignment when optimizing for size.
17310
17311 2015-02-23 Kaz Kojima <kkojima@gcc.gnu.org>
17312
17313 PR target/65153
17314 * config/sh/sh.md (movsicc_true+3): Remove peephole.
17315 * config/sh/sh-protos.h (replace_n_hard_rtx): Don't declare.
17316 * config/sh/sh.c (replace_n_hard_rtx): Remove.
17317
17318 2015-02-23 Richard Sandiford <richard.sandiford@arm.com>
17319
17320 PR fortran/63427
17321 * wide-int.cc (wi::from_mpz): Cope with unwrapped values that are
17322 too big for a wide_int. Implement missing wrapping operation.
17323
17324 2015-02-23 Oleg Endo <olegendo@gcc.gnu.org>
17325
17326 PR target/65163
17327 * config/sh/sh.md (swapbsi2, related peephole2): Use const_int -65536
17328 instead of const_int 4294901760.
17329
17330 2015-02-23 Georg-Johann Lay <avr@gjlay.de>
17331
17332 * config/avr/t-avr: Fix typo in comment.
17333
17334 2015-02-21 Richard Sandiford <richard.sandiford@arm.com>
17335
17336 * doc/rtl.texi (fma): Clarify documentation.
17337
17338 2015-02-20 Aldy Hernandez <aldyh@redhat.com>
17339
17340 PR debug/58123
17341 * gimplify.c (gimplify_expr): Prefer location of TRY_FINALLY_EXPR
17342 over input_location.
17343
17344 2015-02-20 Bernd Schmidt <bernds@codesourcery.com>
17345
17346 * tree-streamer-in.c (unpack_ts_decl_common_value_fields,
17347 unpack_ts_type_common_value_fields): If ACCEL_COMPILER,
17348 restrict alignments to absolute_biggest_alignment.
17349 * config/i386/i386.c (TARGET_ABSOLUTE_BIGGEST_ALIGNMENT):
17350 Define.
17351 * doc/tm.texi.in (TARGET_ABSOLUTE_BIGGEST_ALIGNMENT): Add.
17352 * doc/tm.texi: Regenerate.
17353 * target.def (absolute_biggest_alignment): New DEFHOOKPOD.
17354
17355 2015-02-20 Vladimir Makarov <vmakarov@redhat.com>
17356
17357 PR target/64172
17358 * ira-color.c (color_pass): Prevent splitting multi-register pseudos.
17359
17360 2015-02-20 Richard Biener <rguenther@suse.de>
17361
17362 PR tree-optimization/65136
17363 * tree-ssa-propagate.c: Include cfgloop.h.
17364 (replace_phi_args_in): Avoid replacing loop latch edge PHI
17365 arguments with constants.
17366
17367 2015-02-20 Jakub Jelinek <jakub@redhat.com>
17368 Martin Liska <mliska@suse.cz>
17369
17370 PR target/63892
17371 * ipa-icf.c (sem_function::merge): If DECL_COMDAT_GROUP (alias->decl),
17372 don't try to create_thunk if stdarg_p. If
17373 !sem_item::target_supports_symbol_aliases_p (), similarly, and try to
17374 redirect_callers if possible.
17375 (sem_item_optimizer::execute): Call unregister_hooks here...
17376 (ipa_icf_driver): ... instead of here.
17377
17378 2015-02-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
17379
17380 * config/aarch64/aarch64.md (*aarch64_lshr_sisd_or_int_<mode>3):
17381 Mark operand 0 as earlyclobber in 2nd alternative.
17382 (1st define_split below *aarch64_lshr_sisd_or_int_<mode>3):
17383 Write negated shift amount into QI lowpart operand 0 and use it
17384 in the shift step.
17385 (2nd define_split below *aarch64_lshr_sisd_or_int_<mode>3): Likewise.
17386
17387 2015-02-20 Bernd Schmidt <bernds@codesourcery.com>
17388
17389 * cgraph.h (clone_function_name_1): Declare.
17390 * cgraphclones.c (clone_function_name_1): New function.
17391 (clone_function_name): Use it.
17392 * lto-partition.c: Include "stringpool.h".
17393 (must_not_rename, maybe_rewrite_identifier)
17394 (validize_symbol_for_target): New static functions.
17395 (privatize_symbol_name): Use must_not_rename.
17396 (promote_symbol): Call validize_symbol_for_target.
17397 (lto_promote_cross_file_statics): Likewise.
17398 (lto_promote_statics_nonwpa): Likewise.
17399
17400 2015-02-20 Georg-Johann Lay <avr@gjlay.de>
17401
17402 PR target/64452
17403 * config/avr/avr.md (pushhi_insn): New insn.
17404 (push<mode>1): Push virtual regs in one chunk using pushhi1_insn.
17405
17406 2015-02-20 Bernd Schmidt <bernds@codesourcery.com>
17407 Jakub Jelinek <jakub@redhat.com>
17408
17409 * tree-streamer.c (preload_common_nodes): Don't preload
17410 TI_VA_LIST* for offloading.
17411 * tree-stdarg.c (pass_stdarg::gate): Disable for ACCEL_COMPILER
17412 in_lto_p.
17413
17414 2015-02-19 John David Anglin <danlgin@gcc.gnu.org>
17415
17416 * config/pa/pa.c (pa_emit_move_sequence): Always force
17417 (const (plus (symbol) (const_int))) to const mem. Put REG_EQUAL
17418 note on insn.
17419
17420 * config/pa/pa.c (pa_reloc_rw_mask): New function.
17421 (TARGET_ASM_RELOC_RW_MASK): Define.
17422 (pa_cannot_force_const_mem): Revert previous change.
17423
17424 2015-02-19 Martin Jambor <mjmabor@suse.cz>
17425 Jan Hubicka <hubicka@ucw.cz>
17426
17427 PR ipa/65028
17428 * ipa-cp.c (propagate_alignment_accross_jump_function): Fix propagation
17429 across jump functions.
17430
17431 2015-02-19 Uros Bizjak <ubizjak@gmail.com>
17432
17433 * config/alpha/alpha.c (alpha_in_small_data_p): Reject common symbols.
17434
17435 2015-02-19 Sandra Loosemore <sandra@codesourcery.com>
17436
17437 * doc/extend.texi (x86 transactional memory intrinsics): Copy-edit.
17438
17439 2015-02-19 Richard Henderson <rth@redhat.com>
17440
17441 PR middle-end/65074
17442 * varasm.c (default_binds_local_p_2): Don't test node->definition;
17443 test DECL_EXTERNAL independent of symtab_node.
17444
17445 2015-02-19 Jakub Jelinek <jakub@redhat.com>
17446
17447 PR lto/65012
17448 * varpool.c (varpool_node::get_constructor): Return early
17449 if this->lto_file_data is NULL.
17450
17451 2015-02-19 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
17452
17453 * haifa-sched.c (enum rfs_decision, rfs_str): Remove RFS_DEBUG.
17454 (rank_for_schedule_debug): Update.
17455 (ready_sort): Make static. Move sorting logic to ...
17456 (ready_sort_debug, ready_sort_real): New static functions.
17457 (schedule_block): Sort both debug insns and real insns in preparation
17458 for ready list trimming. Improve debug output.
17459 * sched-int.h (ready_sort): Remove global declaration.
17460
17461 2015-02-18 Trevor Saunders <tsaunders@mozilla.com>
17462
17463 * ipa-icf.c (sem_function::equals_private): Adjust.
17464 (sem_function::bb_dict_test): Take a vec<int> * instead of
17465 auto_vec<int>.
17466 * ipa-icf.h (bb_dict_test): Likewise.
17467
17468 2015-02-18 Jakub Jelinek <jakub@redhat.com>
17469
17470 PR gcov-profile/64634
17471 * tree-eh.c (frob_into_branch_around): Fix up typos
17472 in function comment.
17473 (lower_catch): Put eh_seq resulting from EH lowering of
17474 the cleanup sequence after the cleanup rather than before it.
17475
17476 2015-02-18 Tom de Vries <tom@codesourcery.com>
17477
17478 * common.opt (fstdarg-opt): New option.
17479 * tree-stdarg.c (pass_stdarg::gate): Use flag_stdarg_opt.
17480 * doc/invoke.texi (@item Optimization Options): Add -fstdarg-opt.
17481 (@item -fstdarg-opt): New item.
17482
17483 2015-02-18 H.J. Lu <hongjiu.lu@intel.com>
17484
17485 PR target/65064
17486 * config/ia64/predicates.md (sdata_symbolic_operand): Return false
17487 for common symbols.
17488
17489 2015-02-18 Jakub Jelinek <jakub@redhat.com>
17490
17491 * config/i386/t-intelmic (mkoffload.o): Remove dependency on
17492 insn-modes.h.
17493 (ALL_HOST_OBJS): Add mkoffload.o.
17494 * config/nvptx/t-nvptx (ALL_HOST_OBJS): Likewise.
17495
17496 2015-02-18 Jan Hubicka <hubicka@ucw.cz>
17497
17498 * ipa-devirt.c (odr_subtypes_equivalent_p): Fix formating.
17499 (compare_virtual_tables): Be smarter about skipping typeinfos;
17500 do sane output on virtual table table mismatch.
17501 (warn_odr): Be ready for forward declarations of enums;
17502 output sane info on base mismatch and virtual table mismatch.
17503 (add_type_duplicate): Fix code choosing prevailing type; do not ICE
17504 when only one type is polymorphic.
17505 (get_odr_type): Fix hashtable corruption.
17506 (dump_odr_type): Dump mangled names.
17507
17508 2015-02-18 Richard Biener <rguenther@suse.de>
17509
17510 PR tree-optimization/65063
17511 * tree-predcom.c (determine_unroll_factor): Return 1 if we
17512 have replaced looparound PHIs.
17513
17514 2015-02-18 Martin Liska <mliska@suse.cz>
17515
17516 * lto-streamer.c (lto_streamer_init): Encapsulate
17517 streamer_check_handled_ts_structures with checking macro.
17518
17519 2015-02-18 Jakub Jelinek <jakub@redhat.com>
17520
17521 PR ipa/65087
17522 * cgraphclones.c (cgraph_node::create_virtual_clone): Only copy
17523 section if !implicit_section.
17524 (cgraph_node::create_version_clone_with_body): Likewise.
17525 * trans-mem.c (ipa_tm_create_version): Likewise.
17526
17527 2015-02-18 Richard Biener <rguenther@suse.de>
17528
17529 PR tree-optimization/62217
17530 * tree-ssa-dom.c (cprop_operand): Avoid propagating copies
17531 into BIVs.
17532
17533 2015-02-18 Marek Polacek <polacek@redhat.com>
17534
17535 PR sanitizer/65081
17536 * ubsan.c (OBJSZ_MAX_OFFSET): Define.
17537 (ubsan_expand_objsize_ifn): Don't emit run-time check if the offset
17538 is in range [-16K, -1]. Don't issue run-time error if
17539 (ptr > ptr + offset).
17540
17541 2015-02-18 Thomas Schwinge <thomas@codesourcery.com>
17542
17543 * doc/install.texi (nvptx-*-none): New section.
17544 * doc/invoke.texi (Nvidia PTX Options): Likewise.
17545 * config/nvptx/nvptx.opt: Update.
17546
17547 * config/nvptx/mkoffload.c (parse_env_var, free_array_of_ptrs)
17548 (access_check): New functions, copied from
17549 config/i386/intelmic-mkoffload.c.
17550 (main): For non-installed testing, look in all COMPILER_PATHs for
17551 GCC_INSTALL_NAME.
17552
17553 * config/nvptx/nvptx.h (GOMP_SELF_SPECS): Define macro.
17554
17555 2015-02-18 Andrew Pinski <apinski@cavium.com>
17556 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
17557
17558 * config/aarch64/aarch64.c (*aarch64_load_symref_appropriately):
17559 Check whether the destination of SYMBOL_SMALL_TPREL is Pmode.
17560
17561 2015-02-17 Jan Hubicka <hubicka@ucw.cz>
17562
17563 * ipa-visibility.c (function_and_variable_visibility): Only
17564 check locality if node is not already local.
17565 * ipa-inline.c (want_inline_function_to_all_callers_p): Use
17566 call_for_symbol_and_aliases instead of
17567 call_for_symbol_thunks_and_aliases.
17568 (ipa_inline): Likewise.
17569 * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
17570 first walk aliases.
17571 * ipa.c (symbol_table::remove_unreachable_nodes): Use
17572 call_for_symbol_and_aliases.
17573 * ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol.
17574 (ipa_propagate_frequency_1): Use it; use opt_for_fn
17575 (ipa_propagate_frequency): Update.
17576 (ipa_profile): Add opt_for_fn gueards.
17577
17578 2015-02-17 Oleg Endo <olegendo@gcc.gnu.org>
17579
17580 * config/sh/sh.opt (mcbranch-force-delay-slot): New option.
17581 * doc/invoke.texi (SH options): Document it.
17582 * config/sh/sh.c (sh_insn_length_adjustment): Check
17583 TARGET_CBRANCH_FORCE_DELAY_SLOT instead of sh_cpu_attr == CPU_SH2E.
17584
17585 2015-02-17 H.J. Lu <hongjiu.lu@intel.com>
17586
17587 * common.opt (fipa-cp-alignment): New.
17588 * ipa-cp.c (ipcp_store_alignment_results): Check
17589 flag_ipa_cp_alignment.
17590 * opts.c (default_options_table): Enable -fipa-cp-alignment for
17591 -O2.
17592 (enable_fdo_optimizations): Set x_flag_ipa_cp_alignment.
17593 * doc/invoke.texi: Document -fipa-cp-alignment.
17594
17595 2015-02-17 Oleg Endo <olegendo@gcc.gnu.org>
17596
17597 PR target/64793
17598 * config/sh/sh.md (cbranch define_delay): Set annulled true branch insn
17599 to nil. Adjust comments.
17600
17601 2015-02-17 Jan Hubicka <hubicka@ucw.cz>
17602
17603 * ipa-visibility.c (function_and_variable_visibility): Only
17604 check locality if node is not already local.
17605 * ipa-inline.c (want_inline_function_to_all_callers_p): Use
17606 call_for_symbol_and_aliases instead of
17607 call_for_symbol_thunks_and_aliases.
17608 (ipa_inline): Likewise.
17609 * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
17610 first walk aliases.
17611 * ipa.c (symbol_table::remove_unreachable_nodes): Use
17612 call_for_symbol_and_aliases.
17613 * ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol.
17614 (ipa_propagate_frequency_1): Use it; use opt_for_fn
17615 (ipa_propagate_frequency): Update.
17616 (ipa_profile): Add opt_for_fn guards.
17617
17618 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
17619
17620 * config/nvptx/mkoffload.c (parse_file): Fix logic error in
17621 skipping of "strange" tokens.
17622
17623 2015-02-17 Jeff Law <law@redhat.com>
17624
17625 * tree-vrp.c (identify_jump_threads): Use last_stmt. Remove
17626 obsolete comment.
17627
17628 2015-02-17 James Greenhalgh <james.greenhalgh@arm.com>
17629
17630 * haifa-sched.c (recompute_todo_spec): Treat SCHED_GROUP_P
17631 as forcing a HARD_DEP between instructions, thereby
17632 disallowing rewriting to break dependencies.
17633
17634 2015-02-16 Jan Hubicka <hubicka@ucw.cz>
17635
17636 * symtab.c (symtab_node::verify_base): Verify body_removed->!definiton
17637 * lto-cgraph.c (lto_output_varpool_node): Do not keep definition of
17638 variables in boundary that have no inlitalizer encoded and are
17639 not aliases.
17640 * varasm.c (default_binds_local_p_2): External definitions do not
17641 count as definitions here.
17642
17643 2015-02-16 Jeff Law <law@redhat.com>
17644
17645 PR tree-optimization/64823
17646 * tree-vrp.c (identify_jump_threads): Handle blocks with no real
17647 statements.
17648 * tree-ssa-threadedge.c (potentially_threadable_block): Allow
17649 threading through blocks with PHIs, but no statements.
17650 (thread_through_normal_block): Distinguish between blocks where
17651 we did not process all the statements and blocks with no statements.
17652
17653 2015-02-16 Jakub Jelinek <jakub@redhat.com>
17654 James Greenhalgh <james.greenhalgh@arm.com>
17655
17656 PR ipa/64963
17657 * cgraphclones.c (cgraph_node::create_virtual_clone): Copy
17658 section if not linkonce. Fix up formatting.
17659 (cgraph_node::create_version_clone_with_body): Copy section.
17660 * trans-mem.c (ipa_tm_create_version): Likewise.
17661
17662 2015-02-16 Richard Biener <rguenther@suse.de>
17663
17664 PR tree-optimization/65077
17665 * tree-ssa-structalias.c (get_constraint_for_1): Handle
17666 IMAGPART_EXPR, REALPART_EXPR and BIT_FIELD_REF.
17667 (find_func_aliases): Allow float values to carry pointers again.
17668
17669 2015-02-16 James Greenhalgh <james.greenhalgh@arm.com>
17670
17671 * doc/install.texi (Specific): Reorder targets list to put
17672 aarch64 in alphabetical order. Add a link to aarch64*-*-*
17673 from the top menu.
17674
17675 2015-02-16 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
17676 David Edelsohn <dje.gcc@gmail.com>
17677
17678 PR target/65058
17679 * config/rs6000/rs6000.c (rs6000_output_symbol_ref): Append storage
17680 mapping class to external variable or function reference.
17681 * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Do not append storage
17682 mapping class.
17683
17684 2015-02-16 David Eelsohn <dje.gcc@gmail.com>
17685
17686 PR target/53348
17687 * config/rs6000/rs6000.c (rs6000_declare_alias): Only use
17688 ASM_WEAKEN_DECL if defined.
17689
17690 2015-02-16 Richard Biener <rguenther@suse.de>
17691
17692 PR lto/65015
17693 * varasm.c (default_file_start): For LTO produced units
17694 emit <artificial> as file directive.
17695
17696 2015-02-16 Richard Biener <rguenther@suse.de>
17697
17698 PR tree-optimization/63593
17699 * tree-predcom.c (execute_pred_commoning_chain): Delay removing
17700 stmts and releasing SSA names until...
17701 (execute_pred_commoning): ... after processing all chains.
17702
17703 2015-02-16 Jan Hubicka <hubicka@ucw.cz>
17704
17705 PR ipa/65059
17706 * ipa-comdats.c (ipa_comdats): Do not categorize thunks to
17707 external functions.
17708
17709 2015-02-15 Sandra Loosemore <sandra@codesourcery.com>
17710
17711 * doc/bugreport.texi: Adjust section titles throughout the file
17712 to use "Title Case".
17713 * doc/extend.texi: Likewise.
17714 * doc/gcov.texi: Likewise.
17715 * doc/implement-c.texi: Likewise.
17716 * doc/implement-cxx.texi: Likewise.
17717 * doc/invoke.texi: Likewise.
17718 * doc/objc.texi: Likewise.
17719 * doc/standards.texi: Likewise.
17720 * doc/trouble.texi: Likewise.
17721
17722 2015-02-15 Jan Hubicka <hubicka@ucw.cz>
17723
17724 * cgraph.h (symtab_node::has_aliases_p): Simplify.
17725 (symtab_node::call_for_symbol_and_aliases): Use has_aliases_p
17726 * tree.c (lookup_binfo_at_offset): Make static.
17727 (get_binfo_at_offset): Do not shadow offset; add explanatory
17728 comment.
17729
17730 2015-02-15 John David Anglin <danglin@gcc.gnu.org>
17731
17732 * config/pa/pa.c (pa_secondary_reload): Request a secondary reload
17733 for all floading point loads and stores except those using a register
17734 index address.
17735 * config/pa/pa.md: Add new patterns to load a lo_sum DLT operand
17736 to a register.
17737
17738 2015-02-14 Jan Hubicka <hubicka@ucw.cz>
17739
17740 * ipa-inline-analysis.c (growth_data): Add uninlinable field.
17741 (do_estimate_growth_1): Record if any uninlinable edge was seen.
17742 (estimate_growth): Handle uninlinable edges correctly.
17743 (check_callers): New.
17744 (growth_likely_positive): Handle aliases correctly.
17745
17746 2015-02-14 Jan Hubicka <hubicka@ucw.cz>
17747
17748 * ipa-chkp.c: Use iterate_direct_aliases.
17749 * symtab.c (resolution_used_from_other_file_p): Move inline.
17750 (symtab_node::create_reference): Fix formating.
17751 (symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases.
17752 (symtab_node::iterate_reference): Move inline.
17753 (symtab_node::iterate_referring): Move inline.
17754 (symtab_node::iterate_direct_aliases): Move inline.
17755 (symtab_node::used_from_object_file_p_worker): Inline into ...
17756 (symtab_node::used_from_object_file_p): ... this one; move inline.
17757 (symtab_node::call_for_symbol_and_aliases): Move inline;
17758 use iterate_direct_aliases.
17759 (symtab_node::call_for_symbol_and_aliases_1): New method.
17760 (cgraph_node::call_for_symbol_and_aliases): Move inline;
17761 use iterate_direct_aliases.
17762 (cgraph_node::call_for_symbol_and_aliases_1): New method.
17763 (varpool_node::call_for_node_and_aliases): Rename to ...
17764 (varpool_node::call_for_symbol_and_aliases): ... this one; Move inline;
17765 use iterate_direct_aliases.
17766 (varpool_node::call_for_symbol_and_aliases_1): New method.
17767 * ipa.c (ipa_single_use): Use iterate_direct_aliases.
17768 (ipa_discover_readonly_nonaddressable_var): Update.
17769 * ipa-devirt.c: Fix formating.
17770 * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_and_refs_p):
17771 Move inline.
17772 (cgraph_node::call_for_symbol_and_aliases): Move inline.
17773 (cgraph_node::call_for_symbol_and_aliases_1): New function..
17774 * cgraph.h (used_from_object_file_p_worker): Remove.
17775 (resolution_used_from_other_file_p): Move inline.
17776 (symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases.
17777 (symtab_node::iterate_reference): Move inline.
17778 (symtab_node::iterate_referring): Move inline.
17779 (symtab_node::iterate_direct_aliases): Move inline.
17780 (symtab_node::used_from_object_file_p_worker): Inline into ...
17781 (symtab_node::used_from_object_file_p): Move inline.
17782 * tree-emutls.c (ipa_lower_emutls): Update.
17783 * varpool.c (varpool_node::call_for_symbol_and_aliases_1): New method.
17784 (varpool_node::call_for_node_and_aliases): Remove.
17785
17786 2015-02-14 Jakub Jelinek <jakub@redhat.com>
17787
17788 PR tree-optimization/62209
17789 * tree-ssa-reassoc.c (update_range_test): If stmt is a PHI and
17790 op == range->exp, insert seq and gimplified code after labels
17791 instead of after the phi.
17792
17793 2015-02-13 Jeff Law <law@redhat.com>
17794
17795 PR bootstrap/65060
17796 Revert my change for tree-optimization/64823.
17797
17798 2015-02-13 Jakub Jelinek <jakub@redhat.com>
17799
17800 PR tree-optimization/65053
17801 * tree-ssa-phiopt.c (value_replacement): When moving assign before
17802 cond, either reset VR on lhs or set it to phi result VR.
17803
17804 2015-02-13 Jeff Law <law@redhat.com>
17805
17806 PR tree-optimization/64823
17807 * tree-vrp.c (identify_jump_threads): Handle blocks with no statements.
17808 * tree-ssa-threadedge.c (potentially_threadable_block): Allow
17809 threading through blocks with PHIs, but no statements.
17810 (thread_through_normal_block): Distinguish between blocks where
17811 we did not process all the statements and blocks with no statements.
17812
17813 PR rtl-optimization/47477
17814 * match.pd (convert (plus/minus (convert @0) (convert @1): New
17815 simplifier to narrow arithmetic.
17816
17817 2015-02-13 Jan Hubicka <hubicka@ucw.cz>
17818
17819 PR ipa/65028
17820 * ipa-prop.c (update_indirect_edges_after_inlining): Do not drop
17821 polymorphic call info when type is not known to be preserved.
17822
17823 2015-02-13 Maritn Jambor <mjambor@suse.cz>
17824
17825 PR ipa/65028
17826 * ipa-inline-transform.c (mark_all_inlined_calls_cdtor): New function.
17827 (inline_call): Use it.
17828
17829 2015-02-13 Thomas Schwinge <thomas@codesourcery.com>
17830
17831 * config/nvptx/offload.h (ACCEL_COMPILER_acc_device): Define to
17832 GOMP_DEVICE_NVIDIA_PTX.
17833
17834 2015-02-13 Jakub Jelinek <jakub@redhat.com>
17835
17836 PR ipa/65034
17837 * stmt.c (emit_case_nodes): Use void_type_node instead of
17838 NULL_TREE as LABEL_DECL type.
17839
17840 2015-02-13 John David Anglin <danglin@gcc.gnu.org>
17841
17842 * config/pa/constraints.md: Change "Q" and "T" constraints to memory
17843 constraints.
17844 * config/pa/pa.c (pa_cannot_force_const_mem): Don't allow constant
17845 symbolic references to data to be forced to constant memory on the
17846 SOM target.
17847
17848 2015-02-13 Ilya Enkovich <ilya.enkovich@intel.com>
17849
17850 PR tree-optimization/65002
17851 * tree-cfg.c (pass_data_fixup_cfg): Don't update
17852 SSA on start.
17853 * tree-sra.c (some_callers_have_no_vuse_p): New.
17854 (ipa_early_sra): Reject functions whose callers
17855 assume function is read only.
17856
17857 2015-02-13 Richard Biener <rguenther@suse.de>
17858
17859 PR lto/65015
17860 * dwarf2out.c (dwarf2out_finish): Use <artificial> as DW_AT_name
17861 for LTO produced CUs.
17862
17863 2015-02-13 Bin Cheng <bin.cheng@arm.com>
17864
17865 PR tree-optimization/64705
17866 * tree-ssa-loop-niter.h (expand_simple_operations): New parameter.
17867 * tree-ssa-loop-niter.c (expand_simple_operations): New parameter.
17868 * tree-ssa-loop-ivopts.c (extract_single_var_from_expr): New.
17869 (find_bivs, find_givs_in_stmt_scev): Pass new argument to
17870 expand_simple_operations.
17871
17872 2015-02-13 H.J. Lu <hongjiu.lu@intel.com>
17873 Richard Henderson <rth@redhat.com>
17874
17875 PR rtl/32219
17876 * cgraphunit.c (cgraph_node::finalize_function): Set definition
17877 before notice_global_symbol.
17878 (varpool_node::finalize_decl): Likewise.
17879 * varasm.c (default_binds_local_p_2): Rename from
17880 default_binds_local_p_1, add weak_dominate argument. Use direct
17881 returns instead of assigning to local variable. Unify varpool and
17882 cgraph paths via symtab_node. Reject undef weak variables before
17883 testing visibility. Reorder tests for simplicity.
17884 (default_binds_local_p): Use default_binds_local_p_2.
17885 (default_binds_local_p_1): Likewise.
17886 (decl_binds_to_current_def_p): Unify varpool and cgraph paths
17887 via symtab_node.
17888 (default_elf_asm_output_external): Emit visibility when specified.
17889
17890 2015-02-13 Alan Modra <amodra@gmail.com>
17891
17892 * config/rs6000/rs6000.c (rs6000_emit_epilogue): Fix typo in
17893 code setting up r11 for out-of-line fp restore.
17894
17895 2015-02-13 Eric Botcazou <ebotcazou@adacore.com>
17896
17897 * config/visium/visium.opt (msv-mode): Add RejectNegative and Report.
17898 (muser-mode): Likewise.
17899
17900 2015-02-13 Alan Modra <amodra@gmail.com>
17901
17902 * config/rs6000/rs6000.c (rs6000_emit_epilogue): Use addsi3_carry
17903 or adddi3_carry when restoring frame_reg_rtx from r0 after restvr.
17904
17905 2015-02-12 David Howells <dhowells@redhat.com>
17906
17907 * tree-sra.c (dump_dereferences_table): Avoid -Wformat-security
17908 warning.
17909 * tree-ssa-uninit.c (dump_predicates): Likewise.
17910 * opts.c (print_filtered_help): Likewise.
17911
17912 2015-02-12 Jakub Jelinek <jakub@redhat.com>
17913
17914 * dwarf2out.c (output_die): Use "%s", name instead of name to
17915 avoid -Wformat-security warning.
17916
17917 * dwarf2asm.c (dw2_asm_output_vms_delta): Only define
17918 if ASM_OUTPUT_DWARF_VMS_DELTA is defined.
17919 * dwarf2out.c (output_die): Use dw2_asm_output_vms_delta
17920 only if ASM_OUTPUT_DWARF_VMS_DELTA is defined.
17921
17922 2015-02-12 Jason Merrill <jason@redhat.com>
17923
17924 * common.opt (-flifetime-dse): New.
17925
17926 2015-02-12 Jakub Jelinek <jakub@redhat.com>
17927
17928 PR sanitizer/65019
17929 * ubsan.c (ubsan_expand_objsize_ifn): Always return true.
17930
17931 PR tree-optimization/65014
17932 * fold-const.c (fold_binary_loc): When creating {L,R}ROTATE_EXPR,
17933 use original second operand of arg0 or arg1 instead of
17934 that adjusted by STRIP_NOPS.
17935
17936 2015-02-11 Jeff Law <law@redhat.com>
17937
17938 PR target/63347
17939 * haifa-sched.c (prune_ready_list): If we have a SCHED_GROUP_P insn
17940 that needs to be queued, just queue it for a single cycle.
17941
17942 2015-02-11 Jan Hubicka <hubicka@ucw.cz>
17943
17944 * ipa.c (symbol_table::remove_unreachable_nodes): Avoid releasing
17945 bodies of thunks; comment on why.
17946 * symtab.c (symtab_node::get_partitioning_class): Aliases of extern
17947 symbols are extern.
17948
17949 2015-02-11 Richard Henderson <rth@redhat.com>
17950
17951 PR sanitize/65000
17952 * tree-eh.c (mark_reachable_handlers): Mark source and destination
17953 regions of __builtin_eh_copy_values.
17954
17955 2015-02-11 Jakub Jelinek <jakub@redhat.com>
17956
17957 PR middle-end/65003
17958 * varasm.c (place_block_symbol): Assert that DECL_RTL of the
17959 ultimate alias is MEM with SYMBOL_REF satisfying
17960 SYMBOL_REF_HAS_BLOCK_INFO_P as its operand. Don't pass the MEM
17961 to place_block_symbol, but instead pass the SYMBOL_REF operand of it.
17962
17963 2015-02-11 Thomas Schwinge <thomas@codesourcery.com>
17964
17965 * config/nvptx/mkoffload.c: Include "diagnostic.h" instead of
17966 "diagnostic-core.h".
17967 (main): Initialize progname, and call diagnostic_initialize.
17968
17969 * config/nvptx/mkoffload.c (process): Refer to __OFFLOAD_TABLE__
17970 instead of __OPENMP_TARGET__.
17971
17972 * config/nvptx/mkoffload.c: Include "gomp-constants.h".
17973 (process): Use its GOMP_DEVICE_NVIDIA_PTX instead of (wrongly)
17974 hard-coding PTX_ID.
17975
17976 2015-02-11 H.J. Lu <hongjiu.lu@intel.com>
17977
17978 * doc/sourcebuild.texi (pie_enabled): Document.
17979
17980 2015-02-11 Martin Liska <mliska@suse.cz>
17981
17982 PR ipa/64813
17983 * cgraphunit.c (cgraph_node::expand_thunk): Do not create
17984 a return value for call to a function that is noreturn.
17985
17986 2015-02-11 Richard Biener <rguenther@suse.de>
17987
17988 PR lto/65015
17989 * dwarf2out.c (gen_producer_string): Drop -fltrans-output-list
17990 and -fresolution.
17991
17992 2015-02-11 Andrew Pinski <apinski@cavium.com>
17993
17994 PR target/64893
17995 * config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins):
17996 Change the first argument type to size_type_node and add another
17997 size_type_node.
17998 (aarch64_simd_expand_builtin): Handle the new argument to
17999 AARCH64_SIMD_BUILTIN_LANE_CHECK and don't ICE but rather
18000 print an out when the first two arguments are not
18001 nonzero integer constants.
18002 * config/aarch64/arm_neon.h (__AARCH64_LANE_CHECK):
18003 Pass the sizeof directly to __builtin_aarch64_im_lane_boundsi.
18004
18005 2015-02-11 Jakub Jelinek <jakub@redhat.com>
18006
18007 PR target/61925
18008 * config/i386/i386.c (ix86_reset_to_default_globals): Removed.
18009 (ix86_reset_previous_fndecl): Restore it here, unconditionally.
18010 (ix86_set_current_function): Rewritten.
18011 (ix86_add_new_builtins): Temporarily clear current_target_pragma
18012 when creating builtin fndecls.
18013
18014 2015-02-10 Jan Hubicka <hubicka@ucw.cz>
18015
18016 PR ipa/65005
18017 * ipa-visibility.c (cgraph_node::non_local_p): Turn into static
18018 function.
18019 * symtab.c (symtab_node::verify_base): Remove check that non-definitions
18020 have no comdat group.
18021 * lto-cgraph.c (lto_output_node): Always output thunk and alias info.
18022 (lto_output_varpool_node): Always output alias info.
18023 (output_refs): Output refs of boundary aliases, too.
18024 (compute_ltrans_boundary): Add alias and thunk target into boundaries.
18025 (output_symtab): Output call eges in thunks in boundary.
18026 (get_alias_symbol): Remove.
18027 (input_node, input_varpool_node): Do not special case weakrefs.
18028 * ipa.c (symbol_table::remove_unreachable_nodes): Do not remove
18029 alias and thunks targets in the boundary; do not take removed symbols
18030 from their comdat groups.
18031 * cgraph.c (cgraph_node::local_info): Look through aliases and thunks.
18032 (cgraph_node::global_info): Remove.
18033 (cgraph_node::rtl_info): Look through aliases and thunks.
18034 * cgrpah.h (global_info): Remove.
18035 (non_local_p): Remove.
18036
18037 2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
18038 Sandra Loosemore <sandra@codesourcery.com>
18039
18040 * doc/invoke.texi (x86 Options [-masm=dialect]): Add cross-references
18041 to inline asm. List dialects in proper order.
18042
18043 2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
18044 Sandra Loosemore <sandra@codesourcery.com>
18045
18046 * doc/extend.texi (Loop-Specific Pragmas): Fix grammar error.
18047
18048 2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
18049
18050 * doc/extend.texi (Symbol-Renaming Pragmas): Restore (slightly
18051 modified) reference to Solaris.
18052
18053 2015-02-10 Sandra Loosemore <sandra@codesourcery.com>
18054
18055 * doc/extend.texi (Extended Asm): Fix typos.
18056
18057 2015-02-10 Jakub Jelinek <jakub@redhat.com>
18058
18059 PR sanitizer/65004
18060 * ubsan.c (ubsan_expand_vptr_ifn): Always return true.
18061
18062 2015-02-10 Oleg Endo <olegendo@gcc.gnu.org>
18063
18064 PR target/64661
18065 * config/sh/sh-protos.h (TARGET_ATOMIC_ANY, TARGET_ATOMIC_STRICT,
18066 TARGET_ATOMIC_SOFT_GUSA, TARGET_ATOMIC_HARD_LLCS,
18067 TARGET_ATOMIC_SOFT_TCB, TARGET_ATOMIC_SOFT_IMASK): Add parentheses.
18068 * config/sh/constraints.md (Ara, Add): New constraints.
18069 * config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1): New
18070 predicates.
18071 (atomic_compare_and_swap<mode>, atomic_exchange<mode>): Use
18072 atomic_mem_operand_0. Don't use force_reg on the memory address.
18073 (atomic_compare_and_swapsi_hard): Use atomic_mem_operand_0 predicate and
18074 Sra constraint. Convert to insn_and_split. Add workaround for
18075 PR 64974.
18076 (atomic_compare_and_swap<mode>_hard): Copy to
18077 atomic_compare_and_swap<mode>_hard_1. Convert to insn_and_split.
18078 Use atomic_mem_operand_0 predicate.
18079 (atomic_compare_and_swap<mode>_soft_gusa,
18080 atomic_exchange<mode>_soft_gusa): Use atomic_mem_operand_0 predicate and
18081 AraAdd constraints.
18082 (atomic_compare_and_swap<mode>_soft_tcb,
18083 atomic_compare_and_swap<mode>_soft_imask,
18084 atomic_exchange<mode>_soft_tcb, atomic_exchange<mode>_soft_imask): Use
18085 atomic_mem_operand_0 predicate and SraSdd constraints.
18086 (atomic_exchangesi_hard) Use atomic_mem_operand_0 predicate and Sra
18087 constraint.
18088 (atomic_exchange<mode>_hard): Copy to atomic_exchange<mode>_hard_1.
18089 Convert to insn_and_split. Use atomic_mem_operand_0 predicate.
18090 (atomic_fetch_<fetchop_name><mode>, atomic_fetch_nand<mode>,
18091 atomic_<fetchop_name>_fetch<mode>): Use atomic_mem_operand_1. Don't use
18092 force_reg on the memory address.
18093 (atomic_fetch_<fetchop_name>si_hard, atomic_fetch_notsi_hard,
18094 atomic_fetch_nandsi_hard, atomic_<fetchop_name>_fetchsi_hard,
18095 atomic_not_fetchsi_hard, atomic_nand_fetchsi_hard): Use
18096 atomic_mem_operand_1 predicate and Sra constraint.
18097 (atomic_fetch_<fetchop_name><mode>_hard): Copy to
18098 atomic_fetch_<fetchop_name><mode>_hard_1. Convert to insn_and_split.
18099 Use atomic_mem_operand_1 predicate.
18100 (atomic_<fetchop_name><mode>_hard): Copy to
18101 atomic_<fetchop_name><mode>_hard_1. Convert to insn_and_split.
18102 Use atomic_mem_operand_1 predicate.
18103 (atomic_fetch_nand<mode>_hard): Copy to atomic_fetch_nand<mode>_hard_1.
18104 Convert to insn_and_split. Use atomic_mem_operand_1 predicate.
18105 (atomic_nand<mode>_hard): Copy to atomic_nand<mode>_hard_1. Convert to
18106 insn_and_split. Use atomic_mem_operand_1 predicate.
18107 (atomic_<fetchop_name>_fetch<mode>_hard): Copy to
18108 atomic_<fetchop_name>_fetch<mode>_hard_1. Convert to insn_and_split.
18109 Use atomic_mem_operand_1 predicate.
18110 (atomic_nand_fetch<mode>_hard): Copy to atomic_nand_fetch<mode>_hard_1.
18111 Convert to insn_and_split. Use atomic_mem_operand_1 predicate.
18112 (atomic_fetch_not<mode>_hard, atomic_not_fetch<mode>_hard): Replace mems
18113 in generated insn with original mem operand before emitting the insn.
18114 (atomic_fetch_<fetchop_name><mode>_soft_gusa,
18115 atomic_fetch_not<mode>_soft_gusa, atomic_fetch_nand<mode>_soft_gusa,
18116 atomic_<fetchop_name>_fetch<mode>_soft_gusa,
18117 atomic_not_fetch<mode>_soft_gusa, atomic_nand_fetch<mode>_soft_gusa):
18118 Use atomic_mem_operand_1 predicate and AraAdd constraints.
18119 (atomic_fetch_<fetchop_name><mode>_soft_tcb,
18120 atomic_<fetchop_name><mode>_soft_tcb, atomic_fetch_not<mode>_soft_tcb,
18121 atomic_not<mode>_soft_tcb, atomic_fetch_<fetchop_name><mode>_soft_imask,
18122 atomic_fetch_not<mode>_soft_imask, atomic_fetch_nand<mode>_soft_tcb,
18123 atomic_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask,
18124 atomic_<fetchop_name>_fetch<mode>_soft_tcb,
18125 atomic_not_fetch<mode>_soft_tcb,
18126 atomic_<fetchop_name>_fetch<mode>_soft_imask,
18127 atomic_not_fetch<mode>_soft_imask, atomic_nand_fetch<mode>,
18128 atomic_nand_fetch<mode>_soft_tcb, atomic_nand_fetch<mode>_soft_imask):
18129 Use atomic_mem_operand_1 predicate and SraSdd constraints.
18130
18131 2015-02-10 Uros Bizjak <ubizjak@gmail.com>
18132
18133 * config/alpha/alpha.md (reload_out<mode>_aligned): Make operands 2
18134 and 3 earlyclobber operands.
18135
18136 2015-02-10 Jan Hubicka <hubicka@ucw.cz>
18137
18138 * common.opt (fstack-reuse): Mark as optimization.
18139
18140 2015-02-10 Jan Hubicka <hubicka@ucw.cz>
18141
18142 PR ipa/64982
18143 * cgraphunit.c (cgraph_node::expand_thunk): Look for stdarg thunks.
18144
18145 2015-02-10 Trevor Saunders <tsaunders@mozilla.com>
18146
18147 PR tree-optimization/64326
18148 * cfghooks.c (make_forwarder_block): Cap frequency of created block.
18149
18150 2015-02-10 Rainer Emrich <rainer@emrich-ebersheim.de>
18151
18152 PR gcov-profile/61889
18153 * gcov-tool.c: Remove wrong #if !defined(_WIN32)
18154
18155 2015-02-10 Richard Biener <rguenther@suse.de>
18156
18157 PR tree-optimization/64995
18158 * tree-ssa-sccvn.c (set_ssa_val_to): Assert that the
18159 value we use is final.
18160 (visit_reference_op_store): Always valueize op.
18161 (visit_use): Properly valueize vuses.
18162
18163 2015-02-10 Richard Biener <rguenther@suse.de>
18164
18165 PR tree-optimization/64909
18166 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Properly
18167 pass a scalar-stmt count estimate to the cost model.
18168 * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): Likewise.
18169
18170 2015-02-10 Alexander Monakov <amonakov@ispras.ru>
18171
18172 * doc/invoke.texi (-fvar-tracking-assignments): Clarify that VTA is
18173 enabled by default together with var-tracking.
18174
18175 2015-02-10 Nick Clifton <nickc@redhat.com>
18176
18177 * config/rl78/rl78.c: Remove DIV attribute code accidentally
18178 included in previous rl78 commit.
18179
18180 2015-02-10 Richard Biener <rguenther@suse.de>
18181
18182 * tree-streamer.h (streamer_read_tree_bitfields): Adjust.
18183 * tree-streamer-in.c (streamer_read_tree_bitfields): Do not
18184 return the bitpack.
18185
18186 2015-02-09 Trevor Saunders <tsaunders@mozilla.com>
18187
18188 PR gcov-profile/61889
18189 * config.in: regenerate.
18190 * configure.in: Likewise.
18191 * configure.ac: Check for ftw.h.
18192 * gcov-tool.c: Check for ftw.h before using nftw.
18193
18194 2015-02-09 Trevor Saunders <tsaunders@mozilla.com>
18195
18196 PR lto/64076
18197 * ipa-visibility.c (update_visibility_by_resolution_info): Only
18198 assert when not in lto mode.
18199
18200 2015-02-09 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
18201
18202 * ira-color.c (setup_left_conflict_sizes_p): Simplify
18203 initialization/assignment of conflict_size.
18204
18205 2015-02-09 Jan Hubicka <hubicka@ucw.cz>
18206
18207 PR ipa/64978
18208 * ipa-cp.c (gather_caller_stats): Skip thunks.
18209 (propagate_constants_topo): Skip aliases.
18210
18211 2015-02-09 Kaz Kojima <kkojima@gcc.gnu.org>
18212
18213 PR target/64761
18214 * config/sh/sh.c (sh_option_override): Don't change
18215 -freorder-blocks-and-partition to -freorder-blocks even when
18216 unwinding is enabled.
18217 (sh_can_follow_jump): Return false if the followee jump is
18218 a crossing jump when -freorder-blocks-and-partition is specified.
18219 * config/sh/sh.md (*jump_compact_crossing): New insn.
18220
18221 2015-02-09 Joern Rennecke <joern.rennecke@embecosm.com>
18222 Kaz Kojima <kkojima@gcc.gnu.org>
18223
18224 PR target/64761
18225 * config/sh/sh-protos.h (sh_can_redirect_branch): Don't declare.
18226 * config/sh/sh.c (TARGET_CAN_FOLLOW_JUMP): Redefine.
18227 (sh_can_redirect_branch): Rename to ...
18228 (sh_can_follow_jump): ... this. Constify argument types.
18229 * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): Don't define.
18230 * doc/tm.texi.in (MD_CAN_REDIRECT_BRANCH): Remove documentation.
18231 * reorg.c (steal_delay_list_from_target): Use targetm.can_follow_jump.
18232 * doc/tm.texi: Regenerate.
18233
18234 2015-02-09 Jakub Jelinek <jakub@redhat.com>
18235
18236 PR sanitizer/64981
18237 * builtins.c (expand_builtin): Call targetm.expand_builtin
18238 for BUILT_IN_MD builtins regardless of asan_intercepted_p.
18239
18240 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
18241
18242 PR ipa/61548
18243 * tree-emutls.c (ipa_lower_emutls): Avoid duplicates in TLS_VARS.
18244
18245 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
18246
18247 PR ipa/63566
18248 * ipa-icf.c (set_local): New function.
18249 (sem_function::merge): Use it.
18250
18251 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
18252
18253 * ipa-devirt.c (odr_types_equivalent_p): Fix formating.
18254 (add_type_duplicate): Fix comparison of BINFOs.
18255
18256 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
18257
18258 * ipa-polymorphic-call.c (ipa_polymorphic_call_context): Avoid ICE
18259 on getting VOID pointer.
18260
18261 2015-02-09 Jakub Jelinek <jakub@redhat.com>
18262
18263 PR target/64979
18264 * tree-stdarg.c (pass_stdarg::execute): Scan phi node args for
18265 va_list escapes.
18266
18267 2015-02-09 Richard Biener <rguenther@suse.de>
18268
18269 * genmatch.c (replace_id): Copy expr_type.
18270
18271 2015-02-09 Richard Biener <rguenther@suse.de>
18272
18273 * tree-streamer.h (streamer_pack_tree_bitfields): Remove.
18274 (streamer_write_tree_bitfields): Declare.
18275 * tree-streamer-in.c (unpack_ts_base_value_fields): Inline,
18276 properly unpack padding.
18277 (unpack_value_fields): Inline ...
18278 (streamer_read_tree_bitfields): ... here.
18279 * tree-streamer-out.c (pack_ts_base_value_fields): Inline
18280 and properly add padding bits.
18281 (streamer_pack_tree_bitfields): Fold into ...
18282 (streamer_write_tree_bitfields): ... this new function,
18283 exposing the bitpack object.
18284 * lto-streamer-out.c (lto_write_tree_1): Call
18285 streamer_write_tree_bitfields.
18286
18287 2015-02-09 Richard Biener <rguenther@suse.de>
18288
18289 PR tree-optimization/54000
18290 * tree-ssa-looo-ivopts.c: Include tree-vectorizer.h.
18291 (struct ivopts_data): Add loop_loc member.
18292 (tree_ssa_iv_optimize_loop): Dump loop location.
18293 (create_new_ivs): Likewise, also dump number of IVs generated.
18294
18295 2015-02-09 Martin Liska <mliska@suse.cz>
18296
18297 * ipa-icf.c (sem_item_optimizer::register_hooks): Register hooks
18298 just if not yet registered.
18299 (ipa_icf_generate_summary): Register callgraph hooks.
18300
18301 2015-02-08 Andrew Pinski <apinski@cavium.com>
18302
18303 * config/aarch64/aarch64.c (gty_dummy): Delete.
18304
18305 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
18306
18307 PR ipa/63566
18308 * ipa-visibility.c (cgraph_node::non_local_p): Accept aliases.
18309 (cgraph_node::local_p): Remove thunk related FIXME.
18310
18311 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
18312
18313 PR ipa/63566
18314 * i386.c (ix86_function_regparm): Look through aliases to see if callee
18315 is local and optimized.
18316 (ix86_function_sseregparm): Likewise; also use target's SSE math
18317 settings; error out instead of silently generating wrong code
18318 on mismatches.
18319 (init_cumulative_args): Look through aliases.
18320
18321 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
18322
18323 PR ipa/63566
18324 * ipa-split.c (execute_split_functions): Split if function has aliases.
18325
18326 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
18327
18328 PR ipa/63566
18329 * cgraphunit.c (cgraph_node::analyze): Be sure target of thunk is
18330 aliases before trying to expand it.
18331 (cgraph_node::expand_thunk): Fix formating.
18332
18333 2015-02-07 Sandra Loosemore <sandra@codesourcery.com>
18334
18335 * doc/extend.texi (Function Attributes [naked]): Copy-edit.
18336 (Using Assembly Language with C): Expand introduction.
18337 (Basic Asm): Copy-edit. Add more information about uses of
18338 basic asm.
18339 (Extended Asm): Copy-edit. Document new escape syntax and
18340 %l[label] syntax.
18341 (Global Reg Vars): Copy-edit.
18342 (Local Reg Vars): Likewise.
18343
18344 2015-02-06 David Edelsohn <dje.gcc@gmail.com>
18345
18346 PR debug/2714
18347 PR bootstrap/64256
18348 * xcoffout.h (DBX_CONTIN_LENGTH): Define as 16384.
18349 (DBX_CONTIN_CHAR): Define.
18350
18351 2015-02-06 Sebastian Pop <s.pop@samsung.com>
18352 Brian Rzycki <b.rzycki@samsung.com>
18353
18354 PR tree-optimization/64878
18355 * tree-ssa-threadedge.c: Include tree-ssa-loop.h.
18356 (fsm_find_control_statement_thread_paths): Add parameter seen_loop_phi.
18357 Stop recursion at loop phi nodes after having visited a loop phi node.
18358
18359 2015-02-06 Jakub Jelinek <jakub@redhat.com>
18360
18361 * toplev.c (process_options): Change flag_ipa_ra before creating
18362 optimization_{default,current}_node.
18363
18364 PR ipa/64896
18365 * cgraphunit.c (cgraph_node::expand_thunk): If
18366 restype is not is_gimple_reg_type nor the thunk_fndecl
18367 returns aggregate_value_p, set restmp to a temporary variable
18368 instead of resdecl.
18369
18370 2015-02-06 Vladimir Makarov <vmakarov@redhat.com>
18371
18372 * lra.c (lra_emit_add): Fix a typo in using disp instead of base.
18373
18374 2015-02-06 Michael Meissner <meissner@linux.vnet.ibm.com>
18375
18376 PR target/64205
18377 * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Do not
18378 add a general secondary reload handler for SDmode, unless we have
18379 both read/write support for SDmode.
18380
18381 2015-02-06 Jakub Jelinek <jakub@redhat.com>
18382
18383 PR middle-end/64937
18384 * dwarf2out.c (set_block_abstract_flags, set_decl_abstract_flags):
18385 Replace setting argument with abstract_vec, always set BLOCK_ABSTRACT
18386 or DECL_ABSTRACT_P flags to 1 rather than to setting, and if it wasn't
18387 1 before, push it to abstract_vec.
18388 (dwarf2out_abstract_function): Adjust caller. Don't call
18389 set_decl_abstract_flags second time, instead clear BLOCK_ABSTRACT or
18390 DECL_ABSTRACT_P flags for all abstract_vec elts.
18391
18392 2015-02-06 Renlin Li <renlin.li@arm.com>
18393
18394 * tree-ssa-forwprop.c (execute): Keep location info while rewrite
18395 complex gimple.
18396 * tree-ssa.c (execute_update_addresses_taken): Likewise.
18397
18398 2015-02-06 Jeff Law <law@redhat.com>
18399
18400 PR target/64889
18401 * config/h8300/h8300.c (push): New argument "in_prologue".
18402 Pass "in_prologue" along to "F".
18403 (h8300_push_pop): Corresponding changes.
18404 (h8300_expand_prologue): Likewise.
18405 (h8300_swap_into_er6): Likewise. Do not set RTX_FRAME_RELATED_P.
18406
18407 2015-02-06 Jakub Jelinek <jakub@redhat.com>
18408
18409 PR rtl-optimization/64957
18410 PR debug/64817
18411 * simplify-rtx.c (simplify_binary_operation_1): Use ~cval for
18412 IOR rather than for AND.
18413
18414 2015-02-06 Eric Botcazou <ebotcazou@adacore.com>
18415
18416 PR target/62631
18417 * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Use the mininum of costs
18418 of shift-add and (add + shift) operations. Rename local variable.
18419
18420 2015-02-05 Jeff Law <law@redhat.com>
18421
18422 PR target/17306
18423 * config/h8300/constraints.md (U): Correctly dectect
18424 "eightbit_data" memory addresses.
18425 * config/h8300/h8300.c (eightbit_constant_address_p): Also
18426 handle (const (plus (symbol_ref (x)))) where x is declared
18427 as an 8-bit data memory address.
18428 * config/h8300/h8300.md (call, call_value): Correctly detect
18429 "funcvec" functions.
18430
18431 PR target/43264
18432 * config/h8300/h8300.c (get_shift_alg): Fix ASHIFTRT by
18433 24 to 28 bits for the H8/300.
18434
18435 2015-02-06 Alan Modra <amodra@gmail.com>
18436
18437 PR target/64876
18438 * config/rs6000/rs6000.c (chain_already_loaded): New function.
18439 (rs6000_call_aix): Use it.
18440
18441 2015-02-05 Jan Hubicka <hubicka@ucw.cz>
18442
18443 * ipa-cp.c (ipa_value_from_jfunc, ipa_context_from_jfunc): Add bounds
18444 check.
18445
18446 2015-02-05 Joern Rennecke <joern.rennecke@embecosm.com>
18447
18448 * config/h8300/constraints.md ("U" constraint): Use strict
18449 variant of REG_OK_FOR_BASE_P after reload has started.
18450
18451 2015-02-04 Mantas Mikaitis <mantas.mikaitis@arm.com>
18452
18453 * config/arm/arm.h (TARGET_NEON_FP): Removed conditional definition,
18454 define to zero if !TARGET_NEON.
18455 (TARGET_ARM_FP): Added !TARGET_SOFT_FLOAT into conditional definition.
18456
18457 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
18458 Trevor Saunders <tsaunders@mozilla.com>
18459
18460 PR ipa/61548
18461 * tree-emultls.c (new_emutls_decl): Resolve alias after creating it.
18462
18463 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
18464
18465 PR ipa/61548
18466 * ipa.c (symbol_table::remove_unreachable_nodes): Fix ordering issue
18467 when removing varpool nodes.
18468
18469 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
18470
18471 PR ipa/61548
18472 * varpool.c (varpool_node::remove): Fix order of variables.
18473
18474 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
18475
18476 PR ipa/64686
18477 * ipa-inline.c (inline_small_functions): Fix ordering issue between
18478 speculation resolution and key updates.
18479
18480 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
18481
18482 * ipa-prop.c (update_indirect_edges_after_inlining): By more careful
18483 about not letting any speculative edges unupdated.
18484
18485 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
18486
18487 PR gcov/64123
18488 * gcov-io.c (gcov_var): Export.
18489
18490 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
18491
18492 PR middle-end/64922
18493 * ipa-prop.c (update_indirect_edges_after_inlining): Correctly update
18494 edges that become speculative.
18495
18496 2015-02-04 Jakub Jelinek <jakub@redhat.com>
18497
18498 * dwarf2out.c (is_fortran): Also return true for DW_LANG_Fortran03
18499 or DW_LANG_Fortran08.
18500 (lower_bound_default): Return 1 for DW_LANG_Fortran03 or
18501 DW_LANG_Fortran08.
18502 (gen_compile_unit_die): Handle "GNU Fortran2003" and
18503 "GNU Fortran2008" language strings.
18504 * dbxout.c (get_lang_number): Use lang_GNU_Fortran.
18505 * langhooks.h (lang_GNU_Fortran): New prototype.
18506 * langhooks.c (lang_GNU_Fortran): New function.
18507 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use
18508 lang_GNU_Fortran.
18509
18510 2015-02-04 Eric Botcazou <ebotcazou@adacore.com>
18511
18512 * config/sparc/sparc.c (RTX_OK_FOR_OFFSET_P): Fix off-by-one error.
18513 (RTX_OK_FOR_OLO10_P): Likewise.
18514
18515 2015-02-04 Eric Botcazou <ebotcazou@adacore.com>
18516
18517 * tree-ssa-loop-ivopts.c (get_address_cost): Use right mode for offset.
18518
18519 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
18520
18521 PR middle-end/64922
18522 * gimple.c: Include gimple-ssa.h.
18523 (maybe_remove_unused_call_args): New function.
18524 * gimple.h (maybe_remove_unused_call_args): Declare.
18525 * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Use it.
18526 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Likewise.
18527 * gimple-fold.c (gimple_fold_call): Likewise.
18528
18529 2015-02-04 H.J. Lu <hongjiu.lu@intel.com>
18530
18531 PR rtl-optimization/64905
18532 * lra-eliminations.c (setup_can_eliminate): Clear hard frame
18533 pointer alignment if it isn't needed.
18534
18535 2015-02-04 Matthew Wahab <matthew.wahab@arm.com>
18536
18537 * config/aarch64/aarch64-cores.def: Add cortex-a72 and
18538 cortex-a72.cortex-a53.
18539 * config/aarch64/aarch64-tune.md: Regenerate.
18540 * doc/invoke.texi (AArch64 Options/-mtune): Add "cortex-a72".
18541
18542 2015-02-04 Nick Clifton <nickc@redhat.com>
18543
18544 * config/rl78/rl78.c (rl78_note_reg_set): Note the use of REGs
18545 inside a MEM.
18546
18547 2015-02-04 Jakub Jelinek <jakub@redhat.com>
18548
18549 * builtins.def (DEF_BUILTIN_CHKP): Define if not defined.
18550 (DEF_LIB_BUILTIN_CHKP, DEF_EXT_LIB_BUILTIN_CHKP): Redefine.
18551 (DEF_CHKP_BUILTIN): Define using DEF_BUILTIN_CHKP instead
18552 of DEF_BUILTIN.
18553 (BUILT_IN_MEMCPY, BUILT_IN_MEMMOVE, BUILT_IN_MEMSET, BUILT_IN_STRCAT,
18554 BUILT_IN_STRCHR, BUILT_IN_STRCPY, BUILT_IN_STRLEN): Use
18555 DEF_LIB_BUILTIN_CHKP macro instead of DEF_LIB_BUILTIN.
18556 (BUILT_IN_MEMCPY_CHK, BUILT_IN_MEMMOVE_CHK, BUILT_IN_MEMPCPY_CHK,
18557 BUILT_IN_MEMPCPY, BUILT_IN_MEMSET_CHK, BUILT_IN_STPCPY_CHK,
18558 BUILT_IN_STPCPY, BUILT_IN_STRCAT_CHK, BUILT_IN_STRCPY_CHK): Use
18559 DEF_EXT_LIB_BUILTIN_CHKP macro instead of DEF_EXT_LIB_BUILTIN.
18560 * tree-core.h (enum built_in_function): In between
18561 BEGIN_CHKP_BUILTINS and END_CHKP_BUILTINS only define enum values
18562 for builtins that use DEF_BUILTIN_CHKP macro.
18563
18564 2015-02-04 Alexandre Oliva <aoliva@redhat.com>
18565
18566 PR debug/64817
18567 * cfgexpand.c (expand_debug_expr): Compute unsignedp from
18568 operands for tcc_comparison exprs. Fix typos.
18569
18570 PR debug/64817
18571 * simplify-rtx.c (simplify_binary_operation_1): Simplify one
18572 of two XORs that have an intervening AND or IOR.
18573
18574 PR debug/64817
18575 * simplify-rtx.c (simplify_binary_operation_1): Rewrite
18576 simplification of XOR of AND to not allocate new rtx before
18577 committing to a simplification.
18578
18579 2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
18580
18581 * config/aarch64/aarch64-ldpstp.md: Use std::swap instead of
18582 manual swaps in all peepholes.
18583
18584 2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
18585
18586 * config/aarch64/aarch64.c (aarch64_evpc_ext): Use std::swap instead
18587 of manual swapping implementation.
18588 (aarch64_expand_vec_perm_const_1): Likewise.
18589
18590 2015-02-04 James Greenhalgh <james.greenhalgh@arm.com>
18591
18592 * config/aarch64/aarch64.c (NAMED_PARAM): Delete it.
18593 (generic_addrcost_table): Remove NAMED_PARAM.
18594 (cortexa57_addrcost_table): Likewise.
18595 (xgene1_addrcost_table): Likewise.
18596 (generic_regmove_table): Likewise.
18597 (cortexa53_regmove_table): Likewise.
18598 (xgene1_regmove_table): Likewise.
18599 (generic_vector_table): Likewise.
18600 (cortexa57_vector_table): Likewise.
18601 (xgene1_vector_table): Likewise.
18602 (generic_tunings): Likewise.
18603 (cortexa53_tunings): Likewise.
18604 (cortexa57_tunings): Likewise.
18605 (xgene1_tunings): Likewise.
18606
18607 2015-02-04 Matthew Wahab <matthew.wahab@arm.com>
18608
18609 * config/arm/arm-cores.def: Add cortex-a72 and
18610 cortex-a72.cortex-a53.
18611 * config/arm/bpabi.h (BE8_LINK_SPEC): Likewise.
18612 * config/arm/t-aprofile (MULTILIB_MATCHES): Likewise.
18613 * config/arm/arm-tune.md: Regenerate.
18614 * config/arm/arm-tables.opt: Add entries for "cortex-a72" and
18615 "cortex-a72.cortex-a53".
18616 * doc/invoke.texi (ARM Options/-mtune): Likewise.
18617
18618 2015-02-04 Nick Clifton <nickc@redhat.com>
18619
18620 PR target/64408
18621 * config/fr30/predicates.md (di_operand): Add SUBREG to the list
18622 of accepted codes.
18623 (nonimmediate_di_operand): Likewise.
18624
18625 * config/msp430/msp430.c (msp430_use_f5_series_hwmult): Add more
18626 prefixes of known F5 using MSP430 MCUs.
18627
18628 2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
18629
18630 * config/aarch64/aarch64-simd-builtins.def (sqrt): Use BUILTIN_VDQF_DF.
18631 * config/aarch64/arm_neon.h (vsqrt_f64): Use __builtin_aarch64_sqrtdf
18632 instead of __builtin_sqrt.
18633
18634 2015-02-04 Ilya Enkovich <ilya.enkovich@intel.com>
18635
18636 * varasm.c (do_assemble_alias): Follow transparent alias
18637 chain for target.
18638 (default_assemble_visibility): Follow transparent alias
18639 chain for decl name.
18640
18641 2015-02-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
18642
18643 PR middle-end/62103
18644 * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use TYPE_PRECISION
18645 to compute size of referenced value in the constant case.
18646
18647 2015-02-03 Jakub Jelinek <jakub@redhat.com>
18648
18649 PR rtl-optimization/64756
18650 * cse.c (invalidate_dest): New function.
18651 (cse_insn): Use it. If dest != SET_DEST (sets[i].rtl) and
18652 HASH (SET_DEST (sets[i].rtl), mode) computation sets do_not_record,
18653 invalidate and do not record it.
18654
18655 2015-02-03 Oleg Endo <olegendo@gcc.gnu.org>
18656
18657 PR target/64660
18658 * config/sh/sync.md (atomic_<fetchop_name><mode>_hard,
18659 atomic_not<mode>_hard, atomic_<fetchop_name><mode>_soft_tcb,
18660 atomic_not<mode>_soft_tcb, atomic_nand<mode>_hard,
18661 atomic_nand<mode>_soft_tcb): New insns.
18662 (atomic_fetch_<fetchop_name>si_hard): Convert to insn_and_split.
18663 Split into atomic_<fetchop_name>_fetchsi_hard if operands[0] is unused.
18664 (define_insn "atomic_fetch_notsi_hard): Convert to insn_and_split.
18665 Split into atomic_not_fetchsi_hard if operands[0] is unused.
18666 (atomic_fetch_<fetchop_name><mode>_hard): Convert to insn_and_split.
18667 Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
18668 (atomic_fetch_not<mode>_hard): Convert to insn_and_split. Split into
18669 atomic_not<mode>_hard if operands[0] is unused.
18670 (atomic_fetch_<fetchop_name><mode>_soft_gusa): Convert to
18671 insn_and_split. Split into atomic_<fetchop_name>_fetch<mode>_soft_gusa
18672 if operands[0] is unused.
18673 (atomic_fetch_not<mode>_soft_gusa): Convert to insn_and_split. Split
18674 into atomic_not_fetch<mode>_soft_gusa if operands[0] is unused.
18675 (atomic_fetch_<fetchop_name><mode>_soft_tcb): Convert to insn_and_split.
18676 Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
18677 unused.
18678 (atomic_fetch_not<mode>_soft_tcb): Convert to insn_and_split. Split
18679 into atomic_not<mode>_soft_tcb if operands[0] is unused.
18680 (atomic_fetch_<fetchop_name><mode>_soft_imask): Convert to
18681 insn_and_split. Split into atomic_<fetchop_name>_fetch<mode>_soft_imask
18682 if operands[0] is unused.
18683 (atomic_fetch_not<mode>_soft_imask): Convert to insn_and_split. Split
18684 into atomic_not_fetch<mode>_soft_imask is operands[0] is unused.
18685 (atomic_fetch_nandsi_hard): Convert to insn_and_split. Split into
18686 atomic_nand_fetchsi_hard if operands[0] is unused.
18687 (atomic_fetch_nand<mode>_hard): Convert to insn_and_split. Split into
18688 atomic_nand<mode>_hard if operands[0] is unused.
18689 (atomic_fetch_nand<mode>_soft_gusa): Convert to insn_and_split. Split
18690 into atomic_nand_fetch<mode>_soft_gusa if operands[0] is unused.
18691 (atomic_fetch_nand<mode>_soft_tcb): Convert to insn_and_split. Split
18692 into atomic_nand<mode>_soft_tcb if operands[0] is unused.
18693 (atomic_fetch_nand<mode>_soft_imask): Convert to insn_and_split. Split
18694 into atomic_nand_fetch<mode>_soft_imask if operands[0] is unused.
18695 (atomic_<fetchop_name>_fetch<mode>_hard): Convert to insn_and_split.
18696 Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
18697 (atomic_not_fetch<mode>_hard): Convert to insn_and_split. Split into
18698 atomic_not<mode>_hard if operands[0] is unused.
18699 (atomic_<fetchop_name>_fetch<mode>_soft_tcb): Convert to insn_and_split.
18700 Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
18701 unused.
18702 (atomic_not_fetch<mode>_soft_tcb): Convert to insn_and_split. Split
18703 into atomic_not<mode>_soft_tcb if operands[0] is unused.
18704 (atomic_nand_fetch<mode>_hard): Convert to insn_and_split. Split into
18705 atomic_nand<mode>_hard if operands[0] is unused.
18706 (atomic_nand_fetch<mode>_soft_tcb): Convert to insn_and_split. Split
18707 into atomic_nand<mode>_soft_tcb if operands[0] is unused.
18708
18709 2015-02-03 David Malcolm <dmalcolm@redhat.com>
18710
18711 PR jit/64810
18712 * Makefile.in (GCC_OBJS): Add gcc-main.o.
18713 * gcc-main.c: New file, containing "main" taken from gcc.c.
18714 * gcc.c (do_self_spec): Free decoded_options.
18715 (class driver): Move declaration to gcc.h.
18716 (main): Move declaration and implementation to new file
18717 gcc-main.c.
18718 (driver_get_configure_time_options): New function.
18719 * gcc.h (class driver): Move this declaration here, from
18720 gcc.c.
18721 (driver_get_configure_time_options): New declaration.
18722
18723 2015-02-03 Jan Hubicka <hubicka@ucw.cz>
18724
18725 * ipa-inline-analysis.c (simple_edge_hints): Fix check for
18726 cross-module inlining.
18727 * cgraph.h (cgraph_node): Add flag merged.
18728 * ipa-icf.c (sem_function::merge): Maintain it.
18729
18730 2015-02-03 Richard Sandiford <richard.sandiford@arm.com>
18731
18732 * config/arm/arm.c (thumb2_reorg): Test UNARY_P and BINARY_P
18733 instead of OBJECT_P.
18734
18735 2015-02-03 Eric Botcazou <ebotcazou@adacore.com>
18736
18737 PR target/62631
18738 * config/sparc/sparc.h (TARGET_HARD_MUL): Remove TARGET_V8PLUS.
18739 (TARGET_HARD_MUL32): Rewrite based on TARGET_HARD_MUL.
18740 * config/sparc/sparc.c (sparc_rtx_costs) <MULT>: Return costs based on
18741 int_mulX for integers in 64-bit mode if TARGET_HARD_MUL is not set.
18742
18743 2015-02-03 Jakub Jelinek <jakub@redhat.com>
18744
18745 PR other/63504
18746 * combine.c (reg_n_sets_max): New variable.
18747 (can_change_dest_mode, reg_nonzero_bits_for_combine,
18748 reg_num_sign_bit_copies_for_combine, get_last_value_validate,
18749 get_last_value): Use REG_N_SETS only on pseudos < reg_n_sets_max.
18750 (try_combine): Use INC_REG_N_SETS only on pseudos < reg_n_sets_max.
18751 (rest_of_handle_combine): Initialize reg_n_sets_max.
18752
18753 2015-02-02 Jan Hubicka <hubicka@ucw.cz>
18754
18755 * ipa-inline.c (early_inliner): Skip inlining only in always_inlined;
18756 if some always_inline was inlined, apply changes before inlining
18757 heuristically.
18758
18759 2015-02-02 David Malcolm <dmalcolm@redhat.com>
18760
18761 PR jit/64810
18762 * config/arm/arm.c (arm_option_override): Set
18763 arm_selected_arch/cpu/tune to NULL on entry.
18764
18765 2015-02-02 Tejas Belagod <tejas.belagod@arm.com>
18766 Andrew Pinski <pinskia@gcc.gnu.org>
18767 Jakub Jelinek <jakub@gcc.gnu.org>
18768
18769 PR target/64231
18770 * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix large
18771 integer typing for small model. Use IN_RANGE.
18772
18773 2015-02-02 Richard Biener <rguenther@suse.de>
18774
18775 * tree-ssa-ccp.c (valueize_op_1): Always allow valueizing default-defs.
18776 * tree-vrp.c (vrp_valueize_1): Likewise.
18777
18778 2015-02-02 Alan Modra <amodra@gmail.com>
18779
18780 * config/rs6000/rs6000.c (rs6000_call_aix): Use unspec rather
18781 than mem for toc_restore.
18782 * config/rs6000/rs6000.md (UNSPEC_TOCSLOT): Define.
18783 (call_indirect_aix, call_value_indirect_aix): Adjust to suit.
18784 (call_indirect_elfv2, call_value_indirect_elfv2): Likewise.
18785
18786 2015-02-01 David Edelsohn <dje.gcc@gmail.com>
18787
18788 PR target/64047
18789 * config/rs6000/rs6000.c (rs6000_set_current_function): Handle
18790 explicit default options.
18791
18792 2015-02-01 Jan Hubicka <hubicka@ucw.cz>
18793
18794 PR ipa/64872
18795 * ipa-utils.c (ipa_merge_profiles): Add release argument.
18796 * ipa-icf.c (sem_function::merge): Do not release body when merging.
18797 * ipa-utils.h (ipa_merge_profiles): Update prototype.
18798
18799 2015-02-01 Jakub Jelinek <jakub@redhat.com>
18800
18801 PR debug/64817
18802 * cfgexpand.c (deep_ter_debug_map): New variable.
18803 (avoid_deep_ter_for_debug): New function.
18804 (expand_debug_expr): If TERed SSA_NAME is in
18805 deep_ter_debug_map, use the corresponding DEBUG_EXPR_DECL
18806 instead of trying to expand SSA_NAME's def stmt.
18807 (expand_debug_locations): When expanding debug bind
18808 of a DEBUG_EXPR_DECL to corresponding SSA_NAME,
18809 temporarily remove the DEBUG_EXPR_DECL from deep_ter_debug_map's
18810 value.
18811 (pass_expand::execute): Call avoid_deep_ter_for_debug on
18812 all debug bind stmts. Delete deep_ter_debug_map after
18813 expand_debug_location if non-NULL and clear it.
18814
18815 2015-02-01 Oleg Endo <olegendo@gcc.gnu.org>
18816
18817 PR target/64851
18818 * config/sh/sync.md (atomic_fetch_notsi_hard,
18819 atomic_fetch_not<mode>_hard, atomic_fetch_not<mode>_soft_gusa,
18820 atomic_fetch_not<mode>_soft_tcb, atomic_fetch_not<mode>_soft_imask,
18821 atomic_not_fetchsi_hard, atomic_not_fetch<mode>_hard,
18822 atomic_not_fetch<mode>_soft_gusa, atomic_not_fetch<mode>_soft_tcb,
18823 atomic_not_fetch<mode>_soft_imask): New insns.
18824
18825 2015-02-01 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
18826
18827 * haifa-sched.c (INSN_RFS_DEBUG_ORIG_ORDER): New access macro.
18828 (rank_for_schedule_debug): Split from ...
18829 (rank_for_schedule): ... this.
18830 (ready_sort): Sort DEBUG_INSNs separately from normal INSNs.
18831 * sched-int.h (struct _haifa_insn_data): New field rfs_debug_orig_order.
18832
18833 2015-01-31 Sandra Loosemore <sandra@codesourcery.com>
18834
18835 * doc/md.texi (Machine Constraints): Alphabetize table by target.
18836 * doc/extend.texi (x86 Variable Attributes): Move section to
18837 correct alphabetization after renaming.
18838 (x86 Type Attributes): Likewise.
18839 (Target Builtins): Re-alphabetize menu.
18840 (x86 Built-in Functions): Move section to correct alphabetization
18841 after renaming.
18842 (x86 transactional memory intrinsics): Likewise.
18843 * doc/invoke.texi (Option Summary): Re-alphabetize x86 Options
18844 and x86 Windows Options in table and menu.
18845 (x86 Options): Move section to correct alphabetization after
18846 renaming.
18847 (x86 Windows Options): Likewise.
18848
18849 2015-01-31 Sandra Loosemore <sandra@codesourcery.com>
18850
18851 * doc/extend.texi: Use "x86", "x86-32", and "x86-64" as the
18852 preferred names of the architecture and its 32- and 64-bit
18853 variants.
18854 * doc/invoke.texi: Likewise.
18855 * doc/md.texi: Likewise.
18856
18857 2015-01-31 Uros Bizjak <ubizjak@gmail.com>
18858
18859 PR target/64882
18860 * config/i386/predicates.md (address_no_seg_operand): Reject
18861 non-CONST_INT_P operands in invalid mode.
18862
18863 2015-01-31 Uros Bizjak <ubizjak@gmail.com>
18864
18865 * config/i386/i386.md (*prefetch_prefetchw1): Remove mode of
18866 address_operand 0. Rename from *prefetch_prefetchwt1_<mode>.
18867 * config/i386/predicates.md (address_no_seg_operand): Call
18868 address_operand with VOIDmode.
18869 (vsib_address_operand): Ditto.
18870 (address_mpx_no_base_operand): Ditto.
18871 (address_mpx_no_index_operand): Ditto.
18872
18873 2015-01-30 Vladimir Makarov <vmakarov@redhat.com>
18874
18875 PR target/64688
18876 * lra-constraints.c (original_subreg_reg_mode): New.
18877 (simplify_operand_subreg): Try to simplify subreg of const. Use
18878 original_subreg_reg_mode for it.
18879 (swap_operands): Update original_subreg_reg_mode.
18880 (curr_insn_transform): Set up original_subreg_reg_mode.
18881
18882 2015-01-30 Vladimir Makarov <vmakarov@redhat.com>
18883
18884 PR target/64617
18885 * lra-constraints.c (prohibited_class_reg_set_mode_p): New
18886 function.
18887 (process_alt_operands): Use it.
18888 (curr_insn_transform): Check the optional reload pseudo class is
18889 ok for the mode.
18890
18891 2015-01-30 Joseph Myers <joseph@codesourcery.com>
18892
18893 * diagnostic.c (fatal_error (const char *, ...)): Remove function.
18894 * diagnostic-core.h (fatal_error (const char *, ...)): Remove
18895 prototype.
18896 * toplev.h (init_asm_output): Update comment on use of
18897 UNKNOWN_LOCATION with fatal_error.
18898 * cgraph.c, collect-utils.c, collect2.c, config/arc/arc.c,
18899 config/arc/arc.md, config/avr/avr.c, config/c6x/c6x.h,
18900 config/darwin.c, config/host-darwin.c, config/i386/host-cygwin.c,
18901 config/i386/intelmic-mkoffload.c, config/nios2/nios2.c,
18902 config/nvptx/mkoffload.c, config/nvptx/nvptx.h,
18903 config/rs6000/host-darwin.c, config/rs6000/rs6000.c,
18904 config/s390/s390.c, gcc.c, gcov-io.h, gcov-tool.c, ggc-common.c,
18905 ggc-page.c, graph.c, ipa-inline-analysis.c, ipa-reference.c,
18906 lto-cgraph.c, lto-section-in.c, lto-streamer-in.c, lto-streamer.c,
18907 lto-wrapper.c, objc/objc-act.c, opts.c, passes.c, plugin.c,
18908 tlink.c, toplev.c, tree-streamer-in.c, varpool.c: All callers of
18909 fatal_error changed to pass input_location as first argument.
18910
18911 2015-01-30 Martin Liska <mliska@suse.cz>
18912
18913 * tree.h: Change GCC_VERSION >= 4004 to GCC_VERSION >= 4006
18914 in #pragma GCC diagnostic guards.
18915
18916 2015-01-30 Richard Biener <rguenther@suse.de>
18917
18918 PR tree-optimization/64829
18919 * tree-vect-patterns.c (vect_handle_widen_op_by_const): Do
18920 not add a widening conversion pattern but hand off extra
18921 widenings to callers.
18922 (vect_recog_widen_mult_pattern): Handle extra widening produced
18923 by vect_handle_widen_op_by_const.
18924 (vect_recog_widen_shift_pattern): Likewise.
18925 (vect_pattern_recog_1): Remove excess vertical space in dumping.
18926 * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Likewise.
18927 (vect_init_vector_1): Likewise.
18928 (vect_get_vec_def_for_operand): Likewise.
18929 (vect_finish_stmt_generation): Likewise.
18930 (vectorizable_load): Likewise.
18931 (vect_analyze_stmt): Likewise.
18932 (vect_is_simple_use): Likewise.
18933
18934 2015-01-29 Jeff Law <law@redhat.com>
18935
18936 * combine.c (try_combine): Fix typo in comment.
18937
18938 2015-01-29 Segher Boessenkool <segher@kernel.crashing.org>
18939
18940 PR target/64580
18941 * config.rs6000/rs6000.c (compute_vrsave_mask): Reverse loop order.
18942 (rs6000_stack_info): Add assert.
18943 (rs6000_output_savres_externs): New function, split off from...
18944 (rs6000_output_function_prologue): ... here. Do not call it for
18945 thunks.
18946
18947 2015-01-29 Jeff Law <law@redhat.com>
18948
18949 PR target/15184
18950 * combine.c (try_combine): If I0 is a memory load and I3 a store
18951 to a related address, increase the "goodness" of doing a 4-insn
18952 combination with I0-I3.
18953 (make_field_assignment): Handle SUBREGs in the ior+and case.
18954
18955 2015-01-29 Yuri Rumyantsev <ysrumyan@gmail.com>
18956
18957 PR tree-optimization/64746
18958 * tree-if-conv.c (mask_exists): New function.
18959 (predicate_mem_writes): Save created mask with given size for further
18960 use.
18961 (stmt_is_root_of_bool_pattern): Remove argument VAR and store to it.
18962 (ifcvt_repair_bool_pattern): Collect all statements that are root
18963 of bool pattern and use iterative algorithm to remove multiple uses
18964 of predicates, display number of required iterations.
18965
18966 2015-01-29 Richard Biener <rguenther@suse.de>
18967
18968 PR tree-optimization/64853
18969 * tree-vrp.c (vrp_valueize_1): Do not return anything if the
18970 stmt will get simulated again.
18971 * tree-ssa-ccp.c (valueize_op_1): Likewise.
18972
18973 2015-01-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
18974
18975 * config/arm/arm.c (arm_emit_multi_reg_pop): Simplify definition of
18976 return_in_pc. Remove redundant assignments.
18977 (thumb2_emit_ldrd_pop): Simplify definition of return_in_pc.
18978 (arm_expand_epilogue): Don't compare boolean with true in if condition.
18979
18980 2015-01-29 Uros Bizjak <ubizjak@gmail.com>
18981
18982 * config/i386/i386.c (ix86_mode_after): Make static.
18983
18984 2015-01-29 Richard Biener <rguenther@suse.de>
18985
18986 PR tree-optimization/64844
18987 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Always
18988 dump cost model analysis.
18989 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
18990 Do not register adjusted load/store costs here.
18991
18992 2015-01-29 Ilya Enkovich <ilya.enkovich@intel.com>
18993 Uros Bizjak <ubizjak@gmail.com>
18994
18995 * config/i386/i386-protos.h (ix86_use_pseudo_pic_reg): New.
18996 * config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Simplify by
18997 using x86_use_pseudo_pic_reg.
18998 * config/i386/i386.c (ix86_conditional_register_usage): Remove
18999 support for fixed PIC register.
19000 (ix86_use_pseudo_pic_reg): Not static any more.
19001
19002 2015-01-29 Ilya Enkovich <ilya.enkovich@intel.com>
19003
19004 PR middle-end/64805
19005 * ipa-inline.c (early_inliner): Rebuild IPA_REF_CHKP reference
19006 to avoid error in cgraph node verification.
19007
19008 2015-01-29 Marek Polacek <polacek@redhat.com>
19009
19010 * doc/standards.texi: Reflect that the default for C is gnu11.
19011
19012 2015-01-29 Kaz Kojima <kkojima@gcc.gnu.org>
19013
19014 PR target/64761
19015 * reorg.c (switch_text_sections_between_p): New function.
19016 (relax_delay_slots): Call it when testing if the jump insn
19017 is removable. Use targetm.can_follow_jump when testing if
19018 the conditional branch can follow an unconditional jump.
19019
19020 2015-01-27 Caroline Tice <cmtice@google.com>
19021
19022 Committing VTV Cywin/Ming patch for Patrick Wollgast
19023 * config/i386/cygwin.h (STARTFILE_SPEC): Add vtv_start.o,
19024 if -fvtable-verify=preinit/std is used.
19025 * config/i386/mingw-w64.h (STARTFILE_SPEC): Likewise.
19026 * config/i386/mingw32.h (STARTFILE_SPEC): Likewise.
19027 * config/i386/cygwin.h (ENDFILE_SPEC): Add vtv_end.o,
19028 if -fvtable-verify=preinit/std is used.
19029 * config/i386/mingw32.h (ENDFILE_SPEC): Likewise.
19030 * config/i386/cygwin.h (LIB_SPEC): Pass -lvtv and -lpsapi,
19031 if -fvtable-verify=preinit/std is used.
19032 * config/i386/mingw-w64.h (LIB_SPEC): Likewise.
19033 * config/i386/mingw32.h (LIB_SPEC): Likewise.
19034 * varasm.c (assemble_variable): Add code to properly set the comdat
19035 section and name for the .vtable_map_vars section in case the
19036 target is PE or COFF.
19037
19038 2015-01-29 Jan Hubicka <hubicka@ucw.cz>
19039
19040 PR ipa/64801
19041 * cgraphunit.c (init_lowered_empty_function): Add CoUNT parameter;
19042 make sane BB profile.
19043 (cgraph_node::expand_thunk): Make sane BB profile.
19044 (cgraph_node::create_wrapper): Do not set call_stmt_cannot_inline_p.
19045 * cgraph.h (init_lowered_empty_function): Update prototype.
19046 * config/i386/i386.c (make_resolver_func): Update call.
19047 * predict.c (gate): Disable branch prediction pass if
19048 profile is already there.
19049
19050 2015-01-29 Jan Hubicka <hubicka@ucw.cz>
19051
19052 * optc-save-gen.awk: flag_fp_contract_mode is no longer speical.
19053 * opth-gen.awk: Likewise.
19054 * common.opt: Mark flag_fp_contract_mode as Optimization.
19055
19056 2015-01-29 Bernd Edlinger <bernd.edlinger@hotmail.de>
19057
19058 * config/i386/cygwin.h (LIBGCJ_SONAME): Set libgcj version to -16.
19059 * config/i386/mingw32.h (LIBGCJ_SONAME): Set libgcj version to -16.
19060
19061 2015-01-28 Oleg Endo <olegendo@gcc.gnu.org>
19062
19063 PR target/64659
19064 * config/sh/predicates.md (atomic_arith_operand,
19065 atomic_logical_operand): Remove.
19066 * config/sh/sync.md (fetchop_predicate, fetchop_constraint): Remove.
19067 (atomic_arith_operand_0): New predicate.
19068 (atomic_compare_and_swap<mode>): Use arith_reg_dest for output values.
19069 Use atomic_arith_operand_0 for input values.
19070 (atomic_compare_and_swapsi_hard, atomic_compare_and_swap<mode>_hard,
19071 atomic_compare_and_swap<mode>_soft_gusa,
19072 atomic_compare_and_swap<mode>_soft_tcb,
19073 atomic_compare_and_swap<mode>_soft_imask): Use arith_reg_dest and
19074 arith_reg_operand instead of register_operand.
19075 (atomic_exchange<mode>): Use arith_reg_dest for output value. Use
19076 atomic_arith_operand_0 for newval input.
19077 (atomic_exchangesi_hard, atomic_exchange<mode>_hard,
19078 atomic_exchange<mode>_soft_gusa, atomic_exchange<mode>_soft_tcb,
19079 atomic_exchange<mode>_soft_imask): Use arith_reg_dest and
19080 arith_reg_operand instead of register_operand.
19081 (atomic_arith_operand_1, atomic_logical_operand_1): New predicates.
19082 fetchop_predicate_1, fetchop_constraint_1_llcs,
19083 fetchop_constraint_1_gusa, fetchop_constraint_1_tcb,
19084 fetchop_constraint_1_imask): New code iterator attributes.
19085 (atomic_fetch_<fetchop_name><mode>): Use arith_reg_dest instead of
19086 register_operand. Use fetchop_predicate_1.
19087 (atomic_fetch_<fetchop_name>si_hard,
19088 atomic_fetch_<fetchop_name><mode>_hard): Use arith_reg_dest instead of
19089 register_operand. Use fetchop_predicate_1, fetchop_constraint_1_llcs.
19090 (atomic_fetch_<fetchop_name><mode>_soft_gusa): Use arith_reg_dest
19091 and arith_reg_operand instead of register_operand. Use
19092 fetchop_predicate_1, fetchop_constraint_1_gusa.
19093 (atomic_fetch_<fetchop_name><mode>_soft_tcb): Use arith_reg_dest
19094 and arith_reg_operand instead of register_operand. Use
19095 fetchop_predicate_1, fetchop_constraint_1_tcb. Adjust asm sequence
19096 to allow R0 usage.
19097 (atomic_fetch_<fetchop_name><mode>_soft_imask): Use arith_reg_dest
19098 and arith_reg_operand instead of register_operand. Use
19099 fetchop_predicate_1, fetchop_constraint_1_imask. Adjust asm sequence
19100 to allow R0 usage.
19101 (atomic_fetch_nand<mode>): Use arith_reg_dest instead of
19102 register_operand. Use atomic_logical_operand_1.
19103 (atomic_fetch_nandsi_hard, atomic_fetch_nand<mode>_hard,
19104 atomic_fetch_nand<mode>_soft_gusa): Use arith_reg_dest and
19105 arith_reg_operand instead of register_operand.
19106 (atomic_fetch_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask):
19107 Use arith_reg_dest and arith_reg_operand instead of register_operand.
19108 Use logical_operand and rK08. Adjust asm sequence to allow R0 usage.
19109 (atomic_<fetchop_name>_fetch<mode>): Use arith_reg_dest instead of
19110 register_operand. Use fetchop_predicate_1.
19111 (atomic_<fetchop_name>_fetchsi_hard,
19112 atomic_<fetchop_name>_fetch<mode>_hard): Use arith_reg_dest and
19113 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
19114 fetchop_constraint_1_llcs.
19115 (atomic_<fetchop_name>_fetch<mode>_soft_gusa): Use arith_reg_dest and
19116 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
19117 fetchop_constraint_1_gusa.
19118 (atomic_<fetchop_name>_fetch<mode>_soft_tcb): Use arith_reg_dest and
19119 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
19120 fetchop_constraint_1_tcb. Adjust asm sequence to allow R0 usage.
19121 (atomic_<fetchop_name>_fetch<mode>_soft_imask): Use arith_reg_dest and
19122 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
19123 fetchop_constraint_1_imask. Adjust asm sequence to allow R0 usage.
19124 (atomic_nand_fetch<mode>): Use arith_reg_dest instead of
19125 register_operand. Use atomic_logical_operand_1.
19126 (atomic_nand_fetchsi_hard, atomic_nand_fetch<mode>_hard,
19127 atomic_nand_fetch<mode>_soft_gusa): Use arith_reg_dest and
19128 arith_reg_operand instead of register_operand.
19129 (atomic_nand_fetch<mode>_soft_tcb): Use arith_reg_dest and
19130 arith_reg_operand instead of register_operand. Use logical_operand
19131 and K08. Adjust asm sequence to allow R0 usage.
19132 (atomic_nand_fetch<mode>_soft_imask): Use arith_reg_dest and
19133 arith_reg_operand instead of register_operand. Use logical_operand
19134 and K08.
19135
19136 2015-01-28 Jakub Jelinek <jakub@redhat.com>
19137
19138 PR other/63504
19139 * dwarf2out.c (add_AT_wide, mem_loc_descriptor, loc_descriptor):
19140 Use ggc_alloc<wide_int> instead of ggc_cleared_alloc<wide_int>.
19141 (attr_checksum, attr_checksum_ordered, hash_loc_operands): Checksum
19142 only get_full_len HOST_WIDE_INTs from get_val () array rather than
19143 all bits in *val_wide.
19144
19145 2015-01-28 Jan Hubicka <hubicka@ucw.cz>
19146
19147 * varpool.c (tls_model_names): Fix names.
19148 (varpool_node::dump): Dump tls- prefix for tls models.
19149
19150 2015-01-28 Thomas Schwinge <thomas@codesourcery.com>
19151 Bernd Schmidt <bernds@codesourcery.com>
19152 Nathan Sidwell <nathan@codesourcery.com>
19153
19154 * config/nvptx/mkoffload.c: New file.
19155 * config/nvptx/t-nvptx: Add build rules for it.
19156 * config.gcc <nvptx-*> [$enable_as_accelerator = yes]
19157 (extra_programs): Add mkoffload.
19158 * config/nvptx/nvptx.c (nvptx_record_offload_symbol): New
19159 function.
19160 (TARGET_RECORD_OFFLOAD_SYMBOL): Define macro to use it.
19161
19162 2015-01-28 Yuri Rumyantsev <ysrumyan@gmail.com>
19163
19164 PR middle-end/64809
19165 * cfgexpand.c (reorder_operands): Skip debug gimples.
19166
19167 2015-01-28 Ilya Enkovich <ilya.enkovich@intel.com>
19168
19169 PR tree-optimization/64277
19170 * tree-ssa-loop-niter.c (record_nonwrapping_iv): Use base
19171 range info when possible to refine estimation.
19172
19173 2015-01-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
19174
19175 PR tree-optimization/64718
19176 * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Make bswap_type
19177 be a 16bit unsigned integer when n->range is 16.
19178 (bswap_replace): Convert src to that type if necessary for all bswap
19179 sizes. Fix rotation right notation in nearby comment. Use bswap_type
19180 set in pass_optimize_bswap::execute ().
19181
19182 2015-01-28 James Greenhalgh <james.greenhalgh@arm.com>
19183
19184 * config/aarch64/aarch64-simd.md (aarch64_abs<mode>): New.
19185 * config/aarch64/aarch64-simd-builtins.def (abs): Split by
19186 integer and floating point variants.
19187 * config/aarch64/iterators.md (unspec): Add UNSPEC_ABS.
19188
19189 2015-01-28 Robert Suchanek <robert.suchanek@imgtec.com>
19190
19191 * config/mips/mips.c (mips_hard_regno_mode_ok_p): Prohibit accumulators
19192 for all vector modes.
19193
19194 2015-01-28 Jakub Jelinek <jakub@redhat.com>
19195
19196 PR bootstrap/64612
19197 * doc/sourcebuild.texi (comdat_group): Document.
19198
19199 2015-01-28 Terry Guo <terry.guo@arm.com>
19200
19201 * config/arm/thumb1.md (*thumb1_movpc_insn): New insn pattern.
19202
19203 2015-01-27 David Malcolm <dmalcolm@redhat.com>
19204
19205 * toplev.c (print_version): Add param "show_global_state", and
19206 only print GGC and plugin information if it is true.
19207 (init_asm_output): Pass in "true" for the new param when calling
19208 print_version.
19209 (process_options): Likewise.
19210 (toplev::main): Likewise.
19211 * toplev.h (print_version): Add new param to decl.
19212
19213 2015-01-27 Jan Hubicka <hubicka@ucw.cz>
19214
19215 PR ipa/60871
19216 PR ipa/64139
19217 * tree.c (lookup_binfo_at_offset): New function.
19218 (get_binfo_at_offset): Use it.
19219
19220 2015-01-27 Jan Hubicka <hubicka@ucw.cz>
19221
19222 PR ipa/64282
19223 * gimple-fold.c (gimple_get_virt_method_for_vtable): Remove assert
19224 on vtable being vtable.
19225
19226 2015-01-27 Dominik Vogt <vogt@linux.vnet.ibm.com>
19227
19228 * doc/extend.texi: s/390: Update documentation of hotpatch attribute.
19229 * doc/invoke.texi (-mhotpatch): s/390: Update documentation of
19230 -mhotpatch= option.
19231 * config/s390/s390.opt (mhotpatch): s/390: Remove -mhotpatch and
19232 -mno-hotpatch options. Change syntax of -mhotpatch= option.
19233 * config/s390/s390.c (s390_hotpatch_trampoline_halfwords_default):
19234 Renamed.
19235 (s390_hotpatch_trampoline_halfwords_max): Renamed.
19236 (s390_hotpatch_hw_max): New name.
19237 (s390_hotpatch_trampoline_halfwords): Renamed.
19238 (s390_hotpatch_hw_before_label): New name.
19239 (get_hotpatch_attribute): Removed.
19240 (s390_hotpatch_hw_after_label): New name.
19241 (s390_handle_hotpatch_attribute): Add second parameter to hotpatch
19242 attribute.
19243 (s390_attribute_table): Ditto.
19244 (s390_function_num_hotpatch_trampoline_halfwords): Renamed.
19245 (s390_function_num_hotpatch_hw): New name.
19246 Remove special handling of inline functions and hotpatching.
19247 Return number of nops before and after the function label.
19248 (s390_can_inline_p): Removed.
19249 (s390_asm_output_function_label): Emit a configurable number of nops
19250 after the function label.
19251 (s390_option_override): Update -mhotpatch= syntax and remove -mhotpatch.
19252 (TARGET_CAN_INLINE_P) Removed.
19253 (TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): New.
19254
19255 2015-01-27 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
19256 Jiong Wang <jiong.wang@arm.com>
19257
19258 * config/aarch64/aarch64.md (tb<optab><mode>1): Clobber CC reg instead
19259 of scratch reg.
19260 (cb<optab><mode>1): Likewise.
19261 * config/aarch64/iterators.md (bcond): New define_code_attr.
19262
19263 2015-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
19264
19265 * config/s390/s390.c (s390_memory_move_cost): Increase costs for
19266 memory accesses.
19267
19268 2015-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
19269
19270 * config/s390/s390.c (s390_register_move_cost): Increase costs for
19271 FPR->GPR moves.
19272
19273 2015-01-27 Richard Biener <rguenther@suse.de>
19274
19275 * tree-vrp.c (update_value_range): Intersect the range with
19276 old recorded SSA name range information.
19277
19278 2015-01-27 Nick Clifton <nickc@redhat.com>
19279
19280 * config/rl78/rl78.c (rl78_expand_prologue): In G10 mode push the
19281 BC, DE and HL registers directly, not via AX.
19282 When decrementing the stack pointer by a large amount, transfer SP
19283 into AX and perform the subtraction there.
19284 (rl78_expand_epilogue): Perform the inverse of the above
19285 enhancements.
19286
19287 2015-01-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
19288
19289 * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Remove.
19290
19291 2015-01-27 Jakub Jelinek <jakub@redhat.com>
19292 Yury Gribov <y.gribov@samsung.com>
19293
19294 PR ubsan/64741
19295 * ubsan.c (ubsan_source_location): Refactor code.
19296 (ubsan_type_descriptor): Update type size. Refactor code.
19297
19298 2015-01-27 Richard Biener <rguenther@suse.de>
19299
19300 PR tree-optimization/56273
19301 PR tree-optimization/59124
19302 PR tree-optimization/64277
19303 * tree-vrp.c (vrp_finalize): Emit array-bound warnings only
19304 from the first VRP pass.
19305
19306 2015-01-27 Jakub Jelinek <jakub@redhat.com>
19307
19308 PR ipa/64776
19309 * cgraphunit.c (cgraph_node::expand_thunk): If not this_adjusting,
19310 handle the first argument in the same loop as all the other arguments.
19311
19312 PR rtl-optimization/61058
19313 * jump.c (cleanup_barriers): Update basic block boundaries
19314 if BLOCK_FOR_INSN is non-NULL on PREV.
19315
19316 2015-01-27 Ilya Enkovich <ilya.enkovich@intel.com>
19317
19318 * tree-chkp.c (chkp_call_returns_bounds_p): Fix handling of
19319 bounds narrowing, already instrumented calls and calls to
19320 not instrumentable functions.
19321
19322 2015-01-27 Jakub Jelinek <jakub@redhat.com>
19323
19324 PR tree-optimization/64807
19325 * wide-int.cc (wi::divmod_internal): Clear
19326 b_dividend[dividend_blocks_needed].
19327
19328 2015-01-26 DJ Delorie <dj@redhat.com>
19329
19330 * config/rl78/rl78.c (move_elim_pass): Don't optimize away
19331 volatile memory references.
19332
19333 2015-01-26 Oleg Endo <olegendo@gcc.gnu.org>
19334
19335 PR target/49263
19336 * config/sh/sh.c (sh_split_treg_set_expr): Invoke emit_insn before
19337 remove_insn.
19338 * config/sh/sh.md (tstsi_t): Don't try to optimize constant with right
19339 shifts if it already fits into K08.
19340
19341 2015-01-26 Jakub Jelinek <jakub@redhat.com>
19342
19343 PR ipa/64730
19344 * ipa-inline.c (inline_small_functions): Print "unknown" even
19345 if edge->call_stmt is non-NULL, but has builtins or unknown
19346 location.
19347
19348 PR middle-end/64421
19349 * omp-low.c (simd_clone_mangle): If DECL_ASSEMBLER_NAME starts
19350 with asterisk, skip the first character.
19351
19352 2015-01-26 H.J. Lu <hongjiu.lu@intel.com>
19353
19354 PR target/64806
19355 * config/i386/i386 (feature_priority): Revert the last P_POPCNT
19356 order change.
19357
19358 2015-01-26 Uros Bizjak <ubizjak@gmail.com>
19359
19360 PR target/64795
19361 * config/i386/i386.md (*movdi_internal): Also check operand 0
19362 to determine TYPE_LEA operand.
19363 (*movsi_internal): Ditto.
19364
19365 2015-01-26 Jakub Jelinek <jakub@redhat.com>
19366
19367 * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add
19368 OPTION_MASK_QUAD_MEMORY_ATOMIC.
19369
19370 2015-01-26 Renlin Li <renlin.li@arm.com>
19371
19372 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Correct
19373 the comment.
19374 * config/aarch64/aarch64.md (tlsle_small_<mode>): Add left shift 12-bit
19375 for higher part.
19376
19377 2015-01-26 Richard Biener <rguenther@suse.de>
19378
19379 PR middle-end/64764
19380 * tree-ssa-uninit.c (is_pred_expr_subset_of): Handle
19381 combining two BIT_AND_EXPR predicates.
19382
19383 2015-01-26 H.J. Lu <hongjiu.lu@intel.com>
19384
19385 PR bootstrap/64754
19386 * tree-ssa-structalias.c (new_var_info): Initialize ruid.
19387
19388 2015-01-26 Terry Guo <terry.guo@arm.com>
19389
19390 * config/arm/arm.c (arm_file_start): Update the assignment of
19391 Tag_ABI_HardFP_use.
19392
19393 2015-01-25 James Greenhalgh <james.greenhalgh@arm.com>
19394
19395 * config/arm/arm-cores.def (cortex-a57): Use the new Cortex-A57
19396 pipeline model.
19397 config/arm/arm.md: Include the new Cortex-A57 model.
19398 (generic_sched): Don't use generic_sched when tuning for
19399 Cortex-A57.
19400
19401 2015-01-25 Allan Sandfeld Jensen <sandfeld@kde.org>
19402 Uros Bizjak <ubizjak@gmail.com>
19403
19404 * config/i386/i386.c (get_builtin_code_for_version): Add
19405 support for BMI and BMI2 multiversion functions.
19406
19407 2015-01-25 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
19408
19409 * emit-rtl.h (store_bit_field): Move prototype to expmed.h.
19410 (extract_bit_field): Likewise.
19411 (extract_low_bits): Likewise.
19412 (expand_mult): Likewise.
19413 (expand_mult_highpart_adjust): Likewise.
19414
19415 2015-01-24 H.J. Lu <hongjiu.lu@intel.com>
19416
19417 * config/i386/driver-i386.c (host_detect_local_cpu): Check new
19418 Silvermont, Haswell, Broadwell and Knights Landing model numbers.
19419 * config/i386/i386.c (processor_model): Add
19420 M_INTEL_COREI7_BROADWELL.
19421 (arch_names_table): Add "broadwell".
19422
19423 2015-01-24 Oleg Endo <olegendo@gcc.gnu.org>
19424
19425 PR target/49263
19426 PR target/53987
19427 PR target/64345
19428 PR target/59533
19429 PR target/52933
19430 PR target/54236
19431 PR target/51244
19432 * config/sh/sh-protos.h
19433 (sh_extending_set_of_reg::can_use_as_unextended_reg,
19434 sh_extending_set_of_reg::use_as_unextended_reg,
19435 sh_is_nott_insn, sh_movt_set_dest, sh_movrt_set_dest, sh_is_movt_insn,
19436 sh_is_movrt_insn, sh_insn_operands_modified_between_p,
19437 sh_reg_dead_or_unused_after_insn, sh_in_recog_treg_set_expr,
19438 sh_recog_treg_set_expr, sh_split_treg_set_expr): New functions.
19439 (sh_treg_insns): New class.
19440 * config/sh/sh.c (TARGET_LEGITIMATE_COMBINED_INSN): Define target hook.
19441 (scope_counter): New class.
19442 (sh_legitimate_combined_insn, sh_is_nott_insn, sh_movt_set_dest,
19443 sh_movrt_set_dest, sh_reg_dead_or_unused_after_insn,
19444 sh_extending_set_of_reg::can_use_as_unextended_reg,
19445 sh_extending_set_of_reg::use_as_unextended_reg, sh_recog_treg_set_expr,
19446 sh_in_recog_treg_set_expr, sh_try_split_insn_simple,
19447 sh_split_treg_set_expr): New functions.
19448 (addsubcosts): Handle treg_set_expr.
19449 (sh_rtx_costs): Handle IF_THEN_ELSE and ZERO_EXTRACT.
19450 (sh_rtx_costs): Use arith_reg_operand in SIGN_EXTEND and ZERO_EXTEND.
19451 (sh_rtx_costs): Handle additional bit test patterns in EQ and AND cases.
19452 (sh_insn_operands_modified_between_p): Make non-static.
19453 * config/sh/predicates.md (zero_extend_movu_operand): Allow
19454 simple_mem_operand in addition to displacement_mem_operand.
19455 (zero_extend_operand): Don't allow zero_extend_movu_operand.
19456 (treg_set_expr, treg_set_expr_not_const01,
19457 arith_reg_or_treg_set_expr): New predicates.
19458 * config/sh/sh.md (tstsi_t): Use arith_reg_operand and
19459 arith_or_int_operand instead of logical_operand. Convert to
19460 insn_and_split. Try to optimize constant operand in splitter.
19461 (tsthi_t, tstqi_t): Fold into *tst<mode>_t. Convert to insn_and_split.
19462 (*tstqi_t_zero): Delete.
19463 (*tst<mode>_t_subregs): Add !sh_in_recog_treg_set_expr split condition.
19464 (tstsi_t_and_not): Delete.
19465 (tst<mode>_t_zero_extract_eq): Rename to *tst<mode>_t_zero_extract.
19466 Convert to insn_and_split.
19467 (unnamed split, tstsi_t_zero_extract_xor,
19468 tstsi_t_zero_extract_subreg_xor_little,
19469 tstsi_t_zero_extract_subreg_xor_big): Delete.
19470 (*tstsi_t_shift_mask): New insn_and_split.
19471 (cmpeqsi_t, cmpgesi_t): Add new split for const_int 0 operands and try
19472 to recombine with surrounding insns when splitting.
19473 (*negtstsi): Add !sh_in_recog_treg_set_expr condition.
19474 (cmp_div0s_0, cmp_div0s_1, *cmp_div0s_0, *cmp_div0s_1): Rewrite as ...
19475 (cmp_div0s, *cmp_div0s_1, *cmp_div0s_2, *cmp_div0s_3, *cmp_div0s_4,
19476 *cmp_div0s_5, *cmp_div0s_6): ... these new insn_and_split patterns.
19477 (*cbranch_div0s: Delete.
19478 (*addc): Convert to insn_and_split. Use treg_set_expr as 3rd operand.
19479 Try to recombine with surrounding insns when splitting. Add operand
19480 order variants.
19481 (*addc_t_r, *addc_r_t): Use treg_set_expr_not_const01.
19482 (*addc_r_r_1, *addc_r_lsb, *addc_r_r_lsb, *addc_r_lsb_r, *addc_r_msb,
19483 *addc_r_r_msb, *addc_2r_msb): Delete.
19484 (*addc_2r_lsb): Rename to *addc_2r_t. Use treg_set_expr. Add operand
19485 order variant.
19486 (*addc_negreg_t): New insn_and_split.
19487 (*subc): Convert to insn_and_split. Use treg_set_expr as 3rd operand.
19488 Try to recombine with surrounding insns when splitting.
19489 Add operand order variants.
19490 (*subc_negt_reg, *subc_negreg_t, *reg_lsb_t, *reg_msb_t): New
19491 insn_and_split patterns.
19492 (*rotcr): Use arith_reg_or_treg_set_expr. Try to recombine with
19493 surrounding insns when splitting.
19494 (unnamed rotcr split): Use arith_reg_or_treg_set_expr.
19495 (*rotcl): Likewise. Add zero_extract variant.
19496 (*ashrsi2_31): New insn_and_split.
19497 (*negc): Convert to insn_and_split. Use treg_set_expr.
19498 (*zero_extend<mode>si2_disp_mem): Update comment.
19499 (movrt_negc, *movrt_negc, nott): Add !sh_in_recog_treg_set_expr split
19500 condition.
19501 (*mov_t_msb_neg, mov_neg_si_t): Use treg_set_expr. Try to recombine
19502 with surrounding insns when splitting.
19503 (any_treg_expr_to_reg): New insn_and_split.
19504 (*neg_zero_extract_0, *neg_zero_extract_1, *neg_zero_extract_2,
19505 *neg_zero_extract_3, *neg_zero_extract_4, *neg_zero_extract_5,
19506 *neg_zero_extract_6, *zero_extract_0, *zero_extract_1,
19507 *zero_extract_2): New single bit zero extract patterns.
19508 (bld_reg, *bld_regqi): Fold into bld<mode>_reg.
19509 (*get_thread_pointersi, store_gbr, *mov<mode>_gbr_load,
19510 *mov<mode>_gbr_load, *mov<mode>_gbr_load, *mov<mode>_gbr_load,
19511 *movdi_gbr_load): Use arith_reg_dest instead of register_operand for
19512 set destination.
19513 (set_thread_pointersi, load_gbr): Use arith_reg_operand instead of
19514 register_operand for set source.
19515
19516 2015-01-23 Jan Hubicka <hubicka@ucw.cz>
19517
19518 * i386.opt (prefetch_sse): New targetsave.
19519 * i386.c (ix86_function_specific_save): Save prefetch_sse.
19520 (ix86_function_specific_restore): Restore prefetch_sse and initialize
19521 ix86_cost/ix86_tune_cost.
19522
19523 2015-01-23 David Malcolm <dmalcolm@redhat.com>
19524
19525 * config/rs6000/rs6000.c (rs6000_output_function_epilogue):
19526 Support the JIT by using 0 as the language type.
19527
19528 2015-01-23 Vladimir Makarov <vmakarov@redhat.com>
19529
19530 PR target/64317
19531 * lra-lives.c (make_hard_regno_born): Add parameter. Don't make
19532 REAL_PIC_OFFSET_TABLE_REGNUM conflicting with pic offset pseudo.
19533 (mark_regno_live, process_bb_lives): Pass new parameter value to
19534 make_hard_regno_born.
19535
19536 2015-01-23 Jakub Jelinek <jakub@redhat.com>
19537
19538 PR rtl-optimization/63637
19539 PR rtl-optimization/60663
19540 * cse.c (merge_equiv_classes): Set new_elt->cost to MAX_COST
19541 if elt->cost is MAX_COST for ASM_OPERANDS.
19542 (find_sets_in_insn): Fix up comment typo.
19543 (cse_insn): Don't set src_volatile for all non-volatile
19544 ASM_OPERANDS in PARALLELs, but just those with multiple outputs
19545 or with "memory" clobber. Set elt->cost to MAX_COST
19546 for ASM_OPERANDS in PARALLEL. Set src_elt->cost to MAX_COST
19547 if new_src is ASM_OPERANDS and elt->cost is MAX_COST.
19548
19549 2015-01-23 Uros Bizjak <ubizjak@gmail.com>
19550
19551 * config/i386/sse.md (sse2_loadld): Set attribute isa to sse2 for
19552 alternative 1.
19553
19554 2015-01-23 Uros Bizjak <ubizjak@gmail.com>
19555
19556 * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Move definition to
19557 libgcc/config/i386/elf-lib.h.
19558
19559 2015-01-23 Jakub Jelinek <jakub@redhat.com>
19560
19561 PR driver/64737
19562 * gcc.c (print_configuration): Don't print a blank line at the end
19563 here...
19564 (run_attempt): ... but here unstead.
19565
19566 PR middle-end/64734
19567 * omp-low.c (scan_sharing_clauses): Don't ignore
19568 OMP_CLAUSE_MAP_ZERO_BIAS_ARRAY_SECTION GOMP_MAP_POINTER clauses
19569 on target data/update constructs.
19570
19571 2015-01-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
19572
19573 PR target/50928
19574 * config/m32c/m32c.c (encode_pattern_1): Removed gcc_unreachable here.
19575 (DEBUG_RELOAD): Removed define.
19576 (m32c_limit_reload_class): Enable traces with if DEBUG0.
19577 (m32c_function_arg): Added a type cast.
19578 (m32c_legitimize_reload_address): Push A_REGS reload with PSImode.
19579 * config/m32c/addsub.md (addsi3_1): Specify the mode of all arguments.
19580 * config/m32c/bitops.md (andqi3_16): Likewise.
19581 * config/m32c/mov.md (m32c_immd_dbl_mov): Likewise.
19582 (push_a01_l): Likewise.
19583
19584 2015-01-23 David Malcolm <dmalcolm@redhat.com>
19585
19586 PR jit/64721
19587 * main.c (main): Construct toplev instances with init_signals=true.
19588 * toplev.c (general_init): Add param "init_signals", and use it to
19589 conditionalize the calls to signal and host_hooks.extra_signals.
19590 (toplev::toplev): Add param "init_signals".
19591 (toplev::main): When invoking general_init, pass m_init_signals
19592 to control whether signal-handlers are installed.
19593 * toplev.h (toplev::toplev): Add param "init_signals".
19594 (toplev::m_init_signals): New field.
19595
19596 2015-01-23 David Malcolm <dmalcolm@redhat.com>
19597
19598 PR jit/64722
19599 * emit-rtl.c (init_emit_regs): Set pic_offset_table_rtx to
19600 NULL_RTX before testing PIC_OFFSET_TABLE_REGNUM, since the
19601 latter may be affected by the former (e.g. on i686).
19602
19603 2015-01-23 Martin Liska <mliska@suse.cz>
19604
19605 * tree.h (tree_vec_elt_check): Workaround -Wstrict-overflow
19606 false positive during profiledbootstrap.
19607
19608 2015-01-23 Tom de Vries <tom@codesourcery.com>
19609
19610 PR libgomp/64672
19611 * lto-opts.c (lto_write_options): Output non-explicit conservative
19612 -fno-openacc.
19613 * lto-wrapper.c (merge_and_complain): Handle merging -fopenacc.
19614 (append_compiler_options): Pass -fopenacc through.
19615
19616 2015-01-23 Tom de Vries <tom@codesourcery.com>
19617
19618 PR libgomp/64707
19619 * lto-opts.c (lto_write_options): Output non-explicit conservative
19620 -fno-openmp.
19621 * lto-wrapper.c (merge_and_complain): Handle merging -fopenmp.
19622 (append_compiler_options): Pass -fopenmp through.
19623
19624 2015-01-23 Jakub Jelinek <jakub@redhat.com>
19625
19626 PR debug/64511
19627 * dwarf2out.c (struct dw_loc_descr_node): Add chain_next
19628 GTY markup.
19629
19630 * diagnostic-core.h (internal_error_no_backtrace): New prototype.
19631 * diagnostic.def (DK_ICE_NOBT): New kind.
19632 * diagnostic.c (diagnostic_action_after_output): Handle DK_ICE_NOBT
19633 like DK_ICE, but never print backtrace.
19634 (diagnostic_report_diagnostic): Handle DK_ICE_NOBT like DK_ICE.
19635 (internal_error_no_backtrace): New function.
19636 * gcc.c (execute): Use internal_error_no_backtrace instead of
19637 internal_error.
19638
19639 2015-01-22 Jeff Law <law@redhat.com>
19640
19641 PR target/52076
19642 * config/m68k/m68k.md (xorsi3_internal): Twiddle constraints to
19643 improve code density for small immediate to memory case.
19644 (insv): Better handle bitfield assignments when the field is
19645 being set to all ones.
19646 * config/m68k/predicates.md (reg_or_pow2_m1_operand): New
19647 operand predicate.
19648
19649 2015-01-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
19650 Jakub Jelinek <jakub@redhat.com>
19651
19652 PR middle-end/64729
19653 * gcc.c (LINK_SSP_SPEC): Handle -fstack-protector-explicit
19654 for !TARGET_LIBC_PROVIDES_SSP version and
19655 -fstack-protector-{all,strong,explicit} otherwise.
19656 * config/freebsd.h (LINK_SSP_SPEC): Handle
19657 -fstack-protector-{strong,explicit}.
19658
19659 2015-01-22 Jan Hubicka <hubicka@ucw.cz>
19660 H.J. Lu <hongjiu.lu@intel.com>
19661
19662 PR ipa/64694
19663 * ipa-inline.c (inline_small_functions): Fix thinko in maintenance of
19664 heap.
19665
19666 2015-01-22 Wei Mi <wmi@google.com>
19667
19668 PR rtl-optimization/64557
19669 * dse.c (record_store): Call get_addr for mem_addr.
19670 (check_mem_read_rtx): Likewise.
19671
19672 2015-01-22 Eric Botcazou <ebotcazou@adacore.com>
19673
19674 * fold-const.c (const_binop): Add early return for non-tcc_binary.
19675
19676 2015-01-22 Chen Gang <gang.chen.5i5j@gmail.com>
19677
19678 * toplev.c (init_local_tick): Process the failure when read
19679 fails for random_seed.
19680
19681 * ubsan.c (ubsan_type_descriptor): Use 'pretty_print' for
19682 'pretty_name' to avoid memory overflow.
19683
19684 2015-01-22 Richard Biener <rguenther@suse.de>
19685
19686 PR middle-end/64728
19687 * tree-ssa-coalesce.c (coalesce_partitions): Do not perform
19688 abnormal coalescing on undefined SSA names.
19689
19690 2015-22-01 Uros Bizjak <ubizjak@gmail.com>
19691
19692 PR target/64688
19693 PR target/64477
19694 * config/i386/sse.md (vec_set<mode>_0): Use (Yi/r/C) constraints
19695 for alternative 3.
19696 (*vec_dup<mode>): Use (Yi/$r) constraints for alternative 1.
19697
19698 2015-01-22 Trevor Saunders <tsaunders@mozilla.com>
19699
19700 PR middle-end/63325
19701 * fold-const.c (fold_checksum_tree): Don't include value of
19702 expr->decl_with_vis.symtab_node in the checksum.
19703
19704 2015-01-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
19705
19706 * config/s390/s390.md (atomic code attribute): Fix typo "ior" -> "or".
19707
19708 2015-01-22 Max Ostapenko <m.ostapenko@partner.samsung.com>
19709
19710 PR driver/64690
19711 * gcc.c (insert_comments): New function.
19712 (try_generate_repro): Call it.
19713 (append_text): Removed.
19714
19715 2015-01-22 Richard Biener <rguenther@suse.de>
19716
19717 * ipa-inline.c (can_inline_edge_p): Disable inlining of edges
19718 with IL incompatible options. Properly honor user optimize
19719 attributes.
19720
19721 2015-01-21 Segher Boessenkool <segher@kernel.crashing.org>
19722
19723 PR rtl-optimization/64682
19724 * combine.c (distribute_notes): When moving a death note for
19725 a register that is set in the new I2, make sure to put it
19726 before that new I2.
19727
19728 2015-01-21 David Edelsohn <dje.gcc@gmail.com>
19729
19730 * config/rs6000/rs6000.c (rs6000_file_start): Use rs6000_isa_flags
19731 not TARGET_DEFAULT.
19732
19733 2015-01-21 Jakub Jelinek <jakub@redhat.com>
19734
19735 PR debug/64511
19736 * simplify-rtx.c (simplify_relational_operation_1): Don't try to
19737 optimize (eq/ne (and (side_effects) (const_int 0)) (const_int 0))
19738 into (eq/ne (and (not (side_effects)) (const_int 0)) (const_int 0)).
19739
19740 PR sanitizer/64706
19741 * doc/invoke.texi (-fsanitize=vptr): Document.
19742
19743 PR rtl-optimization/62078
19744 * dse.c: Include cfgcleanup.h.
19745 (rest_of_handle_dse): For -fnon-call-exceptions, if DSE removed
19746 anything call purge_all_dead_edges and cleanup_cfg at the end
19747 of the pass.
19748
19749 2015-01-21 Jan Hubicka <hubicka@ucw.cz>
19750
19751 * ipa-utils.c (ipa_merge_profiles): Avoid ICE on mismatch in indirect
19752 edges.
19753
19754 2015-01-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
19755
19756 * gimplify.c (gimplify_function_tree): Check the no_sanitize_thread
19757 decl attribute.
19758
19759 2015-01-21 David Sherwood <david.sherwood@arm.com>
19760 Tejas Belagod <Tejas.Belagod@arm.com>
19761
19762 * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Removed.
19763 * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class): Removed.
19764 * config/aarch64/aarch64-protos.h (aarch64_cannot_change_mode_class):
19765 Removed.
19766
19767 2015-01-21 David Sherwood <david.sherwood@arm.com>
19768 Tejas Belagod <Tejas.Belagod@arm.com>
19769
19770 * config/aarch64/aarch64-protos.h (aarch64_simd_attr_length_rglist)
19771 (aarch64_reverse_mask): New decls.
19772 * config/aarch64/iterators.md (UNSPEC_REV_REGLIST): New enum.
19773 (insn_count): New mode_attr.
19774 * config/aarch64/aarch64-simd.md (vec_store_lanesoi, vec_store_lanesci)
19775 (vec_store_lanesxi, vec_load_lanesoi, vec_load_lanesci)
19776 (vec_load_lanesxi): Made ABI compliant for Big Endian targets.
19777 (aarch64_rev_reglist, aarch64_simd_ld2, aarch64_simd_ld3)
19778 (aarch64_simd_ld4, aarch64_simd_st2, aarch64_simd_st3)
19779 (aarch64_simd_st4): New patterns.
19780 * config/aarch64/aarch64.c (aarch64_simd_attr_length_rglist)
19781 (aarch64_reverse_mask): New functions.
19782
19783 2015-01-21 Richard Sandiford <richard.sandiford@arm.com>
19784
19785 * config/aarch64/aarch64-protos.h (aarch64_simd_disambiguate_copy):
19786 Declare.
19787 * config/aarch64/aarch64.c (aarch64_classify_address): Allow extra
19788 addressing modes for BE.
19789 (aarch64_print_operand): Add 'R' specifier.
19790 (aarch64_simd_disambiguate_copy): Delete.
19791 (aarch64_simd_emit_reg_reg_move): New function.
19792 * config/aarch64/aarch64-simd.md: Use aarch64_simd_emit_reg_reg_move
19793 in define_splits for structural moves.
19794 (mov<mode>): Use less restrictive predicates.
19795 (*aarch64_mov<mode>): Simplify and only allow for LE.
19796 (*aarch64_be_movoi, *aarch64_be_movci, *aarch64_be_movxi): New.
19797
19798 2015-01-21 Alan Hayward <alan.hayward@arm.com>
19799
19800 * rtlanal.c (subreg_get_info): Exit early for simple and common cases.
19801
19802 2015-01-21 Richard Henderson <rth@redhat.com>
19803
19804 PR target/64669
19805 * ccmp.c (used_in_cond_stmt_p): Remove.
19806 (expand_ccmp_expr): Don't use it.
19807
19808 2015-01-21 Nick Clifton <nickc@redhat.com>
19809
19810 * config/rl78/rl78.c (rl78_calculate_death_notes): Look inside
19811 PARALLELs.
19812
19813 2015-01-21 Richard Biener <rguenther@suse.de>
19814
19815 PR middle-end/64313
19816 * tree-core.h (builtin_info, builtin_info_type): Turn from
19817 an object with two arrays into an array of an object with
19818 decl and two flags, implicit_p and declared_p.
19819 * tree.h (builtin_decl_explicit, builtin_decl_implicit,
19820 set_builtin_decl, set_builtin_decl_implicit_p,
19821 builtin_decl_explicit_p, builtin_decl_implicit_p): Adjust.
19822 (set_builtin_decl_declared_p, builtin_decl_declared_p): New functions.
19823 * builtins.c (builtin_info): Adjust.
19824 * gimplify.c (gimplify_addr_expr): References to builtins
19825 that have been declared by the user makes them eligible for
19826 use by the compiler. Call set_builtin_decl_implicit_p on them.
19827
19828 2015-01-20 Jeff Law <law@redhat.com>
19829
19830 PR target/59946
19831 * config/m68k/m68k.md (Comparison expanders and patterns): Do not
19832 allow pc-relative addresses in operand predicates or constraints.
19833
19834 2015-01-21 Bin Cheng <bin.cheng@arm.com>
19835
19836 * config/arm/arm.c (arm_cortex_a53_tune, arm_cortex_a57_tune): Prefer
19837 neon on aarch32 processors for stringops.
19838
19839 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
19840
19841 PR ipa/63576
19842 * ipa-utils.c (ipa_merge_profiles): Merge speculative edges.
19843
19844 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
19845
19846 PR lto/45375
19847 * ipa-inline.c: Include lto-streamer.h
19848 (report_inline_failed_reason): Output source file differences and
19849 flags on optimization/target node mismatch.
19850 (can_inline_edge_p): Consider caller to be the outer inline function;
19851 be less restrictive about matching opimize and optimize_size attributes.
19852 (inline_account_function_p): Break out from ...
19853 (inline_small_functions): ... here.
19854 * ipa-inline-transform.c (clone_inlined_nodes): Use
19855 inline_account_function_p.
19856 (inline_call): Use optimize attribution; use inline_account_function_p.
19857 (inline_transform): Use opt_for_fn.
19858 * ipa-inline.h (inline_account_function_p): Declare.
19859
19860 2015-01-20 Jakub Jelinek <jakub@redhat.com>
19861
19862 PR debug/64663
19863 * dwarf2out.c (decl_piece_node): Don't put bitsize into
19864 mode if bitsize <= 0.
19865 (decl_piece_bitsize, adjust_piece_list, add_var_loc_to_decl,
19866 dw_sra_loc_expr): Use HOST_WIDE_INT instead of int for bit
19867 sizes and positions.
19868
19869 2015-01-20 Chung-Lin Tang <cltang@codesourcery.com>
19870
19871 * config/nios2/nios2.c (nios2_asm_file_end): Implement
19872 TARGET_ASM_FILE_END hook for adding .note.GNU-stack section when
19873 needed.
19874 (TARGET_ASM_FILE_END): Define.
19875
19876 2015-01-20 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
19877
19878 * config/arm/arm-protos.h (enum arm_sched_autopref): New constants.
19879 (struct tune_params): Use the enum.
19880 * arm.c (arm_*_tune): Update.
19881 (arm_option_override): Update.
19882
19883 2015-01-20 Richard Biener <rguenther@suse.de>
19884
19885 PR ipa/64684
19886 * ipa-reference.c (add_static_var): Inline ...
19887 (analyze_function): ... here after splitting out from ...
19888 (is_proper_for_analysis): ... this.
19889
19890 2015-01-20 Matthew Wahab <matthew.wahab@arm.com>
19891
19892 PR target/64149
19893 * config/arm/arm.opt: Remove lra option and arm_lra_flag variablesle.
19894 * config/arm/arm.h (MODE_BASE_REG_CLASS): Remove use of arm_lra_flagag,
19895 replace the conditional with it's true branch.
19896 * config/arm/arm.config (TARGET_LRA_P): Set to hook_bool_void_true.
19897 (arm_lra_p): Remove.
19898
19899 2015-01-20 Eric Botcazou <ebotcazou@adacore.com>
19900
19901 * config/visium/visium.h (LIB_SPEC): Adjust in default case.
19902
19903 2015-01-20 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
19904
19905 * config/tilegx/mul-tables.c: Move symtab.h include after
19906 coretypes.h include.
19907 * config/tilepro/mul-tables.c: Add includes hashtab.h, hash-set.h,
19908 vec.h, machmode.h, tm.h, hard-reg-set.h, input.h, function.h, rtl.h,
19909 flags.h, statistics.h, double-int.h, real.h, fixed-value.h, alias.h,
19910 wide-int.h, inchash.h, tree.h, insn-config.h, expmed.h, dojump.h,
19911 explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.
19912
19913 2015-01-20 Igor Zamyatin <igor.zamyatin@intel.com>
19914
19915 PR bootstrap/64676
19916 Revert:
19917 2015-01-19 Igor Zamyatin <igor.zamyatin@intel.com>
19918
19919 PR rtl-optimization/64081
19920 * loop-iv.c (def_pred_latch_p): New function.
19921 (latch_dominating_def): Allow specific cases with non-single
19922 definitions.
19923 (iv_get_reaching_def): Likewise.
19924 (check_complex_exit_p): New function.
19925 (check_simple_exit): Use check_complex_exit_p to allow certain cases
19926 with exits not executing on any iteration.
19927
19928 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
19929
19930 PR lto/45375
19931 * i386.c (ix86_option_override_internal): Use ix86_tune_cost
19932 to set branch cost.
19933
19934 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
19935
19936 PR lto/45375
19937 * i386.c (gate): Check flag_expensive_optimizations and
19938 optimize_size.
19939 (ix86_option_override_internal): Drop optimize_size condition
19940 on MASK_ACCUMULATE_OUTGOING_ARGS, MASK_VZEROUPPER,
19941 MASK_AVX256_SPLIT_UNALIGNED_LOAD, MASK_AVX256_SPLIT_UNALIGNED_STORE,
19942 MASK_PREFER_AVX128.
19943 (ix86_avx256_split_vector_move_misalign,
19944 ix86_avx256_split_vector_move_misalign): Check optimize_insn_for_speed.
19945 * sse.md (all uses of TARGET_PREFER_AVX128): Add
19946 optimize_insn_for_speed_p check.
19947
19948 2015-01-19 Matthew Fortune <matthew.fortune@imgtec.com>
19949
19950 * config/mips/mips.h (FP_ASM_SPEC): New define.
19951 (ASM_SPEC): Remove floating-point options and use FP_ASM_SPEC
19952 instead.
19953
19954 2015-01-19 Oleg Endo <olegendo@gcc.gnu.org>
19955
19956 PR target/53988
19957 * config/sh/sh-protos.h (sh_find_set_of_reg): Make sure not to return
19958 nullptr for insn when reaching the first insn.
19959 * config/sh/sh.c (sh_unspec_insn_p): Rewrite using subrtx_iterator.
19960 (sh_insn_operands_modified_between_p): Add nullptr check.
19961 (sh_find_extending_set_of_reg): Fix log message. Don't accept
19962 sign extending mem load if the insn contains any UNSPEC or
19963 UNSPEC_VOLATILE.
19964
19965 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
19966
19967 * params.def (inline-unit-growth): Drop to 15%.
19968 * invoke.texi (inline-unit-growth): Document change.
19969
19970 2015-01-19 Martin Liska <mliska@suse.cz>
19971
19972 PR ipa/64668
19973 * ipa-icf-gimple.c (func_checker::compare_operand): Call proper
19974 function for second argument of OBJ_TYPE_REF.
19975
19976 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
19977
19978 PR ipa/64218
19979 * ipa-inline.c (want_inline_function_to_all_callers_p): Fix check
19980 whether function is an alias.
19981
19982 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
19983
19984 * ipa-devirt.c (ipa_devirt): Drop polymorphic call info in hopeless
19985 cases.
19986
19987 2015-01-19 Vladimir Makarov <vmakarov@redhat.com>
19988
19989 PR rtl-optimization/64671
19990 * lra-remat.c (operand_to_remat): Don't consider jump and call
19991 insns.
19992
19993 2015-01-19 David Edelsohn <dje.gcc@gmail.com>
19994
19995 PR target/59828
19996 * config/rs6000/default64.h: Include rs6000-cpus.def.
19997 (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use ISA 2.7 (POWER8).
19998 (TARGET_DEFAULT) [BIG_ENDIAN]: Use POWER4.
19999 * config/rs6000/driver-rs6000.c (detect_processor_aix): Add POWER7
20000 and POWER8.
20001 * config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Always default to
20002 POWER8.
20003 * config/rs6000/rs6000.c (rs6000_file_start): Emit .machine
20004 pseudo-op to specify assembler dialect.
20005
20006 2015-01-19 Martin Liska <mliska@suse.cz>
20007
20008 PR ipa/64664
20009 * ipa-icf.c (sem_item_optimizer::filter_removed_items):
20010 Handle safe potentially removed nodes during filtering.
20011
20012 2015-01-19 Martin Liska <mliska@suse.cz>
20013
20014 * doc/extend.texi (no_icf): Add new attribute description.
20015 * ipa-icf.c (sem_item_optimizer::merge_classes): Handle cases
20016 where the pass attempts to merge a function with no_icf attribute.
20017
20018 2015-01-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
20019
20020 PR target/64532
20021 * doc/md.texi (ARM Options): Document register constraints.
20022
20023 2015-01-19 Jiong Wang <jiong.wang@arm.com>
20024 Andrew Pinski <apinski@cavium.com>
20025
20026 PR target/64304
20027 * config/aarch64/aarch64.md (define_insn "*ashl<mode>3_insn"): Deleted.
20028 (ashl<mode>3): Don't expand if operands[2] is not constant.
20029
20030 2015-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
20031
20032 PR target/64448
20033 * config/aarch64/aarch64-simd.md (aarch64_simd_bsl<mode>_internal):
20034 Match xor-and-xor RTL pattern.
20035
20036 2015-01-19 Igor Zamyatin <igor.zamyatin@intel.com>
20037
20038 PR rtl-optimization/64081
20039 * loop-iv.c (def_pred_latch_p): New function.
20040 (latch_dominating_def): Allow specific cases with non-single
20041 definitions.
20042 (iv_get_reaching_def): Likewise.
20043 (check_complex_exit_p): New function.
20044 (check_simple_exit): Use check_complex_exit_p to allow certain cases
20045 with exits not executing on any iteration.
20046
20047 2015-01-19 Jakub Jelinek <jakub@redhat.com>
20048
20049 * common.opt (fgraphite): Fix a typo.
20050
20051 2015-01-19 Felix Yang <felix.yang@huawei.com>
20052
20053 * config/aarch64/aarch64-simd.md (aarch64_<maxmin_uns>p<mode>): New
20054 pattern.
20055 * config/aarch64/aarch64-simd-builtins.def (smaxp, sminp, umaxp,
20056 uminp, smax_nanp, smin_nanp): New builtins.
20057 * config/aarch64/arm_neon.h (vpmax_s8, vpmax_s16, vpmax_s32,
20058 vpmax_u8, vpmax_u16, vpmax_u32, vpmaxq_s8, vpmaxq_s16, vpmaxq_s32,
20059 vpmaxq_u8, vpmaxq_u16, vpmaxq_u32, vpmax_f32, vpmaxq_f32, vpmaxq_f64,
20060 vpmaxqd_f64, vpmaxs_f32, vpmaxnm_f32, vpmaxnmq_f32, vpmaxnmq_f64,
20061 vpmaxnmqd_f64, vpmaxnms_f32, vpmin_s8, vpmin_s16, vpmin_s32, vpmin_u8,
20062 vpmin_u16, vpmin_u32, vpminq_s8, vpminq_s16, vpminq_s32, vpminq_u8,
20063 vpminq_u16, vpminq_u32, vpmin_f32, vpminq_f32, vpminq_f64, vpminqd_f64,
20064 vpmins_f32, vpminnm_f32, vpminnmq_f32, vpminnmq_f64, vpminnmqd_f64,
20065 vpminnms_f32): Rewrite using builtin functions.
20066
20067 2015-01-19 Thomas Schwinge <thomas@codesourcery.com>
20068
20069 PR libgomp/64625
20070 * omp-low.c (offload_symbol_decl): Remove variable.
20071 (get_offload_symbol_decl): Remove function.
20072 (expand_omp_target): For BUILT_IN_GOMP_TARGET,
20073 BUILT_IN_GOMP_TARGET_DATA, BUILT_IN_GOMP_TARGET_UPDATE pass NULL
20074 instead of &__OFFLOAD_TABLE__, for BUILT_IN_GOACC_DATA_START,
20075 BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL,
20076 BUILT_IN_GOACC_UPDATE don't pass it at all.
20077
20078 2015-01-19 Ilya Enkovich <ilya.enkovich@intel.com>
20079
20080 * tree-sra.c (some_callers_have_mismatched_arguments_p): Allow thunk
20081 callers.
20082
20083 2015-01-19 Ilya Enkovich <ilya.enkovich@intel.com>
20084
20085 * ipa-chkp.c (chkp_produce_thunks): Add early param
20086 to split thunks production into two passes. Keep
20087 'always_inline' function bodies after the first pass.
20088 (pass_data_ipa_chkp_early_produce_thunks): New.
20089 (pass_ipa_chkp_early_produce_thunks): New.
20090 (pass_ipa_chkp_produce_thunks::execute): Adjust to new
20091 chkp_produce_thunks signature.
20092 (make_pass_ipa_chkp_early_produce_thunks): New.
20093 * passes.def (pass_ipa_chkp_early_produce_thunks): New.
20094 (pass_ipa_chkp_produce_thunks): Move after local optimizations.
20095 * tree-pass.h (make_pass_ipa_chkp_early_produce_thunks): New.
20096
20097 2015-01-18 Jan Hubicka <hubicka@ucw.cz>
20098
20099 * cgraph.c (cgraph_node::dump): Dump profile flags.
20100
20101 2015-01-18 Oleg Endo <olegendo@gcc.gnu.org>
20102
20103 PR target/64652
20104 * config/sh/sh.md (udivsi3_i4, divsi3_i4): Make use of sfunc address
20105 reg appear first in the parallel.
20106
20107 2015-01-18 Jan Hubicka <hubicka@ucw.cz>
20108
20109 * ipa-reference.c (set_reference_optimization_summary,
20110 ipa_reference_get_not_written_global): Do nothing if ipa-reference is
20111 disabled.
20112 (ignore_module_statics): New static var.
20113 (propagate_bits): If ipa-reference is disabled, do not look into local
20114 properties.
20115 (analyze_function): Disable analysis when ipa_reference is disabled.
20116 (generate_summary): Do not dump when reference is disabled;
20117 collect vars accessed from functions with ipa-reference disabled.
20118 (get_read_write_all_from_node): When ipa-reference is disabled, use the
20119 node flags.
20120 (gate): Enable for LTO.
20121 (ignore_edge_p): New function.
20122 (propagate): Skip functions w/o ipa-reference analysis.
20123 * optc-save-gen.awk: Handle optimize_debug correctly.
20124 * opth-gen.awk: Likewise.
20125 * common.opt (fauto-inc-dec, fdelete-dead-exceptions, ffunction-cse,
20126 fgraphite, fstrict-volatile-bitfields, fira-algorithm, fira-region,
20127 fira-share-save-slots, fira-share-spill-slots,
20128 fmodulo-sched-allow-regmoves, fpartial-inlining,
20129 sched-stalled-insns, fsched-stalled-insns-dep, fstrict-overflow,
20130 ftracer, ftree-parallelize-loops, fassociative-math,
20131 freciprocal-math, fvect-cost-model, fsimd-cost-model): Mark as
20132 Optimization
20133 (fauto-profile, fcommon, fdata-sections, fipa-icf-variables,
20134 ftoplevel-reorder, funit-at-a-time, fwhole-program): Do not mark as
20135 Optimization.
20136 * ipa-icf.c (gate, sem_item_optimizer::filter_removed_items):
20137 Fix for IPA.
20138
20139 2015-01-18 Jan Hubicka <hubicka@ucw.cz>
20140
20141 PR ipa/64378
20142 * ipa-prop.c (try_make_edge_direct_virtual_call): Clear speculative
20143 flag correctly.
20144 * ipa-cp.c (ipa_get_indirect_edge_target_1): Handle speculation.
20145
20146 2015-01-18 Sandra Loosemore <sandra@codesourcery.com>
20147
20148 * doc/invoke.texi ([-funroll-loops], [-funroll-all-loops]):
20149 Remove duplicate option listings.
20150
20151 2015-01-18 Felix Yang <felix.yang@huawei.com>
20152
20153 * auto-profile.c (afdo_find_equiv_class): Remove unnecessary test.
20154 (autofdo_source_profile::get_callsite_total_count,
20155 function_instance::get_function_instance_by_decl,
20156 string_table::get_index, string_table::get_index_by_decl,
20157 afdo_vpt_for_early_inline, afdo_callsite_hot_enough_for_early_inline):
20158 Fix comment typos. Reformatting and minor code rearrangement.
20159
20160 2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
20161
20162 * config/rs6000/rs6000.md (probe_stack): Delete.
20163 (probe_stack_address): New.
20164
20165 2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
20166
20167 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Use TARGET_32BIT
20168 to test for 32-bit ABIs, not !TARGET_POWERPC64.
20169
20170 2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
20171
20172 * config/rs6000/rs6000.c (rs6000_parallel_return): New function.
20173 (rs6000_function_value): Use it. Handle SCmode and TCmode as well,
20174 for TARGET_32BIT && TARGET_POWERPC64. Fix another BITS_PER_WORD
20175 snafu.
20176 (rs6000_libcall_value): Use the new function.
20177
20178 2015-01-17 Sandra Loosemore <sandra@codesourcery.com>
20179
20180 * doc/invoke.texi ([-ftracer]): Remove duplicate option listing.
20181
20182 2015-01-17 Eric Botcazou <ebotcazou@adacore.com>
20183
20184 * reorg.c (fill_simple_delay_slots): If TARGET_FLAGS_REGNUM is valid,
20185 implement a more precise life analysis for it during backward scan.
20186
20187 2015-01-17 Jan Kratochvil <jan.kratochvil@redhat.com>
20188
20189 * dwarf2out.c (gen_producer_string): Ignore also OPT_fpreprocessed.
20190
20191 2015-01-17 Bernd Schmidt <bernds@codesourcery.com>
20192
20193 PR rtl-optimization/52773
20194 * calls.c (emit_library_call_value): When pushing arguments use
20195 stack_pointer_rtx rather than virtual_outgoing_args_rtx in
20196 CALL_INSN_FUNCTION_USAGE. Only emit one of use of the magic
20197 stack pointer reference into CALL_INSN_FUNCTION_USAGE.
20198
20199 2015-01-17 Jeff Law <law@redhat.com>
20200
20201 PR rtl-optimization/32790
20202 * reginfo.c (reg_scan_mark_refs): Look for ZERO_EXTRACT,
20203 not ZERO_EXTEND in SET_DESTs.
20204
20205 2015-01-17 Alan Modra <amodra@gmail.com>
20206
20207 * cprop.c (do_local_cprop): Revert last change.
20208
20209 2015-01-16 DJ Delorie <dj@redhat.com>
20210 Nick Clifton <nickc@redhat.com>
20211
20212 * config/rl78/rl78-real.md (addqi3_real): Allow volatiles.
20213 (addhi3_real): Likewise. Fix [HL+0] syntax.
20214 (subqi3_real): Likewise.
20215 (subhi3_real): Likewise.
20216 (cbranchqi4_real): Likewise. Allow saddr,#imm.
20217 (cbranchhi4_real): Likewise.
20218 (cbranchhi4_real_inverted): Likewise.
20219 (cbranchsi4_real_lt): Likewise.
20220 (cbranchsi4_real_ge): Likewise.
20221 (cbranchsi4_real_ge): Likewise.
20222 * config/rl78/rl78-virt.md (add<mode>3_virt): Likewise.
20223 (sub<mode>3_virt): Likewise.
20224 (cbranchqi4_virt): Likewise.
20225 (cbranchhi4_virt): Likewise.
20226 * config/rl78/rl78.c (rl78_print_operand_1): 'p' modifier means
20227 always use '[reg+imm]' even when imm is zero.
20228 * config/rl78/predicates.md (rl78_volatile_memory_operand): New.
20229 (rl78_general_operand): New.
20230 (rl78_nonimmediate_operand): New.
20231 (rl78_nonfar_operand): Use them.
20232 (rl78_nonfar_nonimm_operand): Likewise.
20233 (rl78_stack_based_mem): Fix.
20234 * config/rl78/constraints.md (Ibqi): New.
20235 (IBqi): New.
20236 (Wsa): New.
20237 (Wsf): New.
20238 (Cs1): Fix.
20239 * config/rl78/rl78-expand.md (andqi3): Accept volatiles.
20240 (iorqi3): Likewise.
20241 (xorqi3): Likewise.
20242 * config/rl78/rl78-protos.h (rl78_sfr_p): New.
20243
20244 * config/rl78/constrains (Qs8): New constraint.
20245 * config/rl78/rl78.c (rl78_flags_already_set): New function.
20246 * config/rl78/rl78-protos.h (rl78_flags_already_set): New prototype.
20247 * config/rl78/rl78-real.md (update_Z): New attribute.
20248 Update patterns to set it.
20249 (cbranchqi4_real): Call rl78_flags_already_set() to determine if a
20250 shorter compare and branch sequence can be used.
20251 (cbranchhi4_real): Likewise.
20252 (cbranchhi4_real_inverted): Likewise.
20253
20254 * config/rl78/predicates.md (uword_operand): Allow symbol_refs.
20255 * config/rl78/rl78-c.c (rl78_register_pragmas): Register __near
20256 address space.
20257 * config/rl78/rl78.c (rl78_get_name_encoding): New.
20258 (rl78_option_override): Allow -mes0 only if C.
20259 (characterize_address): Support subregs of symbol_refs.
20260 (rl78_addr_space_address_mode): Move. Add __near.
20261 (rl78_far_p): Likewise.
20262 (rl78_addr_space_pointer_mode): Likewise.
20263 (rl78_as_legitimate_address): Likewise.
20264 (rl78_addr_space_subset_p): Likewise.
20265 (rl78_addr_space_convert): Likewise.
20266 (rl78_print_operand_1): Support 16-bit addressing of 32-bit
20267 symbols with -mes0.
20268 (transcode_memory_rtx): Don't copy ES if -mes0. Allow symbol[BC]
20269 addressing.
20270 (rl78_alloc_physical_registers_op1): Change logic to prefer
20271 symbol[BC] addressing.
20272 (frodata_section): New.
20273 (rl78_asm_init_sections): Initialize it.
20274 (rl78_select_section): Put __far readonly symbols in .frodata.
20275 (rl78_make_type_far): New.
20276 (rl78_insert_attributes): Force all readonly symbols to be
20277 __far when -mes0.
20278 (rl78_asm_out_integer): New.
20279 * config/rl78/rl78.h (ADDR_SPACE_NEAR): New.
20280 * config/rl78/rl78.opt (-mes0): New.
20281
20282 * config/rl78/rl78.h (ASM_OUTPUT_LABELREF): New.
20283 (ASM_OUTPUT_ALIGNED_DECL_COMMON): New.
20284 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
20285 * config/rl78/rl78-protos.h (rl78_output_labelref): New.
20286 (rl78_saddr_p): New.
20287 (rl78_output_aligned_common): New.
20288 * config/rl78/rl78.c (rl78_output_symbol_ref): Strip encodings.
20289 (rl78_handle_saddr_attribute): New.
20290 (rl78_handle_naked_attribute): New.
20291 (rl78_attribute_table): Add saddr.
20292 (rl78_print_operand_1): Don't print '!' on saddr operands.
20293 (rl78_print_operand_1): Strip encodings.
20294 (rl78_sfr_p): New.
20295 (rl78_strip_name_encoding): New.
20296 (rl78_attrlist_to_encoding): New.
20297 (rl78_encode_section_info): New.
20298 (rl78_asm_init_sections): New.
20299 (rl78_select_section): New.
20300 (rl78_output_labelref): New.
20301 (rl78_output_aligned_common): New.
20302 (rl78_asm_out_integer): New.
20303 (rl78_asm_ctor_dtor): New.
20304 (rl78_asm_constructor): New.
20305 (rl78_asm_destructor): New.
20306
20307 * config/rl78/rl78-real.md (movqi_es): Rename to movqi_to_es.
20308 * config/rl78/rl78.c (rl78_expand_epilogue): Update.
20309 (transcode_memory_rtx): Update.
20310 (rl78_expand_epilogue): Use A_REG instead of 0.
20311
20312 2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
20313
20314 * config/arm/arm-protos.h (struct tune_params): New field
20315 sched_autopref_queue_depth.
20316 * config/arm/arm.c (sched-int.h): Include header.
20317 (arm_first_cycle_multipass_dfa_lookahead_guard,)
20318 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): Define hook.
20319 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,)
20320 (arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,)
20321 (arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,)
20322 (arm_cortex_a53_tune, arm_cortex_a57_tune, arm_xgene1_tune,)
20323 (arm_cortex_a5_tune, arm_cortex_a9_tune, arm_cortex_a12_tune,)
20324 (arm_v7m_tune, arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune):
20325 Specify sched_autopref_queue_depth value. Enabled for A15 and A57.
20326 * config/arm/t-arm (arm.o): Update.
20327 * haifa-sched.c (update_insn_after_change): Update.
20328 (rank_for_schedule): Use auto-prefetcher model, if requested.
20329 (autopref_multipass_init): New static function.
20330 (autopref_rank_for_schedule): New rank_for_schedule heuristic.
20331 (autopref_multipass_dfa_lookahead_guard_started_dump_p): New static
20332 variable for debug dumps.
20333 (autopref_multipass_dfa_lookahead_guard_1): New static helper function.
20334 (autopref_multipass_dfa_lookahead_guard): New global function that
20335 implements TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD hook.
20336 (init_h_i_d): Update.
20337 * params.def (PARAM_SCHED_AUTOPREF_QUEUE_DEPTH): New tuning knob.
20338 * sched-int.h (enum autopref_multipass_data_status): New const enum.
20339 (autopref_multipass_data_): Structure for auto-prefetcher data.
20340 (autopref_multipass_data_def, autopref_multipass_data_t): New typedefs.
20341 (struct _haifa_insn_data:autopref_multipass_data): New field.
20342 (INSN_AUTOPREF_MULTIPASS_DATA): New access macro.
20343 (autopref_multipass_dfa_lookahead_guard): Declare.
20344
20345 2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
20346
20347 * rtlanal.c (get_base_term): Handle SCRATCH.
20348
20349 2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
20350
20351 * config/aarch64/aarch64.c
20352 (aarch64_sched_first_cycle_multipass_dfa_lookahead): Implement hook.
20353 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
20354 * config/arm/arm.c
20355 (arm_first_cycle_multipass_dfa_lookahead): Implement hook.
20356 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
20357
20358 2015-01-17 Alan Modra <amodra@gmail.com>
20359
20360 * cprop.c (do_local_cprop): Disallow replacement of fixed
20361 hard registers.
20362
20363 2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
20364
20365 PR target/62066
20366 * config/arm/arm-builtins.c (arm_expand_neon_args): Call va_end before
20367 early return 0.
20368
20369 2015-01-16 Bernd Edlinger <bernd.edlinger@hotmail.de>
20370
20371 * sanitizer.def (BUILT_IN_TSAN_VPTR_UPDATE): Fixed parameters.
20372 * tsan.c (instrument_expr): Fixed parameters of __tsan_vptr_update.
20373
20374 2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
20375
20376 * config/arm/arm.md: Move comment about splitting Thumb1 patterns to...
20377 * config/arm/thumb1.md: ... Here.
20378
20379 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
20380
20381 * config/rs6000/rs6000.c (rs6000_scalar_mode_supported_p): Disallow
20382 TImode for TARGET_32BIT.
20383
20384 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
20385
20386 * config/rs6000/rs6000.c (TARGET_LIBGCC_CMP_RETURN_MODE,
20387 TARGET_LIBGCC_SHIFT_COUNT_MODE, TARGET_UNWIND_WORD_MODE): Implement
20388 as ...
20389 (rs6000_abi_word_mode): New function.
20390
20391 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
20392
20393 * config/rs6000/rs6000.c (rs6000_va_start): Use MIN_UNITS_PER_WORD
20394 instead of UNITS_PER_WORD to describe the size of stack slots.
20395
20396 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
20397
20398 * config/rs6000/rs6000.c (TARGET_PROMOTE_FUNCTION_MODE): Implement
20399 as rs6000_promote_function_mode. Move comment to there.
20400 (rs6000_promote_function_mode): New function.
20401
20402 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
20403
20404 * config/rs6000/rs6000.h (PROMOTE_MODE): Correct test for when -m32
20405 -mpowerpc64 is active.
20406
20407 2015-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
20408
20409 PR middle-end/64353
20410 * tree-cfg.c (pass_data_fixup_cfg): Update SSA for
20411 virtuals on start.
20412
20413 2015-01-16 James Greenhalgh <james.greenhalgh@arm.com>
20414
20415 * config/arm/cortex-a57.md: Remove duplicate of file accidentally
20416 introduced in revision 219724.
20417
20418 2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
20419 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
20420
20421 PR target/64263
20422 * config/aarch64/aarch64.md (*movsi_aarch64): Don't split if the
20423 destination is not a GP reg.
20424 (*movdi_aarch64): Likewise.
20425
20426 2015-01-16 David Edelsohn <dje.gcc@gmail.com>
20427
20428 PR target/64623
20429 * config/rs6000/default64.h: Revert ISA change.
20430
20431 2015-01-16 Richard Biener <rguenther@suse.de>
20432
20433 PR middle-end/64614
20434 * tree-ssa-uninit.c: Include tree-cfg.h.
20435 (MAX_SWITCH_CASES): New define.
20436 (convert_control_dep_chain_into_preds): Handle switch statements.
20437 (is_pred_expr_subset_of): Handle x == CST vs. (x & CST) != 0.
20438 (normalize_one_pred_1): Do not split bit-manipulations.
20439 Record (x & CST).
20440
20441 2015-01-16 Richard Biener <rguenther@suse.de>
20442
20443 PR tree-optimization/64568
20444 * tree-ssa-forwprop.c (pass_forwprop::execute): Guard
20445 complex load rewriting for TARGET_MEM_REFs.
20446
20447 2015-01-16 Uros Bizjak <ubizjak@gmail.com>
20448
20449 * builtins.c (expand_builtin_acc_on_device): Check target for NULL.
20450
20451 2015-01-16 Matthew Wahab <matthew.wahab@arm.com>
20452
20453 PR target/64149
20454 * config/aarch64/aarch64.opt: Remove lra option and aarch64_lra_flag
20455 variable.
20456 * config/aarch64/aarch64.c (TARGET_LRA_P): Set to hook_bool_void_true.
20457 (aarch64_lra_p): Remove.
20458
20459 2015-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
20460
20461 PR target/64363
20462 * ipa-chkp.h (chkp_instrumentable_p): New.
20463 * ipa-chkp.c: Include tree-inline.h.
20464 (chkp_instrumentable_p): New.
20465 (chkp_maybe_create_clone): Use chkp_instrumentable_p.
20466 Fix processing of not instrumentable functions.
20467 (chkp_versioning): Use chkp_instrumentable_p. Warn about
20468 not instrumentable functions.
20469 * tree-chkp.c (chkp_add_bounds_to_call_stmt): Use
20470 chkp_instrumentable_p.
20471 * tree-inline.h (copy_forbidden): New.
20472 * tree-inline.c (copy_forbidden): Not static anymore.
20473
20474 2015-01-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
20475
20476 * optc-save-gen.awk (cl_target_option_print_diff): Mark indent,
20477 ptr1, ptr2 unused.
20478
20479 2015-01-16 Robert Suchanek <robert.suchanek@imgtec.com>
20480
20481 * lra-constraints.c (curr_insn_transform): Change a reload pseudo of
20482 type OP_OUT to OP_INOUT.
20483
20484 2015-01-16 Robert Suchanek <robert.suchanek@imgtec.com>
20485
20486 * simplify-rtx.c (simplify_replace_fn_rtx): Simplify (lo_sum
20487 (high x) y) to y if x and y have the same base.
20488
20489 2015-01-16 James Greenhalgh <james.greenhalgh@arm.com>
20490
20491 * config/arm/cortex-a57.md: New.
20492 * config/aarch64/aarch64.md: Include it.
20493 * config/aarch64/aarch64-cores.def (cortex-a57): Tune for it.
20494 * config/aarch64/aarch64-tune.md: Regenerate.
20495
20496 2015-01-16 Zhenqiang Chen <zhenqiang.chen@arm.com>
20497
20498 PR target/64015
20499 * ccmp.c (expand_ccmp_next): New function.
20500 (expand_ccmp_expr_1, expand_ccmp_expr): Handle operand insn sequence
20501 and compare insn sequence.
20502 * config/aarch64/aarch64.c (aarch64_code_to_ccmode,
20503 aarch64_gen_ccmp_first, aarch64_gen_ccmp_next): New functions.
20504 (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): New MICRO.
20505 * config/aarch64/aarch64.md (*ccmp_and): Changed to ccmp_and<mode>.
20506 (*ccmp_ior): Changed to ccmp_ior<mode>.
20507 (cmp<mode>): New pattern.
20508 * doc/tm.texi (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): Update
20509 parameters.
20510 * target.def (gen_ccmp_first, gen_ccmp_next): Update parameters.
20511
20512 2015-01-16 Ilya Tocar <ilya.tocar@intel.com>
20513
20514 * config/i386/avx2intrin.h (_mm256_bslli_epi128,
20515 _mm256_bsrli_epi128): New.
20516 * config/i386/emmintrin.h (_mm_bsrli_si128, _mm_bslli_si128): Ditto.
20517
20518 2015-01-15 Jiong Wang <jiong.wang@arm.com>
20519
20520 * expmed.c (store_bit_field_using_insv): Improve warning message.
20521 Use %wu instead of HOST_WIDE_INT_PRINT_UNSIGNED.
20522
20523 2015-01-15 Jiong Wang <jiong.wang@arm.com>
20524
20525 PR rtl-optimization/64011
20526 * expmed.c (store_bit_field_using_insv): Warn and truncate bitsize when
20527 there is partial overflow.
20528
20529 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
20530
20531 * config/nds32/nds32-protos.h (nds32_expand_epilogue): Change
20532 prototype.
20533 (nds32_expand_epilogue_v3pop): Likewise.
20534 * config/nds32/nds32.md (sibcall): Define this for sibling call
20535 optimization.
20536 (sibcall_register): Likewise.
20537 (sibcall_immediate): Likewise.
20538 (sibcall_value): Likewise.
20539 (sibcall_value_register): Likewise.
20540 (sibcall_value_immediate): Likewise.
20541 (sibcall_epilogue): Likewise.
20542 (epilogue): Pass false to indicate this is not a sibcall epilogue.
20543 * config/nds32/nds32.c (nds32_expand_epilogue): Consider sibcall case.
20544 (nds32_expand_epilogue_v3pop): Likewise.
20545
20546 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
20547
20548 * config/nds32/nds32-protos.h (nds32_can_use_return_insn): New.
20549 * config/nds32/nds32.md (unspec_volatile_func_return): Remove.
20550 (return_internal): New.
20551 (return): Define this named pattern.
20552 (simple_return): Define this named pattern.
20553 * config/nds32/nds32.c (nds32_expand_epilogue): Emit return_internal
20554 pattern instead of unspec_volatile_func_return.
20555 (nds32_expand_epilogue_v3pop): Likewise.
20556 (nds32_can_use_return_insn): New function.
20557
20558 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
20559
20560 * config/nds32/constants.md (UNSPEC_VOLATILE_POP25_RETURN): New.
20561 * config/nds32/nds32.md (pop25return): New.
20562 * config/nds32/nds32.c (nds32_expand_epilogue_v3pop): Emit
20563 pop25return pattern.
20564
20565 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
20566
20567 * doc/invoke.texi (NDS32 Options): Remove -mforce-fp-as-gp,
20568 -mforbid-fp-as-gp, and -mex9 options.
20569
20570 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
20571
20572 * doc/invoke.texi (NDS32 Options): Add -mcmodel= option and
20573 remove -mgp-direct option.
20574
20575 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
20576
20577 * doc/invoke.texi (--param early-inlining-insns): Update default value.
20578 * params.def (PARAM_EARLY_INLINING_INSNS): Set to 14.
20579
20580 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
20581
20582 * ipa-inline.c (inline_small_functions): Work around hints
20583 cache issue.
20584
20585 2015-01-15 Sandra Loosemore <sandra@codesourcery.com>
20586
20587 PR target/59710
20588 * doc/invoke.texi (Option Summary): Document new Nios II
20589 -mgpopt= syntax.
20590 (Nios II Options): Likewise.
20591 * config/nios2/nios2.opt: Add -mgpopt= option support.
20592 Modify existing -mgpopt and -mno-gpopt options to be aliases.
20593 * config/nios2/nios2-opts.h (enum nios2_gpopt_type): New.
20594 * config/nios2/nios2.c (nios2_option_override): Adjust
20595 -mgpopt defaulting.
20596 (nios2_in_small_data_p): Return true for explicit small data
20597 sections even with -G0.
20598 (nios2_symbol_ref_in_small_data_p): Adjust to handle new -mgpopt=
20599 option choices.
20600
20601 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
20602
20603 PR ipa/64612
20604 * ipa-inline-transform.c (can_remove_node_now_p): Fix handling
20605 of comdat locals.
20606 (inline_call): Fix removal of aliases.
20607
20608 2015-01-15 Jakub Jelinek <jakub@redhat.com>
20609
20610 * flag-types.h (enum sanitize_code): Add SANITIZE_VPTR,
20611 include SANITIZE_VPTR in SANITIZE_UNDEFINED.
20612 * opts.c (common_handle_option): Add -fsanitize=vptr.
20613 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS,
20614 BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS_ABORT): New.
20615 * ubsan.h (enum ubsan_null_ckind): Add UBSAN_DOWNCAST_POINTER,
20616 UBSAN_DOWNCAST_REFERENCE, UBSAN_UPCAST and UBSAN_CAST_TO_VBASE.
20617 (ubsan_expand_vptr_ifn): New prototype.
20618 * internal-fn.c (expand_ANNOTATE, expand_GOMP_SIMD_LANE,
20619 expand_GOMP_SIMD_VF, expand_GOMP_SIMD_LAST_LANE, expand_UBSAN_NULL,
20620 expand_UBSAN_BOUNDS, expand_UBSAN_OBJECT_SIZE, expand_ASAN_CHECK,
20621 expand_LOOP_VECTORIZED): Make argument nameless, remove
20622 ATTRIBUTE_UNUSED.
20623 (expand_UBSAN_VPTR): New function.
20624 * internal-fn.def (UBSAN_NULL, ASAN_CHECK): Use R instead of W
20625 in fn spec.
20626 (UBSAN_VPTR): New internal function.
20627 * sanopt.c (tree_map_traits): Renamed to ...
20628 (sanopt_tree_map_traits): ... this.
20629 (sanopt_tree_triplet, sanopt_tree_triplet_map_traits): New classes.
20630 (sanopt_ctx): Adjust asan_check_map type for tree_map_traits
20631 to sanopt_tree_map_traits renaming. Add vptr_check_map field.
20632 (maybe_optimize_ubsan_vptr_ifn): New function.
20633 (sanopt_optimize_walker): Handle IFN_UBSAN_VPTR.
20634 (pass_sanopt::execute): Likewise. Call sanopt_optimize even for
20635 -fsanitize=vptr.
20636 * tree-ssa-alias.c (call_may_clobber_ref_p_1): Handle certain
20637 internal calls like pure functions for aliasing, even when they
20638 have other side-effects that prevent making them ECF_PURE.
20639 * ubsan.c (ubsan_vptr_type_cache_decl): New variable.
20640 (ubsan_expand_vptr_ifn): New function.
20641
20642 2015-01-15 Vladimir Makarov <vmakarov@redhat.com>
20643
20644 PR rtl-optimization/64110
20645 * stmt.c (parse_output_constraint): Process '^' and '$'.
20646 (parse_input_constraint): Ditto.
20647 * lra-constraints.c (process_alt_operands): Process the new
20648 constraints.
20649 * ira-costs.c (record_reg_classes): Process the new constraint
20650 '^'.
20651 * genoutput.c (indep_constraints): Add '^' and '$'.
20652 * config/i386/sse.md (*vec_dup<mode>): Use '$' instead of '!'.
20653 * doc/md.texi: Add description of the new constraints.
20654
20655 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
20656 Bernd Schmidt <bernds@codesourcery.com>
20657 Cesar Philippidis <cesar@codesourcery.com>
20658 James Norris <jnorris@codesourcery.com>
20659 Tom de Vries <tom@codesourcery.com>
20660 Ilmir Usmanov <i.usmanov@samsung.com>
20661 Dmitry Bocharnikov <dmitry.b@samsung.com>
20662 Evgeny Gavrin <e.gavrin@samsung.com>
20663 Jakub Jelinek <jakub@redhat.com>
20664
20665 * builtin-types.def (BT_FN_VOID_INT_INT_VAR)
20666 (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
20667 (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
20668 New function types.
20669 * builtins.c: Include "gomp-constants.h".
20670 (expand_builtin_acc_on_device): New function.
20671 (expand_builtin, is_inexpensive_builtin): Handle
20672 BUILT_IN_ACC_ON_DEVICE.
20673 * builtins.def (DEF_GOACC_BUILTIN, DEF_GOACC_BUILTIN_COMPILER):
20674 New macros.
20675 * cgraph.c (cgraph_node::create): Consider flag_openacc next to
20676 flag_openmp.
20677 * config.gcc <nvptx-*> (tm_file): Add nvptx/offload.h.
20678 <*-intelmic-* | *-intelmicemul-*> (tm_file): Add
20679 i386/intelmic-offload.h.
20680 * gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): For -fopenacc, link
20681 to libgomp and its dependencies.
20682 * config/arc/arc.h (LINK_COMMAND_SPEC): Likewise.
20683 * config/darwin.h (LINK_COMMAND_SPEC_A): Likewise.
20684 * config/i386/mingw32.h (GOMP_SELF_SPECS): Likewise.
20685 * config/ia64/hpux.h (LIB_SPEC): Likewise.
20686 * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
20687 * config/pa/pa64-hpux.h (LIB_SPEC): Likewise.
20688 * doc/generic.texi: Update for OpenACC changes.
20689 * doc/gimple.texi: Likewise.
20690 * doc/invoke.texi: Likewise.
20691 * doc/sourcebuild.texi: Likewise.
20692 * gimple-pretty-print.c (dump_gimple_omp_for): Handle
20693 GF_OMP_FOR_KIND_OACC_LOOP.
20694 (dump_gimple_omp_target): Handle GF_OMP_TARGET_KIND_OACC_KERNELS,
20695 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_DATA,
20696 GF_OMP_TARGET_KIND_OACC_UPDATE,
20697 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
20698 Dump more data.
20699 * gimple.c: Update comments for OpenACC changes.
20700 * gimple.def: Likewise.
20701 * gimple.h: Likewise.
20702 (enum gf_mask): Add GF_OMP_FOR_KIND_OACC_LOOP,
20703 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
20704 GF_OMP_TARGET_KIND_OACC_DATA, GF_OMP_TARGET_KIND_OACC_UPDATE,
20705 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
20706 (gimple_omp_for_cond, gimple_omp_for_set_cond): Sort in the
20707 appropriate place.
20708 (is_gimple_omp_oacc, is_gimple_omp_offloaded): New functions.
20709 * gimplify.c: Include "gomp-constants.h".
20710 Update comments for OpenACC changes.
20711 (is_gimple_stmt): Handle OACC_PARALLEL, OACC_KERNELS, OACC_DATA,
20712 OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE, OACC_ENTER_DATA,
20713 OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
20714 (gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses): Handle
20715 OMP_CLAUSE__CACHE_, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
20716 OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
20717 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER,
20718 OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
20719 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_INDEPENDENT, OMP_CLAUSE_AUTO,
20720 OMP_CLAUSE_SEQ.
20721 (gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses): Use
20722 GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
20723 OMP_CLAUSE_SET_MAP_KIND.
20724 (gimplify_oacc_cache): New function.
20725 (gimplify_omp_for): Handle OACC_LOOP.
20726 (gimplify_omp_workshare): Handle OACC_KERNELS, OACC_PARALLEL,
20727 OACC_DATA.
20728 (gimplify_omp_target_update): Handle OACC_ENTER_DATA,
20729 OACC_EXIT_DATA, OACC_UPDATE.
20730 (gimplify_expr): Handle OACC_LOOP, OACC_CACHE, OACC_HOST_DATA,
20731 OACC_DECLARE, OACC_KERNELS, OACC_PARALLEL, OACC_DATA,
20732 OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE.
20733 (gimplify_body): Consider flag_openacc next to flag_openmp.
20734 * lto-streamer-out.c: Include "gomp-constants.h".
20735 * omp-builtins.def (BUILT_IN_ACC_GET_DEVICE_TYPE)
20736 (BUILT_IN_GOACC_DATA_START, BUILT_IN_GOACC_DATA_END)
20737 (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL)
20738 (BUILT_IN_GOACC_UPDATE, BUILT_IN_GOACC_WAIT)
20739 (BUILT_IN_GOACC_GET_THREAD_NUM, BUILT_IN_GOACC_GET_NUM_THREADS)
20740 (BUILT_IN_ACC_ON_DEVICE): New builtins.
20741 * omp-low.c: Include "gomp-constants.h".
20742 Update comments for OpenACC changes.
20743 (struct omp_context): Add reduction_map, gwv_below, gwv_this
20744 members.
20745 (extract_omp_for_data, use_pointer_for_field, install_var_field)
20746 (new_omp_context, delete_omp_context, scan_sharing_clauses)
20747 (create_omp_child_function, scan_omp_for, scan_omp_target)
20748 (check_omp_nesting_restrictions, lower_reduction_clauses)
20749 (build_omp_regions_1, diagnose_sb_0, make_gimple_omp_edges):
20750 Update for OpenACC changes.
20751 (scan_sharing_clauses): Handle OMP_CLAUSE_NUM_GANGS:
20752 OMP_CLAUSE_NUM_WORKERS: OMP_CLAUSE_VECTOR_LENGTH,
20753 OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT, OMP_CLAUSE_GANG,
20754 OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
20755 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_INDEPENDENT,
20756 OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ. Use GOMP_MAP_* instead of
20757 OMP_CLAUSE_MAP_*.
20758 (expand_omp_for_static_nochunk, expand_omp_for_static_chunk):
20759 Handle GF_OMP_FOR_KIND_OACC_LOOP.
20760 (expand_omp_target, lower_omp_target): Handle
20761 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
20762 GF_OMP_TARGET_KIND_OACC_UPDATE,
20763 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA,
20764 GF_OMP_TARGET_KIND_OACC_DATA.
20765 (pass_expand_omp::execute, execute_lower_omp)
20766 (pass_diagnose_omp_blocks::gate): Consider flag_openacc next to
20767 flag_openmp.
20768 (offload_symbol_decl): New variable.
20769 (oacc_get_reduction_array_id, oacc_max_threads)
20770 (get_offload_symbol_decl, get_base_type, lookup_oacc_reduction)
20771 (maybe_lookup_oacc_reduction, enclosing_target_ctx)
20772 (oacc_loop_or_target_p, oacc_lower_reduction_var_helper)
20773 (oacc_gimple_assign, oacc_initialize_reduction_data)
20774 (oacc_finalize_reduction_data, oacc_process_reduction_data): New
20775 functions.
20776 (is_targetreg_ctx): Remove function.
20777 * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE__CACHE_,
20778 OMP_CLAUSE_DEVICE_RESIDENT, OMP_CLAUSE_USE_DEVICE,
20779 OMP_CLAUSE_GANG, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
20780 OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT,
20781 OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_NUM_GANGS,
20782 OMP_CLAUSE_NUM_WORKERS, OMP_CLAUSE_VECTOR_LENGTH.
20783 * tree.c (omp_clause_code_name, walk_tree_1): Update accordingly.
20784 * tree.h (OMP_CLAUSE_GANG_EXPR, OMP_CLAUSE_GANG_STATIC_EXPR)
20785 (OMP_CLAUSE_ASYNC_EXPR, OMP_CLAUSE_WAIT_EXPR)
20786 (OMP_CLAUSE_VECTOR_EXPR, OMP_CLAUSE_WORKER_EXPR)
20787 (OMP_CLAUSE_NUM_GANGS_EXPR, OMP_CLAUSE_NUM_WORKERS_EXPR)
20788 (OMP_CLAUSE_VECTOR_LENGTH_EXPR): New macros.
20789 * tree-core.h: Update comments for OpenACC changes.
20790 (enum omp_clause_map_kind): Remove.
20791 (struct tree_omp_clause): Change type of map_kind member from enum
20792 omp_clause_map_kind to unsigned char.
20793 * tree-inline.c: Update comments for OpenACC changes.
20794 * tree-nested.c: Likewise. Include "gomp-constants.h".
20795 (convert_nonlocal_reference_stmt, convert_local_reference_stmt)
20796 (convert_tramp_reference_stmt, convert_gimple_call): Update for
20797 OpenACC changes. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
20798 OMP_CLAUSE_SET_MAP_KIND.
20799 * tree-pretty-print.c: Include "gomp-constants.h".
20800 (dump_omp_clause): Handle OMP_CLAUSE_DEVICE_RESIDENT,
20801 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_GANG,
20802 OMP_CLAUSE_ASYNC, OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ,
20803 OMP_CLAUSE_WAIT, OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR,
20804 OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
20805 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_INDEPENDENT. Use GOMP_MAP_*
20806 instead of OMP_CLAUSE_MAP_*.
20807 (dump_generic_node): Handle OACC_PARALLEL, OACC_KERNELS,
20808 OACC_DATA, OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE,
20809 OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
20810 * tree-streamer-in.c: Include "gomp-constants.h".
20811 (unpack_ts_omp_clause_value_fields) Use GOMP_MAP_* instead of
20812 OMP_CLAUSE_MAP_*. Use OMP_CLAUSE_SET_MAP_KIND.
20813 * tree-streamer-out.c: Include "gomp-constants.h".
20814 (pack_ts_omp_clause_value_fields): Use GOMP_MAP_* instead of
20815 OMP_CLAUSE_MAP_*.
20816 * tree.def (OACC_PARALLEL, OACC_KERNELS, OACC_DATA)
20817 (OACC_HOST_DATA, OACC_LOOP, OACC_CACHE, OACC_DECLARE)
20818 (OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE): New tree codes.
20819 * tree.c (omp_clause_num_ops): Update accordingly.
20820 * tree.h (OMP_BODY, OMP_CLAUSES, OMP_LOOP_CHECK, OMP_CLAUSE_SIZE):
20821 Likewise.
20822 (OACC_PARALLEL_BODY, OACC_PARALLEL_CLAUSES, OACC_KERNELS_BODY)
20823 (OACC_KERNELS_CLAUSES, OACC_DATA_BODY, OACC_DATA_CLAUSES)
20824 (OACC_HOST_DATA_BODY, OACC_HOST_DATA_CLAUSES, OACC_CACHE_CLAUSES)
20825 (OACC_DECLARE_CLAUSES, OACC_ENTER_DATA_CLAUSES)
20826 (OACC_EXIT_DATA_CLAUSES, OACC_UPDATE_CLAUSES)
20827 (OACC_KERNELS_COMBINED, OACC_PARALLEL_COMBINED): New macros.
20828 * tree.h (OMP_CLAUSE_MAP_KIND): Cast it to enum gomp_map_kind.
20829 (OMP_CLAUSE_SET_MAP_KIND): New macro.
20830 * varpool.c (varpool_node::get_create): Consider flag_openacc next
20831 to flag_openmp.
20832 * config/i386/intelmic-offload.h: New file.
20833 * config/nvptx/offload.h: Likewise.
20834
20835 2015-01-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
20836
20837 * explow.h: Remove duplicate contents.
20838 * dojump.h: Likewise.
20839
20840 2015-01-15 Richard Earnshaw <rearnsha@arm.com>
20841
20842 * arm.c (arm_xgene_tune): Add default initializer for instruction
20843 fusion.
20844
20845 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
20846
20847 PR ipa/64068
20848 PR ipa/64559
20849 * ipa.c (symbol_table::remove_unreachable_nodes):
20850 Do not put abstract origins into boundary.
20851
20852 2015-01-15 Evgeny Stupachenko <evstupac@gmail.com>
20853
20854 * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Remove EBX register usage.
20855 * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Ditto.
20856
20857 2015-01-15 Steve Ellcey <sellcey@mips.com>
20858
20859 * Makefile.in (PLUGIN_HEADERS): Add dominance.h, cfg.h, cfgrtl.h,
20860 cfganal.h, cfgbuild.h, cfgcleanup.h, lcm.h, cfgloopmanip.h,
20861 builtins.def, and chkp-builtins.def.
20862
20863 2015-01-15 David Edelsohn <dje.gcc@gmail.com>
20864
20865 * config/rs6000/default64.h (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use
20866 ISA 2.7 (POWER8).
20867
20868 2015-01-15 Richard Biener <rguenther@suse.de>
20869
20870 PR tree-optimization/61743
20871 * tree-ssa-pre.c (insert_into_preds_of_block): Preserve range
20872 information on PHIs for some simple cases.
20873
20874 2015-01-15 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
20875
20876 * config/arm/arm.md (generic_sched): Specify xgene1 in 'no' list.
20877 Include xgene1.md.
20878 * config/arm/arm.c (arm_issue_rate): Specify 4 for xgene1.
20879 * config/arm/arm-cores.def (xgene1): New entry.
20880 * config/arm/arm-tables.opt: Regenerate.
20881 * config/arm/arm-tune.md: Regenerate.
20882 * config/arm/bpabi.h (BE8_LINK_SPEC): Specify mcpu=xgene1.
20883
20884 2015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com>
20885
20886 * tree-if-conv.c: Include hash-map.h.
20887 (aggressive_if_conv): New variable.
20888 (fold_build_cond_expr): Add simplification of non-zero condition.
20889 (add_to_dst_predicate_list): Invoke add_to_predicate_list if edge
20890 destination block is not always executed.
20891 (if_convertible_phi_p): Fix commentary, allow phi nodes have more
20892 than two predecessors if AGGRESSIVE_IF_CONV is true.
20893 (if_convertible_stmt_p): Fix commentary.
20894 (all_preds_critical_p): New function.
20895 (has_pred_critical_p): New function.
20896 (if_convertible_bb_p): Fix commentary, if AGGRESSIVE_IF_CONV is true
20897 BB can have more than two predecessors and all incoming edges can be
20898 critical.
20899 (predicate_bbs): Skip predication for loop exit block, use build2_loc
20900 to compute predicate for true edge.
20901 (find_phi_replacement_condition): Delete this function.
20902 (is_cond_scalar_reduction): Add arguments ARG_0, ARG_1 and EXTENDED.
20903 Allow interchange PHI arguments if EXTENDED is false.
20904 Change check that block containing reduction statement candidate
20905 is predecessor of phi-block since phi may have more than two arguments.
20906 (phi_args_hash_traits): New helper structure.
20907 (struct phi_args_hash_traits): New type.
20908 (phi_args_hash_traits::hash): New function.
20909 (phi_args_hash_traits::equal_keys): New function.
20910 (gen_phi_arg_condition): New function.
20911 (predicate_scalar_phi): Add handling of phi nodes with more than two
20912 arguments, delete COND and TRUE_BB arguments, insert body of
20913 find_phi_replacement_condition to predicate ordinary phi nodes.
20914 (predicate_all_scalar_phis): Skip blocks with the only predecessor,
20915 delete call of find_phi_replacement_condition and invoke
20916 predicate_scalar_phi with two arguments.
20917 (insert_gimplified_predicates): Add assert that non-predicated block
20918 don't have statements to insert.
20919 (ifcvt_split_critical_edges): New function.
20920 (ifcvt_split_def_stmt): Likewise.
20921 (ifcvt_walk_pattern_tree): Likewise.
20922 (stmt_is_root_of_bool_pattern): Likewise.
20923 (ifcvt_repair_bool_pattern): Likewise.
20924 (ifcvt_local_dce): Likewise.
20925 (tree_if_conversion): Add initialization of AGGRESSIVE_IF_CONV which
20926 is copy of inner or outer loop force_vectorize field, invoke
20927 ifcvt_split_critical_edges, ifcvt_local_dce and
20928 ifcvt_repair_bool_pattern for aggressive if-conversion.
20929
20930 2015-01-15 Philipp Tomsich <ptomsich@theobroma-systems.com>
20931
20932 * config/aarch64/aarch64.md: Include xgene1.md.
20933 * config/aarch64/xgene1.md: New file.
20934
20935 2015-01-15 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
20936
20937 * config/aarch64/aarch64-cores.def (xgene1): Update/add the
20938 xgene1 (APM XGene-1) core definition.
20939 * gcc/config/aarch64/aarch64.c: Add cost tables for APM XGene-1
20940 * config/arm/aarch-cost-tables.h: Add cost tables for APM XGene-1
20941 * doc/invoke.texi: Document -mcpu=xgene1.
20942
20943 2015-01-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
20944
20945 * dojump.h: New header file.
20946 * explow.h: Likewise.
20947 * expr.h: Remove includes.
20948 Move expmed.c prototypes to expmed.h.
20949 Move dojump.c prototypes to dojump.h.
20950 Move alias.c prototypes to alias.h.
20951 Move explow.c prototypes to explow.h.
20952 Move calls.c prototypes to calls.h.
20953 Move emit-rtl.c prototypes to emit-rtl.h.
20954 Move varasm.c prototypes to varasm.h.
20955 Move stmt.c prototypes to stmt.h.
20956 (saved_pending_stack_adjust): Move to dojump.h.
20957 (adjust_address): Move to explow.h.
20958 (adjust_address_nv): Move to emit-rtl.h.
20959 (adjust_bitfield_address): Likewise.
20960 (adjust_bitfield_address_size): Likewise.
20961 (adjust_bitfield_address_nv): Likewise.
20962 (adjust_automodify_address_nv): Likewise.
20963 * explow.c (expr_size): Move to expr.c.
20964 (int_expr_size): Likewise.
20965 (tree_expr_size): Likewise.
20966 Include calls.h dojump.h emit-rtl.h explow.h expmed.h
20967 fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
20968 * genemit.c (main): Generate includes statistics.h, real.h,
20969 fixed-value.h, insn-config.h, expmed.h, dojump.h, explow.h, emit-rtl.h,
20970 stmt.h.
20971 * genopinit.c (main): Generate includes hashtab.h, hard-reg-set.h,
20972 function.h, statistics.h, real.h, fixed-value.h, expmed.h, dojump.h,
20973 explow.h, emit-rtl.h, stmt.h.
20974 * genoutput.c (main): Generate includes hashtab.h, statistics.h, real.h,
20975 fixed-value.h, expmed.h, dojump.h, explow.h, emit-rtl.h, stmt.h.
20976 * genemit.c (open_base_files): Generate includes flags.h, statistics.h,
20977 real.h, fixed-value.h, tree.h, expmed.h, dojump.h, explow.h, calls.h,
20978 emit-rtl.h, varasm.h, stmt.h.
20979 * config/tilepro/gen-mul-tables.cc: Generate includes hashtab.h,
20980 hash-set.h, vec.h, machmode.h, tm.h, hard-reg-set.h, input.h,
20981 function.h, rtl.h, flags.h, statistics.h, double-int.h, real.h,
20982 fixed-value.h, alias.h, wide-int.h, inchash.h, tree.h, insn-config.h,
20983 expmed.h, dojump.h, explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.
20984 * config/tilegx/mul-tables.c: Include alias.h calls.h dojump.h
20985 double-int.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h
20986 function.h hard-reg-set.h hash-set.h hashtab.h inchash.h input.h
20987 insn-config.h machmode.h real.h rtl.h statistics.h stmt.h symtab.h
20988 tm.h tree.h varasm.h vec.h wide-int.h.
20989 * rtlhooks.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
20990 explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h
20991 hash-set.h hashtab.h inchash.h input.h insn-config.h machmode.h
20992 real.h statistics.h stmt.h tree.h varasm.h vec.h wide-int.h.
20993 * cfgloopanal.c: Include alias.h calls.h dojump.h double-int.h
20994 emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h
20995 insn-config.h real.h statistics.h stmt.h tree.h varasm.h wide-int.h.
20996 * loop-iv.c: Likewise.
20997 * lra-assigns.c: Include alias.h calls.h dojump.h double-int.h
20998 emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h real.h
20999 statistics.h stmt.h tree.h varasm.h wide-int.h.
21000 * lra-constraints.c: Likewise.
21001 * lra-eliminations.c: Likewise.
21002 * lra-lives.c: Likewise.
21003 * lra-remat.c: Likewise.
21004 * bt-load.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
21005 explow.h expmed.h fixed-value.h inchash.h insn-config.h real.h
21006 statistics.h stmt.h tree.h varasm.h wide-int.h.
21007 * hw-doloop.c: Likewise.
21008 * ira-color.c: Likewise.
21009 * ira-emit.c: Likewise.
21010 * loop-doloop.c: Likewise.
21011 * loop-invariant.c: Likewise.
21012 * reload.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
21013 explow.h expmed.h fixed-value.h inchash.h real.h rtl.h
21014 statistics.h stmt.h tree.h varasm.h wide-int.h.
21015 * caller-save.c: Include alias.h calls.h dojump.h double-int.h
21016 emit-rtl.h explow.h expmed.h fixed-value.h inchash.h real.h
21017 statistics.h stmt.h tree.h varasm.h wide-int.h.
21018 * combine-stack-adj.c: Likewise.
21019 * cse.c: Likewise.
21020 * ddg.c: Likewise.
21021 * ifcvt.c: Likewise.
21022 * ira-costs.c: Likewise.
21023 * jump.c: Likewise.
21024 * lra-coalesce.c: Likewise.
21025 * lra-spills.c: Likewise.
21026 * profile.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
21027 explow.h expmed.h fixed-value.h insn-config.h real.h statistics.h
21028 stmt.h varasm.h wide-int.h.
21029 * lra.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
21030 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
21031 varasm.h.
21032 * config/sh/sh_treg_combine.cc: Include alias.h calls.h dojump.h
21033 double-int.h explow.h expmed.h fixed-value.h flags.h real.h
21034 statistics.h stmt.h varasm.h wide-int.h.
21035 * reorg.c: Include alias.h calls.h dojump.h double-int.h explow.h
21036 expmed.h fixed-value.h inchash.h real.h statistics.h stmt.h tree.h
21037 varasm.h wide-int.h.
21038 * reload1.c: Include alias.h calls.h dojump.h double-int.h explow.h
21039 expmed.h fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
21040 * config/tilegx/tilegx.c: Include alias.h dojump.h double-int.h
21041 emit-rtl.h explow.h expmed.h fixed-value.h flags.h real.h
21042 statistics.h stmt.h.
21043 * config/tilepro/tilepro.c: Likewise.
21044 * config/mmix/mmix.c: Include alias.h dojump.h double-int.h emit-rtl.h
21045 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h.
21046 * config/pdp11/pdp11.c: Likewise.
21047 * config/xtensa/xtensa.c: Likewise.
21048 * config/lm32/lm32.c: Include alias.h dojump.h double-int.h emit-rtl.h
21049 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
21050 varasm.h.
21051 * tree-chkp.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21052 fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
21053 insn-config.h real.h rtl.h statistics.h stmt.h tm.h.
21054 * cilk-common.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21055 fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
21056 insn-config.h real.h rtl.h statistics.h stmt.h tm.h varasm.h.
21057 * rtl-chkp.c: Likewise.
21058 * tree-chkp-opt.c: Likewise.
21059 * config/arm/arm-builtins.c: Include calls.h dojump.h emit-rtl.h
21060 explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h
21061 hashtab.h insn-config.h real.h statistics.h stmt.h varasm.h.
21062 * ipa-icf.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21063 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
21064 statistics.h stmt.h.
21065 * tree-vect-data-refs.c: Likewise.
21066 * graphite-sese-to-poly.c: Include calls.h dojump.h emit-rtl.h explow.h
21067 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
21068 rtl.h statistics.h stmt.h varasm.h.
21069 * internal-fn.c: Likewise.
21070 * ipa-icf-gimple.c: Likewise.
21071 * lto-section-out.c: Likewise.
21072 * tree-data-ref.c: Likewise.
21073 * tree-nested.c: Likewise.
21074 * tree-outof-ssa.c: Likewise.
21075 * tree-predcom.c: Likewise.
21076 * tree-pretty-print.c: Likewise.
21077 * tree-scalar-evolution.c: Likewise.
21078 * tree-ssa-strlen.c: Likewise.
21079 * tree-vect-loop.c: Likewise.
21080 * tree-vect-patterns.c: Likewise.
21081 * tree-vect-slp.c: Likewise.
21082 * tree-vect-stmts.c: Likewise.
21083 * tsan.c: Likewise.
21084 * targhooks.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21085 fixed-value.h flags.h hashtab.h insn-config.h real.h statistics.h
21086 stmt.h.
21087 * config/sh/sh-mem.cc: Include calls.h dojump.h emit-rtl.h explow.h
21088 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
21089 statistics.h stmt.h varasm.h.
21090 * loop-unroll.c: Likewise.
21091 * ubsan.c: Likewise.
21092 * tree-ssa-loop-prefetch.c: Include calls.h dojump.h emit-rtl.h explow.h
21093 expmed.h fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h
21094 stmt.h varasm.h.
21095 * dse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21096 fixed-value.h function.h hashtab.h statistics.h stmt.h varasm.h.
21097 * tree-switch-conversion.c: Include calls.h dojump.h emit-rtl.h explow.h
21098 expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
21099 statistics.h stmt.h.
21100 * generic-match-head.c: Include calls.h dojump.h emit-rtl.h explow.h
21101 expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
21102 statistics.h stmt.h varasm.h.
21103 * gimple-match-head.c: Likewise.
21104 * lto-cgraph.c: Likewise.
21105 * lto-section-in.c: Likewise.
21106 * lto-streamer-in.c: Likewise.
21107 * lto-streamer-out.c: Likewise.
21108 * tree-affine.c: Likewise.
21109 * tree-cfg.c: Likewise.
21110 * tree-cfgcleanup.c: Likewise.
21111 * tree-if-conv.c: Likewise.
21112 * tree-into-ssa.c: Likewise.
21113 * tree-ssa-alias.c: Likewise.
21114 * tree-ssa-copyrename.c: Likewise.
21115 * tree-ssa-dse.c: Likewise.
21116 * tree-ssa-forwprop.c: Likewise.
21117 * tree-ssa-live.c: Likewise.
21118 * tree-ssa-math-opts.c: Likewise.
21119 * tree-ssa-pre.c: Likewise.
21120 * tree-ssa-sccvn.c: Likewise.
21121 * tree-tailcall.c: Likewise.
21122 * tree-vect-generic.c: Likewise.
21123 * tree-sra.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21124 fixed-value.h hashtab.h insn-config.h real.h rtl.h stmt.h varasm.h.
21125 * stor-layout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21126 fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h.
21127 * varasm.c: Likewise.
21128 * coverage.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21129 fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h
21130 varasm.h.
21131 * init-regs.c: Likewise.
21132 * ira.c: Likewise.
21133 * omp-low.c: Likewise.
21134 * stack-ptr-mod.c: Likewise.
21135 * tree-ssa-reassoc.c: Likewise.
21136 * tree-complex.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21137 fixed-value.h hashtab.h insn-config.h rtl.h statistics.h stmt.h
21138 varasm.h.
21139 * dwarf2cfi.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21140 fixed-value.h hashtab.h insn-config.h statistics.h stmt.h varasm.h.
21141 * shrink-wrap.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21142 fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h.
21143 * recog.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21144 fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h varasm.h.
21145 * tree-ssa-phiopt.c: Likewise.
21146 * config/darwin.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21147 fixed-value.h hashtab.h real.h statistics.h stmt.h.
21148 * config/fr30/fr30.c: Likewise.
21149 * config/frv/frv.c: Likewise.
21150 * expr.c: Likewise.
21151 * final.c: Likewise.
21152 * optabs.c: Likewise.
21153 * passes.c: Likewise.
21154 * simplify-rtx.c: Likewise.
21155 * stmt.c: Likewise.
21156 * toplev.c: Likewise.
21157 * var-tracking.c: Likewise.
21158 * gcse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21159 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
21160 * lower-subreg.c: Likewise.
21161 * postreload-gcse.c: Likewise.
21162 * ree.c: Likewise.
21163 * reginfo.c: Likewise.
21164 * store-motion.c: Likewise.
21165 * combine.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21166 fixed-value.h hashtab.h real.h stmt.h varasm.h.
21167 * emit-rtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21168 fixed-value.h hashtab.h statistics.h stmt.h.
21169 * dojump.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21170 fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
21171 * except.c: Likewise.
21172 * explow.c: Likewise.
21173 * tree-dfa.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21174 fixed-value.h insn-config.h real.h rtl.h statistics.h stmt.h
21175 varasm.h.
21176 * gimple-fold.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21177 fixed-value.h insn-config.h real.h rtl.h statistics.h varasm.h.
21178 * tree-ssa-structalias.c: Likewise.
21179 * cfgexpand.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21180 fixed-value.h insn-config.h real.h statistics.h.
21181 * calls.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21182 fixed-value.h insn-config.h real.h statistics.h stmt.h.
21183 * bb-reorder.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21184 fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
21185 * cfgbuild.c: Likewise.
21186 * function.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21187 fixed-value.h real.h rtl.h statistics.h stmt.h.
21188 * cfgrtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21189 fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
21190 * dbxout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21191 fixed-value.h real.h statistics.h stmt.h.
21192 * auto-inc-dec.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
21193 fixed-value.h real.h statistics.h stmt.h varasm.h.
21194 * cprop.c: Likewise.
21195 * modulo-sched.c: Likewise.
21196 * postreload.c: Likewise.
21197 * ccmp.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
21198 flags.h function.h hard-reg-set.h hashtab.h insn-config.h real.h
21199 statistics.h stmt.h varasm.h.
21200 * gimple-ssa-strength-reduction.c: Include calls.h dojump.h emit-rtl.h
21201 explow.h fixed-value.h flags.h hashtab.h insn-config.h real.h
21202 rtl.h statistics.h stmt.h varasm.h.
21203 * tree-ssa-loop-ivopts.c: Include calls.h dojump.h emit-rtl.h explow.h
21204 fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h stmt.h
21205 varasm.h.
21206 * expmed.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
21207 function.h hard-reg-set.h hashtab.h real.h statistics.h stmt.h
21208 varasm.h.
21209 * target-globals.c: Include calls.h dojump.h emit-rtl.h explow.h
21210 fixed-value.h function.h hashtab.h real.h statistics.h stmt.h
21211 varasm.h.
21212 * tree-ssa-address.c: Include calls.h dojump.h emit-rtl.h explow.h
21213 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
21214 * cfgcleanup.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
21215 function.h real.h statistics.h stmt.h varasm.h.
21216 * alias.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
21217 insn-config.h real.h statistics.h stmt.h.
21218 * dwarf2out.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
21219 statistics.h stmt.h.
21220 * config/nvptx/nvptx.c: Include dojump.h emit-rtl.h explow.h expmed.h
21221 fixed-value.h flags.h hard-reg-set.h insn-config.h real.h
21222 statistics.h stmt.h varasm.h.
21223 * gimplify.c: Include dojump.h emit-rtl.h explow.h expmed.h
21224 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h statistics.h.
21225 * asan.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
21226 flags.h hashtab.h insn-config.h real.h rtl.h statistics.h stmt.h.
21227 * ipa-devirt.c: Include dojump.h emit-rtl.h explow.h expmed.h
21228 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
21229 statistics.h stmt.h varasm.h.
21230 * ipa-polymorphic-call.c: Likewise.
21231 * config/aarch64/aarch64.c: Include dojump.h emit-rtl.h explow.h
21232 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
21233 statistics.h stmt.h.
21234 * config/c6x/c6x.c: Likewise.
21235 * config/aarch64/aarch64-builtins.c: Include dojump.h emit-rtl.h
21236 explow.h expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
21237 statistics.h stmt.h varasm.h.
21238 * ipa-prop.c: Include dojump.h emit-rtl.h explow.h expmed.h
21239 fixed-value.h hashtab.h insn-config.h real.h rtl.h statistics.h
21240 stmt.h varasm.h.
21241 * ipa-split.c: Likewise.
21242 * tree-eh.c: Likewise.
21243 * tree-ssa-dce.c: Likewise.
21244 * tree-ssa-loop-niter.c: Likewise.
21245 * tree-vrp.c: Likewise.
21246 * config/nds32/nds32-cost.c: Include dojump.h emit-rtl.h explow.h
21247 expmed.h fixed-value.h hashtab.h insn-config.h real.h statistics.h
21248 stmt.h.
21249 * config/nds32/nds32-fp-as-gp.c: Likewise.
21250 * config/nds32/nds32-intrinsic.c: Likewise.
21251 * config/nds32/nds32-isr.c: Likewise.
21252 * config/nds32/nds32-md-auxiliary.c: Likewise.
21253 * config/nds32/nds32-memory-manipulation.c: Likewise.
21254 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
21255 * config/nds32/nds32-predicates.c: Likewise.
21256 * config/nds32/nds32.c: Likewise.
21257 * config/cris/cris.c: Include dojump.h emit-rtl.h explow.h expmed.h
21258 fixed-value.h hashtab.h real.h statistics.h.
21259 * config/alpha/alpha.c: Include dojump.h emit-rtl.h explow.h expmed.h
21260 fixed-value.h hashtab.h real.h statistics.h stmt.h.
21261 * config/arm/arm.c: Likewise.
21262 * config/avr/avr.c: Likewise.
21263 * config/bfin/bfin.c: Likewise.
21264 * config/h8300/h8300.c: Likewise.
21265 * config/i386/i386.c: Likewise.
21266 * config/ia64/ia64.c: Likewise.
21267 * config/iq2000/iq2000.c: Likewise.
21268 * config/m32c/m32c.c: Likewise.
21269 * config/m32r/m32r.c: Likewise.
21270 * config/m68k/m68k.c: Likewise.
21271 * config/mcore/mcore.c: Likewise.
21272 * config/mep/mep.c: Likewise.
21273 * config/mips/mips.c: Likewise.
21274 * config/mn10300/mn10300.c: Likewise.
21275 * config/moxie/moxie.c: Likewise.
21276 * config/pa/pa.c: Likewise.
21277 * config/rl78/rl78.c: Likewise.
21278 * config/rx/rx.c: Likewise.
21279 * config/s390/s390.c: Likewise.
21280 * config/sh/sh.c: Likewise.
21281 * config/sparc/sparc.c: Likewise.
21282 * config/spu/spu.c: Likewise.
21283 * config/stormy16/stormy16.c: Likewise.
21284 * config/v850/v850.c: Likewise.
21285 * config/vax/vax.c: Likewise.
21286 * config/cr16/cr16.c: Include dojump.h emit-rtl.h explow.h expmed.h
21287 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
21288 * config/msp430/msp430.c: Likewise.
21289 * predict.c: Likewise.
21290 * value-prof.c: Likewise.
21291 * config/epiphany/epiphany.c: Include dojump.h emit-rtl.h explow.h
21292 expmed.h fixed-value.h hashtab.h statistics.h stmt.h.
21293 * config/microblaze/microblaze.c: Likewise.
21294 * config/nios2/nios2.c: Likewise.
21295 * config/rs6000/rs6000.c: Likewise.
21296 * tree.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
21297 insn-config.h real.h rtl.h statistics.h stmt.h.
21298 * cgraph.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
21299 insn-config.h real.h statistics.h stmt.h.
21300 * fold-const.c: Include dojump.h emit-rtl.h explow.h expmed.h
21301 fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
21302 * tree-inline.c: Include dojump.h emit-rtl.h explow.h expmed.h
21303 fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
21304 * builtins.c: Include dojump.h emit-rtl.h explow.h expmed.h
21305 fixed-value.h real.h statistics.h stmt.h.
21306 * config/arc/arc.c: Include dojump.h emit-rtl.h explow.h expmed.h
21307 fixed-value.h statistics.h stmt.h.
21308 * config/visium/visium.c: Include dojump.h emit-rtl.h explow.h expmed.h
21309 stmt.h.
21310
21311 2015-01-15 Jakub Jelinek <jakub@redhat.com>
21312
21313 * gengtype.c (create_user_defined_type): Workaround
21314 -Wmaybe-uninitialized false positives.
21315 * cse.c (fold_rtx): Likewise.
21316 * loop-invariant.c (gain_for_invariant): Likewise.
21317
21318 2015-01-15 Eric Botcazou <ebotcazou@adacore.com>
21319
21320 * expr.c (expand_expr_real_1) <normal_inner_ref>: Use the expression to
21321 set the memory attributes in all cases but clear MEM_EXPR if need be.
21322
21323 2015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com>
21324
21325 PR tree-optimization/64434
21326 * cfgexpand.c (reorder_operands): New function.
21327 (expand_gimple_basic_block): Insert call of reorder_operands if
21328 optimized is true.
21329
21330 2015-01-15 Matthew Fortune <matthew.fortune@imgtec.com>
21331
21332 * config/mips/micromips.md (*swp): Remove explicit parallel.
21333 (jraddiusp, *movep<MOVEP1:mode><MOVEP2:mode>): Likewise.
21334 * config/mips/mips-dsp.md (add<DSPV:mode>3): Likewise.
21335 (mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>, sub<DSPV:mode>3): Likewise.
21336 (mips_sub<DSP:dspfmt1>_s_<DSP:dspfmt2>, mips_addsc): Likewise.
21337 (mips_addwc, mips_absq_s_<DSPQ:dspfmt2>): Likewise.
21338 (mips_precrq_rs_ph_w, mips_precrqu_s_qb_ph): Likewise.
21339 (mips_shll_<DSPV:dspfmt2>, mips_shll_s_<DSPQ:dspfmt2>): Likewise.
21340 (mips_muleu_s_ph_qbl, mips_muleu_s_ph_qbr): Likewise.
21341 (mips_mulq_rs_ph, mips_muleq_s_w_phl, mips_muleq_s_w_phr): Likewise.
21342 (mips_dpaq_s_w_ph, mips_dpsq_s_w_ph, mips_mulsaq_s_w_ph): Likewise.
21343 (mips_dpaq_sa_l_w, mips_dpsq_sa_l_w, mips_maq_s_w_phl): Likewise.
21344 (mips_maq_s_w_phr, mips_maq_sa_w_phl, mips_maq_sa_w_phr): Likewise.
21345 (mips_extr_w, mips_extr_r_w, mips_extr_rs_w): Likewise.
21346 (mips_extr_s_h, mips_extp, mips_extpdp, mips_mthlip): Likewise.
21347 (mips_wrdsp): Likewise.
21348 * config/mips/mips-dspr2.md (mips_absq_s_qb): Remove explicit
21349 parallel.
21350 (mips_addu_ph, mips_addu_s_ph, mips_cmpgdu_eq_qb): Likewise.
21351 (mips_cmpgdu_lt_qb, mips_cmpgdu_le_qb, mulv2hi3): Likewise.
21352 (mips_mul_s_ph, mips_mulq_rs_w, mips_mulq_s_ph): Likewise.
21353 (mips_mulq_s_w, mips_subu_ph, mips_subu_s_ph): Likewise.
21354 (mips_dpaqx_s_w_ph, mips_dpaqx_sa_w_ph): Likewise.
21355 (mips_dpsqx_s_w_ph, mips_dpsqx_sa_w_ph): Likewise.
21356 * config/mips/mips-fixed.md (usadd<mode>3): Remove explicit parallel.
21357 (ssadd<mode>3, ussub<mode>3, sssub<mode>3, ssmul<mode>3): Likewise.
21358 (ssmaddsqdq4, ssmsubsqdq4): Likewise.
21359
21360 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
21361
21362 * config/mips/mips.c (mips_rtx_costs): Set costs for LSA/DLSA.
21363 (mips_print_operand): Support 'y' to print exact log2 in decimal
21364 of a const_int.
21365 * config/mips/mips.h (ISA_HAS_LSA): New define.
21366 (ISA_HAS_DLSA): Likewise.
21367 * config/mips/mips.md (<GPR:d>lsa): New define_insn.
21368 * config/mips/predicates.md (const_immlsa_operand): New predicate.
21369
21370 2015-01-15 Martin Liska <mliska@suse.cz>
21371
21372 PR target/64377
21373 * optc-save-gen.awk: Add support for array types.
21374
21375 2015-01-15 Richard Biener <rguenther@suse.de>
21376
21377 PR middle-end/64365
21378 * tree-data-ref.c (dr_analyze_indices): Make sure that accesses
21379 for MEM_REF access functions with the same base can never partially
21380 overlap.
21381
21382 2015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
21383
21384 * common.opt: New option -fstack-protector-explicit.
21385 * cfgexpand.c (SPCT_FLAG_EXPLICIT): New enum.
21386 (stack_protect_decl_phase): Handle stack_protect attribute for
21387 explicit stack protection requests.
21388 (expand_used_vars): Similarly.
21389 * doc/cpp.texi (__SSP_EXPLICIT__): Document predefined macro.
21390 * doc/extend.texi: Add documentation for "stack_protect" attribute.
21391 * doc/invoke.texi: Add documentation for -fstack-protector-explicit.
21392
21393 2015-01-14 Oleg Endo <olegendo@gcc.gnu.org>
21394
21395 PR target/53988
21396 * config/sh/sh-protos.h (sh_find_set_of_reg): Add option to ignore
21397 reg-reg copies.
21398 (sh_extending_set_of_reg): New struct.
21399 (sh_find_extending_set_of_reg, sh_split_tst_subregs,
21400 sh_remove_reg_dead_or_unused_notes): New Declarations.
21401 * config/sh/sh.c (sh_remove_reg_dead_or_unused_notes,
21402 sh_find_extending_set_of_reg, sh_split_tst_subregs,
21403 sh_extending_set_of_reg::use_as_extended_reg): New functions.
21404 * config/sh/sh.md (*tst<mode>_t_zero): Rename to *tst<mode>_t_subregs,
21405 convert to insn_and_split and use new function sh_split_tst_subregs.
21406
21407 2015-01-14 Sandra Loosemore <sandra@codesourcery.com>
21408
21409 * doc/invoke.texi (Option Summary): Reclassify -fuse-ld as a linker
21410 option.
21411 (Optimization Options): Move -fuse-ld documentation to...
21412 (Link Options): ...here.
21413
21414 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
21415
21416 * config/mips/constraints.md (ZC): Add support for R6 LL/SC
21417 offsets.
21418 (ZD): Update to use ISA_HAS_9BIT_DISPLACEMENT.
21419 * config/mips/mips.h (ISA_HAS_PREFETCH_9BIT): Rename to...
21420 (ISA_HAS_9BIT_DISPLACEMENT): ... this. New macro.
21421 * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZC
21422 instead of ZR for the memory operand of LL/SC.
21423 (compare_and_swap_12, sync_add<mode>): Likewise.
21424 (sync_<optab>_12, sync_old_<optab>_12): Likewise.
21425 (sync_new_<optab>_12, sync_nand_12): Likewise.
21426 (sync_old_nand_12, sync_new_nand_12): Likewise.
21427 (sync_sub<mode>, sync_old_add<mode>): Likewise.
21428 (sync_old_sub<mode>, sync_new_add<mode>): Likewise.
21429 (sync_new_sub<mode>, sync_<optab><mode>): Likewise.
21430 (sync_old_<optab><mode>, sync_new_<optab><mode>"): Likewise.
21431 (sync_nand<mode>, sync_old_nand<mode>): Likewise.
21432 (sync_new_nand<mode>, sync_lock_test_and_set<mode>): Likewise.
21433 (test_and_set_12, atomic_compare_and_swap<mode>): Likewise.
21434 (atomic_exchange<mode>_llsc, atomic_fetch_add<mode>_llsc): Likewise.
21435 * doc/md.texi (ZC): Update description.
21436
21437 2015-01-14 Andrew MacLeod <amacleod@redhat.com>
21438
21439 * builtins.c (expand_builtin_atomic_exchange): Remove error when
21440 memory model is CONSUME.
21441 (expand_builtin_atomic_compare_exchange, expand_builtin_atomic_load,
21442 expand_builtin_atomic_store): Change invalid memory model errors to
21443 warnings.
21444 (expand_builtin_atomic_clear): Change invalid model errors to warnings
21445 and issue warning for CONSUME.
21446
21447 2015-01-14 Aldy Hernandez <aldyh@redhat.com>
21448
21449 * lto-cgraph: Update function comments for
21450 lto_symtab_encoder_encode_*.
21451
21452 2015-01-14 Ilya Verbin <ilya.verbin@intel.com>
21453
21454 * Makefile.in (site.exp): Do not set ENABLE_LTO.
21455
21456 2015-01-14 Ilya Verbin <ilya.verbin@intel.com>
21457
21458 * cgraphunit.c (ipa_passes): Remove argument from ipa_write_summaries.
21459 * lto-cgraph.c (select_what_to_stream): Remove argument, use
21460 lto_stream_offload_p instead.
21461 * lto-streamer.h (select_what_to_stream): Remove argument.
21462 * passes.c (ipa_write_summaries): Likewise.
21463 * tree-pass.h (ipa_write_summaries): Likewise.
21464
21465 2015-01-14 Richard Biener <rguenther@suse.de>
21466
21467 PR tree-optimization/59354
21468 * tree-vect-slp.c (vect_build_slp_tree_1): Treat loads from
21469 groups larger than the slp group size as having gaps.
21470
21471 2015-01-14 Andrew MacLeod <amacleod@redhat.com>
21472
21473 PR middle-end/59448
21474 * builtins.c (get_memmodel): Promote consume to acquire always.
21475
21476 2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
21477
21478 PR target/64386
21479 * config/i386/i386.c (ix86_expand_sse_cmp): Handle V64QImode,
21480 V32HImode.
21481
21482 2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
21483
21484 PR target/64393
21485 * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VBMI_SET):
21486 Enable AVX512BW.
21487 (OPTION_MASK_ISA_AVX512BW_UNSET): Disable AVX512VBMI.
21488 * config/i386/i386.c (ix86_hard_regno_mode_ok): Don't check
21489 AVX512VBMI, as it implies AVX512BW.
21490
21491 2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
21492
21493 PR target/64387
21494 * config/i386/sse.md (vec_unpacks_hi_v8sf): Fix predicate.
21495 (vec_unpacks_hi_v16sf): Ditto.
21496
21497 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
21498
21499 * config/aarch64/arm_neon.h: Error out if AdvancedSIMD
21500 is not available.
21501
21502 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
21503
21504 * doc/invoke.texi (mapcs): Mention deprecation.
21505 (mapcs-frame): Likewise.
21506
21507 2015-01-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
21508
21509 PR target/64453
21510 * config/arm/arm.c (callee_saved_reg_p): Define.
21511 (arm_compute_save_reg0_reg12_mask): Use callee_saved_reg_p to check if
21512 register is callee saved instead of !call_used_regs[reg].
21513 (thumb1_compute_save_reg_mask): Likewise.
21514
21515 2015-01-14 Hale Wang <hale.wang@arm.com>
21516
21517 * config/arm/arm.c: Tune the max_cond_insns/branch_cost for
21518 Cortex-M7.
21519
21520 2015-01-14 Richard Biener <rguenther@suse.de>
21521
21522 PR lto/64415
21523 * tree-inline.c (insert_debug_decl_map): Check destination
21524 function MAY_HAVE_DEBUG_STMTS.
21525 (insert_init_debug_bind): Likewise.
21526 (insert_init_stmt): Remove redundant check.
21527 (remap_gimple_stmt): Drop debug stmts if the destination
21528 function has var-tracking assignments disabled.
21529
21530 2015-01-14 Martin Liska <mliska@suse.cz>
21531
21532 * ipa-icf-gimple.c (func_checker::compare_operand): Add support for
21533 IMAGPART_EXPR and REALPART_EXPR and fix BIT_FIELD_REF comparison.
21534
21535 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
21536
21537 PR target/64460
21538 * config/arm/arm.md (*<arith_shift_insn>_multsi): Set 'shift' to 2.
21539 (*<arith_shift_insn>_shiftsi): Set 'shift' attr to 3.
21540
21541 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
21542
21543 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Only infer an ISA
21544 level from an ARCH; do not inject the default.
21545 (MIPS_DEFAULT_ISA_LEVEL_SPEC): New macro split out from
21546 MIPS_ISA_LEVEL_SPEC.
21547 (MIPS_ISA_NAN2008_SPEC): Update comment.
21548 (BASE_DRIVER_SELF_SPECS): Likewise.
21549 * config/mips/elfoabi.h (DRIVER_SELF_SPECS): Add
21550 MIPS_DEFAULT_ISA_LEVEL_SPEC.
21551 * config/mips/mti-elf.h (DRIVER_SELF_SPECS): Likewise.
21552 * config/mips/mti-linux.h (DRIVER_SELF_SPECS): Likewise.
21553 * config/mips/sde.h (DRIVER_SELF_SPECS): Likewise.
21554
21555 2015-01-14 Richard Biener <rguenther@suse.de>
21556
21557 PR tree-optimization/64493
21558 PR tree-optimization/64495
21559 * tree-vect-loop.c (vect_finalize_reduction): For double-reductions
21560 assign the proper vectorized PHI to the inner loop exit PHIs.
21561
21562 2015-01-14 Joey Ye <joey.ye@arm.com>
21563
21564 * config/arm/arm.c (arm_compute_save_reg_mask):
21565 Do not save lr in case of tail call.
21566 * config/arm/thumb2.md (*thumb2_pop_single): New pattern.
21567
21568 2015-01-14 Martin Uecker <uecker@eecs.berkeley.edu>
21569
21570 * tree-vrp.c (check_array_ref): Emit more warnings
21571 for warn_array_bounds >= 2.
21572 * common.opt: New option -Warray-bounds=.
21573 * doc/invoke.texi: Document -Warray-bounds=.
21574
21575 2015-01-14 Chung-Ju Wu <jasonwucj@gmail.com>
21576
21577 * config/nds32/nds32.opt (mforce-fp-as-gp): Remove.
21578 (mforbid-fp-as-gp): Remove.
21579 (mex9): Remove.
21580 * config/nds32/nds32-fp-as-gp.c (nds32_have_prologue_p): Remove.
21581 (nds32_symbol_load_store_p): Remove.
21582 (nds32_fp_as_gp_check_available): Clean up implementation.
21583 * config/nds32/nds32.h (LINK_SPEC): Remove -mforce-as-gp and -mex9
21584 cases.
21585 * config/nds32/nds32.c (nds32_asm_file_start): No need to consider
21586 fp-as-gp and ex9 cases.
21587
21588 2015-01-13 Jan Hubicka <hubicka@ucw.cz>
21589
21590 * tree-profile.c (init_ic_make_global_vars): Drop workaround
21591 for bintuils bug 14342.
21592 (init_ic_make_global_vars): Likewise.
21593 (gimple_init_edge_profiler): Likewise.
21594 (gimple_gen_ic_func_profiler): Likewise.
21595
21596 2015-01-13 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
21597
21598 * ipa-inline.c (inline_small_functions): Swap the operands in
21599 enum.
21600
21601 2015-01-13 Jan Hubicka <hubicka@ucw.cz>
21602
21603 PR ipa/64481
21604 * ipa-inline-analysis.c (node_growth_cache): Remove.
21605 (initialize_growth_caches): Do not initialize it.
21606 (free_growth_caches): Do not free it.
21607 (do_estimate_growth): Rename to ...
21608 (estimate_growth): ... this one; drop growth cache code.
21609 (growth_likely_positive): Always go the heuristics way.
21610 * ipa-inline.c (can_inline_edge_p): Walk through aliases.
21611 (reset_edge_caches): Do not reset node growth.
21612 (heap_edge_removal_hook): Do not maintain cache.
21613 (inline_small_functions): Likewise; strenghten sanity check.
21614 (ipa_inline): Do not maintain caches.
21615 * ipa-inline.h (node_growth_cache): Remove.
21616 (do_estimate_growth): Remove to ...
21617 (estimate_growth): this one; remove inline version.
21618 (reset_node_growth_cache): Remove.
21619
21620 2015-01-13 Jan Hubicka <hubicka@ucw.cz>
21621
21622 PR ipa/64565
21623 * ipa-inline.c (inline_small_functions): Update callee keys after
21624 resolving speculation
21625 (inline_small_functions): Always check monotonicity of the queue.
21626
21627 2015-01-13 Marek Polacek <polacek@redhat.com>
21628
21629 PR middle-end/64391
21630 * trans-mem.c (get_attrs_for): Return NULL_TREE if X is NULL_TREE.
21631
21632 2015-01-13 Jakub Jelinek <jakub@redhat.com>
21633
21634 PR rtl-optimization/64286
21635 * ree.c (combine_reaching_defs): Move part of comment earlier,
21636 remove !SCALAR_INT_MODE_P check.
21637 (add_removable_extension): Don't add vector mode
21638 extensions if all uses of the source register aren't the same
21639 vector extensions.
21640
21641 2015-01-13 Renlin Li <renlin.li@arm.com>
21642
21643 * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): Return 2.
21644 (CTZ_DEFINED_VALUE_AT_ZERO): Ditto.
21645
21646 2015-01-13 Martin Liska <mliska@suse.cz>
21647
21648 * ipa-icf.c (sem_function::equals_private): Call new functions
21649 cl_target_option_print_diff and cl_optimization_print_diff.
21650 * optc-save-gen.awk (cl_target_option_print_diff): New function.
21651 (cl_optimization_print_diff): Likewise.
21652 * opth-gen.awk: Likewise.
21653
21654 2015-01-13 Richard Sandiford <richard.sandiford@arm.com>
21655
21656 * config/aarch64/aarch64.md (subsi3, *subsi3_uxtw, subdi3)
21657 (*sub_<optab><ALLX:mode>_<GPI:mode>, *sub_<optab><SHORT:mode>_si_uxtw)
21658 (*sub_<optab><ALLX:mode>_shft_<GPI:mode>)
21659 (*sub_<optab><SHORT:mode>_shft_si_uxtw, *sub_<optab><mode>_multp2)
21660 (*sub_<optab>si_multp2_uxtw, *sub_uxt<mode>_multp2)
21661 (*sub_uxtsi_multp2_uxtw): Add stack pointer sources.
21662
21663 2015-01-13 Andrew Pinski <apinski@cavium.com>
21664
21665 * config/aarch64/aarch64.c (fusion_load_store): Check dest mode
21666 instead of src mode.
21667
21668 2015-01-13 Richard Biener <rguenther@suse.de>
21669
21670 PR lto/64373
21671 * lto-streamer-out.c (tree_is_indexable): Guard for NULL
21672 DECL_CONTEXT.
21673
21674 2015-01-13 Andrew Pinski <apinski@cavium.com>
21675
21676 * config/aarch64/aarch64.c (aarch64_operands_ok_for_ldpstp): Reject
21677 volatile mems.
21678 (aarch64_operands_adjust_ok_for_ldpstp): Likewise.
21679
21680 2015-01-13 Jakub Jelinek <jakub@redhat.com>
21681
21682 PR middle-end/63974
21683 * cfgexpand.c (expand_computed_goto): Don't call
21684 convert_memory_address here.
21685
21686 2015-01-13 Richard Biener <rguenther@suse.de>
21687
21688 PR tree-optimization/64406
21689 * tree-loop-distibution.c (pass_loop_distribution::execute):
21690 Reset the SCEV hashtable if we distributed anything.
21691
21692 2015-01-13 Richard Biener <rguenther@suse.de>
21693
21694 PR tree-optimization/64404
21695 * tree-vect-stmts.c (vectorizable_load): Reject conflicting
21696 SLP types for CSEd loads.
21697
21698 2015-01-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
21699
21700 PR tree-optimization/64436
21701 * tree-ssa-math-opts.c (find_bswap_or_nop_1): Move code performing the
21702 merge of two symbolic numbers for a bitwise OR to ...
21703 (perform_symbolic_merge): This. Also fix computation of the range and
21704 end of the symbolic number corresponding to the result of a bitwise OR.
21705
21706 2015-01-13 Richard Biener <rguenther@suse.de>
21707
21708 PR tree-optimization/64568
21709 * tree-ssa-forwprop.c (pass_forwprop::execute): Properly
21710 release defs of removed stmts, avoid splitting TARGET_MEM_REFs.
21711
21712 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
21713
21714 * config/nds32/nds32.c (nds32_legitimate_address_p): Consider
21715 TARGET_CMODEL_LARGE and TARGET_CMODEL_MEDIUM cases.
21716
21717 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
21718
21719 * config/nds32/nds32.h (NDS32_SYMBOL_FLAG_RODATA): Define our own
21720 target-specific symbol_ref flag.
21721 (NDS32_SYMBOL_REF_RODATA_P): Define it to check if the symbol_ref
21722 resides in rodata section.
21723 * config/nds32/nds32.c (TARGET_ENCODE_SECTION_INFO): Define.
21724 (nds32_encode_section_info): New function.
21725
21726 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
21727
21728 * config/nds32/nds32.md (call): Use pseudo instruction bal which
21729 clobbers TA_REGNUM if large code model is specified.
21730 (call_register): Likewise.
21731 (call_immediate): Likewise.
21732 (call_value): Likewise.
21733 (call_value_register): Likewise.
21734 (call_value_immediate): Likewise.
21735
21736 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
21737
21738 * config/nds32/nds32.h (TARGET_CMODEL_SMALL): New macro.
21739 (TARGET_CMODEL_MEDIUM): New macro.
21740 (TARGET_CMODEL_LARGE): New macro.
21741 * config/nds32/nds32.c (nds32_asm_file_start): Display corresponding
21742 code model setting in assembly code.
21743
21744 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
21745
21746 * common/config/nds32/nds32-common.c (TARGET_DEFAULT_TARGET_FLAGS):
21747 Remove MASK_GP_DIRECT flag.
21748 * config/nds32/nds32.h (MULTILIB_DEFAULTS): Have -mcmodel=medium as
21749 one of the multilib default options.
21750 * config/nds32/nds32.opt (mgp-direct): Remove.
21751 * config/nds32/t-mlibs (MULTILIB_OPTIONS): Use -mcmodel instead of
21752 -mgp-direct. We also remove unnecessary -mlittle-endian/-mbig-endian.
21753
21754 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
21755
21756 * config/nds32/nds32.opt (mcmodel): Add new option.
21757 * config/nds32/nds32-opts.h (nds32_cmodel_type): Add new enum type
21758 to describe code model.
21759
21760 2015-01-13 Oleg Endo <olegendo@gcc.gnu.org>
21761
21762 PR target/64479
21763 * rtlanal.c (set_reg_p): Handle SEQUENCE constructs.
21764
21765 2015-01-12 Kaz Kojima <kkojima@gcc.gnu.org>
21766
21767 * config/sh/sh.c (sh_atomic_assign_expand_fenv): New function.
21768 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
21769 (sh_builtin_get_fpscr, sh_builtin_set_fpscr): New variables.
21770 (sh_init_builtins): Record decls for __builtin_sh_get_fpscr and
21771 __builtin_sh_set_fpscr.
21772
21773 2015-01-12 Sandra Loosemore <sandra@codesourcery.com>
21774
21775 * doc/invoke.texi ([-Wsuggest-attribute=]): Don't use parentheses
21776 after a funtion name just to indicate it is a function.
21777 ([-fsanitize-undefined-trap-on-error]): Likewise.
21778 ([-fdbg-cnt=]): Likewise.
21779 ([-mmemcpy]): Likewise.
21780 ([-mflush-func]): Likewise.
21781 ([-msynci]): Likewise.
21782
21783 2015-01-12 Sandra Loosemore <sandra@codesourcery.com>
21784
21785 * doc/invoke.texi ([-Wbad-function-cast]): Rewrite to avoid confusing
21786 example.
21787
21788 2015-01-12 Jakub Jelinek <jakub@redhat.com>
21789
21790 PR tree-optimization/64563
21791 * tree-vrp.c (vrp_evaluate_conditional): Check for VR_RANGE
21792 instead of != VR_VARYING.
21793
21794 PR target/64513
21795 * config/i386/i386.c (ix86_expand_prologue): Add
21796 REG_FRAME_RELATED_EXPR to %rax and %r10 pushes.
21797
21798 PR tree-optimization/64454
21799 * tree-vrp.c (simplify_div_or_mod_using_ranges): Optimize
21800 op0 % op1 into op0 if op0 is in range [-op1 + 1, op1 - 1]
21801 for signed or [0, op1 - 1] for unsigned modulo.
21802 (simplify_stmt_using_ranges): Call simplify_div_or_mod_using_ranges
21803 even if op1 does not satisfy integer_pow2p.
21804
21805 PR other/64370
21806 * sreal.c (sreal::to_double): Use ldexp instead of scalbnl.
21807
21808 2015-01-12 Jeff Law <law@redhat.com>
21809
21810 PR target/64461
21811 * config/m68k/m68k.md (truncsiqi2): Disable for TARGET_COLDFIRE.
21812 (trunchiqi2, truncsihi2): Similarly.
21813
21814 * config/h8300/h8300.c (Fpa): Use RTX_FRAME_RELATED_P directly
21815 rather than calling F.
21816
21817 2015-01-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
21818
21819 * tsan.c (instrument_expr): Use force_gimple_operand.
21820 Use may_be_nonaddressable_p instead of is_gimple_addressable.
21821
21822 2015-01-12 Richard Biener <rguenther@suse.de>
21823
21824 PR tree-optimization/64530
21825 * tree-loop-distribution.c (pg_add_dependence_edges): Shuffle
21826 back dr1.
21827
21828 2015-01-12 Richard Biener <rguenther@suse.de>
21829
21830 PR middle-end/64357
21831 * tree-cfg.c (gimple_can_merge_blocks_p): Protect simple
21832 latches properly.
21833
21834 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
21835
21836 * config/arm/arm.c (arm_cortex_a12_tune): Update entries to match
21837 Cortex-A17 tuning parameters.
21838 * config/arm/arm-cores.def (cortex-a12): Schedule for cortex-a17.
21839
21840 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
21841
21842 * config/arm/arm-protos.h (tune_params): Add fuseable_ops field.
21843 * config/arm/arm.c (arm_macro_fusion_p): New function.
21844 (arm_macro_fusion_pair_p): Likewise.
21845 (TARGET_SCHED_MACRO_FUSION_P): Define.
21846 (TARGET_SCHED_MACRO_FUSION_PAIR_P): Likewise.
21847 (ARM_FUSE_NOTHING): Likewise.
21848 (ARM_FUSE_MOVW_MOVT): Likewise.
21849 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,
21850 arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,
21851 arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,
21852 arm_cortex_a53_tune, arm_cortex_a57_tune, arm_cortex_a9_tune,
21853 arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune, arm_fa726te_tune
21854 arm_cortex_a5_tune): Specify fuseable_ops value.
21855
21856 2015-01-12 H.J. Lu <hongjiu.lu@intel.com>
21857
21858 PR bootstrap/64561
21859 * configure.ac (HAVE_LD_PIE_COPYRELOC): Update Linux/x86-64 linker
21860 test for PIE with copy reloc.
21861 * configure: Regenerated.
21862
21863 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
21864
21865 * config/arm/arm.c (arm_load_tp): Use R0_REGNUM instead of constant 0
21866 in gen_rtx_REG.
21867 (arm_tls_descseq_addr): Likewise.
21868 (arm_gen_movmemqi): Likewise.
21869 (arm_expand_epilogue_apcs_frame): Likewise.
21870 (arm_expand_epilogue): Likewise.
21871 (arm_expand_prologue): Likewise. Use R1_REGNUM instead of constant 1
21872 in gen_rtx_REG.
21873
21874 2015-01-12 Martin Liska <mliska@suse.cz>
21875
21876 PR ipa/64550
21877 * ipa-icf-gimple.c (func_checker::compare_memory_operand): Compare
21878 volatility for correct operands.
21879
21880 2015-01-12 Martin Liska <mliska@suse.cz>
21881
21882 * ipa-icf.c (sem_function::equals_wpa): Add indirect_calls as
21883 indication that a function is not leaf.
21884 (sem_function::compare_polymorphic_p): Likewise.
21885
21886 2015-01-12 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
21887
21888 * config/visium/visium.c: Add includes hashtab.h, hash-set.h,
21889 machmode.h, input.h, statistics.h, vec.h, double-int.h, real.h,
21890 fixed-value.h, alias.h, symtab.h, tree-core.h, wide-int.h, inchash.h,
21891 fold-const.h, tree-check.h.
21892
21893 2015-01-12 Jan Hubicka <hubicka@ucw.cz>
21894
21895 PR ipa/63967
21896 PR ipa/64425
21897 * ipa-inline.c (compute_uninlined_call_time,
21898 compute_inlined_call_time): Use counts for extra precision when
21899 needed possible.
21900 (big_speedup_p): Fix formating.
21901 (RELATIVE_TIME_BENEFIT_RANGE): Remove.
21902 (relative_time_benefit): Remove.
21903 (edge_badness): Turn DECL_DISREGARD_INLINE_LIMITS into hint;
21904 merge guessed and read profile paths.
21905 (inline_small_functions): Count only !optimize_size functions into
21906 initial size; be more lax about sanity check when profile is used;
21907 be sure to update inlined function profile when profile is read.
21908
21909 2015-01-12 Jan Hubicka <hubicka@ucw.cz>
21910
21911 PR ipa/63470
21912 * ipa-inline-analysis.c (inline_edge_duplication_hook): Adjust
21913 cost when edge becomes direct.
21914 * ipa-prop.c (make_edge_direct): Do not adjust when speculation
21915 is resolved or when introducing new speculation.
21916
21917 2015-01-12 Chen Gang <gang.chen.5i5j@gmail.com>
21918
21919 PR ipa/64551
21920 PR ipa/64552
21921 * ipa-icf.c (sem_function::equals_private): Use '&&' instead of
21922 '||' to fix typo issue.
21923
21924 * gcc/tree.h (target_opts_for_fn): Check NULL_TREE since it can
21925 accept and return NULL.
21926
21927 2015-01-12 Martin Liska <mliska@suse.cz>
21928
21929 * cgraph.c (cgraph_edge::remove_callee): Move function to header
21930 file for being inlined.
21931 (cgraph_set_edge_callee): Delete.
21932 (cgraph_edge::redirect_callee): Move function to header file
21933 for being inlined.
21934 (cgraph_edge::make_direct): Use new function.
21935 (cgraph_edge::dump_edge_flags): New function created from
21936 static dump_edge_flags function.
21937 (cgraph_node::dump): Use new function.
21938 (cgraph_edge::verify_count_and_frequency): New function created
21939 from verify_edge_count_and_frequency.
21940 (cgraph_edge::verify_corresponds_to_fndecl): New function created
21941 from verify_edge_corresponds_to_fndecl.
21942 (verify_edge_corresponds_to_fndecl): Delete.
21943 (cgraph_node::verify_node): Use new function.
21944 * cgraph.h (cgraph_edge::set_callee): New function.
21945 (cgraph_edge::dump_edge_flags): Likewise.
21946 (cgraph_edge::verify_corresponds_to_fndecl): Likewise.
21947
21948 2015-01-11 Jan Hubicka <hubicka@ucw.cz>
21949
21950 * ipa-utils.c (estimate_function_body_sizes): Do not
21951 free node params when called late with early=true.
21952
21953 2015-01-11 James Greenhalgh <james.greenhalgh@arm.com>
21954
21955 * doc/md.texi (Instruction Patterns): Rewrite text for
21956 clarity.
21957 (Example): Likewise.
21958
21959 2015-01-10 Sandra Loosemore <sandra@codesourcery.com>
21960
21961 * doc/invoke.texi (Option Summary): Break long lines.
21962 [(-fdiagnostics-color)]: Put long literal in @smallexample
21963 instead of inline.
21964 [(-fsanitize-recover)]: Likewise.
21965 [(-fdump-rtl-split*)]: Rewrite to fix over-full hbox.
21966 [(-ffast-math)]: Likewise.
21967 [(--param max-inline-insns-recursive)]: Likewise.
21968 [(--param max-inline-recursive-depth)]: Likewise.
21969 [(-mno-text-section-literals)]: Likewise.
21970
21971 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
21972
21973 * doc/install.texi: Update for libgomp being renamed from "GNU
21974 OpenMP Runtime Library" to "GNU Offloading and Multi Processing
21975 Runtime Library".
21976 * doc/sourcebuild.texi: Likewise.
21977
21978 2015-01-10 Anthony Green <green@moxielogic.com>
21979
21980 * config/moxie/moxie.c (moxie_option_override): Fix forcing of
21981 mul.x availability for moxiebox configuration.
21982
21983 2015-01-09 Anthony Green <green@moxielogic.com>
21984
21985 * config/moxie/moxie.md: Tabify assembly output.
21986
21987 2015-01-09 Anthony Green <green@moxielogic.com>
21988
21989 * config/moxie/moxie.md (CC_REG): Correct register definition.
21990
21991 2015-01-09 Sandra Loosemore <sandra@codesourcery.com>
21992
21993 * doc/invoke.texi ([-fvtable-verify]): Copy-edit and fix markup.
21994 ([-fvtv-debug], [-fvtv-counts]): Likewise. Correct location
21995 of log files.
21996
21997 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
21998
21999 * config/arm/arm.h (MAX_SYNC_LIBFUNC_SIZE): Delete semicolon.
22000
22001 2015-01-09 Bernd Schmidt <bernds@codesourcery.com>
22002 Jakub Jelinek <jakub@redhat.com>
22003
22004 PR middle-end/64412
22005 * lto-streamer.h (lto_stream_offload_p): New declaration.
22006 * lto-streamer.c (lto_stream_offload_p): New variable.
22007 * cgraphunit.c (ipa_passes): Set lto_stream_offload_p
22008 at the same time as section_name_prefix.
22009 * lto-streamer-out.c (hash_tree): Don't hash TREE_TARGET_OPTION
22010 if lto_stream_offload_p.
22011 * tree-streamer-out.c (streamer_pack_tree_bitfields): Don't
22012 stream TREE_TARGET_OPTION if lto_stream_offload_p.
22013 (write_ts_function_decl_tree_pointers): Don't
22014 stream DECL_FUNCTION_SPECIFIC_TARGET if lto_stream_offload_p.
22015 * tree-streamer-in.c (unpack_value_fields): Don't stream
22016 TREE_TARGET_OPTION in if ACCEL_COMPILER.
22017 (lto_input_ts_function_decl_tree_pointers): Don't stream
22018 DECL_FUNCTION_SPECIFIC_TARGET in if ACCEL_COMPILER.
22019 * lto-opts.c (lto_write_options): Use lto_stream_offload_p
22020 instead of section_name_prefix string comparisons.
22021
22022 2015-01-09 Jakub Jelinek <jakub@redhat.com>
22023
22024 PR rtl-optimization/64536
22025 * cfgrtl.c (rtl_tidy_fallthru_edge): Handle removal of degenerate
22026 tablejumps.
22027
22028 2015-01-09 Michael Collison <michael.collison@linaro.org>
22029
22030 PR tree-optimization/64322
22031 * tree-vrp.c (extract_range_from_binary_expr_1): Attempt to derive
22032 range for RSHIFT_EXPR even if vr0 range is not VR_RANGE or is symbolic.
22033
22034 2015-01-09 Tom de Vries <tom@codesourcery.com>
22035
22036 PR rtl-optimization/64539
22037 * regcprop.c (kill_clobbered_values): Factor out of ...
22038 (copyprop_hardreg_forward_1): ... here. Use kill_clobbered_values
22039 instead of note_stores with kill_clobbered_value.
22040
22041 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
22042
22043 * ginclude/unwind-arm-common.h: Revert previous commit.
22044
22045 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
22046
22047 * config.gcc (arm*-*-freebsd*): New configuration.
22048 * config/arm/freebsd.h: New file.
22049 * config.host: Add extra components for arm*-*-freebsd*.
22050 * config/arm/arm.h: Introduce MAX_SYNC_LIBFUNC_SIZE.
22051 * config/arm/arm.c (arm_init_libfuncs): Use MAX_SYNC_LIBFUNC_SIZE.
22052
22053 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
22054
22055 * config/rs6000/rtems.h (CPP_OS_RTEMS_SPEC): Define __PPC_CPU_E6500__
22056 for -mcpu=e6500.
22057 * config/rs6000/t-rtems: Add e6500 multilibs.
22058
22059 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
22060
22061 * config/rs6000/t-rtems: Add -mno-spe to soft-float multilib for
22062 MPC8540.
22063
22064 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
22065
22066 * config/rs6000/t-rtems: Use MULTILIB_REQUIRED instead of
22067 MULTILIB_EXCEPTIONS.
22068
22069 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
22070
22071 * config/arm/t-rtems: Use MULTILIB_REQUIRED instead of
22072 MULTILIB_EXCEPTIONS.
22073
22074 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
22075
22076 * config/arm/t-rtems-eabi: Rename to...
22077 * config/arm/t-rtems: ...this.
22078 * config/arm/rtems-eabi.h: Rename to...
22079 * config/arm/rtems.h: ...this.
22080 * config.gcc (arm*-*-rtems*): Reflect changes above.
22081
22082 2015-01-09 Richard Biener <rguenther@suse.de>
22083
22084 PR tree-optimization/64410
22085 * tree-ssa.c (non_rewritable_lvalue_p): Allow REALPART/IMAGPART_EXPR
22086 on the LHS.
22087 (execute_update_addresses_taken): Deal with that.
22088 * tree-ssa-forwprop.c (pass_forwprop::execute): Use component-wise
22089 loads/stores for complex variables.
22090
22091 2015-01-09 Martin Liska <mliska@suse.cz>
22092
22093 * ipa-icf-gimple.c (func_checker::compare_ssa_name): Enhance SSA
22094 name comparison.
22095 (func_checker::compare_memory_operand): New function.
22096 (func_checker::compare_operand): Split case to newly
22097 added functions.
22098 (func_checker::compare_cst_or_decl): New function.
22099 (func_checker::compare_gimple_call): Identify
22100 memory operands.
22101 (func_checker::compare_gimple_assign): Likewise.
22102 * ipa-icf-gimple.h: New function.
22103
22104 2015-01-09 Martin Liska <mliska@suse.cz>
22105
22106 PR ipa/64503
22107 * sreal.c (sreal::dump): Change unsigned format to signed for
22108 m_exp value.
22109 (sreal::to_double): Replace exp2 with scalbln.
22110
22111 2015-01-09 Martin Liska <mliska@suse.cz>
22112
22113 * cgraphunit.c (cgraph_node::create_wrapper): Fix level of indentation.
22114 * ipa-icf.c (sem_function::equals_private): Add support for target and
22115 (sem_item_optimizer::merge_classes): Remove redundant function
22116 optimization flags comparison.
22117 * tree.h (target_opts_for_fn): New function.
22118
22119 2015-01-09 Tom de Vries <tom@codesourcery.com>
22120
22121 * omp-low.c (expand_omp_for_static_chunk): Fix assert.
22122
22123 2015-01-09 Kito Cheng <kito@0xlab.org>
22124
22125 PR rtl-optimization/64348
22126 * lra-constraints.c (split_reg): Fix caller-save store/restore
22127 instruction generation.
22128
22129 2015-01-08 John David Anglin <danglin@gcc.gnu.org>
22130
22131 PR gcov-profile/61790
22132 * gcov-tool.c (do_rewrite): Use strtoll instead of atoll if host has
22133 long long. Fallback to int64_t if host doesn't have long long and
22134 use strtol if int64_t is long. Otherwise, use sscanf for conversion.
22135
22136 2015-01-08 Jakub Jelinek <jakub@redhat.com>
22137
22138 PR tree-optimization/63989
22139 * params.def (PARAM_MAX_TRACKED_STRLENS): Increment default
22140 from 1000 to 10000.
22141 * tree-ssa-strlen.c (get_strinfo): Moved earlier.
22142 (get_stridx): If we don't have a record for certain SSA_NAME,
22143 but it is POINTER_PLUS_EXPR of some SSA_NAME we do with
22144 constant offset, call get_stridx_plus_constant.
22145 (get_stridx_plus_constant): New function.
22146 (zero_length_string): Don't use get_stridx here.
22147
22148 PR target/55023
22149 PR middle-end/64388
22150 * dse.c (struct insn_info): Mention frame_read set also
22151 before reload for tail calls on some targets.
22152 (scan_insn): Revert 2014-12-22 change. Set frame_read
22153 also before reload for tail calls if
22154 HARD_FRAME_POINTER_IS_ARG_POINTER. Call add_wild_read
22155 instead of add_non_frame_wild_read for non-const/memset
22156 tail calls after reload.
22157
22158 2015-01-08 Jason Merrill <jason@redhat.com>
22159
22160 * ubsan.c (do_ubsan_in_current_function): New.
22161 (pass_ubsan::gate): Use it.
22162 * ubsan.h: Declare it.
22163 * convert.c (convert_to_integer): Use it.
22164
22165 2015-01-08 Jakub Jelinek <jakub@redhat.com>
22166
22167 PR target/64338
22168 * config/i386/i386.c (ix86_expand_int_movcc): Don't reverse
22169 compare_code when it is unconditionally overwritten afterwards.
22170 Use ix86_reverse_condition instead of reverse_condition. Don't
22171 change code if *reverse_condition* returned UNKNOWN and don't
22172 swap ct/cf and negate diff in that case.
22173
22174 2015-01-08 Mike Stump <mikestump@comcast.net>
22175
22176 * tsan.c (pass_tsan::gate): Add no_sanitize_thread support.
22177 (pass_tsan_O0::gate): Likewise.
22178 * extend.texi (Function Attributes): Add no_sanitize_thread
22179 documentation.
22180
22181 2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
22182
22183 * builtins.def (DEF_GOMP_BUILTIN): Also consider flag_offload_abi
22184 for registering builtins.
22185 * config/i386/intelmic-mkoffload.c (prepare_target_image): Don't
22186 add -fopenmp to the argv_obstack used when invoking
22187 compile_for_target.
22188
22189 * config/i386/intelmic-mkoffload.c (compile_for_target): Always
22190 add "-m32" or "-m64" to argv_obstack.
22191 (generate_host_descr_file): Likewise, when invoking host_compiler.
22192 (main): Always add "-m elf_i386" or "-m elf_x86_64" when invoking
22193 ld.
22194
22195 2015-01-08 Oleg Endo <olegendo@gcc.gnu.org>
22196
22197 * config/sh/sh-mem.cc: Use constant as second operand when emitting
22198 tstsi_t insns.
22199
22200 2015-01-08 Oleg Endo <olegendo@gcc.gnu.org>
22201
22202 PR target/55212
22203 * config/sh/sh.md (*addsi3_compact): Emit reg-reg copy instead of
22204 constant load if constant operand fits into I08.
22205
22206 2015-01-08 Jakub Jelinek <jakub@redhat.com>
22207
22208 PR sanitizer/64336
22209 * tree.c (build2_stat): Fix up initialization of TREE_READONLY
22210 and TREE_THIS_VOLATILE for MEM_REFs.
22211 (build5_stat): Fix up initialization of TREE_READONLY and
22212 TREE_THIS_VOLATILE for TARGET_MEM_REFs.
22213
22214 2015-01-08 Kaz Kojima <kkojima@gcc.gnu.org>
22215
22216 PR target/64533
22217 * config/sh/sh.md (*addsi3_compact): Use u constraint instead
22218 of r for the second alternative of the destination operand.
22219
22220 2015-01-07 Segher Boessenkool <segher@kernel.crashing.org>
22221
22222 PR target/36557
22223 * config/rs6000/rs6000.md (*eqsi3_ext<mode>, *nesi3_ext<mode>): New.
22224
22225 2015-01-07 Sandra Loosemore <sandra@codesourcery.com>
22226
22227 * doc/invoke.texi ([-fvtable-verify]): Fix markup on option
22228 keywords.
22229 ([-fivar-visibility], [-fvisibility]): Likewise.
22230
22231 2015-01-07 Sandra Loosemore <sandra@codesourcery.com>
22232
22233 * doc/invoke.texi: Fix incorrect uses of @samp markup throughout
22234 the file where @code, @command, etc is more appropriate.
22235
22236 2015-01-06 Sandra Loosemore <sandra@codesourcery.com>
22237
22238 * doc/invoke.texi (RS/6000 and PowerPC Options): Tidy formatting
22239 of -mrecip= documentation.
22240
22241 2015-01-06 Michael Meissner <meissner@linux.vnet.ibm.com>
22242
22243 PR target/64505
22244 * config/rs6000/rs6000.c (rs6000_secondary_reload): Return the
22245 correct reload handler if -m32 -mpowerpc64 is used.
22246
22247 2015-01-06 Tom de Vries <tom@codesourcery.com>
22248
22249 * tree-ssa-tail-merge.c: Fix typo in struct same_succ_def comment.
22250
22251 2015-01-08 Christian Bruel <christian.bruel@st.com>
22252
22253 PR target/64507
22254 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Check 0 length.
22255
22256 2015-01-06 Thomas Preud'homme <thomas.preudhomme@arm.com>
22257
22258 PR tree-optimization/63259
22259 * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Stop checking
22260 if optab exists for 16bit byteswap.
22261
22262 2015-01-06 Jakub Jelinek <jakub@redhat.com>
22263
22264 * opts.c (common_handle_option): Add support for
22265 -fno-sanitize=all and -f{,no-}sanitize-recover=all.
22266 * doc/invoke.texi: Document -fno-sanitize=all,
22267 -f{,no-}sanitize-recover=all. Document that
22268 -fsanitize=float-cast-overflow is not enabled
22269 by -fsanitize=undefined. Fix up documentation
22270 of -f{,no-}sanitize-recover.
22271
22272 2015-01-06 Eric Botcazou <ebotcazou@adacore.com>
22273
22274 * config.gcc: Add Visium support.
22275 * configure.ac: Likewise.
22276 * configure: Regenerate.
22277 * doc/extend.texi (interrupt attribute): Add Visium.
22278 * doc/invoke.texi: Document Visium options.
22279 * doc/install.texi: Document Visium target.
22280 * doc/md.texi: Document Visium constraints.
22281 * common/config/visium: New directory.
22282 * config/visium: Likewise.
22283
22284 2015-01-05 Segher Boessenkool <segher@kernel.crashing.org>
22285
22286 * simplify-rtx.c (simplify_binary_operation_1): Handle more cases
22287 for the "(and X (ior (not X) Y) -> (and X Y)" transform.
22288
22289 2015-01-05 Segher Boessenkool <segher@kernel.crashing.org>
22290
22291 * combine.c (combine_validate_cost): Do not count the cost of a
22292 split I2 twice. Do not display it twice in the dump, either.
22293
22294 2015-01-05 Sandra Loosemore <sandra@codesourcery.com>
22295
22296 Revert parts of r219199.
22297 * doc/invoke.texi ([-Wliteral-suffix]): Restore markup on
22298 <inttypes.h>.
22299 ([-Wtraditional]): Restore markup on <limits.h>.
22300
22301 2015-01-05 Trevor Saunders <tsaunders@mozilla.com>
22302
22303 PR c++/31397
22304 * doc/invoke.texi: Document -Wsuggest-override.
22305
22306 2015-01-05 Radovan Obradovic <radovan.obradovic@imgtec.com>
22307
22308 PR rtl-optimization/64287
22309 * toplev.c (HAVE_epilogue, HAVE_prologue): Provide default.
22310 (process_options): Disable flag_ipa_ra if profiling.
22311
22312 2015-01-05 Eric Botcazou <ebotcazou@adacore.com>
22313
22314 * config/nds32/nds32-peephole2.md: Do not mention define_peephole.
22315
22316 2015-01-05 Max Filippov <jcmvbkbc@gmail.com>
22317
22318 * config/xtensa/xtensa.c (hwloop_optimize, hwloop_fail,
22319 hwloop_pattern_reg, xtensa_doloop_hooks, xtensa_reorg_loops):
22320 put under #if TARGET_LOOPS guard.
22321
22322 2015-01-05 Uros Bizjak <ubizjak@gmail.com>
22323
22324 * config/i386/i386.c (output_387_binary_op): Use std::swap.
22325
22326 2015-01-05 Oleg Endo <olegendo@gcc.gnu.org>
22327
22328 * rtlanal.c (refers_to_regno_p): Change return value from int to bool.
22329 * rtl.h (refers_to_regno_p): Add overload.
22330 * cse.c: Use it.
22331 * bt-load.c: Likewise.
22332 * combine.c: Likewise.
22333 * df-scan.c: Likewise.
22334 * sched-deps.c: Likewise.
22335 * config/s390/s390.c: Likewise.
22336 * config/m32r/m32r.c: Likewise.
22337 * config/rs6000/spe.md: Likewise.
22338 * config/rs6000/rs6000.c: Likewise.
22339 * config/pa/pa.c: Likewise.
22340 * config/stormy16/stormy16.c: Likewise.
22341 * config/cris/cris.c: Likewise.
22342 * config/arc/arc.md: Likewise.
22343 * config/arc/arc.c: Likewise.
22344 * config/sh/sh.md: Likewise.
22345 * config/sh/sh.c: Likewise.
22346 * config/frv/frv.c: Likewise.
22347
22348 2015-01-05 Jakub Jelinek <jakub@redhat.com>
22349
22350 PR sanitizer/64265
22351 * gimplify.c (gimplify_function_tree): Add TSAN_FUNC_EXIT internal
22352 call as cleanup of the whole body.
22353 * internal-fn.def (TSAN_FUNC_EXIT): New internal call.
22354 * tsan.c (replace_func_exit): New function.
22355 (instrument_func_exit): Moved earlier.
22356 (instrument_memory_accesses): Adjust TSAN_FUNC_EXIT internal calls.
22357 Call instrument_func_exit if no TSAN_FUNC_EXIT internal calls have
22358 been found.
22359 (tsan_pass): Don't call instrument_func_exit.
22360 * internal-fn.c (expand_TSAN_FUNC_EXIT): New function.
22361 * tree-inline.c (copy_bb): Drop TSAN_FUNC_EXIT internal calls during
22362 inlining.
22363
22364 PR sanitizer/64344
22365 * ubsan.h (ubsan_instrument_float_cast): Add ARG argument.
22366 * ubsan.c (ubsan_instrument_float_cast): Add ARG argument, pass
22367 it to libubsan handler instead of EXPR. Fold comparisons earlier,
22368 if the result is integer_zerop, return NULL_TREE.
22369 * convert.c (convert_to_integer): Pass expr as ARG.
22370
22371 PR tree-optimization/64465
22372 * tree-inline.c (redirect_all_calls): During inlining
22373 clean up EH stmts and EH edges if redirect_call_stmt_to_callee
22374 changed the stmt to a non-throwing call.
22375
22376 2015-01-05 Sandra Loosemore <sandra@codesourcery.com>
22377
22378 * doc/invoke.texi: Fix incorrect uses of @code, @option, @samp,
22379 etc markup throughout the file.
22380
22381 2015-01-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
22382
22383 Enable experimental TSAN support for Ada.
22384 * tsan.c (instrument_expr): Handle VIEW_CONVERT_EXPR.
22385
22386 2015-01-05 Jakub Jelinek <jakub@redhat.com>
22387
22388 PR tree-optimization/64494
22389 * tree-ssa-loop-im.c (move_computations_dom_walker::before_dom): Also
22390 clear SSA_NAME_ANTI_RANGE_P flag.
22391
22392 2015-01-05 Marek Polacek <polacek@redhat.com>
22393
22394 * doc/extend.texi (Arrays of Length Zero): Add missing comma.
22395
22396 2015-01-05 Jakub Jelinek <jakub@redhat.com>
22397
22398 Update copyright years.
22399
22400 * gcc.c (process_command): Update copyright notice dates.
22401 * gcov-dump.c: Ditto.
22402 * gcov.c: Ditto.
22403 * doc/cpp.texi: Bump @copying's copyright year.
22404 * doc/cppinternals.texi: Ditto.
22405 * doc/gcc.texi: Ditto.
22406 * doc/gccint.texi: Ditto.
22407 * doc/gcov.texi: Ditto.
22408 * doc/install.texi: Ditto.
22409 * doc/invoke.texi: Ditto.
22410
22411 * auto-profile.c, auto-profile.h: Fix up Copyright line.
22412
22413 2015-01-04 Sandra Loosemore <sandra@codesourcery.com>
22414
22415 * doc/invoke.texi ([-fsized-deallocation]): Copy-edit to fix
22416 verb tense, etc.
22417 ([-fvtable-verify], [-fvtv-debug]): Likewise.
22418 ([-Wabi]): Likewise.
22419 ([-fmessage-length]): Likewise.
22420 ([-Wsuggest-final-types], [-Wsuggest-final-methods]): Likewise.
22421 ([-Wno-discarded-qualifiers]): Likewise.
22422 ([-Wnodiscarded-array-qualifiers]): Likewise.
22423 ([-Wno-virtual-move-assign]): Likewise.
22424 ([-fsanitize=address], [-fsanitize=thread]): Likewise.
22425 ([-fsanitize=leak], [-fsanitize=undefined]): Likewise.
22426 ([-fsanitize=unreachable], [-fsanitize-recover]): Likewise.
22427 ([-fsanitize-undefined-trap-on-error]): Likewise.
22428 ([-floop-interchange]): Likewise.
22429 ([-ftree-coalesce-inlined-vars]): Likewise.
22430 ([-fvect-cost-model]): Likewise.
22431 ([-flto]): Likewise.
22432 ([--param]): Likewise.
22433 (Spec Files): Likewise.
22434 ([-mstrict-align]): Likewise.
22435 ([-mfix-cortex-a53-835769]): Likewise.
22436 ([-march], [-mtune]): Likewise.
22437 ([-mpic-register]): Likewise.
22438 ([-munaligned-access]): Likewise.
22439 ([-msp8]): Likewise.
22440 (EIND and Devices with more than 128 Ki Bytes of Flash): Likewise.
22441 (AVR Built-in Macros): Likewise.
22442 ([-mpreferred-stack-boundary]): Likewise.
22443 ([-mtune-crtl]): Likewise.
22444 ([-mashf]): Likewise.
22445 ([-mmcu=]): Likewise.
22446 ([-minrt]): Likewise.
22447 ([-maltivec], [-maltivec=be], [-maltivec=le]): Likewise.
22448 ([-mupper-regs]): Likewise.
22449 ([-matomic-model]): Likewise.
22450 ([-mdiv]): Likewise.
22451 ([-mzdcbranch]): Likewise.
22452 ([-mdisable-callt]): Likewise.
22453 ([-msoft-float]): Likewise.
22454 ([-m8byte-align]): Likewise.
22455 ([-fstack-reuse]): Likewise.
22456
22457 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
22458
22459 * doc/invoke.texi ([-fprofile-generate], [-fprofile-use]):
22460 Fix markup, light copy-editing.
22461 ([-fauto-profile]): Rewrite to fix formatting and content
22462 problems.
22463
22464 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
22465
22466 * doc/invoke.texi ([-fisolate-erroneous-paths-dereference]):
22467 Copy-edit description.
22468 ([-fisolate-erroneous-paths-attribute]): Likewise.
22469 * common.opt (fisolate-erroneous-paths-dereference):
22470 Copy-edit description.
22471 (fisolate-erroneous-paths-attribute): Likewise.
22472
22473 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
22474
22475 * doc/invoke.texi ([-fsemantic-interposition]): Fix typos and
22476 tidy grammar.
22477
22478 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
22479
22480 * doc/invoke.texi ([-fplan9-extensions]): Add/fix @opindex.
22481 ([-fvtv-debug]): Likewise.
22482 ([-Wc++-compat]): Likewise.
22483 ([-Wc++11-compat]): Likewise.
22484 ([-Wc++14-compat]): Likewise.
22485 ([-Wno-sized-deallocation]): Likewise.
22486 ([-femit-class-debug-always]): Likewise.
22487 ([-femit-struct-debug-detailed]): Likewise.
22488 ([-fno-keep-inline-dllexport]): Likewise.
22489 ([-fira-algorithm]): Likewise.
22490 ([-fira-region]): Likewise.
22491 ([-flra-remat]): Likewise.
22492 ([-fipa-ra]): Likewise.
22493 ([-fhoist-adjacent-loads]): Likewise.
22494 ([-fisolate-erroneous-paths-dereference]): Likewise.
22495 ([-fisolate-erroneous-paths-attribute]): Likewise.
22496 ([-ftree-switch-conversion]): Likewise.
22497 ([-ftree-tail-merge]): Likewise.
22498 ([-ftree-loop-if-convert]): Likewise.
22499 ([-ftree-loop-if-convert-stores]): Likewise.
22500 ([-ftree-loop-distribution]): Likewise.
22501 ([-ftree-loop-distribute-patterns]): Likewise.
22502 ([-flto-compression-level]): Likewise.
22503 ([-flto-report]): Likewise.
22504 ([-flto-report-wpa]): Likewise.
22505 ([-fuse-linker-plugin]): Likewise.
22506 ([-mfix-cortex-a53-835769]): Likewise.
22507 ([-mno-fix-cortex-a53-835769]): Likewise.
22508 ([-mmmx]...[-mno-3dnow]): Remove the -mno- forms from the
22509 explicit listing; add a note to the discussion indicating they
22510 exist. Reorder table to group similar options. Add missing
22511 @opindex entries. Add @need commands throughout the table to
22512 allow it to be split across multiple pages.
22513 ([-m8bit-idiv]): Fix @opindex.
22514 ([-mavx256-split-unaligned-load]): Likewise.
22515 ([-mavx256-split-unaligned-store]): Likewise.
22516 ([-mstack-protector-guard]): Likewise.
22517 ([-mcpu=]): Likewise.
22518 ([-mcpu]): Likewise.
22519 ([-mpointer-size=]): Likewise.
22520
22521 2015-01-03 John David Anglin <danglin@gcc.gnu.org>
22522
22523 * config/pa/pa.md (decrement_and_branch_until_zero): Use `Q' constraint
22524 instead of `m' constraint. Likewise for unnamed movb comparison
22525 patterns using reg_before_reload_operand predicate.
22526 * config/pa/predicates.md (reg_before_reload_operand): Tighten
22527 predicate to reject register index and LO_SUM DLT memory forms
22528 after reload.
22529
22530 2015-01-02 Sandra Loosemore <sandra@codesourcery.com>
22531
22532 * doc/invoke.texi (Option Summary): Fix spelling of
22533 -fdevirtualize-at-ltrans.
22534 ([-fdevirtualize]): Fix markup.
22535 ([-fdevirtualize-speculatively]): Fix typo.
22536 ([-fdevirtualize-at-ltrans]): Likewise. Make description less
22537 implementor-speaky.
22538 * common.opt (fdevirtualize-at-ltrans): Likewise.
22539 * ipa-devirt.c: Fix typos in comments throughout the file.
22540 (ipa_devirt): Fix typos in format strings for dump output.
22541
22542 2015-01-02 Sandra Loosemore <sandra@codesourcery.com>
22543
22544 * doc/invoke.texi ([-fopt-info]): Fix markup, consolidate
22545 discussion of defaults, light copy-editing.
22546
22547 2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
22548
22549 * tsan.c (instrument_expr): corrected previous checkin.
22550
22551 2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
22552
22553 Instrument bit field and unaligned accesses for TSAN.
22554 * sanitizer.def (BUILT_IN_TSAN_READ_RANGE): New built-in function.
22555 (BUILT_IN_TSAN_WRITE_RANGE): New built-in function.
22556 * tsan.c (instrument_expr): Handle COMPONENT_REF and BIT_FIELD_REF.
22557 Use BUILT_IN_TSAN_READ_RANGE and BUILT_IN_TSAN_WRITE_RANGE for
22558 unaligned memory regions.
22559
22560 2015-01-01 Anthony Green <green@moxielogic.com>
22561
22562 * config/moxie/predicates.md (moxie_general_movsrc_operand):
22563 Restrict move source register offsets to 16 bits.
22564 \f
22565 Copyright (C) 2015 Free Software Foundation, Inc.
22566
22567 Copying and distribution of this file, with or without modification,
22568 are permitted in any medium without royalty provided the copyright
22569 notice and this notice are preserved.