emit_note_before can take a rtx_insn *
[platform/upstream/gcc.git] / gcc / ChangeLog
1 2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
2
3         * emit-rtl.c (emit_note_before): Change argument type to rtx_insn *.
4         * rtl.h: Adjust.
5
6 2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
7
8         * emit-rtl.c (emit_note_after): Change argument type to rtx_insn *.
9         * rtl.h: Adjust.
10
11 2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
12
13         * emit-rtl.c (prev_cc0_setter): Change argument type to rtx_insn *.
14         * rtl.h: Adjust.
15
16 2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
17
18         * rtlanal.c (noop_move_p): Change argument type to rtx_insn *.
19         * rtl.h: Adjust.
20
21 2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
22
23         * rtlanal.c (add_shallow_copy_of_reg_note): Change argument type
24         to rtx_insn *.
25         * rtl.h: Adjust.
26
27 2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
28
29         * rtlanal.c (remove_reg_equal_equiv_notes): Change argument type
30         to rtx_insn *.
31         * rtl.h: Likewise.
32
33 2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
34
35         * except.c (can_nonlocal_goto): Change type of argument to
36         rtx_insn *.
37         * rtl.h: Adjust.
38
39 2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
40
41         * rtlanal.c (computed_jump_p): Cange argument type to rtx_insn *.
42         * rtl.h: Adjust.
43
44 2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
45
46         * rtlanal.c (in_insn_list_p): Renamed from in_expr_list_p.
47         * cfgrtl.c (can_delete_label_p): Adjust.
48         * rtl.h: likewise.
49
50 2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
51
52         * reorg.c (stop_search_p): Change argument to rtx_insn *.
53
54 2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
55
56         * except.c (make_reg_eh_region_note): Change argument to
57         rtx_insn *.
58         (make_reg_eh_region_note_nothrow_nononlocal): Likewise.
59         * except.h: Adjust.
60
61 2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
62
63         * mode-switching.c (commit_mode_sets): Change type of local
64         variable from rtx to rtx_insn *.
65
66 2015-05-08  Jim Wilson  <jim.wilson@linaro.org>
67
68         * doc/install.texi (--enable-languages): Add missing jit and lto info.
69         Add ^ to grep command.
70         * doc/match-and-simplify.texi (GIMPLE API): Add missing fourth tree
71         arg to last gimple_simplify declaration.  Add missing gimple_build
72         declaration for built-in function case with four tree args.
73
74 2015-05-08  Gregor Richards  <gregor.richards@uwaterloo.ca>
75             Szabolcs Nagy  <szabolcs.nagy@arm.com>
76
77         * config/mips/linux.h (MUSL_DYNAMIC_LINKER32): Define.
78         (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERN32): Define.
79         (GNU_USER_DYNAMIC_LINKERN32): Update.
80
81 2015-05-08  Richard Biener  <rguenther@suse.de>
82
83         PR tree-optimization/66036
84         * tree-vect-data-refs.c (vect_compute_data_ref_alignment):
85         Handle strided group loads.
86         (vect_verify_datarefs_alignment): Likewise.
87         (vect_enhance_data_refs_alignment): Likewise.
88         (vect_analyze_group_access): Likewise.
89         (vect_analyze_data_ref_access): Likewise.
90         (vect_analyze_data_ref_accesses): Likewise.
91         * tree-vect-stmts.c (vect_model_load_cost): Likewise.
92         (vectorizable_load): Likewise.
93
94 2015-05-08  Segher Boessenkool  <segher@kernel.crashing.org>
95
96         * config/rs6000/rs6000.md: Require operand inequality in one
97         of the peepholes.
98
99 2015-05-08  Richard Sandiford  <richard.sandiford@arm.com>
100             Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
101
102         * config/i386/i386.md (<mode>_ldx, *<mode>_ldx): Remove mode
103         from (set ...).
104         * config/rx/rx.md (movdi, movdf): Likewise.
105         Likewise for define_peephole2s.
106
107 2015-05-08  Alan Lawrence  <alan.lawrence@arm.com>
108
109         * config/aarch64/arm_neon.h (vceq_s64, vceq_u64, vceqz_s64, vceqz_u64,
110         vcge_s64, vcge_u64, vcgez_s64, vcgt_s64, vcgt_u64, vcgtz_s64, vcle_s64,
111         vcle_u64, vclez_s64, vclt_s64, vclt_u64, vcltz_s64, vtst_s64,
112         vtst_u64): Rewrite using gcc vector extensions.
113
114 2015-05-08  Alan Lawrence  <alan.lawrence@arm.com>
115
116         * config/aarch64/aarch64-simd.md (aarch64_vcond_internal<mode><mode>,
117         vcond<mode><mode>, vcondu<mode><mode>): Add DImode variant.
118
119 2015-05-08  Alan Lawrence  <alan.lawrence@arm.com>
120
121         * optabs.c (vector_compare_rtx): Handle RTL operands having VOIDmode.
122
123 2015-05-08  Szabolcs Nagy  <szabolcs.nagy@arm.com>
124
125         * config/glibc-stdint.h (OPTION_MUSL): Define.
126         (INT_FAST16_TYPE, INT_FAST32_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE):
127         Change the definition based on OPTION_MUSL for 64 bit targets.
128         * config/linux.h (OPTION_MUSL): Redefine.
129         * config/alpha/linux.h (OPTION_MUSL): Redefine.
130         * config/rs6000/linux.h (OPTION_MUSL): Redefine.
131         * config/rs6000/linux64.h (OPTION_MUSL): Redefine.
132
133 2015-05-08  Gregor Richards  <gregor.richards@uwaterloo.ca>
134             Szabolcs Nagy  <szabolcs.nagy@arm.com>
135
136         * config.gcc (LIBC_MUSL): New tm_defines macro.
137         * config/linux.h (OPTION_MUSL): Define.
138         (MUSL_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER32,)
139         (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERX32,)
140         (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
141         (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
142         (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
143         * config/linux.opt (mmusl): New option.
144         * doc/invoke.texi (GNU/Linux Options): Document -mmusl.
145         * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
146         (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.
147         * configure: Regenerate.
148
149 2015-05-08  H.J. Lu  <hongjiu.lu@intel.com>
150             Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
151
152         PR target/48904
153         * config.gcc (x86_64-*-knetbsd*-gnu): Add i386/knetbsd-gnu64.h.
154         * config/i386/knetbsd-gnu64.h: New file.
155
156 2015-05-08  Marek Polacek  <polacek@redhat.com>
157
158         PR c/64918
159         * doc/invoke.texi: Document -Woverride-init-side-effects.
160
161 2015-05-07  Marek Polacek  <polacek@redhat.com>
162
163         PR c/65179
164         * doc/invoke.texi: Document -Wshift-negative-value.
165
166 2015-05-06  Aditya Kumar  <hiraditya@msn.com>
167
168         * gcov-tool.c (do_merge): Refactore to remove int ret.
169         * ipa-icf.c (sem_item::hash_referenced_symbol_properties): Change
170         !type == FUNC to type != FUNC.
171         * reload.h (struct target_reload): Changee to type of
172         x_spill_indirect_levels from bool to unsigned char.
173
174 2015-05-07  Richard Sandiford  <richard.sandiford@arm.com>
175
176         * rtl.h (always_void_p): New function.
177         * gengenrtl.c (always_void_p): Likewise.
178         (genmacro): Don't add a mode parameter to gen_rtx_foo if rtxes
179         with code foo are always VOIDmode.
180         * genemit.c (gen_exp): Update gen_rtx_foo calls accordingly.
181         * builtins.c, caller-save.c, calls.c, cfgexpand.c, combine.c,
182         compare-elim.c, config/aarch64/aarch64.c,
183         config/aarch64/aarch64.md, config/alpha/alpha.c,
184         config/alpha/alpha.md, config/arc/arc.c, config/arc/arc.md,
185         config/arm/arm-fixed.md, config/arm/arm.c, config/arm/arm.md,
186         config/arm/ldrdstrd.md, config/arm/thumb2.md, config/arm/vfp.md,
187         config/avr/avr.c, config/bfin/bfin.c, config/c6x/c6x.c,
188         config/c6x/c6x.md, config/cr16/cr16.c, config/cris/cris.c,
189         config/cris/cris.md, config/darwin.c, config/epiphany/epiphany.c,
190         config/epiphany/epiphany.md, config/fr30/fr30.c, config/frv/frv.c,
191         config/frv/frv.md, config/h8300/h8300.c, config/i386/i386.c,
192         config/i386/i386.md, config/i386/sse.md, config/ia64/ia64.c,
193         config/ia64/vect.md, config/iq2000/iq2000.c,
194         config/iq2000/iq2000.md, config/lm32/lm32.c, config/lm32/lm32.md,
195         config/m32c/m32c.c, config/m32r/m32r.c, config/m68k/m68k.c,
196         config/m68k/m68k.md, config/mcore/mcore.c, config/mcore/mcore.md,
197         config/mep/mep.c, config/microblaze/microblaze.c,
198         config/mips/mips.c, config/mips/mips.md, config/mmix/mmix.c,
199         config/mn10300/mn10300.c, config/msp430/msp430.c,
200         config/nds32/nds32-memory-manipulation.c, config/nds32/nds32.c,
201         config/nds32/nds32.md, config/nios2/nios2.c, config/nvptx/nvptx.c,
202         config/pa/pa.c, config/pa/pa.md, config/rl78/rl78.c,
203         config/rs6000/altivec.md, config/rs6000/rs6000.c,
204         config/rs6000/rs6000.md, config/rs6000/vector.md,
205         config/rs6000/vsx.md, config/rx/rx.c, config/rx/rx.md,
206         config/s390/s390.c, config/s390/s390.md, config/sh/sh.c,
207         config/sh/sh.md, config/sh/sh_treg_combine.cc,
208         config/sparc/sparc.c, config/sparc/sparc.md, config/spu/spu.c,
209         config/spu/spu.md, config/stormy16/stormy16.c,
210         config/tilegx/tilegx.c, config/tilegx/tilegx.md,
211         config/tilepro/tilepro.c, config/tilepro/tilepro.md,
212         config/v850/v850.c, config/v850/v850.md, config/vax/vax.c,
213         config/visium/visium.c, config/xtensa/xtensa.c, cprop.c, dse.c,
214         expr.c, gcse.c, ifcvt.c, ira.c, jump.c, lower-subreg.c,
215         lra-constraints.c, lra-eliminations.c, lra.c, postreload.c, ree.c,
216         reg-stack.c, reload.c, reload1.c, reorg.c, sel-sched.c,
217         var-tracking.c: Update calls accordingly.
218
219 2015-05-07  Segher Boessenkool  <segher@kernel.crashing.org>
220
221         PR middle-end/192
222         PR middle-end/54303
223         * varasm.c (function_mergeable_rodata_prefix): New function.
224         (mergeable_string_section): Use it.
225         (mergeable_constant_section): Use it.
226
227 2015-05-07  Jeff Law  <law@redhat.com>
228
229         * match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New
230         simplifier to narrow arithmetic.
231         * generic-match-head.c: (types_match, single_use): New functions.
232         * gimple-match-head.c: (types_match, single_use): New functions.
233
234 2015-05-07  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>
235
236         * combine.c (make_compound_operation): Remove checks for PLUS/MINUS
237         rtx type.
238
239 2015-05-07  Richard Biener  <rguenther@suse.de>
240
241         PR tree-optimization/66002
242         * passes.def: Schedule another pass_merge_phi after ifcombine, right
243         before phiopt.
244
245 2015-05-07  Marek Polacek  <polacek@redhat.com>
246             Martin Uecker  <uecker@eecs.berkeley.edu>
247
248         * doc/invoke.texi: Document -fsanitize=bounds-strict.
249         * flag-types.h (enum sanitize_code): Add SANITIZE_BOUNDS_STRICT, or it
250         into SANITIZE_NONDEFAULT.
251         * opts.c (common_handle_option): Handle -fsanitize=bounds-strict.
252
253 2015-05-07  Uros Bizjak  <ubizjak@gmail.com>
254
255         PR target/66015
256         * config/alpha/alpha.c (alpha_override_options_after_change): New.
257         (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): New.
258         (alpha_override_options): Move align_loops, align_jumps and
259         align_functions handling into alpha_override_options_after_change.
260
261 2015-05-06  Sandra Loosemore  <sandra@codesourcery.com>
262             Chris Jones  <chrisj@nvidia.com>
263             Joshua Conner  <jconner@nvidia.com>
264
265         * config/arm/unknown-elf.h (STARTFILE_SPEC): Add conditional
266         linking of crtfastmath.o.
267         * config/arm/linux-eabi.h (STARTFILE_SPEC): Likewise.
268
269 2015-05-06  Segher Boessenkool  <segher@kernel.crashing.org>
270
271         * config/rs6000/rs6000.md (cstore<mode>4_signed_imm): New expander.
272         (cstore<mode>4_unsigned_imm): New expander.
273         (cstore<mode>4): Remove empty constraint strings.  Use the new
274         expanders.
275
276 2015-05-06  Yvan Roux  <yvan.roux@linaro.org>
277
278         PR target/64208
279         * config/arm/iwmmxt.md ("*iwmmxt_arm_movdi"): Cleanup redundant
280         alternatives.
281
282 2015-05-06  Szabolcs Nagy  <szabolcs.nagy@arm.com>
283
284         * config/aarch64/geniterators.sh: Use standard BRE in sed.
285
286 2015-05-06  Alan Modra  <amodra@gmail.com>
287
288         PR target/66033
289         * config/rs6000/rs6000.md (nop): Use an unspec pattern.
290         (UNSPEC_NOP): Define.
291         (reload_vsx_from_gpr<mode>): Add missing DONE.
292         (reload_gpr_from_vsx<mode>): Likewise.
293         * config/rs6000/vsx.md (vsx_mul_v2di): Likewise.
294         (vsx_div_v2di, vsx_udiv_v2di): Likewise.
295
296 2015-05-06  Christian Bruel  <christian.bruel@st.com>
297
298         PR target/66015
299         * config/aarch64/aarch64.c (aarch64_override_options): Move align_loops,
300         align_jumps, align_functions into aarch64_override_options_after_change.
301
302 2015-05-06  Richard Biener  <rguenther@suse.de>
303
304         * tree-vect-slp.c (vect_supported_load_permutation_p): Use
305         vect_transform_slp_perm_load to check if we support a permutation
306         for basic-block vectorization.
307
308 2015-05-06  Nick Clifton  <nickc@redhat.com>
309
310         * config/rl78/rl78.c (need_to_save): Save register 22 if it is
311         used, even if it is not being used as a frame pointer.
312
313 2015-05-05  Jason Merrill  <jason@redhat.com>
314
315         * dwarf2out.c (gen_member_die): Don't emit anything for an
316         anonymous class constructor.
317
318 2015-05-05  David Malcolm  <dmalcolm@redhat.com>
319
320         * auto-profile.c (afdo_find_equiv_class): Fix indentation so
321         that it reflects the block structure.
322         (afdo_propagate_edge): Likewise.
323         (afdo_calculate_branch_prob): Likewise.
324         (afdo_annotate_cfg): Likewise.
325         * cfgcleanup.c (equal_different_set_p): Likewise.
326         (try_crossjump_to_edge): Likewise.
327         * cgraph.c (cgraph_node::verify_node): Likewise.
328         * cgraphunit.c (expand_all_functions): Likewise.
329         * config/i386/i386.c (ix86_expand_copysign): Likewise.
330         (exact_dependency_1): Likewise.
331         * dwarf2asm.c (dw2_output_indirect_constants): Likewise.
332         * dwarf2out.c (tree_add_const_value_attribute_for_decl): Likewise.
333         * gensupport.c (process_define_subst): Likewise.
334         * lto-wrapper.c (merge_and_complain): Likewise.
335         * tree-if-conv.c (if_convertible_bb_p): Likewise.
336         * tree-ssa-loop-prefetch.c (find_or_create_group): Likewise.
337         * tree-ssa-tail-merge.c (gsi_advance_fw_nondebug_nonlocal): Likewise.
338         * tree-vect-data-refs.c (vect_grouped_load_supported): Likewise.
339         * tree-vect-loop.c (vectorizable_reduction): Likewise.
340         * tree-vect-slp.c (vect_transform_slp_perm_load): Likewise.
341         * tree-vect-stmts.c (vectorizable_shift): Likewise.
342         * tree-vrp.c (vrp_finalize): Likewise.
343         * tree.c (variably_modified_type_p): Likewise.
344
345 2015-05-05  Jack Howarth  <howarth.at.gcc@gmail.com>
346
347         * config.gcc: Use darwin9.h, darwin10.h and darwin12.h
348         on darwin12 and later.
349         * config/darwin12.h (LINK_GCC_C_SEQUENCE_SPEC): Add
350         file to pass -rdynamic on darwin12 and later.
351         * config/darwin.opt (rdynamic): Add.
352
353 2015-05-05  Uros Bizjak  <ubizjak@gmail.com>
354
355         * doc/extend.texi (C Extensions): Update menu for moved Variable
356         Attributes and Type Attributes sections.
357
358 2015-05-05  Uros Bizjak  <ubizjak@gmail.com>
359
360         PR target/65990
361         * config/i386/i386.c (ix86_parse_stringop_strategy_string): Error out
362         if rep_8byte stringop strategy was specified for 32-bit target.
363
364 2015-05-05  Ilya Tocar  <ilya.tocar@intel.com>
365
366         PR target/65915
367         * config/i386/i386.md (vector convert to float spltiter): Check for
368         xmm16+, when splitting scalar float conversion.
369         * config/i386/sse.md (sse2_cvtsi2sd): Support EVEX version.
370
371 2015-05-05  Nick Clifton  <nickc@redhat.com>
372
373         * config/msp430/msp430-opts.h (enum msp430_regions): New.
374         * config/msp430/msp430.c (msp430_override_options): Complain if
375         -mcode-region or -mdata-region is used on a non MSP430X.
376         (msp430_section_attr): New function.  Checks lower, upper and
377         either attributes.
378         (msp430_attribute_table): Add lower, upper and either.
379         (gen_prefix): New function.  Generates a prefix for a section
380         name.
381         (msp430_select_section): New function - handles the choice of
382         section for an object.  Takes into account memory region
383         attributes and options.
384         (msp430_function_section): Use gen_prefix.
385         (TARGET_SECTION_TYPE_FLAGS): Define.
386         (msp430_section_type_flags): New function.
387         (TARGET_ASM_UNIQUE_SECTION): Define.
388         (msp430_unique_section): New function.
389         (msp430_output_aligned_decl_common): New function.
390         (msp430_do_not_relax_short_jumps): New function.
391         * config/msp430/msp430.h (USE_SELECT_SECTION_FOR_FUNCTIONS):
392         Define.
393         (ASM_OUTPUT_ALIGNED_DECL_COMMON): Define.
394         * config/msp430/msp430-protos.h
395         (msp430_do_not_relax_short_jumps): New prototype.
396         (msp430_output_aligned_decl_common): New prototype.
397         * config/msp430/msp430.md (length): New attribute.
398         (cbranchhi4_real): If msp430_do_not_relax_short_jumps is true
399         then use a long code sequence for short jumps.
400         * config/msp430/msp430.opt (mcode-region): New.
401         (mdata-region): New.
402         * doc/invoke.texi: Document new options.
403         * doc/extend.texi: Document new attributes.
404
405 2015-05-05  Matthew Wahab  <matthew.wahab@arm.com>
406
407         * gcc/config/aarch64-protos.h (struct cpu_branch_cost): New.
408         (tune_params): Add field branch_costs.
409         (aarch64_branch_cost): Declare.
410         * gcc/config/aarch64.c (generic_branch_cost): New.
411         (generic_tunings): Set field cpu_branch_cost to generic_branch_cost.
412         (cortexa53_tunings): Likewise.
413         (cortexa57_tunings): Likewise.
414         (thunderx_tunings): Likewise.
415         (xgene1_tunings): Likewise.
416         (aarch64_branch_cost): Define.
417         * gcc/config/aarch64/aarch64.h (BRANCH_COST): Redefine.
418
419 2015-05-05  Uros Bizjak  <ubizjak@gmail.com>
420
421         * config/i386/i386.c: Use HOST_WIDE_INT_1 instead of (HOST_WIDE_INT) 1
422         and HOST_WIDE_INT_1U instead of (unsigned HOST_WIDE_INT) 1.
423         * config/i386/i386.md: Ditto.
424         * config/i386/winnt.c: Ditto.
425
426 2015-05-05  Matthew Wahab  <matthew.wahab@arm.com>
427
428         * doc/extend.texi (__atomic Builtins): Move implementation details
429         to the end of the description, rewrite opening paragraphs, state
430         difference with __sync builtins, state C11/C++11 assumptions,
431         weaken itemized descriptions, add explanation of memory model
432         behaviour, expand description of compare-exchange, simplify text.
433
434 2015-05-05  Renlin Li  <renlin.li@arm.com>
435
436         * config/aarch64/aarch64.md (add<mode>3): Use mov when allowed.
437
438 2015-05-05  Yvan Roux  <yvan.roux@linaro.org>
439
440         * config/aarch64/aarch64-elf-raw.h (CA53_ERR_843419_SPEC): Define.
441         (LINK_SPEC): Include CA53_ERR_843419_SPEC.
442         * config/aarch64/aarch64-linux.h (CA53_ERR_843419_SPEC): Define.
443         (LINK_SPEC): Include CA53_ERR_843419_SPEC.
444         * config/aarch64/aarch64.opt (mfix-cortex-a53-843419): New option.
445         * configure: Regenerate.
446         * configure.ac: Add --enable-fix-cortex-a53-843419 option.
447         * doc/install.texi (aarch64*-*-*): Document new
448         --enable-fix-cortex-a53-843419 option.
449         * doc/invoke.texi (AArch64 Options): Document -mfix-cortex-a53-843419
450         and -mno-fix-cortex-a53-843419 options.
451
452 2015-05-05  Uros Bizjak  <ubizjak@gmail.com>
453
454         PR target/65871
455         * config/i386/i386.md (*bmi_andn_<mode>_ccno): New pattern.
456
457 2015-05-04  Jan Hubicka  <hubicka@ucw.cz>
458
459         * tree.c (verify_type): Check various uses of TYPE_MAXVAL;
460         fix overactive TYPE_MIN_VALUE check and add FIXME for type
461         compatibility problems.
462
463 2015-05-04  Ajit Agarwal  <ajitkum@xilinx.com>
464
465         * config/microblaze/microblaze.md (cbranchsi4): Added immediate
466         constraints.
467         (cbranchsi4_reg): New.
468         * config/microblaze/microblaze.c
469         (microblaze_expand_conditional_branch_reg): New.
470         * config/microblaze/microblaze-protos.h
471         (microblaze_expand_conditional_branch_reg): New prototype.
472
473 2015-05-04  Ajit Agarwal  <ajitkum@xilinx.com>
474
475         * config/microblaze/microblaze.md (peephole2): New.
476
477 2015-05-04  Jeff Law  <law@redhat.com>
478
479         Revert:
480         2015-05-04  Jeff Law  <law@redhat.com>
481
482         * match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New
483         simplifier to narrow arithmetic.
484         * generic-match-head.c: (types_match, single_use): New functions.
485         * gimple-match-head.c: (types_match, single_use): New functions.
486
487 2015-05-04  Kaz Kojima  <kkojima@gcc.gnu.org>
488
489         PR target/65987
490         * config/sh/sh.c (output_far_jump): Take into account crossing jumps.
491         (split_branches): Likewise.
492
493 2015-05-04  Sandra Loosemore  <sandra@codesourcery.com>
494
495         * common.opt (fdelete-null-pointer-checks): Init to -1.
496         * config/nios2/elf.h (SUBTARGET_OVERRIDE_OPTIONS): Define to
497         override flag_delete_null_pointer_checks default.
498         * doc/invoke.texi (-fdelete-null-pointer-checks): Clarify
499         behavior re address zero.  Better document target-specific behavior.
500         (-fisolate-errneous-paths-dereference): Mention relationship to
501         -fdelete-null-pointer-checks.
502
503 2015-05-04  Jakub Jelinek  <jakub@redhat.com>
504
505         PR tree-optimization/65984
506         * ubsan.c: Include tree-cfg.h.
507         (instrument_bool_enum_load): Use stmt_ends_bb_p instead of
508         stmt_could_throw_p test, rename can_throw variable to ends_bb.
509
510 2015-05-04  Uros Bizjak  <ubizjak@gmail.com>
511
512         * config/i386/i386.c: Change GET_CODE (...) == CONST_DOUBLE check
513         to CONST_DOUBLE_P predicate.
514         (standard_sse_constant_p): Return 0 for !TARGET_SSE.
515         (ix86_legitimate_constant_p) <case CONST_WIDE_INT>: For 32bit targets,
516         allow only operands that satisfy standard_sse_constant_p predicate.
517         * config/i386/i386.md: Change GET_CODE (...) == CONST_DOUBLE check
518         to CONST_DOUBLE_P predicate.
519
520 2015-05-04  Jeff Law  <law@redhat.com>
521
522         * match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New
523         simplifier to narrow arithmetic.
524         * generic-match-head.c: (types_match, single_use): New functions.
525         * gimple-match-head.c: (types_match, single_use): New functions.
526
527 2015-05-04  Andreas Tobler  <andreast@gcc.gnu.org>
528
529         * config/arm/arm.c: Restore bootstrap.
530
531 2015-05-04  Uros Bizjak  <ubizjak@gmail.com>
532
533         * config/i386/i386.h (TARGET_SUPPORTS_WIDE_INT): New define.
534         * config/i386/i386.c (ix86_legitimate_constant_p): Handle TImode
535         as CONST_WIDE_INT, not CONST_DOUBLE.
536         (ix86_cannot_force_const_mem): Handle CONST_WIDE_INT.
537         (output_pic_addr_const): Do not handle VOIDmode CONST_DOUBLEs.
538         (ix86_find_base_term): Do not check for CONST_DOUBLE.
539         (ix86_print_operand): Do not handle non-FPmode CONST_DOUBLEs.
540         (ix86_build_signbit_mask): Rewrite using wide ints.
541         (ix86_split_to_parts) [HOST_BITS_PER_WIDE_INT < 64]: Remove.
542         (ix86_rtx_costs): Handle CONST_WIDE_INT.
543         (find_constant): Ditto.
544         * config/i386/i386.md (bts, btr, btc peepholes): Rewrite
545         using gen_int_mode.
546         * config/i386/predicates.md (x86_64_immediate_operand)
547         <case CONST_INT>: Remove HOST_BITS_PER_WIDE_INT == 32 code.
548         (x86_64_zext_immediate_operand): Remove CONST_DOUBLE handling.
549         <case CONST_INT>: Remove HOST_BITS_PER_WIDE_INT == 32 code.
550         (const0_operand): Also match const_wide_int.
551         (constm1_operand): Ditto.
552         (const1_operand): Ditto.
553
554 2015-05-04  Richard Biener  <rguenther@suse.de>
555
556         PR tree-optimization/65965
557         * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Split
558         store groups at gaps.
559
560 2015-05-04  Richard Biener  <rguenther@suse.de>
561
562         PR tree-optimization/65935
563         * tree-vect-slp.c (vect_build_slp_tree): If we swapped operands
564         then make sure to apply that swapping to the IL.
565
566 2015-05-04  Jakub Jelinek  <jakub@redhat.com>
567
568         * Makefile.in (PATCHLEVEL_c): New variable.
569         (DATESTAMP_s, REVISION_s): If PATCHLEVEL_c is not 0,
570         expand the same way as if DEVPHASE_c was non-empty.
571
572 2015-05-04  Kai Tietz  <ktietz@redhat.com>
573
574         PR target/65559
575         * lto-wrapper.c (run_gcc): Open filename
576         in binary-mode.
577
578 2015-05-03  Sandra Loosemore  <sandra@codesourcery.com>
579
580         * doc/extend.texi (Variable Attributes, Type Attributes):  Move
581         sections up in file, to immediately after the Function Attributes
582         section.
583
584 2015-05-02  Jan Hubicka  <hubicka@ucw.cz>
585
586         * tree.c (verify_type): Check various uses of TYPE_MINVAL.
587
588 2015-05-02  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
589
590         * tree-outof-ssa.c (emit_partition_copy): Return rtx_insn *.
591         (insert_partition_copy_on_edge): Adjust.
592         (insert_rtx_to_part_on_edge): Likewise.
593         (insert_part_to_rtx_on_edge): Likewise.
594
595 2015-05-02  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
596
597         * function.c (set_return_jump_label): Change type of argument to
598         rtx_insn *.
599         * function.h (set_return_jump_label): Adjust.
600
601 2015-05-02  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
602
603         * reload.h (struct reg_equivs_t): Change type of init to
604         rtx_insn *.
605         * ira.c (fix_reg_equiv_init): Adjust.
606         * reload1.c (eliminate_regs_1): Likewise.
607         (init_eliminable_invariants): Likewise.
608
609 2015-05-02  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
610
611         * cselib.c (fp_setter_insn): Take a rtx_insn *.
612         * cselib.h (fp_setter_insn): Adjust.
613
614 2015-05-02  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
615
616         * recog.c (struct validate_replace_src_data): Change type of
617         insn field to rtx_insn *.
618         (validate_replace_src_group): Change type of argument to rtx_insn *.
619         * recog.h (validate_replace_src_group): Adjust.
620
621 2015-05-02  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
622
623         * haifa-sched.c: Change the type of some variables to rtx_insn *.
624         * sched-deps.c: Likewise.
625         * sched-int.h: Likewise.
626         * sched-rgn.c: Likewise.
627         * sel-sched.c: Likewise.
628
629 2015-05-02  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
630
631         to rtx_insn *.
632         * config/i386/i386.c: Change the type of some arguments to
633         rtx_insn *.
634         * config/arm/arm.c: Likewise.
635
636 2015-05-02  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
637
638         * lra-constraints.c: Change type of some arguments to rtx_insn *.
639
640 2015-05-02  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
641
642         * regcprop.c (kill_autoinc_value): Change type of argument to
643         rtx_insn *.
644
645 2015-05-02  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
646
647         * genrecog.c (print_subroutine): Adjust.
648         * recog.c (get_bool_attr_mask_uncached): Likewise.
649         * recog.h (struct recog_data_d): Change the type of insn to
650         rtx_insn *.
651
652 2015-05-02  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
653
654         * dwarf2cfi.c (add_cfi_insn): Change type to rtx_insn *.
655
656 2015-05-02  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
657
658         * df-problems.c (df_set_note): Change type of argument to
659         rtx_insn *.
660
661 2015-05-02  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
662
663         * builtins.c (expand_builtin_trap): Change type of local
664         variable to rtx_insn *.
665         (add_sched_insns_for_speculation): Likewise.
666         (ix86_emit_save_regs): Likewise.
667         (get_scratch_register_on_entry): Likewise.
668         (ix86_emit_restore_reg_using_pop): Likewise.
669         (ix86_emit_leave): Likewise.
670         (ix86_emit_restore_regs_using_mov): Likewise.
671         (ix86_expand_epilogue): Likewise.
672         Likewise.
673         (rl78_alloc_physical_registers_umul): Likewise.
674         * cselib.c (discard_useless_locs): Likewise.
675         (cselib_invalidate_regno): Likewise.
676         (cselib_invalidate_mem): Likewise.
677         * function.c (expand_function_start): Likewise.
678         (emit_use_return_register_into_block): Likewise.
679         * gcse.c: Likewise.
680         * haifa-sched.c (ok_for_early_queue_removal): Likewise.
681         * ifcvt.c (noce_get_alt_condition): Likewise.
682         * loop-doloop.c (doloop_condition_get): Likewise.
683         * lra-constraints.c (inherit_in_ebb): Likewise.
684         * modulo-sched.c (sms_schedule_by_order): Likewise.
685         * recog.c (next_insn_tests_no_inequality): Likewise.
686         * reorg.c (emit_delay_sequence): Likewise.
687         (update_reg_dead_notes): Likewise.
688         (fix_reg_dead_note): Likewise.
689         (fill_slots_from_thread): Likewise.
690         (delete_computation): Likewise.
691
692 2015-05-01  Sandra Loosemore  <sandra@codesourcery.com>
693
694         * doc/extend.texi (Variable Attributes): Add menu and proper
695         @nodes to subsections.  Move Microsoft Windows attributes to
696         their own subsection.
697         (Type Attributes): Reorganize introduction to remove duplicate
698         list of attributes.  Add menu and proper @nodes to subsections.
699         Alphabetize the main table of common attributes.
700
701 2015-05-01  Rasmus Villemoes  <rv@rasmusvillemoes.dk>
702
703         * match.pd: New simplification patterns.
704         (x + (x & 1))  -> ((x + 1) & ~1)
705         (x & ~(x & y)) -> ((x & ~y))
706         (x | ~(x | y)) -> ((x | ~y))
707
708 2015-05-01  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
709
710         * target.def (attribute_table): Mention that struct attribute_spec
711         is defined in tree-core.h rather than tree.h
712         * doc/tm.texi: Regenerate.
713
714 2015-05-01  Richard Sandiford  <richard.sandiford@arm.com>
715
716         * genrecog.c (test): Rename to rtx_test.  Update rest of file
717         accordingly.
718
719 2015-05-01  Andreas Schwab  <schwab@linux-m68k.org>
720
721         PR translation/65959
722         * params.h (DEFPARAM): Rename msgid to nocmsgid.
723
724 2015-05-01  Wilco Dijkstra  <wdijkstr@arm.com>
725
726         * gcc/config/aarch64/aarch64-protos.h (tune_params):
727         Add min_div_recip_mul_sf and min_div_recip_mul_df fields.
728         * gcc/config/aarch64/aarch64.c (aarch64_min_divisions_for_recip_mul):
729         Return value depending on target.
730         (generic_tunings): Initialize new target settings.
731         (cortexa53_tunings): Likewise.
732         (cortexa57_tunings): Likewise.
733         (thunderx_tunings): Likewise.
734         (xgene1_tunings): Likewise.
735
736 2015-05-01  Wilco Dijkstra  <wdijkstr@arm.com>
737
738         * gcc/config/arm/aarch-cost-tables.h (cortexa53_extra_costs):
739         Make Cortex-A53 shift costs more accurate.
740
741 2015-05-01  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
742
743         * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle FLOAT and
744         UNSIGNED_FLOAT.
745
746 2015-05-01  Wilco Dijkstra  <wdijkstr@arm.com>
747
748         * gcc/config/aarch64/aarch64.c (aarch64_rtx_costs):
749         Calculate cost of op0 and op1 in PLUS and MINUS cases.
750
751 2015-05-01  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
752
753         * config/aarch64/aarch64.c (aarch64_rtx_costs, COMPARE case):
754         Add cost of op0 in the compare-with-fpzero case.
755
756 2015-04-30  David Malcolm  <dmalcolm@redhat.com>
757
758         * builtins.c (fold_builtin_1): Remove spurious second
759         semicolon.
760         * cgraph.h (symtab_node::get_availability): Likewise.
761         * opts.c (common_handle_option): Remove spurious second semicolon.
762         * tree-ssa-loop-ivopts.c (extract_cond_operands): Likewise.
763         * tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Likewise.
764
765 2015-04-30  Caroline Tice  <cmtice@google.com>
766
767         PR 65929
768         * config/elfos.h (ASM_DECLARE_COLD_FUNCTION_NAME): New macro definition.
769         (ASM_DECLARE_COLD_FUNCTION_SIZE): New macro definition.
770         * doc/tm.texi.in (ASM_DECLARE_COLD_FUNCTION_NAME): Document new macro.
771         (ASM_DECLARE_COLD_FUNCTION_SIZE): Document new macro.
772         * doc/tm.texi: Regenerate.
773         * final.c (final_scan_insn):  Use ASM_DECLARE_COLD_FUNCTION_NAME
774         instead of ASM_DECLARE_FUNCTION_NAME for cold partition name.
775         * varasm.c (assemble_end_function):  Use ASM_DECLARE_COLD_FUNCTION_SIZE
776         instead of ASM_DECLARE_FUNCTION_SIZE for cold partition size.
777
778 2015-04-30  Marek Polacek  <polacek@redhat.com>
779
780         * varasm.c (handle_cache_entry): Fix logic.
781
782 2015-04-30  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
783
784         * config/aarch64/aarch64.md (*extr<mode>5_insn_alt): New pattern.
785         (*extrsi5_insn_uxtw_alt): Likewise.
786         * config/aarch64/aarch64.c (aarch64_extr_rtx_p): New function.
787         (aarch64_rtx_costs, IOR case): Use above to properly cost extr
788         operations.
789
790 2015-04-30  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
791
792         * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle pattern for
793         fabd in ABS case.
794
795 2015-04-30  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
796
797         * config/aarch64/aarch64.md
798         (*eor_one_cmpl_<SHIFT:optab><mode>3_alt): New pattern.
799         (*eor_one_cmpl_<SHIFT:optab>sidi3_alt_ze): Likewise.
800         * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle MVN-shift
801         appropriately.  Handle alternative EON form.
802
803 2015-04-30  Renlin Li  <renlin.li@arm.com>
804
805         * config/aarch64/aarch64-simd.md (vec_shr): Defined as an unspec.
806         * config/aarch64/iterators.md (unspec): Add UNSPEC_VEC_SHR.
807
808 2015-04-30  Jan Hubicka  <hubicka@ucw.cz>
809
810         PR ipa/65873
811         * ipa-inline.c (can_inline_edge_p): It is safe to inline across
812         -fstrict-aliasing boundaries.
813
814 2015-04-30  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
815
816         * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Handle MNEG
817         and [SU]MNEGL patterns.
818
819 2015-04-30  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
820
821         * config/aarch64/aarch64.c (aarch64_shift_p): New function.
822         (aarch64_rtx_mult_cost): Update comment to reflect that it also handles
823         combined arithmetic-shift ops.  Properly handle all shift and extend
824         operations that can occur in combination with PLUS/MINUS.
825         Rename maybe_fma to compound_p.
826         (aarch64_rtx_costs): Use aarch64_shift_p when costing compound
827         arithmetic and shift operations.
828
829 2015-04-30  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
830
831         * config/aarch64/aarch64.c (aarch64_rtx_costs): Use extend_arith
832         rather than arith_shift cost when costing ADD/MINUS of an
833         extended value.
834
835 2015-04-30  Jan Hubicka  <hubicka@ucw.cz>
836
837         PR lto/65948
838         * ipa-devirt.c (odr_types_equivalent_p): NULLPTR_TYPE is equivalent
839         to itself.
840
841 2015-04-30  Richard Sandiford  <richard.sandiford@arm.com>
842
843         * genrecog.c (simplify_tests): Check that CONST_INT and XWINT tests
844         are for the same position.
845
846 2015-04-29  Aditya Kumar  <hiraditya@hotmail.com>
847
848         * tree-vectorizer.c (set_uid_loop_bbs): New.  Factored out of
849         vectorize_loops.
850         (vectorize_loops): Use it.
851
852 2015-04-29  Jan Hubicka  <hubicka@ucw.cz>
853
854         * ipa-devirt.c (odr_subtypes_equivalent_p): Compare TYPE_NAME only
855         for aggregate types.
856         (register_odr_type): Be ready for MAIN_VARIANT of ODR type
857         type to be non_ODR.
858         * tree.c (need_assembler_name_p): Compute mangled name for
859         non-fundamental types and integer types.
860
861 2015-04-29  Mikhail Maltsev  <maltsevm@gmail.com>
862
863         * dojump.c (do_compare_rtx_and_jump): Use std::swap instead of
864         manual swaps.
865         * expr.c (expand_expr_real_2): Likewise.
866
867 2015-04-29  Jan Hubicka  <hubicka@ucw.cz>
868
869         * tree.c (build_common_builtin_nodes): Do not build
870         __builtin_alloca_with_align as equivalent of library alloca.
871
872 2015-04-29  Jan Hubicka  <hubicka@ucw.cz>
873
874         * dwarf2out.c (gen_type_die_with_usage): Call verify_type.
875         * ipa-chkp.c (chkp_copy_function_type_adding_bounds): Do not produce
876         bugus variants.
877         * tree.c: Include print-tree.h and ipa-utils.h
878         (free_lang_data_in_type): Clear TYPE_VFIELD leaked by C FE.
879         (free_lang_data_in_cgraph): Call verify_type.
880         (verify_type_variant): New function.
881         (verify_type): New function.
882         * tree.h (verify_type): Declare.
883
884 2015-04-29  Steve Ellcey  <sellcey@imgtec.com>
885
886         * config/mips/mips-cpus.def: (mips4): Change default processor
887         from PROCESSOR_R8000 to PROCESSOR_R10000.
888
889 2015-04-29  Petar Jovanovic  <petar.jovanovic@rt-rk.com>
890
891         * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Fix the macro to use
892         la/jalr instead of jal.
893
894 2015-04-29  Uros Bizjak  <ubizjak@gmail.com>
895
896         PR target/65871
897         * config/i386/i386.md (*bmi_bextr_<mode>_ccz): New pattern.
898         (*bmi2_bzhi_<mode>3_1_ccz): Ditto.
899         (setcc+movzbl peephole2): Check also clobbered reg.
900         (setcc+andl peephole2): Ditto.
901
902 2015-04-29  Thomas Schwinge  <thomas@codesourcery.com>
903
904         PR libgomp/65099
905         * config/nvptx/mkoffload.c (target_ilp32): New variable.
906         (main): Set it depending on "-foffload-abi=[...]".
907         (compile_native, main): Use it to pass "-m32" or "-m64" to the
908         compiler.
909
910 2015-04-29  Alan Lawrence  <alan.lawrence@arm.com>
911
912         PR target/65770
913         * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>,
914         vec_store_lanesci_lane<mode>, vec_store_lanesxi_lane<mode>):
915         Flip lane index back at assembly time for bigendian.
916
917 2015-04-29  Thomas Schwinge  <thomas@codesourcery.com>
918
919         * tree.h (OMP_STANDALONE_CLAUSES): New macro.
920         * gimplify.c (gimplify_omp_workshare): Use it.
921
922 2015-04-29  Richard Sandiford  <richard.sandiford@arm.com>
923
924         * Makefile.in (build/genrecog.o): Depend on inchash.h.
925         (build/genrecog$(build_exeext): Depend on build/hash-table.o and
926         build/inchash.o
927         * genrecog.c: Rewrite most of the code except for the third page.
928
929 2015-04-29  Richard Sandiford  <richard.sandiford@arm.com>
930
931         * inchash.h, inchash.c: Include bconfig.h for build objects.
932         * Makefile.in (build/inchash.o): New rule.
933
934 2015-04-29  Yvan Roux  <yvan.roux@linaro.org>
935
936         PR target/65924
937         * config/arm/thumb2.md (*thumb2_addsi3_compare0_scratch): Fix operand
938         number in type attribute expression.
939
940 2015-04-29  Richard Sandiford  <richard.sandiford@arm.com>
941
942         * loop-iv.c (canon_condition): Generalize to all types of integer
943         constant.
944
945 2015-04-29  Bernhard Reuther-Fischer  <aldot@gcc.gnu.org>
946
947         * gimple-walk.c: Prune duplicate or unneeded includes.
948         (walk_gimple_asm): Only call parse_input_constraint or
949         parse_output_constraint if their findings are used.
950         Honour parse_input_constraint and parse_output_constraint
951         result.
952
953 2015-04-29  Alan Lawrence  <alan.lawrence@arm.com>
954
955         * config/arm/neon.md (vec_shl<mode>, vec_shr<mode>): Remove.
956
957 2015-04-29  Tom de Vries  <tom@codesourcery.com>
958
959         PR tree-optimization/65893
960         * passes.def (pass_all_optimizations): Move pass_stdarg to after
961         pass_dce.
962
963 2015-04-29  Richard Biener  <rguenther@suse.de>
964
965         * tree-vect-data-refs.c (vect_analyze_group_access): Properly
966         compute GROUP_SIZE for basic-block SLP.
967         * tree-vect-slp.c (vect_get_place_in_interleaving_chain): Properly
968         take into account gaps.
969         (vect_get_mask_element): Properly reject references to previous
970         vectors.
971         (vect_transform_slp_perm_load): Likewise.
972
973 2015-04-29  Christian Bruel  <christian.bruel@st.com>
974
975         PR target/64835
976         * config/i386/i386.c (ix86_default_align): New function.
977         (ix86_override_options_after_change): Call ix86_default_align.
978         (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): New hook.
979         (ix86_override_options_after_change): New function.
980
981 2015-04-28  Jeff Law  <law@redhat.com>
982
983         * tree-ssa-dom.c (record_equality); Fix comment typos.
984
985 2015-04-28  Tom de Vries  <tom@codesourcery.com>
986
987         PR tree-optimization/65887
988         * gimplify.c (gimplify_modify_expr): Remove ifn_va_arg ap fixup.
989
990 2015-04-28  Sandra Loosemore  <sandra@codesourcery.com>
991
992         * doc/extend.texi (Declaring Attributes of Functions): Split into
993         subsections by target.  Alphabetize the table of common attributes.
994         Rewrite some of the introductory text to reflect the new structure.
995         Update some cross-references to point to the new subsections.
996         (Attribute Syntax): Put paragraph about "__" naming here.  Remove
997         duplicate copies in the discussion of function, label, and type
998         attributes.
999
1000 2015-04-28  Dominique d'Humieres  <dominiq@lps.ens.fr>
1001
1002         PR bootstrap/65910
1003         * varasm.c (assemble_end_function): Guard ASM_DECLARE_FUNCTION_SIZE.
1004
1005 2015-04-28  Jason Merrill  <jason@redhat.com>
1006
1007         PR c++/65734
1008         * stor-layout.c (layout_type): Layout the TYPE_MAIN_VARIANT.
1009         (finalize_type_size): Respect TYPE_USER_ALIGN.
1010         (layout_type) [ARRAY_TYPE]: Likewise.
1011
1012 2015-04-28  Yvan Roux  <yvan.roux@linaro.org>
1013
1014         * config/arm/arm.md (*arm_movt): Fix type attribute.
1015         (*cmpsi_shiftsi): Likewise.
1016         (*cmpsi_shiftsi_swp): Likewise.
1017         (*movsicc_insn): Likewise.
1018         (*cond_move): Likewise.
1019         (*if_plus_move): Likewise.
1020         (*if_move_plus): Likewise.
1021         (*if_arith_move): Likewise.
1022         (*if_move_arith): Likewise.
1023         (*if_shift_move): Likewise.
1024         (*if_move_shift): Likewise.
1025         (*arm_movtas_ze): Likewise.
1026         * config/arm/thumb2.md (*thumb2_movsicc_insn): Fix alternative
1027         redundancy and type attribute.
1028         (*thumb2_movsi_insn): Fix type attribute.
1029         (*thumb2_addsi_short): Likewise.
1030         (thumb2_addsi3_compare0): Likewise.
1031         (*thumb2_addsi3_compare0_scratch): Merge alternatives and fix
1032         attributes accordingly.
1033
1034 2015-04-28  Markus Trippelsdorf  <markus@trippelsdorf.de>
1035
1036         PR other/65911
1037         * function.c (pad_to_arg_alignment): Add parentheses.
1038
1039 2015-04-28  Uros Bizjak  <ubizjak@gmail.com>
1040
1041         * config/frv/frv.h (CRT_GET_RFIB_DATA): Move definition to
1042         libgcc/config/frv/elf-lib.h.
1043
1044 2015-04-28  Tom de Vries  <tom@codesourcery.com>
1045
1046         * tree-call-cdce.c: Fix example in header comment.
1047
1048 2015-04-28  Richard Biener  <rguenther@suse.de>
1049
1050         PR tree-optimization/62283
1051         * tree-vect-slp.c (vect_build_slp_tree): When the SLP build
1052         fails fatally and we are vectorizing a basic-block simply
1053         cause the child to be constructed piecewise.
1054         (vect_analyze_slp_cost_1): Adjust.
1055         (vect_detect_hybrid_slp_stmts): Likewise.
1056         (vect_bb_slp_scalar_cost): Likewise.
1057         (vect_get_constant_vectors): For piecewise constructed
1058         constants place them after the last def.
1059         (vect_get_slp_defs): Adjust.
1060         * tree-vect-stmts.c (vect_is_simple_use): Detect in-BB
1061         externals for basic-block vectorization.
1062
1063 2015-04-28  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1064
1065         PR target/63503
1066         * config.gcc: Add cortex-a57-fma-steering.o to extra_objs for
1067         aarch64-*-*.
1068         * config/aarch64/t-aarch64: Add a rule for cortex-a57-fma-steering.o.
1069         * config/aarch64/aarch64.h (AARCH64_FL_USE_FMA_STEERING_PASS): Define.
1070         (AARCH64_TUNE_FMA_STEERING): Likewise.
1071         * config/aarch64/aarch64-cores.def: Set
1072         AARCH64_FL_USE_FMA_STEERING_PASS for cores with dynamic steering of
1073         FMUL/FMADD instructions.
1074         * config/aarch64/aarch64.c (aarch64_register_fma_steering): Declare.
1075         (aarch64_override_options): Include cortex-a57-fma-steering.h.  Call
1076         aarch64_register_fma_steering () if AARCH64_TUNE_FMA_STEERING is true.
1077         * config/aarch64/cortex-a57-fma-steering.h: New file.
1078         * config/aarch64/cortex-a57-fma-steering.c: Likewise.
1079
1080 2015-04-28  Richard Sandiford  <richard.sandiford@arm.com>
1081
1082         * gensupport.c (std_preds): Add missing codes to address_operand entry.
1083
1084 2015-04-28  Richard Biener  <rguenther@suse.de>
1085
1086         PR tree-optimization/65851
1087         * tree-ssa-ccp.c (set_lattice_value): Perform a meet when
1088         changing CONSTANT to CONSTANT non-copy.  Get new_val by reference.
1089         (ccp_lattice_meet): Remove stray argument.  Use operand_equal_p
1090         rather than simple_cst_equal as the latter doesn't handle COMPLEX_CST.
1091         (ccp_visit_phi_node): Adjust.
1092         (evaluate_stmt): For simplifications to SSA names return its
1093         lattice value if that isn't VARYING.  Return immediately when
1094         simplified to a constant.
1095         (visit_assignment): Adjust.
1096         (ccp_visit_stmt): Likewise.
1097
1098 2015-04-28  Tom de Vries  <tom@codesourcery.com>
1099
1100         PR tree-optimization/65818
1101         * tree-stdarg.c (expand_ifn_va_arg_1): Ensure that side-effects are
1102         evaluated.
1103
1104 2015-04-27  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
1105
1106         * calls.c (save_fixed_argument_area): Don't check
1107         ARGS_GROW_DOWNWARD with the preprocessor.
1108         (restore_fixed_argument_area): Likewise.
1109         (mem_overlaps_already_clobbered_arg_p): Likewise.
1110         (check_sibcall_argument_overlap): Likewise.
1111         (expand_call): Likewise.
1112         (emit_library_call_value_1): Likewise.
1113         (store_one_arg): Likewise.
1114         * function.c (assign_parms): Likewise.
1115         (locate_and_pad_parm): Likewise.
1116         (pad_to_arg_alignment): Likewise.
1117         * targhooks.c (std_gimplify_va_arg_expr): Likewise.
1118
1119 2015-04-27  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
1120
1121         * config/pa/pa.h (ARGS_GROW_DOWNWARD): Define to 1.
1122         * defaults.h (ARGS_GROW_DOWNWARD): Define it to 0 by default.
1123         * calls.c (save_fixed_argument_area): Don't chekc if
1124         ARGS_GROW_DOWNWARD is defined.
1125         (restore_fixed_argument_area): Likewise.
1126         (mem_overlaps_already_clobbered_arg_p): Likewise.
1127         (check_sibcall_argument_overlap): Likewise.
1128         (expand_call): Likewise.
1129         (emit_library_call_value_1): Likewise.
1130         (store_one_arg): Likewise.
1131         * function.c (assign_parms): Likewise.
1132         (locate_and_pad_parm): Likewise.
1133         (pad_to_arg_alignment): Likewise.
1134         * targhooks.c (std_gimplify_va_arg_expr): Likewise.
1135
1136 2015-04-27  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
1137
1138         * defaults.h (gen_epilogue): New function.
1139         * alias.c (init_alias_analysis): don't check if HAVE_epilogue is
1140         defined.
1141         * cfgrtl.c (cfg_layout_finalize): Likewise.
1142         * df-scan.c: Likewise.
1143         * function.c (thread_prologue_and_epilogue_insns): Likewise.
1144         (reposition_prologue_and_epilogue_notes): Likewise.
1145         * reorg.c (find_end_label): Likewise.
1146         * toplev.c: Likewise.
1147
1148 2015-04-27  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
1149
1150         * bb-reorder.c (HAVE_return): Don't check if its undefined.
1151         * defaults.h (gen_simple_return): New function.
1152         (gen_simple_return): Likewise.
1153         (HAVE_return): Add default definition to false.
1154         (HAVE_simple_return): Likewise.
1155         * cfgrtl.c (force_nonfallthru_and_redirect): Remove checks if
1156         HAVE_return and HAVE_simple_return are defined.
1157         * function.c (gen_return_pattern): Likewise.
1158         (convert_jumps_to_returns): Likewise.
1159         (thread_prologue_and_epilogue_insns): Likewise.
1160         * reorg.c (find_end_label): Likewise.
1161         (dbr_schedule): Likewise.
1162         * shrink-wrap.c: Likewise.
1163         * shrink-wrap.h: Likewise.
1164
1165 2015-04-27  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
1166
1167         * defaults.h (EPILOGUE_USES): Add default definition of false.
1168         * df-scan.c (EPILOGUE_USES): Remove check if its undefined.
1169         * resource.c (init_resource_info): Likewise.
1170
1171 2015-04-27  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
1172
1173         * defaults.h (PCC_BITFIELD_TYPE_MATTERS): Add default definition
1174         to false.
1175         * dwarf2out.c (field_byte_offset): REmove check if
1176         PCC_BITFIELD_TYPE_MATTERS is defined.
1177         * stor-layout.c (layout_decl): Likewise.
1178         (update_alignment_for_field): Likewise.
1179         (place_field): Likewise.
1180
1181 2015-04-27  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
1182
1183         * defaults.h (HARD_REGNO_RENAME_OK): Add default definition to
1184         true.
1185         * regrename.c (check_new_reg_p): Remove check if
1186         HARD_REGNO_RENAME_OK is defined.
1187         * sel-sched.c (sel_hard_regno_rename_ok): Likewise.
1188
1189 2015-04-27  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
1190
1191         * calls.c (prepare_call_address): Remove ifdef NO_FUNCTION_CSE.
1192         * cse.c (fold_rtx): Likewise.
1193         * config/alpha/alpha.h (NO_FUNCTION_CSE): Define to 1.
1194         * config/arc/arc.h (NO_FUNCTION_CSE): Likewise.
1195         * config/avr/avr.h (NO_FUNCTION_CSE): Likewise.
1196         * config/cr16/cr16.h (NO_FUNCTION_CSE): Likewise.
1197         * config/epiphany/epiphany.h (NO_FUNCTION_CSE): Likewise.
1198         * config/frv/frv.h (NO_FUNCTION_CSE): Likewise.
1199         * config/h8300/h8300.h (NO_FUNCTION_CSE): Likewise.
1200         * config/i386/i386.h (NO_FUNCTION_CSE): Likewise.
1201         * config/ia64/ia64.h (NO_FUNCTION_CSE): Likewise.
1202         * config/lm32/lm32.h (enum reg_class) (NO_FUNCTION_CSE):
1203         * Likewise.
1204         * config/m32r/m32r.h (NO_FUNCTION_CSE): Likewise.
1205         * config/mep/mep.h (NO_FUNCTION_CSE): Likewise.
1206         * config/mn10300/mn10300.h (NO_FUNCTION_CSE): Likewise.
1207         * config/nds32/nds32.h (NO_FUNCTION_CSE): Likewise.
1208         * config/nios2/nios2.h (NO_FUNCTION_CSE): Likewise.
1209         * config/pa/pa.h (NO_FUNCTION_CSE): Likewise.
1210         * config/rs6000/rs6000.h (NO_FUNCTION_CSE): Likewise.
1211         * config/s390/s390.h (NO_FUNCTION_CSE): Likewise.
1212         * config/sparc/sparc.h (NO_FUNCTION_CSE): Likewise.
1213         * config/spu/spu.h (NO_FUNCTION_CSE): Likewise.
1214         * config/stormy16/stormy16.h (NO_FUNCTION_CSE): Likewise.
1215         * config/v850/v850.h (NO_FUNCTION_CSE): Likewise.
1216         * defaults.h (NO_FUNCTION_CSE): Provide default definition to 0.
1217         * doc/tm.texi: Regenerate.
1218         * doc/tm.texi.in: Document NO_FUNCTION_CSE is always defined to
1219         either true or false.
1220
1221 2015-04-27  Jeff Law  <law@redhat.com>
1222
1223         PR tree-optimization/65217
1224         * tree-ssa-dom.c (record_equality): Given two SSA_NAMEs, if just one
1225         of them has a single use, make sure it is the LHS of the implied
1226         copy.
1227
1228 2015-04-28  Alan Modra  <amodra@gmail.com>
1229
1230         PR target/65810
1231         * config/rs6000/rs6000.c (POWERPC64_TOC_POINTER_ALIGNMENT): Define.
1232         (offsettable_ok_by_alignment): Use minimum of decl and toc
1233         pointer alignment.  Replace dead code with assertion.
1234         (use_toc_relative_ref): Add mode arg.  Return false in -mcmodel=medium
1235         case if size exceeds toc pointer alignment.
1236         (rs6000_legitimize_reload_address): Update use_toc_relative_ref call.
1237         (rs6000_emit_move): Likewise.
1238         * configure.ac: Add linker toc pointer alignment check.
1239         * configure: Regenerate.
1240         * config.in: Regenerate.
1241
1242 2015-04-27  Yoshinori Sato <ysato@users.sourceforge.jp>
1243
1244         * config.gcc: Add h8300-*-linux.
1245         * config/h8300/linux.h: New.
1246         * config/h8300/t-linux: New.
1247         * config/h8300/h8300.c (h8300_option_override): Normal mode
1248         is not supported for h8300-*-linux.
1249         (h8300_file_start): Target priority change.
1250         (get_shift_alg): Likewise.
1251         (h8300_shift_need_scratch_p): Likewise.
1252         * config/h8300/h8300.h (TARGET_CPU_CPP_BUILTINS): Likewise.
1253         * config/h8300/h8300.md (define_peephole2): Remove duplicate condition.
1254
1255 2015-04-27  Caroline Tice  <cmtice@google.com>
1256
1257         * final.c (final_scan_insn):  Output cold_function_name as function
1258         type.
1259         * varasm.c (cold_function_name):  Make global.
1260         (assemble_start_function):  Re-set cold_function_name.
1261         (assemble_end_function): Output cold partition size.
1262         * varasm.h (cold_function_name):  Declare global.
1263
1264 2015-04-27  Ilya Tocar  <ilya.tocar@intel.com>
1265
1266         * config/i386/i386.h (EXT_REX_SSE_REG_P): New.
1267         * config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>_mixed): Use "v"
1268         constraint.
1269         (*movxi_internal_avx512f): Ditto.
1270         (define_split): Check for xmm16+, when splitting scalar float_extend.
1271         (*extendsfdf2_mixed): Use "v" constraint.
1272         (define_split): Check for xmm16+, when splitting scalar float_truncate.
1273         (*truncdfsf_fast_sse): Use "v" constraint.
1274         (fix_trunc<MODEF:mode><SWI48:mode>_sse): Ditto.
1275         (*float<SWI48:mode><MODEF:mode>2_sse): Ditto.
1276         (define_peephole2): Check for xmm16+, when converting scalar
1277         float_truncate.
1278         (define_peephole2): Check for xmm16+, when converting scalar
1279         float_extend.
1280         (*fop_<mode>_comm_mixed): Use "v" constraint.
1281         (*fop_<mode>_comm_sse): Ditto.
1282         (*fop_<mode>_1_mixed): Ditto.
1283         (*sqrt<mode>2_sse): Ditto.
1284         (*ieee_s<ieee_maxmin><mode>3): Ditto.
1285
1286 2015-04-27  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1287
1288         * combine.c (simplify_if_then_else): Use std::swap instead
1289         of manually swapping.
1290         (known_cond): Likewise.
1291         (simplify_comparison): Likewise.
1292
1293 2015-04-27  Peter Bergner  <bergner@vnet.ibm.com>
1294
1295         PR target/64579
1296         * config/rs6000/htm.md: Remove all define_expands.
1297         (UNSPECV_HTM_TABORTDC, UNSPECV_HTM_TABORTDCI, UNSPECV_HTM_TABORTWC,
1298         UNSPECV_HTM_TABORTWCI): Remove.
1299         (UNSPECV_HTM_TABORTXC, UNSPECV_HTM_TABORTXCI, UNSPECV_HTM_TTEST): New.
1300         (tabort_internal, tbegin_internal, tcheck_internal, tend_internal,
1301         trechkpt_internal, treclaim_internal, tsr_internal): Rename from this...
1302         (tabort, tbegin, tcheck, tend, trechkpt, treclaim, tsr): ...to this.
1303         (tabortdc_internal, tabortdci_internal, tabortwc_internal,
1304         tabortwci_internal): Remove define_insns.
1305         (tabort<wd>c, tabort<wd>ci): New define_insns.
1306         (tabort): Use gpc_reg_operand.
1307         (tcheck): Remove operand.
1308         (htm_mfspr_<mode>, htm_mtspr_<mode>): Use GPR mode macro.
1309         * config/rs6000/htmxlintrin.h (__TM_end): Use _HTM_TRANSACTIONAL as
1310         expected value.
1311         * config/rs6000/rs6000-builtin.def (BU_HTM_SPR0): Remove.
1312         (BU_HTM_SPR1): Rename to BU_HTM_V1.  Remove use of RS6000_BTC_SPR.
1313         (tabort, tabortdc, tabortdci, tabortwc, tabortwci, tbegin,
1314         tcheck, tend, tendall, trechkpt, treclaim, tresume, tsuspend,
1315         tsr, ttest): Pass in the RS6000_BTC_CR attribute.
1316         (get_tfhar, set_tfhar, get_tfiar, set_tfiar, get_texasr, set_texasr,
1317         get_texasru, set_texasru): Pass in the RS6000_BTC_SPR attribute.
1318         (tcheck): Remove builtin argument.
1319         * config/rs6000/rs6000.c (rs6000_htm_spr_icode): Use TARGET_POWERPC64
1320         not TARGET_64BIT.
1321         (htm_expand_builtin): Fix usage of expandedp.  Disallow usage of the
1322         tabortdc and tabortdci builtins when not in 64-bit mode.
1323         Modify code to handle the loss of the HTM define_expands.
1324         Emit code to copy the CR register to TARGET.
1325         (htm_init_builtins): Modify code to handle the loss of the HTM
1326         define_expands.
1327         * config/rs6000/rs6000.h (RS6000_BTC_32BIT): Delete.
1328         (RS6000_BTC_64BIT): Likewise.
1329         (RS6000_BTC_CR): New macro.
1330         * doc/extend.texi: Update documentation for htm builtins.
1331
1332 2015-04-27  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1333
1334         * simplify-rtx.c (simplify_gen_binary): Use std::swap instead
1335         of manually swapping.
1336         (simplify_associative_operation): Likewise.
1337         (simplify_binary_operation): Likewise.
1338         (simplify_plus_minus): Likewise.
1339         (simplify_relational_operation): Likewise.
1340         (simplify_ternary_operation): Likewise.
1341
1342 2015-04-27  Richard Sandiford  <richard.sandiford@arm.com>
1343
1344         * config/stormy16/predicates.md (xs_hi_general_operand): Delete.
1345         (xs_hi_nonmemory_operand): Remove error.
1346         * config/stormy16/stormy16.md (movhi, movhi_internal): Use
1347         general_operand rather than xs_hi_general_operand.
1348
1349 2015-04-27  Richard Biener  <rguenther@suse.de>
1350
1351         * tree-ssa-dom.c (record_equivalences_from_phis): Valueize PHI arg.
1352         (record_equivalences_from_stmt): Valueize rhs.
1353         (record_equality): Canonicalize x and y order via
1354         tree_swap_operands_p.  Do not swap operands for same loop depth.
1355
1356 2015-04-27  Georg-Johann Lay  <avr@gjlay.de>
1357
1358         PR target/65296
1359         PR target/65895
1360         * config/avr/gen-avr-mmcu-specs.c (print_mcu): Close file.
1361         Add hint how to use own spec file.
1362
1363 2015-04-27  Jakub Jelinek  <jakub@redhat.com>
1364
1365         PR tree-optimization/65875
1366         * tree-vrp.c (update_value_range): If in is_new case setting
1367         old_vr to VR_VARYING, also set new_vr to it.  Remove
1368         old_vr->type == VR_VARYING test.
1369         (vrp_visit_phi_node): Return SSA_PROP_VARYING instead of
1370         SSA_PROP_INTERESTING if update_value_range returned true,
1371         but new range is VR_VARYING.
1372
1373 2015-04-27  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1374
1375         * combine.c (sign_extend_short_imm): New.
1376         (set_nonzero_bits_and_sign_copies): Use above new function for sign
1377         extension of src short immediate.
1378         (reg_nonzero_bits_for_combine): Likewise for tem.
1379
1380 2015-04-27  Eric Botcazou  <ebotcazou@adacore.com>
1381
1382         * stor-layout.c (self_referential_component_ref_p): New predicate.
1383         (copy_self_referential_tree_r): Use it.
1384         (self_referential_size): Punt for simple operations directly involving
1385         self-referential component references.
1386         * tree-cfg.c (dump_function_to_file): Add missing final curly bracket.
1387
1388 2015-04-27  Eric Botcazou  <ebotcazou@adacore.com>
1389
1390         * ipa-icf.c (icf_handled_component_p): Remove redundant tests.
1391
1392 2015-04-27  Richard Sandiford  <richard.sandiford@arm.com>
1393
1394         * vec.h (vec): Make splice arguments const.  Update definitions
1395         accordingly.
1396
1397 2015-04-27  Yvan Roux  <yvan.roux@linaro.org>
1398
1399         * config/arm/arm.md (*arm_subsi3_insn): Fixed redundant
1400         alternatives.
1401
1402 2015-04-26  Tom de Vries  <tom@codesourcery.com>
1403
1404         PR tree-optimization/65826
1405         * internal-fn.def: Mark VA_ARG with ECF_LEAF.
1406
1407 2015-04-24  Steve Ellcey  <sellcey@imgtec.com>
1408
1409         * config/mips/mips.md: (*madd4<mode>) Remove accum_in attribute.
1410         (*madd3<mode>): Ditto.
1411         (*msub4<mode>): Ditto.
1412         (*msub3<mode>): Ditto.
1413         (*nmadd4<mode>): Ditto.
1414         (*nmadd3<mode>): Ditto.
1415         (*nmadd4<mode>_fastmath): Ditto.
1416         (*nmadd3<mode>_fastmath): Ditto.
1417         (*nmsub4<mode>): Ditto.
1418         (*nmsub3<mode>): Ditto.
1419         (*nmsub4<mode>_fastmath): Ditto.
1420         (*nmsub3<mode>_fastmath): Ditto.
1421
1422 2015-04-24  Jason Merrill  <jason@redhat.com>
1423
1424         PR c++/50800
1425         * tree.c (build_reference_type_for_mode): Don't pass can_alias_all
1426         down when building TYPE_CANONICAL.
1427         (build_pointer_type_for_mode): Likewise.
1428
1429 2015-04-24  Chen Gang  <gang.chen.5i5j@gmail.com>
1430
1431         * genrecog.c (validate_pattern): Check matching constraint refers
1432         to a lower numbered operand.
1433
1434 2015-04-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
1435
1436         PR target/65849
1437         * config/rs6000/rs6000.opt (-mvsx-align-128): Make options that
1438         save to independent variables use the Save attribute.  This will
1439         allow these options to be modified with the #pragma/attribute
1440         target support.
1441         (-mallow-movmisalign): Likewise.
1442         (-mallow-df-permute): Likewise.
1443         (-msched-groups): Likewise.
1444         (-malways-hint): Likewise.
1445         (-malign-branch-targets): Likewise.
1446         (-mvectorize-builtins): Likewise.
1447         (-msave-toc-indirect): Likewise.
1448
1449         * config/rs6000/rs6000.c (rs6000_opt_masks): Add more options that
1450         can be set via the #pragma/attribute target support.
1451         (rs6000_opt_vars): Likewise.
1452         (rs6000_inner_target_options): If VSX was set, also set
1453         -mno-avoid-indexed-addresses.
1454
1455 2015-04-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1456
1457         * config/arm/iterators.md (shiftable_ops): Rename to...
1458         (SHIFTABLE_OPS): ... This.  Update use in comments.
1459         (ior_xor): Rename to...
1460         (IOR_XOR): ... This.
1461         (vqh_ops): Rename to...
1462         (VQH_OPS): ... This.
1463         (vqhs_ops): Rename to...
1464         (VQHS_OPS): ... This.
1465         (rshifts): Rename to...
1466         (RSHIFTS): ... This.
1467         (returns): Rename to...
1468         (RETURNS): ... This.
1469         * config/arm/arm.md: Update uses of the above.
1470         * config/arm/neon.md: Likewise.
1471
1472 2014-04-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1473
1474         * config.host (case ${host}): Add aarch64*-*-linux case.
1475         * config/aarch64/aarch64-cores.def: Add IMPLEMENTER_ID and PART_NUMBER
1476         fields to all the cores.
1477         * config/aarch64/aarch64-elf.h (DRIVER_SELF_SPECS):
1478         Add MCPU_MTUNE_NATIVE_SPECS.
1479         * config/aarch64/aarch64-option-extensions.def: Add FEATURE_STRING
1480         field to all extensions.
1481         * config/aarch64/aarch64-opts.h: Adjust definition of AARCH64_CORE.
1482         * config/aarch64/aarch64.c: Adjust definition of AARCH64_CORE.
1483         Adjust definition of AARCH64_OPT_EXTENSION.
1484         * config/aarch64/aarch64.h: Adjust definition of AARCH64_CORE.
1485         (MCPU_MTUNE_NATIVE_SPECS): Define.
1486         * config/aarch64/driver-aarch64.c: New file.
1487         * config/aarch64/x-arch64: New file.
1488         * doc/invoke.texi (AArch64 Options): Document native value for -mcpu,
1489         -mtune and -march.
1490
1491 2015-04-24  Uros Bizjak  <ubizjak@gmail.com>
1492             Wei Mi  <wmi@google.com>
1493
1494         * config/i386/i386-protos.h (ix86_operands_ok_for_move_multiple): New.
1495         * config/i386/i386.c (extract_base_offset_in_addr): New function.
1496         (ix86_operands_ok_for_move_multiple): Ditto.
1497         * config/i386/sse.md (movsd/movhpd to movupd peephole2): New pattern.
1498         (movlpd/movhpd to movupd peephole2): Ditto.
1499
1500 2015-04-24  Marek Polacek  <polacek@redhat.com>
1501
1502         PR c/61534
1503         * input.h (from_macro_expansion_at): Define.
1504
1505         PR c/63357
1506         * doc/invoke.texi: Update description of -Wlogical-op.
1507
1508 2015-04-24  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1509
1510         * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): fix
1511         ternary operator in fprintf and harmonize spacing.
1512
1513 2015-04-24  Uros Bizjak  <ubizjak@gmail.com>
1514
1515         * config/i386/sse.md (*vec_widen_smult_even_v8si<mask_name>):
1516         Mark operand1 commutative.
1517
1518 2015-04-24  Uros Bizjak  <ubizjak@gmail.com>
1519
1520         * config/i386/sse.md (*vec_concatv2sf_sse4_1): Do not allow both
1521         input operands in memory.
1522         (*vec_concatv2si_sse4_1): Ditto.
1523         (*vec_concatv2df): Ditto, except for SSE3 and equal input operands.
1524         (vec_extract_lo_<mode><mask_name>): Change operand 1 predicate to
1525         register_operand.
1526         (vec_extract_hi_v32hi): Ditto.
1527         (vec_extract_hi_v64hi): Ditto.
1528         (<mask_codefor>avx512f_unpckhpd512<mask_name>): Ditto.
1529
1530 2015-04-24  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1531             Steven Bosscher <steven@gcc.gnu.org>
1532
1533         PR rtl-optimization/34503
1534         * cprop.c (cprop_reg_p): New.
1535         (hash_scan_set): Use above function to check if register can be
1536         propagated.
1537         (find_avail_set): Return up to two sets, one whose source is a
1538         register and one whose source is a constant.  Sets are returned in an
1539         array passed as parameter rather than as a return value.
1540         (cprop_insn): Use a do while loop rather than a goto.  Try each of the
1541         sets returned by find_avail_set, starting with the one whose source is
1542         a constant. Use cprop_reg_p to check if register can be propagated.
1543         (do_local_cprop): Use cprop_reg_p to check if register can be
1544         propagated.
1545         (implicit_set_cond_p): Likewise.
1546
1547 2015-04-23  Jan Hubicka  <hubicka@ucw.cz>
1548
1549         * ipa-icf.c (sem_function::equals_wpa): Compare thunk info.
1550         (sem_function::equals): IGNORED_NODES parameter is now unused;
1551         update call of equals_private.
1552         (sem_function::equals_private): Do not call equals_wpa; skip
1553         gimple body matching if there is no body.
1554         (sem_function::init): Add logic to hash tthunk info.
1555         (sem_function::parse): Also parse thunks.
1556         * ipa-icf.h (equals_private): Update declaration.
1557
1558 2015-04-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1559
1560         * config/rs6000/altivec.md (*altivec_lvx_<mode>_internal): Remove
1561         asterisk from name so this can be generated directly.
1562         (*altivec_stvx_<mode>_internal): Likewise.
1563         * config/rs6000/rs6000.c (rs6000_emit_le_vsx_store): Add assert
1564         that this is never called during or after reload/lra.
1565         (rs6000_frame_related): Remove split_reg
1566         argument and logic that references it.
1567         (emit_frame_save): Remove last parameter from call to
1568         rs6000_frame_related.
1569         (rs6000_emit_prologue): Remove last parameter from eight calls to
1570         rs6000_frame_related.  Force generation of stvx instruction for
1571         Altivec register saves.  Remove split_reg handling, which is no
1572         longer needed.
1573         (rs6000_emit_epilogue):  Force generation of lvx instruction for
1574         Altivec register restores.
1575
1576 2015-04-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1577
1578         * config/rs6000/rs6000.opt (mcrypto): Change option description to
1579         match category changes in ISA 2.07B.
1580
1581 2015-04-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1582
1583         * config/arm/iterators.md (GTGE, GTUGEU, COMPARISONS): New code
1584         iterators.
1585         (cmp_op, cmp_type): New code attributes.
1586         (NEON_VCMP, NEON_VACMP): New int iterators.
1587         (cmp_op_unsp): New int attribute.
1588         * config/arm/neon.md (neon_vc<cmp_op><mode>): New define_expand.
1589         (neon_vceq<mode>): Delete.
1590         (neon_vc<cmp_op><mode>_insn): New pattern.
1591         (neon_vc<cmp_op_unsp><mode>_insn_unspec): Likewise.
1592         (neon_vcgeu<mode>): Delete.
1593         (neon_vcle<mode>): Likewise.
1594         (neon_vclt<mode>: Likewise.
1595         (neon_vcage<mode>): Likewise.
1596         (neon_vcagt<mode>): Likewise.
1597         (neon_vca<cmp_op><mode>): New define_expand.
1598         (neon_vca<cmp_op><mode>_insn): New pattern.
1599         (neon_vca<cmp_op_unsp><mode>_insn_unspec): Likewise.
1600
1601 2015-04-23  Jan Hubicka  <hubicka@ucw.cz>
1602
1603         * tree.h (attribute_value_equal): Declare.
1604         * tree.c (attribute_value_equal): Export.
1605
1606 2015-04-23  Jan Hubicka  <hubicka@ucw.cz>
1607
1608         * ipa-icf.c (sem_item::compare_attributes): New function.
1609         (sem_item::compare_referenced_symbol_properties): Compare variable
1610         attributes.
1611         (sem_item::hash_referenced_symbol_properties): Record DECL_ALIGN.
1612         (sem_function::param_used_p): New function.
1613         (sem_function::equals_wpa): Fix attribute comparsion; match
1614         parameter type codes; do not compare paremter flags when
1615         they are not used; compare edge flags; compare indirect calls.
1616         (sem_item::update_hash_by_addr_refs): Hash reference type.
1617         (sem_function::equals_private): Do not match DECL_ATTRIBUTES.
1618         (sem_variable::equals_wpa): Do not match DECL_ALIGN; match
1619         reference use type.
1620         (sem_item_optimizer::update_hash_by_addr_refs): Use param_used_p.
1621         * ipa-icf.h (compare_attributes, param_used_p): Declare.
1622
1623 2015-04-23  Jan Hubicka  <hubicka@ucw.cz>
1624
1625         * ipa-icf.c (symbol_compare_collection::symbol_compare_collection):
1626         cleanup.
1627         (sem_function::get_hash): Do not hash DECL_DISREGARD_INLINE_LIMITS,
1628         DECL_DECLARED_INLINE_P and DECL_IS_OPERATOR_NEW.
1629         (sem_item::compare_referenced_symbol_properties): New.
1630         (sem_item::hash_referenced_symbol_properties): New.
1631         (sem_item::compare_cgraph_references): Rename to ...
1632         (sem_item::compare_symbol_references): ... this one; use
1633         compare_referenced_symbol_properties.
1634         (sem_function::equals_wpa): Do not compare
1635         DECL_DISREGARD_INLINE_LIMITS, DECL_DECLARED_INLINE_P,
1636         DECL_IS_OPERATOR_NEW; compare pointer sizes.
1637         (sem_item::update_hash_by_addr_refs): Call
1638         hash_referenced_symbol_properties.
1639         (sem_item::update_hash_by_local_refs): Cleanup.
1640         (sem_function::merge): Do not mix up symbol properties.
1641         (sem_variable::equals_wpa): Use compare_symbol_references.
1642         * ipa-icf.h (sem_item::compare_referenced_symbol_properties): New.
1643         (sem_item::hash_referenced_symbol_properties): New.
1644         (sem_item::compare_symbol_references): New.
1645         (sem_item::compare_cgraph_references): Remove.
1646
1647 2015-04-23  Kwok Cheung Yeung  <kcy@codesourcery.com>
1648
1649         PR target/26702
1650         * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL):
1651         Emit size of local.
1652
1653 2015-04-23  Nick Clifton  <nickc@redhat.com>
1654
1655         * config/rl78/rl78.c (rl78_preferred_reload_class): Add
1656         ATTRIBUTE_UNUSED to x parameter.
1657         * config/rl78/rl78-opts.h (enum rl78_mul_types): Remove unused MUL_RL78.
1658
1659 2015-04-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1660
1661         * config/rs6000/crypto.md (crypto_vpmsum<CR_char>): Change
1662         TARGET_CRYPTO to TARGET_P8_VECTOR>
1663         (crypto_vpermxor_<mode>): Likewise.
1664         * config/rs6000/rs6000-builtin.def (BU_CRYPTO_2A): New #define.
1665         (BU_CRYPTO_3A): Likewise.
1666         (BU_CRYPTO_OVERLOAD_2A): Rename from BU_CRYPTO_OVERLOAD_2.
1667         (BU_CRYPTO_OVERLOAD_3A): New #define.
1668         (VPMSUMB): Change from BU_CRYPTO_2 to BU_CRYPTO_2A.
1669         (VPMSUMH): Likewise.
1670         (VPMSUMW): Likewise.
1671         (VPMSUMD): Likewise.
1672         (VPERMXOR_V2DI): Change from BU_CRYPTO_3 to BU_CRYPTO_3A.
1673         (VPERMXOR_V4SI): Likewise.
1674         (VPERMXOR_V8HI): Likewise.
1675         (VPERMXOR_V16QI): Likewise.
1676         (VPMSUM): Change from BU_CRYPTO_OVERLOAD_2 to
1677         BU_CRYPTO_OVERLOAD_2A.
1678         (VPERMXOR): Change from BU_CRYPTO_OVERLOAD3 to
1679         BU_CRYPTO_OVERLOAD_3A.
1680         * config/rs6000/rs6000.opt (mcrypto): Change description of
1681         option.
1682
1683 2015-04-23  Richard Biener  <rguenther@suse.de>
1684
1685         * passes.def: Remove copy propagation passes run directly after CCP.
1686         * tree-ssa-ccp.c (get_value_for_expr): Fall back to a COPY for
1687         SSA names.
1688         (ccp_visit_phi_node): Rework to handle first executable edge
1689         specially.
1690
1691 2015-04-23  Matthew Wahab  <matthew.wahab@arm.com>
1692
1693         * config/arm/arm.h (LEGITIMIZE_RELOAD_ADDRESS): Remove.
1694         (ARM_LEGITIMIZE_RELOAD_ADDRESS): Remove.
1695         (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Remove.
1696         * config/arm/arm.c (arm_legimitimize_reload_address): Remove.
1697         (thumb_legimitimize_reload_address): Remove.
1698         * config/arm/arm-protos.h (arm_legimitimize_reload_address):
1699         Remove.
1700         (thumb_legimitimize_reload_address): Remove.
1701
1702 2015-04-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1703
1704         * conditions.h (CC_STATUS_INIT): Gate on #ifndef CC_STATUS_INIT.
1705
1706 2015-04-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1707
1708         * config/arm/arm.md (load_multiple): Reject operand 2 greater than
1709         MAX_LDM_STM_OPS.
1710         (store_multiple): Likewise.
1711
1712 2015-04-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1713
1714         * config/arm/arm-protos.h (struct tune_params): Add issue_rate field.
1715         * config/arm/arm.c (arm_slowmul_tune, arm_fastmul_tune,
1716         arm_strongarm_tune, arm_xscale_tune, arm_9e_tune, arm_v6t2_tune,
1717         arm_cortex_tune, arm_cortex_a8_tune, arm_cortex_a7_tune,
1718         arm_cortex_a15_tune, arm_cortex_a53_tune, arm_cortex_a57_tune,
1719         arm_cortex_a9_tune, arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune,
1720         arm_fa726te_tune arm_cortex_a5_tune, arm_xgene1_tune):
1721         Specify issue_rate value.
1722         (arm_issue_rate): Look up issue rate from tuning structs. Remove
1723         large switch statement.
1724         (arm_marvell_pj4_tune): New struct.
1725         * config/arm/arm-cores.def (marvell-pj4): Use arm_marvell_pj4_tune
1726         struct.
1727
1728 2015-04-23  Richard Biener  <rguenther@suse.de>
1729
1730         * tree-vect-slp.c (vect_find_first_load_in_slp_instance): Remove.
1731         (vect_find_last_store_in_slp_instance): Rename to ...
1732         (vect_find_last_scalar_stmt_in_slp): ... this and generalize.
1733         (vect_analyze_slp_cost_1): Use vector_load for constant defs
1734         and vec_construct for external defs when estimating prologue cost.
1735         (vect_analyze_slp_instance): Do not init SLP_INSTANCE_FIRST_LOAD_STMT.
1736         Compute costs here only when vectorizing loops.
1737         (vect_slp_analyze_bb_1): Compute SLP cost here, after vector types
1738         have been determined.
1739         (vect_schedule_slp_instance): Simplify vectorized code placement
1740         and prepare for in-BB external defs.
1741         * tree-vectorizer.h (struct _slp_instance): Remove first_load member.
1742         (SLP_INSTANCE_FIRST_LOAD_STMT): Remove.
1743         * tree-vect-stmts.c (vect_model_store_cost): Remove PURE_SLP_STMT
1744         guard.
1745         (vect_model_load_cost): Likewise.
1746         (vectorizable_store): Instead add it here.
1747         (vectorizable_load): Likewise.
1748         (vect_is_simple_use): Dump def type textually.
1749
1750 2015-04-23  Richard Biener  <rguenther@suse.de>
1751
1752         * cfgexpand.c (expand_gimple_stmt_1): Use ops.code.
1753         * cfgloop.c (verify_loop_structure): Verify the root loop node.
1754         * except.c (duplicate_eh_regions): Call get_eh_region_from_lp_number_fn
1755         instead of get_eh_region_from_lp_number.
1756         * loop-init.c (fix_loop_structure): If we removed a loop, reset
1757         the SCEV cache.
1758
1759 2015-04-23  Anton Blanchard  <anton@samba.org>
1760
1761         * config/rs6000/rs6000.c (rs6000_output_function_prologue): No
1762         need for -mprofile-kernel to save LR to stack.
1763
1764 2015-04-22  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1765
1766         * config/rs6000/rs6000.c (rtx_is_swappable_p): Commentary
1767         adjustments.
1768         (insn_is_swappable_p): Return 1 for a convert from double to
1769         single precision when all of its uses are splats of BE element
1770         zero.
1771
1772 2015-04-23  Kugan Vivekanandarajah  <kuganv@linaro.org>
1773
1774         * ira-costs.c (record_operand_costs): Fix typo (remove redundant code).
1775
1776 2015-04-22  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1777
1778         PR target/65456
1779         * config/rs6000/rs6000.c (rs6000_option_override_internal):  For
1780         VSX + POWER8, enable TARGET_ALLOW_MOVMISALIGN and
1781         TARGET_EFFICIENT_UNALIGNED_VSX if not selected by command line
1782         option.
1783         (rs6000_builtin_mask_for_load): Return 0 for targets with
1784         efficient unaligned VSX accesses so that the vectorizer will use
1785         direct unaligned loads.
1786         (rs6000_builtin_support_vector_misalignment): Always return true
1787         for targets with efficient unaligned VSX accesses.
1788         (rs6000_builtin_vectorization_cost): Cost of unaligned loads and
1789         stores on targets with efficient unaligned VSX accesses is almost
1790         always the same as the cost of an aligned load or store, so model
1791         it that way.
1792         * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Return 0 for
1793         unaligned vectors if we have efficient unaligned VSX accesses.
1794         * config/rs6000/rs6000.opt (mefficient-unaligned-vector): New
1795         undocumented option.
1796
1797 2015-04-22  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1798
1799         Revert:
1800         2015-04-22  Gregor Richards  <gregor.richards@uwaterloo.ca>
1801
1802         * config.gcc (LIBC_MUSL): New tm_defines macro.
1803         * config/linux.h (OPTION_MUSL): Define.
1804         (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
1805         (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
1806         (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
1807
1808         * config/linux.opt (mmusl): New option.
1809         * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
1810         (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.
1811
1812         * configure: Regenerate.
1813
1814 2015-04-22  Gregor Richards  <gregor.richards@uwaterloo.ca>
1815
1816         * config.gcc (LIBC_MUSL): New tm_defines macro.
1817         * config/linux.h (OPTION_MUSL): Define.
1818         (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
1819         (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
1820         (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
1821
1822         * config/linux.opt (mmusl): New option.
1823         * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
1824         (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.
1825
1826         * configure: Regenerate.
1827
1828 2015-04-22  Yury Gribov  <y.gribov@samsung.com>
1829
1830         * doc/invoke.texi (-fsanitize-sections): Update description.
1831         * asan.c (set_sanitized_sections): Parse incoming arg.
1832         (section_sanitized_p): Support wildcards.
1833
1834 2015-04-22  Tom de Vries  <tom@codesourcery.com>
1835
1836         PR tree-optimization/65823
1837         * gimplify.c (gimplify_modify_expr): Use operand_equal_p to test for
1838         equality between ap_copy and ap.
1839
1840 2015-04-22  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
1841
1842         PR target/47098
1843         * config/openbsd-oldgas.h (OBSD_LIB_SPEC): Add.
1844
1845 2015-04-22  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
1846
1847         PR target/47122
1848         * config.gcc (vax-*-openbsd*): Fix name of pthread spec header.
1849
1850 2015-04-22  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
1851
1852         PR target/55144
1853         * config.gcc (bfin*-linux-uclibc*): Prepend tmake_file and
1854         remove already contained t-files.
1855
1856 2015-04-22  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
1857
1858         * tree-tailcall.c (suitable_for_tail_opt_p, find_tail_calls):
1859         Remove unneeded forward declarations.
1860         (suitable_for_tail_call_opt_p): Commentary typo fix.
1861
1862 2015-04-22  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
1863
1864         * varasm.c (emit_bss): Remove redundant guard.
1865
1866 2015-04-22  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
1867
1868         * config/c6x/c6x.h (TARGET_CPU_CPP_BUILTINS): Add unk_isa.
1869
1870 2015-04-22  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
1871
1872         * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Add BFIN_CPU_UNKNOWN.
1873
1874 2015-04-22  Hale Wang  <hale.wang@arm.com>
1875             Terry Guo  <terry.guo@arm.com>
1876
1877         PR rtl-optimization/64818
1878         * combine.c (can_combine_p): Don't combine user-specified
1879         register if it is in an asm input.
1880
1881 2015-04-21  Jan Hubicka  <hubicka@ucw.cz>
1882
1883         PR ipa/65076
1884         * passes.def (early_optimizations): Add pass_dse.
1885
1886 2015-04-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
1887
1888         * defaults.h (INSN_REFERENCES_ARE_DELAYED): New definition.
1889         * reorg.c (redundant_insn): Remove ifdef
1890         INSN_REFERENCES_ARE_DELAYED.
1891         * resource.c (mark_referenced_resources): Likewise.
1892
1893 2015-04-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
1894
1895         * defaults.h (INSN_SETS_ARE_DELAYED): New definition.
1896         * reorg.c (redundant_insn): Remove ifdef INSN_SETS_ARE_DELAYED.
1897         * resource.c (mark_set_resources): Likewise.
1898
1899 2015-04-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
1900
1901         * caller-save.c (insert_one_insn): Remove ifdef HAVE_cc0.
1902         * cfgcleanup.c (flow_find_cross_jump): Likewise.
1903         (flow_find_head_matching_sequence): Likewise.
1904         (try_head_merge_bb): Likewise.
1905         * combine.c (can_combine_p): Likewise.
1906         (try_combine): Likewise.
1907         (distribute_notes): Likewise.
1908         * df-problems.c (can_move_insns_across): Likewise.
1909         * final.c (final): Likewise.
1910         * gcse.c (insert_insn_end_basic_block): Likewise.
1911         * ira.c (find_moveable_pseudos): Likewise.
1912         * reorg.c (try_merge_delay_insns): Likewise.
1913         (fill_simple_delay_slots): Likewise.
1914         (fill_slots_from_thread): Likewise.
1915         * sched-deps.c (sched_analyze_2): Likewise.
1916
1917 2015-04-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
1918
1919         * df-scan.c (df_get_entry_block_def_set): Remove #ifdef
1920         PIC_OFFSET_TABLE_REGNUM.
1921
1922 2015-04-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
1923
1924         * alias.c (init_alias_target): Remove ifdef
1925         * HARD_FRAME_POINTER_IS_FRAME_POINTER.
1926         * df-scan.c (df_insn_refs_collect): Likewise.
1927         (df_get_regular_block_artificial_uses): Likewise.
1928         (df_get_eh_block_artificial_uses): Likewise.
1929         (df_get_entry_block_def_set): Likewise.
1930         (df_get_exit_block_use_set): Likewise.
1931         * emit-rtl.c (gen_rtx_REG): Likewise.
1932         * ira.c (ira_setup_eliminable_regset): Likewise.
1933         * reginfo.c (init_reg_sets_1): Likewise.
1934         * regrename.c (rename_chains): Likewise.
1935         * reload1.c (reload): Likewise.
1936         (eliminate_regs_in_insn): Likewise.
1937         * resource.c (mark_referenced_resources): Likewise.
1938         (init_resource_info): Likewise.
1939
1940 2015-04-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
1941
1942         * defaults.h (MASK_RETURN_ADDR): New definition.
1943         * except.c (expand_builtin_extract_return_addr): Remove ifdef
1944         MASK_RETURN_ADDR.
1945
1946 2015-04-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
1947
1948         * defaults.h (RETURN_ADDR_OFFSET): New definition.
1949         * except.c (expand_builtin_extract_return_addr): Remove ifdef
1950         RETURN_ADDR_OFFSET.
1951         (expand_builtin_frob_return_addr): Likewise.
1952
1953 2015-04-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
1954
1955         * cfgrtl.c (rtl_merge_blocks): Change #if HAVE_cc0 to if (HAVE_cc0)
1956         (try_redirect_by_replacing_jump): Likewise.
1957         (rtl_tidy_fallthru_edge): Likewise.
1958         * combine.c (insn_a_feeds_b): Likewise.
1959         (find_split_point): Likewise.
1960         (simplify_set): Likewise.
1961         * cprop.c (cprop_jump): Likewise.
1962         * cse.c (cse_extended_basic_block): Likewise.
1963         * df-problems.c (can_move_insns_across): Likewise.
1964         * function.c (emit_use_return_register_into_block): Likewise.
1965         * haifa-sched.c (sched_init): Likewise.
1966         * ira.c (find_moveable_pseudos): Likewise.
1967         * loop-invariant.c (find_invariant_insn): Likewise.
1968         * lra-constraints.c (curr_insn_transform): Likewise.
1969         * postreload.c (reload_combine_recognize_const_pattern):
1970         * Likewise.
1971         * reload.c (find_reloads): Likewise.
1972         * reorg.c (delete_scheduled_jump): Likewise.
1973         (steal_delay_list_from_target): Likewise.
1974         (steal_delay_list_from_fallthrough): Likewise.
1975         (redundant_insn): Likewise.
1976         (fill_simple_delay_slots): Likewise.
1977         (fill_slots_from_thread): Likewise.
1978         (delete_computation): Likewise.
1979         * sched-rgn.c (add_branch_dependences): Likewise.
1980
1981 2015-04-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
1982
1983         * genconfig.c (main): Always define HAVE_cc0.
1984         * caller-save.c (insert_one_insn): Change ifdef HAVE_cc0 to #if
1985         HAVE_cc0.
1986         * cfgcleanup.c (flow_find_cross_jump): Likewise.
1987         (flow_find_head_matching_sequence): Likewise.
1988         (try_head_merge_bb): Likewise.
1989         * cfgrtl.c (rtl_merge_blocks): Likewise.
1990         (try_redirect_by_replacing_jump): Likewise.
1991         (rtl_tidy_fallthru_edge): Likewise.
1992         * combine.c (do_SUBST_MODE): Likewise.
1993         (insn_a_feeds_b): Likewise.
1994         (combine_instructions): Likewise.
1995         (can_combine_p): Likewise.
1996         (try_combine): Likewise.
1997         (find_split_point): Likewise.
1998         (subst): Likewise.
1999         (simplify_set): Likewise.
2000         (distribute_notes): Likewise.
2001         * cprop.c (cprop_jump): Likewise.
2002         * cse.c (cse_extended_basic_block): Likewise.
2003         * df-problems.c (can_move_insns_across): Likewise.
2004         * final.c (final): Likewise.
2005         (final_scan_insn): Likewise.
2006         * function.c (emit_use_return_register_into_block): Likewise.
2007         * gcse.c (insert_insn_end_basic_block): Likewise.
2008         * haifa-sched.c (sched_init): Likewise.
2009         * ira.c (find_moveable_pseudos): Likewise.
2010         * loop-invariant.c (find_invariant_insn): Likewise.
2011         * lra-constraints.c (curr_insn_transform): Likewise.
2012         * optabs.c (prepare_cmp_insn): Likewise.
2013         * postreload.c (reload_combine_recognize_const_pattern):
2014         * Likewise.
2015         * reload.c (find_reloads): Likewise.
2016         (find_reloads_address_1): Likewise.
2017         * reorg.c (delete_scheduled_jump): Likewise.
2018         (steal_delay_list_from_target): Likewise.
2019         (steal_delay_list_from_fallthrough): Likewise.
2020         (try_merge_delay_insns): Likewise.
2021         (redundant_insn): Likewise.
2022         (fill_simple_delay_slots): Likewise.
2023         (fill_slots_from_thread): Likewise.
2024         (delete_computation): Likewise.
2025         (relax_delay_slots): Likewise.
2026         * sched-deps.c (sched_analyze_2): Likewise.
2027         * sched-rgn.c (add_branch_dependences): Likewise.
2028
2029 2015-04-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
2030
2031         * combine.c (find_single_use): Remove HAVE_cc0 ifdef for code
2032         that is trivially ded on non cc0 targets.
2033         (simplify_set): Likewise.
2034         (mark_used_regs_combine): Likewise.
2035         * cse.c (new_basic_block): Likewise.
2036         (fold_rtx): Likewise.
2037         (cse_insn): Likewise.
2038         (cse_extended_basic_block): Likewise.
2039         (set_live_p): Likewise.
2040         * rtlanal.c (canonicalize_condition): Likewise.
2041         * simplify-rtx.c (simplify_binary_operation_1): Likewise.
2042
2043 2015-04-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
2044
2045         * conditions.h: Define macros even if HAVE_cc0 is undefined.
2046         * emit-rtl.c: Define functions even if HAVE_cc0 is undefined.
2047         * final.c: Likewise.
2048         * jump.c: Likewise.
2049         * recog.c: Likewise.
2050         * recog.h: Declare functions even when HAVE_cc0 is undefined.
2051         * sched-deps.c (sched_analyze_2): Always compile case for cc0.
2052
2053 2015-04-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
2054
2055         * defaults.h: New definition of EH_RETURN_DATA_REGNO.
2056         * except.c: Remove definition of EH_RETURN_DATA_REGNO.
2057         * builtins.c (expand_builtin): Remove check if
2058         EH_RETURN_DATA_REGNO is defined.
2059         * df-scan.c (df_bb_refs_collect): Likewise.
2060         (df_get_exit_block_use_set): Likewise.
2061         * haifa-sched.c (initiate_bb_reg_pressure_info): Likewise.
2062         * ira-lives.c (process_bb_node_lives): Likewise.
2063         * lra-lives.c (process_bb_lives): Likewise.
2064
2065 2015-04-21  Uros Bizjak  <ubizjak@gmail.com>
2066
2067         * config/i386/i386.md (ARGP_REG, FRAME_REG, BND2_REG, BND3_REG,
2068         FIRST_PSEUDO_REG): New.
2069         * config/i386/i386.h (STACK_POINTER_REGNUM): Define to SP_REG.
2070         (ARG_POINTER_REGNUM): Define to ARGP_REG.
2071         (FRAME_POINTER_REGNUM): Define to FRAME_REG.
2072         (HARD_FRAME_POINTER_REGNUM): Define to BP_REG.
2073         (FIRST_PSEUDO_REGISTER): Define to FIRST_PSEUDO_REG.
2074         (FIRST_INT_REG): New.
2075         (LAST_INT_REG): New.
2076         (FIRST_*_REG): Define using *_REG.
2077         (LAST_*_REG): Ditto.
2078         (QI_REGNO_P): Define using FIRST_QU_REG and LAST_QI_REG.
2079         (LEGACY_INT_REGNO_P): Define using FIRST_INT_REG and LAST_INT_REG.
2080         (FIRST_FLOAT_REG): Define to FIRST_STACK_REG.
2081
2082 2015-04-21  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2083
2084         * expmed.c: (synth_mult): Only assume overlapping
2085         shift with previous steps in alg_sub_t_m2 case.
2086
2087 2015-04-21  Richard Biener  <rguenther@suse.de>
2088
2089         PR tree-optimization/65650
2090         * tree-ssa-ccp.c (valid_lattice_transition): Allow lattice
2091         transitions involving copies.
2092         (set_lattice_value): Adjust for copy lattice state.
2093         (ccp_lattice_meet): Do not merge UNDEFINED and a copy to the copy
2094         if that doesn't dominate the merge point.
2095         (bit_value_unop): Adjust what we treat as varying mask.
2096         (bit_value_binop): Likewise.
2097         (bit_value_assume_aligned): Likewise.
2098         (evaluate_stmt): When we simplified to a SSA name record a copy
2099         instead of dropping to varying.
2100         (visit_assignment): Simplify.
2101
2102         * gimple-match.h (gimple_simplify): Add another callback.
2103         * gimple-fold.c (fold_stmt_1): Adjust caller.
2104         (gimple_fold_stmt_to_constant_1): Likewise - pass valueize
2105         for the 2nd callback.
2106         * gimple-match-head.c (gimple_simplify): Add a callback that is
2107         used to valueize the stmt operands and use it that way.
2108
2109 2015-04-21  Richard Biener  <rguenther@suse.de>
2110
2111         PR tree-optimization/65788
2112         * tree-ssa-ccp.c (evaluate_stmt): Evaluate to UNDEFINED early.
2113
2114 2015-04-21  Richard Biener  <rguenther@suse.de>
2115
2116         * config/i386/i386.c (ix86_builtin_vectorization_cost): Scale
2117         vec_construct cost by vec_stmt_cost.
2118
2119 2015-04-21  Richard Biener  <rguenther@suse.de>
2120
2121         * cfghooks.h (create_basic_block): Replace with two overloads
2122         for RTL and GIMPLE.
2123         (split_block): Likewise.
2124         * cfghooks.c (split_block): Rename to ...
2125         (split_block_1): ... this.
2126         (split_block): Add two type-safe overloads for RTL and GIMPLE.
2127         (split_block_after_labels): Call split_block_1.
2128         (create_basic_block): Rename to ...
2129         (create_basic_block_1): ... this.
2130         (create_basic_block): Add two type-safe overloads for RTL and GIMPLE.
2131         (create_empty_bb): Call create_basic_block_1.
2132         * cfgrtl.c (fixup_fallthru_exit_predecessor): Use
2133         split_block_after_labels.
2134         * omp-low.c (expand_parallel_call): Likewise.
2135         (expand_omp_target): Likewise.
2136         (simd_clone_adjust): Likewise.
2137         * tree-chkp.c (chkp_get_entry_block): Likewise.
2138         * cgraphunit.c (init_lowered_empty_function): Use the GIMPLE
2139         create_basic_block overload.
2140         (cgraph_node::expand_thunk): Likewise.
2141         * tree-cfg.c (make_blocks): Likewise.
2142         (handle_abnormal_edges): Likewise.
2143         * tree-inline.c (copy_bb): Likewise.
2144
2145 2015-04-21  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2146
2147         * config/aarch64/aarch64.md (*<NLOGICAL:optab>_one_cmplsidi3_ze):
2148         New pattern.
2149         (*xor_one_cmplsidi3_ze): Likewise.
2150
2151 2015-04-21  Thomas Preud'homme  <thomas.preudhomme@arm.com>
2152
2153         * df-core.c (df_finish_pass): Iterate over df->problems_by_index[] and
2154         use df_remove_problem rather than manually removing problems, leaving
2155         holes in df->problems_in_order[].
2156
2157 2015-04-21  Tom de Vries  <tom@codesourcery.com>
2158
2159         PR tree-optimization/65802
2160         * internal-fn.def (VA_ARG): Add ECF_NOTROW to flags.
2161
2162 2015-04-21  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2163
2164         * common/config/aarch64/aarch64-common.c (AARCH64_CPU_NAME_LENGTH):
2165         Increase to 128.
2166         (aarch64_rewrite_selected_cpu): Do not chop off extensions starting
2167         at '.'.  Assert that there's enough space for everything.
2168
2169 2015-04-21  Uros Bizjak  <ubizjak@gmail.com>
2170
2171         PR tree-optimization/64950
2172         Revert:
2173         2010-08-02  Uros Bizjak  <ubizjak@gmail.com>
2174
2175         PR target/41089
2176         * config/alpha/alpha.c (alpha_build_builtin_va_list): Mark __offset
2177         as volatile.
2178
2179 2015-04-20  Shiva Chen  <shiva0217@gmail.com>
2180
2181         PR rtl-optimization/64916
2182         * cfgcleanup.c (values_equal_p): New function.
2183         (can_replace_by): Use it.
2184
2185 2015-04-20  Paolo Carlini  <paolo.carlini@oracle.com>
2186
2187         PR c++/65801
2188         * doc/invoke.texi ([-Wnarrowing]): Update.
2189
2190 2015-04-20  Jeff Law  <law@redhat.com>
2191
2192         PR tree-optimization/65658
2193         * tree-ssa-threadupdate.c (redirection_block_p): Remove
2194         redundant test for GIMPLE_ASSIGN in last change.
2195
2196 2015-04-20  Uros Bizjak  <ubizjak@gmail.com>
2197
2198         * config/i386/i386.c (set_pic_reg_ever_live): Remove.
2199         (legitimize_pic_address): Do not call set_pic_reg_ever_live.
2200         (legitimize_tls_address): Ditto.
2201         (ix86_expand_move): Ditto.
2202         (ix86_expand_binary_operator): Remove reload_in_progress checks.
2203         (ix86_expand_unary_operator): Ditto.
2204         * config/i386/predicates.md (index_register_operand): Ditto.
2205
2206 2015-04-20  Selim Belbachir  <selim.belbachir@fr.thalesgroup.com>
2207
2208         * reorg.c (try_merge_delay_insns): Improve correctness checking
2209         for targets with multiple delay slots.
2210
2211 2015-04-20  Jeff Law  <law@redhat.com>
2212
2213         PR tree-optimization/65658
2214         * tree-ssa-threadupdate.c (redirection_block_p): Ignore clobber
2215         statements too.
2216
2217 2015-04-20  Alan Lawrence  <alan.lawrence@arm.com>
2218
2219         * config/aarch64/aarch64.c (aarch64_simd_emit_pair_result_insn): Delete.
2220         * config/aarch64/aarch64-protos.h (aarch64_simd_emit_pair_result_insn):
2221         Delete.
2222
2223 2015-04-20  Jakub Jelinek  <jakub@redhat.com>
2224
2225         PR debug/65807
2226         * dwarf2out.c (add_AT_wide): Clear attr.dw_attr_val.val_entry.
2227
2228 2015-04-20  Richard Biener  <rguenther@suse.de>
2229
2230         * gimple-fold.h (gimple_build): Remove optional valueize arguments.
2231         * gimple-fold.c (gimple_build_valueize): New function.
2232         (gimple_build): Always use gimple_build_valueize as valueize hook.
2233
2234 2015-04-20  Alan Lawrence  <alan.lawrence@arm.com>
2235
2236         PR target/64134
2237         * config/aarch64/aarch64.c (aarch64_expand_vector_init): Load constant
2238         and overwrite variable parts if <= 1/2 the elements are variable.
2239
2240 2015-04-19  Vladimir Makarov  <vmakarov@redhat.com>
2241
2242         PR rtl-optimization/65805
2243         * lra-eliminations.c (lra_eliminate_regs_1): Add new assert.
2244         Don't use difference of offset and previous offset if
2245         update_sp_offset is non-zero.
2246         (eliminate_regs_in_insn): Ditto.
2247         * lra-spills.c (remove_pseudos): Exchange 4th and 6th args in
2248         lra_eliminate_regs_1 call.
2249         * lra-constraints.c (get_equiv_with_elimination): Ditto.
2250
2251 2015-04-18  Trevor Saunders  <tsaunders@mozilla.com>
2252
2253         * hash-table.h: Remove version of hash_table that stored value_type *.
2254         * asan.c, attribs.c, bitmap.c, cfg.c, cgraph.h, config/arm/arm.c,
2255         config/i386/winnt.c, config/ia64/ia64.c, config/mips/mips.c,
2256         config/sol2.c, coverage.c, cselib.c, dse.c, dwarf2cfi.c,
2257         dwarf2out.c, except.c, gcse.c, genmatch.c, ggc-common.c,
2258         gimple-ssa-strength-reduction.c, gimplify.c, haifa-sched.c,
2259         hard-reg-set.h, hash-map.h, hash-set.h, ipa-devirt.c, ipa-icf.h,
2260         ipa-profile.c, ira-color.c, ira-costs.c, loop-invariant.c,
2261         loop-iv.c, loop-unroll.c, lto-streamer.h, plugin.c, postreload-gcse.c,
2262         reginfo.c, statistics.c, store-motion.c, trans-mem.c, tree-cfg.c,
2263         tree-eh.c, tree-hasher.h, tree-into-ssa.c, tree-parloops.c,
2264         tree-sra.c, tree-ssa-coalesce.c, tree-ssa-dom.c, tree-ssa-live.c,
2265         tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-phiopt.c,
2266         tree-ssa-pre.c, tree-ssa-reassoc.c, tree-ssa-sccvn.c,
2267         tree-ssa-structalias.c, tree-ssa-tail-merge.c,
2268         tree-ssa-threadupdate.c, tree-vectorizer.c, tree-vectorizer.h,
2269         valtrack.h, var-tracking.c, vtable-verify.c, vtable-verify.h: Adjust.
2270
2271 2015-04-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
2272             Jakub Jelinek  <jakub@redhat.com>
2273
2274         PR target/65787
2275         * config/rs6000/rs6000.c (rtx_is_swappable_p): Ensure that a
2276         subsequent SH_NONE operand does not overwrite an existing *special
2277         value.
2278         (adjust_extract): Handle case where a vec_extract operation is
2279         wrapped in a PARALLEL.
2280
2281 2015-04-17  H.J. Lu  <hongjiu.lu@intel.com>
2282
2283         PR target/65780
2284         * config/i386/i386.c (ix86_binds_local_p): Define only if
2285         TARGET_MACHO and TARGET_DLLIMPORT_DECL_ATTRIBUTES are false.
2286
2287 2015-04-17  Jeff Law  <law@redhat.com>
2288
2289         PR tree-optimization/47679
2290         * Makefile.in (OBJS); Add tree-ssa-scopedtables.o.
2291         * tree-ssa-scopedtables.c: New file.
2292         * tree-ssa-scopedtables.h: New file.
2293         * tree-ssa-dom.c: Include tree-ssa-scopedtables.h.
2294         (const_and_copies): Change name/type.
2295         (record_const_or_copy): Move into tree-ssa-scopedtables.c
2296         (record_const_or_copy_1): Similarly.
2297         (restore_vars_to_original_value): Similarly.
2298         (pass_dominator::execute): Create and destroy const_and_copies table.
2299         (thread_across_edge): Update passing of const_and_copies.
2300         (record_temporary_equivalence): Use method calls rather than
2301         manipulating const_and_copies directly.
2302         (record_equality, cprop_into_successor_phis): Similarly.
2303         (dom_opt_dom_walker::before_dom_children): Similarly.
2304         (dom_opt_dom_walker::after_dom_children): Similarly.
2305         (eliminate_redundant_computations): Similarly.
2306         * tree-ssa-threadedge.c (remove_temporary_equivalences): Delete.
2307         (record_temporary_equivalence): Likewise.
2308         (invalidate_equivalences): Likewise.
2309         (record_temporary_equivalences_from_phis): Update due to type
2310         change of const_and_copies.  Use method calls rather than
2311         manipulating the stack directly.
2312         (record_temporary_equivalences_from_stmts_at_dest): Likewise.
2313         (thread_through_normal_block, thread_across_edge): Likewise.
2314         (thread_across_edge): Likewise.
2315         * tree-ssa-threadedge.h (thread_across_edge): Update prototype.
2316         * tree-vrp.c: Include tree-ssa-scopedtables.h.  Change type
2317         of equiv_stack.
2318         (identify_jump_threads): Update due to type change of equiv_stack.
2319         (finalize_jump_threads): Delete the equiv_stack when complete.
2320
2321 2015-04-17  Uros Bizjak  <ubizjak@gmail.com>
2322
2323         * config/i386/i386.h (LEGITIMIZE_RELOAD_ADDRESS): Remove.
2324         * config/i386/i386.c (ix86_legitimize_reload_address): Ditto.
2325         * config/i386/i386-protos.h (ix86_legitimize_reload_address): Ditto.
2326
2327 2015-04-17  Andreas Tobler  <andreast@gcc.gnu.org>
2328
2329         PR target/65535
2330         * config.gcc: Exit with a comment when we do not have a major version
2331         number for the FreeBSD target.
2332
2333 2015-04-17  Jakub Jelinek  <jakub@redhat.com>
2334
2335         PR target/65689
2336         * genpreds.c (struct constraint_data): Add maybe_allows_reg and
2337         maybe_allows_mem bitfields.
2338         (maybe_allows_none_start, maybe_allows_none_end,
2339         maybe_allows_reg_start, maybe_allows_reg_end, maybe_allows_mem_start,
2340         maybe_allows_mem_end): New variables.
2341         (compute_maybe_allows): New function.
2342         (add_constraint): Use it to initialize maybe_allows_reg and
2343         maybe_allows_mem fields.
2344         (choose_enum_order): Sort the non-is_register/is_const_int/is_memory/
2345         is_address constraints such that those that allow neither mem nor
2346         reg come first, then those that only allow reg but not mem, then
2347         those that only allow mem but not reg, then the rest.
2348         (write_allows_reg_mem_function): New function.
2349         (write_tm_preds_h): Call it.
2350         * stmt.c (parse_output_constraint, parse_input_constraint): Use
2351         the generated insn_extra_constraint_allows_reg_mem function
2352         instead of always setting *allows_reg = true; *allows_mem = true;
2353         for unknown extra constraints.
2354
2355 2015-04-17  H.J. Lu  <hongjiu.lu@intel.com>
2356
2357         PR target/65780
2358         * output.h (default_binds_local_p_3): New.
2359         * varasm.c (default_binds_local_p_3): Make it public.  Take an
2360         argument to indicate if common symbol may be local.  If common
2361         symbol may be local, treat non-external variable as defined
2362         locally.
2363         (default_binds_local_p_2): Pass !flag_pic to default_binds_local_p_3.
2364         (default_binds_local_p_1): Pass false to default_binds_local_p_3.
2365         * config/i386/i386.c (ix86_binds_local_p): New.
2366         (TARGET_BINDS_LOCAL_P): Replace default_binds_local_p_2 with
2367         ix86_binds_local_p.
2368
2369 2015-04-17  Jakub Jelinek  <jakub@redhat.com>
2370
2371         PR debug/65771
2372         * dwarf2out.c (mem_loc_descriptor): For CONST, fallback to
2373         trying mem_loc_descriptor on XEXP (rtl, 0).
2374
2375 2015-04-17  Martin Liska  <mliska@suse.cz>
2376
2377         * ipa-icf.c (sem_item_optimizer::subdivide_classes_by_sensitive_refs):
2378         Release symbol_compare_collection.
2379         * ipa-reference.c: Add TODO that a vector should be released.
2380
2381 2015-04-17  Sivanupandi Pitchumani <Pitchumani.Sivanupandi@atmel.com>
2382
2383         PR target/65296
2384         * config/avr/gen-avr-mmcu-specs.c (*avrlibc_startfile): Adjust
2385         to new AVR-LibC file layout (bug #44574).
2386         (*avrlibc_devicelib): Same.
2387         * config/avr/avr-mcus.def: Adjust comments.
2388         * config/avr/avr.opt (nodevicelib): Adjust help.
2389
2390 2015-04-17  Alan Lawrence  <alan.lawrence@arm.com>
2391
2392         * config/aarch64/arm_neon.h (vdup_n_f32): Remove forward declaration.
2393
2394 2015-04-17  Patrick Palka  <ppalka@gcc.gnu.org>
2395
2396         PR c++/64527
2397         * gimplify.c (gimplify_init_constructor): Always emit a
2398         side-effecting constructor.
2399
2400 2015-04-17  Tom de Vries  <tom@codesourcery.com>
2401
2402         PR tree-optimization/64950
2403         * gimplify.c (gimplify_function_tree): Tentatively set PROP_gimple_lva
2404         in cfun->curr_properties.
2405         (gimplify_va_arg_expr): Clear PROP_gimple_lva in cfun->curr_properties
2406         if we generate an IFN_VA_ARG.
2407         * tree-inline.c (expand_call_inline): Reset PROP_gimple_lva in dest
2408         function if PROP_gimple_lva is not set in src function.
2409
2410 2015-04-17  Tom de Vries  <tom@codesourcery.com>
2411             Michael Matz  <matz@suse.de>
2412
2413         PR tree-optimization/64950
2414         * gimple-iterator.c (update_modified_stmts): Remove static.
2415         * gimple-iterator.h (update_modified_stmts): Declare.
2416         * gimplify.c (gimplify_modify_expr): Handle IFN_VA_ARG.
2417         (gimplify_va_arg_internal): New function.
2418         (gimplify_va_arg_expr): Use IFN_VA_ARG.
2419         * gimplify.h (gimplify_va_arg_internal): Declare.
2420         * internal-fn.c (expand_VA_ARG): New unreachable function.
2421         * internal-fn.def (VA_ARG): New DEF_INTERNAL_FN.
2422         * tree-stdarg.c (gimple_call_ifn_va_arg_p, expand_ifn_va_arg_1)
2423         (expand_ifn_va_arg): New function.
2424         (pass_data_stdarg): Add PROP_gimple_lva to properties_provided field.
2425         (pass_stdarg::execute): Call expand_ifn_va_arg.
2426         (pass_data_lower_vaarg): New pass_data.
2427         (pass_lower_vaarg): New gimple_opt_pass.
2428         (pass_lower_vaarg::gate, pass_lower_vaarg::execute)
2429         (make_pass_lower_vaarg): New function.
2430         * cfgexpand.c (pass_data_expand): Add PROP_gimple_lva to
2431         properties_required field.
2432         * passes.def (all_passes): Add pass_lower_vaarg.
2433         * tree-pass.h (PROP_gimple_lva): Add define.
2434         (make_pass_lower_vaarg): Declare.
2435
2436 2015-04-17  Tom de Vries  <tom@codesourcery.com>
2437
2438         * fold-const.c (operand_equal_p): Handle INTERNAL_FNs.
2439         * calls.c (call_expr_flags): Same.
2440
2441 2015-04-17  Tom de Vries  <tom@codesourcery.com>
2442
2443         * tree-stdarg.c (optimize_va_list_gpr_fpr_size): Factor out of ...
2444         (pass_stdarg::execute): ... here.
2445
2446 2015-04-17  Tom de Vries  <tom@codesourcery.com>
2447             Michael Matz  <matz@suse.de>
2448
2449         * tree-cfg.c (make_blocks_1): Factor out of ...
2450         (make_blocks): ... here.
2451         (make_edges_bb): Factor out of ...
2452         (make_edges): ... here.
2453         (gimple_find_sub_bbs): New function.
2454         * tree-cfg.h (gimple_find_sub_bbs): Declare.
2455
2456 2015-04-17  Tom de Vries  <tom@codesourcery.com>
2457
2458         * tree.c (free_lang_data): Disable lang_hooks.gimplify_expr.
2459
2460 2015-04-17  Yury Gribov  <y.gribov@samsung.com>
2461
2462         * asan.c (set_sanitized_sections): New function.
2463         (section_sanitized_p): Ditto.
2464         (asan_protect_global): Optionally sanitize user-defined
2465         sections.
2466         * asan.h (set_sanitized_sections): Declare new function.
2467         * common.opt (fsanitize-sections): New option.
2468         * doc/invoke.texi (-fsanitize-sections): Document new option.
2469         * opts-global.c (handle_common_deferred_options): Handle new
2470         option.
2471
2472 2015-04-17  Jakub Jelinek  <jakub@redhat.com>
2473
2474         PR debug/65771
2475         * dwarf2out.c (loc_list_from_tree): Return NULL
2476         for DEBUG_EXPR_DECL.
2477
2478 2015-04-17  Christian Bruel  <christian.bruel@st.com>
2479
2480         * ipa-inline.c (can_inline_edge_p): Allow inlining of functions with
2481         same attributes.
2482
2483 2015-04-16  Zhouyi Zhou  <yizhouzhou@ict.ac.cn>
2484
2485         * ira-color.c (setup_left_conflict_sizes_p): Do not process
2486         node itself when computing left conflict subnode size.
2487
2488 2015-04-16  Uros Bizjak  <ubizjak@gmail.com>
2489
2490         * config/i386/predicates.md (register_mixssei387nonimm_operand): New.
2491         * config/i386/i386.md (*fop_<mode>_1_mixed): Merge with
2492         *fop_<mode>_1_sse using enabled attribute.  Use
2493         register_mixssei387nonimm_operand operand 1 predicate. Change
2494         alternative 3 constraints from "x" to "v".
2495
2496 2015-04-16  Richard Biener  <rguenther@suse.de>
2497
2498         PR tree-optimization/65774
2499         * tree-ssa-ccp.c (evaluate_stmt): Constrain types we invoke
2500         bit-value tracking on.
2501
2502 2015-04-16  Richard Biener  <rguenther@suse.de>
2503
2504         PR tree-optimization/64277
2505         * tree-vrp.c (check_array_ref): Fix anti-range handling,
2506         simplify upper bound handling.
2507         (search_for_addr_array): Simplify.
2508         (check_array_bounds): Handle ADDR_EXPRs here.
2509         (check_all_array_refs): Simplify.
2510
2511 2015-04-16  Uros Bizjak  <ubizjak@gmail.com>
2512
2513         * config/i386/i386.c (print_reg): Rewrite function.
2514
2515 2015-04-16  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2516
2517         * config/s390/s390.h (IRA_HARD_REGNO_ADD_COST_MULTIPLIER):
2518         Invert the condition.
2519
2520 2015-04-16  Renlin Li  <renlin.li@arm.com>
2521
2522         * simplify-rtx.c (simplify_unary_operation_1): Fix a typo. Enable two
2523         simplifications for UNSIGNED_FLOAT.
2524
2525 2015-04-16  Nick Clifton  <nickc@redhat.com>
2526
2527         * config/rl78/rl78-opts.h (enum rl78_mul_types): Add MUL_G14 and
2528         MUL_UNINIT.
2529         (enum rl78_cpu_type): New.
2530         * config/rl78/rl78-virt.md (attr valloc): Add divhi and divsi.
2531         (umulhi3_shift_virt): Remove m constraint from operand 1.
2532         (umulqihi3_virt): Likewise.
2533         * config/rl78/rl78.c (rl78_option_override): Add code to process
2534         -mcpu and -mmul options.
2535         (rl78_alloc_physical_registers): Add code to handle divhi and
2536         divsi valloc attributes.
2537         (set_origin): Likewise.
2538         * config/rl78/rl78.h (RL78_MUL_G14): Define.
2539         (TARGET_G10, TARGET_G13, TARGET_G14): Define.
2540         (TARGET_CPU_CPP_BUILTINS): Define __RL78_MUL_xxx__ and
2541         __RL78_Gxx__.
2542         (ASM_SPEC): Pass -mcpu on to assembler.
2543         * config/rl78/rl78.md (mulqi3): Add a clobber of AX.
2544         (mulqi3_rl78): Likewise.
2545         (mulhi3_g13): Likewise.
2546         (mulhi3): Generate the G13 or G14 versions of the insn directly.
2547         (mulsi3): Likewise.
2548         (mulhi3_g14): Add clobbers of AX and BC.
2549         (mulsi3_g14): Likewise.
2550         (mulsi3_g13): Likewise.
2551         (udivmodhi4, udivmodhi4_g14, udivmodsi4): New patterns.
2552         (udivmodsi4_g14, udivmodsi4_g13): New patterns.
2553         * config/rl78/rl78.opt (mmul): Initialise value to
2554         RL78_MUL_UNINIT.
2555         (mcpu): New option.
2556         (m13, m14, mrl78): New option aliases.
2557         * config/rl78/t-rl78 (MULTILIB_OPTIONS): Add mg13 and mg14.
2558         (MULTILIB_DIRNAMES): Add g13 and g14.
2559         * doc/invoke.texi: Document -mcpu and -mmul options.
2560
2561 2015-04-16  Richard Biener  <rguenther@suse.de>
2562
2563         * tree-ssa-ccp.c (likely_value): See if we have operands that
2564         are marked as never simulate again and return CONSTANT in this
2565         case.
2566         * tree-ssa-propagate.c (simulate_stmt): Mark stmts that do
2567         not have any operands that will be simulated again as
2568         not being simulated again.
2569
2570 2015-04-15  Uros Bizjak  <ubizjak@gmail.com>
2571
2572         * config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>_mixed):
2573         Merge with *cmpi<FPCMP:unord><MODEF:mode>_sse using enabled attribute.
2574         (*extendsfdf2_mixed): Merge with *extendsfdf2_sse using enabled
2575         attribute.
2576         (*truncdfsf_fast_mixed): Merge with *truncdfsf_fast_sse using
2577         enabled attribute.
2578         (*float<SWI48:mode><MODEF:mode>2_mixed): Rename from
2579         *float<SWI48:mode><MODEF:mode>2_sse.
2580         (*absneg<mode>2_mixed): Merge with *absneg<mode>2_sse using
2581         enabled attribute.
2582         (*fop_<mode>_comm_mixed): Merge with *fop_<mode>_comm_sse using
2583         enabled attribute.
2584
2585 2015-04-15  Tom de Vries  <tom@codesourcery.com>
2586
2587         PR other/65487
2588         * function.c (push_dummy_function): New function.
2589         (init_dummy_function_start): Use push_dummy_function.
2590         (pop_dummy_function): New function.  Factored out of ...
2591         (expand_dummy_function_end): ... here.
2592         * function.h (push_dummy_function, pop_dummy_function): Declare.
2593         * passes.c (pass_manager::dump_passes): Use push_dummy_function and
2594         pop_dummy_function.
2595         * tree-chkp.c (chkp_gate): Handle cgraph_node::get (cfun->decl) == NULL.
2596
2597 2015-04-15  Jeff Law  <law@redhat.com>
2598
2599         PR tree-optimization/47679
2600         * tree-ssa-dom.c (build_and_record_new_cond): Moved to avoid
2601         need for forward declaration in upcoming changes.
2602         (record_conditions, record_edge_info): Likewise.
2603
2604         PR rtl-optimization/42522
2605         * cse.c (fold_rtx): Try to simplify a ZERO_EXTRACT or
2606         SIGN_EXTRACT as a whole object rather than simplifying
2607         its operand.
2608
2609 2015-04-15  Jakub Jelinek  <jakub@redhat.com>
2610
2611         PR ipa/65765
2612         * ipa-icf-gimple.c (func_checker::compare_bb): For GIMPLE_NOP
2613         and GIMPLE_PREDICT use break instead of return true. For
2614         GIMPLE_EH_DISPATCH, compare dispatch region.
2615
2616 2015-04-14  Matthew Wahab  <matthew.wahab@arm.com>
2617
2618         * doc/extend.texi (__sync Builtins): Simplify some text.  Update
2619         details about the implementation.  Make clear preference for
2620         __atomic builtins.  Reduce possibility of future change.
2621
2622 2015-04-15  Nick Clifton  <nickc@redhat.com>
2623
2624         * config/rx/rx.opt (mallow-string-insns): New option.
2625         * config/rx/rx.c (RX_BUILTIN_RMPA): Disable the use of this
2626         builtin if string instructions are denied.
2627         * config/rx/rx.h (TARGET_CPU_CPP_BUILTINS): Define
2628         __RX_ALLOW_STRING_INSNS__ or __RX_DISALLOW_STRING_INSNS__, as
2629         appropriate.
2630         (ASM_SPEC): Pass -mno-allow-string-insns on to the assembler.
2631         * config/rx/rx.md (movstr): Enable pattern only if string
2632         instructions are allowed.
2633         (rx_movstr, rx_strend, movmemsi, rx_movmem): Likewise.
2634         (cmpstrnsi, cmpstrsi, rx_cmpstrn, rmpa): Likewise.
2635         * config/rx/t-rx (MULTILIB_OPTIONS): Add mno-allow-string-insns.
2636         (MULTILIB_DIRNAMES): Add no-strings.
2637         * doc/invoke.texi: Document -mno-allow-string-insns.
2638
2639 2015-04-15  Alan Modra  <amodra@gmail.com>
2640
2641         PR target/65408
2642         PR target/58744
2643         PR middle-end/36043
2644         * calls.c (load_register_parameters): Don't load past end of
2645         mem unless suitably aligned.
2646
2647 2015-04-15  Nick Clifton  <nickc@redhat.com>
2648
2649         * config/rl78/rl78.c (rl78_expand_prologue): Mark large stack
2650         decrement instruction as being frame related.
2651         (rl78_print_operand_1): Handle 'p' modifier to add +0 to HL
2652         based addresses.
2653         If zero extending a function address enclose the operation in
2654         %code(...).
2655         (rl78_preferred_reload_class): New function.
2656         (TARGET_PREFERRED_RELOAD_CLASS): Define.
2657         * config/rl78/rl78.md: Remove useless constraints in expanders.
2658         (mulqi3_rl78): Remove + qualifier on input-only operand 1.
2659         (mulhi3_rl78): Likewise.
2660         (mulhi3_g13): Likewise.
2661         (mulsi3_rl78): Likewise.
2662         (es_addr): Move to before the multiply patterns.
2663
2664 2015-04-15  Alan Modra  <amodra@gmail.com>
2665
2666         * function.h (struct emit_status): Delete x_first_insn, x_last_insn
2667         and sequence_stack.  Add seq.
2668         (seq_stack): Delete.
2669         * function.c (prepare_function_start): Don't access x_last_insn.
2670         * emit-rtl.h (get_current_sequence, get_topmost_sequence): New.
2671         (get_insns, set_first_insn, get_last_insn, set_last_insn): Use them.
2672         * emit_rtl.c (start_sequence, push_topmost_sequence,
2673         pop_topmost_sequence, end_sequence, in_sequence_p, init_emit): Use
2674         sequence accessors.
2675         (get_last_insn_anywhere, add_insn_after_nobb, add_insn_before_nobb,
2676         remove_insn): Likewise.  Simplify.
2677         * config/m32c/m32c.c (m32c_leaf_function_p): Use push_topmost_sequence
2678         and pop_topmost_sequence.
2679         (m32c_function_needs_enter): Use get_topmost_sequence.  Ignore
2680         debug insns.
2681         * config/rs6000/rs6000.c (rs6000_call_aix): Use get_current_sequence.
2682
2683 2015-04-14  Yvan Roux  <yvan.roux@linaro.org>
2684
2685         PR target/65729
2686         * lra-constraints.c (prohibited_class_reg_set_mode_p): Restore and fix
2687         the assertiion.
2688
2689 2015-04-14  Uros Bizjak  <ubizjak@gmail.com>
2690
2691         * config/i386/i386.h (LEGACY_INT_REG_P): New define.
2692         (LEGACY_INT_REGNO_P): Ditto.
2693         (GENERAL_REGNO_P): Use LEGACY_INT_REGNO_P.
2694         (ANY_MASK_REG_P): Remove.
2695         (BND_REG_P): Rename from ANY_BND_REG_P.
2696         * config/i386/i386.c (print_reg): Use LEGACY_INT_REG_P to print
2697         legacy integer registers.  Do not handle MMX_REG_P in a special way.
2698         Merge 64byte and 32byte SSE handling.
2699
2700 2015-04-14  Nick Clifton  <nickc@redhat.com>
2701
2702         * expr.c (expand_assignment): Force an address offset computation
2703         into a register before changing its mode.
2704         (expand_expr_real_1): Likewise.
2705
2706 2015-04-14  Alan Lawrence  <alan.lawrence@arm.com>
2707
2708         * config/aarch64/arm_neon.h (vst1_lane_f32, vst1_lane_f64,
2709         vst1_lane_p8, vst1_lane_p16, vst1_lane_s8, vst1_lane_s16,
2710         vst1_lane_s32, vst1_lane_s64, vst1_lane_u8, vst1_lane_u16,
2711         vst1_lane_u32, vst1_lane_u64, vst1q_lane_f32, vst1q_lane_f64,
2712         vst1q_lane_p8, vst1q_lane_p16, vst1q_lane_s8, vst1q_lane_s16,
2713         vst1q_lane_s32, vst1q_lane_s64, vst1q_lane_u8, vst1q_lane_u16,
2714         vst1q_lane_u32, vst1q_lane_u64): Reimplement with pointer dereference
2715         and __aarch64_vget_lane_any.
2716
2717 2015-04-14  Jakub Jelinek  <jakub@redhat.com>
2718
2719         PR rtl-optimization/65761
2720         * cfgrtl.c (rtl_split_edge): For EDGE_CROSSING split, use
2721         get_last_bb_insn (after) instead of NEXT_INSN (BB_END (after)).
2722
2723 2015-04-14  Richard Biener  <rguenther@suse.de>
2724
2725         * graphite-scop-detection.c: Do not include cp/cp-tree.h.
2726         (graphite_can_represent_scev): Use POINTER_TYPE_P.
2727
2728 2015-04-14  Richard Biener  <rguenther@suse.de>
2729
2730         PR tree-optimization/65758
2731         * tree-ssa-ccp.c (get_value_from_alignment): Adjust mask test
2732         against -1.
2733         (ccp_lattice_meet): Likewise.
2734         (bit_value_unop): Likewise.
2735         (bit_value_binop): Likewise.
2736         (bit_value_assume_aligned): Likewise.
2737
2738 2015-04-14  Christian Bruel  <christian.bruel@st.com>
2739
2740         * execute_dwarf2_frame (dw_frame_pointer_regnum): Reinitialize for each
2741         function.
2742
2743 2015-04-14  Marc Glisse  <marc.glisse@inria.fr>
2744
2745         PR tree-optimization/63387
2746         * match.pd ((x unord x) | (y unord y) -> (x unord y),
2747         (x unord x) | (x unord y) -> (x unord y)): New simplifications.
2748
2749 2015-04-14  Uros Bizjak  <ubizjak@gmail.com>
2750
2751         * config/i386/predicates.md (any_QIreg_operand): Rename from
2752         q_regs_operand.  Do not process subregs.
2753         (QIreg_operand): Use QI_REGNO_P predicate.
2754         (ext_QIreg_operand): Ditto.
2755         (ext_register_operand): Ditto.
2756         * config/i386/i386.md (TEST splitters): Use QIreg_operand predicate.
2757         (AND splitters): Ditto.
2758         (AND with -65536 splitter): Add SWI48 mode for operand 0.
2759         (AND with -256 splitter): Use any_QIreg_operand predicate and
2760         SWI248 mode for operand 0.
2761         (AND with -65281 splitter): Use QIreg_operand predicate and SWI248
2762         mode for operand 0.
2763         (SETCC + MOVZBL peepholes): Update for renamed any_QIreg_operand.
2764
2765 2015-04-13  Gerald Pfeifer  <gerald@pfeifer.com>
2766
2767         * doc/plugins.texi: Rewrite first introductory paragraph.
2768
2769 2015-04-12  Jan Hubicka  <hubicka@ucw.cz>
2770
2771         * tree-vrp.c (nonnull_arg_p): THIS pointers and references are non-zero.
2772         (gimple_stmt_nonzero_warnv_p): Reference return values are non-zero.
2773
2774 2015-04-12  Jan Hubicka  <hubicka@ucw.cz>
2775
2776         * ipa-profie.c (ipa_profile): Check number of parameters
2777         and possible polymorphic call targets before
2778         devirtualizing.
2779
2780 2015-04-13  Uros Bizjak  <ubizjak@gmail.com>
2781
2782         * config/i386/i386.md (*bmi2_umul<mode><dwi>3_1): Merge from
2783         *bmi2_umulsidi3_1 and *bmi2_umulditi3_1 using DWIH mode iterator.
2784
2785 2015-04-13  Richard Biener  <rguenther@suse.de>
2786
2787         PR tree-optimization/65204
2788         * tree-ssa-ccp.c (evaluate_stmt): Always evaluate address
2789         takens for bit-CCP.
2790
2791 2015-04-13  Richard Biener  <rguenther@suse.de>
2792
2793         PR target/65660
2794         * config/i386/i386.c (bdver1_cost): Double cond_taken_branch_cost
2795         and cond_not_taken_branch_cost to 4 and 2.
2796         (bdver2_cost): Likewise.
2797         (bdver3_cost): Likewise.
2798         (bdver4_cost): Likewise.
2799
2800 2015-04-12  Jan Hubicka  <hubicka@ucw.cz>
2801
2802         * hash-table.h (hash_table constructor): Add mem stats.
2803         (alloc_entries): Likewise.
2804
2805 2015-04-12  Jan Hubicka  <hubicka@ucw.cz>
2806
2807         * ipa-cp.c (ipcp_driver): Relase prev_edge.
2808         * passes.c (execute_one_pass): Only add transform if pass has one.
2809
2810 2015-04-12  Joseph Myers  <joseph@codesourcery.com>
2811
2812         * config/i386/i386.c (ix86_option_override_internal): Don't set
2813         -fprefetch-loop-arrays if optimizing for size.
2814
2815 2015-04-12  Jan Hubicka  <hubicka@ucw.cz>
2816             Gerald Pfeifer  <gerald@pfeifer.com>
2817
2818         * doc/contrib.texi (Contributors): Add Martin Jambor and
2819         Michael Matz.
2820
2821 2015-04-12  Jakub Jelinek  <jakub@redhat.com>
2822
2823         * BASE-VER: Set to 6.0.0.
2824
2825         PR tree-optimization/65747
2826         * ipa-icf-gimple.c (func_checker::compare_operand): Use compare_operand
2827         rather than compare_ssa_name for OBJ_TYPE_REF_OBJECT.
2828
2829 2015-04-12  Gerald Pfeifer  <gerald@pfeifer.com>
2830
2831         * doc/invoke.texi (-Wmemset-transposed-args): Break a long
2832         sentence.  Improve grammar.
2833
2834 2015-04-12  Gerald Pfeifer  <gerald@pfeifer.com>
2835
2836         * doc/contrib.texi (Contributors): Add Maxim Kuvyrkov.
2837
2838 2015-04-11  Jan Hubicka  <hubicka@ucw.cz>
2839
2840         PR ipa/65743
2841         * ipa-inline-transform.c (speculation_removed): Remove static var.
2842         (check_speculations): New function.
2843         (clone_inlined_nodes): Do not check spculations.
2844         (inline_call): Call check_speculations.
2845         * ipa-prop.c (ipa_make_edge_direct_to_target): Do not
2846         consider non-invariants.
2847
2848 2015-04-11  Jan Hubicka  <hubicka@ucw.cz>
2849             Martin Liska  <mliska@suse.cz>
2850
2851         PR ipa/65722
2852         * ipa-icf.c (sem_item::compare_cgraph_references): function and
2853         variable can not match.
2854         (sem_item::update_hash_by_addr_refs): Fix handling of virtual tables.
2855         (sem_variable::equals_wpa): Fix checking of DECL_FINAL_P patch.
2856
2857 2015-04-11  Jakub Jelinek  <jakub@redhat.com>
2858
2859         PR tree-optimization/65735
2860         * tree-ssa-threadedge.c (fsm_find_control_statement_thread_paths):
2861         Remove visited_phis argument, add visited_bbs, avoid recursing into the
2862         same bb rather than just into the same phi node.
2863         (thread_through_normal_block): Adjust caller.
2864
2865 2015-04-11  Gerald Pfeifer  <gerald@pfeifer.com>
2866
2867         * doc/contrib.texi (Contributors): Add Ira Rosen.
2868
2869 2015-04-11  Benno Schulenberg  <bensberg@justemail.net>
2870
2871         * gcov.c (find_source): Fix miswording in error message.
2872         * config/i386/i386.c (ix86_handle_cconv_attribute): Likewise.
2873         (ix86_expand_sse_comi_round): Fix typo in error message.
2874
2875 2015-04-11  Gerald Pfeifer  <gerald@pfeifer.com>
2876
2877         * doc/contrib.texi (Contributors): Add Laurynas Biveinis.
2878
2879 2015-04-10  Gerald Pfeifer  <gerald@pfeifer.com>
2880
2881         * doc/contrib.texi (Contributors): Update Joe Buck's entry.
2882
2883 2015-04-10  Vladimir Makarov  <vmakarov@redhat.com>
2884
2885         PR target/65710
2886         * lra-assigns.c (spill_for): Update smallest_bad_spills_num.
2887         Print bad_spills_num and insn_pseudos_num.
2888
2889 2015-04-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2890
2891         PR target/65694
2892         * config/arm/arm.c (arm_canonicalize_comparison): Use ARM_SIGN_EXTEND
2893         when creating +1 values for SImode.
2894
2895 2015-04-10  Vladimir Makarov  <vmakarov@redhat.com>
2896
2897         PR target/65729
2898         * lra-constraints.c (prohibited_class_reg_set_mode_p): Comment the
2899         assert.
2900
2901 2015-04-10  Jakub Jelinek  <jakub@redhat.com>
2902             Iain Sandoe  <iain@codesourcery.com>
2903
2904         PR target/65351
2905         * configure: Regenerate.
2906
2907 2015-04-09  Kirill Yukhin  <kirill.yukhin@intel.com>
2908
2909         PR target/65671
2910         * config/i386/sse.md: Generate vextract32x4 if AVX-512DQ is disabled.
2911
2912 2015-04-09  Gerald Pfeifer  <gerald@pfeifer.com>
2913
2914         * doc/contrib.texi (Contributors): Add John Marino.
2915
2916 2015-04-09  Jakub Jelinek  <jakub@redhat.com>
2917
2918         PR tree-optimization/65709
2919         * ubsan.c (instrument_mem_ref): Use TREE_TYPE (base) instead of
2920         TREE_TYPE (TREE_TYPE (t)).
2921
2922 2015-04-09  Vladimir Makarov  <vmakarov@redhat.com>
2923
2924         PR target/65710
2925         * lra-int.h (lra_bad_spill_regno_start): New.
2926         * lra.c (lra_bad_spill_regno_start): New.
2927         (lra): Set up lra_bad_spill_regno_start.  Set up
2928         lra_constraint_new_regno_start unconditionally.
2929         * lra-assigns.c (spill_for): Use lra_bad_spill_regno_start for
2930         spill preferences.
2931
2932 2015-04-09  Marek Polacek  <polacek@redhat.com>
2933             Jakub Jelinek  <jakub@redhat.com>
2934
2935         PR middle-end/65554
2936         * gimple-fold.c (gimple_fold_builtin_memory_op): Update comment.
2937         (fold_ctor_reference): Use STRIP_USELESS_TYPE_CONVERSION instead
2938         of STRIP_NOPS.
2939
2940 2015-04-09  Segher Boessenkool  <segher@kernel.crashing.org>
2941
2942         PR rtl-optimization/65693
2943         * combine.c (is_parallel_of_n_reg_sets): Move outside of
2944         #ifndef HAVE_cc0.
2945
2946 2015-04-09  Georg-Johann Lay  <avr@gjlay.de>
2947
2948         PR target/65296
2949         * config/avr/driver-avr.c (avr_devicespecs_file): Don't specify a
2950         device specs file if "device-specs%s" didn't resolve to a path.
2951
2952 2015-04-09  Kirill Yukhin  <kirill.yukhin@intel.com>
2953
2954         PR target/65676
2955         * config/i386/i386.c (fixup_modeless_constant): New.
2956         (ix86_expand_args_builtin): Fixup modeless constant operand.
2957         (ix86_expand_round_builtin): Ditto.
2958         (ix86_expand_special_args_builtin): Ditto.
2959         (ix86_expand_builtin): Ditto.
2960
2961 2015-04-09  Jakub Jelinek  <jakub@redhat.com>
2962
2963         PR target/65693
2964         * config/i386/i386.md (*udivmod<mode>4_pow2): Allow
2965         any pow2 integer in between 2 and 0x80000000U inclusive.
2966
2967 2015-04-08  Segher Boessenkool  <segher@kernel.crashing.org>
2968
2969         PR rtl-optimization/65693
2970         * combine.c (is_parallel_of_n_reg_sets): Change first argument
2971         from an rtx_insn * to an rtx.
2972         (try_combine): Adjust both callers.  Use it once more.
2973
2974 2015-04-08  Ilya Enkovich  <ilya.enkovich@intel.com>
2975
2976         * tree-chkp.c (chkp_find_const_bounds_var): Remove.
2977         (chkp_make_static_const_bounds): Search existing
2978         symbol by assembler name.  Use make_decl_one_only.
2979         (chkp_get_zero_bounds_var): Remove node search which
2980         is now performed in chkp_make_static_const_bounds.
2981         (chkp_get_none_bounds_var): Likewise.
2982
2983 2015-04-08  Michael Witten  <mfwitten@gmail.com>
2984
2985         * doc/extend.texi (Attribute Syntax): Add a trailing semicolon
2986         to an example.
2987
2988 2015-04-08  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
2989
2990         * tree.h (CONVERT_EXPR_P): Commentary typo fix.
2991
2992 2015-04-08  Gerald Pfeifer  <gerald@pfeifer.com>
2993
2994         * doc/extend.texi (__sync Builtins): Fix grammar.
2995
2996 2015-04-08  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
2997
2998         * doc/cfg.texi (GIMPLE statement iterators): Fix typo.
2999
3000 2015-04-08  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
3001
3002         * varasm.c (emit_local): Move definition of align.
3003
3004 2015-04-08  Julian Brown  <julian@codesourcery.com>
3005
3006         * config/nvptx/mkoffload.c (process): Support variable mapping.
3007
3008 2015-03-27  Trevor Saunders  <tbsaunde@tbsaunde.org>
3009
3010         * config/alpha/alpha.c (alpha_use_linkage): Change type of slot to
3011         alpha_links **.
3012         (alpha_write_one_linkage): Correct typo.
3013
3014 2015-04-08  Ilya Enkovich  <ilya.enkovich@intel.com>
3015
3016         * ipa-comdats.c (propagate_comdat_group): Walk through thunks.
3017
3018 2015-04-08  Gerald Pfeifer  <gerald@pfeifer.com>
3019
3020         * doc/install.texi (bootstrap-lto-noplugin): Rewrite.
3021
3022 2015-04-08  Ilya Enkovich  <ilya.enkovich@intel.com>
3023
3024         * tree-chkp.h (chkp_insert_retbnd_call): New.
3025         * tree-chkp.c (chkp_insert_retbnd_call): New.
3026         * ipa-split.c (insert_bndret_call_after): Remove.
3027         (split_function): Use chkp_insert_retbnd_call.
3028         * cgraphunit.c (cgraph_node::expand_thunk): Build returned
3029         bounds for instrumented functions.
3030
3031 2015-04-07  Jan Hubicka  <hubicka@ucw.cz>
3032
3033         PR ipa/65540
3034         * calls.c (initialize_argument_information): When producing tail
3035         call also turn SSA_NAMES passed by references to original PARM_DECLs
3036
3037 2015-04-07  Vladimir Makarov  <vmakarov@redhat.com>
3038
3039         PR target/65648
3040         * lra-remat.c (do_remat): Process input and non-input insn
3041         registers separately.
3042
3043 2015-04-07  Jakub Jelinek  <jakub@redhat.com>
3044
3045         PR debug/65678
3046         * valtrack.c (debug_lowpart_subreg): New function.
3047         (dead_debug_insert_temp): Use it.
3048
3049         PR middle-end/65680
3050         * expr.c (get_inner_reference): Handle bit_offset that doesn't fit
3051         into signed HOST_WIDE_INT the same as negative bit_offset.
3052
3053 2015-04-07  Ilya Enkovich  <ilya.enkovich@intel.com>
3054
3055         * ipa-comdats.c (ipa_comdats): Visit all thunks
3056         to set proper comdat group.
3057
3058 2015-04-07  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3059
3060         PR target/65489
3061         * config/arm/arm.c (arm_legitimate_constant_p_1): Remove restriction
3062         on constants for NEON VSTRUCT modes.
3063
3064 2015-04-07  Jakub Jelinek  <jakub@redhat.com>
3065             Iain Sandoe  <iain@codesourcery.com>
3066
3067         PR target/65351
3068         * configure: Regenerate.
3069
3070 2015-04-06  Michael Meissner  <meissner@linux.vnet.ibm.com>
3071
3072         PR target/65614
3073         * config/rs6000/rs6000.c (struct processor_costs): Add cost field
3074         for SF->DF conversions to make FLOAT_EXTEND more expensive, so
3075         that LFD is used to load double constants instead of LFS.  Add
3076         defaults for all costs structures.  Add comments for missing
3077         initialization fields.
3078         (size32_cost): Likewise.
3079         (size64_cost): Likewise.
3080         (rs64a_cost): Likewise.
3081         (mpccore_cost): Likewise.
3082         (ppc403_cost): Likewise.
3083         (ppc405_cost): Likewise.
3084         (ppc440_cost): Likewise.
3085         (ppc476_cost): Likewise.
3086         (ppc601_cost): Likewise.
3087         (ppc603_cost): Likewise.
3088         (ppc604_cost): Likewise.
3089         (ppc604e_cost): Likewise.
3090         (ppc620_cost): Likewise.
3091         (ppc630_cost): Likewise.
3092         (ppccell_cost): Likewise.
3093         (ppc750_cost): Likewise.
3094         (ppc7450_cost): Likewise.
3095         (ppc8540_cost): Likewise.
3096         (ppce300c2c3_cost): Likewise.
3097         (ppce500mc_cost): Likewise.
3098         (ppce500mc64_cost): Likewise.
3099         (ppce5500_cost): Likewise.
3100         (ppce6500_cost): Likewise.
3101         (titan_cost): Likewise.
3102         (power4_cost): Likewise.
3103         (power6_cost): Likewise.
3104         (power7_cost): Likewise.
3105         (power8_cost): Likewise.
3106         (ppca2_cost): Likewise.
3107         (rs6000_rtx_costs): Make FLOAT_EXTEND use SFDF_convert field.
3108
3109         * config/rs6000/rs6000.md (extendsfdf2_fpr): Generate XSCPSGNDP
3110         instead of XXLOR to copy SFmode to clear out dirty bits created
3111         when SFmode denormals are generated.
3112         (mov<mode>_hardfloat, FMOVE32 case): Likewise.
3113         (truncdfsf2_fpr): Add support for ISA 2.07 XSRSP instruction.
3114
3115 2015-04-06  Evandro Menezes  <e.menezes@samsung.com>
3116
3117         * doc/invoke.texi (AARCH64/mtune): Add exynos-m1 as an option.
3118         * config/aarch64/aarch64-cores.def (exynos-m1): New core.
3119         * config/aarch64/aarch64-tune.md: Regenerate.
3120
3121 2015-04-06  Evandro Menezes  <e.menezes@samsung.com>
3122
3123         * doc/invoke.texi (ARM/mtune): Add "exynos-m1" as an option.
3124         * config/arm/arm.c (arm_issue_rate): Specify "3" for "exynosm1".
3125         * config/arm/arm-cores.def (exynos-m1): New core.
3126         * config/arm/arm-tune.md: Regenerate.
3127         * config/arm/arm-tables.opt: Add entry for "exynos-m1".
3128         * config/arm/bpabi.h: Likewise.
3129
3130 2015-04-06  Ilya Enkovich  <ilya.enkovich@intel.com>
3131
3132         * ipa-cp (set_single_call_flag): Remove too
3133         restrictive assert.
3134
3135 2015-04-06  Ilya Verbin  <ilya.verbin@intel.com>
3136
3137         * config/i386/intelmic-mkoffload.c (generate_host_descr_file): Call
3138         GOMP_offload_unregister from the destructor.
3139
3140 2015-04-06  Ilya Enkovich  <ilya.enkovich@intel.com>
3141
3142         * ipa-chkp.c (chkp_maybe_create_clone): Reset cdtor
3143         flags for instrumentation thunk.
3144         (chkp_produce_thunks): Likewise.
3145
3146 2015-04-05  Martin Liska  <mliska@suse.cz>
3147
3148         PR ipa/65665
3149         * ipa-icf.c (sem_function::equals_wpa): Verify that IPA CP
3150         has computed data structure.
3151         (sem_item_optimizer::update_hash_by_addr_refs): Likewise.
3152
3153 2015-04-04  Jan Hubicka  <hubicka@ucw.cz>
3154
3155         * invoke.texi (inline-unit-growth): Increase growth to 20%
3156         * params.def (PARAM_INLINE_UNIT_GROWTH): Likewise.
3157
3158 2015-04-04  Vladimir Makarov  <vmakarov@redhat.com>
3159
3160         PR target/65647
3161         * lra-int.h (LRA_MAX_REMATERIALIZATION_PASSES): New.  Add its
3162         value checking.
3163         (lra_rematerialization_iter): New.
3164         * lra.c (lra): Initialize lra_rematerialization_iter.
3165         Stop updating lra_constraint_new_regno_start after switching of
3166         inheritance and rematerialization.
3167         * lra-remat.c (lra_rematerialization_iter): New.
3168         (lra_remat): Add printing pass iteration.  Do rematerialization
3169         only first LRA_MAX_REMATERIALIZATION_PASSES iterations.
3170
3171 2015-04-04  Richard Biener  <rguenther@suse.de>
3172
3173         PR tree-optimization/64909
3174         PR tree-optimization/65660
3175         * tree-vectorizer.h (vect_get_known_peeling_cost): Adjust
3176         to take a cost vector for scalar iteration cost.
3177         (vect_get_single_scalar_iteration_cost): Likewise.
3178         * tree-vect-loop.c (vect_get_single_scalar_iteration_cost):
3179         Compute the scalar iteration cost into a cost vector.
3180         (vect_get_known_peeling_cost): Use the scalar cost vector to
3181         account for the cost of the peeled iterations.
3182         (vect_estimate_min_profitable_iters): Likewise.
3183         * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost):
3184         Likewise.
3185
3186 2015-04-04  Alan Modra  <amodra@gmail.com>
3187
3188         PR target/65576
3189         PR target/65240
3190         * config/rs6000/predicates.md (zero_reg_mem_operand): Exclude
3191         0.0 constant unless TARGET_VSX.
3192         * config/rs6000/rs6000.md (extenddftf2_internal): Remove last
3193         alternative.
3194
3195 2015-04-03  Jan Hubicka  <hubicka@ucw.cz>
3196
3197         PR ipa/65654
3198         * ipa-inline-transform.c (inline_call): Skip sanity check to work
3199         around the ICE
3200
3201 2015-04-03  Jan Hubicka  <hubicka@ucw.cz>
3202
3203         PR ipa/65655
3204         * ipa-inline-analysis.c (edge_set_predicate): Do not redirect
3205         speculative indirect edges to avoid ordering issue.
3206
3207 2015-04-03  Jan Hubicka  <hubicka@ucw.cz>
3208
3209         PR ipa/65076
3210         * ipa-inline.c (edge_badness): Add combined size to the denominator.
3211
3212 2015-04-03  Jakub Jelinek  <jakub@redhat.com>
3213
3214         * omp-low.c (scan_omp_parallel, scan_omp_task, scan_omp_target): Set
3215         TYPE_ARTIFICIAL on the .omp_data* types.
3216
3217 2015-04-02  Ilya Enkovich  <ilya.enkovich@intel.com>
3218
3219         * cgraphunit.c (cgraph_node::expand_thunk): Don't expand
3220         instrumentation thunks.
3221
3222 2015-04-02  Ilya Enkovich  <ilya.enkovich@intel.com>
3223
3224         * config/i386/i386.c (ix86_expand_call): Avoid nested
3225         PARALLEL in returned call value.
3226
3227 2015-04-02  Ilya Enkovich  <ilya.enkovich@intel.com>
3228
3229         * lto-cgraph.c (input_cgraph_1): Always link instrumented
3230         assembler name with original one.
3231
3232 2015-04-02  Uros Bizjak  <ubizjak@gmail.com>
3233
3234         * config/i386/i386.c (ix86_register_priority): Use AX_REG.
3235
3236 2015-04-02  Uros Bizjak  <ubizjak@gmail.com>
3237
3238         Revert parts of r216820.
3239         * config/i386/i386.md (movqi_internal): Correct type calculation
3240         for alternatives 3 and 5.
3241
3242 2015-04-02  Jakub Jelinek  <jakub@redhat.com>
3243
3244         PR preprocessor/61977
3245         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Don't
3246         predefine __vector/__bool/__pixel macros nor context sensitive
3247         macros for CLK_ASM.
3248         * config/spu/spu-c.c (spu_cpu_cpp_builtins): Similarly.
3249
3250 2015-04-02  John David Anglin  <danglin@gcc.gnu.org>
3251
3252         * config/pa/pa.c (pa_output_move_double): Directly handle register
3253         indexed memory operand.  Simplify handling of scaled register indexed
3254         memory operands.
3255
3256 2015-04-02  Ilya Enkovich  <ilya.enkovich@intel.com>
3257
3258         PR driver/65444
3259         * config/i386/linux-common.h (MPX_SPEC): New.
3260         (CHKP_SPEC): Add MPX_SPEC.
3261         * doc/invoke.texi (-fcheck-pointer-boudns): Document
3262         possible issues with '-z bndplt' support in linker.
3263
3264 2015-04-02  Uros Bizjak  <ubizjak@gmail.com>
3265
3266         * config/i386/sync.md (UNSPEC_FILD_ATOMIC, UNSPEC_FIST_ATOMIC): New.
3267         (loaddi_via_fpu): Use UNSPEC_FILD_ATOMIC.
3268         (storedi_via_fpu): Use UNSPEC_FIST_ATOMIC.
3269         * reg-stack.c (get_true_reg): Change UNSPEC_LDA to UNSPEC_FILD_ATOMIC.
3270         (subst_stack_regs_pat): Change UNSPEC_STA to UNSPEC_FIST_ATOMIC.
3271
3272 2015-04-01  Uros Bizjak  <ubizjak@gmail.com>
3273
3274         * config/i386/sync.md (UNSPEC_MOVA): Remove.
3275         (atomic_load<mode>): Change operand 0 predicate to
3276         nonimmediate_operand and fix up the destination when needed.
3277         Use UNSPEC_LDA.
3278         (atomic_loaddi_fpu): Use UNSPEC_LDA.
3279         (atomic_store<mode>): Change operand 1 predicate to
3280         nonimmendate_operand and move the source to register when needed.
3281         Use UNSPEC_STA.
3282         (atomic_store<mode>_1): Use UNSPEC_STA.
3283         (atomic_storedi_fpu): Change operand 1 to nonimmediate_operand.
3284         Fix moves from memory operand.  Use UNSPEC_STA.
3285
3286 2015-04-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>
3287
3288         * expmed.c (strict_volatile_bitfield_p): Check that the access will
3289         not cross a MODESIZE boundary.
3290         (store_bit_field, extract_bit_field): Added assertions in the
3291         strict volatile bitfields code path.
3292
3293 2015-04-01  Max Ostapenko  <m.ostapenko@partner.samsung.com>
3294
3295         PR target/65624
3296         * config/aarch64/aarch64-builtins.c (aarch64_simd_expand_builtin):
3297         Increase args array size by one to avoid buffer overflow.
3298
3299 2015-03-31  Jan Hubicka  <hubicka@ucw.cz>
3300
3301         * lto-cgraph.c (lto_output_node, input_overwrite_node): Stream
3302         split_part.
3303         * ipa-inline.c (edge_badness): Add wrapper penalty.
3304         (sum_callers): Move up.
3305         (inline_small_functions): Set single_caller.
3306         * ipa-inline.h (inline_summary): Add single_caller.
3307         * ipa-split.c (split_function): Set split_part.
3308         (cgraph_node::create_clone): Do not shadow decl; copy split_part.
3309         * cgraph.h (cgraph_node): Add split_part.
3310
3311 2015-03-31  Uros Bizjak  <ubizjak@gmail.com>
3312
3313         PR target/58945
3314         * config/i386/sync.md (atomic_compare_and_swap<dwi>_doubleword):
3315         Do not split operands 0 and operands 2 to halfmode.
3316         (atomic_compare_and_swap<mode>): Update for
3317         atomic_compare_and_swap<dwi>_doubleword changes.
3318
3319 2015-03-31  Jan Hubicka  <hubicka@ucw.cz>
3320
3321         * tree.c (need_assembler_name_p): Artificial types have no ODR names.
3322         * ipa-devirt.c (warn_odr): Do not try to apply ODR cache when
3323         no caching is done.
3324
3325 2015-03-31  Martin Liska  <mliska@suse.cz>
3326
3327         PR ipa/65557
3328         * ipa-icf.c (sem_function::equals_wpa): Check if IPA CP
3329         has already filled up function summary.
3330         (sem_item_optimizer::update_hash_by_addr_refs): Likewise.
3331
3332 2015-03-31  Richard Biener  <rguenther@suse.de>
3333
3334         * tree-sra.c (create_access_replacement): Drop under-/over-alignment
3335         of types.
3336
3337 2015-03-31  Dominik Vogt  <vogt@linux.vnet.ibm.com>
3338
3339         * config/s390/s390.c (s390_function_num_hotpatch_hw): Allow hotpatching
3340         nested functions.
3341         (s390_reorg): Adapt to new signature of s390_function_num_hotpatch_hw.
3342         (s390_asm_output_function_label): Adapt to new signature of
3343         s390_function_num_hotpatch_hw
3344         Optimise the code generating assembler output.
3345         Add comments to assembler file.
3346
3347 2015-03-31  Richard Biener  <rguenther@suse.de>
3348
3349         PR middle-end/65626
3350         * tree-cfgcleanup.c (fixup_noreturn_call): Only split the block
3351         of the noreturn call so it is last and cleanup_control_flow_bb
3352         can do the CFG part.
3353
3354 2015-03-31  Ilya Enkovich  <ilya.enkovich@intel.com>
3355
3356         PR target/65531
3357         * ipa-chkp.c (chkp_maybe_create_clone): Don't set
3358         same_comdat_group for external symbols.
3359         * symtab.c (symtab_node::verify_symtab_nodes): Avoid
3360         infinite same_comdat_group traversal loop.
3361
3362 2015-03-31  Jakub Jelinek  <jakub@redhat.com>
3363
3364         PR plugins/61176
3365         * Makefile.in (install-plugin): Add all gcc/*.{h,def} files
3366         automatically to $headers.
3367
3368 2015-03-30  Jakub Jelinek  <jakub@redhat.com>
3369
3370         PR ipa/65610
3371         * ipa-utils.h (inlined_polymorphic_ctor_dtor_block_p): Declare.
3372         * ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p): New
3373         function.
3374         (decl_maybe_in_construction_p, noncall_stmt_may_be_vtbl_ptr_store):
3375         Use it.
3376         * ipa-prop.c (param_type_may_change_p): Likewise.
3377         * tree-ssa-live.c: Include ipa-utils.h and its dependencies.
3378         (remove_unused_scope_block_p): Add in_ctor_dtor_block
3379         argument.  Before inlining, preserve
3380         inlined_polymorphic_ctor_dtor_block_p blocks and the outermost block
3381         with FUNCTION_DECL BLOCK_ABSTRACT_ORIGIN inside of them.  Adjust
3382         recursive calls.
3383         (remove_unused_locals): Adjust remove_unused_scope_block_p caller.
3384
3385 2015-03-27  Jan Hubicka  <hubicka@ucw.cz>
3386
3387         PR ipa/65076
3388         * ipa-inline.c (edge_badness): Base denominator on callee's
3389         grwoth squared.
3390
3391 2015-03-27  Martin Jambor  <mjambor@suse.cz>
3392
3393         PR ipa/65478
3394         * params.def (PARAM_IPA_CP_RECURSION_PENALTY) : New.
3395         (PARAM_IPA_CP_SINGLE_CALL_PENALTY): Likewise.
3396         * ipa-prop.h (ipa_node_params): New flags node_within_scc and
3397         node_calling_single_call.
3398         * ipa-cp.c (count_callers): New function.
3399         (set_single_call_flag): Likewise.
3400         (initialize_node_lattices): Count callers and set single_flag_call if
3401         necessary.
3402         (incorporate_penalties): New function.
3403         (good_cloning_opportunity_p): Use it, dump new flags.
3404         (propagate_constants_topo): Set node_within_scc flag if appropriate.
3405         * doc/invoke.texi (ipa-cp-recursion-penalty,
3406         ipa-cp-single-call-pentalty): Document.
3407
3408 2015-03-27  Jan Hubicka  <hubicka@ucw.cz>
3409
3410         PR ipa/65588
3411         * symtab.c (symtab_node::get_partitioning_class): Register vars
3412         are duplicated.
3413         * varpool.c (symbol_table::output_variables) Do not assemble unefined
3414         decls for non-symbols.
3415
3416 2015-03-27  H.J. Lu  <hongjiu.lu@intel.com>
3417
3418         PR target/65248
3419         * output.h (default_binds_local_p_2): New.
3420         * varasm.c (default_binds_local_p_2): Renamed to ...
3421         (default_binds_local_p_3): This.  Don't return true on protected
3422         data symbol if protected data may be external.
3423         (default_binds_local_p): Use default_binds_local_p_3.
3424         (default_binds_local_p_1): Likewise.
3425         (default_binds_local_p_2): New.
3426         * config/i386/i386.c (TARGET_BINDS_LOCAL_P): Set to
3427         default_binds_local_p_2 if TARGET_MACHO is undefined.
3428
3429 2015-03-27  Jakub Jelinek  <jakub@redhat.com>
3430
3431         PR target/65593
3432         * config/i386/i386.c (legitimize_pic_address): If base
3433         is SYMBOL_REF or LABEL_REF using %rip addressing, force
3434         it to reg to avoid PLUS of SYMBOL_REF/LABEL_REF and register.
3435
3436 2015-03-27  Jan Hubicka  <hubicka@ucw.cz>
3437
3438         PR target/65531
3439         * symtab.c (symtab_node::verify_symtab_nodes): Fix verification of
3440         comdat groups.
3441
3442 2015-03-27  Jan Hubicka  <hubicka@ucw.cz>
3443
3444         PR ipa/65600
3445         * cgraph.c (cgraph_update_edges_for_call_stmt_node): Fix the case
3446         of optimized out indirect call.
3447         (redirect_to_unreachable): Always build symbol table node for
3448         BUILT_IN_UNREACHABLE
3449
3450 2015-03-27  Vladimir Makarov  <vmakarov@redhat.com>
3451
3452         PR target/65407
3453         * ira-costs.c (record_reg_classes): Process all constraint string
3454         containing 0-9.
3455
3456 2015-03-27  Bernd Schmidt  <bernds@codesourcery.com>
3457
3458         * config/c6x/c6x.md (movmisalign<mode>): Use MEM_P, not
3459         memory_operand.
3460
3461         PR target/65052
3462         * config/c6x/constraints.md (S3): New constraint.
3463         * config/c6x/c6x.md (real_jump): Use it.
3464
3465 2015-03-26  Jan Hubicka  <hubicka@ucw.cz>
3466
3467         PR middle-end/65595
3468         * cgraph.c (cgraph_update_edges_for_call_stmt_node): Only
3469         do redirection if the call is not optimized out.
3470
3471 2015-03-27  Ilya Enkovich  <ilya.enkovich@intel.com>
3472
3473         PR target/65495
3474         * c-family/c.opt (fcheck-pointer-bounds): List supported languages.
3475         (fchkp-check-incomplete-type): Add LTO.
3476         (fchkp-zero-input-bounds-for-main): Likewise.
3477         (fchkp-first-field-has-own-bounds): Likewise.
3478         (fchkp-narrow-bounds): Likewise.
3479         (fchkp-narrow-to-innermost-array): Likewise.
3480         (fchkp-use-static-bounds): Likewise.
3481         (fchkp-use-static-const-bounds): Likewise.
3482         (fchkp-treat-zero-dynamic-size-as-infinite): Likewise.
3483
3484 2015-03-27  Marek Polacek  <polacek@redhat.com>
3485
3486         * gimple-iterator.h (gsi_prev_nondebug): Fix typo.
3487
3488 2015-03-27  Marek Polacek  <polacek@redhat.com>
3489
3490         PR sanitizer/65583
3491         * ubsan.c (ubsan_create_edge): New function.
3492         (instrument_bool_enum_load): Call it.
3493         (instrument_nonnull_arg): Likewise.
3494         (instrument_nonnull_return): Likewise.
3495         (instrument_object_size): Likewise.
3496
3497 2015-03-26  Jan Hubicka  <hubicka@ucw.cz>
3498
3499         * lto-streamer.h (class lto_location_cache): Turn loc_cache into
3500         auto_vec.
3501
3502 2015-03-26  Jan Hubicka  <hubicka@ucw.cz>
3503
3504         PR lto/65536
3505         * lto-streamer.h (class lto_location_cache): New.
3506         (struct data_in): Add location_cache.
3507         (lto_input_location): Update prototype.
3508         (stream_input_location_now): New.
3509         * streamer-hooks.h (struct streamer_hooks): Make input_location to take
3510         pointer to location.
3511         (stream_input_location): Update.
3512         * ipa-devirt.c: Include streamer-hooks.h and lto-streamer.h
3513         (warn_odr): Apply location cache before warning.
3514         (lto_input_location): Update prototype.
3515         * gimple-streamer-in.c (input_phi, input_gimple_stmt):
3516         Use stream_input_location_now.
3517         * lto-streamer-in.c (lto_location_cache::current_cache): New static
3518         variable.
3519         (lto_location_cache::cmp_loc): New function.
3520         (lto_location_cache::apply_location_cache): New function.
3521         (lto_location_cache::accept_location_cache): New function.
3522         (lto_location_cache::revert_location_cache): New function.
3523         (lto_location_cache::input_location): New function.
3524         (lto_input_location): Do location caching.
3525         (stream_input_location_now): New function.
3526         (input_eh_region, input_struct_function_base): Use
3527         stream_input_location_now.
3528         (lto_data_in_create): use new.
3529         (lto_data_in_delete): Use delete.
3530         * tree-streamer-in.c (unpack_ts_block_value_fields,
3531         unpack_ts_omp_clause_value_fields, streamer_read_tree_bitfields,
3532         lto_input_ts_exp_tree_pointers): Update for cached location api.
3533
3534 2015-03-26  Jan Hubicka  <hubicka@ucw.cz>
3535
3536         PR ipa/65076
3537         * passes.def: Add pass_nothrow.
3538         * ipa-pure-const.c: (pass_data_nothrow): New.
3539         (pass_nothrow): New.
3540         (pass_nothrow::execute): New.
3541         (make_pass_nothrow): New.
3542         * tree-pass.h (make_pass_nothrow): Declare.
3543
3544 2015-03-26  Jan Hubicka  <hubicka@ucw.cz>
3545
3546         * ipa-inline-analysis.c (redirect_to_unreachable): Be prepared for
3547         edge to change by speculation resolution or redirection.
3548         (edge_set_predicate): Likewise.
3549         (inline_summary_t::duplicate): Likewise.
3550         (remap_edge_summaries): Likewise.
3551
3552 2015-03-26  Jan Hubicka  <hubicka@ucw.cz>
3553
3554         * ipa-inline.c (check_maybe_up, check_maybe_down, check_match):
3555         New macros.
3556         (can_inline_edge_p): Relax option matching for always inline functions.
3557
3558 2015-03-26  Uros Bizjak  <ubizjak@gmail.com>
3559
3560         PR target/65561
3561         * config/i386/sse.md (avx512dq_vextract<shuffletype>64x2_1_maskm):
3562         Check operand 4 and operand 0 for equality.
3563         (avx512f_vextract<shuffletype>32x4_1_maskm):
3564         Check operand 6 and operand 0 for equality.
3565         (vec_extract_lo_<mode>_maskm): Check operand 2 and operand 0
3566         for equality.
3567         (vec_extract_hi_<mode>_maskm): Ditto.
3568
3569 2015-03-26  Jan Hubicka  <hubicka@ucw.cz>
3570
3571         * cgraph.c (cgraph_update_edges_for_call_stmt_node): Do not bring
3572         dead calls back to live.
3573         (cgraph_edge::verify_count_and_frequency): Move cgraph/cfg frequency
3574         cross check to ...
3575         (cgraph_node::verify_node): ... here; verify only callee edges,
3576         not caller.
3577         * cif-code.def (CILK_SPAWN): New code.
3578
3579 2015-03-26  Jan Hubicka  <hubicka@ucw.cz>
3580
3581         * ipa-inline-analysis.c (redirect_to_unreachable): New function.
3582         (edge_set_predicate): Use it to mark unreachable edges.
3583         (inline_summary_t::duplicate): Remove unnecesary code.
3584         (remap_edge_summaries): Likewise.
3585         (dump_inline_summary): Report contains_cilk_spawn.
3586         (compute_inline_parameters): Compute contains_cilk_spawn.
3587         (inline_read_section, inline_write_summary): Stream
3588         contains_cilk_spawn.
3589         * ipa-inline.c (can_inline_edge_p): Do not touch
3590         DECL_STRUCT_FUNCTION that may not be available;
3591         use CIF_CILK_SPAWN for cilk; fix optimization attribute checks;
3592         remove check for callee_fun->can_throw_non_call_exceptions and
3593         replace it by optimization attribute check; check for flag_exceptions.
3594         * ipa-inline-transform.c (inline_call): Maintain
3595         DECL_FUNCTION_PERSONALITY
3596         * ipa-inline.h (inline_summary): Add contains_cilk_spawn.
3597
3598 2015-03-26  Jakub Jelinek  <jakub@redhat.com>
3599
3600         PR tree-optimization/65551
3601         * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use
3602         TYPE_PRECISION only for INTEGRAL_TYPE_P types.
3603
3604 2015-03-26  Richard Biener  <rguenther@suse.de>
3605
3606         PR middle-end/65555
3607         * tree-cfg.c (verify_gimple_call): Do not require a call to
3608         have no LHS if it wasn't recognized as control altering yet.
3609
3610 2015-03-26  Jakub Jelinek  <jakub@redhat.com>
3611
3612         PR tree-optimization/64715
3613         * passes.def: Add another instance of pass_object_sizes before ccp1.
3614         * tree-object-size.c (pass_object_sizes::execute): In
3615         first_pass_instance, only handle __bos (, 1) and __bos (, 3)
3616         calls, and keep the call in the IL, as {MIN,MAX}_EXPR of the
3617         __bos result and the computed constant.  Remove redundant
3618         checks, obsoleted by gimple_call_builtin_p test.
3619
3620         * var-tracking.c (variable_tracking_main_1): Don't track
3621         variables for targetm.no_register_allocation targets.
3622
3623 2015-03-26  Oleg Endo  <olegendo@gcc.gnu.org>
3624
3625         * config/sh/t-linux (DEFAULT_ENDIAN, MULTILIB_EXCEPTIONS): Remove.
3626         * config/sh/t-sh (MULTILIB_EXCEPTIONS): Handle default endian.
3627
3628 2015-03-25  Michael Meissner  <meissner@linux.vnet.ibm.com>
3629
3630         PR target/65569
3631         * config/rs6000/rs6000.md (extenddftf2_fprs): On VSX systems use
3632         XXLXOR to create 0.0.  On pre-VSX systems make sure the constant
3633         0.0 is correctly setup.
3634         (extenddftf2_internal): Likewise.
3635
3636 2015-03-25  Sebastian Pop  <s.pop@samsung.com>
3637
3638         PR tree-optimization/65177
3639         * tree-ssa-threadupdate.c (verify_seme): Renamed verify_jump_thread.
3640         (bb_in_bbs): New.
3641         (duplicate_seme_region): Renamed duplicate_thread_path.  Redirect all
3642         edges not adjacent on the path to the original code.
3643
3644 2015-03-25  Uros Bizjak  <ubizjak@gmail.com>
3645
3646         PR bootstrap/65537
3647         * doc/install.texi (Building a native compiler): Document new
3648         bootstrap-lto-noplugin configuration.  Mention that bootstrap-lto
3649         configuration assumes that the host supports the linker plugin.
3650
3651 2015-03-25  Ilya Enkovich  <ilya.enkovich@intel.com>
3652
3653         PR target/65508
3654         * tree-chkp.c (chkp_add_bounds_to_call_stmt): Set static
3655         chain for generated call.
3656
3657 2015-03-25  Richard Biener  <rguenther@suse.de>
3658
3659         * passes.c (pass_manager::execute_early_local_passes): Guard
3660         execution of pass_chkp_instrumentation_passes with
3661         flag_check_pointer_bounds.
3662         (pass_chkp_instrumentation_passes::gate): Likewise.
3663
3664 2015-03-25  Martin Liska  <mliska@suse.cz>
3665
3666         PR tree-optimization/65538
3667         * symbol-summary.h (function_summary::~function_summary):
3668         Relese memory for allocated summaries.
3669         (function_summary::release): New function.
3670
3671 2015-03-25  Jakub Jelinek  <jakub@redhat.com>
3672
3673         PR lto/65515
3674         * lto-streamer-out.c (DFS::worklist): New struct.
3675         (DFS::worklist_vec): New data member.
3676         (DFS::next_dfs_num): Remove.
3677         (DFS::DFS): Rewritten using worklist instead of recursion,
3678         using most of code from DFS::DFS_write_tree.
3679         (DFS::DFS_write_tree_body): Remove SINGLE_P argument, don't
3680         pass it to DFS_write_tree calls.
3681         (DFS::DFS_write_tree): Remove SINGLE_P argument, after
3682         quick initial checks push it into worklist_vec and return.
3683
3684 2015-03-25  Richard Biener  <rguenther@suse.de>
3685
3686         PR middle-end/65519
3687         * genmatch.c (expr::gen_transform): Re-write to avoid
3688         using gimple_build.
3689
3690 2015-03-25  Bin Cheng  <bin.cheng@arm.com>
3691
3692         * doc/sourcebuild.texi (arm_tune_string_ops_prefer_neon): New.
3693
3694 2015-03-25  Bin Cheng  <bin.cheng@arm.com>
3695
3696         * config/arm/arm.opt (print_tune_info): New option.
3697         * config/arm/arm.c (arm_print_tune_info): New function.
3698         (arm_file_start): Call arm_print_tune_info.
3699         * config/arm/arm-protos.h (struct tune_params): Add comment.
3700         * doc/invoke.texi (@item -mprint-tune-info): New item.
3701         (-mtune): mention it in ARM Option Summary.
3702
3703 2015-03-25  DJ Delorie  <dj@redhat.com>
3704
3705         * config/rl78/rl78.c (rl78_print_operand_1): Move 'p' test to
3706         correct clause.
3707
3708 2015-03-24  Jan Hubicka  <hubicka@ucw.cz>
3709             Martin Liska  <mliska@suse.cz>
3710
3711         * ipa-icf-gimple.h (return_with_result): Add missing colon to dump.
3712         * ipa-icf.c (sem_function::get_hash): Hash new declaration properties.
3713         (sem_item::add_type): New function.
3714         (sem_function::hash_stmt): Add TREE_TYPE of gimple_op.
3715         (sem_function::compare_polymorphic_p): Do not consider indirect calls.
3716         (sem_item_optimizer::update_hash_by_addr_refs): Add ODR type to hash.
3717         (sem_function::equals_wpa): Fix typo.
3718         * ipa-icf.h (sem_item::add_type): New function.
3719         (symbol_compare_hashmap_traits): Replace hashing of pointer with symbol
3720         order.
3721
3722 2015-03-24  Jakub Jelinek  <jakub@redhat.com>
3723
3724         PR tree-optimization/65533
3725         * tree-vect-slp.c (vect_build_slp_tree): Before re-trying
3726         with swapped operands, call vect_free_slp_tree on
3727         SLP_TREE_CHILDREN of child and truncate the SLP_TREE_CHILDREN
3728         vector.
3729
3730 2015-03-24  Richard Biener  <rguenther@suse.de>
3731
3732         PR middle-end/65517
3733         * tree-cfg.c (remove_edge_and_dominated_blocks): Mark loops
3734         for fixup if necessary.
3735
3736 2015-03-23  Sandra Loosemore  <sandra@codesourcery.com>
3737
3738         * doc/extend.texi (Function Attributes): Add @cindex entries
3739         for all attributes and regularize their format.  Delete text
3740         about long-obsolete 68HC11 and 68HC12 targets.  Move misplaced
3741         information about "eightbit_data", "tiny_data", and "model"
3742         variable attributes to the Variable Attributes section.  Fix
3743         some obvious typos and copy-editing issues.
3744         (Variable Attributes, Type Attributes): Likewise add/fix
3745         @cindex entries for all attributes.
3746
3747 2015-03-23  Jakub Jelinek  <jakub@redhat.com>
3748
3749         PR target/65523
3750         * tree-chkp.c (chkp_build_returned_bound): Ignore
3751         ERF_RETURNS_ARG calls if they have fewer than needed arguments.
3752
3753 2015-03-23  Oleg Endo  <olegendo@gcc.gnu.org>
3754
3755         PR target/65505
3756         * config/sh/predicates.md (simple_mem_operand,
3757         displacement_mem_operand): Add test for reg.
3758         (short_displacement_mem_operand): Test for displacement_mem_operand
3759         before invoking sh_disp_addr_displacement.
3760         * config/sh/constraints.md (Sdd, Sra): Simplify.
3761         * config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1):
3762         Remove redundant displacement_mem_operand tests.
3763
3764 2015-03-23  Georg-Johann Lay  <avr@gjlay.de>
3765
3766         PR target/65296
3767         * config/avr/driver-avr.c (avr_devicespecs_file): Allow to specify
3768         the same -mmcu=MCU more than once.
3769
3770 2015-03-23  Jakub Jelinek  <jakub@redhat.com>
3771
3772         PR bootstrap/65522
3773         * ipa-devirt.c: Remove duplicate demangle.h include.
3774
3775         PR target/65504
3776         * config/i386/i386.c (ix86_copy_addr_to_reg): Set REG_POINTER
3777         on the pseudo.
3778         (expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Set
3779         REG_POINTER on *destptr after adjusting it for prologue size.
3780
3781         PR ipa/65521
3782         * ipa-icf.c (sem_item::update_hash_by_addr_refs): Hash
3783         ultimate_alias_target ()->order ints instead of
3784         ultimate_alias_target () pointers.
3785
3786 2015-03-23  Richard Biener  <rguenther@suse.de>
3787
3788         PR tree-optimization/65518
3789         * tree-vect-stmts.c (vectorizable_load): Reject single-element
3790         interleaving cases we generate absymal code for.
3791
3792 2015-03-23  Richard Biener  <rguenther@suse.de>
3793
3794         PR tree-optimization/65494
3795         * tree-vect-slp.c (vect_build_slp_tree): Do not (re-)allocate
3796         matches here.
3797         (vect_analyze_slp_instance): But do that here, always and once.
3798
3799 2015-03-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3800
3801         * expmed.c (synth_mult): Fix comment about multiplying by T-1 and
3802         adding T or multiplying by T+1 and subracting T.
3803
3804 2015-03-22  Jeff Law  <law@redhat.com>
3805
3806         PR rtl-optimization/64317
3807         * Makefile.in (OBJS): Add gcse-common.c
3808         * gcse.c: Include gcse-common.h
3809         (struct modify_pair_s): Move structure definition to gcse-common.h
3810         (compute_transp): Move function to gcse-common.c.
3811         (canon_list_insert): Similarly.
3812         (record_last_mem_set_info): Break out some code and put it into
3813         gcse-common.c.  Call into the new common code.
3814         (compute_local_properties): Pass additional arguments to compute_transp.
3815         * postreload-gcse.c: Include gcse-common.h and df.h
3816         (modify_mem_list_set, blocks_with_calls): New variables.
3817         (modify_mem_list, canon_modify_mem_list, transp): Likewise.
3818         (get_bb_avail_insn): Pass in the expression index too.
3819         (alloc_mem): Allocate memory for the new bitmaps and lists.
3820         (free_mem): Free memory for the new bitmaps and lists.
3821         (insert_expr_in_table): Record a bitmap index for each entry we
3822         add to the table.
3823         (record_last_mem_set_info): Call into common code in gcse-common.c.
3824         (get_bb_avail_insn): If no available insn was found in the requested
3825         BB.  If BB has a single predecessor, see if the expression is
3826         transparent in BB and available in that single predecessor.
3827         (compute_expr_transp): New wrapper for compute_transp.
3828         (eliminate_partially_redundant_load): Pass expression's bitmap_index
3829         to get_bb_avail_insn.  Compute next_pred_bb_end a bit later.
3830         (gcse_after_reload_main): If there are elements in the hash table,
3831         then compute transparency for all the elements in the hash table.
3832         * gcse-common.h: New file.
3833         * gcse-common.c: New file.
3834
3835 2015-03-22  Sandra Loosemore  <sandra@codesourcery.com>
3836
3837         * doc/cpp.texi (Search Path): Hyphenate "command-line" when used
3838         as an adjective.
3839         (System Headers): Likewise.
3840         (Ifdef): Likewise.
3841         (Traditional macros): Likewise.
3842         (Invocation): Likewise.
3843         (Option Index): Likewise.
3844         * doc/cppopts.texi (-M): Likewise.
3845         (-finput-charset): Likewise.
3846         (--help): Likewise.
3847         * doc.invoke.texi (AVR Options): Likewise.
3848         (V850 Options): Likewise.
3849
3850 2015-03-22  Jan Hubicka  <hubicka@ucw.cz>
3851
3852         PR ipa/65475
3853         * ipa-devirt.c: Include demangle.h
3854         (odr_type_d): Add field rtti_broken.
3855         (odr_subtypes_equivalent_p): Do not require name to match.
3856         (compare_virtual_tables): Fix typo; if type already has ODR violation,
3857         bypass the tests; be ready for function referneces in vtables that are
3858         not DECL_VIRTUAL; make warnings to be OPT_Wodr.
3859         (warn_odr): Give up for nameless types.
3860         (warn_types_mismatch): Report mismatch in mangled names;
3861         report mismatch in anonymous namespaces; look into component types to
3862         give useful error; report when mismatch is dragged in from other ODR
3863         type.
3864         (odr_types_equivalent_p): Match types for being polymorphic; avoid
3865         duplicated diagnostics.
3866         (add_type_duplicate): Reorder checks so more informative ones come
3867         first; fix typo; do not output "the extra base is defined here" when
3868         we did not warn.
3869         (BINFO_N_BASE_BINFOS): Relax sanity check.
3870
3871 2015-03-22  Martin Liska  <mliska@suse.cz>
3872             Jakub Jelinek  <jakub@redhat.com>
3873
3874         * config/i386/i386.c (def_builtin): Set deferred_isa_values for
3875         masks that can potentially include a builtin.
3876         (ix86_add_new_builtins): Introduce fast filter for isa values
3877         that cannot trigger builtin inclusion.
3878
3879 2015-03-22  Martin Liska  <mliska@suse.cz>
3880
3881         * ipa-icf.c (sem_item::update_hash_by_addr_refs): New function.
3882         (sem_item::update_hash_by_local_refs): Likewise.
3883         (sem_variable::get_hash): Empty line is fixed.
3884         (sem_item_optimizer::execute): Include adding of hash references.
3885         (sem_item_optimizer::update_hash_by_addr_refs): New function.
3886         (sem_item_optimizer::build_hash_based_classes): Use local hash.
3887         * ipa-icf.h (sem_item::update_hash_by_addr_refs): New function.
3888         (sem_item::update_hash_by_local_refs): Likewise.
3889
3890 2015-03-20  Jan Hubicka  <hubicka@ucw.cz>
3891
3892         PR ipa/65502
3893         * ipa-comdats.c (enqueue_references): Walk through thunks.
3894         (ipa_comdats): Likewise.
3895         (set_comdat_group_1): New function.
3896
3897 2015-03-20  Jan Hubicka  <hubicka@ucw.cz>
3898
3899         PR ipa/65475
3900         * ipa-devirt.c (add_type_duplicate): Prevail polymorphic type over
3901         non-polymorphic
3902
3903 2015-03-22  Dave Korn  <dave.korn.cygwin@gmail.com>
3904             Gerald Pfeifer  <gerald@pfeifer.com>
3905
3906         * doc/contrib.texi (Contributors): Update entry for Danny Smith.
3907
3908 2015-03-21  Chung-Lin Tang  <cltang@codesourcery.com>
3909             Sandra Loosemore  <sandra@codesourcery.com>
3910
3911         * config/nios2/nios2-protos.h (nios2_adjust_call_address): Adjust
3912         function parameter declaration.
3913         * config/nios2/nios2.md (call,call_value,sibcall,sibcall_value):
3914         Update arguments to nios2_adjust_call_address().
3915         (sibcall_internal): Rename from *sibcall.
3916         (sibcall_value_internal): Rename from *sibcall_value.
3917         * config/nios2/nios2.c (nios2_emit_add_constant): New function.
3918         (nios2_large_got_address): Add target temp reg parameter.
3919         (nios2_got_address): Adjust call to nios2_large_got_address, add
3920         force_reg around it.
3921         (nios2_load_pic_address): Add target temp reg parameter, replace call
3922         to nios2_got_address with corresponding code.
3923         (nios2_legitimize_constant_address): Update call to
3924         nios2_load_pic_address.
3925         (nios2_adjust_call_address): Add temp reg parameter, update PIC case
3926         to use temp reg for PIC loading purposes.
3927         (nios2_asm_output_mi_thunk): Implement TARGET_ASM_OUTPUT_MI_THUNK.
3928         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
3929         (TARGET_ASM_OUTPUT_MI_THUNK): Likewise.
3930
3931 2015-03-21  Sandra Loosemore  <sandra@codesourcery.com>
3932
3933         * doc/invoke.texi (-fno-diagnostics-show-caret): Fix
3934         usage of "the @option{...}".
3935         (-Wopenmp-simd): Likewise.
3936         (-fsanitize-recover): Likewise.
3937         (-fsanitize-undefined-trap-on-error): Likewise.
3938         (-flto): Likewise.
3939         (tracer-dynamic-coverage-feedback): Likewise.
3940         (reorder-block-duplicate-feedback): Likewise.
3941         (loop-unroll-jam-size): Likewise.
3942         (-B): Likewise.
3943         (-I-): Likewise.
3944         (-mabs=legacy): Likewise.
3945         (-mupper-regs-df): Likewise.
3946         (-mupper-regs-sf): Likewise.
3947         (-mpointers-to-nested-functions): Likewise.
3948
3949 2015-03-21  Sandra Loosemore  <sandra@codesourcery.com>
3950
3951         * doc/extend.texi (Cilk Plus Builtins): Add markup.
3952
3953 2015-03-21  Sandra Loosemore  <sandra@codesourcery.com>
3954
3955         * doc/invoke.texi (-fcheck-pointer-bounds): Copy-edit, add
3956         additional index entries and cross-references.
3957         (-fchkp-check-incomplete-type): Likewise.
3958         (-fchkp-first-field-has-own-bounds): Likewise.
3959         (-fchkp-narrow-to-innermost-array): Likewise.
3960         (-fchkp-use-fast-string-functions): Likewise.
3961         (-fchkp-use-nochk-string-functions): Likewise.
3962         (-fchkp-use-static-const-bounds): Likewise.
3963         (-fchkp-treat-zero-dynamic-size-as-infinite): Likewise.
3964         (-fchkp-instrument-marked-only): Likewise.
3965         (-fchkp-use-wrappers): Likewise.
3966         (-static-libmpx): Likewise.
3967         (-static-libmpxwrappers): Likewise.
3968         * doc/extend.texi (bnd_legacy): Likewise.
3969         (bnd_instrument): Likewise.
3970         (bnd_variable_size): Likewise.
3971         (Pointer Bounds Checker builtins): Likewise.
3972
3973 2015-03-21  Tom de Vries  <tom@codesourcery.com>
3974
3975         PR tree-optimization/65458
3976         * cgraph.c (cgraph_node::dump): Handle parallelized_function field.
3977         * cgraph.h (cgraph_node): Add parallelized_function field.
3978         * lto-cgraph.c (lto_output_node): Write parallelized_function field.
3979         (input_overwrite_node): Read parallelized_function field.
3980         * omp-low.c (expand_omp_taskreg, finalize_task_copyfn): Set
3981         parallelized_function on cgraph_node for child_fn.
3982         * tree-parloops.c: Add include of plugin-api.h, ipa-ref.h and cgraph.h.
3983         Remove include of gt-tree-parloops.h.
3984         (parallelized_functions): Remove static variable.
3985         (parallelized_function_p): Rewrite using parallelized_function field of
3986         cgraph_node.
3987         (create_loop_fn): Remove adding to parallelized_functions.
3988         * Makefile.in (GTFILES): Remove tree-parloops.c
3989
3990 2015-03-20  Vladimir Makarov  <vmakarov@redhat.com>
3991
3992         PR rtl-optimization/64366
3993         * lra.c (lra_update_insn_regno_info): Consider regs in
3994         CALL_INSN_FUNCTION_USAGE memory.
3995
3996 2015-03-20  Richard Biener  <rguenther@suse.de>
3997
3998         PR middle-end/64715
3999         * tree-chrec.c (chrec_fold_poly_cst): Use useless_type_conversion_p
4000         for type comparison and gcc_checking_assert.
4001         (chrec_fold_plus_poly_poly): Likewise.
4002         (chrec_fold_multiply_poly_poly): Likewise.
4003         (chrec_convert_1): Likewise.
4004         * gimplify.c (gimplify_expr): Remove premature folding of
4005         &X + CST to &MEM[&X, CST].
4006
4007 2015-03-20  Jan Hubicka  <hubicka@ucw.cz>
4008
4009         * ipa-inline.c (can_inline_edge_p): Short circuit if inline_failed
4010         already is final.
4011         (ipa_inline): Recompute inline_failed codes.
4012         * cif-code.def (FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE,
4013         USES_COMDAT_LOCAL, ATTRIBUTE_MISMATCH, UNREACHABLE): Declare as
4014         CIF_FINAL_ERROR.
4015
4016 2015-03-20  Uros Bizjak  <ubizjak@gmail.com>
4017
4018         PR rtl-optimization/60851
4019         * recog.c (constrain_operands): Accept a pseudo register before reload
4020         for LRA enabled targets.
4021
4022 2015-03-19  Michael Meissner  <meissner@linux.vnet.ibm.com>
4023
4024         PR target/65240
4025         * config/rs6000/predicates.md (easy_fp_constant): Remove special
4026         -ffast-math handling that kept non-0 constants live in the RTL
4027         until reload.  Remove logic testing the number of instructions it
4028         took to create a constant in a GPR that was never used, due to a
4029         test for soft-float earlier.
4030         (memory_fp_constant): Delete, no longer used.
4031
4032         * config/rs6000/rs6000.md (mov<MODE>_hardfloat): Remove
4033         alternatives for loading non-0 constants into GPRs for hard
4034         floating point that is no longer needed due to changes in
4035         easy_fp_constant.  Add support for loading 0.0 into GPRs.
4036         (mov<mode>_hardfloat32): Likewise.
4037         (mov<mode>_hardfloat64): Likewise.
4038         (mov<mode>_64bit_dm): Likewise.
4039         (movtd_64bit_nodm): Likewise.
4040         (pre-reload move FP constant define_split): Delete define_split,
4041         since it is no longer used.
4042         (extenddftf2_internal): Remove GHF constraints that are not valid
4043         for extenddftf2.
4044
4045 2015-03-19  Vladimir Makarov  <vmakarov@redhat.com>
4046
4047         PR rtl-optimization/63491
4048         * lra-constraints.c (check_and_process_move): Use src instead of
4049         sreg.  Remove some dead code.
4050
4051 2015-03-19  Jan Hubicka  <hubicka@ucw.cz>
4052
4053         PR ipa/65380
4054         * ipa-icf.c (sem_function::merge): Do not merge DECL_EXTERNAL symbols.
4055         (sem_variable::merge): Likewise.
4056
4057 2015-03-19  Martin Liska  <mliska@suse.cz>
4058
4059         PR ipa/65465
4060         * cgraphunit.c (cgraph_node::create_wrapper): Correctly reset
4061         all fields of cgraph_thunk_info.
4062
4063 2015-03-19  Ilya Enkovich  <ilya.enkovich@intel.com>
4064
4065         * ipa-chkp.c (chkp_maybe_create_clone): Don't try to
4066         clone instrumented thunks.
4067
4068 2015-03-19  Richard Biener  <rguenther@suse.de>
4069
4070         Revert
4071         2015-03-10  Richard Biener  <rguenther@suse.de>
4072
4073         PR middle-end/63155
4074         * tree-ssa-coalesce.h (verify_ssa_coalescing): Declare.
4075         * tree-ssa-coalesce.c: Include timevar.h.
4076         (attempt_coalesce): Handle graph being NULL.
4077         (coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING.
4078         Split out abnormal coalescing to ...
4079         (perform_abnormal_coalescing): ... this function.
4080         (coalesce_ssa_name): Perform abnormal coalescing without computing
4081         live/conflict.
4082         (verify_ssa_coalescing_worker): New function.
4083         (verify_ssa_coalescing): Likewise.
4084
4085 2015-03-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>
4086             Jakub Jelinek  <jakub@redhat.com>
4087
4088         PR sanitizer/65400
4089         * tsan.c (instrument_gimple): Clear tail call flag on
4090         calls.
4091
4092 2015-03-19  Jakub Jelinek  <jakub@redhat.com>
4093
4094         PR sanitizer/65400
4095         * ipa-split.c (find_return_bb): Allow TSAN_FUNC_EXIT internal
4096         call in the return bb.
4097         (find_split_points): Add RETURN_BB argument, don't call
4098         find_return_bb.
4099         (split_function): Likewise.  Add ADD_TSAN_FUNC_EXIT argument,
4100         if true append TSAN_FUNC_EXIT internal call after the call to
4101         the split off function.
4102         (execute_split_functions): Call find_return_bb here.
4103         Don't optimize if TSAN_FUNC_EXIT is found in unexpected places.
4104         Adjust find_split_points and split_function calls.
4105
4106 2015-03-18  DJ Delorie  <dj@redhat.com>
4107
4108         * config/rl78/rl78-virt.md (andqi3_virt): Allow far operands.
4109         (iorqi3_virt): Likewise.
4110
4111 2015-03-18  Tom de Vries  <tom@codesourcery.com>
4112
4113         * tree-parloops.c (parallelize_loops): Make static.
4114         * tree-parloops.h (parallelize_loops): Remove extern declaration.
4115
4116 2015-03-18  Andrew Stubbs  <ams@codesourcery.com>
4117
4118         PR middle-end/64491
4119         Revert:
4120         2014-11-20  Andrew Stubbs  <ams@codesourcery.com>
4121
4122         * tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Warn if a loop
4123         condition would be removed due to undefined behaviour.
4124
4125 2015-03-18  Martin Liska  <mliska@suse.cz>
4126
4127         PR ipa/65432
4128         * cgraph.c (cgraph_node::get_create): Remove unnecessary
4129         xstrdup_for_dump wrapper.
4130         * ipa-icf.c (sem_item::dump): Use symtab_node::name instead of
4131         sem_item::name.
4132         (sem_function::equals): Wrap symtab_node::name and symtab_node::asm_name
4133         with xstrdup_for_dump.
4134         (sem_variable::equals): Likewise.
4135         (sem_item_optimizer::read_section): Use symtab_node::name instead of
4136         sem_item::name.
4137         (sem_item_optimizer::parse_funcs_and_vars): Likewise.
4138         (sem_item_optimizer::merge_classes): Wrap symtab_node::name and
4139         symtab_node::asm_name with xstrdup_for_dump.
4140         (congruence_class::dump): Use symtab_node::name instead of
4141         sem_item::name.
4142         * ipa-icf.h (symtab_node::name): Remove.
4143         (symtab_node::asm_name): Likewise.
4144
4145 2015-03-18  Jakub Jelinek  <jakub@redhat.com>
4146
4147         PR tree-optimization/65450
4148         * tree-vect-data-refs.c (vect_duplicate_ssa_name_ptr_info): New
4149         function.
4150         (vect_create_addr_base_for_vector_ref, vect_create_data_ref_ptr): Use
4151         it instead of duplicate_ssa_name_ptr_info.
4152
4153         PR target/65222
4154         * doc/invoke.texi: Add knl as x86 -march=/-mtune= CPU type.
4155
4156 2015-03-18  Richard Biener  <rguenther@suse.de>
4157
4158         * tree-data-ref.h (struct access_matrix): Remove.
4159         (AM_LOOP_NEST, AM_NB_INDUCTION_VARS, AM_PARAMETERS, AM_MATRIX,
4160         AM_NB_PARAMETERS, AM_CONST_COLUMN_INDEX, AM_NB_COLUMNS,
4161         AM_GET_SUBSCRIPT_ACCESS_VECTOR, AM_GET_ACCESS_MATRIX_ELEMENT): Likewise.
4162         (am_vector_index_for_loop): Likewise.
4163         (struct data_reference): Remove access_matrix member.
4164         (DR_ACCESS_MATRIX): Remove.
4165         (lambda_vector_new): Add comment.
4166         (lambda_matrix_new): Use XOBNEWVEC.
4167
4168 2015-03-18  Richard Biener  <rguenther@suse.de>
4169
4170         * tree-ssa-loop-ch.c (pass_data_ch): Remove TODO_cleanup_cfg.
4171         (pass_ch::execute): Cleanup the CFG only if we did sth.
4172         * tree-vect-generic.c (pass_data_lower_vector): Remove TODO_cleanup_cfg.
4173
4174 2015-03-18  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4175
4176         * expmed.c (synth_mult): Use std::swap instead of manually
4177         swapping algorithms.
4178
4179 2015-03-18  Jakub Jelinek  <jakub@redhat.com>
4180
4181         PR target/65078
4182         * config/i386/sse.md (movsi/movdi -> vec_extract_*_0 splitter): New.
4183
4184 2015-03-16  Georg-Johann Lay  <avr@gjlay.de>
4185
4186         PR target/65296
4187         * config/avr/avr.opt (-nodevicelib): New option.
4188         * doc/invoke.texi (AVR Options): Document it.
4189         * config/avr/avrlibc.h (LIB_SPEC, LIBGCC_SPEC) [avr1]: Don't link
4190         libgcc.a, libc.a, libm.a.
4191         * config/avr/specs.h: Same.
4192         * config/avr/gen-avr-mmcu-specs.c (print_mcu): Don't print specs
4193         which don't (directly) depend on the device.  Print more help.
4194         (*avrlibc_devicelib) [-nodevicelib]: Don't link libdev.a.
4195         (*cpp): Don't define __AVR_DEV_LIB_NAME__.
4196         * config/avr/driver-avr.c: Remove -nodevicelib from option list in
4197         case of an error.
4198         (avr_devicespecs_file): Use suffix "%s" instead of absolute path
4199         for specs file name.
4200         * config/avr/avr-arch.h (avr_mcu_t) [.library_name]: Remove.
4201         * config/avr/avr-mcus.def: Adjust initializers and comments.
4202
4203 2015-03-16  Jan Hubicka  <hubicka@ucw.cz>
4204
4205         * tree-sra.c (ipa_sra_preliminary_function_checks): Use
4206         DECL_ONE_ONLY to check if decl is one only.
4207         * ipa-split.c (consider_split): Limit splitt of one only functions.
4208
4209 2015-03-16  Jakub Jelinek  <jakub@redhat.com>
4210
4211         PR tree-optimization/65427
4212         * tree-vect-generic.c (do_cond, expand_vector_scalar_condition): New
4213         functions.
4214         (expand_vector_operations_1): Handle BLKmode vector COND_EXPR.
4215
4216 2015-03-16  Marek Polacek  <polacek@redhat.com>
4217
4218         * cgraph.h (add_new_static_var): Remove declaration.
4219         * varpool.c (add_new_static_var): Remove function.
4220
4221 2015-03-16  Jakub Jelinek  <jakub@redhat.com>
4222
4223         * omp-low.c (expand_omp_target): Use auto_vec<tree, 11>
4224         instead of vec<tree> * with vec_alloc and release for args.
4225         Adjust all users.
4226
4227         PR middle-end/65431
4228         * omp-low.c (delete_omp_context): Only splay_tree_delete
4229         reduction_map in GIMPLE_OMP_TARGET is_gimple_omp_offloaded
4230         is_gimple_omp_oacc contexts.  Don't look at ctx->outer.
4231
4232 2015-03-16  Max Ostapenko  <m.ostapenko@partner.samsung.com>
4233
4234         PR sanitizer/64820
4235         * cfgexpand.c (align_base): New function.
4236         (alloc_stack_frame_space): Call it.
4237         (expand_stack_vars): Align prev_frame to be sure
4238         data->asan_vec elements aligned properly.
4239
4240 2015-03-16  Eric Botcazou  <ebotcazou@adacore.com>
4241
4242         PR middle-end/65409
4243         * expr.c (store_field): Do not do a direct block copy if the source is
4244         a PARALLEL with BLKmode.
4245
4246 2015-03-16  Tom de Vries  <tom@codesourcery.com>
4247
4248         PR middle-end/65414
4249         Revert:
4250         2015-03-12  Tom de Vries  <tom@codesourcery.com>
4251
4252         PR rtl-optimization/64895
4253         * lra-lives.c (check_pseudos_live_through_calls): Use
4254         actual_call_used_reg_set instead of call_used_reg_set, if available.
4255
4256 2015-03-16  Alan Modra  <amodra@gmail.com>
4257
4258         PR target/63150
4259         * config/rs6000/rs6000.md (bswapdi2): Remove one scratch reg.
4260         Modify Z->r bswapdi splitter to use dest in place of scratch.
4261         In r->Z and Z->r bswapdi splitter rename word_high, word_low
4262         to word1, word2 and rearrange logic to suit.
4263         (bswapdi2_64bit): Remove early clobber on Z->r alternative.
4264         (bswapdi2_ldbrx): Likewise.  Remove '??' on r->r.
4265         (bswapdi2_32bit): Remove early clobber on Z->r alternative.
4266         Add one '?' on r->r.  Modify Z->r splitter to avoid need for
4267         early clobber.
4268
4269 2015-03-14  Jakub Jelinek  <jakub@redhat.com>
4270
4271         PR tree-optimization/65369
4272         * tree-vect-stmts.c (vectorizable_load) <case dr_explicit_realign>:
4273         Set bump to vs * TYPE_SIZE_UNIT (elem_type) - 1 instead of
4274         (vs - 1) * TYPE_SIZE_UNIT (elem_type).
4275
4276         PR tree-optimization/65418
4277         * tree-ssa-reassoc.c (extract_bit_test_mask): If there
4278         are casts in the first PLUS_EXPR operand, ensure tbias and
4279         *totallowp are in the inner type.
4280
4281         PR rtl-optimization/65401
4282         * combine.c (rtx_equal_for_field_assignment_p): Add widen_x
4283         argument.  If true, adjust_address_nv of x with big-endian
4284         correction for the mode widening to GET_MODE (y).
4285         (make_field_assignment): Don't do MEM mode widening here.
4286         Use MEM_P instead of GET_CODE == MEM.
4287
4288 2015-03-13  Ilya Verbin  <ilya.verbin@intel.com>
4289
4290         * varpool.c (varpool_node::get_create): Don't set 'offloadable' flag for
4291         the external decls.
4292
4293 2015-03-13  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4294
4295         PR target/64600
4296         * config/arm/arm.c (arm_gen_constant, AND case): Use
4297         ARM_SIGN_EXTEND when constructing AND mask.
4298
4299 2015-03-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>
4300
4301         * graph.c (print_graph_cfg): Make function names visible and append
4302         parenthesis to it.  Also make groups of basic blocks belonging to the
4303         same function visible.
4304
4305 2015-03-12  Richard Biener  <rguenther@suse.de>
4306
4307         PR middle-end/44563
4308         * tree-inline.c (gimple_expand_calls_inline): Walk BB backwards
4309         to avoid quadratic behavior with inline expansion splitting blocks.
4310         * tree-cfgcleanup.c (cleanup_tree_cfg_bb): Do not merge block
4311         with the successor if the predecessor will be merged with it.
4312         * tree-cfg.c (gimple_can_merge_blocks_p): We can't merge the
4313         entry block with its successor.
4314
4315 2015-03-13  Richard Biener  <rguenther@suse.de>
4316
4317         PR middle-end/44563
4318         * tree-cfgcleanup.c (split_bb_on_noreturn_calls): Remove.
4319         (cleanup_tree_cfg_1): Do not call it.
4320         (execute_cleanup_cfg_post_optimizing): Fixup the CFG here.
4321         (fixup_noreturn_call): Mark the stmt as control altering.
4322         * tree-cfg.c (execute_fixup_cfg): Do not dump the function
4323         here.
4324         (pass_data_fixup_cfg): Produce a dump file.
4325         * tree-ssa-dom.c: Include tree-cfgcleanup.h.
4326         (need_noreturn_fixup): New global.
4327         (pass_dominator::execute): Fixup queued noreturn calls.
4328         (optimize_stmt): Queue calls that became noreturn for fixup.
4329         * tree-ssa-forwprop.c (pass_forwprop::execute): Likewise.
4330         * tree-ssa-pre.c: Include tree-cfgcleanup.h.
4331         (el_to_fixup): New global.
4332         (eliminate_dom_walker::before_dom_childre): Queue calls that
4333         became noreturn for fixup.
4334         (eliminate): Fixup queued noreturn calls.
4335         * tree-ssa-propagate.c: Include tree-cfgcleanup.h.
4336         (substitute_and_fold_dom_walker): New member stmts_to_fixup.
4337         (substitute_and_fold_dom_walker::before_dom_children): Queue
4338         alls that became noreturn for fixup.
4339         (substitute_and_fold): Fixup queued noreturn calls.
4340
4341 2015-03-12  Jan Hubicka  <hubicka@ucw.cz>
4342
4343         * ipa-icf.c (sem_function::equals_wpa): Match CXX_CONSTRUCTOR_P
4344         and CXX_DESTURCTOR_P. For consutrctors match ODR type of class they
4345         are building; for methods check ODR type of class they belong to if
4346         they may lead to a polymorphic call.
4347         (sem_function::compare_polymorphic_p): Be bit smarter about testing
4348         when function may lead to a polymorphic call.
4349         (sem_function::compare_type_list): Remove.
4350         (sem_variable::equals): Update use of compatible_types_p.
4351         (sem_variable::parse_tree_refs): Remove.
4352         (sem_item_optimizer::filter_removed_items): Do not filter out CXX
4353         cdtor.
4354         * ipa-icf-gimple.c (func_checker::compare_decl): Do polymorphic
4355         matching here.
4356         (func_checker::compatible_polymorphic_types_p): Break out from ...
4357         (unc_checker::compatible_types_p): ... here.
4358         * ipa-icf-gimple.h (func_checker::compatible_polymorphic_types_p):
4359         Declare.
4360         (unc_checker::compatible_types_p): Update.
4361         * ipa-icf.h (compare_type_list, parse_tree_refs, compare_sections):
4362         Remove.
4363
4364 2015-03-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4365
4366         PR rtl-optimization/65235
4367         * simplify-rtx.c (simplify_binary_operation_1, VEC_SELECT case):
4368         When first element of vec_concat is const_int, calculate its size
4369         using second element.
4370
4371 2015-03-12  Richard Biener  <rguenther@suse.de>
4372
4373         PR middle-end/65270
4374         * fold-const.c (operand_equal_p): Fix ordering of resetting
4375         OEP_ADDRESS_OF and checking for it in the [TARGET_]MEM_REF case.
4376
4377 2015-03-12  Dominik Vogt  <vogt@linux.vnet.ibm.com>
4378
4379         * config/s390/s390.c (s390_reorg): Move code to output nops after label
4380         to s390_reorg ().
4381         (s390_asm_output_function_label): Likewise.
4382         * config/s390/s390.c (s390_asm_output_function_label):
4383         Fix function label alignment with -mhtopatch.
4384         * config/s390/s390.md ("unspecv"): New values UNSPECV_NOP_2_BYTE,
4385         UNSPECV_NOP_4_BYTE and UNSPECV_NOP_6_BYTE
4386         ("nop_2_byte"): New define_insn.
4387         ("nop_4_byte"): Likewise.
4388         ("nop_6_byte"): Likewise.
4389         * doc/extend.texi (hotpatch): hotpatch attribute doc fixes.
4390         * doc/invoke.texi (-mhotpatch): -mhotpatch doc fixes.
4391
4392 2015-03-12  Ilya Enkovich  <ilya.enkovich@intel.com>
4393
4394         PR target/65103
4395         * config/i386/i386.c (ix86_address_cost): Fix cost of a PIC
4396         register.
4397
4398 2015-03-12  Ilya Enkovich  <ilya.enkovich@intel.com>
4399
4400         PR target/65044
4401         * toplev.c (process_options): Restrict Pointer Bounds Checker
4402         usage with Address Sanitizer.
4403
4404 2015-03-12  Richard Biener  <rguenther@suse.de>
4405
4406         * tree-cfg.c (gimple_split_block): Remove loop finding stmt
4407         to split on.
4408         * omp-low.c (expand_omp_taskreg): Split block before removing
4409         the stmt.
4410         (expand_omp_target): Likewise.
4411         * ubsan.c (ubsan_expand_null_ifn): Adjust stmt if we replaced it.
4412         * tree-parloops.c (create_call_for_reduction_1): Pass a proper
4413         stmt to split_block.
4414
4415 2015-03-12  Tom de Vries  <tom@codesourcery.com>
4416
4417         PR rtl-optimization/64895
4418         * lra-lives.c (check_pseudos_live_through_calls): Use
4419         actual_call_used_reg_set instead of call_used_reg_set, if available.
4420
4421 2015-03-10  Jan Hubicka  <hubicka@ucw.cz>
4422
4423         * cgraph.c (cgraph_node::release_body): Free function_in_decl_state.
4424         (cgraph_node::remove): Likewise.
4425         (cgraph_node::get_untransformed_body): Likewise.
4426         * varpool.c (varpool_node::remove): Likewise.
4427         (varpool_node::get_constructor): Add sanity check.
4428
4429 2015-03-11  Sandra Loosemore  <sandra@codesourcery.com>
4430
4431         * doc/invoke.texi (-fgnu89-inline): Remove discussion about
4432         old GCC versions.
4433         (-fabi-compat-version): Likewise.
4434         (-ffriend-injection): Likewise.
4435         (-Wdeclaration-after-statement): Likewise.
4436         (-fomit-frame-pointer): Likewise.
4437         (-ftree-coalesce-inlined-vars): Likewise.
4438         (-fvisibility=): Likewise.
4439         * doc/extend.texi (Typeof): Likewise.
4440         (Zero Length): Likewise.
4441         (Escaped Newlines): Likewise.
4442         (Compound Literals): Likewise.
4443         (Function Attributes): Likewise.
4444         (Label Attributes): Likewise.
4445         (Type Attributes): Likewise.
4446         (Function Names): Likewise.
4447         (Other Builtins): Likewise.
4448         (Function Specific Option Pragmas): Likewise.
4449         (C++ Interface): Likewise.
4450
4451 2015-03-11  Thomas Schwinge  <thomas@codesourcery.com>
4452
4453         * config/nvptx/nvptx.h (LIBSTDCXX): Define to "gcc".
4454
4455 2015-03-11  Marek Polacek  <polacek@redhat.com>
4456
4457         PR tree-optimization/65388
4458         * tree-ssa-tail-merge.c (same_succ_def::equal): Fix typo in comparison.
4459
4460 2015-03-10  Georg-Johann Lay  <avr@gjlay.de>
4461
4462         PR target/65296
4463         * configure.ac [avr]: Check as for options -mrmw, --mlink-relax.
4464         * configure: Regenerate.
4465         * config.in: Regenerate.
4466         * doc/invoke.texi (AVR Options) [-mrmw]: Document it.
4467         [-mn-flash]: Document it.
4468         [__AVR_ARCH__]: Document avrtiny.
4469
4470         * config/avr/gen-avr-mmcu-specs.c (config.h): Include it.
4471         (*asm_relax): Only define spec if HAVE_AS_AVR_MLINK_RELAX_OPTION.
4472         (*asm_rmw): Only define spec if HAVE_AS_AVR_MRMW_OPTION.
4473
4474 2015-03-11  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
4475
4476         * doc/invoke.texi: Add missing cpu values (z196, zEC12).
4477
4478 2015-03-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
4479
4480         PR target/65242
4481         * config/rs6000/rs6000.c (rs6000_preferred_reload_class): Do not
4482         allow reloads of PLUS in floating point/VSX registers.
4483
4484 2015-03-11  Junmo Park  <junmoz.park@samsung.com>
4485
4486         * config/arm/cortex-a57.md (cortex_a57_crypto_simple): Add
4487         crypto_sha256_fast.
4488         (cortex_a57_crypto_complex): Add crypto_sha256_slow.
4489
4490 2015-03-11  Richard Biener  <rguenther@suse.de>
4491
4492         PR tree-optimization/65310
4493         * tree-sra.c (build_ref_for_offset): Also preserve larger
4494         alignment.
4495
4496 2015-03-11  Marat Zakirov  <m.zakirov@samsung.com>
4497
4498         * asan.c (instrument_derefs): Disable instrumentation on asan-globals=0.
4499
4500 2015-03-10  Jakub Jelinek  <jakub@redhat.com>
4501
4502         PR target/65368
4503         * config/i386/i386.md (bmi2_bzhi_<mode>3): Removed define_insn,
4504         new define_expand.
4505         (*bmi2_bzhi_<mode>3, *bmi2_bzhi_<mode>3_1): New define_insns.
4506
4507 2015-03-10  Jan Hubicka  <hubicka@ucw.cz>
4508
4509         * ipa-icf.c (sem_function::equals_wpa): Move here some checks from ...
4510         (sem_function::equals_wpa): ... here.
4511
4512 2015-03-10  Marek Polacek  <polacek@redhat.com>
4513             Jakub Jelinek  <jakub@redhat.com>
4514
4515         PR sanitizer/65367
4516         * ubsan.c (ubsan_expand_objsize_ifn): Update GSI instead of GSI_ORIG
4517         when only removing the statement.  Handle expanding UBSAN_OBJECT_SIZE
4518         separately.
4519
4520 2015-03-10  Jakub Jelinek  <jakub@redhat.com>
4521
4522         PR target/65286
4523         * config/rs6000/t-linux: For powerpc64* target set
4524         MULTILIB_OSDIRNAMES instead of MULTIARCH_DIRNAME.
4525
4526 2015-03-10  Richard Biener  <rguenther@suse.de>
4527
4528         PR middle-end/44563
4529         * tree-inline.c (copy_cfg_body): Skip block mapped to entry/exit
4530         for redirect_all_calls.
4531
4532 2015-03-10  Marek Polacek  <polacek@redhat.com>
4533
4534         * gdbinit.in (pcfun): Define and document.
4535
4536 2015-03-10  Ilya Verbin  <ilya.verbin@intel.com>
4537
4538         * config/i386/intelmic-mkoffload.c: Include intelmic-offload.h instead
4539         of libgomp-plugin.h.
4540         (find_target_compiler): Support a case when the path to gcc is
4541         specified in the PATH env var, so COLLECT_GCC doesn't contain a path.
4542         (generate_host_descr_file): Use GOMP_DEVICE_INTEL_MIC from
4543         intelmic-offload.h instead of OFFLOAD_TARGET_TYPE_INTEL_MIC from
4544         libgomp-plugin.h.
4545         (main): Use GCC_INSTALL_NAME as target_driver_name.
4546         * config/i386/t-intelmic (CFLAGS-mkoffload.o): Add GCC_INSTALL_NAME
4547         define.
4548         (mkoffload.o): Remove obsolete include path and defines.
4549         (mkoffload$(exeext)): Use $(LINKER) instead of $(COMPILER).
4550
4551 2015-03-10  Richard Biener  <rguenther@suse.de>
4552
4553         PR middle-end/63155
4554         * tree-ssa-coalesce.h (verify_ssa_coalescing): Declare.
4555         * tree-ssa-coalesce.c: Include timevar.h.
4556         (attempt_coalesce): Handle graph being NULL.
4557         (coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING.
4558         Split out abnormal coalescing to ...
4559         (perform_abnormal_coalescing): ... this function.
4560         (coalesce_ssa_name): Perform abnormal coalescing without computing
4561         live/conflict.
4562         (verify_ssa_coalescing_worker): New function.
4563         (verify_ssa_coalescing): Likewise.
4564
4565 2015-03-10  Georg-Johann Lay  <avr@gjlay.de>
4566
4567         PR target/65296
4568         * config.gcc (extra_options) [avr]: Remove.
4569         (extra_gcc_objs) [avr]: Use driver-avr.o, avr-devices.o.
4570         (tm_file) [avr]: Add avr/specs.h after avr/avr.h.
4571         (tm_defines) [avr-*-rtems*]: Add WITH_RTEMS.
4572
4573         * config/avr/avr.opt (config/avr/avr-arch.h): Remove include.
4574         (-mmcu=): Add Var and MissingArgError properties.
4575         (-march=): Remove.
4576         * config/avr/genmultilib.awk: Use -mmcu= instead of -march=.
4577         * config/avr/t-multilib: Regenerate.
4578         * config/avr/specs.h: New file.
4579         * config/avr/driver-avr.c: New file.
4580         * config/avr/genopt.sh: Remove file.
4581         * config/avr/avr-tables.opt: Remove file.
4582         * config/avr/predicates.md (avr_current_arch): Rename to avr_arch.
4583         * config/avr/avr-c.c: Same.
4584         * avr-arch.h: Same.
4585         (avr_current_device): Remove proto.
4586         * config/avr/avr.h (avr_current_arch): Rename to avr_arch.
4587         (AVR_HAVE_8BIT_SP): Don't depend on avr_current_device.
4588         (EXTRA_SPEC_FUNCTIONS): Define.
4589         (avr_devicespecs_file): New specs function proto.
4590         (DRIVER_SELF_SPECS): Use device-specs-file spec function.
4591         * config/avr/avr.c (avr_current_arch): Rename to avr_arch.
4592         (avr_current_device): Remove definition and usage.
4593         (avr_set_core_architecture): New static function.
4594         (avr_option_override): Use it.
4595         * config/avr/avr-devices.c (diagnostic.h, avr-arch.h): Include them.
4596         (mcu_name): New static array.
4597         (comparator, avr_archs_str, avr_mcus_str): New static functions.
4598         (avr_inform_devices, avr_inform_core_architectures): New functions.
4599         * config/avr/gen-avr-mmcu-specs.c (avr-arch.h, specs.h): Include.
4600         (avrlibc.h) [WITH_AVRLIBC]: Include.
4601         (../rtems.h, rtems.h) [WITH_RTEMS]: Include.
4602         (print_mcu): Rewrite from scratch.
4603         * config/avr/avrlibc.h (LIB_SPEC, LIBGCC_SPEC, STARTFILE_SPEC):
4604         Forward to avr-specific specs defined in device-specs file.
4605         * config/avr/t-avr (driver-avr.o): New rule.
4606         (avr-devices.o): Depend on avr-arch.h.
4607         (avr-mcus): No more depend on avr-tables.opt.
4608         (avr-tables.opt): Remove rule.
4609         (install-device-specs): Use INSTALL_DATA, not INSTALL_PROGRAM.
4610
4611 2015-03-10  Ilya Enkovich  <ilya.enkovich@intel.com>
4612
4613         * c-family/c.opt (fchkp-use-wrappers): New.
4614         * ipa-chkp.c (CHKP_WRAPPER_SYMBOL_PREFIX): New.
4615         (chkp_wrap_function): New.
4616         (chkp_build_instrumented_fndecl): Support wrapped
4617         functions.
4618         * doc/invoke.texi (-fcheck-pointer-bounds): New.
4619         (-fchkp-check-incomplete-type): New.
4620         (-fchkp-first-field-has-own-bounds): New.
4621         (-fchkp-narrow-bounds): New.
4622         (-fchkp-narrow-to-innermost-array): New.
4623         (-fchkp-optimize): New.
4624         (-fchkp-use-fast-string-functions): New.
4625         (-fchkp-use-nochk-string-functions): New.
4626         (-fchkp-use-static-bounds): New.
4627         (-fchkp-use-static-const-bounds): New.
4628         (-fchkp-treat-zero-dynamic-size-as-infinite): New.
4629         (-fchkp-check-read): New.
4630         (-fchkp-check-write): New.
4631         (-fchkp-store-bounds): New.
4632         (-fchkp-instrument-calls): New.
4633         (-fchkp-instrument-marked-only): New.
4634         (-fchkp-use-wrappers): New.
4635         (-static-libmpx): New.
4636         (-static-libmpxwrappers): New.
4637
4638 2015-03-10  Ilya Enkovich  <ilya.enkovich@intel.com>
4639
4640         * config/i386/linux-common.h (LIBMPX_WRAPPERSSPEC): New.
4641         (CHKP_SPEC): Add wrappers library.
4642         * c-family/c.opt (static-libmpxwrappers): New.
4643
4644 2015-03-10  Ilya Enkovich  <ilya.enkovich@intel.com>
4645
4646         * config/i386/linux-common.h (LIBMPX_LIBS): New.
4647         (LIBMPX_SPEC): New.
4648         (CHKP_SPEC): New.
4649         * gcc.c (CHKP_SPEC): New.
4650         (LINK_COMMAND_SPEC): Add CHKP_SPEC.
4651         * c-family/c.opt (static-libmpx): New.
4652
4653 2015-03-10  Richard Biener  <rguenther@suse.de>
4654
4655         PR middle-end/44563
4656         * cgraph.h (struct cgraph_edge_hasher): Add hash overload
4657         for compare_type.
4658         * cgraph.c (cgraph_edge_hasher::hash): Inline htab_hash_pointer.
4659         (cgraph_update_edge_in_call_site_hash): Use cgraph_edge_hasher::hash.
4660         (cgraph_add_edge_to_call_site_hash): Likewise.
4661         (cgraph_node::get_edge): Likewise.
4662         (cgraph_edge::set_call_stmt): Likewise.
4663         (cgraph_edge::remove_caller): Likewise.
4664
4665 2015-03-10  Chung-Ju Wu  <jasonwucj@gmail.com>
4666
4667         * config/nds32/nds32.h (callee_saved_regs_size): Rename to ...
4668         (callee_saved_gpr_regs_size): ... this.
4669         (callee_saved_regs_first_regno): Rename to ...
4670         (callee_saved_first_gpr_regno): ... this.
4671         (callee_saved_regs_last_regno) Rename to ...
4672         (callee_saved_last_gpr_regno): ... this.
4673         * config/nds32/nds32.c (nds32_compute_stack_frame): Adjust renamed
4674         variables.
4675         (nds32_initial_elimination_offset): Likewise.
4676         (nds32_expand_prologue): Likewise.
4677         (nds32_expand_epilogue): Likewise.
4678         (nds32_expand_prologue_v3push): Likewise.
4679         (nds32_expand_epilogue_v3pop): Likewise.
4680         * config/nds32/nds32-md-auxiliary.c (nds32_output_stack_push):
4681         Adjust renamed variables.
4682         (nds32_output_stack_pop): Likewise.
4683
4684 2015-03-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
4685
4686         * dominance.c (nearest_common_dominator_for_set): Fix A_Dominated_by_B
4687         code in comment.
4688
4689 2015-03-10  Jakub Jelinek  <jakub@redhat.com>
4690
4691         PR rtl-optimization/65321
4692         * cfgexpand.c (expand_debug_expr): Ensure shift amount isn't wider
4693         than shift mode.
4694         * var-tracking.c (use_narrower_mode): Likewise.
4695
4696 2015-03-10  Jan Hubicka  <hubicka@ucw.cz>
4697
4698         PR tree-optimization/65355
4699         * varasm.c (notice_global_symbol): Do not produce RTL.
4700         * symtab.c (symtab_node::can_increase_alignment_p): Check for section
4701         anchor.
4702         * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Do not
4703         check for section anchors.
4704
4705 2015-03-10  Alan Modra  <amodra@gmail.com>
4706
4707         PR target/65286
4708         * config.gcc (powerpc*-*-linux*): Arrange for powerpc64le-linux
4709         to be single-arch by default.  Set cpu_is_64bit for powerpc64
4710         given --with-cpu=native.
4711         * config/rs6000/t-fprules: Do not set default MULTILIB vars.
4712         * config/rs6000/t-linux (MULTIARCH_DIRNAME): Support powerpc64
4713         and powerpc64le.
4714         * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Test
4715         rs6000_isa_flags rather than TARGET_64BIT.
4716
4717 2015-03-09  Yoshinori Sato  <ysato@users.sourceforge.jp>
4718             Kaz Kojima  <kkojima@gcc.gnu.org>
4719
4720         * config/sh/t-linux (MULTILIB_EXCEPTIONS): Define for m2a cases.
4721
4722 2015-03-09  Jakub Jelinek  <jakub@redhat.com>
4723
4724         PR lto/65361
4725         * ipa-devirt.c (add_type_duplicate): Don't use DECL_CONTEXT
4726         on a TREE_BINFO, instead use BINFO_TYPE.
4727
4728 2015-03-09  Richard Biener  <rguenther@suse.de>
4729
4730         PR middle-end/65270
4731         * tree-core.h (enum operand_equal_flag): Add OEP_ADDRESS_OF.
4732         * fold-const.c (operand_equal_p): When recursing for ADDR_EXPRs
4733         operand set OEP_ADDRESS_OF.  Clear it when recursing to non-bases
4734         of that.  When comparing dereferences compare alignment.
4735         When comparing MEM_REFs or TARGET_MEM_REFs compare dependence info.
4736
4737 2015-03-08  Jan Hubicka  <hubicka@ucw.cz>
4738
4739         * ipa-inline-analysis.c (check_callers): Check
4740         node->can_remove_if_no_direct_calls_and_refs_p.
4741         (growth_likely_positive): Reorganize to call
4742         can_remove_if_no_direct_calls_p later.
4743         * cgraph.h (will_be_removed_from_program_if_no_direct_calls_p,
4744         will_be_removed_from_program_if_no_direct_calls_p): Add
4745         will_inline parameter.
4746         * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p,
4747         cgraph_node::will_be_removed_from_program_if_no_direct_calls_p):
4748         Handle inliner case correctly.
4749
4750 2015-03-09  Thomas Preud'homme  <thomas.preudhomme@arm.com>
4751
4752         PR tree-optimization/63743
4753         * cfgexpand.c (reorder_operands): Also reorder if only second operand
4754         had its definition forwarded by TER.
4755
4756 2015-03-08  Jan Hubicka  <hubicka@ucw.cz>
4757
4758         PR lto/65316
4759         * ipa-utils.h (types_odr_comparable): Add strict argument.
4760         * ipa-devirt.c: Fix whitespace;
4761         (odr_hasher): Remove.
4762         (odr_name_hasher, odr_vtable_hasher): New hashers.
4763         (can_be_name_hashed_p): New predicate.
4764         (hash_type_name): remove.
4765         (hash_odr_name): New.
4766         (odr_name_hasher::hash): new.
4767         (can_be_vtable_hashed_p): New.
4768         (hash_odr_vtable): New.
4769         (odr_vtable_hasher::hash): New.
4770         (types_same_for_odr): Add strict parameter.
4771         (types_odr_comparable): Likewise.
4772         (odr_name_hasher::equal): New.
4773         (odr_vtable_hasher::equal): New.
4774         (odr_name_hasher::remove): New.
4775         (odr_hash_type): Change to hash_table<odr_name_hasher>.
4776         (odr_vtable_hash_type): New.
4777         (odr_vtable_hash): New.
4778         (odr_subtypes_equivalent_p): Do strict comparsion.
4779         (add_type_duplicate): Merge type names; cleanup; avoid type
4780         duplicates.
4781         (register_odr_type): Initialize vtable hash.
4782         (build_type_inheritance_graph): Likewise
4783         (get_odr_type): Reorg to use two hashes.
4784         (dump_possible_polymorphic_call_targets): Move sanity check after debug
4785         output.
4786         (ipa_devirt): Dump type_inheritance_graph.
4787         (types_same_for_odr): Add strict mode.
4788
4789 2015-03-05  Jan Hubicka  <hubicka@ucw.cz>
4790
4791         PR ipa/65334
4792         * cgraph.h (symtab_node): Add definition_alignment,
4793         can_increase_alignment_p and increase_alignment.
4794         * symtab.c (symtab_node::can_increase_alignment_p,
4795         increase_alignment_1, symtab_node::increase_alignment,
4796         symtab_node::definition_alignment): New.
4797         * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Use
4798         can_increase_alignment_p.
4799         * tree-vectorizer.c (increase_alignment): Use increase_alignment.
4800         * tree-vect-stmts.c (ensure_base_align): Likewise.
4801         * varasm.c (function_section_1): Use definition_alignment.
4802         (assemble_start_function): Likewise.
4803         (emit_local): likewise.
4804         (build_constant_desc): Likewsie.
4805         (output_constant_def_contents): Likewise.
4806         (place_block_symbol): Likewise.
4807         (output_object_block): Likewise.
4808
4809 2015-03-05  Jan Hubicka  <hubicka@ucw.cz>
4810
4811         PR ipa/65316
4812         * tree.c (free_lang_data_in_type): Be sure to keep BINFO_VTABLE
4813         when outputting debug.
4814
4815 2015-03-07  Marek Polacek  <polacek@redhat.com>
4816             Martin Uecker  <uecker@eecs.berkeley.edu>
4817
4818         PR sanitizer/65280
4819         * doc/invoke.texi: Update description of -fsanitize=bounds.
4820
4821 2015-03-06  Wilco Dijkstra  <wilco.dijkstra@arm.com>
4822
4823         * tree-ssa-phiopt.c (neg_replacement): Remove.
4824         (tree_ssa_phiopt_worker): Remove negate optimization.
4825
4826 2015-03-05  Jan Hubicka  <hubicka@ucw.cz>
4827
4828         PR ipa/65302
4829         * value-prof.c (gimple_ic): Pure dead eh edges when needed.
4830
4831 2015-03-06  Richard Biener  <rguenther@suse.de>
4832
4833         PR middle-end/64928
4834         * tree-ssa-live.h (struct tree_live_info_d): Add livein_obstack
4835         and liveout_obstack members.
4836         (calculate_live_on_exit): Remove.
4837         (calculate_live_ranges): Change declaration.
4838         * tree-ssa-live.c (liveness_bitmap_obstack): Remove global var.
4839         (new_tree_live_info): Adjust.
4840         (calculate_live_ranges): Delete livein when not wanted.
4841         (calculate_live_ranges): Do not initialize liveness_bitmap_obstack.
4842         Deal with partly deleted live info.
4843         (loe_visit_block): Remove temporary bitmap by using
4844         bitmap_ior_and_compl_into.
4845         (live_worklist): Adjust accordingly.
4846         (calculate_live_on_exit): Make static.
4847         * tree-ssa-coalesce.c (coalesce_ssa_name): Tell calculate_live_ranges
4848         we do not need livein.
4849
4850 2015-03-06  Jonathan Wakely  <jwakely@redhat.com>
4851
4852         * real.c (real_from_string): Fix typo in assertion.
4853
4854 2015-03-06  Alex Velenko  <alex.velenko@arm.com>
4855
4856         * ChangeLog (2015-03-05): Reflect Richard Henderson as actual author of
4857         the patch.
4858
4859 2015-03-05  Jan Hubicka  <hubicka@ucw.cz>
4860
4861         * ipa-icf.c (sem_variable::equals_wpa): Check FINAL flags.
4862
4863 2015-03-05  Vladimir Makarov  <vmakarov@redhat.com>
4864
4865         PR target/64342
4866         * lra-assigns.c (find_hard_regno_for): Rename to
4867         find_hard_regno_for_1.  Add a new parameter.
4868         (find_hard_regno_for): New function using find_hard_regno_for_1.
4869
4870 2015-03-05  Bernd Edlinger  <bernd.edlinger@hotmail.de>
4871
4872         PR rtl-optimization/65067
4873         * expmed.c (store_bit_field, extract_bit_field): Reworked the
4874         strict volatile bitfield handling.
4875
4876 2015-03-05  Martin Liska  <mliska@suse.cz>
4877
4878         PR ipa/65318
4879         * ipa-icf.c (sem_variable::equals): Compare variables types.
4880
4881 2015-03-05  Richard Henderson  <rth@redhat.com>
4882
4883         PR target/65121
4884         * config/arm/arm.c (arm_function_in_section_p): Fix predicate to
4885         correctly check weak symbol binding.
4886
4887 2015-03-05  Steve Ellcey  <sellcey@imgtec.com>
4888
4889         PR middle-end/65315
4890         * cfgexpand.c (expand_stack_vars): Update large_align to maximum
4891         needed alignment.
4892
4893 2015-03-05  Martin Liska  <mliska@suse.cz>
4894
4895         * ipa-inline.c (inline_small_functions): Set default value to
4896         prevent warning during bootstrap.
4897         * tree.h: Add pragma guard that ignores false positives during
4898         bootstrap.
4899
4900 2015-03-05  Richard Biener  <rguenther@suse.de>
4901
4902         PR tree-optimization/65310
4903         * tree-vect-data-refs.c (vect_compute_data_ref_alignment):
4904         Properly preserve alignment of the base of the access.
4905
4906 2015-03-05  Richard Biener  <rguenther@suse.de>
4907
4908         PR ipa/65270
4909         * ipa-icf-gimple.c (func_checker::compare_memory_operand):
4910         Compare dependence info.
4911
4912 2015-03-05  Richard Biener  <rguenther@suse.de>
4913
4914         PR middle-end/65233
4915         * ipa-polymorphic-call.c: Include tree-ssa-operands.h and
4916         tree-into-ssa.h.
4917         (walk_ssa_copies): Revert last chage.  Instead do not walk
4918         SSA names registered for SSA update.
4919
4920 2015-03-03  Jan Hubicka  <hubicka@ucw.cz>
4921
4922         PR ipa/65270
4923         * ipa-icf.c (sem_item::compare_cgraph_references): Compare
4924         vtable references for their containing type.
4925         (sem_function::equals_wpa): Compare TYPE_RESTRICT
4926         and type attributes.
4927
4928 2015-03-04  Eric Botcazou  <ebotcazou@adacore.com>
4929
4930         * fold-const.c (round_up_loc): Cast divisor to signed on all paths
4931         before negating it.
4932         * stor-layout.c (finalize_record_size): Revert latest change.
4933
4934 2015-03-04  Andreas Tobler  <andreast@gcc.gnu.org>
4935
4936         * config/rs6000/t-freebsd64: Remove 32-bit soft-float multilibs.
4937
4938 2015-03-03  Jan Hubicka  <hubicka@ucw.cz>
4939
4940         * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p): Rewrite
4941         for correct comdat handling.
4942         (cgraph_node::will_be_removed_from_program_if_no_direct_calls_p):
4943         Likewise.
4944         * cgraph.h (call_for_symbol_and_aliases): Fix formating.
4945         (used_from_object_file_p_worker): Remove.
4946         (cgraph_node::only_called_directly_or_alised): Add
4947         used_from_object_file_p.
4948         * ipa-inline-analysis.c (growth_likely_positive): Optimie.
4949         * ipa-inline-transform.c (can_remove_node_now_p_1): Use
4950         can_remove_if_no_direct_calls_and_refs_p.
4951
4952 2015-03-04  Nick Clifton  <nickc@redhat.com>
4953
4954         * config/rl78/rl78.h (enum reg_class): Remove real registers from
4955         General register class.
4956         * config/rl78/rl78-real.md: Replace general register constraints
4957         with real+virtual register constraints.
4958
4959 2015-03-04  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
4960
4961         * config/s390/s390.c (s390_expand_builtin): Exlude non-htm builtins
4962         from checking for -mhtm option.
4963
4964 2015-03-03  Jan Hubicka  <hubicka@ucw.cz>
4965
4966         * tree-sra.c (convert_callers): Use call_for_symbol_and_aliases.
4967         (struct ipa_sra_check_caller_data): Add has_thunk field.
4968         (ipa_sra_check_caller): Check for thunk.
4969         (ipa_sra_preliminary_function_checks): Give up on function with
4970         thunks.
4971         (ipa_early_sra): Use call_for_symbol_and_aliases.
4972
4973 2015-03-03  Kaz Kojima  <kkojima@gcc.gnu.org>
4974
4975         PR target/65249
4976         * config/sh/sh.md (symGOT_load): Use R0 reg for operands[2] when
4977         called for __stack_chk_guard symbol.
4978
4979 2015-03-03  DJ Delorie  <dj@redhat.com>
4980
4981         * config/rl78/rl78-real.md (*addqi_real): Allow SADDR types for
4982         inc/dec.
4983         (*addhi3_real): Likewise.
4984         * config/rl78/rl78-virt.md (*inc<mode>3_virt): Additional
4985         pattern to match incrementing memory.
4986         * config/rl78/predicates.md (rl78_1_2_operand): New.
4987         * config/rl78/rl78.c (rl78_force_nonfar_3): Allow far mem-mem if
4988         it's the same and only mem.
4989         (rl78_alloc_physical_registers_op2): If there's effectively only
4990         one MEM, transcode it into HL.
4991         (rl78_far_p): Reject addresses that aren't legitimate.
4992
4993 2015-03-03  Eric Botcazou  <ebotcazou@adacore.com>
4994
4995         * fold-const.c (round_up_loc): Cast divisor to HOST_WIDE_INT before
4996         negating it.
4997
4998         * tree-sra.c (pa_sra_preliminary_function_checks): Fix typo in message.
4999
5000 2015-03-03  Max Filippov  <jcmvbkbc@gmail.com>
5001
5002         Implement call0 ABI for xtensa
5003         * config/xtensa/constraints.md ("a" constraint): Include stack
5004         pointer in case of call0 ABI.
5005         ("q" constraint): Make empty in case of call0 ABI.
5006         ("D" constraint): Include stack pointer in case of call0 ABI.
5007         * config/xtensa/xtensa-protos.h (xtensa_set_return_address,
5008         xtensa_expand_epilogue, xtensa_regno_to_class): Add new function
5009         prototypes.
5010         * config/xtensa/xtensa.c (xtensa_callee_save_size): New
5011         variable.
5012         (xtensa_regno_to_class): Make it a local variable in the
5013         function xtensa_regno_to_class.
5014         (xtensa_function_epilogue, TARGET_ASM_FUNCTION_EPILOGUE): Remove
5015         macro, function prototype and implementation.
5016         (reg_nonleaf_alloc_order): Make it a local variable in the
5017         function order_regs_for_local_alloc.
5018         (xtensa_conditional_register_usage): New function.
5019         (TARGET_CONDITIONAL_REGISTER_USAGE): Define macro.
5020         (xtensa_valid_move): Allow direct moves to stack pointer
5021         register in call0 ABI.
5022         (xtensa_setup_frame_addresses): Only spill register windows in
5023         windowed ABI.
5024         (xtensa_emit_call): Emit call(x)8 or call(x)0 in windowed and
5025         call0 ABI respectively.
5026         (xtensa_function_arg_1): Only mark a7 register for copying in
5027         windowed ABI.
5028         (xtensa_call_save_reg): New function.
5029         (compute_frame_size): Add space for callee saved register
5030         storage to the frame size in call0 ABI.
5031         (xtensa_expand_prologue): Generate code to set up stack frame
5032         and save callee-saved registers in call0 ABI.
5033         (xtensa_expand_epilogue): New function.
5034         (xtensa_set_return_address): New function.
5035         (xtensa_return_addr): Calculate return address in call0 ABI.
5036         (xtensa_builtin_saveregs): Only mark a7 register for copying and
5037         emit copying code in windowed ABI.
5038         (order_regs_for_local_alloc): Add preferred register allocation
5039         order for non-leaf function in call0 ABI.
5040         (xtensa_static_chain): Add atatic chain passing for call0 ABI.
5041         (xtensa_asm_trampoline_template): Add trampoline generation for
5042         call0 ABI.
5043         (xtensa_trampoline_init): Add trampoline initialization for
5044         call0 ABI.
5045         (xtensa_conditional_register_usage, xtensa_regno_to_class): New
5046         functions.
5047         * config/xtensa/xtensa.h (TARGET_WINDOWED_ABI): New macro.
5048         (TARGET_CPU_CPP_BUILTINS): Add built-in define for call0 ABI.
5049         (CALL_USED_REGISTERS): Modify to encode both windowed and call0
5050         ABI call-used registers.
5051         (HARD_FRAME_POINTER_REGNUM): Add frame pointer for call0 ABI.
5052         (INCOMING_REGNO, OUTGOING_REGNO): Use argument unchanged in
5053         call0 ABI.
5054         (REG_CLASS_CONTENTS): Include all registers into the preferred
5055         reload registers set, adjust the set in the
5056         xtensa_conditional_register_usage.
5057         (xtensa_regno_to_class): Drop variable declaration.
5058         (REGNO_REG_CLASS): Redefine to use xtensa_regno_to_class
5059         function.
5060         (WINDOW_SIZE): Define as 8 or 0 for windowed and call0 ABI
5061         respectively.
5062         (FUNCTION_PROFILER): Add _mcount call for call0 ABI.
5063         (TRAMPOLINE_SIZE): Define trampoline size for call0 ABI.
5064         (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 in call0 ABI.
5065         (ASM_OUTPUT_POOL_PROLOGUE): Always generate literal pool
5066         location in call0 ABI.
5067         (EH_RETURN_STACKADJ_RTX): New definition, use a10 for passing
5068         stack adjustment size when handling exception.
5069         (CRT_CALL_STATIC_FUNCTION): Add definition for call0 ABI.
5070         * config/xtensa/xtensa.md (A9_REG, UNSPECV_BLOCKAGE): New
5071         definitions.
5072         ("return" pattern): Generate ret.n/ret in call0 ABI.
5073         ("epilogue" pattern): Expand epilogue.
5074         ("nonlocal_goto" pattern): Use default in call0 ABI.
5075         ("eh_return" pattern): Move implementation to eh_set_a0_windowed,
5076         emit eh_set_a0_* depending on ABI.
5077         ("eh_set_a0_windowed" pattern): Former eh_return pattern.
5078         ("eh_set_a0_call0", "blockage"): New patterns.
5079
5080 2015-03-03  Martin Liska  <mliska@suse.cz>
5081
5082         PR ipa/65287
5083         * ipa-icf.c (sem_variable::parse): Skip all alias variables.
5084
5085 2015-03-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
5086
5087         PR 65138/target
5088         * config/rs6000/rs6000-tables.opt: Regenerate table.
5089
5090 2015-03-03  Renlin Li  <renlin.li@arm.com>
5091
5092         * doc/md.texi (@item ^): Change ? into ^.
5093
5094 2015-03-03  H.J. Lu  <hongjiu.lu@intel.com>
5095
5096         * doc/tm.texi: Regenerated.
5097
5098 2015-03-03  Max Filippov  <jcmvbkbc@gmail.com>
5099
5100         * builtins.c (expand_builtin_return_addr): Add
5101         RETURN_ADDR_IN_PREVIOUS_FRAME to 'if' condition, remove
5102         surrounding #ifdef.
5103         * config/sparc/sparc.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Change
5104         definition to 1.
5105         * config/xtensa/xtensa.h (RETURN_ADDR_IN_PREVIOUS_FRAME):
5106         Likewise.
5107         * defaults.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 if
5108         undefined.
5109         * doc/tm.texi.in (RETURN_ADDR_IN_PREVIOUS_FRAME): Update
5110         paragraph.
5111
5112 2015-03-03  Martin Jambor  <mjambor@suse.cz>
5113             Eric Botcazou  <ebotcazou@adacore.com>
5114
5115         * tree-sra.c (ipa_sra_check_caller_data): New type.
5116         (has_caller_p): Removed.
5117         (ipa_sra_check_caller): New function.
5118         (ipa_sra_preliminary_function_checks): Use it.
5119
5120 2015-03-03  Martin Liska  <mliska@suse.cz>
5121
5122         * ipa-icf.c (sem_item_optimizer::merge_classes): Use bit or
5123         instead of if branch.
5124
5125 2015-03-03  Martin Liska  <mliska@suse.cz>
5126
5127         PR ipa/65282
5128         * ipa-icf.c (sem_variable::equals): Fix wrong condition.
5129
5130 2015-03-23  Jeff Law  <law@redhat.com>
5131
5132         PR tree-optimization/65241
5133         * tree-ssa-dom.c (lookup_avail_expr): Only modify the avail_expr
5134         hash table if INSERT is true.
5135
5136 2015-03-03  Georg-Johann Lay  <avr@gjlay.de>
5137
5138         PR target/65296
5139         * config.gcc (extra_gcc_objs) [avr-*-rtems*]: Remove.
5140
5141 2015-03-03  Georg-Johann Lay  <avr@gjlay.de>
5142
5143         PR target/64331
5144         * config/avr/avr.c (context.h, tree-pass.h): Include them.
5145         (avr_pass_data_recompute_notes): New static variable.
5146         (avr_pass_recompute_notes): New class.
5147         (avr_register_passes): New static function.
5148         (avr_option_override): Call it.
5149
5150 2015-03-03  Georg-Johann Lay  <avr@gjlay.de>
5151
5152         Fix various problems with specs file generation.
5153
5154         PR target/65296
5155         * config.gcc (extra_gcc_objs) [avr]: Remove.
5156         * config/avr/driver-avr.c: Remove file.
5157         * config/avr/t-avr (driver-avr.o): Remove rule.
5158         (gen-avr-mmcu-specs): Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD and
5159         INCLUDES to build.  Depend on TM_H.
5160         * config/avr/gen-avr-mmcu-specs.c: Tidy up code.  Fix various
5161         build warnings.  Fix non-matching types and non-existing %-codes.
5162         (tm.h): Include.
5163         (*lib) [!WITH_AVRLIBC]: Don't link libdev.a.
5164         (*libgcc) [WITH_AVRLIBC]: Add "-lm".
5165         * config/avr/avrlibc.h (LIBGCC_SPEC): Remove definition.
5166         * config/avr/avr.h (DRIVER_SELF_SPECS): Fix handling of -march=.
5167         (CPP_SPEC, CC1PLUS_SPEC, ASM_SPEC, LINK_SPEC, LIB_SPEC)
5168         (LIBGCC_SPEC): Remove definitions.
5169
5170 2015-03-03  Eric Botcazou  <ebotcazou@adacore.com>
5171
5172         * config/ia64/ia64.c (expand_vec_perm_interleave_2): Use gen_raw_REG
5173         to create a register in testing mode.
5174
5175 2015-03-03  Martin Liska  <mliska@suse.cz>
5176             Jan Hubicka  <hubicka@ucw.cz>
5177
5178         PR ipa/65263
5179         * cgraph.c (cgraph_node::has_thunk_p): New function.
5180         * cgraph.h (cgraph_node::has_thunk_p: Likewise.
5181         * ipa-icf.c (redirect_all_callers): Do not redirect thunks.
5182         (sem_function::merge): Assert is changed.
5183
5184 2015-03-03  Martin Liska  <mliska@suse.cz>
5185             Martin Jambor  <mjambor@suse.cz>
5186
5187         PR ipa/65087
5188         * ipa-icf.c (sem_item_optimizer::execute): Change function
5189         return value to boolean.
5190         (sem_item_optimizer::merge_classes): Likewise.
5191         (ipa_icf_driver): Return TODO_remove_functions in case there's
5192         a merge operation processed.
5193         * ipa-icf.h: Change function return value to boolean.
5194
5195 2015-03-02  Michael Meissner  <meissner@linux.vnet.ibm.com>
5196
5197         PR 65138/target
5198         * config/rs6000/rs6000-cpus.def (powerpc64le): Add new generic
5199         processor type for 64-bit little endian PowerPC.
5200
5201         * config/rs6000/rs6000.c (rs6000_option_override_internal): If
5202         -mdebug=reg, print TARGET_DEFAULT.  Fix logic to use
5203         TARGET_DEFAULT if there is no default cpu.  Fix -mdebug=reg
5204         printing built-in mask so it does not pass NULL pointers.
5205
5206         * doc/invoke.texi (IBM RS/6000 and PowerPC options): Document
5207         -mcpu=powerpc64le.
5208
5209 2015-03-02  Steve Ellcey  <sellcey@imgtec.com>
5210
5211         PR target/58158
5212         * config/mips/mips.md (mov<mode>cc): Change ISA_HAS_SEL check to
5213         !ISA_HAS_FP_CONDMOVE.
5214
5215 2015-03-02  Aldy Hernandez  <aldyh@redhat.com>
5216
5217         * config/i386/i386.md (*udivmod<mode>4_pow2): Remove
5218         reload_completed.
5219
5220 2015-03-02  Ulrich Drepper  <drepper@gmail.com>
5221
5222         * doc/invoke.texi (Options for Code Generation Conventions):
5223         Fix URL of DSO paper.
5224
5225 2015-03-02  Jan Hubicka  <hubicka@ucw.cz>
5226
5227         PR ipa/65130
5228         * ipa-inline.c (check_callers): Looks for recursion.
5229         (inline_to_all_callers): Give up on uninlinable or recursive edges.
5230         * ipa-inline-analysis.c (inline_summary_t::duplicate): Do not update
5231         summary of inline clones.
5232         (do_estimate_growth_1): Fix recursion check.
5233
5234 2015-03-02  Jan Hubicka  <hubicka@ucw.cz>
5235
5236         PR ipa/64988
5237         * ipa-inline-transform.c (clone_inlined_nodes): Do not dissolve
5238         comdat groups.
5239
5240 2015-03-02  Jan Hubicka  <hubicka@ucw.cz>
5241             Aldy Hernandez  <aldyh@redhat.com>
5242
5243         PR lto/65276
5244         * ipa-devirt.c (add_type_duplicate): Remove odr_violated assert
5245         when checking TYPE_BINFO.
5246
5247 2015-03-02  Richard Biener  <rguenther@suse.de>
5248
5249         PR ipa/65270
5250         * ipa-icf-gimple.c: Include builtins.h.
5251         (func_checker::compare_memory_operand): Compare base alignment.
5252
5253 2015-03-02  Ilya Enkovich  <ilya.enkovich@intel.com>
5254
5255         PR target/65184
5256         * gcc/config/i386/i386.c (ix86_pass_by_reference) Bounds
5257         are never passed by reference.
5258
5259 2015-03-02  Ilya Enkovich  <ilya.enkovich@intel.com>
5260
5261         PR target/65183
5262         * tree-chkp.c (chkp_check_lower): Don't check against
5263         zero bounds for already instrumented functions.
5264         (chkp_check_upper): Likewise.
5265         (chkp_fini): Clean pass local data to avoid wrong reusage.
5266
5267 2015-02-28  Martin Liska  <mliska@suse.cz>
5268             Jan Hubicka  <hubicka@ucw.cz>
5269
5270         * ipa-icf.c (sem_variable::equals): Improve debug output;
5271         get variable constructor.
5272         (sem_variable::parse): Do not filter out too early; give up on
5273         volatile and register vars.
5274         (sem_item_optimizer::filter_removed_items): Filter out nonreadonly
5275         variables.
5276         * ipa-icf.h (sem_variable::init): Do not set ctor.
5277         (sem_variable::ctor): Remove.
5278
5279 2015-03-01  Aldy Hernandez  <aldyh@redhat.com>
5280
5281         PR middle-end/65233
5282         * ipa-polymorphic-call.c (walk_ssa_copies): Handle empty PHIs.
5283
5284 2015-02-28  Jan Hubicka  <hubicka@ucw.cz>
5285
5286         * ipa-icf.c: Include stor-layout.h
5287         (sem_function::compare_cgraph_references): Rename to ...
5288         (sem_item::compare_cgraph_references): ... this one.
5289         (sem_variable::equals_wpa): New function
5290         (sem_variable::equals): Do not check stuff already verified by
5291         equals_wpa.
5292         (sem_variable::equals): Reorg based on varasm.c:compare_constant.
5293         * ipa-icf.h (sem_item): Add compare_cgraph_references.
5294         (sem_function): Remove compare_cgraph_references.
5295         (sem_variable): Turns equals_wpa into non-inline.
5296
5297 2015-02-28  Jan Hubicka  <hubicka@ucw.cz>
5298
5299         * ipa-icf.c (sem_function::init): Fix formating; skip GIMPLE_PREDICT.
5300         (sem_item::add_expr): New function.
5301         (sem_function::hash_stmt): Handle operands of most statements.
5302         (sem_variable::get_hash): Hash the actual constructor.
5303         * ipa-icf.h (sem_item): Add add_expr.
5304         (sem_function): Update prototype of hash_stmt
5305
5306 2015-02-28  Martin Liska  <mliska@suse.cz>
5307             Jan Hubicka  <hubicka@ucw.cz>
5308
5309         PR ipa/65245
5310         * ipa-icf-gimple.c (func_checker::compare_function_decl):
5311         Remove.
5312         (func_checker::compare_variable_decl): Skip symtab vars.
5313         (func_checker::compare_cst_or_decl): Update.
5314         * ipa-icf.c (sem_function::parse): Do not consider aliases.
5315         (sem_function::compare_cgraph_references): Add ADDRESS parameter;
5316         use correct symtab predicates.
5317         (sem_function::equals_wpa): Update uses of compare_cgraph_references.
5318         (sem_variable::parse):  Update comment.
5319         (sem_item_optimizer::build_graph): Consider ultimate aliases
5320         for references.
5321
5322 2015-02-28  Jan Hubicka  <hubicka@ucw.cz>
5323
5324         * ipa-icf-gimple.c (func_checker::compare_operand): Fix handling
5325         of OBJ_TYPE_REF.
5326
5327 2015-02-28  Jan Hubicka  <hubicka@ucw.cz>
5328
5329         * ipa-icf.c (sem_function::merge): Fix handling of COMDAT.
5330         (sem_variable::merge) Likewise.
5331
5332 2015-02-28  Jan Hubicka  <hubicka@ucw.cz>
5333
5334         * ipa-inline.c (can_inline_edge_p): Match opt_for_fn on inline
5335         target; also match flag_ipa_devirt.
5336
5337 2015-03-01  Martin Liska  <mliska@suse.cz>
5338             Jan Hubicka  <hubicka@ucw.cz>
5339
5340         * ipa-icf-gimple.c (func_checker::compare_variable_decl):
5341         Validate variable alignment.
5342         * ipa-icf.c (sem_function::equals_private): Be more precise
5343         about non-common function attributes.
5344         (sem_variable::equals): Likewise.
5345
5346 2015-02-28  Jan Hubicka  <hubicka@ucw.cz>
5347
5348         PR ipa/65237
5349         * ipa-icf.c (sem_function::merge): Do not attempt to produce alias
5350         across COMDAT group boundary.
5351
5352 2015-02-28  Jan Hubicka  <hubicka@ucw.cz>
5353
5354         PR ipa/65232
5355         * ipa-icf.c (clear_decl_rtl): New function.
5356         (sem_function::merge): Clear RTL before forming alias.
5357         (sem_variable::merge): Clear RTL before forming alias.
5358
5359 2015-02-28  Jan Hubicka  <hubicka@ucw.cz>
5360
5361         PR ipa/65236
5362         * cgraphunit.c (cgraph_node::expand_thunk): Enable return slot opt.
5363
5364 2015-02-28  Xingxing Pan  <xxingpan@marvell.com>
5365
5366         * config/aarch64/aarch64.md: (mov<mode>_aarch64): Change type
5367         to neon_to_gp<q>.
5368
5369 2015-02-27  Vladimir Makarov  <vmakarov@redhat.com>
5370
5371         * params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): Fix
5372         a typo in the description.
5373
5374 2015-02-27  Vladimir Makarov  <vmakarov@redhat.com>
5375
5376         PR target/64317
5377         * params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): New.
5378         * params.h (LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): New.
5379         * lra-constraints.c: Include "params.h".
5380         (EBB_PROBABILITY_CUTOFF): Use
5381         LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF.
5382         (lra_inheritance): Use '<' instead of '<=' for
5383         EBB_PROBABILITY_CUTOFF.
5384         * doc/invoke.texi (lra-inheritance-ebb-probability-cutoff):
5385         Document change.
5386
5387 2015-02-27  Martin Liska  <mliska@suse.cz>
5388
5389         * ipa-icf.h (struct symbol_compare_hashmap_traits): Add missing
5390         vector length condition.
5391
5392 2015-02-27  Sandra Loosemore  <sandra@codesourcery.com>
5393
5394         * doc/extend.texi (x86 transactional memory intrinsics):
5395         Reorganize discussion of _xbegin.  Clarify that the return
5396         value is a bit mask.  Expand example and move to end of section.
5397
5398 2015-02-26  Jakub Jelinek  <jakub@redhat.com>
5399             Aldy Hernandez  <aldyh@redhat.com>
5400
5401         PR rtl-optimization/65220
5402         * config/i386/i386.md (*udivmod<mode>4_pow2): New.
5403
5404 2015-02-27  Vladimir Makarov  <vmakarov@redhat.com>
5405
5406         PR target/65032
5407         * lra-remat.c (update_scratch_ops): New.
5408         (do_remat): Call it.
5409         * lra.c (lra_register_new_scratch_op): New. Take code from ...
5410         (remove_scratches): ... here.
5411         * lra-int.h (lra_register_new_scratch_op): New prototype.
5412
5413 2015-02-27  Marek Polacek  <polacek@redhat.com>
5414
5415         PR c/65040
5416         * doc/invoke.texi: Update to reflect that -Wformat=2 doesn't enable
5417         -Wformat-signedness anymore.
5418
5419 2015-02-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
5420
5421         * config/s390/s390.c: (s390_atomic_assign_expand_fenv): New
5422         function.
5423         (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define macro.
5424
5425 2015-02-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
5426
5427         * config/s390/s390.c (enum s390_builtin):
5428         Add S390_BUILTIN_S390_SFPC and S390_BUILTIN_S390_EFPC.
5429         (code_for_builtin): Add CODE_FOR_s390_sfpc and CODE_FOR_s390_efpc.
5430         (s390_init_builtins): Generate new builtin functions.
5431         * config/s390/s390.md (UNSPECV_SFPC, UNSPECV_EFPC): New constants.
5432         (s390_sfpc, s390_efpc): New pattern definitions.
5433
5434 2015-02-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
5435
5436         * config/s390/s390.c: (enum s390_builtin, s390_expand_builtin):
5437         Rename S390_BUILTIN_max to S390_BUILTIN_MAX.
5438         (s390_builtin_decls): New array.
5439         (s390_init_builtins): Put builtin decls into s390_builtin_decls.
5440         (s390_builtin_decl): New function.
5441         (TARGET_BUILTIN_DECL): Define macro.
5442
5443 2015-02-27  Richard Biener  <rguenther@suse.de>
5444
5445         PR middle-end/63175
5446         * builtins.c (get_object_alignment_2): Make sure to re-apply
5447         the ANDed mask after recursing to its operand gets us a new
5448         misalignment bit position.
5449
5450 2015-02-26  Jan Hubicka  <hubicka@ucw.cz>
5451             Martin Liska  <mliska@suse.cz>
5452
5453         PR bootstrap/65150
5454         * ipa-icf.c (symbol_compare_collection::symbol_compare_colleciton):
5455         Use address_matters_p.
5456         (redirect_all_callers, set_addressable): New functions.
5457         (sem_function::merge): Reorganize and fix merging issues.
5458         (sem_variable::merge): Likewise.
5459         (sem_variable::compare_sections): Remove.
5460         * common.opt (fmerge-all-constants, fmerge-constants): Remove
5461         Optimization flag.
5462         * symtab.c (symtab_node::resolve_alias): When alias has aliases,
5463         redirect them.
5464         (symtab_node::make_decl_local): Set ADDRESSABLE bit when
5465         decl is used.
5466         (address_matters_1): New function.
5467         (symtab_node::address_matters_p): New function.
5468         * cgraph.c (cgraph_edge::verify_corresponds_to_fndecl): Fix
5469         check for merged flag.
5470         * cgraph.h (address_matters_p): Declare.
5471         (symtab_node::address_taken_from_non_vtable_p): Remove.
5472         (symtab_node::address_can_be_compared_p): New method.
5473         (ipa_ref::address_matters_p): Move here from ipa-ref.c; simplify.
5474         * ipa-visibility.c (symtab_node::address_taken_from_non_vtable_p):
5475         Remove.
5476         (comdat_can_be_unshared_p_1) Use address_matters_p.
5477         (update_vtable_references): Fix formating.
5478         * ipa-ref.c (ipa_ref::address_matters_p): Move inline.
5479         * cgraphunit.c (cgraph_node::create_wrapper): Drop UNINLINABLE flag.
5480         * cgraphclones.c: Preserve merged and icf_merged flags.
5481
5482 2015-02-26  Sandra Loosemore  <sandra@codesourcery.com>
5483
5484         * doc/extend.texi (Function Attributes): Fix spelling and typos.
5485         (Label Attributes): Likewise.
5486         (Cilk Plus Builtins): Likewise.
5487         (ARC SIMD Built-in Functions): Likewise.
5488         (ARM C Language Extensions (ACLE)): Likewise.
5489         (PowerPC Built-in Functions): Likewise.
5490         (PowerPC Hardware Transactional Memory Built-in Functions):
5491         Likewise.
5492
5493 2015-02-26  Jakub Jelinek  <jakub@redhat.com>
5494
5495         PR tree-optimization/65216
5496         * tree-ssa-reassoc.c (rewrite_expr_tree): Force creation of
5497         new stmt and new SSA_NAME for lhs whenever the arguments have
5498         changed and weren't just swapped.  Fix comment typo.
5499
5500         PR tree-optimization/65215
5501         * tree-ssa-math-opts.c (find_bswap_or_nop_load): Return false
5502         for PDP endian targets.
5503         (perform_symbolic_merge, find_bswap_or_nop_1, find_bswap_or_nop):
5504         Fix up formatting issues.
5505         (bswap_replace): Likewise.  For BYTES_BIG_ENDIAN, if the final access
5506         size is smaller than the original, adjust MEM_REF offset by the
5507         difference of sizes.  Use is_gimple_mem_ref_addr instead of
5508         is_gimple_min_invariant test to avoid adding address temporaries.
5509
5510 2015-02-26  Martin Liska  <mliska@suse.cz>
5511             Jan Hubicka  <hubicka@ucw.cz>
5512
5513         PR ipa/64693
5514         * ipa-icf.c (symbol_compare_collection::symbol_compare_collection): New.
5515         (sem_item_optimizer::subdivide_classes_by_sensitive_refs): New function.
5516         (sem_item_optimizer::process_cong_reduction): Include division by
5517         sensitive references.
5518         * ipa-icf.h (struct symbol_compare_hashmap_traits): New class.
5519         * ipa-ref.c (ipa_ref::address_matters_p): New function.
5520         * ipa-ref.h (ipa_ref::address_matters_p): Likewise.
5521
5522 2015-02-26  Georg-Johann Lay  <avr@gjlay.de>
5523
5524         PR target/65192
5525         * config/avr/avr-protos.h (tiny_valid_direct_memory_access_range):
5526         Remove.
5527         * config/avr/avr.c: Same.
5528         (avr_legitimate_address_p) <AVR_TINY, CONSTANT_ADDRESS_P>:
5529         Refuse any constant address not in 0..0xbf.
5530         * config/avr/avr.md (*mov<mode>, *movsf): Remove
5531         tiny_valid_direct_memory_access_range from insn conditions.
5532         (mov<mode>): Don't special-case expansion of avrtiny addresses.
5533
5534 2015-02-26  Oleg Endo  <olegendo@gcc.gnu.org>
5535
5536         PR target/61142
5537         * config/sh/sh.c (sh_check_add_incdec_notes): New function.
5538         * config/sh/sh-protos.h (sh_check_add_incdec_notes): Declare it.
5539         * config/sh/predicates.md (const_logical_operand): New predicate.
5540         * config/sh/sh.md: Add new peephole2 patterns.
5541
5542 2015-02-26  Marek Polacek  <polacek@redhat.com>
5543
5544         PR ipa/65008
5545         * ipa-inline.c (early_inliner): Recompute inline parameters.
5546
5547 2015-02-26  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
5548
5549         PR target/65171
5550         * config/rs6000/rs6000.c (rs6000_analyze_swaps): Ensure
5551         instructions with TImode operands are included in the analysis.
5552
5553 2015-02-26  Sebastian Pop  <s.pop@samsung.com>
5554
5555         * tree-ssa-threadupdate.c (dump_jump_thread_path): Print all edges
5556         of an EDGE_FSM_THREAD.
5557
5558 2015-02-25  Adhemerval Zanella  <azanella@linux.vnet.ibm.com>
5559
5560         * config/rs6000/htm.md (tcheck): Fix assembly encoding.
5561
5562 2015-02-25  Aldy Hernandez  <aldyh@redhat.com>
5563
5564         PR debug/46102
5565         * dwarf2out.c (dwarf2out_init): Disable -feliminate-dwarf2-dups.
5566
5567 2015-02-26  Sebastian Pop  <s.pop@samsung.com>
5568
5569         PR tree-optimization/65048
5570         * tree-ssa-threadupdate.c (valid_jump_thread_path): New.
5571         (thread_through_all_blocks): Call valid_jump_thread_path.
5572         Remove invalid FSM jump-thread paths.
5573
5574 2015-02-26  Jakub Jelinek  <jakub@redhat.com>
5575
5576         * passes.c (ipa_write_summaries_1): Call lto_output_init_mode_table.
5577         (ipa_write_optimization_summaries): Likewise.
5578         * tree-streamer.h: Include data-streamer.h.
5579         (streamer_mode_table): Declare extern variable.
5580         (bp_pack_machine_mode, bp_unpack_machine_mode): New inline functions.
5581         * lto-streamer-out.c (lto_output_init_mode_table,
5582         lto_write_mode_table): New functions.
5583         (produce_asm_for_decls): Call lto_write_mode_table when streaming
5584         offloading LTO.
5585         * lto-section-in.c (lto_section_name): Add "mode_table" entry.
5586         (lto_create_simple_input_block): Add mode_table argument to the
5587         lto_input_block constructors.
5588         * ipa-prop.c (ipa_prop_read_section, read_replacements_section):
5589         Likewise.
5590         * data-streamer-in.c (string_for_index): Likewise.
5591         * ipa-inline-analysis.c (inline_read_section): Likewise.
5592         * ipa-icf.c (sem_item_optimizer::read_section): Likewise.
5593         * lto-cgraph.c (input_cgraph_opt_section): Likewise.
5594         * lto-streamer-in.c (lto_read_body_or_constructor,
5595         lto_input_toplevel_asms): Likewise.
5596         (lto_input_mode_table): New function.
5597         * tree-streamer-out.c (pack_ts_fixed_cst_value_fields,
5598         pack_ts_decl_common_value_fields, pack_ts_type_common_value_fields):
5599         Use bp_pack_machine_mode.
5600         * real.h (struct real_format): Add name field.
5601         * lto-streamer.h (enum lto_section_type): Add LTO_section_mode_table.
5602         (class lto_input_block): Add mode_table member.
5603         (lto_input_block::lto_input_block): Add mode_table_ argument,
5604         initialize mode_table.
5605         (struct lto_file_decl_data): Add mode_table field.
5606         (lto_input_mode_table, lto_output_init_mode_table): New prototypes.
5607         * tree-streamer-in.c (unpack_ts_fixed_cst_value_fields,
5608         unpack_ts_decl_common_value_fields,
5609         unpack_ts_type_common_value_fields): Call bp_unpack_machine_mode.
5610         * tree-streamer.c (streamer_mode_table): New variable.
5611         * real.c (ieee_single_format, mips_single_format,
5612         motorola_single_format, spu_single_format, ieee_double_format,
5613         mips_double_format, motorola_double_format,
5614         ieee_extended_motorola_format, ieee_extended_intel_96_format,
5615         ieee_extended_intel_128_format, ieee_extended_intel_96_round_53_format,
5616         ibm_extended_format, mips_extended_format, ieee_quad_format,
5617         mips_quad_format, vax_f_format, vax_d_format, vax_g_format,
5618         decimal_single_format, decimal_double_format, decimal_quad_format,
5619         ieee_half_format, arm_half_format, real_internal_format): Add name
5620         field.
5621         * config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Likewise.
5622
5623 2015-02-26  Yuri Rumyantsev  <ysrumyan@gmail.com>
5624
5625         PR target/65161
5626         * config/i386/i386.c (ix86_sched_reorder): Skip instruction
5627         reordering for selective scheduling.
5628
5629 2015-02-26  Terry Guo  <terry.guo@arm.com>
5630
5631         * config/arm/arm-cores.def (cortex-m7): Add flag FL_NO_VOLATILE_CE.
5632         * config/arm/arm-protos.h (FL_NO_VOLATILE_CE): New flag.
5633         (arm_arch_no_volatile_ce): Declare new global variable.
5634         * config/arm/arm.c (arm_arch_no_volatile_ce): New global variable.
5635         (arm_option_override): Assign value to arm_arch_no_volatile_ce.
5636         * config/arm/arm.h (arm_arch_no_volatile_ce): Declare it.
5637         (TARGET_NO_VOLATILE_CE): New macro.
5638         * config/arm/arm.md (arm_comparison_operator): Disabled if not allow
5639         volatile memory access in IT block
5640
5641 2015-02-25  Kai Tietz  <ktietz@redhat.com>
5642
5643         PR tree-optimization/61917
5644         * tree-vect-loop.c (vectorizable_reduction): Handle obvious case
5645         that reduc_def_stmt is null.
5646
5647 2015-02-25  Martin Liska  <mliska@suse.cz>
5648
5649         * ipa-icf-gimple.c (func_checker::compare_variable_decl): Compare
5650         hard register variables.
5651
5652 2015-02-25  Kai Tietz  <ktietz@redhat.com>
5653
5654         PR target/64212
5655         * symtab.c (symtab::make_decl_local): Set DECL_IMPORT_P explicit to 0.
5656         (symtab::noninterposable_alias): Likewise.
5657
5658 2015-02-25  Ilya Enkovich  <ilya.enkovich@intel.com>
5659
5660         PR target/65167
5661         * gcc/config/i386/i386.c (ix86_function_arg_regno_p): Support
5662         bounds registers.
5663         (avoid_func_arg_motion): Add dependencies for BNDSTX insns.
5664
5665 2015-02-25  Alan Lawrence  <alan.lawrence@arm.com>
5666
5667         PR target/64997
5668         * config/aarch64/aarch64.md (*xor_one_cmpl<mode>3): Use FP_REGNUM_P
5669         as split condition; force split via '#' in output pattern.
5670
5671 2015-02-25  Richard Biener  <rguenther@suse.de>
5672             Kai Tietz  <ktietz@redhat.com>
5673
5674         PR tree-optimization/61917
5675         * tree-vect-loop.c (vectorizable_reduction): Allow
5676         vect_internal_def without reduction to exit graceful.
5677
5678 2015-02-25  Georg-Johann Lay  <avr@gjlay.de>
5679
5680         PR target/65196
5681         * config/avr/avr.c (avr_adjust_insn_length): Call recog_memoized
5682         only with NONDEBUG_INSN_P.
5683
5684 2015-02-25  Georg-Johann Lay  <avr@gjlay.de>
5685
5686         Use variadic macros with avr-log.c.
5687
5688         * config/avr/avr-protos.h (avr_vdump): New prototype.
5689         (avr_log_set_caller_e, avr_log_set_caller_f): Remove protos.
5690         (avr_edump, avr_fdump, avr_dump): (Re)define to use avr_vdump.
5691         * config/avr/avr-log.c: Adjust comments.
5692         (avr_vdump): New function.
5693         (avr_vadump): Pass caller as 2nd argument instead of format string.
5694         (avr_log_caller, avr_log_fdump_e, avr_log_fdump_f)
5695         (avr_log_set_caller_e, avr_log_set_caller_f): Remove.
5696
5697 2015-02-25  Jakub Jelinek  <jakub@redhat.com>
5698
5699         PR lto/64374
5700         * target.def (target_option_stream_in): New target hook.
5701         * tree-streamer-in.c (streamer_read_tree_bitfields): Invoke
5702         targetm.target_option.post_stream_in if non-NULL.
5703         * doc/tm.texi.in: Add @hook TARGET_OPTION_POST_STREAM_IN.
5704         * doc/tm.texi: Updated.
5705         * config/i386/i386.c (ix86_function_specific_post_stream_in): New
5706         function.
5707         (TARGET_OPTION_POST_STREAM_IN): Redefine.
5708
5709 2015-02-24  Jeff Law  <law@redhat.com>
5710
5711         PR target/65117
5712         * config/xtensa/xtensa.md (zero_cost_loop_start): Reverse numbering
5713         of operand 0 and operand 2.
5714         (zero_cost_loop_end, loop_end): Similarly.
5715
5716 2015-02-24  Aldy Hernandez  <aldyh@redhat.com>
5717
5718         * gimple.h (gimple_build_assign): Rename CXX_MEM_STAT_DECL to
5719         CXX_MEM_STAT_INFO.
5720
5721 2015-02-24  DJ Delorie  <dj@redhat.com>
5722
5723         * config/rl78/rl78-protos.h (rl78_split_movsi): Accept a mode as well.
5724         * config/rl78/rl78-expand.md (movsf): New, same as movsi.
5725         * config/rl78/rl78.c (rl78_split_movsi): Accept a mode, use it
5726         instead of hardcoding SImode.
5727
5728 2015-02-24  Bernd Schmidt  <bernds@codesourcery.com>
5729
5730         * omp-low.c (create_omp_child_function): Tag entrypoint
5731         functions with a special attribute.
5732
5733 2015-02-24  Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
5734
5735         PR target/65058
5736         * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Drop unused variable.
5737
5738 2015-02-24  Vladimir Makarov  <vmakarov@redhat.com>
5739
5740         PR rtl-optimization/65123
5741         * lra-remat.c (operand_to_remat): Check hard regs in insn
5742         definition too.
5743
5744 2015-02-24  Nick Clifton  <nickc@redhat.com>
5745
5746         * config/v850/v850.h (ASM_SPEC): Pass -msoft-float/-mhard-float on
5747         to the assembler.
5748
5749 2015-02-24  Thomas Schwinge  <thomas@codesourcery.com>
5750
5751         PR libgomp/64625
5752         * omp-builtins.def (BUILT_IN_GOACC_DATA_START): Specify as
5753         BT_FN_VOID_INT_SIZE_PTR_PTR_PTR, not
5754         BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR.
5755         (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_UPDATE): Specify as
5756         BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR, not
5757         BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR.
5758         (BUILT_IN_GOACC_PARALLEL): Specify as
5759         BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR, not
5760         BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR.
5761         * builtin-types.def
5762         (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
5763         (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
5764         Remove function types.
5765         (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR)
5766         (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR)
5767         (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
5768         New function types.
5769
5770 2015-02-24  Georg-Johann Lay  <avr@gjlay.de>
5771
5772         * config/avr/stdfix.h [__WITH_AVRLIBC__]: Include <stdfix-avrlibc.h>.
5773
5774 2015-02-24  Jakub Jelinek  <jakub@redhat.com>
5775
5776         PR tree-optimization/65170
5777         * wide-int.cc (wi::mul_internal): For the umul_ppmm optimization,
5778         if val[1] < 0, clear also val[2] and return 3.
5779
5780 2015-02-24  Alan Modra  <amodra@gmail.com>
5781
5782         PR target/65172
5783         * config/rs6000/rs6000.c (get_memref_parts): Only return true
5784         when *base is a reg.  Handle nested plus addresses.  Simplify
5785         pre_modify test.
5786
5787 2015-02-22  Max Filippov  <jcmvbkbc@gmail.com>
5788
5789         * config/xtensa/xtensa.h (CONSTANT_ALIGNMENT, DATA_ALIGNMENT):
5790         use natural alignment when optimizing for size.
5791
5792 2015-02-23  Kaz Kojima  <kkojima@gcc.gnu.org>
5793
5794         PR target/65153
5795         * config/sh/sh.md (movsicc_true+3): Remove peephole.
5796         * config/sh/sh-protos.h (replace_n_hard_rtx): Don't declare.
5797         * config/sh/sh.c (replace_n_hard_rtx): Remove.
5798
5799 2015-02-23  Richard Sandiford  <richard.sandiford@arm.com>
5800
5801         PR fortran/63427
5802         * wide-int.cc (wi::from_mpz): Cope with unwrapped values that are
5803         too big for a wide_int.  Implement missing wrapping operation.
5804
5805 2015-02-23  Oleg Endo  <olegendo@gcc.gnu.org>
5806
5807         PR target/65163
5808         * config/sh/sh.md (swapbsi2, related peephole2): Use const_int -65536
5809         instead of const_int 4294901760.
5810
5811 2015-02-23  Georg-Johann Lay  <avr@gjlay.de>
5812
5813         * config/avr/t-avr: Fix typo in comment.
5814
5815 2015-02-21  Richard Sandiford  <richard.sandiford@arm.com>
5816
5817         * doc/rtl.texi (fma): Clarify documentation.
5818
5819 2015-02-20  Aldy Hernandez  <aldyh@redhat.com>
5820
5821         PR debug/58123
5822         * gimplify.c (gimplify_expr): Prefer location of TRY_FINALLY_EXPR
5823         over input_location.
5824
5825 2015-02-20  Bernd Schmidt  <bernds@codesourcery.com>
5826
5827         * tree-streamer-in.c (unpack_ts_decl_common_value_fields,
5828         unpack_ts_type_common_value_fields): If ACCEL_COMPILER,
5829         restrict alignments to absolute_biggest_alignment.
5830         * config/i386/i386.c (TARGET_ABSOLUTE_BIGGEST_ALIGNMENT):
5831         Define.
5832         * doc/tm.texi.in (TARGET_ABSOLUTE_BIGGEST_ALIGNMENT): Add.
5833         * doc/tm.texi: Regenerate.
5834         * target.def (absolute_biggest_alignment): New DEFHOOKPOD.
5835
5836 2015-02-20  Vladimir Makarov  <vmakarov@redhat.com>
5837
5838         PR target/64172
5839         * ira-color.c (color_pass): Prevent splitting multi-register pseudos.
5840
5841 2015-02-20  Richard Biener  <rguenther@suse.de>
5842
5843         PR tree-optimization/65136
5844         * tree-ssa-propagate.c: Include cfgloop.h.
5845         (replace_phi_args_in): Avoid replacing loop latch edge PHI
5846         arguments with constants.
5847
5848 2015-02-20  Jakub Jelinek  <jakub@redhat.com>
5849             Martin Liska  <mliska@suse.cz>
5850
5851         PR target/63892
5852         * ipa-icf.c (sem_function::merge): If DECL_COMDAT_GROUP (alias->decl),
5853         don't try to create_thunk if stdarg_p.  If
5854         !sem_item::target_supports_symbol_aliases_p (), similarly, and try to
5855         redirect_callers if possible.
5856         (sem_item_optimizer::execute): Call unregister_hooks here...
5857         (ipa_icf_driver): ... instead of here.
5858
5859 2015-02-20  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
5860
5861         * config/aarch64/aarch64.md (*aarch64_lshr_sisd_or_int_<mode>3):
5862         Mark operand 0 as earlyclobber in 2nd alternative.
5863         (1st define_split below *aarch64_lshr_sisd_or_int_<mode>3):
5864         Write negated shift amount into QI lowpart operand 0 and use it
5865         in the shift step.
5866         (2nd define_split below *aarch64_lshr_sisd_or_int_<mode>3): Likewise.
5867
5868 2015-02-20  Bernd Schmidt  <bernds@codesourcery.com>
5869
5870         * cgraph.h (clone_function_name_1): Declare.
5871         * cgraphclones.c (clone_function_name_1): New function.
5872         (clone_function_name): Use it.
5873         * lto-partition.c: Include "stringpool.h".
5874         (must_not_rename, maybe_rewrite_identifier)
5875         (validize_symbol_for_target): New static functions.
5876         (privatize_symbol_name): Use must_not_rename.
5877         (promote_symbol): Call validize_symbol_for_target.
5878         (lto_promote_cross_file_statics): Likewise.
5879         (lto_promote_statics_nonwpa): Likewise.
5880
5881 2015-02-20  Georg-Johann Lay  <avr@gjlay.de>
5882
5883         PR target/64452
5884         * config/avr/avr.md (pushhi_insn): New insn.
5885         (push<mode>1): Push virtual regs in one chunk using pushhi1_insn.
5886
5887 2015-02-20  Bernd Schmidt  <bernds@codesourcery.com>
5888             Jakub Jelinek  <jakub@redhat.com>
5889
5890         * tree-streamer.c (preload_common_nodes): Don't preload
5891         TI_VA_LIST* for offloading.
5892         * tree-stdarg.c (pass_stdarg::gate): Disable for ACCEL_COMPILER
5893         in_lto_p.
5894
5895 2015-02-19  John David Anglin  <danlgin@gcc.gnu.org>
5896
5897         * config/pa/pa.c (pa_emit_move_sequence): Always force
5898         (const (plus (symbol) (const_int))) to const mem.  Put REG_EQUAL
5899         note on insn.
5900
5901         * config/pa/pa.c (pa_reloc_rw_mask): New function.
5902         (TARGET_ASM_RELOC_RW_MASK): Define.
5903         (pa_cannot_force_const_mem): Revert previous change.
5904
5905 2015-02-19  Martin Jambor  <mjmabor@suse.cz>
5906             Jan Hubicka  <hubicka@ucw.cz>
5907
5908         PR ipa/65028
5909         * ipa-cp.c (propagate_alignment_accross_jump_function): Fix propagation
5910         across jump functions.
5911
5912 2015-02-19  Uros Bizjak  <ubizjak@gmail.com>
5913
5914         * config/alpha/alpha.c (alpha_in_small_data_p): Reject common symbols.
5915
5916 2015-02-19  Sandra Loosemore  <sandra@codesourcery.com>
5917
5918         * doc/extend.texi (x86 transactional memory intrinsics): Copy-edit.
5919
5920 2015-02-19  Richard Henderson  <rth@redhat.com>
5921
5922         PR middle-end/65074
5923         * varasm.c (default_binds_local_p_2): Don't test node->definition;
5924         test DECL_EXTERNAL independent of symtab_node.
5925
5926 2015-02-19  Jakub Jelinek  <jakub@redhat.com>
5927
5928         PR lto/65012
5929         * varpool.c (varpool_node::get_constructor): Return early
5930         if this->lto_file_data is NULL.
5931
5932 2015-02-19  Maxim Kuvyrkov  <maxim.kuvyrkov@linaro.org>
5933
5934         * haifa-sched.c (enum rfs_decision, rfs_str): Remove RFS_DEBUG.
5935         (rank_for_schedule_debug): Update.
5936         (ready_sort): Make static.  Move sorting logic to ...
5937         (ready_sort_debug, ready_sort_real): New static functions.
5938         (schedule_block): Sort both debug insns and real insns in preparation
5939         for ready list trimming.  Improve debug output.
5940         * sched-int.h (ready_sort): Remove global declaration.
5941
5942 2015-02-18  Trevor Saunders  <tsaunders@mozilla.com>
5943
5944         * ipa-icf.c (sem_function::equals_private): Adjust.
5945         (sem_function::bb_dict_test): Take a vec<int> * instead of
5946         auto_vec<int>.
5947         * ipa-icf.h (bb_dict_test): Likewise.
5948
5949 2015-02-18  Jakub Jelinek  <jakub@redhat.com>
5950
5951         PR gcov-profile/64634
5952         * tree-eh.c (frob_into_branch_around): Fix up typos
5953         in function comment.
5954         (lower_catch): Put eh_seq resulting from EH lowering of
5955         the cleanup sequence after the cleanup rather than before it.
5956
5957 2015-02-18  Tom de Vries  <tom@codesourcery.com>
5958
5959         * common.opt (fstdarg-opt): New option.
5960         * tree-stdarg.c (pass_stdarg::gate): Use flag_stdarg_opt.
5961         * doc/invoke.texi (@item Optimization Options): Add -fstdarg-opt.
5962         (@item -fstdarg-opt): New item.
5963
5964 2015-02-18  H.J. Lu  <hongjiu.lu@intel.com>
5965
5966         PR target/65064
5967         * config/ia64/predicates.md (sdata_symbolic_operand): Return false
5968         for common symbols.
5969
5970 2015-02-18  Jakub Jelinek  <jakub@redhat.com>
5971
5972         * config/i386/t-intelmic (mkoffload.o): Remove dependency on
5973         insn-modes.h.
5974         (ALL_HOST_OBJS): Add mkoffload.o.
5975         * config/nvptx/t-nvptx (ALL_HOST_OBJS): Likewise.
5976
5977 2015-02-18  Jan Hubicka  <hubicka@ucw.cz>
5978
5979         * ipa-devirt.c (odr_subtypes_equivalent_p): Fix formating.
5980         (compare_virtual_tables): Be smarter about skipping typeinfos;
5981         do sane output on virtual table table mismatch.
5982         (warn_odr): Be ready for forward declarations of enums;
5983         output sane info on base mismatch and virtual table mismatch.
5984         (add_type_duplicate): Fix code choosing prevailing type; do not ICE
5985         when only one type is polymorphic.
5986         (get_odr_type): Fix hashtable corruption.
5987         (dump_odr_type): Dump mangled names.
5988
5989 2015-02-18  Richard Biener  <rguenther@suse.de>
5990
5991         PR tree-optimization/65063
5992         * tree-predcom.c (determine_unroll_factor): Return 1 if we
5993         have replaced looparound PHIs.
5994
5995 2015-02-18  Martin Liska  <mliska@suse.cz>
5996
5997         * lto-streamer.c (lto_streamer_init): Encapsulate
5998         streamer_check_handled_ts_structures with checking macro.
5999
6000 2015-02-18  Jakub Jelinek  <jakub@redhat.com>
6001
6002         PR ipa/65087
6003         * cgraphclones.c (cgraph_node::create_virtual_clone): Only copy
6004         section if !implicit_section.
6005         (cgraph_node::create_version_clone_with_body): Likewise.
6006         * trans-mem.c (ipa_tm_create_version): Likewise.
6007
6008 2015-02-18  Richard Biener  <rguenther@suse.de>
6009
6010         PR tree-optimization/62217
6011         * tree-ssa-dom.c (cprop_operand): Avoid propagating copies
6012         into BIVs.
6013
6014 2015-02-18  Marek Polacek  <polacek@redhat.com>
6015
6016         PR sanitizer/65081
6017         * ubsan.c (OBJSZ_MAX_OFFSET): Define.
6018         (ubsan_expand_objsize_ifn): Don't emit run-time check if the offset
6019         is in range [-16K, -1].  Don't issue run-time error if
6020         (ptr > ptr + offset).
6021
6022 2015-02-18  Thomas Schwinge  <thomas@codesourcery.com>
6023
6024         * doc/install.texi (nvptx-*-none): New section.
6025         * doc/invoke.texi (Nvidia PTX Options): Likewise.
6026         * config/nvptx/nvptx.opt: Update.
6027
6028         * config/nvptx/mkoffload.c (parse_env_var, free_array_of_ptrs)
6029         (access_check): New functions, copied from
6030         config/i386/intelmic-mkoffload.c.
6031         (main): For non-installed testing, look in all COMPILER_PATHs for
6032         GCC_INSTALL_NAME.
6033
6034         * config/nvptx/nvptx.h (GOMP_SELF_SPECS): Define macro.
6035
6036 2015-02-18  Andrew Pinski  <apinski@cavium.com>
6037             Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>
6038
6039         * config/aarch64/aarch64.c (*aarch64_load_symref_appropriately):
6040         Check whether the destination of SYMBOL_SMALL_TPREL is Pmode.
6041
6042 2015-02-17  Jan Hubicka  <hubicka@ucw.cz>
6043
6044         * ipa-visibility.c (function_and_variable_visibility): Only
6045         check locality if node is not already local.
6046         * ipa-inline.c (want_inline_function_to_all_callers_p): Use
6047         call_for_symbol_and_aliases instead of
6048         call_for_symbol_thunks_and_aliases.
6049         (ipa_inline): Likewise.
6050         * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
6051         first walk aliases.
6052         * ipa.c (symbol_table::remove_unreachable_nodes): Use
6053         call_for_symbol_and_aliases.
6054         * ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol.
6055         (ipa_propagate_frequency_1): Use it; use opt_for_fn
6056         (ipa_propagate_frequency): Update.
6057         (ipa_profile): Add opt_for_fn gueards.
6058
6059 2015-02-17  Oleg Endo  <olegendo@gcc.gnu.org>
6060
6061         * config/sh/sh.opt (mcbranch-force-delay-slot): New option.
6062         * doc/invoke.texi (SH options): Document it.
6063         * config/sh/sh.c (sh_insn_length_adjustment): Check
6064         TARGET_CBRANCH_FORCE_DELAY_SLOT instead of sh_cpu_attr == CPU_SH2E.
6065
6066 2015-02-17  H.J. Lu  <hongjiu.lu@intel.com>
6067
6068         * common.opt (fipa-cp-alignment): New.
6069         * ipa-cp.c (ipcp_store_alignment_results): Check
6070         flag_ipa_cp_alignment.
6071         * opts.c (default_options_table): Enable -fipa-cp-alignment for
6072         -O2.
6073         (enable_fdo_optimizations): Set x_flag_ipa_cp_alignment.
6074         * doc/invoke.texi: Document -fipa-cp-alignment.
6075
6076 2015-02-17  Oleg Endo  <olegendo@gcc.gnu.org>
6077
6078         PR target/64793
6079         * config/sh/sh.md (cbranch define_delay): Set annulled true branch insn
6080         to nil.  Adjust comments.
6081
6082 2015-02-17  Jan Hubicka  <hubicka@ucw.cz>
6083
6084         * ipa-visibility.c (function_and_variable_visibility): Only
6085         check locality if node is not already local.
6086         * ipa-inline.c (want_inline_function_to_all_callers_p): Use
6087         call_for_symbol_and_aliases instead of
6088         call_for_symbol_thunks_and_aliases.
6089         (ipa_inline): Likewise.
6090         * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
6091         first walk aliases.
6092         * ipa.c (symbol_table::remove_unreachable_nodes): Use
6093         call_for_symbol_and_aliases.
6094         * ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol.
6095         (ipa_propagate_frequency_1): Use it; use opt_for_fn
6096         (ipa_propagate_frequency): Update.
6097         (ipa_profile): Add opt_for_fn guards.
6098
6099 2015-02-17  Thomas Schwinge  <thomas@codesourcery.com>
6100
6101         * config/nvptx/mkoffload.c (parse_file): Fix logic error in
6102         skipping of "strange" tokens.
6103
6104 2015-02-17  Jeff Law  <law@redhat.com>
6105
6106         * tree-vrp.c (identify_jump_threads): Use last_stmt.  Remove
6107         obsolete comment.
6108
6109 2015-02-17  James Greenhalgh  <james.greenhalgh@arm.com>
6110
6111         * haifa-sched.c (recompute_todo_spec): Treat SCHED_GROUP_P
6112         as forcing a HARD_DEP between instructions, thereby
6113         disallowing rewriting to break dependencies.
6114
6115 2015-02-16  Jan Hubicka  <hubicka@ucw.cz>
6116
6117         * symtab.c (symtab_node::verify_base): Verify body_removed->!definiton
6118         * lto-cgraph.c (lto_output_varpool_node): Do not keep definition of
6119         variables in boundary that have no inlitalizer encoded and are
6120         not aliases.
6121         * varasm.c (default_binds_local_p_2): External definitions do not
6122         count as definitions here.
6123
6124 2015-02-16  Jeff Law  <law@redhat.com>
6125
6126         PR tree-optimization/64823
6127         * tree-vrp.c (identify_jump_threads): Handle blocks with no real
6128         statements.
6129         * tree-ssa-threadedge.c (potentially_threadable_block): Allow
6130         threading through blocks with PHIs, but no statements.
6131         (thread_through_normal_block): Distinguish between blocks where
6132         we did not process all the statements and blocks with no statements.
6133
6134 2015-02-16  Jakub Jelinek  <jakub@redhat.com>
6135             James Greenhalgh  <james.greenhalgh@arm.com>
6136
6137         PR ipa/64963
6138         * cgraphclones.c (cgraph_node::create_virtual_clone): Copy
6139         section if not linkonce.  Fix up formatting.
6140         (cgraph_node::create_version_clone_with_body): Copy section.
6141         * trans-mem.c (ipa_tm_create_version): Likewise.
6142
6143 2015-02-16  Richard Biener  <rguenther@suse.de>
6144
6145         PR tree-optimization/65077
6146         * tree-ssa-structalias.c (get_constraint_for_1): Handle
6147         IMAGPART_EXPR, REALPART_EXPR and BIT_FIELD_REF.
6148         (find_func_aliases): Allow float values to carry pointers again.
6149
6150 2015-02-16  James Greenhalgh  <james.greenhalgh@arm.com>
6151
6152         * doc/install.texi (Specific): Reorder targets list to put
6153         aarch64 in alphabetical order.  Add a link to aarch64*-*-*
6154         from the top menu.
6155
6156 2015-02-16  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>
6157             David Edelsohn  <dje.gcc@gmail.com>
6158
6159         PR target/65058
6160         * config/rs6000/rs6000.c (rs6000_output_symbol_ref): Append storage
6161         mapping class to external variable or function reference.
6162         * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Do not append storage
6163         mapping class.
6164
6165 2015-02-16  David Eelsohn  <dje.gcc@gmail.com>
6166
6167         PR target/53348
6168         * config/rs6000/rs6000.c (rs6000_declare_alias): Only use
6169         ASM_WEAKEN_DECL if defined.
6170
6171 2015-02-16  Richard Biener  <rguenther@suse.de>
6172
6173         PR lto/65015
6174         * varasm.c (default_file_start): For LTO produced units
6175         emit <artificial> as file directive.
6176
6177 2015-02-16  Richard Biener  <rguenther@suse.de>
6178
6179         PR tree-optimization/63593
6180         * tree-predcom.c (execute_pred_commoning_chain): Delay removing
6181         stmts and releasing SSA names until...
6182         (execute_pred_commoning): ... after processing all chains.
6183
6184 2015-02-16  Jan Hubicka  <hubicka@ucw.cz>
6185
6186         PR ipa/65059
6187         * ipa-comdats.c (ipa_comdats): Do not categorize thunks to
6188         external functions.
6189
6190 2015-02-15  Sandra Loosemore  <sandra@codesourcery.com>
6191
6192         * doc/bugreport.texi: Adjust section titles throughout the file
6193         to use "Title Case".
6194         * doc/extend.texi: Likewise.
6195         * doc/gcov.texi: Likewise.
6196         * doc/implement-c.texi: Likewise.
6197         * doc/implement-cxx.texi: Likewise.
6198         * doc/invoke.texi: Likewise.
6199         * doc/objc.texi: Likewise.
6200         * doc/standards.texi: Likewise.
6201         * doc/trouble.texi: Likewise.
6202
6203 2015-02-15  Jan Hubicka  <hubicka@ucw.cz>
6204
6205         * cgraph.h (symtab_node::has_aliases_p): Simplify.
6206         (symtab_node::call_for_symbol_and_aliases): Use has_aliases_p
6207         * tree.c (lookup_binfo_at_offset): Make static.
6208         (get_binfo_at_offset): Do not shadow offset; add explanatory
6209         comment.
6210
6211 2015-02-15  John David Anglin  <danglin@gcc.gnu.org>
6212
6213         * config/pa/pa.c (pa_secondary_reload): Request a secondary reload
6214         for all floading point loads and stores except those using a register
6215         index address.
6216         * config/pa/pa.md: Add new patterns to load a lo_sum DLT operand
6217         to a register.
6218
6219 2015-02-14  Jan Hubicka  <hubicka@ucw.cz>
6220
6221         * ipa-inline-analysis.c (growth_data): Add uninlinable field.
6222         (do_estimate_growth_1): Record if any uninlinable edge was seen.
6223         (estimate_growth): Handle uninlinable edges correctly.
6224         (check_callers): New.
6225         (growth_likely_positive): Handle aliases correctly.
6226
6227 2015-02-14  Jan Hubicka  <hubicka@ucw.cz>
6228
6229         * ipa-chkp.c: Use iterate_direct_aliases.
6230         * symtab.c (resolution_used_from_other_file_p): Move inline.
6231         (symtab_node::create_reference): Fix formating.
6232         (symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases.
6233         (symtab_node::iterate_reference): Move inline.
6234         (symtab_node::iterate_referring): Move inline.
6235         (symtab_node::iterate_direct_aliases): Move inline.
6236         (symtab_node::used_from_object_file_p_worker): Inline into ...
6237         (symtab_node::used_from_object_file_p): ... this one; move inline.
6238         (symtab_node::call_for_symbol_and_aliases): Move inline;
6239         use iterate_direct_aliases.
6240         (symtab_node::call_for_symbol_and_aliases_1): New method.
6241         (cgraph_node::call_for_symbol_and_aliases): Move inline;
6242         use iterate_direct_aliases.
6243         (cgraph_node::call_for_symbol_and_aliases_1): New method.
6244         (varpool_node::call_for_node_and_aliases): Rename to ...
6245         (varpool_node::call_for_symbol_and_aliases): ... this one; Move inline;
6246         use iterate_direct_aliases.
6247         (varpool_node::call_for_symbol_and_aliases_1): New method.
6248         * ipa.c (ipa_single_use): Use iterate_direct_aliases.
6249         (ipa_discover_readonly_nonaddressable_var): Update.
6250         * ipa-devirt.c: Fix formating.
6251         * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_and_refs_p):
6252         Move inline.
6253         (cgraph_node::call_for_symbol_and_aliases): Move inline.
6254         (cgraph_node::call_for_symbol_and_aliases_1): New function..
6255         * cgraph.h (used_from_object_file_p_worker): Remove.
6256         (resolution_used_from_other_file_p): Move inline.
6257         (symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases.
6258         (symtab_node::iterate_reference): Move inline.
6259         (symtab_node::iterate_referring): Move inline.
6260         (symtab_node::iterate_direct_aliases): Move inline.
6261         (symtab_node::used_from_object_file_p_worker): Inline into ...
6262         (symtab_node::used_from_object_file_p): Move inline.
6263         * tree-emutls.c (ipa_lower_emutls): Update.
6264         * varpool.c (varpool_node::call_for_symbol_and_aliases_1): New method.
6265         (varpool_node::call_for_node_and_aliases): Remove.
6266
6267 2015-02-14  Jakub Jelinek  <jakub@redhat.com>
6268
6269         PR tree-optimization/62209
6270         * tree-ssa-reassoc.c (update_range_test): If stmt is a PHI and
6271         op == range->exp, insert seq and gimplified code after labels
6272         instead of after the phi.
6273
6274 2015-02-13  Jeff Law  <law@redhat.com>
6275
6276         PR bootstrap/65060
6277         Revert my change for tree-optimization/64823.
6278
6279 2015-02-13  Jakub Jelinek  <jakub@redhat.com>
6280
6281         PR tree-optimization/65053
6282         * tree-ssa-phiopt.c (value_replacement): When moving assign before
6283         cond, either reset VR on lhs or set it to phi result VR.
6284
6285 2015-02-13  Jeff Law  <law@redhat.com>
6286
6287         PR tree-optimization/64823
6288         * tree-vrp.c (identify_jump_threads): Handle blocks with no statements.
6289         * tree-ssa-threadedge.c (potentially_threadable_block): Allow
6290         threading through blocks with PHIs, but no statements.
6291         (thread_through_normal_block): Distinguish between blocks where
6292         we did not process all the statements and blocks with no statements.
6293
6294         PR rtl-optimization/47477
6295         * match.pd (convert (plus/minus (convert @0) (convert @1): New
6296         simplifier to narrow arithmetic.
6297
6298 2015-02-13  Jan Hubicka  <hubicka@ucw.cz>
6299
6300         PR ipa/65028
6301         * ipa-prop.c (update_indirect_edges_after_inlining): Do not drop
6302         polymorphic call info when type is not known to be preserved.
6303
6304 2015-02-13  Maritn Jambor  <mjambor@suse.cz>
6305
6306         PR ipa/65028
6307         * ipa-inline-transform.c (mark_all_inlined_calls_cdtor): New function.
6308         (inline_call): Use it.
6309
6310 2015-02-13  Thomas Schwinge  <thomas@codesourcery.com>
6311
6312         * config/nvptx/offload.h (ACCEL_COMPILER_acc_device): Define to
6313         GOMP_DEVICE_NVIDIA_PTX.
6314
6315 2015-02-13  Jakub Jelinek  <jakub@redhat.com>
6316
6317         PR ipa/65034
6318         * stmt.c (emit_case_nodes): Use void_type_node instead of
6319         NULL_TREE as LABEL_DECL type.
6320
6321 2015-02-13  John David Anglin  <danglin@gcc.gnu.org>
6322
6323         * config/pa/constraints.md: Change "Q" and "T" constraints to memory
6324         constraints.
6325         * config/pa/pa.c (pa_cannot_force_const_mem): Don't allow constant
6326         symbolic references to data to be forced to constant memory on the
6327         SOM target.
6328
6329 2015-02-13  Ilya Enkovich  <ilya.enkovich@intel.com>
6330
6331         PR tree-optimization/65002
6332         * tree-cfg.c (pass_data_fixup_cfg): Don't update
6333         SSA on start.
6334         * tree-sra.c (some_callers_have_no_vuse_p): New.
6335         (ipa_early_sra): Reject functions whose callers
6336         assume function is read only.
6337
6338 2015-02-13  Richard Biener  <rguenther@suse.de>
6339
6340         PR lto/65015
6341         * dwarf2out.c (dwarf2out_finish): Use <artificial> as DW_AT_name
6342         for LTO produced CUs.
6343
6344 2015-02-13  Bin Cheng  <bin.cheng@arm.com>
6345
6346         PR tree-optimization/64705
6347         * tree-ssa-loop-niter.h (expand_simple_operations): New parameter.
6348         * tree-ssa-loop-niter.c (expand_simple_operations): New parameter.
6349         * tree-ssa-loop-ivopts.c (extract_single_var_from_expr): New.
6350         (find_bivs, find_givs_in_stmt_scev): Pass new argument to
6351         expand_simple_operations.
6352
6353 2015-02-13  H.J. Lu  <hongjiu.lu@intel.com>
6354             Richard Henderson  <rth@redhat.com>
6355
6356         PR rtl/32219
6357         * cgraphunit.c (cgraph_node::finalize_function): Set definition
6358         before notice_global_symbol.
6359         (varpool_node::finalize_decl): Likewise.
6360         * varasm.c (default_binds_local_p_2): Rename from
6361         default_binds_local_p_1, add weak_dominate argument.  Use direct
6362         returns instead of assigning to local variable.  Unify varpool and
6363         cgraph paths via symtab_node.  Reject undef weak variables before
6364         testing visibility.  Reorder tests for simplicity.
6365         (default_binds_local_p): Use default_binds_local_p_2.
6366         (default_binds_local_p_1): Likewise.
6367         (decl_binds_to_current_def_p): Unify varpool and cgraph paths
6368         via symtab_node.
6369         (default_elf_asm_output_external): Emit visibility when specified.
6370
6371 2015-02-13  Alan Modra  <amodra@gmail.com>
6372
6373         * config/rs6000/rs6000.c (rs6000_emit_epilogue): Fix typo in
6374         code setting up r11 for out-of-line fp restore.
6375
6376 2015-02-13  Eric Botcazou  <ebotcazou@adacore.com>
6377
6378         * config/visium/visium.opt (msv-mode): Add RejectNegative and Report.
6379         (muser-mode): Likewise.
6380
6381 2015-02-13  Alan Modra  <amodra@gmail.com>
6382
6383         * config/rs6000/rs6000.c (rs6000_emit_epilogue): Use addsi3_carry
6384         or adddi3_carry when restoring frame_reg_rtx from r0 after restvr.
6385
6386 2015-02-12  David Howells  <dhowells@redhat.com>
6387
6388         * tree-sra.c (dump_dereferences_table): Avoid -Wformat-security
6389         warning.
6390         * tree-ssa-uninit.c (dump_predicates): Likewise.
6391         * opts.c (print_filtered_help): Likewise.
6392
6393 2015-02-12  Jakub Jelinek  <jakub@redhat.com>
6394
6395         * dwarf2out.c (output_die): Use "%s", name instead of name to
6396         avoid -Wformat-security warning.
6397
6398         * dwarf2asm.c (dw2_asm_output_vms_delta): Only define
6399         if ASM_OUTPUT_DWARF_VMS_DELTA is defined.
6400         * dwarf2out.c (output_die): Use dw2_asm_output_vms_delta
6401         only if ASM_OUTPUT_DWARF_VMS_DELTA is defined.
6402
6403 2015-02-12  Jason Merrill  <jason@redhat.com>
6404
6405         * common.opt (-flifetime-dse): New.
6406
6407 2015-02-12  Jakub Jelinek  <jakub@redhat.com>
6408
6409         PR sanitizer/65019
6410         * ubsan.c (ubsan_expand_objsize_ifn): Always return true.
6411
6412         PR tree-optimization/65014
6413         * fold-const.c (fold_binary_loc): When creating {L,R}ROTATE_EXPR,
6414         use original second operand of arg0 or arg1 instead of
6415         that adjusted by STRIP_NOPS.
6416
6417 2015-02-11  Jeff Law  <law@redhat.com>
6418
6419         PR target/63347
6420         * haifa-sched.c (prune_ready_list): If we have a SCHED_GROUP_P insn
6421         that needs to be queued, just queue it for a single cycle.
6422
6423 2015-02-11  Jan Hubicka  <hubicka@ucw.cz>
6424
6425         * ipa.c (symbol_table::remove_unreachable_nodes): Avoid releasing
6426         bodies of thunks; comment on why.
6427         * symtab.c (symtab_node::get_partitioning_class): Aliases of extern
6428         symbols are extern.
6429
6430 2015-02-11  Richard Henderson  <rth@redhat.com>
6431
6432         PR sanitize/65000
6433         * tree-eh.c (mark_reachable_handlers): Mark source and destination
6434         regions of __builtin_eh_copy_values.
6435
6436 2015-02-11  Jakub Jelinek  <jakub@redhat.com>
6437
6438         PR middle-end/65003
6439         * varasm.c (place_block_symbol): Assert that DECL_RTL of the
6440         ultimate alias is MEM with SYMBOL_REF satisfying
6441         SYMBOL_REF_HAS_BLOCK_INFO_P as its operand.  Don't pass the MEM
6442         to place_block_symbol, but instead pass the SYMBOL_REF operand of it.
6443
6444 2015-02-11  Thomas Schwinge  <thomas@codesourcery.com>
6445
6446         * config/nvptx/mkoffload.c: Include "diagnostic.h" instead of
6447         "diagnostic-core.h".
6448         (main): Initialize progname, and call diagnostic_initialize.
6449
6450         * config/nvptx/mkoffload.c (process): Refer to __OFFLOAD_TABLE__
6451         instead of __OPENMP_TARGET__.
6452
6453         * config/nvptx/mkoffload.c: Include "gomp-constants.h".
6454         (process): Use its GOMP_DEVICE_NVIDIA_PTX instead of (wrongly)
6455         hard-coding PTX_ID.
6456
6457 2015-02-11  H.J. Lu  <hongjiu.lu@intel.com>
6458
6459         * doc/sourcebuild.texi (pie_enabled): Document.
6460
6461 2015-02-11  Martin Liska  <mliska@suse.cz>
6462
6463         PR ipa/64813
6464         * cgraphunit.c (cgraph_node::expand_thunk): Do not create
6465         a return value for call to a function that is noreturn.
6466
6467 2015-02-11  Richard Biener  <rguenther@suse.de>
6468
6469         PR lto/65015
6470         * dwarf2out.c (gen_producer_string): Drop -fltrans-output-list
6471         and -fresolution.
6472
6473 2015-02-11  Andrew Pinski  <apinski@cavium.com>
6474
6475         PR target/64893
6476         * config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins):
6477         Change the first argument type to size_type_node and add another
6478         size_type_node.
6479         (aarch64_simd_expand_builtin): Handle the new argument to
6480         AARCH64_SIMD_BUILTIN_LANE_CHECK and don't ICE but rather
6481         print an out when the first two arguments are not
6482         nonzero integer constants.
6483         * config/aarch64/arm_neon.h (__AARCH64_LANE_CHECK):
6484         Pass the sizeof directly to __builtin_aarch64_im_lane_boundsi.
6485
6486 2015-02-11  Jakub Jelinek  <jakub@redhat.com>
6487
6488         PR target/61925
6489         * config/i386/i386.c (ix86_reset_to_default_globals): Removed.
6490         (ix86_reset_previous_fndecl): Restore it here, unconditionally.
6491         (ix86_set_current_function): Rewritten.
6492         (ix86_add_new_builtins): Temporarily clear current_target_pragma
6493         when creating builtin fndecls.
6494
6495 2015-02-10  Jan Hubicka  <hubicka@ucw.cz>
6496
6497         PR ipa/65005
6498         * ipa-visibility.c (cgraph_node::non_local_p): Turn into static
6499         function.
6500         * symtab.c (symtab_node::verify_base): Remove check that non-definitions
6501         have no comdat group.
6502         * lto-cgraph.c (lto_output_node): Always output thunk and alias info.
6503         (lto_output_varpool_node): Always output alias info.
6504         (output_refs): Output refs of boundary aliases, too.
6505         (compute_ltrans_boundary): Add alias and thunk target into boundaries.
6506         (output_symtab): Output call eges in thunks in boundary.
6507         (get_alias_symbol): Remove.
6508         (input_node, input_varpool_node): Do not special case weakrefs.
6509         * ipa.c (symbol_table::remove_unreachable_nodes): Do not remove
6510         alias and thunks targets in the boundary; do not take removed symbols
6511         from their comdat groups.
6512         * cgraph.c (cgraph_node::local_info): Look through aliases and thunks.
6513         (cgraph_node::global_info): Remove.
6514         (cgraph_node::rtl_info): Look through aliases and thunks.
6515         * cgrpah.h (global_info): Remove.
6516         (non_local_p): Remove.
6517
6518 2015-02-10  David Wohlferd  <dw@LimeGreenSocks.com>
6519             Sandra Loosemore  <sandra@codesourcery.com>
6520
6521         * doc/invoke.texi (x86 Options [-masm=dialect]): Add cross-references
6522         to inline asm.  List dialects in proper order.
6523
6524 2015-02-10  David Wohlferd  <dw@LimeGreenSocks.com>
6525             Sandra Loosemore  <sandra@codesourcery.com>
6526
6527         * doc/extend.texi (Loop-Specific Pragmas): Fix grammar error.
6528
6529 2015-02-10  David Wohlferd  <dw@LimeGreenSocks.com>
6530
6531         * doc/extend.texi (Symbol-Renaming Pragmas): Restore (slightly
6532         modified) reference to Solaris.
6533
6534 2015-02-10  Sandra Loosemore  <sandra@codesourcery.com>
6535
6536         * doc/extend.texi (Extended Asm): Fix typos.
6537
6538 2015-02-10  Jakub Jelinek  <jakub@redhat.com>
6539
6540         PR sanitizer/65004
6541         * ubsan.c (ubsan_expand_vptr_ifn): Always return true.
6542
6543 2015-02-10  Oleg Endo  <olegendo@gcc.gnu.org>
6544
6545         PR target/64661
6546         * config/sh/sh-protos.h (TARGET_ATOMIC_ANY, TARGET_ATOMIC_STRICT,
6547         TARGET_ATOMIC_SOFT_GUSA, TARGET_ATOMIC_HARD_LLCS,
6548         TARGET_ATOMIC_SOFT_TCB, TARGET_ATOMIC_SOFT_IMASK): Add parentheses.
6549         * config/sh/constraints.md (Ara, Add): New constraints.
6550         * config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1): New
6551         predicates.
6552         (atomic_compare_and_swap<mode>, atomic_exchange<mode>): Use
6553         atomic_mem_operand_0.  Don't use force_reg on the memory address.
6554         (atomic_compare_and_swapsi_hard): Use atomic_mem_operand_0 predicate and
6555         Sra constraint.  Convert to insn_and_split.  Add workaround for
6556         PR 64974.
6557         (atomic_compare_and_swap<mode>_hard): Copy to
6558         atomic_compare_and_swap<mode>_hard_1.  Convert to insn_and_split.
6559         Use atomic_mem_operand_0 predicate.
6560         (atomic_compare_and_swap<mode>_soft_gusa,
6561         atomic_exchange<mode>_soft_gusa): Use atomic_mem_operand_0 predicate and
6562         AraAdd constraints.
6563         (atomic_compare_and_swap<mode>_soft_tcb,
6564         atomic_compare_and_swap<mode>_soft_imask,
6565         atomic_exchange<mode>_soft_tcb, atomic_exchange<mode>_soft_imask): Use
6566         atomic_mem_operand_0 predicate and SraSdd constraints.
6567         (atomic_exchangesi_hard) Use atomic_mem_operand_0 predicate and Sra
6568         constraint.
6569         (atomic_exchange<mode>_hard): Copy to atomic_exchange<mode>_hard_1.
6570         Convert to insn_and_split.  Use atomic_mem_operand_0 predicate.
6571         (atomic_fetch_<fetchop_name><mode>, atomic_fetch_nand<mode>,
6572         atomic_<fetchop_name>_fetch<mode>): Use atomic_mem_operand_1.  Don't use
6573         force_reg on the memory address.
6574         (atomic_fetch_<fetchop_name>si_hard, atomic_fetch_notsi_hard,
6575         atomic_fetch_nandsi_hard, atomic_<fetchop_name>_fetchsi_hard,
6576         atomic_not_fetchsi_hard, atomic_nand_fetchsi_hard): Use
6577         atomic_mem_operand_1 predicate and Sra constraint.
6578         (atomic_fetch_<fetchop_name><mode>_hard): Copy to
6579         atomic_fetch_<fetchop_name><mode>_hard_1.  Convert to insn_and_split.
6580         Use atomic_mem_operand_1 predicate.
6581         (atomic_<fetchop_name><mode>_hard): Copy to
6582         atomic_<fetchop_name><mode>_hard_1.  Convert to insn_and_split.
6583         Use atomic_mem_operand_1 predicate.
6584         (atomic_fetch_nand<mode>_hard): Copy to atomic_fetch_nand<mode>_hard_1.
6585         Convert to insn_and_split.  Use atomic_mem_operand_1 predicate.
6586         (atomic_nand<mode>_hard): Copy to atomic_nand<mode>_hard_1.  Convert to
6587         insn_and_split.  Use atomic_mem_operand_1 predicate.
6588         (atomic_<fetchop_name>_fetch<mode>_hard): Copy to
6589         atomic_<fetchop_name>_fetch<mode>_hard_1.  Convert to insn_and_split.
6590         Use atomic_mem_operand_1 predicate.
6591         (atomic_nand_fetch<mode>_hard): Copy to atomic_nand_fetch<mode>_hard_1.
6592         Convert to insn_and_split.  Use atomic_mem_operand_1 predicate.
6593         (atomic_fetch_not<mode>_hard, atomic_not_fetch<mode>_hard): Replace mems
6594         in generated insn with original mem operand before emitting the insn.
6595         (atomic_fetch_<fetchop_name><mode>_soft_gusa,
6596         atomic_fetch_not<mode>_soft_gusa, atomic_fetch_nand<mode>_soft_gusa,
6597         atomic_<fetchop_name>_fetch<mode>_soft_gusa,
6598         atomic_not_fetch<mode>_soft_gusa, atomic_nand_fetch<mode>_soft_gusa):
6599         Use atomic_mem_operand_1 predicate and AraAdd constraints.
6600         (atomic_fetch_<fetchop_name><mode>_soft_tcb,
6601         atomic_<fetchop_name><mode>_soft_tcb, atomic_fetch_not<mode>_soft_tcb,
6602         atomic_not<mode>_soft_tcb, atomic_fetch_<fetchop_name><mode>_soft_imask,
6603         atomic_fetch_not<mode>_soft_imask, atomic_fetch_nand<mode>_soft_tcb,
6604         atomic_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask,
6605         atomic_<fetchop_name>_fetch<mode>_soft_tcb,
6606         atomic_not_fetch<mode>_soft_tcb,
6607         atomic_<fetchop_name>_fetch<mode>_soft_imask,
6608         atomic_not_fetch<mode>_soft_imask, atomic_nand_fetch<mode>,
6609         atomic_nand_fetch<mode>_soft_tcb, atomic_nand_fetch<mode>_soft_imask):
6610         Use atomic_mem_operand_1 predicate and SraSdd constraints.
6611
6612 2015-02-10  Uros Bizjak  <ubizjak@gmail.com>
6613
6614         * config/alpha/alpha.md (reload_out<mode>_aligned): Make operands 2
6615         and 3 earlyclobber operands.
6616
6617 2015-02-10  Jan Hubicka  <hubicka@ucw.cz>
6618
6619         * common.opt (fstack-reuse): Mark as optimization.
6620
6621 2015-02-10  Jan Hubicka  <hubicka@ucw.cz>
6622
6623         PR ipa/64982
6624         * cgraphunit.c (cgraph_node::expand_thunk): Look for stdarg thunks.
6625
6626 2015-02-10  Trevor Saunders  <tsaunders@mozilla.com>
6627
6628         PR tree-optimization/64326
6629         * cfghooks.c (make_forwarder_block): Cap frequency of created block.
6630
6631 2015-02-10  Rainer Emrich  <rainer@emrich-ebersheim.de>
6632
6633         PR gcov-profile/61889
6634         * gcov-tool.c: Remove wrong #if !defined(_WIN32)
6635
6636 2015-02-10  Richard Biener  <rguenther@suse.de>
6637
6638         PR tree-optimization/64995
6639         * tree-ssa-sccvn.c (set_ssa_val_to): Assert that the
6640         value we use is final.
6641         (visit_reference_op_store): Always valueize op.
6642         (visit_use): Properly valueize vuses.
6643
6644 2015-02-10  Richard Biener  <rguenther@suse.de>
6645
6646         PR tree-optimization/64909
6647         * tree-vect-loop.c (vect_estimate_min_profitable_iters): Properly
6648         pass a scalar-stmt count estimate to the cost model.
6649         * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): Likewise.
6650
6651 2015-02-10  Alexander Monakov  <amonakov@ispras.ru>
6652
6653         * doc/invoke.texi (-fvar-tracking-assignments): Clarify that VTA is
6654         enabled by default together with var-tracking.
6655
6656 2015-02-10  Nick Clifton  <nickc@redhat.com>
6657
6658         * config/rl78/rl78.c: Remove DIV attribute code accidentally
6659         included in previous rl78 commit.
6660
6661 2015-02-10  Richard Biener  <rguenther@suse.de>
6662
6663         * tree-streamer.h (streamer_read_tree_bitfields): Adjust.
6664         * tree-streamer-in.c (streamer_read_tree_bitfields): Do not
6665         return the bitpack.
6666
6667 2015-02-09  Trevor Saunders  <tsaunders@mozilla.com>
6668
6669         PR gcov-profile/61889
6670         * config.in: regenerate.
6671         * configure.in: Likewise.
6672         * configure.ac: Check for ftw.h.
6673         * gcov-tool.c: Check for ftw.h before using nftw.
6674
6675 2015-02-09  Trevor Saunders  <tsaunders@mozilla.com>
6676
6677         PR lto/64076
6678         * ipa-visibility.c (update_visibility_by_resolution_info): Only
6679         assert when not in lto mode.
6680
6681 2015-02-09  Zhouyi Zhou  <yizhouzhou@ict.ac.cn>
6682
6683         * ira-color.c (setup_left_conflict_sizes_p): Simplify
6684         initialization/assignment of conflict_size.
6685
6686 2015-02-09  Jan Hubicka  <hubicka@ucw.cz>
6687
6688         PR ipa/64978
6689         * ipa-cp.c (gather_caller_stats): Skip thunks.
6690         (propagate_constants_topo): Skip aliases.
6691
6692 2015-02-09  Kaz Kojima  <kkojima@gcc.gnu.org>
6693
6694         PR target/64761
6695         * config/sh/sh.c (sh_option_override): Don't change
6696         -freorder-blocks-and-partition to -freorder-blocks even when
6697         unwinding is enabled.
6698         (sh_can_follow_jump): Return false if the followee jump is
6699         a crossing jump when -freorder-blocks-and-partition is specified.
6700         * config/sh/sh.md (*jump_compact_crossing): New insn.
6701
6702 2015-02-09  Joern Rennecke  <joern.rennecke@embecosm.com>
6703             Kaz Kojima  <kkojima@gcc.gnu.org>
6704
6705         PR target/64761
6706         * config/sh/sh-protos.h (sh_can_redirect_branch): Don't declare.
6707         * config/sh/sh.c (TARGET_CAN_FOLLOW_JUMP): Redefine.
6708         (sh_can_redirect_branch): Rename to ...
6709         (sh_can_follow_jump): ... this.  Constify argument types.
6710         * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): Don't define.
6711         * doc/tm.texi.in (MD_CAN_REDIRECT_BRANCH): Remove documentation.
6712         * reorg.c (steal_delay_list_from_target): Use targetm.can_follow_jump.
6713         * doc/tm.texi: Regenerate.
6714
6715 2015-02-09  Jakub Jelinek  <jakub@redhat.com>
6716
6717         PR sanitizer/64981
6718         * builtins.c (expand_builtin): Call targetm.expand_builtin
6719         for BUILT_IN_MD builtins regardless of asan_intercepted_p.
6720
6721 2015-02-08  Jan Hubicka  <hubicka@ucw.cz>
6722
6723         PR ipa/61548
6724         * tree-emutls.c (ipa_lower_emutls): Avoid duplicates in TLS_VARS.
6725
6726 2015-02-08  Jan Hubicka  <hubicka@ucw.cz>
6727
6728         PR ipa/63566
6729         * ipa-icf.c (set_local): New function.
6730         (sem_function::merge): Use it.
6731
6732 2015-02-08  Jan Hubicka  <hubicka@ucw.cz>
6733
6734         * ipa-devirt.c (odr_types_equivalent_p): Fix formating.
6735         (add_type_duplicate): Fix comparison of BINFOs.
6736
6737 2015-02-08  Jan Hubicka  <hubicka@ucw.cz>
6738
6739         * ipa-polymorphic-call.c (ipa_polymorphic_call_context): Avoid ICE
6740         on getting VOID pointer.
6741
6742 2015-02-09  Jakub Jelinek  <jakub@redhat.com>
6743
6744         PR target/64979
6745         * tree-stdarg.c (pass_stdarg::execute): Scan phi node args for
6746         va_list escapes.
6747
6748 2015-02-09  Richard Biener  <rguenther@suse.de>
6749
6750         * genmatch.c (replace_id): Copy expr_type.
6751
6752 2015-02-09  Richard Biener  <rguenther@suse.de>
6753
6754         * tree-streamer.h (streamer_pack_tree_bitfields): Remove.
6755         (streamer_write_tree_bitfields): Declare.
6756         * tree-streamer-in.c (unpack_ts_base_value_fields): Inline,
6757         properly unpack padding.
6758         (unpack_value_fields): Inline ...
6759         (streamer_read_tree_bitfields): ... here.
6760         * tree-streamer-out.c (pack_ts_base_value_fields): Inline
6761         and properly add padding bits.
6762         (streamer_pack_tree_bitfields): Fold into ...
6763         (streamer_write_tree_bitfields): ... this new function,
6764         exposing the bitpack object.
6765         * lto-streamer-out.c (lto_write_tree_1): Call
6766         streamer_write_tree_bitfields.
6767
6768 2015-02-09  Richard Biener  <rguenther@suse.de>
6769
6770         PR tree-optimization/54000
6771         * tree-ssa-looo-ivopts.c: Include tree-vectorizer.h.
6772         (struct ivopts_data): Add loop_loc member.
6773         (tree_ssa_iv_optimize_loop): Dump loop location.
6774         (create_new_ivs): Likewise, also dump number of IVs generated.
6775
6776 2015-02-09  Martin Liska  <mliska@suse.cz>
6777
6778         * ipa-icf.c (sem_item_optimizer::register_hooks): Register hooks
6779         just if not yet registered.
6780         (ipa_icf_generate_summary): Register callgraph hooks.
6781
6782 2015-02-08  Andrew Pinski  <apinski@cavium.com>
6783
6784         * config/aarch64/aarch64.c (gty_dummy): Delete.
6785
6786 2015-02-08  Jan Hubicka  <hubicka@ucw.cz>
6787
6788         PR ipa/63566
6789         * ipa-visibility.c (cgraph_node::non_local_p): Accept aliases.
6790         (cgraph_node::local_p): Remove thunk related FIXME.
6791
6792 2015-02-08  Jan Hubicka  <hubicka@ucw.cz>
6793
6794         PR ipa/63566
6795         * i386.c (ix86_function_regparm): Look through aliases to see if callee
6796         is local and optimized.
6797         (ix86_function_sseregparm): Likewise; also use target's SSE math
6798         settings; error out instead of silently generating wrong code
6799         on mismatches.
6800         (init_cumulative_args): Look through aliases.
6801
6802 2015-02-08  Jan Hubicka  <hubicka@ucw.cz>
6803
6804         PR ipa/63566
6805         * ipa-split.c (execute_split_functions): Split if function has aliases.
6806
6807 2015-02-08  Jan Hubicka  <hubicka@ucw.cz>
6808
6809         PR ipa/63566
6810         * cgraphunit.c (cgraph_node::analyze): Be sure target of thunk is
6811         aliases before trying to expand it.
6812         (cgraph_node::expand_thunk): Fix formating.
6813
6814 2015-02-07  Sandra Loosemore  <sandra@codesourcery.com>
6815
6816         * doc/extend.texi (Function Attributes [naked]): Copy-edit.
6817         (Using Assembly Language with C): Expand introduction.
6818         (Basic Asm): Copy-edit.  Add more information about uses of
6819         basic asm.
6820         (Extended Asm): Copy-edit.  Document new escape syntax and
6821         %l[label] syntax.
6822         (Global Reg Vars): Copy-edit.
6823         (Local Reg Vars): Likewise.
6824
6825 2015-02-06  David Edelsohn  <dje.gcc@gmail.com>
6826
6827         PR debug/2714
6828         PR bootstrap/64256
6829         * xcoffout.h (DBX_CONTIN_LENGTH): Define as 16384.
6830         (DBX_CONTIN_CHAR): Define.
6831
6832 2015-02-06  Sebastian Pop  <s.pop@samsung.com>
6833             Brian Rzycki  <b.rzycki@samsung.com>
6834
6835         PR tree-optimization/64878
6836         * tree-ssa-threadedge.c: Include tree-ssa-loop.h.
6837         (fsm_find_control_statement_thread_paths): Add parameter seen_loop_phi.
6838         Stop recursion at loop phi nodes after having visited a loop phi node.
6839
6840 2015-02-06  Jakub Jelinek  <jakub@redhat.com>
6841
6842         * toplev.c (process_options): Change flag_ipa_ra before creating
6843         optimization_{default,current}_node.
6844
6845         PR ipa/64896
6846         * cgraphunit.c (cgraph_node::expand_thunk): If
6847         restype is not is_gimple_reg_type nor the thunk_fndecl
6848         returns aggregate_value_p, set restmp to a temporary variable
6849         instead of resdecl.
6850
6851 2015-02-06  Vladimir Makarov  <vmakarov@redhat.com>
6852
6853         * lra.c (lra_emit_add): Fix a typo in using disp instead of base.
6854
6855 2015-02-06  Michael Meissner  <meissner@linux.vnet.ibm.com>
6856
6857         PR target/64205
6858         * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Do not
6859         add a general secondary reload handler for SDmode, unless we have
6860         both read/write support for SDmode.
6861
6862 2015-02-06  Jakub Jelinek  <jakub@redhat.com>
6863
6864         PR middle-end/64937
6865         * dwarf2out.c (set_block_abstract_flags, set_decl_abstract_flags):
6866         Replace setting argument with abstract_vec, always set BLOCK_ABSTRACT
6867         or DECL_ABSTRACT_P flags to 1 rather than to setting, and if it wasn't
6868         1 before, push it to abstract_vec.
6869         (dwarf2out_abstract_function): Adjust caller.  Don't call
6870         set_decl_abstract_flags second time, instead clear BLOCK_ABSTRACT or
6871         DECL_ABSTRACT_P flags for all abstract_vec elts.
6872
6873 2015-02-06  Renlin Li  <renlin.li@arm.com>
6874
6875         * tree-ssa-forwprop.c (execute): Keep location info while rewrite
6876         complex gimple.
6877         * tree-ssa.c (execute_update_addresses_taken): Likewise.
6878
6879 2015-02-06  Jeff Law  <law@redhat.com>
6880
6881         PR target/64889
6882         * config/h8300/h8300.c (push): New argument "in_prologue".
6883         Pass "in_prologue" along to "F".
6884         (h8300_push_pop): Corresponding changes.
6885         (h8300_expand_prologue): Likewise.
6886         (h8300_swap_into_er6): Likewise.  Do not set RTX_FRAME_RELATED_P.
6887
6888 2015-02-06  Jakub Jelinek  <jakub@redhat.com>
6889
6890         PR rtl-optimization/64957
6891         PR debug/64817
6892         * simplify-rtx.c (simplify_binary_operation_1): Use ~cval for
6893         IOR rather than for AND.
6894
6895 2015-02-06  Eric Botcazou  <ebotcazou@adacore.com>
6896
6897         PR target/62631
6898         * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Use the mininum of costs
6899         of shift-add and (add + shift) operations.  Rename local variable.
6900
6901 2015-02-05  Jeff Law  <law@redhat.com>
6902
6903         PR target/17306
6904         * config/h8300/constraints.md (U): Correctly dectect
6905         "eightbit_data" memory addresses.
6906         * config/h8300/h8300.c (eightbit_constant_address_p): Also
6907         handle (const (plus (symbol_ref (x)))) where x is declared
6908         as an 8-bit data memory address.
6909         * config/h8300/h8300.md (call, call_value): Correctly detect
6910         "funcvec" functions.
6911
6912         PR target/43264
6913         * config/h8300/h8300.c (get_shift_alg): Fix ASHIFTRT by
6914         24 to 28 bits for the H8/300.
6915
6916 2015-02-06  Alan Modra  <amodra@gmail.com>
6917
6918         PR target/64876
6919         * config/rs6000/rs6000.c (chain_already_loaded): New function.
6920         (rs6000_call_aix): Use it.
6921
6922 2015-02-05  Jan Hubicka <hubicka@ucw.cz>
6923
6924         * ipa-cp.c (ipa_value_from_jfunc, ipa_context_from_jfunc): Add bounds
6925         check.
6926
6927 2015-02-05  Joern Rennecke  <joern.rennecke@embecosm.com>
6928
6929         * config/h8300/constraints.md ("U" constraint): Use strict
6930         variant of REG_OK_FOR_BASE_P after reload has started.
6931
6932 2015-02-04  Mantas Mikaitis  <mantas.mikaitis@arm.com>
6933
6934         * config/arm/arm.h (TARGET_NEON_FP): Removed conditional definition,
6935         define to zero if !TARGET_NEON.
6936         (TARGET_ARM_FP): Added !TARGET_SOFT_FLOAT into conditional definition.
6937
6938 2015-02-04  Jan Hubicka  <hubicka@ucw.cz>
6939             Trevor Saunders  <tsaunders@mozilla.com>
6940
6941         PR ipa/61548
6942         * tree-emultls.c (new_emutls_decl): Resolve alias after creating it.
6943
6944 2015-02-04  Jan Hubicka  <hubicka@ucw.cz>
6945
6946         PR ipa/61548
6947         * ipa.c (symbol_table::remove_unreachable_nodes): Fix ordering issue
6948         when removing varpool nodes.
6949
6950 2015-02-04  Jan Hubicka  <hubicka@ucw.cz>
6951
6952         PR ipa/61548
6953         * varpool.c (varpool_node::remove): Fix order of variables.
6954
6955 2015-02-04  Jan Hubicka  <hubicka@ucw.cz>
6956
6957         PR ipa/64686
6958         * ipa-inline.c (inline_small_functions): Fix ordering issue between
6959         speculation resolution and key updates.
6960
6961 2015-02-04  Jan Hubicka  <hubicka@ucw.cz>
6962
6963         * ipa-prop.c (update_indirect_edges_after_inlining): By more careful
6964         about not letting any speculative edges unupdated.
6965
6966 2015-02-04  Jan Hubicka  <hubicka@ucw.cz>
6967
6968         PR gcov/64123
6969         * gcov-io.c (gcov_var): Export.
6970
6971 2015-02-04  Jan Hubicka  <hubicka@ucw.cz>
6972
6973         PR middle-end/64922
6974         * ipa-prop.c (update_indirect_edges_after_inlining): Correctly update
6975         edges that become speculative.
6976
6977 2015-02-04  Jakub Jelinek  <jakub@redhat.com>
6978
6979         * dwarf2out.c (is_fortran): Also return true for DW_LANG_Fortran03
6980         or DW_LANG_Fortran08.
6981         (lower_bound_default): Return 1 for DW_LANG_Fortran03 or
6982         DW_LANG_Fortran08.
6983         (gen_compile_unit_die): Handle "GNU Fortran2003" and
6984         "GNU Fortran2008" language strings.
6985         * dbxout.c (get_lang_number): Use lang_GNU_Fortran.
6986         * langhooks.h (lang_GNU_Fortran): New prototype.
6987         * langhooks.c (lang_GNU_Fortran): New function.
6988         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use
6989         lang_GNU_Fortran.
6990
6991 2015-02-04  Eric Botcazou  <ebotcazou@adacore.com>
6992
6993         * config/sparc/sparc.c (RTX_OK_FOR_OFFSET_P): Fix off-by-one error.
6994         (RTX_OK_FOR_OLO10_P): Likewise.
6995
6996 2015-02-04  Eric Botcazou  <ebotcazou@adacore.com>
6997
6998         * tree-ssa-loop-ivopts.c (get_address_cost): Use right mode for offset.
6999
7000 2015-02-04  Jan Hubicka  <hubicka@ucw.cz>
7001
7002         PR middle-end/64922
7003         * gimple.c: Include gimple-ssa.h.
7004         (maybe_remove_unused_call_args): New function.
7005         * gimple.h (maybe_remove_unused_call_args): Declare.
7006         * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Use it.
7007         * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Likewise.
7008         * gimple-fold.c (gimple_fold_call): Likewise.
7009
7010 2015-02-04  H.J. Lu  <hongjiu.lu@intel.com>
7011
7012         PR rtl-optimization/64905
7013         * lra-eliminations.c (setup_can_eliminate): Clear hard frame
7014         pointer alignment if it isn't needed.
7015
7016 2015-02-04  Matthew Wahab  <matthew.wahab@arm.com>
7017
7018         * config/aarch64/aarch64-cores.def: Add cortex-a72 and
7019         cortex-a72.cortex-a53.
7020         * config/aarch64/aarch64-tune.md: Regenerate.
7021         * doc/invoke.texi (AArch64 Options/-mtune): Add "cortex-a72".
7022
7023 2015-02-04  Nick Clifton  <nickc@redhat.com>
7024
7025         * config/rl78/rl78.c (rl78_note_reg_set): Note the use of REGs
7026         inside a MEM.
7027
7028 2015-02-04  Jakub Jelinek  <jakub@redhat.com>
7029
7030         * builtins.def (DEF_BUILTIN_CHKP): Define if not defined.
7031         (DEF_LIB_BUILTIN_CHKP, DEF_EXT_LIB_BUILTIN_CHKP): Redefine.
7032         (DEF_CHKP_BUILTIN): Define using DEF_BUILTIN_CHKP instead
7033         of DEF_BUILTIN.
7034         (BUILT_IN_MEMCPY, BUILT_IN_MEMMOVE, BUILT_IN_MEMSET, BUILT_IN_STRCAT,
7035         BUILT_IN_STRCHR, BUILT_IN_STRCPY, BUILT_IN_STRLEN): Use
7036         DEF_LIB_BUILTIN_CHKP macro instead of DEF_LIB_BUILTIN.
7037         (BUILT_IN_MEMCPY_CHK, BUILT_IN_MEMMOVE_CHK, BUILT_IN_MEMPCPY_CHK,
7038         BUILT_IN_MEMPCPY, BUILT_IN_MEMSET_CHK, BUILT_IN_STPCPY_CHK,
7039         BUILT_IN_STPCPY, BUILT_IN_STRCAT_CHK, BUILT_IN_STRCPY_CHK): Use
7040         DEF_EXT_LIB_BUILTIN_CHKP macro instead of DEF_EXT_LIB_BUILTIN.
7041         * tree-core.h (enum built_in_function): In between
7042         BEGIN_CHKP_BUILTINS and END_CHKP_BUILTINS only define enum values
7043         for builtins that use DEF_BUILTIN_CHKP macro.
7044
7045 2015-02-04  Alexandre Oliva <aoliva@redhat.com>
7046
7047         PR debug/64817
7048         * cfgexpand.c (expand_debug_expr): Compute unsignedp from
7049         operands for tcc_comparison exprs.  Fix typos.
7050
7051         PR debug/64817
7052         * simplify-rtx.c (simplify_binary_operation_1): Simplify one
7053         of two XORs that have an intervening AND or IOR.
7054
7055         PR debug/64817
7056         * simplify-rtx.c (simplify_binary_operation_1): Rewrite
7057         simplification of XOR of AND to not allocate new rtx before
7058         committing to a simplification.
7059
7060 2015-02-04  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
7061
7062         * config/aarch64/aarch64-ldpstp.md: Use std::swap instead of
7063         manual swaps in all peepholes.
7064
7065 2015-02-04  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
7066
7067         * config/aarch64/aarch64.c (aarch64_evpc_ext): Use std::swap instead
7068         of manual swapping implementation.
7069         (aarch64_expand_vec_perm_const_1): Likewise.
7070
7071 2015-02-04  James Greenhalgh <james.greenhalgh@arm.com>
7072
7073         * config/aarch64/aarch64.c (NAMED_PARAM): Delete it.
7074         (generic_addrcost_table): Remove NAMED_PARAM.
7075         (cortexa57_addrcost_table): Likewise.
7076         (xgene1_addrcost_table): Likewise.
7077         (generic_regmove_table): Likewise.
7078         (cortexa53_regmove_table): Likewise.
7079         (xgene1_regmove_table): Likewise.
7080         (generic_vector_table): Likewise.
7081         (cortexa57_vector_table): Likewise.
7082         (xgene1_vector_table): Likewise.
7083         (generic_tunings): Likewise.
7084         (cortexa53_tunings): Likewise.
7085         (cortexa57_tunings): Likewise.
7086         (xgene1_tunings): Likewise.
7087
7088 2015-02-04  Matthew Wahab  <matthew.wahab@arm.com>
7089
7090         * config/arm/arm-cores.def: Add cortex-a72 and
7091         cortex-a72.cortex-a53.
7092         * config/arm/bpabi.h (BE8_LINK_SPEC): Likewise.
7093         * config/arm/t-aprofile (MULTILIB_MATCHES): Likewise.
7094         * config/arm/arm-tune.md: Regenerate.
7095         * config/arm/arm-tables.opt: Add entries for "cortex-a72" and
7096         "cortex-a72.cortex-a53".
7097         * doc/invoke.texi (ARM Options/-mtune): Likewise.
7098
7099 2015-02-04  Nick Clifton  <nickc@redhat.com>
7100
7101         PR target/64408
7102         * config/fr30/predicates.md (di_operand): Add SUBREG to the list
7103         of accepted codes.
7104         (nonimmediate_di_operand): Likewise.
7105
7106         * config/msp430/msp430.c (msp430_use_f5_series_hwmult): Add more
7107         prefixes of known F5 using MSP430 MCUs.
7108
7109 2015-02-04  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
7110
7111         * config/aarch64/aarch64-simd-builtins.def (sqrt): Use BUILTIN_VDQF_DF.
7112         * config/aarch64/arm_neon.h (vsqrt_f64): Use __builtin_aarch64_sqrtdf
7113         instead of __builtin_sqrt.
7114
7115 2015-02-04  Ilya Enkovich  <ilya.enkovich@intel.com>
7116
7117         * varasm.c (do_assemble_alias): Follow transparent alias
7118         chain for target.
7119         (default_assemble_visibility): Follow transparent alias
7120         chain for decl name.
7121
7122 2015-02-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>
7123
7124         PR middle-end/62103
7125         * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use TYPE_PRECISION
7126         to compute size of referenced value in the constant case.
7127
7128 2015-02-03  Jakub Jelinek  <jakub@redhat.com>
7129
7130         PR rtl-optimization/64756
7131         * cse.c (invalidate_dest): New function.
7132         (cse_insn): Use it.  If dest != SET_DEST (sets[i].rtl) and
7133         HASH (SET_DEST (sets[i].rtl), mode) computation sets do_not_record,
7134         invalidate and do not record it.
7135
7136 2015-02-03  Oleg Endo  <olegendo@gcc.gnu.org>
7137
7138         PR target/64660
7139         * config/sh/sync.md (atomic_<fetchop_name><mode>_hard,
7140         atomic_not<mode>_hard, atomic_<fetchop_name><mode>_soft_tcb,
7141         atomic_not<mode>_soft_tcb, atomic_nand<mode>_hard,
7142         atomic_nand<mode>_soft_tcb): New insns.
7143         (atomic_fetch_<fetchop_name>si_hard): Convert to insn_and_split.
7144         Split into atomic_<fetchop_name>_fetchsi_hard if operands[0] is unused.
7145         (define_insn "atomic_fetch_notsi_hard): Convert to insn_and_split.
7146         Split into atomic_not_fetchsi_hard if operands[0] is unused.
7147         (atomic_fetch_<fetchop_name><mode>_hard): Convert to insn_and_split.
7148         Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
7149         (atomic_fetch_not<mode>_hard): Convert to insn_and_split.  Split into
7150         atomic_not<mode>_hard if operands[0] is unused.
7151         (atomic_fetch_<fetchop_name><mode>_soft_gusa): Convert to
7152         insn_and_split.  Split into atomic_<fetchop_name>_fetch<mode>_soft_gusa
7153         if operands[0] is unused.
7154         (atomic_fetch_not<mode>_soft_gusa): Convert to insn_and_split.  Split
7155         into atomic_not_fetch<mode>_soft_gusa if operands[0] is unused.
7156         (atomic_fetch_<fetchop_name><mode>_soft_tcb): Convert to insn_and_split.
7157         Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
7158         unused.
7159         (atomic_fetch_not<mode>_soft_tcb): Convert to insn_and_split.  Split
7160         into atomic_not<mode>_soft_tcb if operands[0] is unused.
7161         (atomic_fetch_<fetchop_name><mode>_soft_imask): Convert to
7162         insn_and_split.  Split into atomic_<fetchop_name>_fetch<mode>_soft_imask
7163         if operands[0] is unused.
7164         (atomic_fetch_not<mode>_soft_imask): Convert to insn_and_split.  Split
7165         into atomic_not_fetch<mode>_soft_imask is operands[0] is unused.
7166         (atomic_fetch_nandsi_hard): Convert to insn_and_split.  Split into
7167         atomic_nand_fetchsi_hard if operands[0] is unused.
7168         (atomic_fetch_nand<mode>_hard): Convert to insn_and_split.  Split into
7169         atomic_nand<mode>_hard if operands[0] is unused.
7170         (atomic_fetch_nand<mode>_soft_gusa): Convert to insn_and_split.  Split
7171         into atomic_nand_fetch<mode>_soft_gusa if operands[0] is unused.
7172         (atomic_fetch_nand<mode>_soft_tcb): Convert to insn_and_split.  Split
7173         into atomic_nand<mode>_soft_tcb if operands[0] is unused.
7174         (atomic_fetch_nand<mode>_soft_imask): Convert to insn_and_split.  Split
7175         into atomic_nand_fetch<mode>_soft_imask if operands[0] is unused.
7176         (atomic_<fetchop_name>_fetch<mode>_hard): Convert to insn_and_split.
7177         Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
7178         (atomic_not_fetch<mode>_hard): Convert to insn_and_split.  Split into
7179         atomic_not<mode>_hard if operands[0] is unused.
7180         (atomic_<fetchop_name>_fetch<mode>_soft_tcb): Convert to insn_and_split.
7181         Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
7182         unused.
7183         (atomic_not_fetch<mode>_soft_tcb): Convert to insn_and_split.  Split
7184         into atomic_not<mode>_soft_tcb if operands[0] is unused.
7185         (atomic_nand_fetch<mode>_hard): Convert to insn_and_split.  Split into
7186         atomic_nand<mode>_hard if operands[0] is unused.
7187         (atomic_nand_fetch<mode>_soft_tcb): Convert to insn_and_split.  Split
7188         into atomic_nand<mode>_soft_tcb if operands[0] is unused.
7189
7190 2015-02-03  David Malcolm  <dmalcolm@redhat.com>
7191
7192         PR jit/64810
7193         * Makefile.in (GCC_OBJS): Add gcc-main.o.
7194         * gcc-main.c: New file, containing "main" taken from gcc.c.
7195         * gcc.c (do_self_spec): Free decoded_options.
7196         (class driver): Move declaration to gcc.h.
7197         (main): Move declaration and implementation to new file
7198         gcc-main.c.
7199         (driver_get_configure_time_options): New function.
7200         * gcc.h (class driver): Move this declaration here, from
7201         gcc.c.
7202         (driver_get_configure_time_options): New declaration.
7203
7204 2015-02-03  Jan Hubicka  <hubicka@ucw.cz>
7205
7206         * ipa-inline-analysis.c (simple_edge_hints): Fix check for
7207         cross-module inlining.
7208         * cgraph.h (cgraph_node): Add flag merged.
7209         * ipa-icf.c (sem_function::merge): Maintain it.
7210
7211 2015-02-03  Richard Sandiford  <richard.sandiford@arm.com>
7212
7213         * config/arm/arm.c (thumb2_reorg): Test UNARY_P and BINARY_P
7214         instead of OBJECT_P.
7215
7216 2015-02-03  Eric Botcazou  <ebotcazou@adacore.com>
7217
7218         PR target/62631
7219         * config/sparc/sparc.h (TARGET_HARD_MUL): Remove TARGET_V8PLUS.
7220         (TARGET_HARD_MUL32): Rewrite based on TARGET_HARD_MUL.
7221         * config/sparc/sparc.c (sparc_rtx_costs) <MULT>: Return costs based on
7222         int_mulX for integers in 64-bit mode if TARGET_HARD_MUL is not set.
7223
7224 2015-02-03  Jakub Jelinek  <jakub@redhat.com>
7225
7226         PR other/63504
7227         * combine.c (reg_n_sets_max): New variable.
7228         (can_change_dest_mode, reg_nonzero_bits_for_combine,
7229         reg_num_sign_bit_copies_for_combine, get_last_value_validate,
7230         get_last_value): Use REG_N_SETS only on pseudos < reg_n_sets_max.
7231         (try_combine): Use INC_REG_N_SETS only on pseudos < reg_n_sets_max.
7232         (rest_of_handle_combine): Initialize reg_n_sets_max.
7233
7234 2015-02-02  Jan Hubicka  <hubicka@ucw.cz>
7235
7236         * ipa-inline.c (early_inliner): Skip inlining only in always_inlined;
7237         if some always_inline was inlined, apply changes before inlining
7238         heuristically.
7239
7240 2015-02-02  David Malcolm  <dmalcolm@redhat.com>
7241
7242         PR jit/64810
7243         * config/arm/arm.c (arm_option_override): Set
7244         arm_selected_arch/cpu/tune to NULL on entry.
7245
7246 2015-02-02  Tejas Belagod  <tejas.belagod@arm.com>
7247             Andrew Pinski  <pinskia@gcc.gnu.org>
7248             Jakub Jelinek  <jakub@gcc.gnu.org>
7249
7250         PR target/64231
7251         * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix large
7252         integer typing for small model. Use IN_RANGE.
7253
7254 2015-02-02  Richard Biener  <rguenther@suse.de>
7255
7256         * tree-ssa-ccp.c (valueize_op_1): Always allow valueizing default-defs.
7257         * tree-vrp.c (vrp_valueize_1): Likewise.
7258
7259 2015-02-02  Alan Modra  <amodra@gmail.com>
7260
7261         * config/rs6000/rs6000.c (rs6000_call_aix): Use unspec rather
7262         than mem for toc_restore.
7263         * config/rs6000/rs6000.md (UNSPEC_TOCSLOT): Define.
7264         (call_indirect_aix, call_value_indirect_aix): Adjust to suit.
7265         (call_indirect_elfv2, call_value_indirect_elfv2): Likewise.
7266
7267 2015-02-01  David Edelsohn  <dje.gcc@gmail.com>
7268
7269         PR target/64047
7270         * config/rs6000/rs6000.c (rs6000_set_current_function): Handle
7271         explicit default options.
7272
7273 2015-02-01  Jan Hubicka  <hubicka@ucw.cz>
7274
7275         PR ipa/64872
7276         * ipa-utils.c (ipa_merge_profiles): Add release argument.
7277         * ipa-icf.c (sem_function::merge): Do not release body when merging.
7278         * ipa-utils.h (ipa_merge_profiles): Update prototype.
7279
7280 2015-02-01  Jakub Jelinek  <jakub@redhat.com>
7281
7282         PR debug/64817
7283         * cfgexpand.c (deep_ter_debug_map): New variable.
7284         (avoid_deep_ter_for_debug): New function.
7285         (expand_debug_expr): If TERed SSA_NAME is in
7286         deep_ter_debug_map, use the corresponding DEBUG_EXPR_DECL
7287         instead of trying to expand SSA_NAME's def stmt.
7288         (expand_debug_locations): When expanding debug bind
7289         of a DEBUG_EXPR_DECL to corresponding SSA_NAME,
7290         temporarily remove the DEBUG_EXPR_DECL from deep_ter_debug_map's
7291         value.
7292         (pass_expand::execute): Call avoid_deep_ter_for_debug on
7293         all debug bind stmts.  Delete deep_ter_debug_map after
7294         expand_debug_location if non-NULL and clear it.
7295
7296 2015-02-01  Oleg Endo  <olegendo@gcc.gnu.org>
7297
7298         PR target/64851
7299         * config/sh/sync.md (atomic_fetch_notsi_hard,
7300         atomic_fetch_not<mode>_hard, atomic_fetch_not<mode>_soft_gusa,
7301         atomic_fetch_not<mode>_soft_tcb, atomic_fetch_not<mode>_soft_imask,
7302         atomic_not_fetchsi_hard, atomic_not_fetch<mode>_hard,
7303         atomic_not_fetch<mode>_soft_gusa, atomic_not_fetch<mode>_soft_tcb,
7304         atomic_not_fetch<mode>_soft_imask): New insns.
7305
7306 2015-02-01  Maxim Kuvyrkov  <maxim.kuvyrkov@linaro.org>
7307
7308         * haifa-sched.c (INSN_RFS_DEBUG_ORIG_ORDER): New access macro.
7309         (rank_for_schedule_debug): Split from ...
7310         (rank_for_schedule): ... this.
7311         (ready_sort): Sort DEBUG_INSNs separately from normal INSNs.
7312         * sched-int.h (struct _haifa_insn_data): New field rfs_debug_orig_order.
7313
7314 2015-01-31  Sandra Loosemore  <sandra@codesourcery.com>
7315
7316         * doc/md.texi (Machine Constraints): Alphabetize table by target.
7317         * doc/extend.texi (x86 Variable Attributes): Move section to
7318         correct alphabetization after renaming.
7319         (x86 Type Attributes): Likewise.
7320         (Target Builtins): Re-alphabetize menu.
7321         (x86 Built-in Functions): Move section to correct alphabetization
7322         after renaming.
7323         (x86 transactional memory intrinsics): Likewise.
7324         * doc/invoke.texi (Option Summary): Re-alphabetize x86 Options
7325         and x86 Windows Options in table and menu.
7326         (x86 Options): Move section to correct alphabetization after
7327         renaming.
7328         (x86 Windows Options): Likewise.
7329
7330 2015-01-31  Sandra Loosemore  <sandra@codesourcery.com>
7331
7332         * doc/extend.texi: Use "x86", "x86-32", and "x86-64" as the
7333         preferred names of the architecture and its 32- and 64-bit
7334         variants.
7335         * doc/invoke.texi: Likewise.
7336         * doc/md.texi: Likewise.
7337
7338 2015-01-31  Uros Bizjak  <ubizjak@gmail.com>
7339
7340         PR target/64882
7341         * config/i386/predicates.md (address_no_seg_operand): Reject
7342         non-CONST_INT_P operands in invalid mode.
7343
7344 2015-01-31  Uros Bizjak  <ubizjak@gmail.com>
7345
7346         * config/i386/i386.md (*prefetch_prefetchw1): Remove mode of
7347         address_operand 0.  Rename from *prefetch_prefetchwt1_<mode>.
7348         * config/i386/predicates.md (address_no_seg_operand): Call
7349         address_operand with VOIDmode.
7350         (vsib_address_operand): Ditto.
7351         (address_mpx_no_base_operand): Ditto.
7352         (address_mpx_no_index_operand): Ditto.
7353
7354 2015-01-30  Vladimir Makarov  <vmakarov@redhat.com>
7355
7356         PR target/64688
7357         * lra-constraints.c (original_subreg_reg_mode): New.
7358         (simplify_operand_subreg): Try to simplify subreg of const.  Use
7359         original_subreg_reg_mode for it.
7360         (swap_operands): Update original_subreg_reg_mode.
7361         (curr_insn_transform): Set up original_subreg_reg_mode.
7362
7363 2015-01-30  Vladimir Makarov  <vmakarov@redhat.com>
7364
7365         PR target/64617
7366         * lra-constraints.c (prohibited_class_reg_set_mode_p): New
7367         function.
7368         (process_alt_operands): Use it.
7369         (curr_insn_transform): Check the optional reload pseudo class is
7370         ok for the mode.
7371
7372 2015-01-30  Joseph Myers  <joseph@codesourcery.com>
7373
7374         * diagnostic.c (fatal_error (const char *, ...)): Remove function.
7375         * diagnostic-core.h (fatal_error (const char *, ...)): Remove
7376         prototype.
7377         * toplev.h (init_asm_output): Update comment on use of
7378         UNKNOWN_LOCATION with fatal_error.
7379         * cgraph.c, collect-utils.c, collect2.c, config/arc/arc.c,
7380         config/arc/arc.md, config/avr/avr.c, config/c6x/c6x.h,
7381         config/darwin.c, config/host-darwin.c, config/i386/host-cygwin.c,
7382         config/i386/intelmic-mkoffload.c, config/nios2/nios2.c,
7383         config/nvptx/mkoffload.c, config/nvptx/nvptx.h,
7384         config/rs6000/host-darwin.c, config/rs6000/rs6000.c,
7385         config/s390/s390.c, gcc.c, gcov-io.h, gcov-tool.c, ggc-common.c,
7386         ggc-page.c, graph.c, ipa-inline-analysis.c, ipa-reference.c,
7387         lto-cgraph.c, lto-section-in.c, lto-streamer-in.c, lto-streamer.c,
7388         lto-wrapper.c, objc/objc-act.c, opts.c, passes.c, plugin.c,
7389         tlink.c, toplev.c, tree-streamer-in.c, varpool.c: All callers of
7390         fatal_error changed to pass input_location as first argument.
7391
7392 2015-01-30  Martin Liska  <mliska@suse.cz>
7393
7394         * tree.h: Change GCC_VERSION >= 4004 to GCC_VERSION >= 4006
7395         in #pragma GCC diagnostic guards.
7396
7397 2015-01-30  Richard Biener  <rguenther@suse.de>
7398
7399         PR tree-optimization/64829
7400         * tree-vect-patterns.c (vect_handle_widen_op_by_const): Do
7401         not add a widening conversion pattern but hand off extra
7402         widenings to callers.
7403         (vect_recog_widen_mult_pattern): Handle extra widening produced
7404         by vect_handle_widen_op_by_const.
7405         (vect_recog_widen_shift_pattern): Likewise.
7406         (vect_pattern_recog_1): Remove excess vertical space in dumping.
7407         * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Likewise.
7408         (vect_init_vector_1): Likewise.
7409         (vect_get_vec_def_for_operand): Likewise.
7410         (vect_finish_stmt_generation): Likewise.
7411         (vectorizable_load): Likewise.
7412         (vect_analyze_stmt): Likewise.
7413         (vect_is_simple_use): Likewise.
7414
7415 2015-01-29  Jeff Law  <law@redhat.com>
7416
7417         * combine.c (try_combine): Fix typo in comment.
7418
7419 2015-01-29  Segher Boessenkool  <segher@kernel.crashing.org>
7420
7421         PR target/64580
7422         * config.rs6000/rs6000.c (compute_vrsave_mask): Reverse loop order.
7423         (rs6000_stack_info): Add assert.
7424         (rs6000_output_savres_externs): New function, split off from...
7425         (rs6000_output_function_prologue): ... here.  Do not call it for
7426         thunks.
7427
7428 2015-01-29  Jeff Law  <law@redhat.com>
7429
7430         PR target/15184
7431         * combine.c (try_combine): If I0 is a memory load and I3 a store
7432         to a related address, increase the "goodness" of doing a 4-insn
7433         combination with I0-I3.
7434         (make_field_assignment): Handle SUBREGs in the ior+and case.
7435
7436 2015-01-29  Yuri Rumyantsev  <ysrumyan@gmail.com>
7437
7438         PR tree-optimization/64746
7439         * tree-if-conv.c (mask_exists): New function.
7440         (predicate_mem_writes): Save created mask with given size for further
7441         use.
7442         (stmt_is_root_of_bool_pattern): Remove argument VAR and store to it.
7443         (ifcvt_repair_bool_pattern): Collect all statements that are root
7444         of bool pattern and use iterative algorithm to remove multiple uses
7445         of predicates, display number of required iterations.
7446
7447 2015-01-29  Richard Biener  <rguenther@suse.de>
7448
7449         PR tree-optimization/64853
7450         * tree-vrp.c (vrp_valueize_1): Do not return anything if the
7451         stmt will get simulated again.
7452         * tree-ssa-ccp.c (valueize_op_1): Likewise.
7453
7454 2015-01-29  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
7455
7456         * config/arm/arm.c (arm_emit_multi_reg_pop): Simplify definition of
7457         return_in_pc.  Remove redundant assignments.
7458         (thumb2_emit_ldrd_pop): Simplify definition of return_in_pc.
7459         (arm_expand_epilogue): Don't compare boolean with true in if condition.
7460
7461 2015-01-29  Uros Bizjak  <ubizjak@gmail.com>
7462
7463         * config/i386/i386.c (ix86_mode_after): Make static.
7464
7465 2015-01-29  Richard Biener  <rguenther@suse.de>
7466
7467         PR tree-optimization/64844
7468         * tree-vect-loop.c (vect_estimate_min_profitable_iters): Always
7469         dump cost model analysis.
7470         * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
7471         Do not register adjusted load/store costs here.
7472
7473 2015-01-29  Ilya Enkovich  <ilya.enkovich@intel.com>
7474             Uros Bizjak  <ubizjak@gmail.com>
7475
7476         * config/i386/i386-protos.h (ix86_use_pseudo_pic_reg): New.
7477         * config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Simplify by
7478         using x86_use_pseudo_pic_reg.
7479         * config/i386/i386.c (ix86_conditional_register_usage): Remove
7480         support for fixed PIC register.
7481         (ix86_use_pseudo_pic_reg): Not static any more.
7482
7483 2015-01-29  Ilya Enkovich  <ilya.enkovich@intel.com>
7484
7485         PR middle-end/64805
7486         * ipa-inline.c (early_inliner): Rebuild IPA_REF_CHKP reference
7487         to avoid error in cgraph node verification.
7488
7489 2015-01-29  Marek Polacek  <polacek@redhat.com>
7490
7491         * doc/standards.texi: Reflect that the default for C is gnu11.
7492
7493 2015-01-29  Kaz Kojima  <kkojima@gcc.gnu.org>
7494
7495         PR target/64761
7496         * reorg.c (switch_text_sections_between_p): New function.
7497         (relax_delay_slots): Call it when testing if the jump insn
7498         is removable.  Use targetm.can_follow_jump when testing if
7499         the conditional branch can follow an unconditional jump.
7500
7501 2015-01-27  Caroline Tice  <cmtice@google.com>
7502
7503         Committing VTV Cywin/Ming patch for Patrick Wollgast
7504         * config/i386/cygwin.h (STARTFILE_SPEC): Add vtv_start.o,
7505         if -fvtable-verify=preinit/std is used.
7506         * config/i386/mingw-w64.h (STARTFILE_SPEC): Likewise.
7507         * config/i386/mingw32.h (STARTFILE_SPEC): Likewise.
7508         * config/i386/cygwin.h (ENDFILE_SPEC): Add vtv_end.o,
7509         if -fvtable-verify=preinit/std is used.
7510         * config/i386/mingw32.h (ENDFILE_SPEC): Likewise.
7511         * config/i386/cygwin.h (LIB_SPEC): Pass -lvtv and -lpsapi,
7512         if -fvtable-verify=preinit/std is used.
7513         * config/i386/mingw-w64.h (LIB_SPEC): Likewise.
7514         * config/i386/mingw32.h (LIB_SPEC): Likewise.
7515         * varasm.c (assemble_variable): Add code to properly set the comdat
7516         section and name for the .vtable_map_vars section in case the
7517         target is PE or COFF.
7518
7519 2015-01-29  Jan Hubicka  <hubicka@ucw.cz>
7520
7521         PR ipa/64801
7522         * cgraphunit.c (init_lowered_empty_function): Add CoUNT parameter;
7523         make sane BB profile.
7524         (cgraph_node::expand_thunk): Make sane BB profile.
7525         (cgraph_node::create_wrapper): Do not set call_stmt_cannot_inline_p.
7526         * cgraph.h (init_lowered_empty_function): Update prototype.
7527         * config/i386/i386.c (make_resolver_func): Update call.
7528         * predict.c (gate): Disable branch prediction pass if
7529         profile is already there.
7530
7531 2015-01-29  Jan Hubicka  <hubicka@ucw.cz>
7532
7533         * optc-save-gen.awk: flag_fp_contract_mode is no longer speical.
7534         * opth-gen.awk: Likewise.
7535         * common.opt: Mark flag_fp_contract_mode as Optimization.
7536
7537 2015-01-29  Bernd Edlinger  <bernd.edlinger@hotmail.de>
7538
7539         * config/i386/cygwin.h (LIBGCJ_SONAME): Set libgcj version to -16.
7540         * config/i386/mingw32.h (LIBGCJ_SONAME): Set libgcj version to -16.
7541
7542 2015-01-28  Oleg Endo  <olegendo@gcc.gnu.org>
7543
7544         PR target/64659
7545         * config/sh/predicates.md (atomic_arith_operand,
7546         atomic_logical_operand): Remove.
7547         * config/sh/sync.md (fetchop_predicate, fetchop_constraint): Remove.
7548         (atomic_arith_operand_0): New predicate.
7549         (atomic_compare_and_swap<mode>): Use arith_reg_dest for output values.
7550         Use atomic_arith_operand_0 for input values.
7551         (atomic_compare_and_swapsi_hard, atomic_compare_and_swap<mode>_hard,
7552         atomic_compare_and_swap<mode>_soft_gusa,
7553         atomic_compare_and_swap<mode>_soft_tcb,
7554         atomic_compare_and_swap<mode>_soft_imask): Use arith_reg_dest and
7555         arith_reg_operand instead of register_operand.
7556         (atomic_exchange<mode>): Use arith_reg_dest for output value.  Use
7557         atomic_arith_operand_0 for newval input.
7558         (atomic_exchangesi_hard, atomic_exchange<mode>_hard,
7559         atomic_exchange<mode>_soft_gusa, atomic_exchange<mode>_soft_tcb,
7560         atomic_exchange<mode>_soft_imask): Use arith_reg_dest and
7561         arith_reg_operand instead of register_operand.
7562         (atomic_arith_operand_1, atomic_logical_operand_1): New predicates.
7563         fetchop_predicate_1, fetchop_constraint_1_llcs,
7564         fetchop_constraint_1_gusa, fetchop_constraint_1_tcb,
7565         fetchop_constraint_1_imask): New code iterator attributes.
7566         (atomic_fetch_<fetchop_name><mode>): Use arith_reg_dest instead of
7567         register_operand.  Use fetchop_predicate_1.
7568         (atomic_fetch_<fetchop_name>si_hard,
7569         atomic_fetch_<fetchop_name><mode>_hard): Use arith_reg_dest instead of
7570         register_operand.  Use fetchop_predicate_1, fetchop_constraint_1_llcs.
7571         (atomic_fetch_<fetchop_name><mode>_soft_gusa): Use arith_reg_dest
7572         and arith_reg_operand instead of register_operand.  Use
7573         fetchop_predicate_1, fetchop_constraint_1_gusa.
7574         (atomic_fetch_<fetchop_name><mode>_soft_tcb): Use arith_reg_dest
7575         and arith_reg_operand instead of register_operand.  Use
7576         fetchop_predicate_1, fetchop_constraint_1_tcb.  Adjust asm sequence
7577         to allow R0 usage.
7578         (atomic_fetch_<fetchop_name><mode>_soft_imask): Use arith_reg_dest
7579         and arith_reg_operand instead of register_operand.  Use
7580         fetchop_predicate_1, fetchop_constraint_1_imask.  Adjust asm sequence
7581         to allow R0 usage.
7582         (atomic_fetch_nand<mode>): Use arith_reg_dest instead of
7583         register_operand.  Use atomic_logical_operand_1.
7584         (atomic_fetch_nandsi_hard, atomic_fetch_nand<mode>_hard,
7585         atomic_fetch_nand<mode>_soft_gusa): Use arith_reg_dest and
7586         arith_reg_operand instead of register_operand.
7587         (atomic_fetch_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask):
7588         Use arith_reg_dest and arith_reg_operand instead of register_operand.
7589         Use logical_operand and rK08.  Adjust asm sequence to allow R0 usage.
7590         (atomic_<fetchop_name>_fetch<mode>): Use arith_reg_dest instead of
7591         register_operand.  Use fetchop_predicate_1.
7592         (atomic_<fetchop_name>_fetchsi_hard,
7593         atomic_<fetchop_name>_fetch<mode>_hard): Use arith_reg_dest and
7594         arith_reg_operand instead of register_operand.  Use fetchop_predicate_1,
7595         fetchop_constraint_1_llcs.
7596         (atomic_<fetchop_name>_fetch<mode>_soft_gusa): Use arith_reg_dest and
7597         arith_reg_operand instead of register_operand.  Use fetchop_predicate_1,
7598         fetchop_constraint_1_gusa.
7599         (atomic_<fetchop_name>_fetch<mode>_soft_tcb): Use arith_reg_dest and
7600         arith_reg_operand instead of register_operand.  Use fetchop_predicate_1,
7601         fetchop_constraint_1_tcb.  Adjust asm sequence to allow R0 usage.
7602         (atomic_<fetchop_name>_fetch<mode>_soft_imask): Use arith_reg_dest and
7603         arith_reg_operand instead of register_operand.  Use fetchop_predicate_1,
7604         fetchop_constraint_1_imask.  Adjust asm sequence to allow R0 usage.
7605         (atomic_nand_fetch<mode>): Use arith_reg_dest instead of
7606         register_operand.  Use atomic_logical_operand_1.
7607         (atomic_nand_fetchsi_hard, atomic_nand_fetch<mode>_hard,
7608         atomic_nand_fetch<mode>_soft_gusa): Use arith_reg_dest and
7609         arith_reg_operand instead of register_operand.
7610         (atomic_nand_fetch<mode>_soft_tcb): Use arith_reg_dest and
7611         arith_reg_operand instead of register_operand.  Use logical_operand
7612         and K08.  Adjust asm sequence to allow R0 usage.
7613         (atomic_nand_fetch<mode>_soft_imask): Use arith_reg_dest and
7614         arith_reg_operand instead of register_operand.  Use logical_operand
7615         and K08.
7616
7617 2015-01-28  Jakub Jelinek  <jakub@redhat.com>
7618
7619         PR other/63504
7620         * dwarf2out.c (add_AT_wide, mem_loc_descriptor, loc_descriptor):
7621         Use ggc_alloc<wide_int> instead of ggc_cleared_alloc<wide_int>.
7622         (attr_checksum, attr_checksum_ordered, hash_loc_operands): Checksum
7623         only get_full_len HOST_WIDE_INTs from get_val () array rather than
7624         all bits in *val_wide.
7625
7626 2015-01-28  Jan Hubicka  <hubicka@ucw.cz>
7627
7628         * varpool.c (tls_model_names): Fix names.
7629         (varpool_node::dump): Dump tls- prefix for tls models.
7630
7631 2015-01-28  Thomas Schwinge  <thomas@codesourcery.com>
7632             Bernd Schmidt  <bernds@codesourcery.com>
7633             Nathan Sidwell  <nathan@codesourcery.com>
7634
7635         * config/nvptx/mkoffload.c: New file.
7636         * config/nvptx/t-nvptx: Add build rules for it.
7637         * config.gcc <nvptx-*> [$enable_as_accelerator = yes]
7638         (extra_programs): Add mkoffload.
7639         * config/nvptx/nvptx.c (nvptx_record_offload_symbol): New
7640         function.
7641         (TARGET_RECORD_OFFLOAD_SYMBOL): Define macro to use it.
7642
7643 2015-01-28  Yuri Rumyantsev  <ysrumyan@gmail.com>
7644
7645         PR middle-end/64809
7646         * cfgexpand.c (reorder_operands): Skip debug gimples.
7647
7648 2015-01-28  Ilya Enkovich  <ilya.enkovich@intel.com>
7649
7650         PR tree-optimization/64277
7651         * tree-ssa-loop-niter.c (record_nonwrapping_iv): Use base
7652         range info when possible to refine estimation.
7653
7654 2015-01-28  Thomas Preud'homme  <thomas.preudhomme@arm.com>
7655
7656         PR tree-optimization/64718
7657         * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Make bswap_type
7658         be a 16bit unsigned integer when n->range is 16.
7659         (bswap_replace): Convert src to that type if necessary for all bswap
7660         sizes.  Fix rotation right notation in nearby comment.  Use bswap_type
7661         set in pass_optimize_bswap::execute ().
7662
7663 2015-01-28  James Greenhalgh  <james.greenhalgh@arm.com>
7664
7665         * config/aarch64/aarch64-simd.md (aarch64_abs<mode>): New.
7666         * config/aarch64/aarch64-simd-builtins.def (abs): Split by
7667         integer and floating point variants.
7668         * config/aarch64/iterators.md (unspec): Add UNSPEC_ABS.
7669
7670 2015-01-28  Robert Suchanek  <robert.suchanek@imgtec.com>
7671
7672         * config/mips/mips.c (mips_hard_regno_mode_ok_p): Prohibit accumulators
7673         for all vector modes.
7674
7675 2015-01-28  Jakub Jelinek  <jakub@redhat.com>
7676
7677         PR bootstrap/64612
7678         * doc/sourcebuild.texi (comdat_group): Document.
7679
7680 2015-01-28  Terry Guo  <terry.guo@arm.com>
7681
7682         * config/arm/thumb1.md (*thumb1_movpc_insn): New insn pattern.
7683
7684 2015-01-27  David Malcolm  <dmalcolm@redhat.com>
7685
7686         * toplev.c (print_version): Add param "show_global_state", and
7687         only print GGC and plugin information if it is true.
7688         (init_asm_output): Pass in "true" for the new param when calling
7689         print_version.
7690         (process_options): Likewise.
7691         (toplev::main): Likewise.
7692         * toplev.h (print_version): Add new param to decl.
7693
7694 2015-01-27  Jan Hubicka  <hubicka@ucw.cz>
7695
7696         PR ipa/60871
7697         PR ipa/64139
7698         * tree.c (lookup_binfo_at_offset): New function.
7699         (get_binfo_at_offset): Use it.
7700
7701 2015-01-27  Jan Hubicka  <hubicka@ucw.cz>
7702
7703         PR ipa/64282
7704         * gimple-fold.c (gimple_get_virt_method_for_vtable): Remove assert
7705         on vtable being vtable.
7706
7707 2015-01-27  Dominik Vogt  <vogt@linux.vnet.ibm.com>
7708
7709         * doc/extend.texi: s/390: Update documentation of hotpatch attribute.
7710         * doc/invoke.texi (-mhotpatch): s/390: Update documentation of
7711         -mhotpatch= option.
7712         * config/s390/s390.opt (mhotpatch): s/390: Remove -mhotpatch and
7713         -mno-hotpatch options.  Change syntax of -mhotpatch= option.
7714         * config/s390/s390.c (s390_hotpatch_trampoline_halfwords_default):
7715         Renamed.
7716         (s390_hotpatch_trampoline_halfwords_max): Renamed.
7717         (s390_hotpatch_hw_max): New name.
7718         (s390_hotpatch_trampoline_halfwords): Renamed.
7719         (s390_hotpatch_hw_before_label): New name.
7720         (get_hotpatch_attribute): Removed.
7721         (s390_hotpatch_hw_after_label): New name.
7722         (s390_handle_hotpatch_attribute): Add second parameter to hotpatch
7723         attribute.
7724         (s390_attribute_table): Ditto.
7725         (s390_function_num_hotpatch_trampoline_halfwords): Renamed.
7726         (s390_function_num_hotpatch_hw): New name.
7727         Remove special handling of inline functions and hotpatching.
7728         Return number of nops before and after the function label.
7729         (s390_can_inline_p): Removed.
7730         (s390_asm_output_function_label): Emit a configurable number of nops
7731         after the function label.
7732         (s390_option_override): Update -mhotpatch= syntax and remove -mhotpatch.
7733         (TARGET_CAN_INLINE_P) Removed.
7734         (TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): New.
7735
7736 2015-01-27  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
7737             Jiong Wang  <jiong.wang@arm.com>
7738
7739         * config/aarch64/aarch64.md (tb<optab><mode>1): Clobber CC reg instead
7740         of scratch reg.
7741         (cb<optab><mode>1): Likewise.
7742         * config/aarch64/iterators.md (bcond): New define_code_attr.
7743
7744 2015-01-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
7745
7746         * config/s390/s390.c (s390_memory_move_cost): Increase costs for
7747         memory accesses.
7748
7749 2015-01-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
7750
7751         * config/s390/s390.c (s390_register_move_cost): Increase costs for
7752         FPR->GPR moves.
7753
7754 2015-01-27  Richard Biener  <rguenther@suse.de>
7755
7756         * tree-vrp.c (update_value_range): Intersect the range with
7757         old recorded SSA name range information.
7758
7759 2015-01-27  Nick Clifton  <nickc@redhat.com>
7760
7761         * config/rl78/rl78.c (rl78_expand_prologue): In G10 mode push the
7762         BC, DE and HL registers directly, not via AX.
7763         When decrementing the stack pointer by a large amount, transfer SP
7764         into AX and perform the subtraction there.
7765         (rl78_expand_epilogue): Perform the inverse of the above
7766         enhancements.
7767
7768 2015-01-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7769
7770         * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Remove.
7771
7772 2015-01-27  Jakub Jelinek  <jakub@redhat.com>
7773             Yury Gribov  <y.gribov@samsung.com>
7774
7775         PR ubsan/64741
7776         * ubsan.c (ubsan_source_location): Refactor code.
7777         (ubsan_type_descriptor): Update type size. Refactor code.
7778
7779 2015-01-27  Richard Biener  <rguenther@suse.de>
7780
7781         PR tree-optimization/56273
7782         PR tree-optimization/59124
7783         PR tree-optimization/64277
7784         * tree-vrp.c (vrp_finalize): Emit array-bound warnings only
7785         from the first VRP pass.
7786
7787 2015-01-27  Jakub Jelinek  <jakub@redhat.com>
7788
7789         PR ipa/64776
7790         * cgraphunit.c (cgraph_node::expand_thunk): If not this_adjusting,
7791         handle the first argument in the same loop as all the other arguments.
7792
7793         PR rtl-optimization/61058
7794         * jump.c (cleanup_barriers): Update basic block boundaries
7795         if BLOCK_FOR_INSN is non-NULL on PREV.
7796
7797 2015-01-27  Ilya Enkovich  <ilya.enkovich@intel.com>
7798
7799         * tree-chkp.c (chkp_call_returns_bounds_p): Fix handling of
7800         bounds narrowing, already instrumented calls and calls to
7801         not instrumentable functions.
7802
7803 2015-01-27  Jakub Jelinek  <jakub@redhat.com>
7804
7805         PR tree-optimization/64807
7806         * wide-int.cc (wi::divmod_internal): Clear
7807         b_dividend[dividend_blocks_needed].
7808
7809 2015-01-26  DJ Delorie  <dj@redhat.com>
7810
7811         * config/rl78/rl78.c (move_elim_pass): Don't optimize away
7812         volatile memory references.
7813
7814 2015-01-26  Oleg Endo  <olegendo@gcc.gnu.org>
7815
7816         PR target/49263
7817         * config/sh/sh.c (sh_split_treg_set_expr): Invoke emit_insn before
7818         remove_insn.
7819         * config/sh/sh.md (tstsi_t): Don't try to optimize constant with right
7820         shifts if it already fits into K08.
7821
7822 2015-01-26  Jakub Jelinek  <jakub@redhat.com>
7823
7824         PR ipa/64730
7825         * ipa-inline.c (inline_small_functions): Print "unknown" even
7826         if edge->call_stmt is non-NULL, but has builtins or unknown
7827         location.
7828
7829         PR middle-end/64421
7830         * omp-low.c (simd_clone_mangle): If DECL_ASSEMBLER_NAME starts
7831         with asterisk, skip the first character.
7832
7833 2015-01-26  H.J. Lu  <hongjiu.lu@intel.com>
7834
7835         PR target/64806
7836         * config/i386/i386 (feature_priority): Revert the last P_POPCNT
7837         order change.
7838
7839 2015-01-26  Uros Bizjak  <ubizjak@gmail.com>
7840
7841         PR target/64795
7842         * config/i386/i386.md (*movdi_internal): Also check operand 0
7843         to determine TYPE_LEA operand.
7844         (*movsi_internal): Ditto.
7845
7846 2015-01-26  Jakub Jelinek  <jakub@redhat.com>
7847
7848         * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add
7849         OPTION_MASK_QUAD_MEMORY_ATOMIC.
7850
7851 2015-01-26  Renlin Li  <renlin.li@arm.com>
7852
7853         * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Correct
7854         the comment.
7855         * config/aarch64/aarch64.md (tlsle_small_<mode>): Add left shift 12-bit
7856         for higher part.
7857
7858 2015-01-26  Richard Biener  <rguenther@suse.de>
7859
7860         PR middle-end/64764
7861         * tree-ssa-uninit.c (is_pred_expr_subset_of): Handle
7862         combining two BIT_AND_EXPR predicates.
7863
7864 2015-01-26  H.J. Lu  <hongjiu.lu@intel.com>
7865
7866         PR bootstrap/64754
7867         * tree-ssa-structalias.c (new_var_info): Initialize ruid.
7868
7869 2015-01-26  Terry Guo  <terry.guo@arm.com>
7870
7871         * config/arm/arm.c (arm_file_start): Update the assignment of
7872         Tag_ABI_HardFP_use.
7873
7874 2015-01-25  James Greenhalgh  <james.greenhalgh@arm.com>
7875
7876         * config/arm/arm-cores.def (cortex-a57): Use the new Cortex-A57
7877         pipeline model.
7878         config/arm/arm.md: Include the new Cortex-A57 model.
7879         (generic_sched): Don't use generic_sched when tuning for
7880         Cortex-A57.
7881
7882 2015-01-25  Allan Sandfeld Jensen  <sandfeld@kde.org>
7883             Uros Bizjak  <ubizjak@gmail.com>
7884
7885         * config/i386/i386.c (get_builtin_code_for_version): Add
7886         support for BMI and BMI2 multiversion functions.
7887
7888 2015-01-25  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
7889
7890         * emit-rtl.h (store_bit_field): Move prototype to expmed.h.
7891         (extract_bit_field): Likewise.
7892         (extract_low_bits): Likewise.
7893         (expand_mult): Likewise.
7894         (expand_mult_highpart_adjust): Likewise.
7895
7896 2015-01-24  H.J. Lu  <hongjiu.lu@intel.com>
7897
7898         * config/i386/driver-i386.c (host_detect_local_cpu): Check new
7899         Silvermont, Haswell, Broadwell and Knights Landing model numbers.
7900         * config/i386/i386.c (processor_model): Add
7901         M_INTEL_COREI7_BROADWELL.
7902         (arch_names_table): Add "broadwell".
7903
7904 2015-01-24  Oleg Endo  <olegendo@gcc.gnu.org>
7905
7906         PR target/49263
7907         PR target/53987
7908         PR target/64345
7909         PR target/59533
7910         PR target/52933
7911         PR target/54236
7912         PR target/51244
7913         * config/sh/sh-protos.h
7914         (sh_extending_set_of_reg::can_use_as_unextended_reg,
7915         sh_extending_set_of_reg::use_as_unextended_reg,
7916         sh_is_nott_insn, sh_movt_set_dest, sh_movrt_set_dest, sh_is_movt_insn,
7917         sh_is_movrt_insn, sh_insn_operands_modified_between_p,
7918         sh_reg_dead_or_unused_after_insn, sh_in_recog_treg_set_expr,
7919         sh_recog_treg_set_expr, sh_split_treg_set_expr): New functions.
7920         (sh_treg_insns): New class.
7921         * config/sh/sh.c (TARGET_LEGITIMATE_COMBINED_INSN): Define target hook.
7922         (scope_counter): New class.
7923         (sh_legitimate_combined_insn, sh_is_nott_insn, sh_movt_set_dest,
7924         sh_movrt_set_dest, sh_reg_dead_or_unused_after_insn,
7925         sh_extending_set_of_reg::can_use_as_unextended_reg,
7926         sh_extending_set_of_reg::use_as_unextended_reg, sh_recog_treg_set_expr,
7927         sh_in_recog_treg_set_expr, sh_try_split_insn_simple,
7928         sh_split_treg_set_expr): New functions.
7929         (addsubcosts): Handle treg_set_expr.
7930         (sh_rtx_costs): Handle IF_THEN_ELSE and ZERO_EXTRACT.
7931         (sh_rtx_costs): Use arith_reg_operand in SIGN_EXTEND and ZERO_EXTEND.
7932         (sh_rtx_costs): Handle additional bit test patterns in EQ and AND cases.
7933         (sh_insn_operands_modified_between_p): Make non-static.
7934         * config/sh/predicates.md (zero_extend_movu_operand): Allow
7935         simple_mem_operand in addition to displacement_mem_operand.
7936         (zero_extend_operand): Don't allow zero_extend_movu_operand.
7937         (treg_set_expr, treg_set_expr_not_const01,
7938         arith_reg_or_treg_set_expr): New predicates.
7939         * config/sh/sh.md (tstsi_t): Use arith_reg_operand and
7940         arith_or_int_operand instead of logical_operand.  Convert to
7941         insn_and_split.  Try to optimize constant operand in splitter.
7942         (tsthi_t, tstqi_t): Fold into *tst<mode>_t.  Convert to insn_and_split.
7943         (*tstqi_t_zero): Delete.
7944         (*tst<mode>_t_subregs): Add !sh_in_recog_treg_set_expr split condition.
7945         (tstsi_t_and_not): Delete.
7946         (tst<mode>_t_zero_extract_eq): Rename to *tst<mode>_t_zero_extract.
7947         Convert to insn_and_split.
7948         (unnamed split, tstsi_t_zero_extract_xor,
7949         tstsi_t_zero_extract_subreg_xor_little,
7950         tstsi_t_zero_extract_subreg_xor_big): Delete.
7951         (*tstsi_t_shift_mask): New insn_and_split.
7952         (cmpeqsi_t, cmpgesi_t): Add new split for const_int 0 operands and try
7953         to recombine with surrounding insns when splitting.
7954         (*negtstsi): Add !sh_in_recog_treg_set_expr condition.
7955         (cmp_div0s_0, cmp_div0s_1, *cmp_div0s_0, *cmp_div0s_1): Rewrite as ...
7956         (cmp_div0s, *cmp_div0s_1, *cmp_div0s_2, *cmp_div0s_3, *cmp_div0s_4,
7957         *cmp_div0s_5, *cmp_div0s_6): ... these new insn_and_split patterns.
7958         (*cbranch_div0s: Delete.
7959         (*addc): Convert to insn_and_split.  Use treg_set_expr as 3rd operand.
7960         Try to recombine with surrounding insns when splitting.  Add operand
7961         order variants.
7962         (*addc_t_r, *addc_r_t): Use treg_set_expr_not_const01.
7963         (*addc_r_r_1, *addc_r_lsb, *addc_r_r_lsb, *addc_r_lsb_r, *addc_r_msb,
7964         *addc_r_r_msb, *addc_2r_msb): Delete.
7965         (*addc_2r_lsb): Rename to *addc_2r_t.  Use treg_set_expr.  Add operand
7966         order variant.
7967         (*addc_negreg_t): New insn_and_split.
7968         (*subc): Convert to insn_and_split.  Use treg_set_expr as 3rd operand.
7969         Try to recombine with surrounding insns when splitting.
7970         Add operand order variants.
7971         (*subc_negt_reg, *subc_negreg_t, *reg_lsb_t, *reg_msb_t): New
7972         insn_and_split patterns.
7973         (*rotcr): Use arith_reg_or_treg_set_expr.  Try to recombine with
7974         surrounding insns when splitting.
7975         (unnamed rotcr split): Use arith_reg_or_treg_set_expr.
7976         (*rotcl): Likewise.  Add zero_extract variant.
7977         (*ashrsi2_31): New insn_and_split.
7978         (*negc): Convert to insn_and_split.  Use treg_set_expr.
7979         (*zero_extend<mode>si2_disp_mem): Update comment.
7980         (movrt_negc, *movrt_negc, nott): Add !sh_in_recog_treg_set_expr split
7981         condition.
7982         (*mov_t_msb_neg, mov_neg_si_t): Use treg_set_expr.  Try to recombine
7983         with surrounding insns when splitting.
7984         (any_treg_expr_to_reg): New insn_and_split.
7985         (*neg_zero_extract_0, *neg_zero_extract_1, *neg_zero_extract_2,
7986         *neg_zero_extract_3, *neg_zero_extract_4, *neg_zero_extract_5,
7987         *neg_zero_extract_6, *zero_extract_0, *zero_extract_1,
7988         *zero_extract_2): New single bit zero extract patterns.
7989         (bld_reg, *bld_regqi): Fold into bld<mode>_reg.
7990         (*get_thread_pointersi, store_gbr, *mov<mode>_gbr_load,
7991         *mov<mode>_gbr_load, *mov<mode>_gbr_load, *mov<mode>_gbr_load,
7992         *movdi_gbr_load): Use arith_reg_dest instead of register_operand for
7993         set destination.
7994         (set_thread_pointersi, load_gbr): Use arith_reg_operand instead of
7995         register_operand for set source.
7996
7997 2015-01-23  Jan Hubicka  <hubicka@ucw.cz>
7998
7999         * i386.opt (prefetch_sse): New targetsave.
8000         * i386.c (ix86_function_specific_save): Save prefetch_sse.
8001         (ix86_function_specific_restore): Restore prefetch_sse and initialize
8002         ix86_cost/ix86_tune_cost.
8003
8004 2015-01-23  David Malcolm  <dmalcolm@redhat.com>
8005
8006         * config/rs6000/rs6000.c (rs6000_output_function_epilogue):
8007         Support the JIT by using 0 as the language type.
8008
8009 2015-01-23  Vladimir Makarov  <vmakarov@redhat.com>
8010
8011         PR target/64317
8012         * lra-lives.c (make_hard_regno_born): Add parameter.  Don't make
8013         REAL_PIC_OFFSET_TABLE_REGNUM conflicting with pic offset pseudo.
8014         (mark_regno_live, process_bb_lives): Pass new parameter value to
8015         make_hard_regno_born.
8016
8017 2015-01-23  Jakub Jelinek  <jakub@redhat.com>
8018
8019         PR rtl-optimization/63637
8020         PR rtl-optimization/60663
8021         * cse.c (merge_equiv_classes): Set new_elt->cost to MAX_COST
8022         if elt->cost is MAX_COST for ASM_OPERANDS.
8023         (find_sets_in_insn): Fix up comment typo.
8024         (cse_insn): Don't set src_volatile for all non-volatile
8025         ASM_OPERANDS in PARALLELs, but just those with multiple outputs
8026         or with "memory" clobber.  Set elt->cost to MAX_COST
8027         for ASM_OPERANDS in PARALLEL.  Set src_elt->cost to MAX_COST
8028         if new_src is ASM_OPERANDS and elt->cost is MAX_COST.
8029
8030 2015-01-23  Uros Bizjak  <ubizjak@gmail.com>
8031
8032         * config/i386/sse.md (sse2_loadld): Set attribute isa to sse2 for
8033         alternative 1.
8034
8035 2015-01-23  Uros Bizjak  <ubizjak@gmail.com>
8036
8037         * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Move definition to
8038         libgcc/config/i386/elf-lib.h.
8039
8040 2015-01-23  Jakub Jelinek  <jakub@redhat.com>
8041
8042         PR driver/64737
8043         * gcc.c (print_configuration): Don't print a blank line at the end
8044         here...
8045         (run_attempt): ... but here unstead.
8046
8047         PR middle-end/64734
8048         * omp-low.c (scan_sharing_clauses): Don't ignore
8049         OMP_CLAUSE_MAP_ZERO_BIAS_ARRAY_SECTION GOMP_MAP_POINTER clauses
8050         on target data/update constructs.
8051
8052 2015-01-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>
8053
8054         PR target/50928
8055         * config/m32c/m32c.c (encode_pattern_1): Removed gcc_unreachable here.
8056         (DEBUG_RELOAD): Removed define.
8057         (m32c_limit_reload_class): Enable traces with if DEBUG0.
8058         (m32c_function_arg): Added a type cast.
8059         (m32c_legitimize_reload_address): Push A_REGS reload with PSImode.
8060         * config/m32c/addsub.md (addsi3_1): Specify the mode of all arguments.
8061         * config/m32c/bitops.md (andqi3_16): Likewise.
8062         * config/m32c/mov.md (m32c_immd_dbl_mov): Likewise.
8063         (push_a01_l): Likewise.
8064
8065 2015-01-23  David Malcolm  <dmalcolm@redhat.com>
8066
8067         PR jit/64721
8068         * main.c (main): Construct toplev instances with init_signals=true.
8069         * toplev.c (general_init): Add param "init_signals", and use it to
8070         conditionalize the calls to signal and host_hooks.extra_signals.
8071         (toplev::toplev): Add param "init_signals".
8072         (toplev::main): When invoking general_init, pass m_init_signals
8073         to control whether signal-handlers are installed.
8074         * toplev.h (toplev::toplev): Add param "init_signals".
8075         (toplev::m_init_signals): New field.
8076
8077 2015-01-23  David Malcolm  <dmalcolm@redhat.com>
8078
8079         PR jit/64722
8080         * emit-rtl.c (init_emit_regs): Set pic_offset_table_rtx to
8081         NULL_RTX before testing PIC_OFFSET_TABLE_REGNUM, since the
8082         latter may be affected by the former (e.g. on i686).
8083
8084 2015-01-23  Martin Liska  <mliska@suse.cz>
8085
8086         * tree.h (tree_vec_elt_check): Workaround -Wstrict-overflow
8087         false positive during profiledbootstrap.
8088
8089 2015-01-23  Tom de Vries  <tom@codesourcery.com>
8090
8091         PR libgomp/64672
8092         * lto-opts.c (lto_write_options): Output non-explicit conservative
8093         -fno-openacc.
8094         * lto-wrapper.c (merge_and_complain): Handle merging -fopenacc.
8095         (append_compiler_options): Pass -fopenacc through.
8096
8097 2015-01-23  Tom de Vries  <tom@codesourcery.com>
8098
8099         PR libgomp/64707
8100         * lto-opts.c (lto_write_options): Output non-explicit conservative
8101         -fno-openmp.
8102         * lto-wrapper.c (merge_and_complain): Handle merging -fopenmp.
8103         (append_compiler_options): Pass -fopenmp through.
8104
8105 2015-01-23  Jakub Jelinek  <jakub@redhat.com>
8106
8107         PR debug/64511
8108         * dwarf2out.c (struct dw_loc_descr_node): Add chain_next
8109         GTY markup.
8110
8111         * diagnostic-core.h (internal_error_no_backtrace): New prototype.
8112         * diagnostic.def (DK_ICE_NOBT): New kind.
8113         * diagnostic.c (diagnostic_action_after_output): Handle DK_ICE_NOBT
8114         like DK_ICE, but never print backtrace.
8115         (diagnostic_report_diagnostic): Handle DK_ICE_NOBT like DK_ICE.
8116         (internal_error_no_backtrace): New function.
8117         * gcc.c (execute): Use internal_error_no_backtrace instead of
8118         internal_error.
8119
8120 2015-01-22  Jeff Law  <law@redhat.com>
8121
8122         PR target/52076
8123         * config/m68k/m68k.md (xorsi3_internal): Twiddle constraints to
8124         improve code density for small immediate to memory case.
8125         (insv): Better handle bitfield assignments when the field is
8126         being set to all ones.
8127         * config/m68k/predicates.md (reg_or_pow2_m1_operand): New
8128         operand predicate.
8129
8130 2015-01-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8131             Jakub Jelinek  <jakub@redhat.com>
8132
8133         PR middle-end/64729
8134         * gcc.c (LINK_SSP_SPEC): Handle -fstack-protector-explicit
8135         for !TARGET_LIBC_PROVIDES_SSP version and
8136         -fstack-protector-{all,strong,explicit} otherwise.
8137         * config/freebsd.h (LINK_SSP_SPEC): Handle
8138         -fstack-protector-{strong,explicit}.
8139
8140 2015-01-22  Jan Hubicka  <hubicka@ucw.cz>
8141             H.J. Lu  <hongjiu.lu@intel.com>
8142
8143         PR ipa/64694
8144         * ipa-inline.c (inline_small_functions): Fix thinko in maintenance of
8145         heap.
8146
8147 2015-01-22  Wei Mi  <wmi@google.com>
8148
8149         PR rtl-optimization/64557
8150         * dse.c (record_store): Call get_addr for mem_addr.
8151         (check_mem_read_rtx): Likewise.
8152
8153 2015-01-22  Eric Botcazou  <ebotcazou@adacore.com>
8154
8155         * fold-const.c (const_binop): Add early return for non-tcc_binary.
8156
8157 2015-01-22  Chen Gang  <gang.chen.5i5j@gmail.com>
8158
8159         * toplev.c (init_local_tick): Process the failure when read
8160         fails for random_seed.
8161
8162         * ubsan.c (ubsan_type_descriptor): Use 'pretty_print' for
8163         'pretty_name' to avoid memory overflow.
8164
8165 2015-01-22  Richard Biener  <rguenther@suse.de>
8166
8167         PR middle-end/64728
8168         * tree-ssa-coalesce.c (coalesce_partitions): Do not perform
8169         abnormal coalescing on undefined SSA names.
8170
8171 2015-22-01  Uros Bizjak  <ubizjak@gmail.com>
8172
8173         PR target/64688
8174         PR target/64477
8175         * config/i386/sse.md (vec_set<mode>_0): Use (Yi/r/C) constraints
8176         for alternative 3.
8177         (*vec_dup<mode>): Use (Yi/$r) constraints for alternative 1.
8178
8179 2015-01-22  Trevor Saunders  <tsaunders@mozilla.com>
8180
8181         PR middle-end/63325
8182         * fold-const.c (fold_checksum_tree): Don't include value of
8183         expr->decl_with_vis.symtab_node in the checksum.
8184
8185 2015-01-22  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
8186
8187         * config/s390/s390.md (atomic code attribute): Fix typo "ior" -> "or".
8188
8189 2015-01-22  Max Ostapenko  <m.ostapenko@partner.samsung.com>
8190
8191         PR driver/64690
8192         * gcc.c (insert_comments): New function.
8193         (try_generate_repro): Call it.
8194         (append_text): Removed.
8195
8196 2015-01-22  Richard Biener  <rguenther@suse.de>
8197
8198         * ipa-inline.c (can_inline_edge_p): Disable inlining of edges
8199         with IL incompatible options.  Properly honor user optimize
8200         attributes.
8201
8202 2015-01-21  Segher Boessenkool  <segher@kernel.crashing.org>
8203
8204         PR rtl-optimization/64682
8205         * combine.c (distribute_notes): When moving a death note for
8206         a register that is set in the new I2, make sure to put it
8207         before that new I2.
8208
8209 2015-01-21  David Edelsohn  <dje.gcc@gmail.com>
8210
8211         * config/rs6000/rs6000.c (rs6000_file_start): Use rs6000_isa_flags
8212         not TARGET_DEFAULT.
8213
8214 2015-01-21  Jakub Jelinek  <jakub@redhat.com>
8215
8216         PR debug/64511
8217         * simplify-rtx.c (simplify_relational_operation_1): Don't try to
8218         optimize (eq/ne (and (side_effects) (const_int 0)) (const_int 0))
8219         into (eq/ne (and (not (side_effects)) (const_int 0)) (const_int 0)).
8220
8221         PR sanitizer/64706
8222         * doc/invoke.texi (-fsanitize=vptr): Document.
8223
8224         PR rtl-optimization/62078
8225         * dse.c: Include cfgcleanup.h.
8226         (rest_of_handle_dse): For -fnon-call-exceptions, if DSE removed
8227         anything call purge_all_dead_edges and cleanup_cfg at the end
8228         of the pass.
8229
8230 2015-01-21  Jan Hubicka  <hubicka@ucw.cz>
8231
8232         * ipa-utils.c (ipa_merge_profiles): Avoid ICE on mismatch in indirect
8233         edges.
8234
8235 2015-01-21  Bernd Edlinger  <bernd.edlinger@hotmail.de>
8236
8237         * gimplify.c (gimplify_function_tree): Check the no_sanitize_thread
8238         decl attribute.
8239
8240 2015-01-21  David Sherwood  <david.sherwood@arm.com>
8241             Tejas Belagod <Tejas.Belagod@arm.com>
8242
8243         * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Removed.
8244         * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class): Removed.
8245         * config/aarch64/aarch64-protos.h (aarch64_cannot_change_mode_class):
8246         Removed.
8247
8248 2015-01-21  David Sherwood  <david.sherwood@arm.com>
8249             Tejas Belagod <Tejas.Belagod@arm.com>
8250
8251         * config/aarch64/aarch64-protos.h (aarch64_simd_attr_length_rglist)
8252         (aarch64_reverse_mask): New decls.
8253         * config/aarch64/iterators.md (UNSPEC_REV_REGLIST): New enum.
8254         (insn_count): New mode_attr.
8255         * config/aarch64/aarch64-simd.md (vec_store_lanesoi, vec_store_lanesci)
8256         (vec_store_lanesxi, vec_load_lanesoi, vec_load_lanesci)
8257         (vec_load_lanesxi): Made ABI compliant for Big Endian targets.
8258         (aarch64_rev_reglist, aarch64_simd_ld2, aarch64_simd_ld3)
8259         (aarch64_simd_ld4, aarch64_simd_st2, aarch64_simd_st3)
8260         (aarch64_simd_st4): New patterns.
8261         * config/aarch64/aarch64.c (aarch64_simd_attr_length_rglist)
8262         (aarch64_reverse_mask): New functions.
8263
8264 2015-01-21  Richard Sandiford  <richard.sandiford@arm.com>
8265
8266         * config/aarch64/aarch64-protos.h (aarch64_simd_disambiguate_copy):
8267         Declare.
8268         * config/aarch64/aarch64.c (aarch64_classify_address): Allow extra
8269         addressing modes for BE.
8270         (aarch64_print_operand): Add 'R' specifier.
8271         (aarch64_simd_disambiguate_copy): Delete.
8272         (aarch64_simd_emit_reg_reg_move): New function.
8273         * config/aarch64/aarch64-simd.md: Use aarch64_simd_emit_reg_reg_move
8274         in define_splits for structural moves.
8275         (mov<mode>): Use less restrictive predicates.
8276         (*aarch64_mov<mode>): Simplify and only allow for LE.
8277         (*aarch64_be_movoi, *aarch64_be_movci, *aarch64_be_movxi): New.
8278
8279 2015-01-21  Alan Hayward  <alan.hayward@arm.com>
8280
8281         * rtlanal.c (subreg_get_info): Exit early for simple and common cases.
8282
8283 2015-01-21  Richard Henderson  <rth@redhat.com>
8284
8285         PR target/64669
8286         * ccmp.c (used_in_cond_stmt_p): Remove.
8287         (expand_ccmp_expr): Don't use it.
8288
8289 2015-01-21  Nick Clifton  <nickc@redhat.com>
8290
8291         * config/rl78/rl78.c (rl78_calculate_death_notes): Look inside
8292         PARALLELs.
8293
8294 2015-01-21  Richard Biener  <rguenther@suse.de>
8295
8296         PR middle-end/64313
8297         * tree-core.h (builtin_info, builtin_info_type): Turn from
8298         an object with two arrays into an array of an object with
8299         decl and two flags, implicit_p and declared_p.
8300         * tree.h (builtin_decl_explicit, builtin_decl_implicit,
8301         set_builtin_decl, set_builtin_decl_implicit_p,
8302         builtin_decl_explicit_p, builtin_decl_implicit_p): Adjust.
8303         (set_builtin_decl_declared_p, builtin_decl_declared_p): New functions.
8304         * builtins.c (builtin_info): Adjust.
8305         * gimplify.c (gimplify_addr_expr): References to builtins
8306         that have been declared by the user makes them eligible for
8307         use by the compiler.  Call set_builtin_decl_implicit_p on them.
8308
8309 2015-01-20  Jeff Law  <law@redhat.com>
8310
8311         PR target/59946
8312         * config/m68k/m68k.md (Comparison expanders and patterns): Do not
8313         allow pc-relative addresses in operand predicates or constraints.
8314
8315 2015-01-21  Bin Cheng  <bin.cheng@arm.com>
8316
8317         * config/arm/arm.c (arm_cortex_a53_tune, arm_cortex_a57_tune): Prefer
8318         neon on aarch32 processors for stringops.
8319
8320 2015-01-19  Jan Hubicka  <hubicka@ucw.cz>
8321
8322         PR ipa/63576
8323         * ipa-utils.c (ipa_merge_profiles): Merge speculative edges.
8324
8325 2015-01-19  Jan Hubicka  <hubicka@ucw.cz>
8326
8327         PR lto/45375
8328         * ipa-inline.c: Include lto-streamer.h
8329         (report_inline_failed_reason): Output source file differences and
8330         flags on optimization/target node mismatch.
8331         (can_inline_edge_p): Consider caller to be the outer inline function;
8332         be less restrictive about matching opimize and optimize_size attributes.
8333         (inline_account_function_p): Break out from ...
8334         (inline_small_functions): ... here.
8335         * ipa-inline-transform.c (clone_inlined_nodes): Use
8336         inline_account_function_p.
8337         (inline_call): Use optimize attribution; use inline_account_function_p.
8338         (inline_transform): Use opt_for_fn.
8339         * ipa-inline.h (inline_account_function_p): Declare.
8340
8341 2015-01-20  Jakub Jelinek  <jakub@redhat.com>
8342
8343         PR debug/64663
8344         * dwarf2out.c (decl_piece_node): Don't put bitsize into
8345         mode if bitsize <= 0.
8346         (decl_piece_bitsize, adjust_piece_list, add_var_loc_to_decl,
8347         dw_sra_loc_expr): Use HOST_WIDE_INT instead of int for bit
8348         sizes and positions.
8349
8350 2015-01-20  Chung-Lin Tang  <cltang@codesourcery.com>
8351
8352         * config/nios2/nios2.c (nios2_asm_file_end): Implement
8353         TARGET_ASM_FILE_END hook for adding .note.GNU-stack section when
8354         needed.
8355         (TARGET_ASM_FILE_END): Define.
8356
8357 2015-01-20  Maxim Kuvyrkov  <maxim.kuvyrkov@linaro.org>
8358
8359         * config/arm/arm-protos.h (enum arm_sched_autopref): New constants.
8360         (struct tune_params): Use the enum.
8361         * arm.c (arm_*_tune): Update.
8362         (arm_option_override): Update.
8363
8364 2015-01-20  Richard Biener  <rguenther@suse.de>
8365
8366         PR ipa/64684
8367         * ipa-reference.c (add_static_var): Inline ...
8368         (analyze_function): ... here after splitting out from ...
8369         (is_proper_for_analysis): ... this.
8370
8371 2015-01-20  Matthew Wahab  <matthew.wahab@arm.com>
8372
8373         PR target/64149
8374         * config/arm/arm.opt: Remove lra option and arm_lra_flag variablesle.
8375         * config/arm/arm.h (MODE_BASE_REG_CLASS): Remove use of arm_lra_flagag,
8376         replace the conditional with it's true branch.
8377         * config/arm/arm.config (TARGET_LRA_P): Set to hook_bool_void_true.
8378         (arm_lra_p): Remove.
8379
8380 2015-01-20  Eric Botcazou  <ebotcazou@adacore.com>
8381
8382         * config/visium/visium.h (LIB_SPEC): Adjust in default case.
8383
8384 2015-01-20  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
8385
8386         * config/tilegx/mul-tables.c: Move symtab.h include after
8387         coretypes.h include.
8388         * config/tilepro/mul-tables.c: Add includes hashtab.h, hash-set.h,
8389         vec.h, machmode.h, tm.h, hard-reg-set.h, input.h, function.h, rtl.h,
8390         flags.h, statistics.h, double-int.h, real.h, fixed-value.h, alias.h,
8391         wide-int.h, inchash.h, tree.h, insn-config.h, expmed.h, dojump.h,
8392         explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.
8393
8394 2015-01-20  Igor Zamyatin  <igor.zamyatin@intel.com>
8395
8396         PR bootstrap/64676
8397         Revert:
8398         2015-01-19  Igor Zamyatin  <igor.zamyatin@intel.com>
8399
8400         PR rtl-optimization/64081
8401         * loop-iv.c (def_pred_latch_p): New function.
8402         (latch_dominating_def): Allow specific cases with non-single
8403         definitions.
8404         (iv_get_reaching_def): Likewise.
8405         (check_complex_exit_p): New function.
8406         (check_simple_exit): Use check_complex_exit_p to allow certain cases
8407         with exits not executing on any iteration.
8408
8409 2015-01-19  Jan Hubicka  <hubicka@ucw.cz>
8410
8411         PR lto/45375
8412         * i386.c (ix86_option_override_internal): Use ix86_tune_cost
8413         to set branch cost.
8414
8415 2015-01-19  Jan Hubicka  <hubicka@ucw.cz>
8416
8417         PR lto/45375
8418         * i386.c (gate): Check flag_expensive_optimizations and
8419         optimize_size.
8420         (ix86_option_override_internal): Drop optimize_size condition
8421         on MASK_ACCUMULATE_OUTGOING_ARGS, MASK_VZEROUPPER,
8422         MASK_AVX256_SPLIT_UNALIGNED_LOAD, MASK_AVX256_SPLIT_UNALIGNED_STORE,
8423         MASK_PREFER_AVX128.
8424         (ix86_avx256_split_vector_move_misalign,
8425         ix86_avx256_split_vector_move_misalign): Check optimize_insn_for_speed.
8426         * sse.md (all uses of TARGET_PREFER_AVX128): Add
8427         optimize_insn_for_speed_p check.
8428
8429 2015-01-19  Matthew Fortune  <matthew.fortune@imgtec.com>
8430
8431         * config/mips/mips.h (FP_ASM_SPEC): New define.
8432         (ASM_SPEC): Remove floating-point options and use FP_ASM_SPEC
8433         instead.
8434
8435 2015-01-19  Oleg Endo  <olegendo@gcc.gnu.org>
8436
8437         PR target/53988
8438         * config/sh/sh-protos.h (sh_find_set_of_reg): Make sure not to return
8439         nullptr for insn when reaching the first insn.
8440         * config/sh/sh.c (sh_unspec_insn_p): Rewrite using subrtx_iterator.
8441         (sh_insn_operands_modified_between_p): Add nullptr check.
8442         (sh_find_extending_set_of_reg): Fix log message.  Don't accept
8443         sign extending mem load if the insn contains any UNSPEC or
8444         UNSPEC_VOLATILE.
8445
8446 2015-01-19  Jan Hubicka  <hubicka@ucw.cz>
8447
8448         * params.def (inline-unit-growth): Drop to 15%.
8449         * invoke.texi (inline-unit-growth): Document change.
8450
8451 2015-01-19  Martin Liska  <mliska@suse.cz>
8452
8453         PR ipa/64668
8454         * ipa-icf-gimple.c (func_checker::compare_operand): Call proper
8455         function for second argument of OBJ_TYPE_REF.
8456
8457 2015-01-19  Jan Hubicka  <hubicka@ucw.cz>
8458
8459         PR ipa/64218
8460         * ipa-inline.c (want_inline_function_to_all_callers_p): Fix check
8461         whether function is an alias.
8462
8463 2015-01-19  Jan Hubicka  <hubicka@ucw.cz>
8464
8465         * ipa-devirt.c (ipa_devirt): Drop polymorphic call info in hopeless
8466         cases.
8467
8468 2015-01-19  Vladimir Makarov  <vmakarov@redhat.com>
8469
8470         PR rtl-optimization/64671
8471         * lra-remat.c (operand_to_remat): Don't consider jump and call
8472         insns.
8473
8474 2015-01-19  David Edelsohn  <dje.gcc@gmail.com>
8475
8476         PR target/59828
8477         * config/rs6000/default64.h: Include rs6000-cpus.def.
8478         (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use ISA 2.7 (POWER8).
8479         (TARGET_DEFAULT) [BIG_ENDIAN]: Use POWER4.
8480         * config/rs6000/driver-rs6000.c (detect_processor_aix): Add POWER7
8481         and POWER8.
8482         * config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Always default to
8483         POWER8.
8484         * config/rs6000/rs6000.c (rs6000_file_start): Emit .machine
8485         pseudo-op to specify assembler dialect.
8486
8487 2015-01-19  Martin Liska  <mliska@suse.cz>
8488
8489         PR ipa/64664
8490         * ipa-icf.c (sem_item_optimizer::filter_removed_items):
8491         Handle safe potentially removed nodes during filtering.
8492
8493 2015-01-19  Martin Liska  <mliska@suse.cz>
8494
8495         * doc/extend.texi (no_icf): Add new attribute description.
8496         * ipa-icf.c (sem_item_optimizer::merge_classes): Handle cases
8497         where the pass attempts to merge a function with no_icf attribute.
8498
8499 2015-01-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
8500
8501         PR target/64532
8502         * doc/md.texi (ARM Options): Document register constraints.
8503
8504 2015-01-19  Jiong Wang  <jiong.wang@arm.com>
8505             Andrew Pinski  <apinski@cavium.com>
8506
8507         PR target/64304
8508         * config/aarch64/aarch64.md (define_insn "*ashl<mode>3_insn"): Deleted.
8509         (ashl<mode>3): Don't expand if operands[2] is not constant.
8510
8511 2015-01-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
8512
8513         PR target/64448
8514         * config/aarch64/aarch64-simd.md (aarch64_simd_bsl<mode>_internal):
8515         Match xor-and-xor RTL pattern.
8516
8517 2015-01-19  Igor Zamyatin  <igor.zamyatin@intel.com>
8518
8519         PR rtl-optimization/64081
8520         * loop-iv.c (def_pred_latch_p): New function.
8521         (latch_dominating_def): Allow specific cases with non-single
8522         definitions.
8523         (iv_get_reaching_def): Likewise.
8524         (check_complex_exit_p): New function.
8525         (check_simple_exit): Use check_complex_exit_p to allow certain cases
8526         with exits not executing on any iteration.
8527
8528 2015-01-19  Jakub Jelinek  <jakub@redhat.com>
8529
8530         * common.opt (fgraphite): Fix a typo.
8531
8532 2015-01-19  Felix Yang  <felix.yang@huawei.com>
8533
8534         * config/aarch64/aarch64-simd.md (aarch64_<maxmin_uns>p<mode>): New
8535         pattern.
8536         * config/aarch64/aarch64-simd-builtins.def (smaxp, sminp, umaxp,
8537         uminp, smax_nanp, smin_nanp): New builtins.
8538         * config/aarch64/arm_neon.h (vpmax_s8, vpmax_s16, vpmax_s32,
8539         vpmax_u8, vpmax_u16, vpmax_u32, vpmaxq_s8, vpmaxq_s16, vpmaxq_s32,
8540         vpmaxq_u8, vpmaxq_u16, vpmaxq_u32, vpmax_f32, vpmaxq_f32, vpmaxq_f64,
8541         vpmaxqd_f64, vpmaxs_f32, vpmaxnm_f32, vpmaxnmq_f32, vpmaxnmq_f64,
8542         vpmaxnmqd_f64, vpmaxnms_f32, vpmin_s8, vpmin_s16, vpmin_s32, vpmin_u8,
8543         vpmin_u16, vpmin_u32, vpminq_s8, vpminq_s16, vpminq_s32, vpminq_u8,
8544         vpminq_u16, vpminq_u32, vpmin_f32, vpminq_f32, vpminq_f64, vpminqd_f64,
8545         vpmins_f32, vpminnm_f32, vpminnmq_f32, vpminnmq_f64, vpminnmqd_f64,
8546         vpminnms_f32): Rewrite using builtin functions.
8547
8548 2015-01-19  Thomas Schwinge  <thomas@codesourcery.com>
8549
8550         PR libgomp/64625
8551         * omp-low.c (offload_symbol_decl): Remove variable.
8552         (get_offload_symbol_decl): Remove function.
8553         (expand_omp_target): For BUILT_IN_GOMP_TARGET,
8554         BUILT_IN_GOMP_TARGET_DATA, BUILT_IN_GOMP_TARGET_UPDATE pass NULL
8555         instead of &__OFFLOAD_TABLE__, for BUILT_IN_GOACC_DATA_START,
8556         BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL,
8557         BUILT_IN_GOACC_UPDATE don't pass it at all.
8558
8559 2015-01-19  Ilya Enkovich  <ilya.enkovich@intel.com>
8560
8561         * tree-sra.c (some_callers_have_mismatched_arguments_p): Allow thunk
8562         callers.
8563
8564 2015-01-19  Ilya Enkovich  <ilya.enkovich@intel.com>
8565
8566         * ipa-chkp.c (chkp_produce_thunks): Add early param
8567         to split thunks production into two passes.  Keep
8568         'always_inline' function bodies after the first pass.
8569         (pass_data_ipa_chkp_early_produce_thunks): New.
8570         (pass_ipa_chkp_early_produce_thunks): New.
8571         (pass_ipa_chkp_produce_thunks::execute): Adjust to new
8572         chkp_produce_thunks signature.
8573         (make_pass_ipa_chkp_early_produce_thunks): New.
8574         * passes.def (pass_ipa_chkp_early_produce_thunks): New.
8575         (pass_ipa_chkp_produce_thunks): Move after local optimizations.
8576         * tree-pass.h (make_pass_ipa_chkp_early_produce_thunks): New.
8577
8578 2015-01-18  Jan Hubicka  <hubicka@ucw.cz>
8579
8580         * cgraph.c (cgraph_node::dump): Dump profile flags.
8581
8582 2015-01-18  Oleg Endo  <olegendo@gcc.gnu.org>
8583
8584         PR target/64652
8585         * config/sh/sh.md (udivsi3_i4, divsi3_i4): Make use of sfunc address
8586         reg appear first in the parallel.
8587
8588 2015-01-18  Jan Hubicka  <hubicka@ucw.cz>
8589
8590         * ipa-reference.c (set_reference_optimization_summary,
8591         ipa_reference_get_not_written_global): Do nothing if ipa-reference is
8592         disabled.
8593         (ignore_module_statics): New static var.
8594         (propagate_bits): If ipa-reference is disabled, do not look into local
8595         properties.
8596         (analyze_function): Disable analysis when ipa_reference is disabled.
8597         (generate_summary): Do not dump when reference is disabled;
8598         collect vars accessed from functions with ipa-reference disabled.
8599         (get_read_write_all_from_node): When ipa-reference is disabled, use the
8600         node flags.
8601         (gate): Enable for LTO.
8602         (ignore_edge_p): New function.
8603         (propagate): Skip functions w/o ipa-reference analysis.
8604         * optc-save-gen.awk: Handle optimize_debug correctly.
8605         * opth-gen.awk: Likewise.
8606         * common.opt (fauto-inc-dec, fdelete-dead-exceptions, ffunction-cse,
8607         fgraphite, fstrict-volatile-bitfields, fira-algorithm, fira-region,
8608         fira-share-save-slots, fira-share-spill-slots,
8609         fmodulo-sched-allow-regmoves, fpartial-inlining,
8610         sched-stalled-insns, fsched-stalled-insns-dep, fstrict-overflow,
8611         ftracer, ftree-parallelize-loops, fassociative-math,
8612         freciprocal-math, fvect-cost-model, fsimd-cost-model): Mark as
8613         Optimization
8614         (fauto-profile, fcommon, fdata-sections, fipa-icf-variables,
8615         ftoplevel-reorder, funit-at-a-time, fwhole-program): Do not mark as
8616         Optimization.
8617         * ipa-icf.c (gate, sem_item_optimizer::filter_removed_items):
8618         Fix for IPA.
8619
8620 2015-01-18  Jan Hubicka  <hubicka@ucw.cz>
8621
8622         PR ipa/64378
8623         * ipa-prop.c (try_make_edge_direct_virtual_call): Clear speculative
8624         flag correctly.
8625         * ipa-cp.c (ipa_get_indirect_edge_target_1): Handle speculation.
8626
8627 2015-01-18  Sandra Loosemore  <sandra@codesourcery.com>
8628
8629         * doc/invoke.texi ([-funroll-loops], [-funroll-all-loops]):
8630         Remove duplicate option listings.
8631
8632 2015-01-18  Felix Yang  <felix.yang@huawei.com>
8633
8634         * auto-profile.c (afdo_find_equiv_class): Remove unnecessary test.
8635         (autofdo_source_profile::get_callsite_total_count,
8636         function_instance::get_function_instance_by_decl,
8637         string_table::get_index, string_table::get_index_by_decl,
8638         afdo_vpt_for_early_inline, afdo_callsite_hot_enough_for_early_inline):
8639         Fix comment typos. Reformatting and minor code rearrangement.
8640
8641 2015-01-17  Segher Boessenkool  <segher@kernel.crashing.org>
8642
8643         * config/rs6000/rs6000.md (probe_stack): Delete.
8644         (probe_stack_address): New.
8645
8646 2015-01-17  Segher Boessenkool  <segher@kernel.crashing.org>
8647
8648         * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Use TARGET_32BIT
8649         to test for 32-bit ABIs, not !TARGET_POWERPC64.
8650
8651 2015-01-17  Segher Boessenkool  <segher@kernel.crashing.org>
8652
8653         * config/rs6000/rs6000.c (rs6000_parallel_return): New function.
8654         (rs6000_function_value): Use it.  Handle SCmode and TCmode as well,
8655         for TARGET_32BIT && TARGET_POWERPC64.  Fix another BITS_PER_WORD
8656         snafu.
8657         (rs6000_libcall_value): Use the new function.
8658
8659 2015-01-17  Sandra Loosemore  <sandra@codesourcery.com>
8660
8661         * doc/invoke.texi ([-ftracer]): Remove duplicate option listing.
8662
8663 2015-01-17  Eric Botcazou  <ebotcazou@adacore.com>
8664
8665         * reorg.c (fill_simple_delay_slots): If TARGET_FLAGS_REGNUM is valid,
8666         implement a more precise life analysis for it during backward scan.
8667
8668 2015-01-17  Jan Kratochvil  <jan.kratochvil@redhat.com>
8669
8670         * dwarf2out.c (gen_producer_string): Ignore also OPT_fpreprocessed.
8671
8672 2015-01-17  Bernd Schmidt  <bernds@codesourcery.com>
8673
8674         PR rtl-optimization/52773
8675         * calls.c (emit_library_call_value): When pushing arguments use
8676         stack_pointer_rtx rather than virtual_outgoing_args_rtx in
8677         CALL_INSN_FUNCTION_USAGE.  Only emit one of use of the magic
8678         stack pointer reference into CALL_INSN_FUNCTION_USAGE.
8679
8680 2015-01-17  Jeff Law  <law@redhat.com>
8681
8682         PR rtl-optimization/32790
8683         * reginfo.c (reg_scan_mark_refs): Look for ZERO_EXTRACT,
8684         not ZERO_EXTEND in SET_DESTs.
8685
8686 2015-01-17  Alan Modra  <amodra@gmail.com>
8687
8688         * cprop.c (do_local_cprop): Revert last change.
8689
8690 2015-01-16  DJ Delorie  <dj@redhat.com>
8691             Nick Clifton  <nickc@redhat.com>
8692
8693         * config/rl78/rl78-real.md (addqi3_real): Allow volatiles.
8694         (addhi3_real): Likewise.  Fix [HL+0] syntax.
8695         (subqi3_real): Likewise.
8696         (subhi3_real): Likewise.
8697         (cbranchqi4_real): Likewise.  Allow saddr,#imm.
8698         (cbranchhi4_real): Likewise.
8699         (cbranchhi4_real_inverted): Likewise.
8700         (cbranchsi4_real_lt): Likewise.
8701         (cbranchsi4_real_ge): Likewise.
8702         (cbranchsi4_real_ge): Likewise.
8703         * config/rl78/rl78-virt.md (add<mode>3_virt): Likewise.
8704         (sub<mode>3_virt): Likewise.
8705         (cbranchqi4_virt): Likewise.
8706         (cbranchhi4_virt): Likewise.
8707         * config/rl78/rl78.c (rl78_print_operand_1): 'p' modifier means
8708         always use '[reg+imm]' even when imm is zero.
8709         * config/rl78/predicates.md (rl78_volatile_memory_operand): New.
8710         (rl78_general_operand): New.
8711         (rl78_nonimmediate_operand): New.
8712         (rl78_nonfar_operand): Use them.
8713         (rl78_nonfar_nonimm_operand): Likewise.
8714         (rl78_stack_based_mem): Fix.
8715         * config/rl78/constraints.md (Ibqi): New.
8716         (IBqi): New.
8717         (Wsa): New.
8718         (Wsf): New.
8719         (Cs1): Fix.
8720         * config/rl78/rl78-expand.md (andqi3): Accept volatiles.
8721         (iorqi3): Likewise.
8722         (xorqi3): Likewise.
8723         * config/rl78/rl78-protos.h (rl78_sfr_p): New.
8724
8725         * config/rl78/constrains (Qs8): New constraint.
8726         * config/rl78/rl78.c (rl78_flags_already_set): New function.
8727         * config/rl78/rl78-protos.h (rl78_flags_already_set): New prototype.
8728         * config/rl78/rl78-real.md (update_Z): New attribute.
8729         Update patterns to set it.
8730         (cbranchqi4_real): Call rl78_flags_already_set() to determine if a
8731         shorter compare and branch sequence can be used.
8732         (cbranchhi4_real): Likewise.
8733         (cbranchhi4_real_inverted): Likewise.
8734
8735         * config/rl78/predicates.md (uword_operand): Allow symbol_refs.
8736         * config/rl78/rl78-c.c (rl78_register_pragmas): Register __near
8737         address space.
8738         * config/rl78/rl78.c (rl78_get_name_encoding): New.
8739         (rl78_option_override): Allow -mes0 only if C.
8740         (characterize_address): Support subregs of symbol_refs.
8741         (rl78_addr_space_address_mode): Move.  Add __near.
8742         (rl78_far_p): Likewise.
8743         (rl78_addr_space_pointer_mode): Likewise.
8744         (rl78_as_legitimate_address): Likewise.
8745         (rl78_addr_space_subset_p): Likewise.
8746         (rl78_addr_space_convert): Likewise.
8747         (rl78_print_operand_1): Support 16-bit addressing of 32-bit
8748         symbols with -mes0.
8749         (transcode_memory_rtx): Don't copy ES if -mes0.  Allow symbol[BC]
8750         addressing.
8751         (rl78_alloc_physical_registers_op1): Change logic to prefer
8752         symbol[BC] addressing.
8753         (frodata_section): New.
8754         (rl78_asm_init_sections): Initialize it.
8755         (rl78_select_section): Put __far readonly symbols in .frodata.
8756         (rl78_make_type_far): New.
8757         (rl78_insert_attributes): Force all readonly symbols to be
8758         __far when -mes0.
8759         (rl78_asm_out_integer): New.
8760         * config/rl78/rl78.h (ADDR_SPACE_NEAR): New.
8761         * config/rl78/rl78.opt (-mes0): New.
8762
8763         * config/rl78/rl78.h (ASM_OUTPUT_LABELREF): New.
8764         (ASM_OUTPUT_ALIGNED_DECL_COMMON): New.
8765         (ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
8766         * config/rl78/rl78-protos.h (rl78_output_labelref): New.
8767         (rl78_saddr_p): New.
8768         (rl78_output_aligned_common): New.
8769         * config/rl78/rl78.c (rl78_output_symbol_ref): Strip encodings.
8770         (rl78_handle_saddr_attribute): New.
8771         (rl78_handle_naked_attribute): New.
8772         (rl78_attribute_table): Add saddr.
8773         (rl78_print_operand_1): Don't print '!' on saddr operands.
8774         (rl78_print_operand_1): Strip encodings.
8775         (rl78_sfr_p): New.
8776         (rl78_strip_name_encoding): New.
8777         (rl78_attrlist_to_encoding): New.
8778         (rl78_encode_section_info): New.
8779         (rl78_asm_init_sections): New.
8780         (rl78_select_section): New.
8781         (rl78_output_labelref): New.
8782         (rl78_output_aligned_common): New.
8783         (rl78_asm_out_integer): New.
8784         (rl78_asm_ctor_dtor): New.
8785         (rl78_asm_constructor): New.
8786         (rl78_asm_destructor): New.
8787
8788         * config/rl78/rl78-real.md (movqi_es): Rename to movqi_to_es.
8789         * config/rl78/rl78.c (rl78_expand_epilogue): Update.
8790         (transcode_memory_rtx): Update.
8791         (rl78_expand_epilogue): Use A_REG instead of 0.
8792
8793 2015-01-17  Maxim Kuvyrkov  <maxim.kuvyrkov@linaro.org>
8794
8795         * config/arm/arm-protos.h (struct tune_params): New field
8796         sched_autopref_queue_depth.
8797         * config/arm/arm.c (sched-int.h): Include header.
8798         (arm_first_cycle_multipass_dfa_lookahead_guard,)
8799         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): Define hook.
8800         (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,)
8801         (arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,)
8802         (arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,)
8803         (arm_cortex_a53_tune, arm_cortex_a57_tune, arm_xgene1_tune,)
8804         (arm_cortex_a5_tune, arm_cortex_a9_tune, arm_cortex_a12_tune,)
8805         (arm_v7m_tune, arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune):
8806         Specify sched_autopref_queue_depth value.  Enabled for A15 and A57.
8807         * config/arm/t-arm (arm.o): Update.
8808         * haifa-sched.c (update_insn_after_change): Update.
8809         (rank_for_schedule): Use auto-prefetcher model, if requested.
8810         (autopref_multipass_init): New static function.
8811         (autopref_rank_for_schedule): New rank_for_schedule heuristic.
8812         (autopref_multipass_dfa_lookahead_guard_started_dump_p): New static
8813         variable for debug dumps.
8814         (autopref_multipass_dfa_lookahead_guard_1): New static helper function.
8815         (autopref_multipass_dfa_lookahead_guard): New global function that
8816         implements TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD hook.
8817         (init_h_i_d): Update.
8818         * params.def (PARAM_SCHED_AUTOPREF_QUEUE_DEPTH): New tuning knob.
8819         * sched-int.h (enum autopref_multipass_data_status): New const enum.
8820         (autopref_multipass_data_): Structure for auto-prefetcher data.
8821         (autopref_multipass_data_def, autopref_multipass_data_t): New typedefs.
8822         (struct _haifa_insn_data:autopref_multipass_data): New field.
8823         (INSN_AUTOPREF_MULTIPASS_DATA): New access macro.
8824         (autopref_multipass_dfa_lookahead_guard): Declare.
8825
8826 2015-01-17  Maxim Kuvyrkov  <maxim.kuvyrkov@linaro.org>
8827
8828         * rtlanal.c (get_base_term): Handle SCRATCH.
8829
8830 2015-01-17  Maxim Kuvyrkov  <maxim.kuvyrkov@linaro.org>
8831
8832         * config/aarch64/aarch64.c
8833         (aarch64_sched_first_cycle_multipass_dfa_lookahead): Implement hook.
8834         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
8835         * config/arm/arm.c
8836         (arm_first_cycle_multipass_dfa_lookahead): Implement hook.
8837         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
8838
8839 2015-01-17  Alan Modra  <amodra@gmail.com>
8840
8841         * cprop.c (do_local_cprop): Disallow replacement of fixed
8842         hard registers.
8843
8844 2015-01-16  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
8845
8846         PR target/62066
8847         * config/arm/arm-builtins.c (arm_expand_neon_args): Call va_end before
8848         early return 0.
8849
8850 2015-01-16  Bernd Edlinger  <bernd.edlinger@hotmail.de>
8851
8852         * sanitizer.def (BUILT_IN_TSAN_VPTR_UPDATE): Fixed parameters.
8853         * tsan.c (instrument_expr): Fixed parameters of __tsan_vptr_update.
8854
8855 2015-01-16  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
8856
8857         * config/arm/arm.md: Move comment about splitting Thumb1 patterns to...
8858         * config/arm/thumb1.md: ... Here.
8859
8860 2015-01-16  Segher Boessenkool  <segher@kernel.crashing.org>
8861
8862         * config/rs6000/rs6000.c (rs6000_scalar_mode_supported_p): Disallow
8863         TImode for TARGET_32BIT.
8864
8865 2015-01-16  Segher Boessenkool  <segher@kernel.crashing.org>
8866
8867         * config/rs6000/rs6000.c (TARGET_LIBGCC_CMP_RETURN_MODE,
8868         TARGET_LIBGCC_SHIFT_COUNT_MODE, TARGET_UNWIND_WORD_MODE): Implement
8869         as ...
8870         (rs6000_abi_word_mode): New function.
8871
8872 2015-01-16  Segher Boessenkool  <segher@kernel.crashing.org>
8873
8874         * config/rs6000/rs6000.c (rs6000_va_start): Use MIN_UNITS_PER_WORD
8875         instead of UNITS_PER_WORD to describe the size of stack slots.
8876
8877 2015-01-16  Segher Boessenkool  <segher@kernel.crashing.org>
8878
8879         * config/rs6000/rs6000.c (TARGET_PROMOTE_FUNCTION_MODE): Implement
8880         as rs6000_promote_function_mode.  Move comment to there.
8881         (rs6000_promote_function_mode): New function.
8882
8883 2015-01-16  Segher Boessenkool  <segher@kernel.crashing.org>
8884
8885         * config/rs6000/rs6000.h (PROMOTE_MODE): Correct test for when -m32
8886         -mpowerpc64 is active.
8887
8888 2015-01-16  Ilya Enkovich  <ilya.enkovich@intel.com>
8889
8890         PR middle-end/64353
8891         * tree-cfg.c (pass_data_fixup_cfg): Update SSA for
8892         virtuals on start.
8893
8894 2015-01-16  James Greenhalgh  <james.greenhalgh@arm.com>
8895
8896         * config/arm/cortex-a57.md: Remove duplicate of file accidentally
8897         introduced in revision 219724.
8898
8899 2015-01-16  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
8900             Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
8901
8902         PR target/64263
8903         * config/aarch64/aarch64.md (*movsi_aarch64): Don't split if the
8904         destination is not a GP reg.
8905         (*movdi_aarch64): Likewise.
8906
8907 2015-01-16  David Edelsohn  <dje.gcc@gmail.com>
8908
8909         PR target/64623
8910         * config/rs6000/default64.h: Revert ISA change.
8911
8912 2015-01-16  Richard Biener  <rguenther@suse.de>
8913
8914         PR middle-end/64614
8915         * tree-ssa-uninit.c: Include tree-cfg.h.
8916         (MAX_SWITCH_CASES): New define.
8917         (convert_control_dep_chain_into_preds): Handle switch statements.
8918         (is_pred_expr_subset_of): Handle x == CST vs. (x & CST) != 0.
8919         (normalize_one_pred_1): Do not split bit-manipulations.
8920         Record (x & CST).
8921
8922 2015-01-16  Richard Biener  <rguenther@suse.de>
8923
8924         PR tree-optimization/64568
8925         * tree-ssa-forwprop.c (pass_forwprop::execute): Guard
8926         complex load rewriting for TARGET_MEM_REFs.
8927
8928 2015-01-16  Uros Bizjak  <ubizjak@gmail.com>
8929
8930         * builtins.c (expand_builtin_acc_on_device): Check target for NULL.
8931
8932 2015-01-16  Matthew Wahab  <matthew.wahab@arm.com>
8933
8934         PR target/64149
8935         * config/aarch64/aarch64.opt: Remove lra option and aarch64_lra_flag
8936         variable.
8937         * config/aarch64/aarch64.c (TARGET_LRA_P): Set to hook_bool_void_true.
8938         (aarch64_lra_p): Remove.
8939
8940 2015-01-16  Ilya Enkovich  <ilya.enkovich@intel.com>
8941
8942         PR target/64363
8943         * ipa-chkp.h (chkp_instrumentable_p): New.
8944         * ipa-chkp.c: Include tree-inline.h.
8945         (chkp_instrumentable_p): New.
8946         (chkp_maybe_create_clone): Use chkp_instrumentable_p.
8947         Fix processing of not instrumentable functions.
8948         (chkp_versioning): Use chkp_instrumentable_p. Warn about
8949         not instrumentable functions.
8950         * tree-chkp.c (chkp_add_bounds_to_call_stmt): Use
8951         chkp_instrumentable_p.
8952         * tree-inline.h (copy_forbidden): New.
8953         * tree-inline.c (copy_forbidden): Not static anymore.
8954
8955 2015-01-16  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8956
8957         * optc-save-gen.awk (cl_target_option_print_diff): Mark indent,
8958         ptr1, ptr2 unused.
8959
8960 2015-01-16  Robert Suchanek  <robert.suchanek@imgtec.com>
8961
8962         * lra-constraints.c (curr_insn_transform): Change a reload pseudo of
8963         type OP_OUT to OP_INOUT.
8964
8965 2015-01-16  Robert Suchanek  <robert.suchanek@imgtec.com>
8966
8967         * simplify-rtx.c (simplify_replace_fn_rtx): Simplify (lo_sum
8968         (high x) y) to y if x and y have the same base.
8969
8970 2015-01-16  James Greenhalgh  <james.greenhalgh@arm.com>
8971
8972         * config/arm/cortex-a57.md: New.
8973         * config/aarch64/aarch64.md: Include it.
8974         * config/aarch64/aarch64-cores.def (cortex-a57): Tune for it.
8975         * config/aarch64/aarch64-tune.md: Regenerate.
8976
8977 2015-01-16  Zhenqiang Chen  <zhenqiang.chen@arm.com>
8978
8979         PR target/64015
8980         * ccmp.c (expand_ccmp_next): New function.
8981         (expand_ccmp_expr_1, expand_ccmp_expr): Handle operand insn sequence
8982         and compare insn sequence.
8983         * config/aarch64/aarch64.c (aarch64_code_to_ccmode,
8984         aarch64_gen_ccmp_first, aarch64_gen_ccmp_next): New functions.
8985         (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): New MICRO.
8986         * config/aarch64/aarch64.md (*ccmp_and): Changed to ccmp_and<mode>.
8987         (*ccmp_ior): Changed to ccmp_ior<mode>.
8988         (cmp<mode>): New pattern.
8989         * doc/tm.texi (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): Update
8990         parameters.
8991         * target.def (gen_ccmp_first, gen_ccmp_next): Update parameters.
8992
8993 2015-01-16  Ilya Tocar  <ilya.tocar@intel.com>
8994
8995         * config/i386/avx2intrin.h (_mm256_bslli_epi128,
8996         _mm256_bsrli_epi128): New.
8997         * config/i386/emmintrin.h (_mm_bsrli_si128, _mm_bslli_si128): Ditto.
8998
8999 2015-01-15  Jiong Wang  <jiong.wang@arm.com>
9000
9001         * expmed.c (store_bit_field_using_insv): Improve warning message.
9002         Use %wu instead of HOST_WIDE_INT_PRINT_UNSIGNED.
9003
9004 2015-01-15  Jiong Wang  <jiong.wang@arm.com>
9005
9006         PR rtl-optimization/64011
9007         * expmed.c (store_bit_field_using_insv): Warn and truncate bitsize when
9008         there is partial overflow.
9009
9010 2015-01-16  Chung-Ju Wu  <jasonwucj@gmail.com>
9011
9012         * config/nds32/nds32-protos.h (nds32_expand_epilogue): Change
9013         prototype.
9014         (nds32_expand_epilogue_v3pop): Likewise.
9015         * config/nds32/nds32.md (sibcall): Define this for sibling call
9016         optimization.
9017         (sibcall_register): Likewise.
9018         (sibcall_immediate): Likewise.
9019         (sibcall_value): Likewise.
9020         (sibcall_value_register): Likewise.
9021         (sibcall_value_immediate): Likewise.
9022         (sibcall_epilogue): Likewise.
9023         (epilogue): Pass false to indicate this is not a sibcall epilogue.
9024         * config/nds32/nds32.c (nds32_expand_epilogue): Consider sibcall case.
9025         (nds32_expand_epilogue_v3pop): Likewise.
9026
9027 2015-01-16  Chung-Ju Wu  <jasonwucj@gmail.com>
9028
9029         * config/nds32/nds32-protos.h (nds32_can_use_return_insn): New.
9030         * config/nds32/nds32.md (unspec_volatile_func_return): Remove.
9031         (return_internal): New.
9032         (return): Define this named pattern.
9033         (simple_return): Define this named pattern.
9034         * config/nds32/nds32.c (nds32_expand_epilogue): Emit return_internal
9035         pattern instead of unspec_volatile_func_return.
9036         (nds32_expand_epilogue_v3pop): Likewise.
9037         (nds32_can_use_return_insn): New function.
9038
9039 2015-01-16  Chung-Ju Wu  <jasonwucj@gmail.com>
9040
9041         * config/nds32/constants.md (UNSPEC_VOLATILE_POP25_RETURN): New.
9042         * config/nds32/nds32.md (pop25return): New.
9043         * config/nds32/nds32.c (nds32_expand_epilogue_v3pop): Emit
9044         pop25return pattern.
9045
9046 2015-01-16  Chung-Ju Wu  <jasonwucj@gmail.com>
9047
9048         * doc/invoke.texi (NDS32 Options): Remove -mforce-fp-as-gp,
9049         -mforbid-fp-as-gp, and -mex9 options.
9050
9051 2015-01-16  Chung-Ju Wu  <jasonwucj@gmail.com>
9052
9053         * doc/invoke.texi (NDS32 Options): Add -mcmodel= option and
9054         remove -mgp-direct option.
9055
9056 2015-01-15  Jan Hubicka  <hubicka@ucw.cz>
9057
9058         * doc/invoke.texi (--param early-inlining-insns): Update default value.
9059         * params.def (PARAM_EARLY_INLINING_INSNS): Set to 14.
9060
9061 2015-01-15  Jan Hubicka  <hubicka@ucw.cz>
9062
9063         * ipa-inline.c (inline_small_functions): Work around hints
9064         cache issue.
9065
9066 2015-01-15  Sandra Loosemore  <sandra@codesourcery.com>
9067
9068         PR target/59710
9069         * doc/invoke.texi (Option Summary): Document new Nios II
9070         -mgpopt= syntax.
9071         (Nios II Options): Likewise.
9072         * config/nios2/nios2.opt: Add -mgpopt= option support.
9073         Modify existing -mgpopt and -mno-gpopt options to be aliases.
9074         * config/nios2/nios2-opts.h (enum nios2_gpopt_type): New.
9075         * config/nios2/nios2.c (nios2_option_override): Adjust
9076         -mgpopt defaulting.
9077         (nios2_in_small_data_p): Return true for explicit small data
9078         sections even with -G0.
9079         (nios2_symbol_ref_in_small_data_p): Adjust to handle new -mgpopt=
9080         option choices.
9081
9082 2015-01-15  Jan Hubicka  <hubicka@ucw.cz>
9083
9084         PR ipa/64612
9085         * ipa-inline-transform.c (can_remove_node_now_p): Fix handling
9086         of comdat locals.
9087         (inline_call): Fix removal of aliases.
9088
9089 2015-01-15  Jakub Jelinek  <jakub@redhat.com>
9090
9091         * flag-types.h (enum sanitize_code): Add SANITIZE_VPTR,
9092         include SANITIZE_VPTR in SANITIZE_UNDEFINED.
9093         * opts.c (common_handle_option): Add -fsanitize=vptr.
9094         * sanitizer.def (BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS,
9095         BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS_ABORT): New.
9096         * ubsan.h (enum ubsan_null_ckind): Add UBSAN_DOWNCAST_POINTER,
9097         UBSAN_DOWNCAST_REFERENCE, UBSAN_UPCAST and UBSAN_CAST_TO_VBASE.
9098         (ubsan_expand_vptr_ifn): New prototype.
9099         * internal-fn.c (expand_ANNOTATE, expand_GOMP_SIMD_LANE,
9100         expand_GOMP_SIMD_VF, expand_GOMP_SIMD_LAST_LANE, expand_UBSAN_NULL,
9101         expand_UBSAN_BOUNDS, expand_UBSAN_OBJECT_SIZE, expand_ASAN_CHECK,
9102         expand_LOOP_VECTORIZED): Make argument nameless, remove
9103         ATTRIBUTE_UNUSED.
9104         (expand_UBSAN_VPTR): New function.
9105         * internal-fn.def (UBSAN_NULL, ASAN_CHECK): Use R instead of W
9106         in fn spec.
9107         (UBSAN_VPTR): New internal function.
9108         * sanopt.c (tree_map_traits): Renamed to ...
9109         (sanopt_tree_map_traits): ... this.
9110         (sanopt_tree_triplet, sanopt_tree_triplet_map_traits): New classes.
9111         (sanopt_ctx): Adjust asan_check_map type for tree_map_traits
9112         to sanopt_tree_map_traits renaming.  Add vptr_check_map field.
9113         (maybe_optimize_ubsan_vptr_ifn): New function.
9114         (sanopt_optimize_walker): Handle IFN_UBSAN_VPTR.
9115         (pass_sanopt::execute): Likewise.  Call sanopt_optimize even for
9116         -fsanitize=vptr.
9117         * tree-ssa-alias.c (call_may_clobber_ref_p_1): Handle certain
9118         internal calls like pure functions for aliasing, even when they
9119         have other side-effects that prevent making them ECF_PURE.
9120         * ubsan.c (ubsan_vptr_type_cache_decl): New variable.
9121         (ubsan_expand_vptr_ifn): New function.
9122
9123 2015-01-15  Vladimir Makarov  <vmakarov@redhat.com>
9124
9125         PR rtl-optimization/64110
9126         * stmt.c (parse_output_constraint): Process '^' and '$'.
9127         (parse_input_constraint): Ditto.
9128         * lra-constraints.c (process_alt_operands): Process the new
9129         constraints.
9130         * ira-costs.c (record_reg_classes): Process the new constraint
9131         '^'.
9132         * genoutput.c (indep_constraints): Add '^' and '$'.
9133         * config/i386/sse.md (*vec_dup<mode>): Use '$' instead of '!'.
9134         * doc/md.texi: Add description of the new constraints.
9135
9136 2015-01-15  Thomas Schwinge  <thomas@codesourcery.com>
9137             Bernd Schmidt  <bernds@codesourcery.com>
9138             Cesar Philippidis  <cesar@codesourcery.com>
9139             James Norris  <jnorris@codesourcery.com>
9140             Tom de Vries  <tom@codesourcery.com>
9141             Ilmir Usmanov  <i.usmanov@samsung.com>
9142             Dmitry Bocharnikov  <dmitry.b@samsung.com>
9143             Evgeny Gavrin  <e.gavrin@samsung.com>
9144             Jakub Jelinek  <jakub@redhat.com>
9145
9146         * builtin-types.def (BT_FN_VOID_INT_INT_VAR)
9147         (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
9148         (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
9149         New function types.
9150         * builtins.c: Include "gomp-constants.h".
9151         (expand_builtin_acc_on_device): New function.
9152         (expand_builtin, is_inexpensive_builtin): Handle
9153         BUILT_IN_ACC_ON_DEVICE.
9154         * builtins.def (DEF_GOACC_BUILTIN, DEF_GOACC_BUILTIN_COMPILER):
9155         New macros.
9156         * cgraph.c (cgraph_node::create): Consider flag_openacc next to
9157         flag_openmp.
9158         * config.gcc <nvptx-*> (tm_file): Add nvptx/offload.h.
9159         <*-intelmic-* | *-intelmicemul-*> (tm_file): Add
9160         i386/intelmic-offload.h.
9161         * gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): For -fopenacc, link
9162         to libgomp and its dependencies.
9163         * config/arc/arc.h (LINK_COMMAND_SPEC): Likewise.
9164         * config/darwin.h (LINK_COMMAND_SPEC_A): Likewise.
9165         * config/i386/mingw32.h (GOMP_SELF_SPECS): Likewise.
9166         * config/ia64/hpux.h (LIB_SPEC): Likewise.
9167         * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
9168         * config/pa/pa64-hpux.h (LIB_SPEC): Likewise.
9169         * doc/generic.texi: Update for OpenACC changes.
9170         * doc/gimple.texi: Likewise.
9171         * doc/invoke.texi: Likewise.
9172         * doc/sourcebuild.texi: Likewise.
9173         * gimple-pretty-print.c (dump_gimple_omp_for): Handle
9174         GF_OMP_FOR_KIND_OACC_LOOP.
9175         (dump_gimple_omp_target): Handle GF_OMP_TARGET_KIND_OACC_KERNELS,
9176         GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_DATA,
9177         GF_OMP_TARGET_KIND_OACC_UPDATE,
9178         GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
9179         Dump more data.
9180         * gimple.c: Update comments for OpenACC changes.
9181         * gimple.def: Likewise.
9182         * gimple.h: Likewise.
9183         (enum gf_mask): Add GF_OMP_FOR_KIND_OACC_LOOP,
9184         GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
9185         GF_OMP_TARGET_KIND_OACC_DATA, GF_OMP_TARGET_KIND_OACC_UPDATE,
9186         GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
9187         (gimple_omp_for_cond, gimple_omp_for_set_cond): Sort in the
9188         appropriate place.
9189         (is_gimple_omp_oacc, is_gimple_omp_offloaded): New functions.
9190         * gimplify.c: Include "gomp-constants.h".
9191         Update comments for OpenACC changes.
9192         (is_gimple_stmt): Handle OACC_PARALLEL, OACC_KERNELS, OACC_DATA,
9193         OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE, OACC_ENTER_DATA,
9194         OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
9195         (gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses): Handle
9196         OMP_CLAUSE__CACHE_, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
9197         OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
9198         OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER,
9199         OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
9200         OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_INDEPENDENT, OMP_CLAUSE_AUTO,
9201         OMP_CLAUSE_SEQ.
9202         (gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses): Use
9203         GOMP_MAP_* instead of OMP_CLAUSE_MAP_*.  Use
9204         OMP_CLAUSE_SET_MAP_KIND.
9205         (gimplify_oacc_cache): New function.
9206         (gimplify_omp_for): Handle OACC_LOOP.
9207         (gimplify_omp_workshare): Handle OACC_KERNELS, OACC_PARALLEL,
9208         OACC_DATA.
9209         (gimplify_omp_target_update): Handle OACC_ENTER_DATA,
9210         OACC_EXIT_DATA, OACC_UPDATE.
9211         (gimplify_expr): Handle OACC_LOOP, OACC_CACHE, OACC_HOST_DATA,
9212         OACC_DECLARE, OACC_KERNELS, OACC_PARALLEL, OACC_DATA,
9213         OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE.
9214         (gimplify_body): Consider flag_openacc next to flag_openmp.
9215         * lto-streamer-out.c: Include "gomp-constants.h".
9216         * omp-builtins.def (BUILT_IN_ACC_GET_DEVICE_TYPE)
9217         (BUILT_IN_GOACC_DATA_START, BUILT_IN_GOACC_DATA_END)
9218         (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL)
9219         (BUILT_IN_GOACC_UPDATE, BUILT_IN_GOACC_WAIT)
9220         (BUILT_IN_GOACC_GET_THREAD_NUM, BUILT_IN_GOACC_GET_NUM_THREADS)
9221         (BUILT_IN_ACC_ON_DEVICE): New builtins.
9222         * omp-low.c: Include "gomp-constants.h".
9223         Update comments for OpenACC changes.
9224         (struct omp_context): Add reduction_map, gwv_below, gwv_this
9225         members.
9226         (extract_omp_for_data, use_pointer_for_field, install_var_field)
9227         (new_omp_context, delete_omp_context, scan_sharing_clauses)
9228         (create_omp_child_function, scan_omp_for, scan_omp_target)
9229         (check_omp_nesting_restrictions, lower_reduction_clauses)
9230         (build_omp_regions_1, diagnose_sb_0, make_gimple_omp_edges):
9231         Update for OpenACC changes.
9232         (scan_sharing_clauses): Handle OMP_CLAUSE_NUM_GANGS:
9233         OMP_CLAUSE_NUM_WORKERS: OMP_CLAUSE_VECTOR_LENGTH,
9234         OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT, OMP_CLAUSE_GANG,
9235         OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
9236         OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_INDEPENDENT,
9237         OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ.  Use GOMP_MAP_* instead of
9238         OMP_CLAUSE_MAP_*.
9239         (expand_omp_for_static_nochunk, expand_omp_for_static_chunk):
9240         Handle GF_OMP_FOR_KIND_OACC_LOOP.
9241         (expand_omp_target, lower_omp_target): Handle
9242         GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
9243         GF_OMP_TARGET_KIND_OACC_UPDATE,
9244         GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA,
9245         GF_OMP_TARGET_KIND_OACC_DATA.
9246         (pass_expand_omp::execute, execute_lower_omp)
9247         (pass_diagnose_omp_blocks::gate): Consider flag_openacc next to
9248         flag_openmp.
9249         (offload_symbol_decl): New variable.
9250         (oacc_get_reduction_array_id, oacc_max_threads)
9251         (get_offload_symbol_decl, get_base_type, lookup_oacc_reduction)
9252         (maybe_lookup_oacc_reduction, enclosing_target_ctx)
9253         (oacc_loop_or_target_p, oacc_lower_reduction_var_helper)
9254         (oacc_gimple_assign, oacc_initialize_reduction_data)
9255         (oacc_finalize_reduction_data, oacc_process_reduction_data): New
9256         functions.
9257         (is_targetreg_ctx): Remove function.
9258         * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE__CACHE_,
9259         OMP_CLAUSE_DEVICE_RESIDENT, OMP_CLAUSE_USE_DEVICE,
9260         OMP_CLAUSE_GANG, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
9261         OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT,
9262         OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_NUM_GANGS,
9263         OMP_CLAUSE_NUM_WORKERS, OMP_CLAUSE_VECTOR_LENGTH.
9264         * tree.c (omp_clause_code_name, walk_tree_1): Update accordingly.
9265         * tree.h (OMP_CLAUSE_GANG_EXPR, OMP_CLAUSE_GANG_STATIC_EXPR)
9266         (OMP_CLAUSE_ASYNC_EXPR, OMP_CLAUSE_WAIT_EXPR)
9267         (OMP_CLAUSE_VECTOR_EXPR, OMP_CLAUSE_WORKER_EXPR)
9268         (OMP_CLAUSE_NUM_GANGS_EXPR, OMP_CLAUSE_NUM_WORKERS_EXPR)
9269         (OMP_CLAUSE_VECTOR_LENGTH_EXPR): New macros.
9270         * tree-core.h: Update comments for OpenACC changes.
9271         (enum omp_clause_map_kind): Remove.
9272         (struct tree_omp_clause): Change type of map_kind member from enum
9273         omp_clause_map_kind to unsigned char.
9274         * tree-inline.c: Update comments for OpenACC changes.
9275         * tree-nested.c: Likewise.  Include "gomp-constants.h".
9276         (convert_nonlocal_reference_stmt, convert_local_reference_stmt)
9277         (convert_tramp_reference_stmt, convert_gimple_call): Update for
9278         OpenACC changes.  Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*.  Use
9279         OMP_CLAUSE_SET_MAP_KIND.
9280         * tree-pretty-print.c: Include "gomp-constants.h".
9281         (dump_omp_clause): Handle OMP_CLAUSE_DEVICE_RESIDENT,
9282         OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_GANG,
9283         OMP_CLAUSE_ASYNC, OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ,
9284         OMP_CLAUSE_WAIT, OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR,
9285         OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
9286         OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_INDEPENDENT.  Use GOMP_MAP_*
9287         instead of OMP_CLAUSE_MAP_*.
9288         (dump_generic_node): Handle OACC_PARALLEL, OACC_KERNELS,
9289         OACC_DATA, OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE,
9290         OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
9291         * tree-streamer-in.c: Include "gomp-constants.h".
9292         (unpack_ts_omp_clause_value_fields) Use GOMP_MAP_* instead of
9293         OMP_CLAUSE_MAP_*.  Use OMP_CLAUSE_SET_MAP_KIND.
9294         * tree-streamer-out.c: Include "gomp-constants.h".
9295         (pack_ts_omp_clause_value_fields): Use GOMP_MAP_* instead of
9296         OMP_CLAUSE_MAP_*.
9297         * tree.def (OACC_PARALLEL, OACC_KERNELS, OACC_DATA)
9298         (OACC_HOST_DATA, OACC_LOOP, OACC_CACHE, OACC_DECLARE)
9299         (OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE): New tree codes.
9300         * tree.c (omp_clause_num_ops): Update accordingly.
9301         * tree.h (OMP_BODY, OMP_CLAUSES, OMP_LOOP_CHECK, OMP_CLAUSE_SIZE):
9302         Likewise.
9303         (OACC_PARALLEL_BODY, OACC_PARALLEL_CLAUSES, OACC_KERNELS_BODY)
9304         (OACC_KERNELS_CLAUSES, OACC_DATA_BODY, OACC_DATA_CLAUSES)
9305         (OACC_HOST_DATA_BODY, OACC_HOST_DATA_CLAUSES, OACC_CACHE_CLAUSES)
9306         (OACC_DECLARE_CLAUSES, OACC_ENTER_DATA_CLAUSES)
9307         (OACC_EXIT_DATA_CLAUSES, OACC_UPDATE_CLAUSES)
9308         (OACC_KERNELS_COMBINED, OACC_PARALLEL_COMBINED): New macros.
9309         * tree.h (OMP_CLAUSE_MAP_KIND): Cast it to enum gomp_map_kind.
9310         (OMP_CLAUSE_SET_MAP_KIND): New macro.
9311         * varpool.c (varpool_node::get_create): Consider flag_openacc next
9312         to flag_openmp.
9313         * config/i386/intelmic-offload.h: New file.
9314         * config/nvptx/offload.h: Likewise.
9315
9316 2015-01-15  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
9317
9318         * explow.h: Remove duplicate contents.
9319         * dojump.h: Likewise.
9320
9321 2015-01-15  Richard Earnshaw  <rearnsha@arm.com>
9322
9323         * arm.c (arm_xgene_tune): Add default initializer for instruction
9324         fusion.
9325
9326 2015-01-15  Jan Hubicka  <hubicka@ucw.cz>
9327
9328         PR ipa/64068
9329         PR ipa/64559
9330         * ipa.c (symbol_table::remove_unreachable_nodes):
9331         Do not put abstract origins into boundary.
9332
9333 2015-01-15  Evgeny Stupachenko  <evstupac@gmail.com>
9334
9335         * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Remove EBX register usage.
9336         * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Ditto.
9337
9338 2015-01-15  Steve Ellcey  <sellcey@mips.com>
9339
9340         * Makefile.in (PLUGIN_HEADERS): Add dominance.h, cfg.h, cfgrtl.h,
9341         cfganal.h, cfgbuild.h, cfgcleanup.h, lcm.h, cfgloopmanip.h,
9342         builtins.def, and chkp-builtins.def.
9343
9344 2015-01-15  David Edelsohn  <dje.gcc@gmail.com>
9345
9346         * config/rs6000/default64.h (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use
9347         ISA 2.7 (POWER8).
9348
9349 2015-01-15  Richard Biener  <rguenther@suse.de>
9350
9351         PR tree-optimization/61743
9352         * tree-ssa-pre.c (insert_into_preds_of_block): Preserve range
9353         information on PHIs for some simple cases.
9354
9355 2015-01-15  Philipp Tomsich  <philipp.tomsich@theobroma-systems.com>
9356
9357         * config/arm/arm.md (generic_sched): Specify xgene1 in 'no' list.
9358         Include xgene1.md.
9359         * config/arm/arm.c (arm_issue_rate): Specify 4 for xgene1.
9360         * config/arm/arm-cores.def (xgene1): New entry.
9361         * config/arm/arm-tables.opt: Regenerate.
9362         * config/arm/arm-tune.md: Regenerate.
9363         * config/arm/bpabi.h (BE8_LINK_SPEC): Specify mcpu=xgene1.
9364
9365 2015-01-15  Yuri Rumyantsev  <ysrumyan@gmail.com>
9366
9367         * tree-if-conv.c: Include hash-map.h.
9368         (aggressive_if_conv): New variable.
9369         (fold_build_cond_expr): Add simplification of non-zero condition.
9370         (add_to_dst_predicate_list): Invoke add_to_predicate_list if edge
9371         destination block is not always executed.
9372         (if_convertible_phi_p): Fix commentary, allow phi nodes have more
9373         than two predecessors if AGGRESSIVE_IF_CONV is true.
9374         (if_convertible_stmt_p): Fix commentary.
9375         (all_preds_critical_p): New function.
9376         (has_pred_critical_p): New function.
9377         (if_convertible_bb_p): Fix commentary, if AGGRESSIVE_IF_CONV is true
9378         BB can have more than two predecessors and all incoming edges can be
9379         critical.
9380         (predicate_bbs): Skip predication for loop exit block, use build2_loc
9381         to compute predicate for true edge.
9382         (find_phi_replacement_condition): Delete this function.
9383         (is_cond_scalar_reduction): Add arguments ARG_0, ARG_1 and EXTENDED.
9384         Allow interchange PHI arguments if EXTENDED is false.
9385         Change check that block containing reduction statement candidate
9386         is predecessor of phi-block since phi may have more than two arguments.
9387         (phi_args_hash_traits): New helper structure.
9388         (struct phi_args_hash_traits): New type.
9389         (phi_args_hash_traits::hash): New function.
9390         (phi_args_hash_traits::equal_keys): New function.
9391         (gen_phi_arg_condition): New function.
9392         (predicate_scalar_phi): Add handling of phi nodes with more than two
9393         arguments, delete COND and TRUE_BB arguments, insert body of
9394         find_phi_replacement_condition to predicate ordinary phi nodes.
9395         (predicate_all_scalar_phis): Skip blocks with the only predecessor,
9396         delete call of find_phi_replacement_condition and invoke
9397         predicate_scalar_phi with two arguments.
9398         (insert_gimplified_predicates): Add assert that non-predicated block
9399         don't have statements to insert.
9400         (ifcvt_split_critical_edges): New function.
9401         (ifcvt_split_def_stmt): Likewise.
9402         (ifcvt_walk_pattern_tree): Likewise.
9403         (stmt_is_root_of_bool_pattern): Likewise.
9404         (ifcvt_repair_bool_pattern): Likewise.
9405         (ifcvt_local_dce): Likewise.
9406         (tree_if_conversion): Add initialization of AGGRESSIVE_IF_CONV which
9407         is copy of inner or outer loop force_vectorize field, invoke
9408         ifcvt_split_critical_edges, ifcvt_local_dce and
9409         ifcvt_repair_bool_pattern for aggressive if-conversion.
9410
9411 2015-01-15  Philipp Tomsich  <ptomsich@theobroma-systems.com>
9412
9413         * config/aarch64/aarch64.md: Include xgene1.md.
9414         * config/aarch64/xgene1.md: New file.
9415
9416 2015-01-15  Philipp Tomsich  <philipp.tomsich@theobroma-systems.com>
9417
9418         * config/aarch64/aarch64-cores.def (xgene1): Update/add the
9419         xgene1 (APM XGene-1) core definition.
9420         * gcc/config/aarch64/aarch64.c: Add cost tables for APM XGene-1
9421         * config/arm/aarch-cost-tables.h: Add cost tables for APM XGene-1
9422         * doc/invoke.texi: Document -mcpu=xgene1.
9423
9424 2015-01-15  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
9425
9426         * dojump.h: New header file.
9427         * explow.h: Likewise.
9428         * expr.h: Remove includes.
9429         Move expmed.c prototypes to expmed.h.
9430         Move dojump.c prototypes to dojump.h.
9431         Move alias.c prototypes to alias.h.
9432         Move explow.c prototypes to explow.h.
9433         Move calls.c prototypes to calls.h.
9434         Move emit-rtl.c prototypes to emit-rtl.h.
9435         Move varasm.c prototypes to varasm.h.
9436         Move stmt.c prototypes to stmt.h.
9437         (saved_pending_stack_adjust): Move to dojump.h.
9438         (adjust_address): Move to explow.h.
9439         (adjust_address_nv): Move to emit-rtl.h.
9440         (adjust_bitfield_address): Likewise.
9441         (adjust_bitfield_address_size): Likewise.
9442         (adjust_bitfield_address_nv): Likewise.
9443         (adjust_automodify_address_nv): Likewise.
9444         * explow.c (expr_size): Move to expr.c.
9445         (int_expr_size): Likewise.
9446         (tree_expr_size): Likewise.
9447         Include calls.h dojump.h emit-rtl.h explow.h expmed.h
9448         fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
9449         * genemit.c (main): Generate includes statistics.h, real.h,
9450         fixed-value.h, insn-config.h, expmed.h, dojump.h, explow.h, emit-rtl.h,
9451         stmt.h.
9452         * genopinit.c (main): Generate includes hashtab.h, hard-reg-set.h,
9453         function.h, statistics.h, real.h, fixed-value.h, expmed.h, dojump.h,
9454         explow.h, emit-rtl.h, stmt.h.
9455         * genoutput.c (main): Generate includes hashtab.h, statistics.h, real.h,
9456         fixed-value.h, expmed.h, dojump.h, explow.h, emit-rtl.h, stmt.h.
9457         * genemit.c (open_base_files): Generate includes flags.h, statistics.h,
9458         real.h, fixed-value.h, tree.h, expmed.h, dojump.h, explow.h, calls.h,
9459         emit-rtl.h, varasm.h, stmt.h.
9460         * config/tilepro/gen-mul-tables.cc: Generate includes hashtab.h,
9461         hash-set.h, vec.h, machmode.h, tm.h, hard-reg-set.h, input.h,
9462         function.h, rtl.h, flags.h, statistics.h, double-int.h, real.h,
9463         fixed-value.h, alias.h, wide-int.h, inchash.h, tree.h, insn-config.h,
9464         expmed.h, dojump.h, explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.
9465         * config/tilegx/mul-tables.c: Include alias.h calls.h dojump.h
9466         double-int.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h
9467         function.h hard-reg-set.h hash-set.h hashtab.h inchash.h input.h
9468         insn-config.h machmode.h real.h rtl.h statistics.h stmt.h symtab.h
9469         tm.h tree.h varasm.h vec.h wide-int.h.
9470         * rtlhooks.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
9471         explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h
9472         hash-set.h hashtab.h inchash.h input.h insn-config.h machmode.h
9473         real.h statistics.h stmt.h tree.h varasm.h vec.h wide-int.h.
9474         * cfgloopanal.c: Include alias.h calls.h dojump.h double-int.h
9475         emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h
9476         insn-config.h real.h statistics.h stmt.h tree.h varasm.h wide-int.h.
9477         * loop-iv.c: Likewise.
9478         * lra-assigns.c: Include alias.h calls.h dojump.h double-int.h
9479         emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h real.h
9480         statistics.h stmt.h tree.h varasm.h wide-int.h.
9481         * lra-constraints.c: Likewise.
9482         * lra-eliminations.c: Likewise.
9483         * lra-lives.c: Likewise.
9484         * lra-remat.c: Likewise.
9485         * bt-load.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
9486         explow.h expmed.h fixed-value.h inchash.h insn-config.h real.h
9487         statistics.h stmt.h tree.h varasm.h wide-int.h.
9488         * hw-doloop.c: Likewise.
9489         * ira-color.c: Likewise.
9490         * ira-emit.c: Likewise.
9491         * loop-doloop.c: Likewise.
9492         * loop-invariant.c: Likewise.
9493         * reload.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
9494         explow.h expmed.h fixed-value.h inchash.h real.h rtl.h
9495         statistics.h stmt.h tree.h varasm.h wide-int.h.
9496         * caller-save.c: Include alias.h calls.h dojump.h double-int.h
9497         emit-rtl.h explow.h expmed.h fixed-value.h inchash.h real.h
9498         statistics.h stmt.h tree.h varasm.h wide-int.h.
9499         * combine-stack-adj.c: Likewise.
9500         * cse.c: Likewise.
9501         * ddg.c: Likewise.
9502         * ifcvt.c: Likewise.
9503         * ira-costs.c: Likewise.
9504         * jump.c: Likewise.
9505         * lra-coalesce.c: Likewise.
9506         * lra-spills.c: Likewise.
9507         * profile.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
9508         explow.h expmed.h fixed-value.h insn-config.h real.h statistics.h
9509         stmt.h varasm.h wide-int.h.
9510         * lra.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
9511         explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
9512         varasm.h.
9513         * config/sh/sh_treg_combine.cc: Include alias.h calls.h dojump.h
9514         double-int.h explow.h expmed.h fixed-value.h flags.h real.h
9515         statistics.h stmt.h varasm.h wide-int.h.
9516         * reorg.c: Include alias.h calls.h dojump.h double-int.h explow.h
9517         expmed.h fixed-value.h inchash.h real.h statistics.h stmt.h tree.h
9518         varasm.h wide-int.h.
9519         * reload1.c: Include alias.h calls.h dojump.h double-int.h explow.h
9520         expmed.h fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
9521         * config/tilegx/tilegx.c: Include alias.h dojump.h double-int.h
9522         emit-rtl.h explow.h expmed.h fixed-value.h flags.h real.h
9523         statistics.h stmt.h.
9524         * config/tilepro/tilepro.c: Likewise.
9525         * config/mmix/mmix.c: Include alias.h dojump.h double-int.h emit-rtl.h
9526         explow.h expmed.h fixed-value.h real.h statistics.h stmt.h.
9527         * config/pdp11/pdp11.c: Likewise.
9528         * config/xtensa/xtensa.c: Likewise.
9529         * config/lm32/lm32.c: Include alias.h dojump.h double-int.h emit-rtl.h
9530         explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
9531         varasm.h.
9532         * tree-chkp.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
9533         fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
9534         insn-config.h real.h rtl.h statistics.h stmt.h tm.h.
9535         * cilk-common.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
9536         fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
9537         insn-config.h real.h rtl.h statistics.h stmt.h tm.h varasm.h.
9538         * rtl-chkp.c: Likewise.
9539         * tree-chkp-opt.c: Likewise.
9540         * config/arm/arm-builtins.c: Include calls.h dojump.h emit-rtl.h
9541         explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h
9542         hashtab.h insn-config.h real.h statistics.h stmt.h varasm.h.
9543         * ipa-icf.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
9544         fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
9545         statistics.h stmt.h.
9546         * tree-vect-data-refs.c: Likewise.
9547         * graphite-sese-to-poly.c: Include calls.h dojump.h emit-rtl.h explow.h
9548         expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
9549         rtl.h statistics.h stmt.h varasm.h.
9550         * internal-fn.c: Likewise.
9551         * ipa-icf-gimple.c: Likewise.
9552         * lto-section-out.c: Likewise.
9553         * tree-data-ref.c: Likewise.
9554         * tree-nested.c: Likewise.
9555         * tree-outof-ssa.c: Likewise.
9556         * tree-predcom.c: Likewise.
9557         * tree-pretty-print.c: Likewise.
9558         * tree-scalar-evolution.c: Likewise.
9559         * tree-ssa-strlen.c: Likewise.
9560         * tree-vect-loop.c: Likewise.
9561         * tree-vect-patterns.c: Likewise.
9562         * tree-vect-slp.c: Likewise.
9563         * tree-vect-stmts.c: Likewise.
9564         * tsan.c: Likewise.
9565         * targhooks.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
9566         fixed-value.h flags.h hashtab.h insn-config.h real.h statistics.h
9567         stmt.h.
9568         * config/sh/sh-mem.cc: Include calls.h dojump.h emit-rtl.h explow.h
9569         expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
9570         statistics.h stmt.h varasm.h.
9571         * loop-unroll.c: Likewise.
9572         * ubsan.c: Likewise.
9573         * tree-ssa-loop-prefetch.c: Include calls.h dojump.h emit-rtl.h explow.h
9574         expmed.h fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h
9575         stmt.h varasm.h.
9576         * dse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
9577         fixed-value.h function.h hashtab.h statistics.h stmt.h varasm.h.
9578         * tree-switch-conversion.c: Include calls.h dojump.h emit-rtl.h explow.h
9579         expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
9580         statistics.h stmt.h.
9581         * generic-match-head.c: Include calls.h dojump.h emit-rtl.h explow.h
9582         expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
9583         statistics.h stmt.h varasm.h.
9584         * gimple-match-head.c: Likewise.
9585         * lto-cgraph.c: Likewise.
9586         * lto-section-in.c: Likewise.
9587         * lto-streamer-in.c: Likewise.
9588         * lto-streamer-out.c: Likewise.
9589         * tree-affine.c: Likewise.
9590         * tree-cfg.c: Likewise.
9591         * tree-cfgcleanup.c: Likewise.
9592         * tree-if-conv.c: Likewise.
9593         * tree-into-ssa.c: Likewise.
9594         * tree-ssa-alias.c: Likewise.
9595         * tree-ssa-copyrename.c: Likewise.
9596         * tree-ssa-dse.c: Likewise.
9597         * tree-ssa-forwprop.c: Likewise.
9598         * tree-ssa-live.c: Likewise.
9599         * tree-ssa-math-opts.c: Likewise.
9600         * tree-ssa-pre.c: Likewise.
9601         * tree-ssa-sccvn.c: Likewise.
9602         * tree-tailcall.c: Likewise.
9603         * tree-vect-generic.c: Likewise.
9604         * tree-sra.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
9605         fixed-value.h hashtab.h insn-config.h real.h rtl.h stmt.h varasm.h.
9606         * stor-layout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
9607         fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h.
9608         * varasm.c: Likewise.
9609         * coverage.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
9610         fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h
9611         varasm.h.
9612         * init-regs.c: Likewise.
9613         * ira.c: Likewise.
9614         * omp-low.c: Likewise.
9615         * stack-ptr-mod.c: Likewise.
9616         * tree-ssa-reassoc.c: Likewise.
9617         * tree-complex.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
9618         fixed-value.h hashtab.h insn-config.h rtl.h statistics.h stmt.h
9619         varasm.h.
9620         * dwarf2cfi.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
9621         fixed-value.h hashtab.h insn-config.h statistics.h stmt.h varasm.h.
9622         * shrink-wrap.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
9623         fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h.
9624         * recog.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
9625         fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h varasm.h.
9626         * tree-ssa-phiopt.c: Likewise.
9627         * config/darwin.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
9628         fixed-value.h hashtab.h real.h statistics.h stmt.h.
9629         * config/fr30/fr30.c: Likewise.
9630         * config/frv/frv.c: Likewise.
9631         * expr.c: Likewise.
9632         * final.c: Likewise.
9633         * optabs.c: Likewise.
9634         * passes.c: Likewise.
9635         * simplify-rtx.c: Likewise.
9636         * stmt.c: Likewise.
9637         * toplev.c: Likewise.
9638         * var-tracking.c: Likewise.
9639         * gcse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
9640         fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
9641         * lower-subreg.c: Likewise.
9642         * postreload-gcse.c: Likewise.
9643         * ree.c: Likewise.
9644         * reginfo.c: Likewise.
9645         * store-motion.c: Likewise.
9646         * combine.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
9647         fixed-value.h hashtab.h real.h stmt.h varasm.h.
9648         * emit-rtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
9649         fixed-value.h hashtab.h statistics.h stmt.h.
9650         * dojump.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
9651         fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
9652         * except.c: Likewise.
9653         * explow.c: Likewise.
9654         * tree-dfa.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
9655         fixed-value.h insn-config.h real.h rtl.h statistics.h stmt.h
9656         varasm.h.
9657         * gimple-fold.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
9658         fixed-value.h insn-config.h real.h rtl.h statistics.h varasm.h.
9659         * tree-ssa-structalias.c: Likewise.
9660         * cfgexpand.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
9661         fixed-value.h insn-config.h real.h statistics.h.
9662         * calls.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
9663         fixed-value.h insn-config.h real.h statistics.h stmt.h.
9664         * bb-reorder.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
9665         fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
9666         * cfgbuild.c: Likewise.
9667         * function.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
9668         fixed-value.h real.h rtl.h statistics.h stmt.h.
9669         * cfgrtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
9670         fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
9671         * dbxout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
9672         fixed-value.h real.h statistics.h stmt.h.
9673         * auto-inc-dec.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
9674         fixed-value.h real.h statistics.h stmt.h varasm.h.
9675         * cprop.c: Likewise.
9676         * modulo-sched.c: Likewise.
9677         * postreload.c: Likewise.
9678         * ccmp.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
9679         flags.h function.h hard-reg-set.h hashtab.h insn-config.h real.h
9680         statistics.h stmt.h varasm.h.
9681         * gimple-ssa-strength-reduction.c: Include calls.h dojump.h emit-rtl.h
9682         explow.h fixed-value.h flags.h hashtab.h insn-config.h real.h
9683         rtl.h statistics.h stmt.h varasm.h.
9684         * tree-ssa-loop-ivopts.c: Include calls.h dojump.h emit-rtl.h explow.h
9685         fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h stmt.h
9686         varasm.h.
9687         * expmed.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
9688         function.h hard-reg-set.h hashtab.h real.h statistics.h stmt.h
9689         varasm.h.
9690         * target-globals.c: Include calls.h dojump.h emit-rtl.h explow.h
9691         fixed-value.h function.h hashtab.h real.h statistics.h stmt.h
9692         varasm.h.
9693         * tree-ssa-address.c: Include calls.h dojump.h emit-rtl.h explow.h
9694         fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
9695         * cfgcleanup.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
9696         function.h real.h statistics.h stmt.h varasm.h.
9697         * alias.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
9698         insn-config.h real.h statistics.h stmt.h.
9699         * dwarf2out.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
9700         statistics.h stmt.h.
9701         * config/nvptx/nvptx.c: Include dojump.h emit-rtl.h explow.h expmed.h
9702         fixed-value.h flags.h hard-reg-set.h insn-config.h real.h
9703         statistics.h stmt.h varasm.h.
9704         * gimplify.c: Include dojump.h emit-rtl.h explow.h expmed.h
9705         fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h statistics.h.
9706         * asan.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
9707         flags.h hashtab.h insn-config.h real.h rtl.h statistics.h stmt.h.
9708         * ipa-devirt.c: Include dojump.h emit-rtl.h explow.h expmed.h
9709         fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
9710         statistics.h stmt.h varasm.h.
9711         * ipa-polymorphic-call.c: Likewise.
9712         * config/aarch64/aarch64.c: Include dojump.h emit-rtl.h explow.h
9713         expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
9714         statistics.h stmt.h.
9715         * config/c6x/c6x.c: Likewise.
9716         * config/aarch64/aarch64-builtins.c: Include dojump.h emit-rtl.h
9717         explow.h expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
9718         statistics.h stmt.h varasm.h.
9719         * ipa-prop.c: Include dojump.h emit-rtl.h explow.h expmed.h
9720         fixed-value.h hashtab.h insn-config.h real.h rtl.h statistics.h
9721         stmt.h varasm.h.
9722         * ipa-split.c: Likewise.
9723         * tree-eh.c: Likewise.
9724         * tree-ssa-dce.c: Likewise.
9725         * tree-ssa-loop-niter.c: Likewise.
9726         * tree-vrp.c: Likewise.
9727         * config/nds32/nds32-cost.c: Include dojump.h emit-rtl.h explow.h
9728         expmed.h fixed-value.h hashtab.h insn-config.h real.h statistics.h
9729         stmt.h.
9730         * config/nds32/nds32-fp-as-gp.c: Likewise.
9731         * config/nds32/nds32-intrinsic.c: Likewise.
9732         * config/nds32/nds32-isr.c: Likewise.
9733         * config/nds32/nds32-md-auxiliary.c: Likewise.
9734         * config/nds32/nds32-memory-manipulation.c: Likewise.
9735         * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
9736         * config/nds32/nds32-predicates.c: Likewise.
9737         * config/nds32/nds32.c: Likewise.
9738         * config/cris/cris.c: Include dojump.h emit-rtl.h explow.h expmed.h
9739         fixed-value.h hashtab.h real.h statistics.h.
9740         * config/alpha/alpha.c: Include dojump.h emit-rtl.h explow.h expmed.h
9741         fixed-value.h hashtab.h real.h statistics.h stmt.h.
9742         * config/arm/arm.c: Likewise.
9743         * config/avr/avr.c: Likewise.
9744         * config/bfin/bfin.c: Likewise.
9745         * config/h8300/h8300.c: Likewise.
9746         * config/i386/i386.c: Likewise.
9747         * config/ia64/ia64.c: Likewise.
9748         * config/iq2000/iq2000.c: Likewise.
9749         * config/m32c/m32c.c: Likewise.
9750         * config/m32r/m32r.c: Likewise.
9751         * config/m68k/m68k.c: Likewise.
9752         * config/mcore/mcore.c: Likewise.
9753         * config/mep/mep.c: Likewise.
9754         * config/mips/mips.c: Likewise.
9755         * config/mn10300/mn10300.c: Likewise.
9756         * config/moxie/moxie.c: Likewise.
9757         * config/pa/pa.c: Likewise.
9758         * config/rl78/rl78.c: Likewise.
9759         * config/rx/rx.c: Likewise.
9760         * config/s390/s390.c: Likewise.
9761         * config/sh/sh.c: Likewise.
9762         * config/sparc/sparc.c: Likewise.
9763         * config/spu/spu.c: Likewise.
9764         * config/stormy16/stormy16.c: Likewise.
9765         * config/v850/v850.c: Likewise.
9766         * config/vax/vax.c: Likewise.
9767         * config/cr16/cr16.c: Include dojump.h emit-rtl.h explow.h expmed.h
9768         fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
9769         * config/msp430/msp430.c: Likewise.
9770         * predict.c: Likewise.
9771         * value-prof.c: Likewise.
9772         * config/epiphany/epiphany.c: Include dojump.h emit-rtl.h explow.h
9773         expmed.h fixed-value.h hashtab.h statistics.h stmt.h.
9774         * config/microblaze/microblaze.c: Likewise.
9775         * config/nios2/nios2.c: Likewise.
9776         * config/rs6000/rs6000.c: Likewise.
9777         * tree.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
9778         insn-config.h real.h rtl.h statistics.h stmt.h.
9779         * cgraph.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
9780         insn-config.h real.h statistics.h stmt.h.
9781         * fold-const.c: Include dojump.h emit-rtl.h explow.h expmed.h
9782         fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
9783         * tree-inline.c: Include dojump.h emit-rtl.h explow.h expmed.h
9784         fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
9785         * builtins.c: Include dojump.h emit-rtl.h explow.h expmed.h
9786         fixed-value.h real.h statistics.h stmt.h.
9787         * config/arc/arc.c: Include dojump.h emit-rtl.h explow.h expmed.h
9788         fixed-value.h statistics.h stmt.h.
9789         * config/visium/visium.c: Include dojump.h emit-rtl.h explow.h expmed.h
9790         stmt.h.
9791
9792 2015-01-15  Jakub Jelinek  <jakub@redhat.com>
9793
9794         * gengtype.c (create_user_defined_type): Workaround
9795         -Wmaybe-uninitialized false positives.
9796         * cse.c (fold_rtx): Likewise.
9797         * loop-invariant.c (gain_for_invariant): Likewise.
9798
9799 2015-01-15  Eric Botcazou  <ebotcazou@adacore.com>
9800
9801         * expr.c (expand_expr_real_1) <normal_inner_ref>: Use the expression to
9802         set the memory attributes in all cases but clear MEM_EXPR if need be.
9803
9804 2015-01-15  Yuri Rumyantsev  <ysrumyan@gmail.com>
9805
9806         PR tree-optimization/64434
9807         * cfgexpand.c (reorder_operands): New function.
9808         (expand_gimple_basic_block): Insert call of reorder_operands if
9809         optimized is true.
9810
9811 2015-01-15  Matthew Fortune  <matthew.fortune@imgtec.com>
9812
9813         * config/mips/micromips.md (*swp): Remove explicit parallel.
9814         (jraddiusp, *movep<MOVEP1:mode><MOVEP2:mode>): Likewise.
9815         * config/mips/mips-dsp.md (add<DSPV:mode>3): Likewise.
9816         (mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>, sub<DSPV:mode>3): Likewise.
9817         (mips_sub<DSP:dspfmt1>_s_<DSP:dspfmt2>, mips_addsc): Likewise.
9818         (mips_addwc, mips_absq_s_<DSPQ:dspfmt2>): Likewise.
9819         (mips_precrq_rs_ph_w, mips_precrqu_s_qb_ph): Likewise.
9820         (mips_shll_<DSPV:dspfmt2>, mips_shll_s_<DSPQ:dspfmt2>): Likewise.
9821         (mips_muleu_s_ph_qbl, mips_muleu_s_ph_qbr): Likewise.
9822         (mips_mulq_rs_ph, mips_muleq_s_w_phl, mips_muleq_s_w_phr): Likewise.
9823         (mips_dpaq_s_w_ph, mips_dpsq_s_w_ph, mips_mulsaq_s_w_ph): Likewise.
9824         (mips_dpaq_sa_l_w, mips_dpsq_sa_l_w, mips_maq_s_w_phl): Likewise.
9825         (mips_maq_s_w_phr, mips_maq_sa_w_phl, mips_maq_sa_w_phr): Likewise.
9826         (mips_extr_w, mips_extr_r_w, mips_extr_rs_w): Likewise.
9827         (mips_extr_s_h, mips_extp, mips_extpdp, mips_mthlip): Likewise.
9828         (mips_wrdsp): Likewise.
9829         * config/mips/mips-dspr2.md (mips_absq_s_qb): Remove explicit
9830         parallel.
9831         (mips_addu_ph, mips_addu_s_ph, mips_cmpgdu_eq_qb): Likewise.
9832         (mips_cmpgdu_lt_qb, mips_cmpgdu_le_qb, mulv2hi3): Likewise.
9833         (mips_mul_s_ph, mips_mulq_rs_w, mips_mulq_s_ph): Likewise.
9834         (mips_mulq_s_w, mips_subu_ph, mips_subu_s_ph): Likewise.
9835         (mips_dpaqx_s_w_ph, mips_dpaqx_sa_w_ph): Likewise.
9836         (mips_dpsqx_s_w_ph, mips_dpsqx_sa_w_ph): Likewise.
9837         * config/mips/mips-fixed.md (usadd<mode>3): Remove explicit parallel.
9838         (ssadd<mode>3, ussub<mode>3, sssub<mode>3, ssmul<mode>3): Likewise.
9839         (ssmaddsqdq4, ssmsubsqdq4): Likewise.
9840
9841 2015-01-14  Matthew Fortune  <matthew.fortune@imgtec.com>
9842
9843         * config/mips/mips.c (mips_rtx_costs): Set costs for LSA/DLSA.
9844         (mips_print_operand): Support 'y' to print exact log2 in decimal
9845         of a const_int.
9846         * config/mips/mips.h (ISA_HAS_LSA): New define.
9847         (ISA_HAS_DLSA): Likewise.
9848         * config/mips/mips.md (<GPR:d>lsa): New define_insn.
9849         * config/mips/predicates.md (const_immlsa_operand): New predicate.
9850
9851 2015-01-15  Martin Liska  <mliska@suse.cz>
9852
9853         PR target/64377
9854         * optc-save-gen.awk: Add support for array types.
9855
9856 2015-01-15  Richard Biener  <rguenther@suse.de>
9857
9858         PR middle-end/64365
9859         * tree-data-ref.c (dr_analyze_indices): Make sure that accesses
9860         for MEM_REF access functions with the same base can never partially
9861         overlap.
9862
9863 2015-01-14  Marcos Diaz <marcos.diaz@tallertechnologies.com>
9864
9865         * common.opt: New option -fstack-protector-explicit.
9866         * cfgexpand.c (SPCT_FLAG_EXPLICIT): New enum.
9867         (stack_protect_decl_phase): Handle stack_protect attribute for
9868         explicit stack protection requests.
9869         (expand_used_vars): Similarly.
9870         * doc/cpp.texi (__SSP_EXPLICIT__): Document predefined macro.
9871         * doc/extend.texi: Add documentation for "stack_protect" attribute.
9872         * doc/invoke.texi: Add documentation for -fstack-protector-explicit.
9873
9874 2015-01-14  Oleg Endo  <olegendo@gcc.gnu.org>
9875
9876         PR target/53988
9877         * config/sh/sh-protos.h (sh_find_set_of_reg): Add option to ignore
9878         reg-reg copies.
9879         (sh_extending_set_of_reg): New struct.
9880         (sh_find_extending_set_of_reg, sh_split_tst_subregs,
9881         sh_remove_reg_dead_or_unused_notes): New Declarations.
9882         * config/sh/sh.c (sh_remove_reg_dead_or_unused_notes,
9883         sh_find_extending_set_of_reg, sh_split_tst_subregs,
9884         sh_extending_set_of_reg::use_as_extended_reg): New functions.
9885         * config/sh/sh.md (*tst<mode>_t_zero): Rename to *tst<mode>_t_subregs,
9886         convert to insn_and_split and use new function sh_split_tst_subregs.
9887
9888 2015-01-14  Sandra Loosemore  <sandra@codesourcery.com>
9889
9890         * doc/invoke.texi (Option Summary): Reclassify -fuse-ld as a linker
9891         option.
9892         (Optimization Options): Move -fuse-ld documentation to...
9893         (Link Options): ...here.
9894
9895 2015-01-14  Matthew Fortune  <matthew.fortune@imgtec.com>
9896
9897         * config/mips/constraints.md (ZC): Add support for R6 LL/SC
9898         offsets.
9899         (ZD): Update to use ISA_HAS_9BIT_DISPLACEMENT.
9900         * config/mips/mips.h (ISA_HAS_PREFETCH_9BIT): Rename to...
9901         (ISA_HAS_9BIT_DISPLACEMENT): ... this. New macro.
9902         * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZC
9903         instead of ZR for the memory operand of LL/SC.
9904         (compare_and_swap_12, sync_add<mode>): Likewise.
9905         (sync_<optab>_12, sync_old_<optab>_12): Likewise.
9906         (sync_new_<optab>_12, sync_nand_12): Likewise.
9907         (sync_old_nand_12, sync_new_nand_12): Likewise.
9908         (sync_sub<mode>, sync_old_add<mode>): Likewise.
9909         (sync_old_sub<mode>, sync_new_add<mode>): Likewise.
9910         (sync_new_sub<mode>, sync_<optab><mode>): Likewise.
9911         (sync_old_<optab><mode>, sync_new_<optab><mode>"): Likewise.
9912         (sync_nand<mode>, sync_old_nand<mode>): Likewise.
9913         (sync_new_nand<mode>, sync_lock_test_and_set<mode>): Likewise.
9914         (test_and_set_12, atomic_compare_and_swap<mode>): Likewise.
9915         (atomic_exchange<mode>_llsc, atomic_fetch_add<mode>_llsc): Likewise.
9916         * doc/md.texi (ZC): Update description.
9917
9918 2015-01-14  Andrew MacLeod  <amacleod@redhat.com>
9919
9920         * builtins.c (expand_builtin_atomic_exchange): Remove error when
9921         memory model is CONSUME.
9922         (expand_builtin_atomic_compare_exchange, expand_builtin_atomic_load,
9923         expand_builtin_atomic_store): Change invalid memory model errors to
9924         warnings.
9925         (expand_builtin_atomic_clear): Change invalid model errors to warnings
9926         and issue warning for CONSUME.
9927
9928 2015-01-14  Aldy Hernandez  <aldyh@redhat.com>
9929
9930         * lto-cgraph: Update function comments for
9931         lto_symtab_encoder_encode_*.
9932
9933 2015-01-14  Ilya Verbin  <ilya.verbin@intel.com>
9934
9935         * Makefile.in (site.exp): Do not set ENABLE_LTO.
9936
9937 2015-01-14  Ilya Verbin  <ilya.verbin@intel.com>
9938
9939         * cgraphunit.c (ipa_passes): Remove argument from ipa_write_summaries.
9940         * lto-cgraph.c (select_what_to_stream): Remove argument, use
9941         lto_stream_offload_p instead.
9942         * lto-streamer.h (select_what_to_stream): Remove argument.
9943         * passes.c (ipa_write_summaries): Likewise.
9944         * tree-pass.h (ipa_write_summaries): Likewise.
9945
9946 2015-01-14  Richard Biener  <rguenther@suse.de>
9947
9948         PR tree-optimization/59354
9949         * tree-vect-slp.c (vect_build_slp_tree_1): Treat loads from
9950         groups larger than the slp group size as having gaps.
9951
9952 2015-01-14  Andrew MacLeod  <amacleod@redhat.com>
9953
9954         PR middle-end/59448
9955         * builtins.c (get_memmodel): Promote consume to acquire always.
9956
9957 2015-01-14  Ilya Tocar  <ilya.tocar@intel.com>
9958
9959         PR target/64386
9960         * config/i386/i386.c (ix86_expand_sse_cmp): Handle V64QImode,
9961         V32HImode.
9962
9963 2015-01-14  Ilya Tocar  <ilya.tocar@intel.com>
9964
9965         PR target/64393
9966         * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VBMI_SET):
9967         Enable AVX512BW.
9968         (OPTION_MASK_ISA_AVX512BW_UNSET): Disable AVX512VBMI.
9969         * config/i386/i386.c (ix86_hard_regno_mode_ok): Don't check
9970         AVX512VBMI, as it implies AVX512BW.
9971
9972 2015-01-14  Ilya Tocar  <ilya.tocar@intel.com>
9973
9974         PR target/64387
9975         * config/i386/sse.md (vec_unpacks_hi_v8sf): Fix predicate.
9976         (vec_unpacks_hi_v16sf): Ditto.
9977
9978 2015-01-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
9979
9980         * config/aarch64/arm_neon.h: Error out if AdvancedSIMD
9981         is not available.
9982
9983 2015-01-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
9984
9985         * doc/invoke.texi (mapcs): Mention deprecation.
9986         (mapcs-frame): Likewise.
9987
9988 2015-01-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>
9989
9990         PR target/64453
9991         * config/arm/arm.c (callee_saved_reg_p): Define.
9992         (arm_compute_save_reg0_reg12_mask): Use callee_saved_reg_p to check if
9993         register is callee saved instead of !call_used_regs[reg].
9994         (thumb1_compute_save_reg_mask): Likewise.
9995
9996 2015-01-14  Hale Wang  <hale.wang@arm.com>
9997
9998         * config/arm/arm.c: Tune the max_cond_insns/branch_cost for
9999         Cortex-M7.
10000
10001 2015-01-14  Richard Biener  <rguenther@suse.de>
10002
10003         PR lto/64415
10004         * tree-inline.c (insert_debug_decl_map): Check destination
10005         function MAY_HAVE_DEBUG_STMTS.
10006         (insert_init_debug_bind): Likewise.
10007         (insert_init_stmt): Remove redundant check.
10008         (remap_gimple_stmt): Drop debug stmts if the destination
10009         function has var-tracking assignments disabled.
10010
10011 2015-01-14  Martin Liska  <mliska@suse.cz>
10012
10013         * ipa-icf-gimple.c (func_checker::compare_operand): Add support for
10014         IMAGPART_EXPR and REALPART_EXPR and fix BIT_FIELD_REF comparison.
10015
10016 2015-01-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
10017
10018         PR target/64460
10019         * config/arm/arm.md (*<arith_shift_insn>_multsi): Set 'shift' to 2.
10020         (*<arith_shift_insn>_shiftsi): Set 'shift' attr to 3.
10021
10022 2015-01-14  Matthew Fortune  <matthew.fortune@imgtec.com>
10023
10024         * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Only infer an ISA
10025         level from an ARCH; do not inject the default.
10026         (MIPS_DEFAULT_ISA_LEVEL_SPEC): New macro split out from
10027         MIPS_ISA_LEVEL_SPEC.
10028         (MIPS_ISA_NAN2008_SPEC): Update comment.
10029         (BASE_DRIVER_SELF_SPECS): Likewise.
10030         * config/mips/elfoabi.h (DRIVER_SELF_SPECS): Add
10031         MIPS_DEFAULT_ISA_LEVEL_SPEC.
10032         * config/mips/mti-elf.h (DRIVER_SELF_SPECS): Likewise.
10033         * config/mips/mti-linux.h (DRIVER_SELF_SPECS): Likewise.
10034         * config/mips/sde.h (DRIVER_SELF_SPECS): Likewise.
10035
10036 2015-01-14  Richard Biener  <rguenther@suse.de>
10037
10038         PR tree-optimization/64493
10039         PR tree-optimization/64495
10040         * tree-vect-loop.c (vect_finalize_reduction): For double-reductions
10041         assign the proper vectorized PHI to the inner loop exit PHIs.
10042
10043 2015-01-14  Joey Ye  <joey.ye@arm.com>
10044
10045         * config/arm/arm.c (arm_compute_save_reg_mask):
10046         Do not save lr in case of tail call.
10047         * config/arm/thumb2.md (*thumb2_pop_single): New pattern.
10048
10049 2015-01-14  Martin Uecker <uecker@eecs.berkeley.edu>
10050
10051         * tree-vrp.c (check_array_ref): Emit more warnings
10052         for warn_array_bounds >= 2.
10053         * common.opt: New option -Warray-bounds=.
10054         * doc/invoke.texi: Document -Warray-bounds=.
10055
10056 2015-01-14  Chung-Ju Wu  <jasonwucj@gmail.com>
10057
10058         * config/nds32/nds32.opt (mforce-fp-as-gp): Remove.
10059         (mforbid-fp-as-gp): Remove.
10060         (mex9): Remove.
10061         * config/nds32/nds32-fp-as-gp.c (nds32_have_prologue_p): Remove.
10062         (nds32_symbol_load_store_p): Remove.
10063         (nds32_fp_as_gp_check_available): Clean up implementation.
10064         * config/nds32/nds32.h (LINK_SPEC): Remove -mforce-as-gp and -mex9
10065         cases.
10066         * config/nds32/nds32.c (nds32_asm_file_start): No need to consider
10067         fp-as-gp and ex9 cases.
10068
10069 2015-01-13  Jan Hubicka  <hubicka@ucw.cz>
10070
10071         * tree-profile.c (init_ic_make_global_vars): Drop workaround
10072         for bintuils bug 14342.
10073         (init_ic_make_global_vars): Likewise.
10074         (gimple_init_edge_profiler): Likewise.
10075         (gimple_gen_ic_func_profiler): Likewise.
10076
10077 2015-01-13  Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>
10078
10079         * ipa-inline.c (inline_small_functions): Swap the operands in
10080         enum.
10081
10082 2015-01-13  Jan Hubicka  <hubicka@ucw.cz>
10083
10084         PR ipa/64481
10085         * ipa-inline-analysis.c (node_growth_cache): Remove.
10086         (initialize_growth_caches): Do not initialize it.
10087         (free_growth_caches): Do not free it.
10088         (do_estimate_growth): Rename to ...
10089         (estimate_growth): ... this one; drop growth cache code.
10090         (growth_likely_positive): Always go the heuristics way.
10091         * ipa-inline.c (can_inline_edge_p): Walk through aliases.
10092         (reset_edge_caches): Do not reset node growth.
10093         (heap_edge_removal_hook): Do not maintain cache.
10094         (inline_small_functions): Likewise; strenghten sanity check.
10095         (ipa_inline): Do not maintain caches.
10096         * ipa-inline.h (node_growth_cache): Remove.
10097         (do_estimate_growth): Remove to ...
10098         (estimate_growth): this one; remove inline version.
10099         (reset_node_growth_cache): Remove.
10100
10101 2015-01-13  Jan Hubicka  <hubicka@ucw.cz>
10102
10103         PR ipa/64565
10104         * ipa-inline.c (inline_small_functions): Update callee keys after
10105         resolving speculation
10106         (inline_small_functions): Always check monotonicity of the queue.
10107
10108 2015-01-13  Marek Polacek  <polacek@redhat.com>
10109
10110         PR middle-end/64391
10111         * trans-mem.c (get_attrs_for): Return NULL_TREE if X is NULL_TREE.
10112
10113 2015-01-13  Jakub Jelinek  <jakub@redhat.com>
10114
10115         PR rtl-optimization/64286
10116         * ree.c (combine_reaching_defs): Move part of comment earlier,
10117         remove !SCALAR_INT_MODE_P check.
10118         (add_removable_extension): Don't add vector mode
10119         extensions if all uses of the source register aren't the same
10120         vector extensions.
10121
10122 2015-01-13  Renlin Li  <renlin.li@arm.com>
10123
10124         * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): Return 2.
10125         (CTZ_DEFINED_VALUE_AT_ZERO): Ditto.
10126
10127 2015-01-13  Martin Liska  <mliska@suse.cz>
10128
10129         * ipa-icf.c (sem_function::equals_private): Call new functions
10130         cl_target_option_print_diff and cl_optimization_print_diff.
10131         * optc-save-gen.awk (cl_target_option_print_diff): New function.
10132         (cl_optimization_print_diff): Likewise.
10133         * opth-gen.awk: Likewise.
10134
10135 2015-01-13  Richard Sandiford  <richard.sandiford@arm.com>
10136
10137         * config/aarch64/aarch64.md (subsi3, *subsi3_uxtw, subdi3)
10138         (*sub_<optab><ALLX:mode>_<GPI:mode>, *sub_<optab><SHORT:mode>_si_uxtw)
10139         (*sub_<optab><ALLX:mode>_shft_<GPI:mode>)
10140         (*sub_<optab><SHORT:mode>_shft_si_uxtw, *sub_<optab><mode>_multp2)
10141         (*sub_<optab>si_multp2_uxtw, *sub_uxt<mode>_multp2)
10142         (*sub_uxtsi_multp2_uxtw): Add stack pointer sources.
10143
10144 2015-01-13  Andrew Pinski  <apinski@cavium.com>
10145
10146         * config/aarch64/aarch64.c (fusion_load_store): Check dest mode
10147         instead of src mode.
10148
10149 2015-01-13  Richard Biener  <rguenther@suse.de>
10150
10151         PR lto/64373
10152         * lto-streamer-out.c (tree_is_indexable): Guard for NULL
10153         DECL_CONTEXT.
10154
10155 2015-01-13  Andrew Pinski  <apinski@cavium.com>
10156
10157         * config/aarch64/aarch64.c (aarch64_operands_ok_for_ldpstp): Reject
10158         volatile mems.
10159         (aarch64_operands_adjust_ok_for_ldpstp): Likewise.
10160
10161 2015-01-13  Jakub Jelinek  <jakub@redhat.com>
10162
10163         PR middle-end/63974
10164         * cfgexpand.c (expand_computed_goto): Don't call
10165         convert_memory_address here.
10166
10167 2015-01-13  Richard Biener  <rguenther@suse.de>
10168
10169         PR tree-optimization/64406
10170         * tree-loop-distibution.c (pass_loop_distribution::execute):
10171         Reset the SCEV hashtable if we distributed anything.
10172
10173 2015-01-13  Richard Biener  <rguenther@suse.de>
10174
10175         PR tree-optimization/64404
10176         * tree-vect-stmts.c (vectorizable_load): Reject conflicting
10177         SLP types for CSEd loads.
10178
10179 2015-01-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>
10180
10181         PR tree-optimization/64436
10182         * tree-ssa-math-opts.c (find_bswap_or_nop_1): Move code performing the
10183         merge of two symbolic numbers for a bitwise OR to ...
10184         (perform_symbolic_merge): This. Also fix computation of the range and
10185         end of the symbolic number corresponding to the result of a bitwise OR.
10186
10187 2015-01-13  Richard Biener  <rguenther@suse.de>
10188
10189         PR tree-optimization/64568
10190         * tree-ssa-forwprop.c (pass_forwprop::execute): Properly
10191         release defs of removed stmts, avoid splitting TARGET_MEM_REFs.
10192
10193 2015-01-13  Chung-Ju Wu  <jasonwucj@gmail.com>
10194
10195         * config/nds32/nds32.c (nds32_legitimate_address_p): Consider
10196         TARGET_CMODEL_LARGE and TARGET_CMODEL_MEDIUM cases.
10197
10198 2015-01-13  Chung-Ju Wu  <jasonwucj@gmail.com>
10199
10200         * config/nds32/nds32.h (NDS32_SYMBOL_FLAG_RODATA): Define our own
10201         target-specific symbol_ref flag.
10202         (NDS32_SYMBOL_REF_RODATA_P): Define it to check if the symbol_ref
10203         resides in rodata section.
10204         * config/nds32/nds32.c (TARGET_ENCODE_SECTION_INFO): Define.
10205         (nds32_encode_section_info): New function.
10206
10207 2015-01-13  Chung-Ju Wu  <jasonwucj@gmail.com>
10208
10209         * config/nds32/nds32.md (call): Use pseudo instruction bal which
10210         clobbers TA_REGNUM if large code model is specified.
10211         (call_register): Likewise.
10212         (call_immediate): Likewise.
10213         (call_value): Likewise.
10214         (call_value_register): Likewise.
10215         (call_value_immediate): Likewise.
10216
10217 2015-01-13  Chung-Ju Wu  <jasonwucj@gmail.com>
10218
10219         * config/nds32/nds32.h (TARGET_CMODEL_SMALL): New macro.
10220         (TARGET_CMODEL_MEDIUM): New macro.
10221         (TARGET_CMODEL_LARGE): New macro.
10222         * config/nds32/nds32.c (nds32_asm_file_start): Display corresponding
10223         code model setting in assembly code.
10224
10225 2015-01-13  Chung-Ju Wu  <jasonwucj@gmail.com>
10226
10227         * common/config/nds32/nds32-common.c (TARGET_DEFAULT_TARGET_FLAGS):
10228         Remove MASK_GP_DIRECT flag.
10229         * config/nds32/nds32.h (MULTILIB_DEFAULTS): Have -mcmodel=medium as
10230         one of the multilib default options.
10231         * config/nds32/nds32.opt (mgp-direct): Remove.
10232         * config/nds32/t-mlibs (MULTILIB_OPTIONS): Use -mcmodel instead of
10233         -mgp-direct.  We also remove unnecessary -mlittle-endian/-mbig-endian.
10234
10235 2015-01-13  Chung-Ju Wu  <jasonwucj@gmail.com>
10236
10237         * config/nds32/nds32.opt (mcmodel): Add new option.
10238         * config/nds32/nds32-opts.h (nds32_cmodel_type): Add new enum type
10239         to describe code model.
10240
10241 2015-01-13  Oleg Endo  <olegendo@gcc.gnu.org>
10242
10243         PR target/64479
10244         * rtlanal.c (set_reg_p): Handle SEQUENCE constructs.
10245
10246 2015-01-12  Kaz Kojima  <kkojima@gcc.gnu.org>
10247
10248         * config/sh/sh.c (sh_atomic_assign_expand_fenv): New function.
10249         (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
10250         (sh_builtin_get_fpscr, sh_builtin_set_fpscr): New variables.
10251         (sh_init_builtins): Record decls for __builtin_sh_get_fpscr and
10252         __builtin_sh_set_fpscr.
10253
10254 2015-01-12  Sandra Loosemore  <sandra@codesourcery.com>
10255
10256         * doc/invoke.texi ([-Wsuggest-attribute=]): Don't use parentheses
10257         after a funtion name just to indicate it is a function.
10258         ([-fsanitize-undefined-trap-on-error]): Likewise.
10259         ([-fdbg-cnt=]): Likewise.
10260         ([-mmemcpy]): Likewise.
10261         ([-mflush-func]): Likewise.
10262         ([-msynci]): Likewise.
10263
10264 2015-01-12  Sandra Loosemore  <sandra@codesourcery.com>
10265
10266         * doc/invoke.texi ([-Wbad-function-cast]): Rewrite to avoid confusing
10267         example.
10268
10269 2015-01-12  Jakub Jelinek  <jakub@redhat.com>
10270
10271         PR tree-optimization/64563
10272         * tree-vrp.c (vrp_evaluate_conditional): Check for VR_RANGE
10273         instead of != VR_VARYING.
10274
10275         PR target/64513
10276         * config/i386/i386.c (ix86_expand_prologue): Add
10277         REG_FRAME_RELATED_EXPR to %rax and %r10 pushes.
10278
10279         PR tree-optimization/64454
10280         * tree-vrp.c (simplify_div_or_mod_using_ranges): Optimize
10281         op0 % op1 into op0 if op0 is in range [-op1 + 1, op1 - 1]
10282         for signed or [0, op1 - 1] for unsigned modulo.
10283         (simplify_stmt_using_ranges): Call simplify_div_or_mod_using_ranges
10284         even if op1 does not satisfy integer_pow2p.
10285
10286         PR other/64370
10287         * sreal.c (sreal::to_double): Use ldexp instead of scalbnl.
10288
10289 2015-01-12  Jeff Law  <law@redhat.com>
10290
10291         PR target/64461
10292         * config/m68k/m68k.md (truncsiqi2): Disable for TARGET_COLDFIRE.
10293         (trunchiqi2, truncsihi2): Similarly.
10294
10295         * config/h8300/h8300.c (Fpa): Use RTX_FRAME_RELATED_P directly
10296         rather than calling F.
10297
10298 2015-01-12  Bernd Edlinger  <bernd.edlinger@hotmail.de>
10299
10300         * tsan.c (instrument_expr): Use force_gimple_operand.
10301         Use may_be_nonaddressable_p instead of is_gimple_addressable.
10302
10303 2015-01-12  Richard Biener  <rguenther@suse.de>
10304
10305         PR tree-optimization/64530
10306         * tree-loop-distribution.c (pg_add_dependence_edges): Shuffle
10307         back dr1.
10308
10309 2015-01-12  Richard Biener  <rguenther@suse.de>
10310
10311         PR middle-end/64357
10312         * tree-cfg.c (gimple_can_merge_blocks_p): Protect simple
10313         latches properly.
10314
10315 2015-01-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
10316
10317         * config/arm/arm.c (arm_cortex_a12_tune): Update entries to match
10318         Cortex-A17 tuning parameters.
10319         * config/arm/arm-cores.def (cortex-a12): Schedule for cortex-a17.
10320
10321 2015-01-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
10322
10323         * config/arm/arm-protos.h (tune_params): Add fuseable_ops field.
10324         * config/arm/arm.c (arm_macro_fusion_p): New function.
10325         (arm_macro_fusion_pair_p): Likewise.
10326         (TARGET_SCHED_MACRO_FUSION_P): Define.
10327         (TARGET_SCHED_MACRO_FUSION_PAIR_P): Likewise.
10328         (ARM_FUSE_NOTHING): Likewise.
10329         (ARM_FUSE_MOVW_MOVT): Likewise.
10330         (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,
10331         arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,
10332         arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,
10333         arm_cortex_a53_tune, arm_cortex_a57_tune, arm_cortex_a9_tune,
10334         arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune, arm_fa726te_tune
10335         arm_cortex_a5_tune): Specify fuseable_ops value.
10336
10337 2015-01-12  H.J. Lu  <hongjiu.lu@intel.com>
10338
10339         PR bootstrap/64561
10340         * configure.ac (HAVE_LD_PIE_COPYRELOC): Update Linux/x86-64 linker
10341         test for PIE with copy reloc.
10342         * configure: Regenerated.
10343
10344 2015-01-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
10345
10346         * config/arm/arm.c (arm_load_tp): Use R0_REGNUM instead of constant 0
10347         in gen_rtx_REG.
10348         (arm_tls_descseq_addr): Likewise.
10349         (arm_gen_movmemqi): Likewise.
10350         (arm_expand_epilogue_apcs_frame): Likewise.
10351         (arm_expand_epilogue): Likewise.
10352         (arm_expand_prologue): Likewise.  Use R1_REGNUM instead of constant 1
10353         in gen_rtx_REG.
10354
10355 2015-01-12  Martin Liska  <mliska@suse.cz>
10356
10357         PR ipa/64550
10358         * ipa-icf-gimple.c (func_checker::compare_memory_operand): Compare
10359         volatility for correct operands.
10360
10361 2015-01-12  Martin Liska  <mliska@suse.cz>
10362
10363         * ipa-icf.c (sem_function::equals_wpa): Add indirect_calls as indication
10364         that a function is not leaf.
10365         (sem_function::compare_polymorphic_p): Likewise.
10366
10367 2015-01-12  Martin Liska  <mliska@suse.cz>
10368
10369         * ipa-icf.c (sem_function::equals_wpa): Add indirect_calls as indication
10370         that a function is not leaf.
10371         (sem_function::compare_polymorphic_p): Likewise.
10372
10373 2015-01-12  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
10374
10375         * config/visium/visium.c: Add includes hashtab.h, hash-set.h,
10376         machmode.h, input.h, statistics.h, vec.h, double-int.h, real.h,
10377         fixed-value.h, alias.h, symtab.h, tree-core.h, wide-int.h, inchash.h,
10378         fold-const.h, tree-check.h.
10379
10380 2015-01-12  Jan Hubicka  <hubicka@ucw.cz>
10381
10382         PR ipa/63967
10383         PR ipa/64425
10384         * ipa-inline.c (compute_uninlined_call_time,
10385         compute_inlined_call_time): Use counts for extra precision when
10386         needed possible.
10387         (big_speedup_p): Fix formating.
10388         (RELATIVE_TIME_BENEFIT_RANGE): Remove.
10389         (relative_time_benefit): Remove.
10390         (edge_badness): Turn DECL_DISREGARD_INLINE_LIMITS into hint;
10391         merge guessed and read profile paths.
10392         (inline_small_functions): Count only !optimize_size functions into
10393         initial size; be more lax about sanity check when profile is used;
10394         be sure to update inlined function profile when profile is read.
10395
10396 2015-01-12  Jan Hubicka  <hubicka@ucw.cz>
10397
10398         PR ipa/63470
10399         * ipa-inline-analysis.c (inline_edge_duplication_hook): Adjust
10400         cost when edge becomes direct.
10401         * ipa-prop.c (make_edge_direct): Do not adjust when speculation
10402         is resolved or when introducing new speculation.
10403
10404 2015-01-12  Chen Gang  <gang.chen.5i5j@gmail.com>
10405
10406         PR ipa/64551
10407         PR ipa/64552
10408         * ipa-icf.c (sem_function::equals_private): Use '&&' instead of
10409         '||' to fix typo issue.
10410
10411         * gcc/tree.h (target_opts_for_fn): Check NULL_TREE since it can
10412         accept and return NULL.
10413
10414 2015-01-12  Martin Liska  <mliska@suse.cz>
10415
10416         * cgraph.c (cgraph_edge::remove_callee): Move function to header
10417         file for being inlined.
10418         (cgraph_set_edge_callee): Delete.
10419         (cgraph_edge::redirect_callee): Move function to header file
10420         for being inlined.
10421         (cgraph_edge::make_direct): Use new function.
10422         (cgraph_edge::dump_edge_flags): New function created from
10423         static dump_edge_flags function.
10424         (cgraph_node::dump): Use new function.
10425         (cgraph_edge::verify_count_and_frequency): New function created
10426         from verify_edge_count_and_frequency.
10427         (cgraph_edge::verify_corresponds_to_fndecl): New function created
10428         from verify_edge_corresponds_to_fndecl.
10429         (verify_edge_corresponds_to_fndecl): Delete.
10430         (cgraph_node::verify_node): Use new function.
10431         * cgraph.h (cgraph_edge::set_callee): New function.
10432         (cgraph_edge::dump_edge_flags): Likewise.
10433         (cgraph_edge::verify_corresponds_to_fndecl): Likewise.
10434
10435 2015-01-11  Jan Hubicka  <hubicka@ucw.cz>
10436
10437         * ipa-utils.c (estimate_function_body_sizes): Do not
10438         free node params when called late with early=true.
10439
10440 2015-01-11  James Greenhalgh  <james.greenhalgh@arm.com>
10441
10442         * doc/md.texi (Instruction Patterns): Rewrite text for
10443         clarity.
10444         (Example): Likewise.
10445
10446 2015-01-10  Sandra Loosemore  <sandra@codesourcery.com>
10447
10448         * doc/invoke.texi (Option Summary): Break long lines.
10449         [(-fdiagnostics-color)]: Put long literal in @smallexample
10450         instead of inline.
10451         [(-fsanitize-recover)]: Likewise.
10452         [(-fdump-rtl-split*)]: Rewrite to fix over-full hbox.
10453         [(-ffast-math)]: Likewise.
10454         [(--param max-inline-insns-recursive)]: Likewise.
10455         [(--param max-inline-recursive-depth)]: Likewise.
10456         [(-mno-text-section-literals)]: Likewise.
10457
10458 2015-01-10  Thomas Schwinge  <thomas@codesourcery.com>
10459
10460         * doc/install.texi: Update for libgomp being renamed from "GNU
10461         OpenMP Runtime Library" to "GNU Offloading and Multi Processing
10462         Runtime Library".
10463         * doc/sourcebuild.texi: Likewise.
10464
10465 2015-01-10  Anthony Green  <green@moxielogic.com>
10466
10467         * config/moxie/moxie.c (moxie_option_override): Fix forcing of
10468         mul.x availability for moxiebox configuration.
10469
10470 2015-01-09  Anthony Green  <green@moxielogic.com>
10471
10472         * config/moxie/moxie.md: Tabify assembly output.
10473
10474 2015-01-09  Anthony Green  <green@moxielogic.com>
10475
10476         * config/moxie/moxie.md (CC_REG): Correct register definition.
10477
10478 2015-01-09  Sandra Loosemore  <sandra@codesourcery.com>
10479
10480         * doc/invoke.texi ([-fvtable-verify]): Copy-edit and fix markup.
10481         ([-fvtv-debug], [-fvtv-counts]): Likewise.  Correct location
10482         of log files.
10483
10484 2015-01-09  Andreas Tobler  <andreast@gcc.gnu.org>
10485
10486         * config/arm/arm.h (MAX_SYNC_LIBFUNC_SIZE): Delete semicolon.
10487
10488 2015-01-09  Bernd Schmidt  <bernds@codesourcery.com>
10489             Jakub Jelinek  <jakub@redhat.com>
10490
10491         PR middle-end/64412
10492         * lto-streamer.h (lto_stream_offload_p): New declaration.
10493         * lto-streamer.c (lto_stream_offload_p): New variable.
10494         * cgraphunit.c (ipa_passes): Set lto_stream_offload_p
10495         at the same time as section_name_prefix.
10496         * lto-streamer-out.c (hash_tree): Don't hash TREE_TARGET_OPTION
10497         if lto_stream_offload_p.
10498         * tree-streamer-out.c (streamer_pack_tree_bitfields): Don't
10499         stream TREE_TARGET_OPTION if lto_stream_offload_p.
10500         (write_ts_function_decl_tree_pointers): Don't
10501         stream DECL_FUNCTION_SPECIFIC_TARGET if lto_stream_offload_p.
10502         * tree-streamer-in.c (unpack_value_fields): Don't stream
10503         TREE_TARGET_OPTION in if ACCEL_COMPILER.
10504         (lto_input_ts_function_decl_tree_pointers): Don't stream
10505         DECL_FUNCTION_SPECIFIC_TARGET in if ACCEL_COMPILER.
10506         * lto-opts.c (lto_write_options): Use lto_stream_offload_p
10507         instead of section_name_prefix string comparisons.
10508
10509 2015-01-09  Jakub Jelinek  <jakub@redhat.com>
10510
10511         PR rtl-optimization/64536
10512         * cfgrtl.c (rtl_tidy_fallthru_edge): Handle removal of degenerate
10513         tablejumps.
10514
10515 2015-01-09  Michael Collison  <michael.collison@linaro.org>
10516
10517         PR tree-optimization/64322
10518         * tree-vrp.c (extract_range_from_binary_expr_1): Attempt to derive
10519         range for RSHIFT_EXPR even if vr0 range is not VR_RANGE or is symbolic.
10520
10521 2015-01-09  Tom de Vries  <tom@codesourcery.com>
10522
10523         PR rtl-optimization/64539
10524         * regcprop.c (kill_clobbered_values): Factor out of ...
10525         (copyprop_hardreg_forward_1): ... here.  Use kill_clobbered_values
10526         instead of note_stores with kill_clobbered_value.
10527
10528 2015-01-09  Andreas Tobler  <andreast@gcc.gnu.org>
10529
10530          * ginclude/unwind-arm-common.h: Revert previous commit.
10531
10532 2015-01-09  Andreas Tobler  <andreast@gcc.gnu.org>
10533
10534         * config.gcc (arm*-*-freebsd*): New configuration.
10535         * config/arm/freebsd.h: New file.
10536         * config.host: Add extra components for arm*-*-freebsd*.
10537         * config/arm/arm.h: Introduce MAX_SYNC_LIBFUNC_SIZE.
10538         * config/arm/arm.c (arm_init_libfuncs): Use MAX_SYNC_LIBFUNC_SIZE.
10539
10540 2015-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
10541
10542         * config/rs6000/rtems.h (CPP_OS_RTEMS_SPEC): Define __PPC_CPU_E6500__
10543         for -mcpu=e6500.
10544         * config/rs6000/t-rtems: Add e6500 multilibs.
10545
10546 2015-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
10547
10548         * config/rs6000/t-rtems: Add -mno-spe to soft-float multilib for
10549         MPC8540.
10550
10551 2015-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
10552
10553         * config/rs6000/t-rtems: Use MULTILIB_REQUIRED instead of
10554         MULTILIB_EXCEPTIONS.
10555
10556 2015-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
10557
10558         * config/arm/t-rtems: Use MULTILIB_REQUIRED instead of
10559         MULTILIB_EXCEPTIONS.
10560
10561 2015-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
10562
10563         * config/arm/t-rtems-eabi: Rename to...
10564         * config/arm/t-rtems: ...this.
10565         * config/arm/rtems-eabi.h: Rename to...
10566         * config/arm/rtems.h: ...this.
10567         * config.gcc (arm*-*-rtems*): Reflect changes above.
10568
10569 2015-01-09  Richard Biener  <rguenther@suse.de>
10570
10571         PR tree-optimization/64410
10572         * tree-ssa.c (non_rewritable_lvalue_p): Allow REALPART/IMAGPART_EXPR
10573         on the LHS.
10574         (execute_update_addresses_taken): Deal with that.
10575         * tree-ssa-forwprop.c (pass_forwprop::execute): Use component-wise
10576         loads/stores for complex variables.
10577
10578 2015-01-09  Martin Liska  <mliska@suse.cz>
10579
10580         * ipa-icf-gimple.c (func_checker::compare_ssa_name): Enhance SSA
10581         name comparison.
10582         (func_checker::compare_memory_operand): New function.
10583         (func_checker::compare_operand): Split case to newly
10584         added functions.
10585         (func_checker::compare_cst_or_decl): New function.
10586         (func_checker::compare_gimple_call): Identify
10587         memory operands.
10588         (func_checker::compare_gimple_assign): Likewise.
10589         * ipa-icf-gimple.h: New function.
10590
10591 2015-01-09  Martin Liska  <mliska@suse.cz>
10592
10593         PR ipa/64503
10594         * sreal.c (sreal::dump): Change unsigned format to signed for
10595         m_exp value.
10596         (sreal::to_double): Replace exp2 with scalbln.
10597
10598 2015-01-09  Martin Liska  <mliska@suse.cz>
10599
10600         * cgraphunit.c (cgraph_node::create_wrapper): Fix level of indentation.
10601         * ipa-icf.c (sem_function::equals_private): Add support for target and
10602         (sem_item_optimizer::merge_classes): Remove redundant function
10603         optimization flags comparison.
10604         * tree.h (target_opts_for_fn): New function.
10605
10606 2015-01-09  Tom de Vries  <tom@codesourcery.com>
10607
10608         * omp-low.c (expand_omp_for_static_chunk): Fix assert.
10609
10610 2015-01-09  Kito Cheng  <kito@0xlab.org>
10611
10612         PR rtl-optimization/64348
10613         * lra-constraints.c (split_reg): Fix caller-save store/restore
10614         instruction generation.
10615
10616 2015-01-08  John David Anglin  <danglin@gcc.gnu.org>
10617
10618         PR gcov-profile/61790
10619         * gcov-tool.c (do_rewrite): Use strtoll instead of atoll if host has
10620         long long.  Fallback to int64_t if host doesn't have long long and
10621         use strtol if int64_t is long.  Otherwise, use sscanf for conversion.
10622
10623 2015-01-08  Jakub Jelinek  <jakub@redhat.com>
10624
10625         PR tree-optimization/63989
10626         * params.def (PARAM_MAX_TRACKED_STRLENS): Increment default
10627         from 1000 to 10000.
10628         * tree-ssa-strlen.c (get_strinfo): Moved earlier.
10629         (get_stridx): If we don't have a record for certain SSA_NAME,
10630         but it is POINTER_PLUS_EXPR of some SSA_NAME we do with
10631         constant offset, call get_stridx_plus_constant.
10632         (get_stridx_plus_constant): New function.
10633         (zero_length_string): Don't use get_stridx here.
10634
10635         PR target/55023
10636         PR middle-end/64388
10637         * dse.c (struct insn_info): Mention frame_read set also
10638         before reload for tail calls on some targets.
10639         (scan_insn): Revert 2014-12-22 change.  Set frame_read
10640         also before reload for tail calls if
10641         HARD_FRAME_POINTER_IS_ARG_POINTER.  Call add_wild_read
10642         instead of add_non_frame_wild_read for non-const/memset
10643         tail calls after reload.
10644
10645 2015-01-08  Jason Merrill  <jason@redhat.com>
10646
10647         * ubsan.c (do_ubsan_in_current_function): New.
10648         (pass_ubsan::gate): Use it.
10649         * ubsan.h: Declare it.
10650         * convert.c (convert_to_integer): Use it.
10651
10652 2015-01-08  Jakub Jelinek  <jakub@redhat.com>
10653
10654         PR target/64338
10655         * config/i386/i386.c (ix86_expand_int_movcc): Don't reverse
10656         compare_code when it is unconditionally overwritten afterwards.
10657         Use ix86_reverse_condition instead of reverse_condition.  Don't
10658         change code if *reverse_condition* returned UNKNOWN and don't
10659         swap ct/cf and negate diff in that case.
10660
10661 2015-01-08  Mike Stump  <mikestump@comcast.net>
10662
10663         * tsan.c (pass_tsan::gate): Add no_sanitize_thread support.
10664         (pass_tsan_O0::gate): Likewise.
10665         * extend.texi (Function Attributes): Add no_sanitize_thread
10666         documentation.
10667
10668 2015-01-08  Thomas Schwinge  <thomas@codesourcery.com>
10669
10670         * builtins.def (DEF_GOMP_BUILTIN): Also consider flag_offload_abi
10671         for registering builtins.
10672         * config/i386/intelmic-mkoffload.c (prepare_target_image): Don't
10673         add -fopenmp to the argv_obstack used when invoking
10674         compile_for_target.
10675
10676         * config/i386/intelmic-mkoffload.c (compile_for_target): Always
10677         add "-m32" or "-m64" to argv_obstack.
10678         (generate_host_descr_file): Likewise, when invoking host_compiler.
10679         (main): Always add "-m elf_i386" or "-m elf_x86_64" when invoking
10680         ld.
10681
10682 2015-01-08  Oleg Endo  <olegendo@gcc.gnu.org>
10683
10684         * config/sh/sh-mem.cc: Use constant as second operand when emitting
10685         tstsi_t insns.
10686
10687 2015-01-08  Oleg Endo  <olegendo@gcc.gnu.org>
10688
10689         PR target/55212
10690         * config/sh/sh.md (*addsi3_compact): Emit reg-reg copy instead of
10691         constant load if constant operand fits into I08.
10692
10693 2015-01-08  Jakub Jelinek  <jakub@redhat.com>
10694
10695         PR sanitizer/64336
10696         * tree.c (build2_stat): Fix up initialization of TREE_READONLY
10697         and TREE_THIS_VOLATILE for MEM_REFs.
10698         (build5_stat): Fix up initialization of TREE_READONLY and
10699         TREE_THIS_VOLATILE for TARGET_MEM_REFs.
10700
10701 2015-01-08  Kaz Kojima  <kkojima@gcc.gnu.org>
10702
10703         PR target/64533
10704         * config/sh/sh.md (*addsi3_compact): Use u constraint instead
10705         of r for the second alternative of the destination operand.
10706
10707 2015-01-07  Segher Boessenkool  <segher@kernel.crashing.org>
10708
10709         PR target/36557
10710         * config/rs6000/rs6000.md (*eqsi3_ext<mode>, *nesi3_ext<mode>): New.
10711
10712 2015-01-07  Sandra Loosemore  <sandra@codesourcery.com>
10713
10714         * doc/invoke.texi ([-fvtable-verify]): Fix markup on option
10715         keywords.
10716         ([-fivar-visibility], [-fvisibility]): Likewise.
10717
10718 2015-01-07  Sandra Loosemore  <sandra@codesourcery.com>
10719
10720         * doc/invoke.texi: Fix incorrect uses of @samp markup throughout
10721         the file where @code, @command, etc is more appropriate.
10722
10723 2015-01-06  Sandra Loosemore  <sandra@codesourcery.com>
10724
10725         * doc/invoke.texi (RS/6000 and PowerPC Options): Tidy formatting
10726         of -mrecip= documentation.
10727
10728 2015-01-06  Michael Meissner  <meissner@linux.vnet.ibm.com>
10729
10730         PR target/64505
10731         * config/rs6000/rs6000.c (rs6000_secondary_reload): Return the
10732         correct reload handler if -m32 -mpowerpc64 is used.
10733
10734 2015-01-06  Tom de Vries  <tom@codesourcery.com>
10735
10736         * tree-ssa-tail-merge.c: Fix typo in struct same_succ_def comment.
10737
10738 2015-01-08  Christian Bruel  <christian.bruel@st.com>
10739
10740         PR target/64507
10741         * config/sh/sh-mem.cc (sh_expand_cmpnstr): Check 0 length.
10742
10743 2015-01-06  Thomas Preud'homme  <thomas.preudhomme@arm.com>
10744
10745         PR tree-optimization/63259
10746         * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Stop checking
10747         if optab exists for 16bit byteswap.
10748
10749 2015-01-06  Jakub Jelinek  <jakub@redhat.com>
10750
10751         * opts.c (common_handle_option): Add support for
10752         -fno-sanitize=all and -f{,no-}sanitize-recover=all.
10753         * doc/invoke.texi: Document -fno-sanitize=all,
10754         -f{,no-}sanitize-recover=all.  Document that
10755         -fsanitize=float-cast-overflow is not enabled
10756         by -fsanitize=undefined.  Fix up documentation
10757         of -f{,no-}sanitize-recover.
10758
10759 2015-01-06  Eric Botcazou  <ebotcazou@adacore.com>
10760
10761         * config.gcc: Add Visium support.
10762         * configure.ac: Likewise.
10763         * configure: Regenerate.
10764         * doc/extend.texi (interrupt attribute): Add Visium.
10765         * doc/invoke.texi: Document Visium options.
10766         * doc/install.texi: Document Visium target.
10767         * doc/md.texi: Document Visium constraints.
10768         * common/config/visium: New directory.
10769         * config/visium: Likewise.
10770
10771 2015-01-05  Segher Boessenkool  <segher@kernel.crashing.org>
10772
10773         * simplify-rtx.c (simplify_binary_operation_1): Handle more cases
10774         for the "(and X (ior (not X) Y) -> (and X Y)" transform.
10775
10776 2015-01-05  Segher Boessenkool  <segher@kernel.crashing.org>
10777
10778         * combine.c (combine_validate_cost): Do not count the cost of a
10779         split I2 twice.  Do not display it twice in the dump, either.
10780
10781 2015-01-05  Sandra Loosemore  <sandra@codesourcery.com>
10782
10783         Revert parts of r219199.
10784         * doc/invoke.texi ([-Wliteral-suffix]): Restore markup on
10785         <inttypes.h>.
10786         ([-Wtraditional]): Restore markup on <limits.h>.
10787
10788 2015-01-05  Trevor Saunders  <tsaunders@mozilla.com>
10789
10790         PR c++/31397
10791         * doc/invoke.texi: Document -Wsuggest-override.
10792
10793 2015-01-05  Radovan Obradovic  <radovan.obradovic@imgtec.com>
10794
10795         PR rtl-optimization/64287
10796         * toplev.c (HAVE_epilogue, HAVE_prologue): Provide default.
10797         (process_options): Disable flag_ipa_ra if profiling.
10798
10799 2015-01-05  Eric Botcazou  <ebotcazou@adacore.com>
10800
10801         * config/nds32/nds32-peephole2.md: Do not mention define_peephole.
10802
10803 2015-01-05  Max Filippov  <jcmvbkbc@gmail.com>
10804
10805         * config/xtensa/xtensa.c (hwloop_optimize, hwloop_fail,
10806         hwloop_pattern_reg, xtensa_doloop_hooks, xtensa_reorg_loops):
10807         put under #if TARGET_LOOPS guard.
10808
10809 2015-01-05  Uros Bizjak  <ubizjak@gmail.com>
10810
10811         * config/i386/i386.c (output_387_binary_op): Use std::swap.
10812
10813 2015-01-05  Oleg Endo  <olegendo@gcc.gnu.org>
10814
10815         * rtlanal.c (refers_to_regno_p): Change return value from int to bool.
10816         * rtl.h (refers_to_regno_p): Add overload.
10817         * cse.c: Use it.
10818         * bt-load.c: Likewise.
10819         * combine.c: Likewise.
10820         * df-scan.c: Likewise.
10821         * sched-deps.c: Likewise.
10822         * config/s390/s390.c: Likewise.
10823         * config/m32r/m32r.c: Likewise.
10824         * config/rs6000/spe.md: Likewise.
10825         * config/rs6000/rs6000.c: Likewise.
10826         * config/pa/pa.c: Likewise.
10827         * config/stormy16/stormy16.c: Likewise.
10828         * config/cris/cris.c: Likewise.
10829         * config/arc/arc.md: Likewise.
10830         * config/arc/arc.c: Likewise.
10831         * config/sh/sh.md: Likewise.
10832         * config/sh/sh.c: Likewise.
10833         * config/frv/frv.c: Likewise.
10834
10835 2015-01-05  Jakub Jelinek  <jakub@redhat.com>
10836
10837         PR sanitizer/64265
10838         * gimplify.c (gimplify_function_tree): Add TSAN_FUNC_EXIT internal
10839         call as cleanup of the whole body.
10840         * internal-fn.def (TSAN_FUNC_EXIT): New internal call.
10841         * tsan.c (replace_func_exit): New function.
10842         (instrument_func_exit): Moved earlier.
10843         (instrument_memory_accesses): Adjust TSAN_FUNC_EXIT internal calls.
10844         Call instrument_func_exit if no TSAN_FUNC_EXIT internal calls have
10845         been found.
10846         (tsan_pass): Don't call instrument_func_exit.
10847         * internal-fn.c (expand_TSAN_FUNC_EXIT): New function.
10848         * tree-inline.c (copy_bb): Drop TSAN_FUNC_EXIT internal calls during
10849         inlining.
10850
10851         PR sanitizer/64344
10852         * ubsan.h (ubsan_instrument_float_cast): Add ARG argument.
10853         * ubsan.c (ubsan_instrument_float_cast): Add ARG argument, pass
10854         it to libubsan handler instead of EXPR.  Fold comparisons earlier,
10855         if the result is integer_zerop, return NULL_TREE.
10856         * convert.c (convert_to_integer): Pass expr as ARG.
10857
10858         PR tree-optimization/64465
10859         * tree-inline.c (redirect_all_calls): During inlining
10860         clean up EH stmts and EH edges if redirect_call_stmt_to_callee
10861         changed the stmt to a non-throwing call.
10862
10863 2015-01-05  Sandra Loosemore  <sandra@codesourcery.com>
10864
10865         * doc/invoke.texi: Fix incorrect uses of @code, @option, @samp,
10866         etc markup throughout the file.
10867
10868 2015-01-05  Bernd Edlinger  <bernd.edlinger@hotmail.de>
10869
10870         Enable experimental TSAN support for Ada.
10871         * tsan.c (instrument_expr): Handle VIEW_CONVERT_EXPR.
10872
10873 2015-01-05  Jakub Jelinek  <jakub@redhat.com>
10874
10875         PR tree-optimization/64494
10876         * tree-ssa-loop-im.c (move_computations_dom_walker::before_dom): Also
10877         clear SSA_NAME_ANTI_RANGE_P flag.
10878
10879 2015-01-05  Marek Polacek  <polacek@redhat.com>
10880
10881         * doc/extend.texi (Arrays of Length Zero): Add missing comma.
10882
10883 2015-01-05  Jakub Jelinek  <jakub@redhat.com>
10884
10885         Update copyright years.
10886
10887         * gcc.c (process_command): Update copyright notice dates.
10888         * gcov-dump.c: Ditto.
10889         * gcov.c: Ditto.
10890         * doc/cpp.texi: Bump @copying's copyright year.
10891         * doc/cppinternals.texi: Ditto.
10892         * doc/gcc.texi: Ditto.
10893         * doc/gccint.texi: Ditto.
10894         * doc/gcov.texi: Ditto.
10895         * doc/install.texi: Ditto.
10896         * doc/invoke.texi: Ditto.
10897
10898         * auto-profile.c, auto-profile.h: Fix up Copyright line.
10899
10900 2015-01-04  Sandra Loosemore  <sandra@codesourcery.com>
10901
10902         * doc/invoke.texi ([-fsized-deallocation]): Copy-edit to fix
10903         verb tense, etc.
10904         ([-fvtable-verify], [-fvtv-debug]): Likewise.
10905         ([-Wabi]): Likewise.
10906         ([-fmessage-length]): Likewise.
10907         ([-Wsuggest-final-types], [-Wsuggest-final-methods]): Likewise.
10908         ([-Wno-discarded-qualifiers]): Likewise.
10909         ([-Wnodiscarded-array-qualifiers]): Likewise.
10910         ([-Wno-virtual-move-assign]): Likewise.
10911         ([-fsanitize=address], [-fsanitize=thread]): Likewise.
10912         ([-fsanitize=leak], [-fsanitize=undefined]): Likewise.
10913         ([-fsanitize=unreachable], [-fsanitize-recover]): Likewise.
10914         ([-fsanitize-undefined-trap-on-error]): Likewise.
10915         ([-floop-interchange]): Likewise.
10916         ([-ftree-coalesce-inlined-vars]): Likewise.
10917         ([-fvect-cost-model]): Likewise.
10918         ([-flto]): Likewise.
10919         ([--param]): Likewise.
10920         (Spec Files): Likewise.
10921         ([-mstrict-align]): Likewise.
10922         ([-mfix-cortex-a53-835769]): Likewise.
10923         ([-march], [-mtune]): Likewise.
10924         ([-mpic-register]): Likewise.
10925         ([-munaligned-access]): Likewise.
10926         ([-msp8]): Likewise.
10927         (EIND and Devices with more than 128 Ki Bytes of Flash): Likewise.
10928         (AVR Built-in Macros): Likewise.
10929         ([-mpreferred-stack-boundary]): Likewise.
10930         ([-mtune-crtl]): Likewise.
10931         ([-mashf]): Likewise.
10932         ([-mmcu=]): Likewise.
10933         ([-minrt]): Likewise.
10934         ([-maltivec], [-maltivec=be], [-maltivec=le]): Likewise.
10935         ([-mupper-regs]): Likewise.
10936         ([-matomic-model]): Likewise.
10937         ([-mdiv]): Likewise.
10938         ([-mzdcbranch]): Likewise.
10939         ([-mdisable-callt]): Likewise.
10940         ([-msoft-float]): Likewise.
10941         ([-m8byte-align]): Likewise.
10942         ([-fstack-reuse]): Likewise.
10943
10944 2015-01-03  Sandra Loosemore  <sandra@codesourcery.com>
10945
10946         * doc/invoke.texi ([-fprofile-generate], [-fprofile-use]):
10947         Fix markup, light copy-editing.
10948         ([-fauto-profile]): Rewrite to fix formatting and content
10949         problems.
10950
10951 2015-01-03  Sandra Loosemore  <sandra@codesourcery.com>
10952
10953         * doc/invoke.texi ([-fisolate-erroneous-paths-dereference]):
10954         Copy-edit description.
10955         ([-fisolate-erroneous-paths-attribute]): Likewise.
10956         * common.opt (fisolate-erroneous-paths-dereference):
10957         Copy-edit description.
10958         (fisolate-erroneous-paths-attribute): Likewise.
10959
10960 2015-01-03  Sandra Loosemore  <sandra@codesourcery.com>
10961
10962         * doc/invoke.texi ([-fsemantic-interposition]): Fix typos and
10963         tidy grammar.
10964
10965 2015-01-03  Sandra Loosemore  <sandra@codesourcery.com>
10966
10967         * doc/invoke.texi ([-fplan9-extensions]): Add/fix @opindex.
10968         ([-fvtv-debug]): Likewise.
10969         ([-Wc++-compat]): Likewise.
10970         ([-Wc++11-compat]): Likewise.
10971         ([-Wc++14-compat]): Likewise.
10972         ([-Wno-sized-deallocation]): Likewise.
10973         ([-femit-class-debug-always]): Likewise.
10974         ([-femit-struct-debug-detailed]): Likewise.
10975         ([-fno-keep-inline-dllexport]): Likewise.
10976         ([-fira-algorithm]): Likewise.
10977         ([-fira-region]): Likewise.
10978         ([-flra-remat]): Likewise.
10979         ([-fipa-ra]): Likewise.
10980         ([-fhoist-adjacent-loads]): Likewise.
10981         ([-fisolate-erroneous-paths-dereference]): Likewise.
10982         ([-fisolate-erroneous-paths-attribute]): Likewise.
10983         ([-ftree-switch-conversion]): Likewise.
10984         ([-ftree-tail-merge]): Likewise.
10985         ([-ftree-loop-if-convert]): Likewise.
10986         ([-ftree-loop-if-convert-stores]): Likewise.
10987         ([-ftree-loop-distribution]): Likewise.
10988         ([-ftree-loop-distribute-patterns]): Likewise.
10989         ([-flto-compression-level]): Likewise.
10990         ([-flto-report]): Likewise.
10991         ([-flto-report-wpa]): Likewise.
10992         ([-fuse-linker-plugin]): Likewise.
10993         ([-mfix-cortex-a53-835769]): Likewise.
10994         ([-mno-fix-cortex-a53-835769]): Likewise.
10995         ([-mmmx]...[-mno-3dnow]): Remove the -mno- forms from the
10996         explicit listing; add a note to the discussion indicating they
10997         exist.  Reorder table to group similar options.  Add missing
10998         @opindex entries.  Add @need commands throughout the table to
10999         allow it to be split across multiple pages.
11000         ([-m8bit-idiv]): Fix @opindex.
11001         ([-mavx256-split-unaligned-load]): Likewise.
11002         ([-mavx256-split-unaligned-store]): Likewise.
11003         ([-mstack-protector-guard]): Likewise.
11004         ([-mcpu=]): Likewise.
11005         ([-mcpu]): Likewise.
11006         ([-mpointer-size=]): Likewise.
11007
11008 2015-01-03  John David Anglin  <danglin@gcc.gnu.org>
11009
11010         * config/pa/pa.md (decrement_and_branch_until_zero): Use `Q' constraint
11011         instead of `m' constraint.  Likewise for unnamed movb comparison
11012         patterns using reg_before_reload_operand predicate.
11013         * config/pa/predicates.md (reg_before_reload_operand): Tighten
11014         predicate to reject register index and LO_SUM DLT memory forms
11015         after reload.
11016
11017 2015-01-02  Sandra Loosemore  <sandra@codesourcery.com>
11018
11019         * doc/invoke.texi (Option Summary): Fix spelling of
11020         -fdevirtualize-at-ltrans.
11021         ([-fdevirtualize]): Fix markup.
11022         ([-fdevirtualize-speculatively]): Fix typo.
11023         ([-fdevirtualize-at-ltrans]): Likewise.  Make description less
11024         implementor-speaky.
11025         * common.opt (fdevirtualize-at-ltrans): Likewise.
11026         * ipa-devirt.c: Fix typos in comments throughout the file.
11027         (ipa_devirt): Fix typos in format strings for dump output.
11028
11029 2015-01-02  Sandra Loosemore  <sandra@codesourcery.com>
11030
11031         * doc/invoke.texi ([-fopt-info]): Fix markup, consolidate
11032         discussion of defaults, light copy-editing.
11033
11034 2015-01-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
11035
11036         * tsan.c (instrument_expr): corrected previous checkin.
11037
11038 2015-01-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
11039
11040         Instrument bit field and unaligned accesses for TSAN.
11041         * sanitizer.def (BUILT_IN_TSAN_READ_RANGE): New built-in function.
11042         (BUILT_IN_TSAN_WRITE_RANGE): New built-in function.
11043         * tsan.c (instrument_expr): Handle COMPONENT_REF and BIT_FIELD_REF.
11044         Use BUILT_IN_TSAN_READ_RANGE and BUILT_IN_TSAN_WRITE_RANGE for
11045         unaligned memory regions.
11046
11047 2015-01-01  Anthony Green  <green@moxielogic.com>
11048
11049         * config/moxie/predicates.md (moxie_general_movsrc_operand):
11050         Restrict move source register offsets to 16 bits.
11051 \f
11052 Copyright (C) 2015 Free Software Foundation, Inc.
11053
11054 Copying and distribution of this file, with or without modification,
11055 are permitted in any medium without royalty provided the copyright
11056 notice and this notice are preserved.