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