re PR ipa/63470 (internal compiler error: in estimate_edge_growth, at ipa-inline...
[official-gcc.git] / gcc / ChangeLog
blob29dab900e8c5119cc71e263825004fdead766c0d
1 2015-01-12  Jan Hubicka  <hubicka@ucw.cz>
3         PR ipa/63470
4         * ipa-inline-analysis.c (inline_edge_duplication_hook): Adjust
5         cost when edge becomes direct.
6         * ipa-prop.c (make_edge_direct): Do not adjust when speculation
7         is resolved or when introducing new speculation.
9 2015-01-12  Chen Gang  <gang.chen.5i5j@gmail.com>
11         PR ipa/64551
12         PR ipa/64552
13         * ipa-icf.c (sem_function::equals_private): Use '&&' instead of
14         '||' to fix typo issue.
16         * gcc/tree.h (target_opts_for_fn): Check NULL_TREE since it can
17         accept and return NULL.
19 2015-01-12  Martin Liska  <mliska@suse.cz>
21         * cgraph.c (cgraph_edge::remove_callee): Move function to header
22         file for being inlined.
23         (cgraph_set_edge_callee): Delete.
24         (cgraph_edge::redirect_callee): Move function to header file
25         for being inlined.
26         (cgraph_edge::make_direct): Use new function.
27         (cgraph_edge::dump_edge_flags): New function created from
28         static dump_edge_flags function.
29         (cgraph_node::dump): Use new function.
30         (cgraph_edge::verify_count_and_frequency): New function created
31         from verify_edge_count_and_frequency.
32         (cgraph_edge::verify_corresponds_to_fndecl): New function created
33         from verify_edge_corresponds_to_fndecl.
34         (verify_edge_corresponds_to_fndecl): Delete.
35         (cgraph_node::verify_node): Use new function.
36         * cgraph.h (cgraph_edge::set_callee): New function.
37         (cgraph_edge::dump_edge_flags): Likewise.
38         (cgraph_edge::verify_corresponds_to_fndecl): Likewise.
40 2015-01-11  Jan Hubicka  <hubicka@ucw.cz>
42         * ipa-utils.c (estimate_function_body_sizes): Do not
43         free node params when called late with early=true.
45 2015-01-11  James Greenhalgh  <james.greenhalgh@arm.com>
47         * doc/md.texi (Instruction Patterns): Rewrite text for
48         clarity.
49         (Example): Likewise.
51 2015-01-10  Sandra Loosemore  <sandra@codesourcery.com>
53         * doc/invoke.texi (Option Summary): Break long lines.
54         [(-fdiagnostics-color)]: Put long literal in @smallexample
55         instead of inline.
56         [(-fsanitize-recover)]: Likewise.
57         [(-fdump-rtl-split*)]: Rewrite to fix over-full hbox.
58         [(-ffast-math)]: Likewise.
59         [(--param max-inline-insns-recursive)]: Likewise.
60         [(--param max-inline-recursive-depth)]: Likewise.
61         [(-mno-text-section-literals)]: Likewise.
62         
63 2015-01-10  Thomas Schwinge  <thomas@codesourcery.com>
65         * doc/install.texi: Update for libgomp being renamed from "GNU
66         OpenMP Runtime Library" to "GNU Offloading and Multi Processing
67         Runtime Library".
68         * doc/sourcebuild.texi: Likewise.
70 2015-01-10  Anthony Green  <green@moxielogic.com>
72         * config/moxie/moxie.c (moxie_option_override): Fix forcing of
73         mul.x availability for moxiebox configuration.
75 2015-01-09  Anthony Green  <green@moxielogic.com>
77         * config/moxie/moxie.md: Tabify assembly output.
79 2015-01-09  Anthony Green  <green@moxielogic.com>
81         * config/moxie/moxie.md (CC_REG): Correct register definition.
83 2015-01-09  Sandra Loosemore  <sandra@codesourcery.com>
85         * doc/invoke.texi ([-fvtable-verify]): Copy-edit and fix markup.
86         ([-fvtv-debug], [-fvtv-counts]): Likewise.  Correct location
87         of log files.
89 2015-01-09  Andreas Tobler  <andreast@gcc.gnu.org>
91         * config/arm/arm.h (MAX_SYNC_LIBFUNC_SIZE): Delete semicolon.
93 2015-01-09  Bernd Schmidt  <bernds@codesourcery.com>
94             Jakub Jelinek  <jakub@redhat.com>
96         PR middle-end/64412
97         * lto-streamer.h (lto_stream_offload_p): New declaration.
98         * lto-streamer.c (lto_stream_offload_p): New variable.
99         * cgraphunit.c (ipa_passes): Set lto_stream_offload_p
100         at the same time as section_name_prefix.
101         * lto-streamer-out.c (hash_tree): Don't hash TREE_TARGET_OPTION
102         if lto_stream_offload_p.
103         * tree-streamer-out.c (streamer_pack_tree_bitfields): Don't
104         stream TREE_TARGET_OPTION if lto_stream_offload_p.
105         (write_ts_function_decl_tree_pointers): Don't
106         stream DECL_FUNCTION_SPECIFIC_TARGET if lto_stream_offload_p.
107         * tree-streamer-in.c (unpack_value_fields): Don't stream
108         TREE_TARGET_OPTION in if ACCEL_COMPILER.
109         (lto_input_ts_function_decl_tree_pointers): Don't stream
110         DECL_FUNCTION_SPECIFIC_TARGET in if ACCEL_COMPILER.
111         * lto-opts.c (lto_write_options): Use lto_stream_offload_p
112         instead of section_name_prefix string comparisons.
114 2015-01-09  Jakub Jelinek  <jakub@redhat.com>
116         PR rtl-optimization/64536
117         * cfgrtl.c (rtl_tidy_fallthru_edge): Handle removal of degenerate
118         tablejumps.
120 2015-01-09  Michael Collison  <michael.collison@linaro.org>
122         * genattrtab.c (write_header): Include hash-set.h, machmode.h,
123         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
124         fold-const.h, wide-int.h, and inchash.h when generating
125         insn-attrtab.c.
126         * genautomata.c (main) : Include hash-set.h, macInclude hash-set.h, machmode.h,
127         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
128         fold-const.h, wide-int.h, and inchash.h when generating
129         insn-automata.c.
130         * genemit.c (main): Include hash-set.h, machmode.h,
131         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
132         fold-const.h, wide-int.h, and inchash.h when generating
133         insn-emit.c.
134         * gengtype.c (open_base_files): Include hash-set.h, machmode.h,
135         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
136         fold-const.h, wide-int.h, and inchash.h when generating
137         gtype-desc.c.
138         * genopinit.c (main): Include hash-set.h, machmode.h,
139         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
140         fold-const.h, wide-int.h, and inchash.h when generating
141         insn-opinit.c.
142         * genoutput.c (output_prologue): Include hash-set.h, machmode.h,
143         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
144         fold-const.h, wide-int.h, and inchash.h when generating
145         insn-output.c.
146         * genpeep.c (main): Include hash-set.h, machmode.h,
147         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
148         fold-const.h, wide-int.h, and inchash.h when generating
149         insn-peep.c.
150         * genpreds.c (write_insn_preds_c): Include hash-set.h, machmode.h,
151         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
152         fold-const.h, wide-int.h, and inchash.h when generating
153         insn-preds.c.
154         * optc-save-gen-awk: Include hash-set.h, machmode.h,
155         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
156         fold-const.h, wide-int.h, and inchash.h when generating
157         options-save.c.
158         * opth-gen.awk: Change include guard from GCC_C_COMMON_H to GCC_C_COMMON_C
159         when generating options.h.
160         * alias.c: Include hash-set.h, machmode.h,
161         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
162         fold-const.h, wide-int.h, and inchash.h due to
163         flattening of tree.h.
164         * asan.c: Ditto.
165         * attribs.c: Ditto.
166         * auto-inc-dec.c: Ditto.
167         * auto-profile.c: Ditto
168         * bb-reorder.c: Ditto.
169         * bt-load.c: Include symtab.h due to flattening of tree.h.
170         * builtins.c: Include hash-set.h, machmode.h,
171         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
172         fold-const.h, wide-int.h, and inchash.h due to
173         flattening of tree.h.
174         * calls.c: Include hash-set.h, machmode.h,
175         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
176         fold-const.h, wide-int.h, and inchash.h due to
177         flattening of tree.h.
178         * ccmp.c: Ditto.
179         * cfgbuild.c: Include hash-set.h, machmode.h,
180         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
181         fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
182         * cfg.c: Ditto.
183         * cfgcleanup.c: Ditto.
184         * cfgexpand.c: Ditto.
185         * cfghooks.c: Ditto.
186         * cfgloop.c: Include symtab.h, fold-const.h, and
187         inchash.h due to flattening of tree.h.
188         * cfgloopmanip.c: Ditto.
189         * cfgrtl.c: Include hash-set.h, machmode.h,
190         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
191         fold-const.h, wide-int.h, and inchash.h due to
192         flattening of tree.h.
193         * cgraphbuild.c: Ditto.
194         * cgraph.c: Ditto.
195         * cgraphclones.c: Ditto.
196         * cgraphunit.c: Ditto.
197         * cilk-common.c: Ditto.
198         * combine.c: Ditto.
199         * combine-stack-adj.c: Include symbol.h due to flattening of tree.h.
200         * config/aarch64/aarch64-builtins.c: Include hash-set.h, machmode.h,
201         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
202         fold-const.h, wide-int.h, and inchash.h due to
203         flattening of tree.h.
204         * config/aarch64/aarch64.c: Ditto.
205         * config/alpha/alpha.c: Ditto.
206         * config/arc/arc.c: Ditto.
207         * config/arm/aarch-common.c: Ditto.
208         * config/arm/arm-builtins.c: Ditto.
209         * config/arm/arm.c: Ditto.
210         * config/arm/arm-c.c: Ditto.
211         * config/avr/avr.c: Ditto.
212         * config/avr/avr-c.c: Ditto.
213         * config/avr/avr-log.c: Ditto.
214         * config/bfin/bfin.c: Ditto.
215         * config/c6x/c6x.c: Ditto.
216         * config/cr16/cr16.c: Ditto.
217         * config/cris/cris.c: Ditto.
218         * config/darwin.c: Ditto.
219         * config/darwin-c.c: Ditto.
220         * config/default-c.c: Ditto.
221         * config/epiphany/epiphany.c: Ditto.
222         * config/fr30/fr30.c: Ditto.
223         * config/frv/frv.c: Ditto.
224         * config/glibc-c.c: Ditto.
225         * config/h8300/h8300.c: Ditto.
226         * config/i386/i386.c: Ditto.
227         * config/i386/i386-c.c: Ditto.
228         * config/i386/msformat.c: Ditto.
229         * config/i386/winnt.c: Ditto.
230         * config/i386/winnt-cxx.c: Ditto.
231         * config/i386/winnt-stubs.c: Ditto.
232         * config/ia64/ia64.c: Ditto.
233         * config/ia64/ia64-c.c: Ditto.
234         * config/iq2000/iq2000.c: Ditto.
235         * config/lm32/lm32.c: Include symtab.h, fold-const.h,
236         wide-int.h, and inchash.h due to flattening of tree.h.
237         * config/m32c/m32c.c: Include hash-set.h, machmode.h,
238         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
239         fold-const.h, wide-int.h, and inchash.h due to
240         flattening of tree.h.
241         * config/m32c/m32c-pragma.c: Ditto.
242         * config/m32c/m32cr.c: Ditto.
243         * config/m68/m68k.c: Ditto.
244         * config/mcore/mcore.c: Ditto.
245         * config/mep/mep.c: Ditto.
246         * config/mep/mep-pragma.c: Ditto.
247         * config/microblaze/microblaze.c: Ditto.
248         * config/microblaze/microblaze-c.c: Ditto.
249         * config/mips/mips.c: Ditto.
250         * config/mmix/mmix.c: Include symtab.h, fold-const.h,
251         wide-int.h, and inchash.h due to flattening of tree.h.
252         * config/mn10300/mn10300.c: Include hash-set.h, machmode.h,
253         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
254         fold-const.h, wide-int.h, and inchash.h due to
255         flattening of tree.h.
256         * config/moxie/moxie.c: Ditto.
257         * config/msp430/msp430.c: Ditto.
258         * config/msp430/msp430-c.c: Ditto.
259         * config/nds32/nds32.c: Ditto.
260         * config/nds32/nds32-cost.c: Ditto.
261         * config/nds32/nds32-fp-as-gp.c: Ditto.
262         * config/nds32/nds32-intrinsic.c: Ditto.
263         * config/nds32/nds32-isr.c: Ditto.
264         * config/nds32/nds32-md-auxillary.c: Ditto.
265         * config/nds32/nds32-memory-manipulationx.c: Ditto.
266         * config/nds32/nds32-pipelines-auxillary.c: Ditto.
267         * config/nds32/nds32-predicates.c: Ditto.
268         * config/nios2/nios2.c: Ditto.
269         * config/nvptx/nvptx.c: Ditto.
270         * config/pa/pa.c: Ditto.
271         * config/pdp11/pdp11x.c: Include symtab.h, fold-const.h,
272         wide-int.h, and inchash.h due to flattening of tree.h.
273         * config/rl78/rl78.c: Include hash-set.h, machmode.h,
274         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
275         fold-const.h, wide-int.h, and inchash.h due to
276         flattening of tree.h.
277         * config/rl78/rl78-cx.c: Ditto.
278         * config/rs6000/rs6000.c: Ditto.
279         * config/rs6000/rs6000-c.c: Ditto.
280         * config/rx/rx.c: Ditto.
281         * config/s390/s390.c: Ditto.
282         * config/sh/sh.c: Ditto.
283         * config/sh/sc.c: Ditto.
284         * config/sh/sh-mem.cc: Ditto.
285         * config/sh/sh_treg_combine.cc: Include symtab.h, inchash.h and tree.h
286         due to flattening of tree.h.
287         Remove include of tree-core.h.
288         * config/sol2.c: Include hash-set.h, machmode.h,
289         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
290         fold-const.h, wide-int.h, and inchash.h due to
291         flattening of tree.h.
292         * config/sol2-c.c: Ditto.
293         * config/sol2-cxx.c: Ditto.
294         * config/sol2-stubs.c: Ditto.
295         * config/sparc/sparc.c: Ditto.
296         * config/sparc/sparc-cx.c: Ditto.
297         * config/spu/spu.c: Ditto.
298         * config/spu/spu-c.c: Ditto
299         * config/storym16/stormy16.c: Ditto.
300         * config/tilegx/tilegx.c: Include symtab.h, fold-const.h,
301         wide-int.h, and inchash.h due to flattening of tree.h.
302         * config/tilepro/gen-mul-tables.cc: Include symtab.h in generated file.
303         * config/tilegx/tilegx-c.c: Include hash-set.h, machmode.h,
304         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
305         fold-const.h, wide-int.h, and inchash.h due to
306         flattening of tree.h.
307         * config/tilepro/tilepro.c: Include symtab.h, fold-const.h,
308         wide-int.h, and inchash.h due to flattening of tree.h.
309         * config/tilepro/tilepro-c.c: Include hash-set.h, machmode.h,
310         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
311         fold-const.h, wide-int.h, and inchash.h due to
312         flattening of tree.h.
313         * config/v850/v850.c: Ditto.
314         * config/v850/v850-c.c: Ditto.
315         * config/vax/vax.c: Ditto.
316         * config/vms/vms.c: Ditto.
317         * config/vms/vms-c.c: Ditto.
318         * config/vxworks.c: Ditto.
319         * config/winnt-c.c: Ditto.
320         * config/xtensa/xtensa.c: Include symtab.h, fold-const.h,
321         wide-int.h, and inchash.h due to flattening of tree.h.
322         * convert.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
323         input.h, alias.h, symtab.h, options.h, fold-const.h,
324         wide-int.h, and inchash.h due to flattening of tree.h.
325         * coverage.c: Ditto.
326         * cppbuiltin.c: Ditto.
327         * cprop.c: Ditto.
328         * cse.c: Add include of symtab.h due to flattening of tree.h.
329         * cselib.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
330         input.h, alias.h, symtab.h, options.h, fold-const.h,
331         wide-int.h, and inchash.h due to flattening of tree.h.
332         * data-streamer.c: Ditto.
333         * data-streamer-in.c: Ditto.
334         * data-streamer-out.c: Ditto.
335         * dbxout.c: Ditto.
336         * dce.c: Ditto.
337         * ddg.c: Add include of symtab.h due to flattening of tree.h.
338         * debug.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
339         input.h, alias.h, symtab.h, options.h, fold-const.h,
340         wide-int.h, and inchash.h due to flattening of tree.h.
341         * dfp.c: Ditto.
342         * df-scan.c: Ditto.
343         * dojump.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
344         input.h, alias.h, symtab.h, options.h, fold-const.h,
345         wide-int.h, inchash.h and real.h due to flattening of tree.h.
346         * double-int.c: Ditto.
347         * dse.c: Ditto.
348         * dumpfile.c: Ditto.
349         * dwarf2asm.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
350         input.h, alias.h, symtab.h, fold-const.h,
351         wide-int.h, inchash.h and real.h due to flattening of tree.h.
352         * dwarf2cfi.c: Ditto.
353         * dwarf2out.c: Ditto.
354         * emit-rtl.c: Ditto.
355         * except.c: Ditto.
356         * explow.c: Ditto.
357         * expmed.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
358         input.h, alias.h, symtab.h, fold-const.h,
359         wide-int.h, and inchash.h due to flattening of tree.h.
360         * expr.c: Ditto.
361         * final.c: Ditto.
362         * fixed-value.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
363         input.h, alias.h, symtab.h, fold-const.h,
364         wide-int.h, inchash.h and fixed-value.h due to flattening of tree.h.
365         * fold-const.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
366         input.h, alias.h, symtab.h, fold-const.h,
367         wide-int.h, and inchash.h due to flattening of tree.h.
368         Relocate inline function convert_to_ptrofftype_loc from tree.h.
369         Relocate inline function fold_build_pointer_plus_loc from tree.h.
370         Relocate inline function fold_build_pointer_plus_hwi_loc from tree.h.
371         * fold-const.h: Relocate macro convert_to_ptrofftype from tree.h.
372         Relocate macro fold_build_pointer_plus to relocate from tree.h.h.
373         Relocate macro fold_build_pointer_plus_hwi from tree.h.
374         Add prototype for convert_to_ptrofftype_loc relocated from tree.h.
375         Add prototype for fold_build_pointer_plus_loc relocated from tree.h.
376         Add prototype for fold_build_pointer_plus_hwi_loc relocated from tree.h.
377         * function.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
378         input.h, alias.h, symtab.h, fold-const.h,
379         wide-int.h, and inchash.h due to flattening of tree.h.
380         * gcc-plugin.h: Include statistics.h, double-int.h, real.h, fixed-value.h,
381         alias.h, flags.h, and symtab.h due to flattening of tree.h
382         * gcse.c: Ditto.
383         * generic-match-head.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
384         input.h, alias.h, symtab.h, options.h, fold-const.h,
385         wide-int.h, and inchash.h due to flattening of tree.h.
386         * ggc-page.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
387         input.h, alias.h, symtab.h, fold-const.h,
388         wide-int.h, and inchash.h due to flattening of tree.h.
389         * gimple-builder.c: Ditto.
390         * gimple.c: Ditto.
391         * gimple-expr.c: Ditto.
392         * gimple-fold.c: Ditto.
393         * gimple-iterator.c: Ditto.
394         * gimple-low.c: Ditto.
395         * gimple-match-head.c: Ditto.
396         * gimple-pretty-print.c: Ditto.
397         * generic-ssa-isolate-paths.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
398         input.h, alias.h, symtab.h, options.h, fold-const.h,
399         wide-int.h, and inchash.h due to flattening of tree.h.
400         * gimple-ssa-strength-reduction.c: Ditto.
401         * gimple-streamer-in.c: Ditto.
402         * gimple-streamer-out.c: Ditto.
403         * gimple-walk.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
404         input.h, alias.h, symtab.h, fold-const.h,
405         wide-int.h, and inchash.h due to flattening of tree.h.
406         * gimplify.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
407         input.h, alias.h, symtab.h, options.h, fold-const.h,
408         wide-int.h, and inchash.h due to flattening of tree.h.
409         * gimplify-me.c: Ditto.
410         * graphite-blocking.c: Ditto.
411         * graphite.c: Ditto.
412         * graphite-dependencies.c: Ditto.
413         * graphite-interchange.c: Ditto.
414         * graphite-isl-ast-to-gimple.c: Ditto.
415         * graphite-optimize-isl.c: Ditto.
416         * graphite-poly.c: Ditto.
417         * graphite-scop-detection.c: Ditto.
418         * graphite-sese-to-poly.c: Ditto.
419         * hw-doloop.c: Include symtab.h due to flattening of tree.h.
420         * ifcvt.c: Ditto.
421         * init-regs.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
422         input.h, alias.h, symtab.h, fold-const.h,
423         wide-int.h, and inchash.h due to flattening of tree.h.
424         * internal-fc.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
425         input.h, alias.h, symtab.h,options.h, fold-const.h,
426         wide-int.h, and inchash.h due to flattening of tree.h.
427         * ipa.c: Ditto.
428         * ipa-chkp.c: Ditto.
429         * ipa-comdats.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
430         input.h, alias.h, symtab.h, fold-const.h,
431         wide-int.h, and inchash.h due to flattening of tree.h.
432         * ipa-cp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
433         input.h, alias.h, symtab.h,options.h, fold-const.h,
434         wide-int.h, and inchash.h due to flattening of tree.h.
435         * ipa-devirt.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
436         input.h, alias.h, symtab.h, fold-const.h,
437         wide-int.h, and inchash.h due to flattening of tree.h.
438         * ipa-icf.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
439         input.h, alias.h, symtab.h,options.h, fold-const.h,
440         wide-int.h, and inchash.h due to flattening of tree.h.
441         * ipa-icf-gimple.c: Ditto.
442         * ipa-inline-analysis.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
443         input.h, alias.h, symtab.h, fold-const.h,
444         wide-int.h, and inchash.h due to flattening of tree.h.
445         * ipa-inline.c: Ditto.
446         * ipa-inline-transform.c: Ditto.
447         * ipa-polymorhpic-call.c: Ditto.
448         * ipa-profile.c: Ditto.
449         * ipa-prop.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
450         input.h, alias.h, symtab.h, options.h, fold-const.h,
451         wide-int.h, and inchash.h due to flattening of tree.h.
452         * ipa-pure-const.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
453         input.h, alias.h, symtab.h, fold-const.h,
454         wide-int.h, and inchash.h due to flattening of tree.h.
455         * ipa-ref.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
456         input.h, alias.h, symtab.h, options.h, fold-const.h,
457         wide-int.h, and inchash.h due to flattening of tree.h.
458         * ipa-reference.c: Ditto.
459         * ipa-split.c: Ditto.
460         * ipa-utils.c: Ditto.
461         * ipa-visbility.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
462         input.h, alias.h, symtab.h, fold-const.h,
463         wide-int.h, and inchash.h due to flattening of tree.h.
464         * ira.c: Ditto.
465         * ira-color.c: Include hash-set.h due to flattening of tree.h.
466         * ira-costs.c: Ditto.
467         * ira-emit.c: Ditto.
468         * jump.c: Include symtab.h due to flattening of tree.h.
469         * langhooks.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
470         input.h, alias.h, symtab.h, fold-const.h,
471         wide-int.h, and inchash.h due to flattening of tree.h.
472         * loop-doloop.c: Include symtab.h due to flattening of tree.h.
473         * loop-init.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
474         input.h, alias.h, symtab.h, fold-const.h,
475         wide-int.h, and inchash.h due to flattening of tree.h.
476         * loop-invariant.c: Include symtab.h due to flattening of tree.h.
477         * loop-iv.c: Ditto.
478         * loop-unroll.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
479         input.h, alias.h, symtab.h, fold-const.h,
480         wide-int.h, and inchash.h due to flattening of tree.h.
481         * lower-subreg.c: Ditto.
482         * lra-assigns.c: Include symtab.h due to flattening of tree.h.
483         * lra.c: Include symtab.h, fold-const.h, wide-int.h and inchash.h
484         due to flattening of tree.h.
485         * lra-coalesce.c: Include symtab.h due to flattening of tree.h.
486         * lra-constraints.c: Ditto.
487         * lra-eliminations.c: Ditto.
488         * lra-livesc: Ditto.
489         * lra-remat.c: Ditto.
490         * lra-spills.c: Ditto.
491         * lto-cgraph.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
492         input.h, alias.h, symtab.h, fold-const.h,
493         wide-int.h, and inchash.h due to flattening of tree.h.
494         * lto-compress.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
495         input.h, alias.h, symtab.h, options, fold-const.h,
496         wide-int.h, and inchash.h due to flattening of tree.h.
497         * lto-opts.c: Ditto.
498         * lto-section-in.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
499         input.h, alias.h, symtab.h, fold-const.h,
500         wide-int.h, and inchash.h due to flattening of tree.h.
501         * lto-section-out.c: Ditto.
502         * lto-streamer.c: Ditto.
503         * lto-streamer-in.c: Ditto.
504         * lto-streamer-out.c: Ditto.
505         * modulo-sched.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
506         input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
507         inchash.h due to flattening of tree.h.
508         * omega.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
509         input.h, alias.h, symtab.h, options, fold-const.h,
510         wide-int.h, and inchash.h due to flattening of tree.h.
511         * omega-low.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
512         input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
513         inchash.h due to flattening of tree.h.
514         * optabs.c: Ditto.
515         * opts-global.c: Ditto.
516         * passes.c: Ditto.
517         * plugin.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
518         input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
519         inchash.h due to flattening of tree.h.
520         * postreload.c: Include symtab.h due to flattening of tree.h.
521         * postreload-gcse.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
522         input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
523         inchash.h due to flattening of tree.h.
524         * predict.c: Ditto.
525         * print-rtl.c: Ditto.
526         * print-tree.c: Ditto.
527         * profile.c: Include symtab.h, fold-const.h
528         and inchash.h due to flattening of tree.h.
529         * real.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
530         input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
531         inchash.h due to flattening of tree.h.
532         * realmpfr.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
533         input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
534         inchash.h due to flattening of tree.h.
535         * recog.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
536         input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
537         inchash.h due to flattening of tree.h.
538         * ree.c: Ditto.
539         * reginfo.c: Ditto.
540         * reg-stack.c: Ditto.
541         * reload1.c: Include symtab.h, fold-const.h, wide-int.h
542         and inchash.h due to flattening of tree.h.
543         * reload.c: Include symtab.h due to flattening of tree.h.
544         * reorg.c: Ditto.
545         * rtlanal.c: Include symtab.h, fold-const.h, wide-int.h
546         and inchash.h due to flattening of tree.h.
547         * rtl-chkp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
548         input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
549         inchash.h due to flattening of tree.h.
550         * rtlhooks.c: Include symtab.h due to flattening of tree.h.
551         * sanopt.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
552         input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
553         inchash.h due to flattening of tree.h.
554         * sched-deps.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
555         input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
556         inchash.h due to flattening of tree.h.
557         * sched-vis.c: Ditto.
558         * sdbout.c: Ditto.
559         * sel-sched.c: Include symtab.h, fold-const.h, wide-int.h
560         and inchash.h due to flattening of tree.h.
561         * sel-sched-ir.c: Ditto.
562         * sese.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
563         input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
564         inchash.h due to flattening of tree.h.
565         * shrink-wrap.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
566         input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
567         inchash.h due to flattening of tree.h.
568         * simplify-rtx.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
569         input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
570         inchash.h due to flattening of tree.h.
571         * stack-ptr-mod.c: Ditto.
572         * stmt.c: Ditto.
573         * store-motion.c: Ditto.
574         * store-layout.c: Ditto.
575         * stringpool.c: Ditto.
576         * symtab.c: Ditto.
577         * target-globals.c: Ditto.
578         * targhooks.c: Ditto.
579         * toplev.c: Ditto.
580         * tracer.c: Ditto.
581         * trans-mem.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
582         input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
583         inchash.h due to flattening of tree.h.
584         * tree-affine.c: Ditto.
585         * tree-browser.c: Ditto.
586         * tree.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
587         input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
588         inchash.h due to flattening of tree.h.
589         * tree-call-cdce.c: Include symtab.h, alias.h, double-int.h,
590         fold-const.h, wide-int.h, inchash.h and real.h due to
591         flattening of tree.h.
592         * tree-cfg.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
593         input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
594         inchash.h due to flattening of tree.h.
595         * tree-cfgcleanup.c: Ditto.
596         * tree-chkp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
597         input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
598         inchash.h due to flattening of tree.h.
599         * tree-chkp-opt.c: Ditto.
600         * tree-chrec.c: Ditto.
601         * tree-chkp-opt.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
602         input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h and
603         real.h due to flattening of tree.h.
604         * tree-core.h: Flatten header file by removing all #include statements.
605         * tree-data-ref.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
606         input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
607         inchash.h due to flattening of tree.h.
608         * tree-dfa.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
609         input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h and
610         real.h due to flattening of tree.h.
611         * tree-diagnostic.c: Ditto.
612         * tree-dump.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
613         input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h, real.h and
614         fixed-value.h due to flattening of tree.h.
615         * tree-dfa.c: Ditto.
616         * tree-eh.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
617         input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h and
618         real.h due to flattening of tree.h.
619         * tree-emutls.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
620         input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
621         inchash.h due to flattening of tree.h.
622         * tree.h: Flatten header files by removing all includes except tree-core.h.
623         Remove inline function convert_to_ptrofftype_loc to relocate to fold-const.c.
624         Remove macro convert_to_ptrofftype to relocate to fold-const.h.
625         Remove inline function fold_build_pointer_plus_loc to relocate to fold-const.c.
626         Remove macro fold_build_pointer_plus to relocate to fold-const.h.
627         Remove inline function fold_build_pointer_plus_hwi_loc to relocate to fold-const.c.
628         Remove macro fold_build_pointer_plus_hwi to relocate to fold-const.h.
629         * tree-if-conv.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
630         input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h, real.h and
631         fixed-value.h due to flattening of tree.h.
632         * tree-inline.c: Ditto.
633         * tree-into-ssa.c: Ditto.
634         * tree-iterator.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
635         input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
636         inchash.h due to flattening of tree.h.
637         * tree-loop-distribution.c: Ditto.
638         * tree-nested.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
639         input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
640         due to flattening of tree.h.
641         * tree-nrv.c: Ditto.
642         * tree-object-size.c: Ditto.
643         * tree-outof-ssa.c: Ditto.
644         * tree-parloops.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
645         input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
646         inchash.h due to flattening of tree.h.
647         * tree-phinodes.c: Ditto.
648         * tree-predcom.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
649         input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
650         due to flattening of tree.h.
651         * tree-pretty-print.c: Ditto.
652         * tree-profile.c: double-int.h, input.h, alias.h, symtab.h,
653         fold-const.h, wide-int.h and inchash.h due to flattening of tree.h.
654         * tree-scalar-evolution.c: Include hash-set.h, machmode.h, vec.h,
655         double-int.h, input.h, alias.h, symtab.h, options.h, fold-const.h,
656         wide-int.h and inchash.h due to flattening of tree.h.
657         * tree-sra.c: Include  vec.h, double-int.h,
658         input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
659         inchash.h due to flattening of tree.h.
660         * tree-ssa-alias.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
661         input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
662         due to flattening of tree.h.
663         * tree-ssa.c: Ditto.
664         * tree-ssa-ccp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
665         input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h
666         and real.h due to flattening of tree.h.
667         * tree-ssa-coalesce.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
668         input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
669         due to flattening of tree.h.
670         * tree-ssa-copy.c: Ditto.
671         * tree-ssa-copyrename.c: Ditto.
672         * tree-ssa-dce.c: Ditto.
673         * tree-ssa-dom.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
674         input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h
675         and real.h due to flattening of tree.h.
676         * tree-ssa-dse.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
677         input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
678         due to flattening of tree.h.
679         * tree-ssa-forwprop.c: Ditto.
680         * tree-ssa-ifcombine.c: Ditto.
681         * tree-ssa-live.c: Ditto.
682         * tree-ssa-loop.c: Ditto.
683         * tree-ssa-loop-ch.c: Ditto.
684         * tree-ssa-loop-im.c: Ditto.
685         * tree-ssa-loop-ivcanon.c: Ditto.
686         * tree-ssa-loop-ivopts.c: Ditto.
687         * tree-ssa-loop-manip.c: Ditto.
688         * tree-ssa-loop-niter.c: Ditto.
689         * tree-ssa-loop-prefetch.c: Ditto.
690         * tree-ssa-loop-unswitch.c: Ditto.
691         * tree-ssa-loop-math-opts.c: Ditto.
692         * tree-ssanames.c: Ditto.
693         * tree-ssa-operands.c: Ditto.
694         * tree-ssa-phiopt.c: Ditto.
695         * tree-ssa-phiprop.c: Ditto.
696         * tree-ssa-pre.c: Ditto.
697         * tree-ssa-propagate.c: Ditto.
698         * tree-ssa-reassoc.c: Ditto.
699         * tree-ssa-sccvn.c: Ditto.
700         * tree-ssa-sink.c: Ditto.
701         * tree-ssa-strlen.c: Include hash-set.h, machmode.h, vec.h,
702         double-int.h, input.h, alias.h, symtab.h, options.h, fold-const.h,
703         wide-int.h and inchash.h due to flattening of tree.h.
704         * tree-ssa-structalias.c: double-int.h, input.h, alias.h, symtab.h,
705         fold-const.h, wide-int.h and inchash.h due to flattening of tree.h.
706         * tree-ssa-tail-merge.c: Include hash-set.h, machmode.h, vec.h,
707         double-int.h, input.h, alias.h, symtab.h, fold-const.h,
708         wide-int.h and inchash.h due to flattening of tree.h.
709         * tree-ssa-ter.c: Ditto.
710         * tree-ssa-threadedge.c: Ditto.
711         * tree-ssa-threadupdate.c: Include hash-set.h, machmode.h, vec.h,
712         double-int.h, input.h, alias.h, symtab.h, options.h, fold-const.h,
713         wide-int.h and inchash.h due to flattening of tree.h.
714         * tree-ssa-uncprop.c: Include hash-set.h, machmode.h, vec.h,
715         double-int.h, input.h, alias.h, symtab.h, fold-const.h,
716         wide-int.h and inchash.h due to flattening of tree.h.
717         * tree-ssa-uninit.c: Ditto.
718         * tree-stdarg.c: Include vec.h, double-int.h, input.h, alias.h,
719         symtab.h, fold-const.h, wide-int.h and inchash.h due to flattening
720         of tree.h.
721         * tree-streamer.c: Include vec.h, double-int.h, input.h, alias.h,
722         symtab.h, options.h, fold-const.h, wide-int.h and
723         inchash.h due to flattening of tree.h.
724         * tree-streamer-in.c: Include hash-set.h, machmode.h, vec.h,
725         double-int.h, input.h, alias.h, symtab.h, options.h, fold-const.h,
726         wide-int.h, inchash.h, real.h and fixed-value.h due to flattening
727         of tree.h.
728         * tree-streamer-out.c: Dittoo.
729         * tree-switch-conversion.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
730         input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
731         due to flattening of tree.h.
732         * tree-tailcall.c: Ditto.
733         * tree-vect-data-refs.c: Ditto.
734         * tree-vect-generic.c: Include hash-set.h, machmode.h, vec.h, double-int.h, input.h,
735         alias.h, symtab.h, options.h, fold-const.h, wide-int.h and inchash.h
736         due to flattening of tree.h.
737         * tree-vect-loop.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
738         input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
739         due to flattening of tree.h.
740         * tree-vect-loop-manip.c: Ditto.
741         * tree-vectorizer.c: Ditto.
742         * tree-vect-patterns.c: Ditto.
743         * tree-vect-slp.c: Ditto.
744         * tree-vect-stmts.c: Ditto.
745         * tree-vrp.c: Ditto.
746         * tsan.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
747         input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h and inchash.h
748         due to flattening of tree.h.
749         * ubsan.c: Ditto.
750         * value-prof.c.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
751         input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
752         due to flattening of tree.h.
753         * varasm.c: Ditto.
754         * varpool.c: Ditto.
755         * var-tracking.c: Ditto.
756         * vmsdbgout.c: Ditto.
757         * vtable-verify.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
758         input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h and inchash.h
759         due to flattening of tree.h.
760         * wide-int.cc: Include hash-set.h, machmode.h, vec.h, double-int.h,
761         input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
762         due to flattening of tree.h.
763         * xcoffout.c: Ditto.
765 2015-01-09  Tom de Vries  <tom@codesourcery.com>
767         PR rtl-optimization/64539
768         * regcprop.c (kill_clobbered_values): Factor out of ...
769         (copyprop_hardreg_forward_1): ... here.  Use kill_clobbered_values
770         instead of note_stores with kill_clobbered_value.
772 2015-01-09  Andreas Tobler  <andreast@gcc.gnu.org>
774          * ginclude/unwind-arm-common.h: Revert previous commit.
776 2015-01-09  Andreas Tobler  <andreast@gcc.gnu.org>
778         * config.gcc (arm*-*-freebsd*): New configuration.
779         * config/arm/freebsd.h: New file.
780         * config.host: Add extra components for arm*-*-freebsd*.
781         * config/arm/arm.h: Introduce MAX_SYNC_LIBFUNC_SIZE.
782         * config/arm/arm.c (arm_init_libfuncs): Use MAX_SYNC_LIBFUNC_SIZE.
784 2015-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
786         * config/rs6000/rtems.h (CPP_OS_RTEMS_SPEC): Define __PPC_CPU_E6500__
787         for -mcpu=e6500.
788         * config/rs6000/t-rtems: Add e6500 multilibs.
790 2015-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
792         * config/rs6000/t-rtems: Add -mno-spe to soft-float multilib for
793         MPC8540.
795 2015-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
797         * config/rs6000/t-rtems: Use MULTILIB_REQUIRED instead of
798         MULTILIB_EXCEPTIONS.
800 2015-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
802         * config/arm/t-rtems: Use MULTILIB_REQUIRED instead of
803         MULTILIB_EXCEPTIONS.
805 2015-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
807         * config/arm/t-rtems-eabi: Rename to...
808         * config/arm/t-rtems: ...this.
809         * config/arm/rtems-eabi.h: Rename to...
810         * config/arm/rtems.h: ...this.
811         * config.gcc (arm*-*-rtems*): Reflect changes above.
813 2015-01-09  Richard Biener  <rguenther@suse.de>
815         PR tree-optimization/64410
816         * tree-ssa.c (non_rewritable_lvalue_p): Allow REALPART/IMAGPART_EXPR
817         on the LHS.
818         (execute_update_addresses_taken): Deal with that.
819         * tree-ssa-forwprop.c (pass_forwprop::execute): Use component-wise
820         loads/stores for complex variables.
822 2015-01-09  Martin Liska  <mliska@suse.cz>
824         * ipa-icf-gimple.c (func_checker::compare_ssa_name): Enhance SSA
825         name comparison.
826         (func_checker::compare_memory_operand): New function.
827         (func_checker::compare_operand): Split case to newly
828         added functions.
829         (func_checker::compare_cst_or_decl): New function.
830         (func_checker::compare_gimple_call): Identify
831         memory operands.
832         (func_checker::compare_gimple_assign): Likewise.
833         * ipa-icf-gimple.h: New function.
835 2015-01-09  Martin Liska  <mliska@suse.cz>
837         PR ipa/64503
838         * sreal.c (sreal::dump): Change unsigned format to signed for
839         m_exp value.
840         (sreal::to_double): Replace exp2 with scalbln.
842 2015-01-09  Martin Liska  <mliska@suse.cz>
844         * cgraphunit.c (cgraph_node::create_wrapper): Fix level of indentation.
845         * ipa-icf.c (sem_function::equals_private): Add support for target and
846         (sem_item_optimizer::merge_classes): Remove redundant function
847         optimization flags comparison.
848         * tree.h (target_opts_for_fn): New function.
850 2015-01-09  Tom de Vries  <tom@codesourcery.com>
852         * omp-low.c (expand_omp_for_static_chunk): Fix assert.
854 2015-01-09  Kito Cheng  <kito@0xlab.org>
856         PR rtl-optimization/64348
857         * lra-constraints.c (split_reg): Fix caller-save store/restore
858         instruction generation.
860 2015-01-08  John David Anglin  <danglin@gcc.gnu.org>
862         PR gcov-profile/61790
863         * gcov-tool.c (do_rewrite): Use strtoll instead of atoll if host has
864         long long.  Fallback to int64_t if host doesn't have long long and
865         use strtol if int64_t is long.  Otherwise, use sscanf for conversion.
867 2015-01-08  Jakub Jelinek  <jakub@redhat.com>
869         PR tree-optimization/63989
870         * params.def (PARAM_MAX_TRACKED_STRLENS): Increment default
871         from 1000 to 10000.
872         * tree-ssa-strlen.c (get_strinfo): Moved earlier.
873         (get_stridx): If we don't have a record for certain SSA_NAME,
874         but it is POINTER_PLUS_EXPR of some SSA_NAME we do with
875         constant offset, call get_stridx_plus_constant.
876         (get_stridx_plus_constant): New function.
877         (zero_length_string): Don't use get_stridx here.
879         PR target/55023
880         PR middle-end/64388
881         * dse.c (struct insn_info): Mention frame_read set also
882         before reload for tail calls on some targets.
883         (scan_insn): Revert 2014-12-22 change.  Set frame_read
884         also before reload for tail calls if
885         HARD_FRAME_POINTER_IS_ARG_POINTER.  Call add_wild_read
886         instead of add_non_frame_wild_read for non-const/memset
887         tail calls after reload.
889 2015-01-08  Jason Merrill  <jason@redhat.com>
891         * ubsan.c (do_ubsan_in_current_function): New.
892         (pass_ubsan::gate): Use it.
893         * ubsan.h: Declare it.
894         * convert.c (convert_to_integer): Use it.
896 2015-01-08  Jakub Jelinek  <jakub@redhat.com>
898         PR target/64338
899         * config/i386/i386.c (ix86_expand_int_movcc): Don't reverse
900         compare_code when it is unconditionally overwritten afterwards.
901         Use ix86_reverse_condition instead of reverse_condition.  Don't
902         change code if *reverse_condition* returned UNKNOWN and don't
903         swap ct/cf and negate diff in that case.
905 2015-01-08  Mike Stump  <mikestump@comcast.net>
907         * tsan.c (pass_tsan::gate): Add no_sanitize_thread support.
908         (pass_tsan_O0::gate): Likewise.
909         * extend.texi (Function Attributes): Add no_sanitize_thread
910         documentation.
912 2015-01-08  Thomas Schwinge  <thomas@codesourcery.com>
914         * builtins.def (DEF_GOMP_BUILTIN): Also consider flag_offload_abi
915         for registering builtins.
916         * config/i386/intelmic-mkoffload.c (prepare_target_image): Don't
917         add -fopenmp to the argv_obstack used when invoking
918         compile_for_target.
920         * config/i386/intelmic-mkoffload.c (compile_for_target): Always
921         add "-m32" or "-m64" to argv_obstack.
922         (generate_host_descr_file): Likewise, when invoking host_compiler.
923         (main): Always add "-m elf_i386" or "-m elf_x86_64" when invoking
924         ld.
926 2015-01-08  Oleg Endo  <olegendo@gcc.gnu.org>
928         * config/sh/sh-mem.cc: Use constant as second operand when emitting
929         tstsi_t insns.
931 2015-01-08  Oleg Endo  <olegendo@gcc.gnu.org>
933         PR target/55212
934         * config/sh/sh.md (*addsi3_compact): Emit reg-reg copy instead of
935         constant load if constant operand fits into I08.
937 2015-01-08  Jakub Jelinek  <jakub@redhat.com>
939         PR sanitizer/64336
940         * tree.c (build2_stat): Fix up initialization of TREE_READONLY
941         and TREE_THIS_VOLATILE for MEM_REFs.
942         (build5_stat): Fix up initialization of TREE_READONLY and
943         TREE_THIS_VOLATILE for TARGET_MEM_REFs.
945 2015-01-08  Kaz Kojima  <kkojima@gcc.gnu.org>
947         PR target/64533
948         * config/sh/sh.md (*addsi3_compact): Use u constraint instead
949         of r for the second alternative of the destination operand.
951 2015-01-07  Segher Boessenkool  <segher@kernel.crashing.org>
953         PR target/36557
954         * config/rs6000/rs6000.md (*eqsi3_ext<mode>, *nesi3_ext<mode>): New.
956 2015-01-07  Sandra Loosemore  <sandra@codesourcery.com>
958         * doc/invoke.texi ([-fvtable-verify]): Fix markup on option
959         keywords.
960         ([-fivar-visibility], [-fvisibility]): Likewise.
962 2015-01-07  Sandra Loosemore  <sandra@codesourcery.com>
964         * doc/invoke.texi: Fix incorrect uses of @samp markup throughout
965         the file where @code, @command, etc is more appropriate.
967 2015-01-06  Sandra Loosemore  <sandra@codesourcery.com>
969         * doc/invoke.texi (RS/6000 and PowerPC Options): Tidy formatting
970         of -mrecip= documentation.
972 2015-01-06  Michael Meissner  <meissner@linux.vnet.ibm.com>
974         PR target/64505
975         * config/rs6000/rs6000.c (rs6000_secondary_reload): Return the
976         correct reload handler if -m32 -mpowerpc64 is used.
978 2015-01-06  Tom de Vries  <tom@codesourcery.com>
980         * tree-ssa-tail-merge.c: Fix typo in struct same_succ_def comment.
982 2015-01-08  Christian Bruel  <christian.bruel@st.com>
984         PR target/64507
985         * config/sh/sh-mem.cc (sh_expand_cmpnstr): Check 0 length.
987 2015-01-06  Thomas Preud'homme  <thomas.preudhomme@arm.com>
989         PR tree-optimization/63259
990         * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Stop checking
991         if optab exists for 16bit byteswap.
993 2015-01-06  Jakub Jelinek  <jakub@redhat.com>
995         * opts.c (common_handle_option): Add support for
996         -fno-sanitize=all and -f{,no-}sanitize-recover=all.
997         * doc/invoke.texi: Document -fno-sanitize=all,
998         -f{,no-}sanitize-recover=all.  Document that
999         -fsanitize=float-cast-overflow is not enabled
1000         by -fsanitize=undefined.  Fix up documentation
1001         of -f{,no-}sanitize-recover.
1003 2015-01-06  Eric Botcazou  <ebotcazou@adacore.com>
1005         * config.gcc: Add Visium support.
1006         * configure.ac: Likewise.
1007         * configure: Regenerate.
1008         * doc/extend.texi (interrupt attribute): Add Visium.
1009         * doc/invoke.texi: Document Visium options.
1010         * doc/install.texi: Document Visium target.
1011         * doc/md.texi: Document Visium constraints.
1012         * common/config/visium: New directory.
1013         * config/visium: Likewise.
1015 2015-01-05  Segher Boessenkool  <segher@kernel.crashing.org>
1017         * simplify-rtx.c (simplify_binary_operation_1): Handle more cases
1018         for the "(and X (ior (not X) Y) -> (and X Y)" transform.
1020 2015-01-05  Segher Boessenkool  <segher@kernel.crashing.org>
1022         * combine.c (combine_validate_cost): Do not count the cost of a
1023         split I2 twice.  Do not display it twice in the dump, either.
1025 2015-01-05  Sandra Loosemore  <sandra@codesourcery.com>
1027         Revert parts of r219199.
1028         * doc/invoke.texi ([-Wliteral-suffix]): Restore markup on
1029         <inttypes.h>.
1030         ([-Wtraditional]): Restore markup on <limits.h>.
1032 2015-01-05  Trevor Saunders  <tsaunders@mozilla.com>
1034         PR c++/31397
1035         * doc/invoke.texi: Document -Wsuggest-override.
1037 2015-01-05  Radovan Obradovic  <radovan.obradovic@imgtec.com>
1039         PR rtl-optimization/64287
1040         * toplev.c (HAVE_epilogue, HAVE_prologue): Provide default.
1041         (process_options): Disable flag_ipa_ra if profiling.
1043 2015-01-05  Eric Botcazou  <ebotcazou@adacore.com>
1045         * config/nds32/nds32-peephole2.md: Do not mention define_peephole.
1047 2015-01-05  Max Filippov  <jcmvbkbc@gmail.com>
1049         * config/xtensa/xtensa.c (hwloop_optimize, hwloop_fail,
1050         hwloop_pattern_reg, xtensa_doloop_hooks, xtensa_reorg_loops):
1051         put under #if TARGET_LOOPS guard.
1053 2015-01-05  Uros Bizjak  <ubizjak@gmail.com>
1055         * config/i386/i386.c (output_387_binary_op): Use std::swap.
1057 2015-01-05  Oleg Endo  <olegendo@gcc.gnu.org>
1059         * rtlanal.c (refers_to_regno_p): Change return value from int to bool.
1060         * rtl.h (refers_to_regno_p): Add overload.
1061         * cse.c: Use it.
1062         * bt-load.c: Likewise.
1063         * combine.c: Likewise.
1064         * df-scan.c: Likewise.
1065         * sched-deps.c: Likewise.
1066         * config/s390/s390.c: Likewise.
1067         * config/m32r/m32r.c: Likewise.
1068         * config/rs6000/spe.md: Likewise.
1069         * config/rs6000/rs6000.c: Likewise.
1070         * config/pa/pa.c: Likewise.
1071         * config/stormy16/stormy16.c: Likewise.
1072         * config/cris/cris.c: Likewise.
1073         * config/arc/arc.md: Likewise.
1074         * config/arc/arc.c: Likewise.
1075         * config/sh/sh.md: Likewise.
1076         * config/sh/sh.c: Likewise.
1077         * config/frv/frv.c: Likewise.
1079 2015-01-05  Jakub Jelinek  <jakub@redhat.com>
1081         PR sanitizer/64265
1082         * gimplify.c (gimplify_function_tree): Add TSAN_FUNC_EXIT internal
1083         call as cleanup of the whole body.
1084         * internal-fn.def (TSAN_FUNC_EXIT): New internal call.
1085         * tsan.c (replace_func_exit): New function.
1086         (instrument_func_exit): Moved earlier.
1087         (instrument_memory_accesses): Adjust TSAN_FUNC_EXIT internal calls.
1088         Call instrument_func_exit if no TSAN_FUNC_EXIT internal calls have
1089         been found.
1090         (tsan_pass): Don't call instrument_func_exit.
1091         * internal-fn.c (expand_TSAN_FUNC_EXIT): New function.
1092         * tree-inline.c (copy_bb): Drop TSAN_FUNC_EXIT internal calls during
1093         inlining.
1095         PR sanitizer/64344
1096         * ubsan.h (ubsan_instrument_float_cast): Add ARG argument.
1097         * ubsan.c (ubsan_instrument_float_cast): Add ARG argument, pass
1098         it to libubsan handler instead of EXPR.  Fold comparisons earlier,
1099         if the result is integer_zerop, return NULL_TREE.
1100         * convert.c (convert_to_integer): Pass expr as ARG.
1102         PR tree-optimization/64465
1103         * tree-inline.c (redirect_all_calls): During inlining
1104         clean up EH stmts and EH edges if redirect_call_stmt_to_callee
1105         changed the stmt to a non-throwing call.
1107 2015-01-05  Sandra Loosemore  <sandra@codesourcery.com>
1109         * doc/invoke.texi: Fix incorrect uses of @code, @option, @samp,
1110         etc markup throughout the file.
1112 2015-01-05  Bernd Edlinger  <bernd.edlinger@hotmail.de>
1114         Enable experimental TSAN support for Ada.
1115         * tsan.c (instrument_expr): Handle VIEW_CONVERT_EXPR.
1117 2015-01-05  Jakub Jelinek  <jakub@redhat.com>
1119         PR tree-optimization/64494
1120         * tree-ssa-loop-im.c (move_computations_dom_walker::before_dom): Also
1121         clear SSA_NAME_ANTI_RANGE_P flag.
1123 2015-01-05  Marek Polacek  <polacek@redhat.com>
1125         * doc/extend.texi (Arrays of Length Zero): Add missing comma.
1127 2015-01-05  Jakub Jelinek  <jakub@redhat.com>
1129         Update copyright years.
1131         * gcc.c (process_command): Update copyright notice dates.
1132         * gcov-dump.c: Ditto.
1133         * gcov.c: Ditto.
1134         * doc/cpp.texi: Bump @copying's copyright year.
1135         * doc/cppinternals.texi: Ditto.
1136         * doc/gcc.texi: Ditto.
1137         * doc/gccint.texi: Ditto.
1138         * doc/gcov.texi: Ditto.
1139         * doc/install.texi: Ditto.
1140         * doc/invoke.texi: Ditto.
1142         * auto-profile.c, auto-profile.h: Fix up Copyright line.
1144 2015-01-04  Sandra Loosemore  <sandra@codesourcery.com>
1146         * doc/invoke.texi ([-fsized-deallocation]): Copy-edit to fix
1147         verb tense, etc.
1148         ([-fvtable-verify], [-fvtv-debug]): Likewise.
1149         ([-Wabi]): Likewise.
1150         ([-fmessage-length]): Likewise.
1151         ([-Wsuggest-final-types], [-Wsuggest-final-methods]): Likewise.
1152         ([-Wno-discarded-qualifiers]): Likewise.
1153         ([-Wnodiscarded-array-qualifiers]): Likewise.
1154         ([-Wno-virtual-move-assign]): Likewise.
1155         ([-fsanitize=address], [-fsanitize=thread]): Likewise.
1156         ([-fsanitize=leak], [-fsanitize=undefined]): Likewise.
1157         ([-fsanitize=unreachable], [-fsanitize-recover]): Likewise.
1158         ([-fsanitize-undefined-trap-on-error]): Likewise.
1159         ([-floop-interchange]): Likewise.
1160         ([-ftree-coalesce-inlined-vars]): Likewise.
1161         ([-fvect-cost-model]): Likewise.
1162         ([-flto]): Likewise.
1163         ([--param]): Likewise.
1164         (Spec Files): Likewise.
1165         ([-mstrict-align]): Likewise.
1166         ([-mfix-cortex-a53-835769]): Likewise.
1167         ([-march], [-mtune]): Likewise.
1168         ([-mpic-register]): Likewise.
1169         ([-munaligned-access]): Likewise.
1170         ([-msp8]): Likewise.
1171         (EIND and Devices with more than 128 Ki Bytes of Flash): Likewise.
1172         (AVR Built-in Macros): Likewise.
1173         ([-mpreferred-stack-boundary]): Likewise.
1174         ([-mtune-crtl]): Likewise.
1175         ([-mashf]): Likewise.
1176         ([-mmcu=]): Likewise.
1177         ([-minrt]): Likewise.
1178         ([-maltivec], [-maltivec=be], [-maltivec=le]): Likewise.
1179         ([-mupper-regs]): Likewise.
1180         ([-matomic-model]): Likewise.
1181         ([-mdiv]): Likewise.
1182         ([-mzdcbranch]): Likewise.
1183         ([-mdisable-callt]): Likewise.
1184         ([-msoft-float]): Likewise.
1185         ([-m8byte-align]): Likewise.
1186         ([-fstack-reuse]): Likewise.
1188 2015-01-03  Sandra Loosemore  <sandra@codesourcery.com>
1190         * doc/invoke.texi ([-fprofile-generate], [-fprofile-use]):
1191         Fix markup, light copy-editing.
1192         ([-fauto-profile]): Rewrite to fix formatting and content
1193         problems.
1195 2015-01-03  Sandra Loosemore  <sandra@codesourcery.com>
1197         * doc/invoke.texi ([-fisolate-erroneous-paths-dereference]):
1198         Copy-edit description.
1199         ([-fisolate-erroneous-paths-attribute]): Likewise.
1200         * common.opt (fisolate-erroneous-paths-dereference):
1201         Copy-edit description.
1202         (fisolate-erroneous-paths-attribute): Likewise.
1204 2015-01-03  Sandra Loosemore  <sandra@codesourcery.com>
1206         * doc/invoke.texi ([-fsemantic-interposition]): Fix typos and
1207         tidy grammar.
1209 2015-01-03  Sandra Loosemore  <sandra@codesourcery.com>
1211         * doc/invoke.texi ([-fplan9-extensions]): Add/fix @opindex.
1212         ([-fvtv-debug]): Likewise.
1213         ([-Wc++-compat]): Likewise.
1214         ([-Wc++11-compat]): Likewise.
1215         ([-Wc++14-compat]): Likewise.
1216         ([-Wno-sized-deallocation]): Likewise.
1217         ([-femit-class-debug-always]): Likewise.
1218         ([-femit-struct-debug-detailed]): Likewise.
1219         ([-fno-keep-inline-dllexport]): Likewise.
1220         ([-fira-algorithm]): Likewise.
1221         ([-fira-region]): Likewise.
1222         ([-flra-remat]): Likewise.
1223         ([-fipa-ra]): Likewise.
1224         ([-fhoist-adjacent-loads]): Likewise.
1225         ([-fisolate-erroneous-paths-dereference]): Likewise.
1226         ([-fisolate-erroneous-paths-attribute]): Likewise.
1227         ([-ftree-switch-conversion]): Likewise.
1228         ([-ftree-tail-merge]): Likewise.
1229         ([-ftree-loop-if-convert]): Likewise.
1230         ([-ftree-loop-if-convert-stores]): Likewise.
1231         ([-ftree-loop-distribution]): Likewise.
1232         ([-ftree-loop-distribute-patterns]): Likewise.
1233         ([-flto-compression-level]): Likewise.
1234         ([-flto-report]): Likewise.
1235         ([-flto-report-wpa]): Likewise.
1236         ([-fuse-linker-plugin]): Likewise.
1237         ([-mfix-cortex-a53-835769]): Likewise.
1238         ([-mno-fix-cortex-a53-835769]): Likewise.
1239         ([-mmmx]...[-mno-3dnow]): Remove the -mno- forms from the
1240         explicit listing; add a note to the discussion indicating they
1241         exist.  Reorder table to group similar options.  Add missing
1242         @opindex entries.  Add @need commands throughout the table to
1243         allow it to be split across multiple pages.
1244         ([-m8bit-idiv]): Fix @opindex.
1245         ([-mavx256-split-unaligned-load]): Likewise.
1246         ([-mavx256-split-unaligned-store]): Likewise.
1247         ([-mstack-protector-guard]): Likewise.
1248         ([-mcpu=]): Likewise.
1249         ([-mcpu]): Likewise.
1250         ([-mpointer-size=]): Likewise.
1252 2015-01-03  John David Anglin  <danglin@gcc.gnu.org>
1254         * config/pa/pa.md (decrement_and_branch_until_zero): Use `Q' constraint
1255         instead of `m' constraint.  Likewise for unnamed movb comparison
1256         patterns using reg_before_reload_operand predicate.
1257         * config/pa/predicates.md (reg_before_reload_operand): Tighten
1258         predicate to reject register index and LO_SUM DLT memory forms
1259         after reload.
1261 2015-01-02  Sandra Loosemore  <sandra@codesourcery.com>
1263         * doc/invoke.texi (Option Summary): Fix spelling of
1264         -fdevirtualize-at-ltrans.
1265         ([-fdevirtualize]): Fix markup.
1266         ([-fdevirtualize-speculatively]): Fix typo.
1267         ([-fdevirtualize-at-ltrans]): Likewise.  Make description less
1268         implementor-speaky.
1269         * common.opt (fdevirtualize-at-ltrans): Likewise.
1270         * ipa-devirt.c: Fix typos in comments throughout the file.
1271         (ipa_devirt): Fix typos in format strings for dump output.
1273 2015-01-02  Sandra Loosemore  <sandra@codesourcery.com>
1275         * doc/invoke.texi ([-fopt-info]): Fix markup, consolidate
1276         discussion of defaults, light copy-editing.
1278 2015-01-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
1280         * tsan.c (instrument_expr): corrected previous checkin.
1282 2015-01-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
1284         Instrument bit field and unaligned accesses for TSAN.
1285         * sanitizer.def (BUILT_IN_TSAN_READ_RANGE): New built-in function.
1286         (BUILT_IN_TSAN_WRITE_RANGE): New built-in function.
1287         * tsan.c (instrument_expr): Handle COMPONENT_REF and BIT_FIELD_REF.
1288         Use BUILT_IN_TSAN_READ_RANGE and BUILT_IN_TSAN_WRITE_RANGE for
1289         unaligned memory regions.
1291 2015-01-01  Anthony Green  <green@moxielogic.com>
1293         * config/moxie/predicates.md (moxie_general_movsrc_operand):
1294         Restrict move source register offsets to 16 bits.
1296 Copyright (C) 2015 Free Software Foundation, Inc.
1298 Copying and distribution of this file, with or without modification,
1299 are permitted in any medium without royalty provided the copyright
1300 notice and this notice are preserved.