Mark as release
[official-gcc.git] / gcc / ChangeLog
blob385e776932e874a04e1c83bc6515cc589bbb8772
1 2007-10-07  Release Manager
3         * GCC 4.2.2 released.
5 2007-09-25  Jakub Jelinek  <jakub@redhat.com>
7         PR tree-optimization/32694
8         2006-11-08  Roger Sayle  <roger@eyesopen.com>
9         * tree-ssa-propagate.c (set_rhs): Verify tcc_comparison the same way
10         as tcc_binary.
11         * tree-ssa-ccp.c (fold_stmt_r) <COND_EXPR>: Use set_rhs to modify
12         the condition after calling fold_binary.
14 2007-09-24  Jakub Jelinek  <jakub@redhat.com>
16         PR debug/33316
17         * dwarf2out.c (modified_type_die): Handle TYPE_DECL with NULL
18         DECL_NAME.
19         * dbxout.c (dbxout_type): Likewise.
21 2007-09-23  H.J. Lu  <hongjiu.lu@intel.com>
23         * configure.ac (ld_vers): Support GNU linker version xx.xx.*
24         * configure: Regenerated.
26 2007-09-23  Jakub Jelinek  <jakub@redhat.com>
28         * configure.ac (MAKEINFO): Handle makeinfo version 4.10 and above.
29         * configure: Regenerated.
31 2007-09-13  H.J. Lu  <hongjiu.lu@intel.com>
33         PR bootstrap/33418
34         * configure.ac (ld_vers): Support Linux linker.
35         * configure: Regenerated.
37 2007-09-13  Seongbae Park <seongbae.park@gmail.com>
39         * common.opt (femit-class-debug-always): Turn off by default.
41 2007-09-12  Bob Wilson  <bob.wilson@acm.org>
43         * config/xtensa/xtensa.c (machine_function): Add vararg_a7_copy.
44         (xtensa_copy_incoming_a7): Use start_sequence instead of
45         push_to_sequence.  Stash insns in vararg_a7_copy for builtin_saveregs.
46         (xtensa_builtin_saveregs): Place code from vararg_a7_copy at the start
47         of the saveregs sequence.
49 2007-09-12  Richard Guenther  <rguenther@suse.de>
51         PR middle-end/33382
52         * tree-ssa-structalias.c (get_constraint_for_component_ref):
53         Note that accesses to a whole flexible array member may not lead
54         to a subvariable.
56 2007-09-10  Bob Wilson  <bob.wilson@acm.org>
57         
58         * config/xtensa/xtensa.c (xtensa_output_literal): Mask out high bits
59         for floating-point values if HOST_BITS_PER_LONG > 32.  Use
60         split_double instead of operand_subword.
61         
62 2007-09-10  Bob Wilson  <bob.wilson@acm.org>
64         * config/xtensa/xtensa.md (adddi3, adddi_carry): Delete.
65         (subdi3, subdi_carry): Delete.
67 2007-09-07  Tobias Burnus  <burnus@net-b.de>
69         PR middle-end/33321
70         * doc/invoke.texi: Fix -Wstrict-overflow= table.
72 2007-09-06  Richard Sandiford  <richard@codesourcery.com>
74         PR target/33256
75         * config/mips/mips.c (mips_classify_symbolic_expression): New function.
76         (mips_classify_address): Use it instead of mips_symbolic_constant_p.
77         (print_operand_reloc): Likewise.
79 2007-09-03  Anatoly Sokolov <aesok@post.ru>
81         PR target/28902
82         * config/avr/avr.h (TARGET_VTABLE_ENTRY_ALIGN): Define.
84 2007-09-01  Nick Clifton  <nickc@redhat.com>
86         * COPYING3, COPYING3.LIB: New files.
87         * tree-ssa-operands.h: Change copyright header to refer to version
88         3 of the GNU General Public License and to point readers at the
89         COPYING3 file and the FSF's license web page.
90         * tree-vrp.c, regrename.c, attribs.c, loop-unswitch.c, sched-ebb.c,
91         tree-loop-linear.c, dwarf2asm.c, tree-into-ssa.c, dwarf2asm.h,
92         tree-ssa-loop-im.c, sbitmap.c, targhooks.c, tree-dump.c,
93         tree-complex.c, sbitmap.h, targhooks.h, tree-dump.h, see.c,
94         machmode.h, hooks.c, hooks.h, genrecog.c, tree-ssa-threadupdate.c,
95         gen-protos.c, flags.h, rtlhooks.c, gencheck.c,
96         tree-ssa-loop-niter.c, opts-common.c, tree-pretty-print.c, tracer.c,
97         gengtype.c, mkconfig.sh, gengtype.h, tree-ssa-loop-unswitch.c,
98         cgraph.c, c-lex.c, cgraph.h, libfuncs.h, cfgloopmanip.c,
99         rtl-error.c, optabs.c, postreload-gcse.c, tree-ssa-loop-manip.c,
100         optabs.h, genmddeps.c, defaults.h, postreload.c, value-prof.c,
101         tree-ssa-loop-ch.c, tree-tailcall.c, gengenrtl.c, value-prof.h,
102         genopinit.c, tree.c, tree.h, reload.c, tree-pass.h, ipa-cp.c,
103         reload.h, bitmap.c, bitmap.h, tree-scalar-evolution.c,
104         c-config-lang.in, tree-scalar-evolution.h, target.h, cppspec.c,
105         rtlanal.c, ddg.c, lambda-mat.c, mips-tdump.c, ddg.h,tree-phinodes.c,
106         mips-tfile.c, pointer-set.c, pointer-set.h, diagnostic.c, final.c,
107         diagnostic.h, builtins.c, genoutput.c, gcc.c, lists.c, gcc.h,
108         cfghooks.c, input.h, gensupport.c, fold-const.c, cfghooks.h,
109         insn-notes.def, gensupport.h, builtin-attrs.def, sync-builtins.def,
110         params.c, cfgloopanal.c, params.h, omp-low.c, tree-ssa-dse.c,
111         gcov.c, cfg.c, genextract.c, ipa-reference.c, genautomata.c,
112         tree-ssa-uncprop.c, toplev.c, tree-gimple.c, ipa-reference.h,
113         vmsdbgout.c, errors.c, toplev.h, reorg.c, tree-gimple.h,
114         tree-chrec.c, pretty-print.c, errors.h, real.c, tree-chrec.h,
115         pretty-print.h, debug.c, real.h, genemit.c, c-cppbuiltin.c,
116         genmultilib, debug.h, genconfig.c, cgraphunit.c, regs.h, df-scan.c,
117         vec.c, hosthooks-def.h, vec.h, tree-ssa-copyrename.c, scan.c,
118         builtin-types.def, tree-ssa-ccp.c, scan.h, mode-classes.def,
119         haifa-sched.c, dominance.c, dojump.c, double-int.c, gcov-io.c,
120         dbxout.c, builtins.def, double-int.h, dbxout.h,
121         tree-ssa-loop-ivopts.c, df-core.c, mode-switching.c, gengtype-lex.l,
122         tree-nomudflap.c, modulo-sched.c, c-objc-common.c, hosthooks.h,
123         c-objc-common.h, caller-save.c, graph.c, ipa-pure-const.c, graph.h,
124         c-format.c, cse.c, fix-header.c, c-format.h, web.c, tree-stdarg.c,
125         genpeep.c, tree-stdarg.h, tree-ssa-math-opts.c, xcoffout.c,
126         tree-ssa-dom.c, tree-nrv.c, xcoffout.h, tree-ssa-propagate.c,
127         ipa-utils.c, tree-ssa-propagate.h, tree-ssa-alias.c, loop-init.c,
128         ipa-utils.h, gimple-low.c, rtl.def, c-tree.h, tree-ssa-sink.c,
129         ipa-inline.c, mkmap-symver.awk, machmode.def, c-pch.c, cfganal.c,
130         global.c, alloc-pool.c, c-semantics.c, alloc-pool.h, jump.c,
131         ifcvt.c, dwarf2out.c, expr.c, cfgbuild.c, tree-browser.c,
132         dwarf2out.h, expr.h, longlong.h, opts.c, gcov-iov.c, opts.h,
133         dwarf2.h, genattrtab.c, genconditions.c, genattr.c, optc-gen.awk,
134         timevar.def, tree-ssa-loop-ivcanon.c, hard-reg-set.h, predict.c,
135         tree-ssa-loop.c, host-default.c, predict.h, recog.c, recog.h,
136         c-aux-info.c, tree-ssa-address.c, timevar.c, lcm.c, timevar.h,
137         tree-vn.c, treestruct.def, fp-test.c, c-decl.c, tree-eh.c,
138         c-errors.c, c-pretty-print.c, regmove.c, lambda-trans.c,
139         c-pretty-print.h, et-forest.c, et-forest.h, local-alloc.c,
140         function.c, langhooks.c, cppdefault.c, tree-vectorizer.c,
141         function.h, langhooks.h, print-rtl.c, cppdefault.h, df.h,
142         tree-vectorizer.h, sdbout.c, stor-layout.c, sdbout.h,
143         rtlhooks-def.h, read-rtl.c, gcse.c, ipa-type-escape.c, vmsdbg.h,
144         alias.c, ipa-type-escape.h, domwalk.c, alias.h, tree-if-conv.c,
145         profile.c, domwalk.h, ipa.c, gccbug.in, tree-data-ref.c,
146         loop-unroll.c, tree-data-ref.h, tree-flow-inline.h, mkmap-flat.awk,
147         tree-vect-analyze.c, c.opt, ggc.h, opt-gather.awk, c-typeck.c,
148         gimplify.c, coretypes.h, insn-addr.h, tree-ssa-phiopt.c, c-pragma.c,
149         c-pragma.h, calls.c, genmodes.c, loop-doloop.c, predict.def,
150         dwarf.h, tree.def, rtl-factoring.c, expmed.c, bt-load.c,
151         ggc-common.c, genflags.c, tree-dfa.c, except.c, coverage.c,
152         except.h, emit-rtl.c, cfgexpand.c, coverage.h, stringpool.c,
153         cselib.c, emit-rtl.h, tree-cfgcleanup.c, c-opts.c, cselib.h,
154         cfgcleanup.c, simplify-rtx.c, tree-ssa-pre.c, explow.c,
155         tree-ssa-live.c, tree-sra.c, tree-ssa-live.h, loop-invariant.c,
156         genpreds.c, protoize.c, opth-gen.awk, c-dump.c, lambda.h, loop-iv.c,
157         tree-mudflap.c, ipa-prop.c, print-tree.c, tree-mudflap.h,
158         tree-ssa-copy.c, ipa-prop.h, cfglayout.c, tree-ssa-forwprop.c,
159         c-convert.c, cfglayout.h, common.opt, ggc-zone.c, ggc-page.c,
160         c-omp.c, tree-ssa-dce.c, gencodes.c, varasm.c, tree-vect-patterns.c,
161         libada-mk.in, sched-deps.c, tree-nested.c, c-ppoutput.c, tree-ssa.c,
162         target-def.h, tree-ssa-loop-prefetch.c, lambda-code.c,
163         omp-builtins.def, rtl.c, regclass.c, stab.def, intl.c, rtl.h,
164         intl.h, tree-inline.c, conditions.h, tree-inline.h, integrate.c,
165         sched-int.h, tree-iterator.c, integrate.h, tree-iterator.h,
166         genchecksum.c, tree-optimize.c, output.h, tree-vect-transform.c,
167         tree-object-size.c, combine.c, tree-outof-ssa.c, addresses.h,
168         bb-reorder.c, resource.c, var-tracking.c, cfgloop.c, system.h,
169         resource.h, ggc-none.c, tree-profile.c, cfgloop.h, c-gimplify.c,
170         c-common.c, opt-functions.awk, tree-vect-generic.c, tree-flow.h,
171         df-problems.c, scan-decls.c, c-common.h, config.gcc, reg-stack.c,
172         tlink.c, main.c, stub-objc.c, fixproto, config.host, Makefile.in,
173         gccspec.c, sched-rgn.c, vecprim.h, basic-block.h,
174         tree-ssa-structalias.c, tree-ssa-structalias.h, c-common.def,
175         sched-vis.c, tree-cfg.c, passes.c, genconstants.c, c-incpath.c,
176         c-incpath.h, struct-equiv.c, c-parser.c, tree-ssa-reassoc.c,
177         varray.c, sreal.c, varray.h, dfp.c, sreal.h, dfp.h, flow.c,
178         conflict.c reg-notes.def, cfgrtl.c, config.build, gengtype-yacc.y,
179         stmt.c, tree-browser.def, prefix.c, statistics.h, params.def,
180         c-lang.c, gcov-dump.c, prefix.h, tree-ssanames.c, collect2.c,
181         collect2.h, tree-ssa-threadedge.c, convert.c, convert.h,
182         langhooks-def.h, reload1.c, tree-ssa-operands.c: Likewise.
184 2007-09-01  Nick Clifton  <nickc@redhat.com>
186         * host-hpux.c: Change copyright header to refer to version 3 of
187         the GNU General Public License and to point readers at the
188         COPYING3 file and the FSF's license web page.
189         * alpha/predicates.md, alpha/vms-ld.c, alpha/linux.h,
190         alpha/alpha.opt, alpha/linux-elf.h, alpha/vms.h, alpha/elf.h,
191         alpha/vms-unwind.h, alpha/ev4.md, alpha/ev6.md, alpha/alpha.c,
192         alpha/vms-cc.c, alpha/alpha.h, alpha/sync.md, alpha/openbsd.h,
193         alpha/alpha.md, alpha/alpha-modes.def, alpha/ev5.md,
194         alpha/alpha-protos.h, alpha/freebsd.h, alpha/osf5.h,
195         alpha/netbsd.h, alpha/vms64.h, alpha/constraints.md, alpha/osf.h,
196         alpha/xm-vms.h, alpha/unicosmk.h, linux.h, frv/predicates.md,
197         frv/frv.h, frv/linux.h, frv/frv.md, frv/frv.opt,
198         frv/frv-modes.def, frv/frv-asm.h, frv/frv-protos.h, frv/frv-abi.h,
199         frv/frv.c, s390/tpf.h, s390/s390.c, s390/predicates.md,
200         s390/s390.h, s390/linux.h, s390/tpf.md, s390/tpf.opt,
201         s390/2064.md, s390/2084.md, s390/s390.md, s390/s390.opt,
202         s390/s390-modes.def, s390/fixdfdi.h, s390/constraints.md,
203         s390/s390-protos.h, s390/s390x.h, elfos.h, dbxcoff.h,
204         m32c/predicates.md, m32c/cond.md, m32c/m32c.c, m32c/minmax.md,
205         m32c/blkmov.md, m32c/m32c-pragma.c, m32c/m32c.h, m32c/prologue.md,
206         m32c/m32c.abi, m32c/muldiv.md, m32c/bitops.md, m32c/mov.md,
207         m32c/addsub.md, m32c/m32c.md, m32c/m32c.opt, m32c/t-m32c,
208         m32c/m32c-modes.def, m32c/jump.md, m32c/shift.md,
209         m32c/m32c-protos.h, libgloss.h, interix.h, sparc/hypersparc.md,
210         sparc/predicates.md, sparc/linux.h, sparc/sp64-elf.h,
211         sparc/supersparc.md, sparc/cypress.md, sparc/openbsd1-64.h,
212         sparc/openbsd64.h, sparc/niagara.md, sparc/sparc.md,
213         sparc/long-double-switch.opt, sparc/ultra3.md, sparc/sparc.opt,
214         sparc/sync.md, sparc/sp-elf.h, sparc/sparc-protos.h,
215         sparc/ultra1_2.md, sparc/biarch64.h, sparc/sparc.c,
216         sparc/little-endian.opt, sparc/sysv4-only.h, sparc/sparc.h,
217         sparc/linux64.h, sparc/freebsd.h, sparc/sol2.h, sparc/rtemself.h,
218         sparc/netbsd-elf.h, sparc/sparc-modes.def, sparc/sparclet.md,
219         sparc/sysv4.h, vx-common.h, netbsd-aout.h, m32r/m32r.md,
220         m32r/predicates.md, m32r/little.h, m32r/m32r.c, m32r/m32r.opt,
221         m32r/linux.h, m32r/m32r.h, m32r/m32r-protos.h, vxworks.opt,
222         darwin-c.c, darwin.opt, i386/i386.h, i386/cygming.h, i386/linux.h,
223         i386/cygwin.h, i386/i386.md, i386/netware-crt0.c, i386/sco5.h,
224         i386/mmx.md, i386/kaos-i386.h, i386/winnt-stubs.c,
225         i386/netbsd64.h, i386/djgpp.h, i386/gas.h, i386/sol2.h,
226         i386/constraints.md, i386/netware-libgcc.c, i386/sysv5.h,
227         i386/predicates.md, i386/x86-64.h, i386/kfreebsd-gnu.h,
228         i386/freebsd64.h, i386/vxworksae.h, i386/pentium.md, i386/lynx.h,
229         i386/i386elf.h, i386/rtemself.h, i386/netbsd-elf.h, i386/ppro.md,
230         i386/k6.md, i386/netware.c, i386/netware.h, i386/i386-modes.def,
231         i386/sysv4-cpp.h, i386/i386-interix.h, i386/cygwin1.c,
232         i386/djgpp.opt, i386/uwin.h, i386/unix.h, i386/ptx4-i.h,
233         i386/xm-djgpp.h, i386/att.h, i386/winnt.c, i386/beos-elf.h,
234         i386/sol2-10.h, i386/darwin64.h, i386/sse.md, i386/i386.opt,
235         i386/bsd.h, i386/cygming.opt, i386/xm-mingw32.h, i386/linux64.h,
236         i386/openbsdelf.h, i386/xm-cygwin.h, i386/sco5.opt, i386/darwin.h,
237         i386/mingw32.h, i386/winnt-cxx.c, i386/i386-interix3.h,
238         i386/nwld.c, i386/nwld.h, i386/host-cygwin.c, i386/cygwin2.c,
239         i386/i386-protos.h, i386/sync.md, i386/openbsd.h,
240         i386/host-mingw32.c, i386/i386-aout.h, i386/nto.h,
241         i386/biarch64.h, i386/i386-coff.h, i386/freebsd.h,
242         i386/driver-i386.c, i386/knetbsd-gnu.h, i386/host-i386-darwin.c,
243         i386/vxworks.h, i386/crtdll.h, i386/i386.c, i386/sysv4.h,
244         darwin-protos.h, linux.opt, sol2.c, sol2.h, sh/symbian.c,
245         sh/sh-protos.h, sh/linux.h, sh/elf.h, sh/superh.h, sh/sh4.md,
246         sh/coff.h, sh/newlib.h, sh/embed-elf.h, sh/symbian-pre.h,
247         sh/rtems.h, sh/kaos-sh.h, sh/sh4a.md, sh/sh64.h, sh/sh.opt,
248         sh/symbian-post.h, sh/sh-c.c, sh/predicates.md, sh/sh.c, sh/sh.h,
249         sh/shmedia.md, sh/sh-modes.def, sh/little.h, sh/sh1.md,
250         sh/superh64.h, sh/rtemself.h, sh/netbsd-elf.h, sh/sh.md,
251         sh/vxworks.h, usegas.h, svr3.h, pdp11/pdp11-protos.h,
252         pdp11/2bsd.h, pdp11/pdp11.md, pdp11/pdp11.c, pdp11/pdp11.opt,
253         pdp11/pdp11-modes.def, pdp11/pdp11.h, avr/rtems.h,
254         avr/avr-protos.h, avr/predicates.md, avr/constraints.md,
255         avr/avr.md, avr/avr.c, avr/avr.opt, avr/avr.h, sol2-protos.h,
256         dbxelf.h, lynx.opt, crx/crx.h, crx/crx-protos.h, crx/crx.md,
257         crx/crx.c, crx/crx.opt, c4x/c4x-c.c, c4x/c4x.c, c4x/c4x.opt,
258         c4x/c4x-modes.def, c4x/rtems.h, c4x/predicates.md, c4x/c4x.h,
259         c4x/c4x-protos.h, c4x/c4x.md, kfreebsd-gnu.h,
260         xtensa/predicates.md, xtensa/xtensa.c, xtensa/linux.h,
261         xtensa/xtensa.h, xtensa/elf.h, xtensa/xtensa.md,
262         xtensa/xtensa.opt, xtensa/xtensa-protos.h, dbx.h,
263         stormy16/predicates.md, stormy16/stormy16.md, stormy16/stormy16.c,
264         stormy16/stormy16.opt, stormy16/stormy16.h,
265         stormy16/stormy16-protos.h, host-solaris.c, fr30/fr30.h,
266         fr30/predicates.md, fr30/fr30-protos.h, fr30/fr30.md, fr30/fr30.c,
267         fr30/fr30.opt, vxworksae.h, sol2-c.c, lynx.h,
268         m68hc11/m68hc11-protos.h, m68hc11/predicates.md,
269         m68hc11/m68hc11.md, m68hc11/m68hc11.c, m68hc11/m68hc11.opt,
270         m68hc11/m68hc11.h, m68hc11/m68hc12.h, openbsd-oldgas.h,
271         host-linux.c, interix3.h, cris/cris.c, cris/predicates.md,
272         cris/linux.h, cris/cris.h, cris/aout.h, cris/cris.md,
273         cris/linux.opt, cris/cris.opt, cris/elf.opt, cris/aout.opt,
274         cris/cris-protos.h, netbsd.h, netbsd-elf.h, iq2000/iq2000.h,
275         iq2000/predicates.md, iq2000/iq2000-protos.h, iq2000/iq2000.md,
276         iq2000/iq2000.c, iq2000/iq2000.opt, host-darwin.c, mt/mt.md,
277         mt/mt.c, mt/mt.opt, mt/t-mt, mt/mt.h, mt/mt-protos.h, svr4.h,
278         host-darwin.h, chorus.h, mn10300/mn10300.c, mn10300/mn10300.opt,
279         mn10300/predicates.md, mn10300/mn10300.h, mn10300/linux.h,
280         mn10300/mn10300-protos.h, mn10300/mn10300.md, ia64/predicates.md,
281         ia64/itanium1.md, ia64/unwind-ia64.h, ia64/ia64-c.c, ia64/sync.md,
282         ia64/ia64.c, ia64/itanium2.md, ia64/ia64.h, ia64/vect.md,
283         ia64/freebsd.h, ia64/ia64.md, ia64/ia64-modes.def, ia64/hpux.h,
284         ia64/ia64-protos.h, windiss.h, gofast.h, rtems.h, sol2-10.h,
285         m68k/predicates.md, m68k/m68k.md, m68k/linux.h,
286         m68k/m68k-modes.def, m68k/m68k-protos.h, m68k/coff.h,
287         m68k/m68k-none.h, m68k/ieee.opt, m68k/openbsd.h, m68k/m68k-aout.h,
288         m68k/m68k.opt, m68k/m68020-elf.h, m68k/m68kelf.h, m68k/m68k.c,
289         m68k/rtemself.h, m68k/netbsd-elf.h, m68k/m68k.h, m68k/uclinux.h,
290         rs6000/power4.md, rs6000/host-darwin.c, rs6000/6xx.md,
291         rs6000/linux.h, rs6000/eabi.h, rs6000/aix41.opt, rs6000/xcoff.h,
292         rs6000/secureplt.h, rs6000/linuxspe.h, rs6000/eabialtivec.h,
293         rs6000/8540.md, rs6000/darwin8.h, rs6000/kaos-ppc.h,
294         rs6000/windiss.h, rs6000/603.md, rs6000/aix41.h, rs6000/mpc.md,
295         rs6000/aix43.h, rs6000/beos.h, rs6000/gnu.h, rs6000/rtems.h,
296         rs6000/aix.opt, rs6000/darwin.md, rs6000/darwin64.h,
297         rs6000/default64.h, rs6000/7xx.md, rs6000/darwin.opt,
298         rs6000/spe.md, rs6000/rs6000.opt, rs6000/rs6000-c.c,
299         rs6000/rios2.md, rs6000/linuxaltivec.h, rs6000/7450.md,
300         rs6000/linux64.h, rs6000/constraints.md, rs6000/440.md,
301         rs6000/darwin.h, rs6000/host-ppc64-darwin.c, rs6000/rs6000.c,
302         rs6000/aix52.h, rs6000/rs6000.h, rs6000/predicates.md,
303         rs6000/altivec.md, rs6000/aix64.opt, rs6000/rios1.md,
304         rs6000/rs6000-modes.def, rs6000/rs64.md, rs6000/eabisim.h,
305         rs6000/sysv4le.h, rs6000/darwin7.h, rs6000/linux64.opt,
306         rs6000/sync.md, rs6000/vxworksae.h, rs6000/power5.md,
307         rs6000/lynx.h, rs6000/biarch64.h, rs6000/rs6000.md,
308         rs6000/sysv4.opt, rs6000/eabispe.h, rs6000/freebsd.h,
309         rs6000/rs6000-protos.h, rs6000/netbsd.h, rs6000/e500-double.h,
310         rs6000/aix.h, rs6000/vxworks.h, rs6000/40x.md, rs6000/aix51.h,
311         rs6000/sysv4.h, arc/arc-protos.h, arc/arc.md, arc/arc.c,
312         arc/arc.opt, arc/arc-modes.def, arc/arc.h, mcore/mcore-elf.h,
313         mcore/mcore-protos.h, mcore/predicates.md, mcore/mcore.md,
314         mcore/mcore.c, mcore/mcore.opt, mcore/mcore.h, mcore/mcore-pe.h,
315         darwin.c, freebsd-nthr.h, score/predicates.md,
316         score/score-version.h, score/score-protos.h, score/misc.md,
317         score/elf.h, score/score.c, score/mac.md, score/score7.md,
318         score/score.h, score/score-conv.h, score/score-mdaux.c,
319         score/score.md, score/score.opt, score/score-modes.def,
320         score/score-mdaux.h, score/mul-div.S, arm/uclinux-elf.h,
321         arm/semi.h, arm/ecos-elf.h, arm/arm1020e.md, arm/symbian.h,
322         arm/linux-elf.h, arm/arm1026ejs.md, arm/arm1136jfs.md, arm/elf.h,
323         arm/aout.h, arm/arm.c, arm/coff.h, arm/strongarm-pe.h, arm/arm.h,
324         arm/semiaof.h, arm/arm-modes.def, arm/linux-eabi.h,
325         arm/rtems-elf.h, arm/arm-cores.def, arm/arm-protos.h, arm/vfp.md,
326         arm/aof.h, arm/linux-gas.h, arm/wince-pe.h, arm/constraints.md,
327         arm/xscale-elf.h, arm/strongarm-coff.h, arm/arm.opt,
328         arm/arm926ejs.md, arm/predicates.md, arm/iwmmxt.md,
329         arm/unknown-elf.h, arm/kaos-arm.h, arm/bpabi.h, arm/pe.opt,
330         arm/arm.md, arm/xscale-coff.h, arm/pe.c, arm/arm-generic.md,
331         arm/pe.h, arm/kaos-strongarm.h, arm/freebsd.h, arm/netbsd.h,
332         arm/fpa.md, arm/strongarm-elf.h, arm/cirrus.md, arm/netbsd-elf.h,
333         arm/vxworks.h, kaos.h, pa/predicates.md, pa/pa64-hpux.h,
334         pa/pa-hpux.opt, pa/som.h, pa/pa-hpux1010.opt, pa/pa-hpux1111.opt,
335         pa/pa-pro-end.h, pa/elf.h, pa/fptr.c, pa/pa64-linux.h, pa/pa.md,
336         pa/pa.opt, pa/pa-hpux.h, pa/pa-hpux10.h, pa/pa-hpux11.h,
337         pa/pa-hpux1010.h, pa/pa-protos.h, pa/pa-osf.h, pa/pa-hpux1111.h,
338         pa/pa-64.h, pa/milli64.S, pa/pa.c, pa/pa-linux.h, pa/pa.h,
339         pa/pa32-linux.h, pa/pa64-hpux.opt, pa/pa64-regs.h,
340         pa/pa-modes.def, darwin9.h, mips/4100.md, mips/linux.h,
341         mips/elf.h, mips/sdb.h, mips/windiss.h, mips/rtems.h,
342         mips/3000.md, mips/iris5.h, mips/5000.md, mips/7000.md,
343         mips/9000.md, mips/4600.md, mips/linux64.h, mips/elforion.h,
344         mips/constraints.md, mips/generic.md, mips/predicates.md,
345         mips/4300.md,mips/mips-ps-3d.md, mips/iris.h, mips/24k.md,
346         mips/mips.md, mips/mips.opt, mips/4k.md, mips/5k.md,
347         mips/vr4120-div.S, mips/openbsd.h, mips/iris6.h, mips/4000.md,
348         mips/mips-protos.h, mips/6000.md, mips/mips.c, mips/mips.h,
349         mips/r3900.h, mips/netbsd.h, mips/vxworks.h, mips/mips-modes.def,
350         mips/vr.h, soft-fp/t-softfp, openbsd.h, ptx4.h, freebsd-spec.h,
351         vax/vax.c, vax/openbsd.h, vax/vax.h, vax/elf.h, vax/vax.md,
352         vax/bsd.h, vax/vax.opt, vax/vax-modes.def, vax/openbsd1.h,
353         vax/netbsd.h, vax/vax-protos.h, vax/netbsd-elf.h, vax/vaxv.h,
354         vax/ultrix.h, freebsd.h, h8300/rtems.h, h8300/predicates.md,
355         h8300/h8300.c, h8300/h8300.h, h8300/elf.h, h8300/h8300.md,
356         h8300/h8300.opt, h8300/coff.h, h8300/h8300-protos.h, v850/v850.md,
357         v850/predicates.md, v850/v850-c.c, v850/v850.c, v850/v850.opt,
358         v850/v850.h, v850/v850-protos.h, knetbsd-gnu.h, sol2-6.h,
359         vxworks.h, mmix/mmix.h, mmix/predicates.md, mmix/mmix-protos.h,
360         mmix/mmix.md, mmix/mmix.c, mmix/mmix.opt, mmix/mmix-modes.def,
361         bfin/bfin.opt, bfin/rtems.h, bfin/bfin-modes.def,
362         bfin/predicates.md, bfin/bfin-protos.h, bfin/bfin.c, bfin/bfin.h,
363         bfin/bfin.md: Likewise.
365 2007-08-31  Jakub Jelinek  <jakub@redhat.com>
367         PR rtl-optimization/33148
368         * simplify-rtx.c (simplify_unary_operation_1): Only optimize
369         (neg (lt X 0)) if X has scalar int mode.
371         PR debug/32914
372         * dwarf2out.c (rtl_for_decl_init): If vector decl has CONSTRUCTOR
373         initializer, use build_vector_from_ctor if possible to create
374         VECTOR_CST out of it.  If vector initializer is not VECTOR_CST
375         even after this, return NULL.
377 2007-08-27  Jason Merrill  <jason@redhat.com>
379         PR c++/31337
380         * gimplify.c (gimplify_modify_expr): Discard the assignment of 
381         zero-sized types after calling gimplify_modify_expr_rhs.
383 2007-08-24  Jakub Jelinek  <jakub@redhat.com>
385         PR debug/32610
386         * dwarf2out.c (gen_decl_die): Don't call
387         gen_tagged_type_instantiation_die if decl doesn't have tagged type.
389 2007-08-24  Richard Guenther  <rguenther@suse.de>
391         * expr.c (get_inner_reference): Remove unused variable.
393 2007-08-24  Richard Guenther  <rguenther@suse.de>
395         * expr.c (get_inner_reference): Do computation of bitoffset
396         from offset in a way we can detect overflow reliably.
398 2007-08-22  Richard Guenther  <rguenther@suse.de>
400         PR middle-end/32563
401         * tree.c (host_integerp): Treat sizetype as signed as it is
402         sign-extended.
404 2007-08-20  Adam Nemet  <anemet@caviumnetworks.com>
406         * config/mips/predicates.md (const_call_insn_operand): Invoke
407         SYMBOL_REF_LONG_CALL_P only on SYMBOL_REFs.
409 2007-08-17  Chen liqin  <liqin@sunnorth.com.cn>
411         * config/score/score.md : Update pattern tablejump.
412         * config/score/score.c : Update score_initialize_trampoline 
413         function.
414         * config/score/score.h (TRAMPOLINE_TEMPLATE): Added macro.
415         (TRAMPOLINE_INSNS, TRAMPOLINE_SIZE) Update macro.
416         * doc/contrib.texi: Add my entry.
418 2007-08-02  Andreas Krebbel  <krebbel1@de.ibm.com>
420         * config/s390/s390.md ("*xordi3_cconly"): Change xr to xg.
422 2007-08-01  Andreas Krebbel  <krebbel1@de.ibm.com>
424         * config/s390/s390.md (TF in GPR splitter): Change operand_subword
425         parameter to TFmode.
427 2007-07-30  Mark Mitchell  <mark@codesourcery.com>
429         * BASE-VER: Bump.
430         * DEV-PHASE: Mark as prerelease.
432 2007-07-25  Steve Ellcey  <sje@cup.hp.com>
434         PR target/32218
435         * tree-vect-patterns.c (vect_pattern_recog_1): Check for valid type.
437 2007-07-25  Dorit Nuzman  <dorit@il.ibm.com>
438             Devang Patel  <dpatel@apple.com>
440         PR tree-optimization/25413
441         * targhooks.c (default_builtin_vector_alignment_reachable): New.
442         * targhooks.h (default_builtin_vector_alignment_reachable): New.
443         * tree.h (contains_packed_reference): New.
444         * expr.c (contains_packed_reference): New.
445         * tree-vect-analyze.c (vector_alignment_reachable_p): New.
446         (vect_enhance_data_refs_alignment): Call
447         vector_alignment_reachable_p.
448         * target.h (vector_alignment_reachable): New builtin.
449         * target-def.h (TARGET_VECTOR_ALIGNMENT_REACHABLE): New.
450         * config/rs6000/rs6000.c (rs6000_vector_alignment_reachable): New.
451         (TARGET_VECTOR_ALIGNMENT_REACHABLE): Define.
453 2007-07-24  Richard Guenther  <rguenther@suse.de>
455         Backport from mainline:
456         2007-07-16  Richard Guenther  <rguenther@suse.de>
457                     Uros Bizjak  <ubizjak@gmail.com>
459         * tree-if-conv.c (find_phi_replacement_condition): Unshare "*cond"
460         before forcing it to gimple operand.
462 2007-07-24  Richard Guenther  <rguenther@suse.de>
464         PR tree-optimization/32723
465         Backport from mainline:
466         2007-03-09  Daniel Berlin  <dberlin@dberlin.org>
468         * tree-ssa-structalias.c (shared_bitmap_info_t): New structure.
469         (shared_bitmap_table): New variable.
470         (shared_bitmap_hash): New function.
471         (shared_bitmap_eq): Ditto
472         (shared_bitmap_lookup): Ditto.
473         (shared_bitmap_add): Ditto.
474         (find_what_p_points_to): Rewrite to use shared bitmap hashtable.
475         (init_alias_vars): Init shared bitmap hashtable.
476         (delete_points_to_sets): Delete shared bitmap hashtable.
478 2007-07-23  Bernd Schmidt  <bernd.schmidt@analog.com>
480         * reload1.c (choose_reload_regs): Set reload_spill_index for regs
481         chosen during find_reloads.
483 2007-07-19  Release Manager
485         * GCC 4.2.1 released.
487 2007-07-18  Paolo Bonzini  <bonzini@gnu.org>
489         Revert:
491         2007-07-09  Paolo Bonzini  <bonzini@gnu.org>
493         PR middle-end/32004
494         * function.c (rest_of_match_asm_constraints): Pass PROP_REG_INFO.
496         2007-07-06  Paolo Bonzini  <bonzini@gnu.org>
498         PR middle-end/32004
499         * function.c (match_asm_constraints_1, rest_of_match_asm_constraints,
500         pass_match_asm_constraints): New.
501         * passes.c (init_optimization_passes): Add new pass.
502         * stmt.c (expand_asm_operands): Set cfun->has_asm_statement.
503         * function.h (struct function): Add has_asm_statement bit.
504         (current_function_has_asm_statement): New.
505         * tree-pass.h (pass_match_asm_constraints): New.
507 2007-07-16  Paul Brook  <paul@codesourcery.com>
509         PR target/32753
510         gcc/
511         * config/arm/cirrus.md (cirrus_arm_movsi_insn): Remove dead insn.
513 2007-07-10  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
515         PR target/32538
516         * config/mips/iris6.h (LIBGCC_SPEC): Add libm.
518 2007-07-09  Paolo Bonzini  <bonzini@gnu.org>
520         PR middle-end/32004
521         * function.c (rest_of_match_asm_constraints): Pass PROP_REG_INFO.
523 2007-07-09  Uros Bizjak  <ubizjak@gmail.com>
525         PR tree-optimization/32681
526         * tree-if-conv.c (find_phi_replacement_condition): Use the condition
527         saved in second_edge->aux when first_bb is a loop header.
529 2007-07-07 Anatoly Sokolov <aesok@post.ru>
531         PR target/31331
532         * config/avr/avr.c (avr_naked_function_p): Handle receiving a type
533         rather than a decl. 
534         (avr_attribute_table): Make "naked" attribute apply to function types
535         rather than to decls.
536         (avr_handle_fntype_attribute): New function.
538 2007-07-06  Paolo Bonzini  <bonzini@gnu.org>
540         PR middle-end/32004
541         * function.c (match_asm_constraints_1, rest_of_match_asm_constraints,
542         pass_match_asm_constraints): New.
543         * passes.c (init_optimization_passes): Add new pass.
544         * stmt.c (expand_asm_operands): Set cfun->has_asm_statement.
545         * function.h (struct function): Add has_asm_statement bit.
546         (current_function_has_asm_statement): New.
547         * tree-pass.h (pass_match_asm_constraints): New.
549 2007-07-06  Uros Bizjak  <ubizjak@gmail.com>
551         PR rtl-optimization/32450
552         * function.c (thread_prologue_and_epilogue_insns): Emit blockage insn
553         to ensure that instructions are not moved into the prologue when
554         profiling is on.
556 2007-07-04  Richard Guenther  <rguenther@suse.de>
558         PR tree-optimization/32500
559         * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
560         Only use basic blocks that are always executed to infer loop bounds.
562 2007-07-04  Uros Bizjak  <ubizjak@gmail.com>
564         PR tree-optimization/31966
565         PR tree-optimization/32533
566         * tree-if-conv.c (add_to_dst_predicate_list): Use "edge", not
567         "basic_block" description as its third argument.  Update function
568         calls to get destination bb from "edge" argument.  Save "cond" into
569         aux field of the edge.  Update prototype for changed arguments.
570         (if_convertible_loop_p): Clear aux field of incoming edges if bb
571         contains phi node.
572         (find_phi_replacement_condition): Operate on incoming edges, not
573         on predecessor blocks.  If there is a condition saved in the
574         incoming edge aux field, AND it with incoming bb predicate.
575         Return source bb of the first edge.
576         (clean_predicate_lists): Clean aux field of outgoing node edges.
577         (tree_if_conversion): Do not initialize cond variable. Move
578         variable declaration into the loop.
579         (replace_phi_with_cond_gimple_modify_stmt): Remove unneded
580         initializations of new_stmt, arg0 and arg1 variables.
582 2007-07-04  Kaz Kojima  <kkojima@gcc.gnu.org>
584         PR target/32506
585         Backport from mainline.
586         * config/sh/sh.md (udivsi3_i1_media): Use target_reg_operand
587         predicate instead of target_operand.
588         (divsi3_i1_media, divsi3_media_2): Likewise.
590 2007-07-03  Richard Guenther  <rguenther@suse.de>
592         Backport from mainline:
593         2006-12-11  Zdenek Dvorak <dvorakz@suse.cz>
595         PR rtl-optimization/30113
596         * loop-iv.c (implies_p): Require the mode of the operands to be
597         scalar.
599 2007-07-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
601         PR target/28307
602         * gthr-posix.h [SUPPORTS_WEAK && GTHREAD_USE_WEAK]
603         (__gthrw_pragma): Provide default definition.
604         (__gthrw2): Use it.
605         * gthr-posix.c (__gthrw_pragma): Define.
607 2007-07-02  Jakub Jelinek  <jakub@redhat.com>
609         PR libgomp/32468
610         * omp-low.c (check_combined_parallel): New function.
611         (lower_omp_parallel): Call it via walk_stmts, set
612         OMP_PARALLEL_COMBINED if appropriate.
613         (determine_parallel_type): If OMP_FOR resp. OMP_SECTIONS
614         isn't the only statement in WS_ENTRY_BB or OMP_RETURN
615         the only one in PAR_EXIT_BB and not OMP_PARALLEL_COMBINED,
616         don't consider it as combined parallel.
618 2007-06-30  Alexandre Oliva  <aoliva@redhat.com>
620         * dwarf2out.c (dwarf2out_finish): Accept namespaces as context of
621         limbo die nodes.
623 2007-06-28  Seongbae Park  <seongbae.park@gmail.com>
625         * config/arm/arm.c (arm_get_frame_offsets): Set
626         offsets->locals_base to avoid negative stack size.
627         (thumb_expand_prologue): Assert on negative stack size.
629 2007-06-28  Jakub Jelinek  <jakub@redhat.com>
631         * config/rs6000/rs6000.c (rs6000_function_ok_for_sibcall): Ensure
632         decl is non-external for AIX ABI.
634 2007-06-28  David Edelsohn  <edelsohn@gnu.org>
636         * config/rs6000/predicates.md (current_file_function_operand):
637         Ensure the symbol is non-external for AIX ABI.
639 2007-06-21  H.J. Lu  <hongjiu.lu@intel.com>
641         * config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_VEC_EXT_V16QI.
642         (ix86_init_mmx_sse_builtins): Add __builtin_ia32_vec_ext_v16qi.
643         (ix86_expand_builtin): Handle IX86_BUILTIN_VEC_EXT_V16QI.
645 2007-06-21  Jakub Jelinek  <jakub@redhat.com>
647         PR middle-end/32362
648         * omp-low.c (lookup_decl_in_outer_ctx): Don't ICE if t is NULL,
649         but decl is a global var, instead return decl.
650         * gimplify.c (gimplify_adjust_omp_clauses_1): Add shared clauses
651         even for is_global_var decls, if they are private in some outer
652         context.
654 2007-06-21  Uros Bizjak  <ubizjak@gmail.com>
656         PR target/32389
657         * config/i386/i386.h (enum ix86_stack_slot): Add SLOT_VIRTUAL.
658         * config/i386/i386.c (assign_386_stack_local): Assert that
659         SLOT_VIRTUAL is valid only before virtual regs are instantiated.
660         (ix86_expand_builtin) [IX86_BUILTIN_LDMXCSR, IX86_BUILTIN_STMXCSR]:
661         Use SLOT_VIRTUAL stack slot instead of SLOT_TEMP.
662         * config/i386/i386.md (truncdfsf2, truncxfsf2, truncxfdf2): Ditto.
664 2007-06-20  Jakub Jelinek  <jakub@redhat.com>
666         PR inline-asm/32109
667         * gimplify.c (gimplify_asm_expr): Issue error if type is addressable
668         and !allows_mem.
670         PR middle-end/32285
671         * calls.c (precompute_arguments): Also precompute CALL_EXPR arguments
672         if ACCUMULATE_OUTGOING_ARGS.
674 2007-06-20  Kaz Kojima  <kkojima@gcc.gnu.org>
676         PR rtl-optimization/28011
677         Backport from mainline.
678         * reload.c (push_reload): Set dont_share if IN appears in OUT
679         also when IN is a PLUS rtx.
680         (reg_overlap_mentioned_for_reload_p): Return true if X and IN
681         are same PLUS rtx.
683 2007-06-19  Richard Guenther  <rguenther@suse.de>
684         Michael Matz  <matz@suse.de>
686         PR tree-optimization/30252
687         * tree-ssa-structalias.c (solution_set_add): Make sure to
688         preserve all relevant vars.
689         (handle_ptr_arith): Make sure to only handle positive
690         offsets.
691         (push_fields_onto_fieldstack): Create fields for empty
692         bases.
694 2007-06-19  Jakub Jelinek  <jakub@redhat.com>
696         PR tree-optimization/32353
697         * tree-ssa-structalias.c (set_uids_in_ptset): Also handle RESULT_DECL.
699 2007-06-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
701         * config/sparc/sparc.c (sparc_vis_init_builtins): Retrieve the
702         return mode from the builtin itself.
703         (sparc_fold_builtin): Fix cast of zero constant.
705 2007-06-15  Diego Novillo  <dnovillo@google.com>
707         PR 32327
708         * tree-ssa-operands.c (build_ssa_operands): Initially assume
709         that the statement does not take any addresses.
711 2007-06-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
713         * config/sparc/sparc.c (sparc_override_options): Initialize
714         fpu mask correctly.
716 2007-06-09  Ian Lance Taylor  <iant@google.com>
718         PR tree-optimization/32169
719         * tree-vrp.c (extract_range_from_unary_expr): For NOP_EXPR and
720         CONVERT_EXPR, check whether min and max both converted to an
721         overflow infinity representation.
723 2007-06-08  Kaz Kojima  <kkojima@gcc.gnu.org>
725         PR target/32163
726         Backport from mainline.
727         * config/sh/sh.md (symGOT_load): Don't schedule insns when
728         the symbol is generated with the stack protector.
730 2007-06-06  Ian Lance Taylor  <iant@google.com>
732         * fold-const.c (merge_ranges): If range_successor or
733         range_predecessor fail, just return 0.
735 2007-06-05  Ian Lance Taylor  <iant@google.com>
737         * tree-vrp.c (compare_values_warnv): Check TREE_NO_WARNING on a
738         PLUS_EXPR or MINUS_EXPR node before setting *strict_overflow_p.
739         (extract_range_from_assert): Set TREE_NO_WARNING when creating an
740         expression.
741         (test_for_singularity): Likewise.
743 2007-06-04  Ian Lance Taylor  <iant@google.com>
745         * tree-vrp.c (adjust_range_with_scev): When loop is not expected
746         to overflow, reduce overflow infinity to regular infinity.
747         (vrp_var_may_overflow): New static function.
748         (vrp_visit_phi_node): Check vrp_var_may_overflow.
750 2007-05-31  H.J. Lu  <hongjiu.lu@intel.com>
752         Backport from mainline:
753         2007-05-25  H.J. Lu  <hongjiu.lu@intel.com>
755         * config/i386/i386.c (__builtin_ia32_vec_ext_v2df): Mark it
756         with MASK_SSE2.
757         (__builtin_ia32_vec_ext_v2di): Likewise.
758         (__builtin_ia32_vec_ext_v4si): Likewise.
759         (__builtin_ia32_vec_ext_v8hi): Likewise.
760         (__builtin_ia32_vec_set_v8hi): Likewise.
762 2007-05-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
764         Backport from mainline:
765         2007-05-05  Aurelien Jarno  <aurelien@aurel32.net>
767         * config/pa/pa.md: Split tgd_load, tld_load and tie_load
768         into pic and non-pic versions. Mark r19 as used for 
769         tgd_load_pic, tld_load_pic and tie_load_pic. Mark r27 as used 
770         for tgd_load, tld_load and tie_load .
771         * config/pa/pa.c (legitimize_tls_address): Emit pic or non-pic
772         version of tgd_load, tld_load and tie_load depending on the 
773         value of flag_pic.
775 2007-05-27  Daniel Berlin <dberlin@dberlin.org>
777         Fix PR/30052
778         Backport PTA solver from mainline
780         * pointer-set.c: Copy from mainline
781         * pointer-set.h: Ditto.
782         * tree-ssa-structalias.c: Copy solver portions from mainline.
783         * Makefile.in (tree-ssa-structalias.o): Update dependencies
785 2007-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
787         * tree-vrp.c (compare_names): Initialize sop.
789 2007-05-30  Jakub Jelinek  <jakub@redhat.com>
791         PR tree-optimization/31769
792         * except.c (duplicate_eh_regions): Clear prev_try if
793         ERT_MUST_NOT_THROW region is inside of ERT_TRY region.
795 2007-05-28  Andrew Pinski  <andrew_pinski@playstation.sony.com>
797         PR tree-opt/32100
798         * fold-const.c (tree_expr_nonnegative_warnv_p): Don't
799         return true when truth_value_p is true and the type
800         is of signed:1.
802 2007-05-27  H.J. Lu  <hongjiu.lu@intel.com>
804         Backport from mainline:
805         2007-05-25  Uros Bizjak  <ubizjak@gmail.com>
807         * config/i386/sse.md (*vec_extractv2di_1_sse2): Do not calculate
808         "memory" attribute for "sseishft" type insn without operands[2].
810         2007-05-25  H.J. Lu  <hongjiu.lu@intel.com>
812         * config/i386/sse.md (*vec_extractv2di_1_sse2): Correct shift.
814 2007-05-22  Ian Lance Taylor  <iant@google.com>
816         * tree-vrp.c (avoid_overflow_infinity): New static function,
817         broken out of set_value_range_to_value.
818         (set_value_range_to_value): Call avoid_overflow_infinity.
819         (extract_range_from_assert): Likewise.
821 2007-05-23  Chen Liqin  <liqin@sunnorth.com.cn>
823         PR target/30987
824         * config/score/misc.md (bitclr_c, bitset_c, bittgl_c): remove.
825         * config/score/predicate.md (const_pow2, const_npow2): remove.
826         * config/score/score.h (ASM_OUTPUT_EXTERNAL): add ASM_OUTPUT_EXTERNAL undef.
827         PR target/30474
828         * config/score/score.c (score_print_operand): makes sure that only lower 
829         bits are used.
830         
831 2007-05-21  Uros Bizjak  <ubizjak@gmail.com>
833         PR target/31167
834         Backport from mainline.
835         * config/i386/i386.md (*addti3_1, *addti3_1 splitter): Use
836         x86_64_general_operand as operand[2] predicate.  Remove "iF"
837         from operand constraints and use "e" constraint instead.
838         (*subti3_1, *subti3_1 splitter): Ditto.
839         (*negti2_1, *negti2_1 splitter): Use nonimmediate_operand as
840         operand[1] predicate.
842 2007-05-21  Uros Bizjak  <ubizjak@gmail.com>
844         PR target/30041
845         Backport from mainline.
846         * config/i386/sse.md ("*sse3_movddup"): Use operands[0] and
847         operands[1] in insn constraint.  Correct type attribute to sselog1.
849 2007-05-20  Kaz Kojima  <kkojima@gcc.gnu.org>
851         PR target/31701
852         Backport from mainline.
853         * config/sh/sh.c (output_stack_adjust): Avoid using the frame
854         register itself to hold the offset constant.  Tell flow the use
855         of r4 and r5 when they are used.
857 2007-05-20  Kaz Kojima  <kkojima@gcc.gnu.org>
859         PR target/31480
860         Backport from mainline.
861         * config/sh/sh.md (length): Check if prev_nonnote_insn (insn)
862         is null.
864 2007-05-20  Kaz Kojima  <kkojima@gcc.gnu.org>
866         PR target/31022
867         Backport from mainline.
868         * config/sh/sh.c (sh_adjust_cost): Use the result of single_set
869         instead of PATTERN.
871 2007-05-20  Kaz Kojima  <kkojima@gcc.gnu.org>
873         PR target/27405
874         Backport from mainline.
875         * config/sh/sh.md (cmp{eq,gt,gtu}{si,di}_media): Remove.
876         (cmpsi{eq,gt,gtu}{si,di}_media): Rename to
877         cmp{eq,gt,gtu}{si,di}_media.
878         (*cmpne0si_media): Remove.
879         (*movsicc_umin): Adjust gen_cmp*_media call.
880         (unordered): Change the mode of unordered and operands[1] to
881         SImode.
882         (seq): Adjust gen_cmp*_media calls.  Make the mode of
883         a temporary result of compare SImode if needed.  If the mode
884         of operands[0] is DImode, extend the temporary result to DImode.
885         (slt, sle, sgt, sge, sgtu, sltu, sleu, sgue, sne): Likewise.
886         (sunorderd): Change the mode of match_operand and unorderd to
887         SImode.
888         (cmpeq{sf,df}_media): Remove.
889         (cmpsieq{sf,df}_media): Rename to cmpeq{sf,df}_media.
890         (cmp{gt,ge,un}{sf,df}_media): Change the mode of match_operand
891         and compare operation to SImode.
893 2007-05-18  Joseph Myers  <joseph@codesourcery.com>
895         * config/soft-fp/double.h, config/soft-fp/extended.h,
896         config/soft-fp/floatundidf.c, config/soft-fp/floatundisf.c,
897         config/soft-fp/floatunsidf.c, config/soft-fp/floatunsisf.c,
898         config/soft-fp/op-2.h, config/soft-fp/op-4.h,
899         config/soft-fp/op-common.h, config/soft-fp/quad.h: Update from
900         glibc CVS.
902 2007-05-17  Ian Lance Taylor  <iant@google.com>
904         PR tree-optimization/31953
905         * tree-vrp.c (set_value_range_to_value): Add equiv parameter.
906         Change all callers.
907         (set_value_range_to_null): Call set_value_range_to_value.
908         (extract_range_from_comparison): Likewise.
910 2007-05-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
912         PR rtl-optimization/31691
913         * combine.c (simplify_set): Build a new src pattern instead of
914         substituting its operands in the COMPARE case.
916 2007-05-14  Mark Mitchell  <mark@codesourcery.com>
918         * BASE-VER: Set to 4.2.1.
919         * DEV-PHASE: Set to prerelease.
921 2007-05-13  Release Manager
923         * GCC 4.2.0 released.
925 2007-05-12  Richard Guenther  <rguenther@suse.de>
927         PR tree-optimization/31797
928         * tree-ssa-forwprop.c (forward_propagate_addr_expr): Do not
929         propagate into a stmt that has volatile ops.
931 2007-05-01  Ian Lance Taylor  <iant@google.com>
933         PR tree-optimization/31739
934         * tree-vrp.c (vrp_val_is_max): New static function.
935         (vrp_val_is_min): New static function.
936         (set_value_range_to_value): Use TYPE_{MAX,MIN}_VALUE rather than
937         copying the node.
938         (set_value_range): Use vrp_val_is_{max,min}.
939         (extract_range_from_assert): Likewise.
940         (extract_range_from_binary_expr): Likewise.
941         (extract_range_from_unary_expr): Likewise.
942         (dump_value_range, vrp_meet): Likewise.
943         (vrp_visit_phi_node): Likewise.
944         * tree.c (build_distinct_type_copy): Revert change of 2007-04-27.
946 2007-05-01  Joseph Myers  <joseph@codesourcery.com>
948         * config/rs6000/libgcc-ppc-glibc.ver (__gcc_qgt): Fix typo.
950 2007-04-27  Anatoly Sokolov <aesok@post.ru>
952         * config/avr/avr.c (avr_mcu_types): Add support for ATmega8HVA and 
953         ATmega16HVA devices. Move AT90USB82 device to 'avr5' architecture.
954         * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
955         * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
957 2007-04-27  Ian Lance Taylor  <iant@google.com>
959         PR middle-end/31710
960         * tree.c (build_distinct_type_copy): If TYPE_MIN_VALUE or
961         TYPE_MAX_VALUE exist, convert them to the new type.
963 2007-04-26  Ian Lance Taylor  <iant@google.com>
965         PR target/28675
966         * reload.c (find_reloads_subreg_address): If the address was valid
967         in the original mode but not in the new mode, reload the whole
968         address.
970 2007-04-26  Ulrich Weigand  <uweigand@de.ibm.com>
972         PR middle-end/30761
973         * reload1.c (eliminate_regs_in_insn): In the single_set special
974         case, attempt to re-recognize the insn before falling back to
975         having reload fix it up.
977 2007-04-26  Richard Guenther  <rguenther@suse.de>
978         Daniel Berlin  <dberlin@dberlin.org>
980         PR tree-optimization/30567
981         * tree-ssa-structalias.c (update_alias_info): Record dereference
982         also if ESCAPE_STORED_IN_GLOBAL.
984 2007-04-26  Jakub Jelinek  <jakub@redhat.com>
986         PR c++/31598
987         * tree-inline.c (copy_body_r): Don't touch TREE_TYPE of OMP_CLAUSE.
989         PR tree-optimization/30558
990         * tree-eh.c (lower_eh_filter): If EH_FILTER_MUST_NOT_THROW
991         clear this_state.prev_try.
993 2007-04-25  Anatoly Sokolov <aesok@post.ru>
995         PR target/18989
996         * config/avr/avr.h (ASM_OUTPUT_ALIGN): Redefine.
998 2007-04-24  Andrew Pinski  <andrew_pinski@playstation.sony.com>
999             Roger Sayle  <roger@eyesopen.com>
1001         PR middle-end/30222
1002         * expmed.c (make_tree): Use the correct type, i.e. the inner
1003         type, when constructing the individual elements of a CONST_VECTOR.
1005 2007-04-24  Ian Lance Taylor  <iant@google.com>
1007         PR tree-optimization/31605
1008         * tree-vrp.c (set_value_range): Check that min and max are not
1009         both overflow infinities.
1010         (set_value_range_to_value): New static function.
1011         (extract_range_from_binary_expr): Call set_value_range_to_value.
1012         (extract_range_from_expr): Likewise.
1013         (extract_range_from_unary_expr): Likewise.  Don't create a range
1014         which overflows on both sides.
1015         (vrp_meet): Check for a useless range.
1016         (vrp_visit_phi_node): If we see a constant which looks like an
1017         overflow infinity, turn off the TREE_OVERFLOW flag.
1019 2007-04-24  Ian Lance Taylor  <iant@google.com>
1021         PR tree-optimization/31602
1022         * tree-ssa-loop-ch.c (copy_loop_headers): Set TREE_NO_WARNING for
1023         conditionals in the copied loop header.
1024         * tree-cfg.c (fold_cond_expr_cond): Don't issue undefined overflow
1025         warnings if TREE_NO_WARNING is set.
1026         * doc/invoke.texi (Warning Options): Clarify that
1027         -Wstrict-overflow does not warn about loops.
1029 2007-04-24  Andreas Krebbel  <krebbel1@de.ibm.com>
1031         PR target/31641
1032         * config/s390/s390.c (s390_expand_setmem): Don't ICE for constant length
1033         argument of 0 for memset.
1034         (s390_expand_movmem, s390_expand_setmem, s390_expand_cmpmem): Use
1035         unsigned shift instead of the signed variant.
1037 2007-04-24  Daniel Franke  <franke.daniel@gmail.com>
1039         * doc/invoke.texi: Removed leading '-' from option index entries.
1041 2007-04-22  Andrew Pinski  <andrew_pinski@playstation.sony.com>
1043         PR middle-end/31448
1044         * expr.c (reduce_to_bit_field_precision): Handle
1045         CONST_INT rtx's.
1047 2007-04-20  Richard Henderson  <rth@redhat.com>
1049         PR target/28623
1050         * config/alpha/alpha.c (get_unaligned_address): Remove extra_offset
1051         argument; update all callers.
1052         (get_unaligned_offset): New.
1053         * config/alpha/alpha.md (extendqidi2, extendhidi2): Don't use
1054         get_unaligned_address, just pass on the address directly.
1055         (unaligned_extendqidi): Use gen_lowpart instead of open-coding
1056         the subreg in the helper patterns.
1057         (unaligned_extendqidi_le): Use get_unaligned_offset.
1058         (unaligned_extendqidi_be, unaligned_extendhidi_le): Likewise.
1059         (unaligned_extendhidi_be): Likewise.
1060         (unaligned_extendhidi): Tidy.
1061         * config/alpha/alpha-protos.h: Update.
1063 2007-04-21  Richard Guenther  <rguenther@suse.de>
1065         PR middle-end/31136
1066         * fold-const.c (fold_unary): Call fold_convert_const on the
1067         original tree.
1069 2007-04-20  Richard Henderson  <rth@redhat.com>
1071         * config/alpha/linux.h (CPP_SPEC): Undef before redefine.
1073 2007-04-20  Bernd Schmidt  <bernd.schmidt@analog.com>
1075         * reload.c (combine_reloads): When trying to use a dying register,
1076         check whether it's uninitialized and don't use if so.
1078 2007-04-20  Jakub Jelinek  <jakub@redhat.com>
1080         * config/i386/i386.c (bdesc_2arg): Use ORDERED rather than UNORDERED
1081         for __builtin_ia32_cmpordss.
1083         PR tree-optimization/31632
1084         * fold-const.c (fold_binary): Use op0 and op1 instead of arg0
1085         and arg1 for optimizations of comparison against min/max values.
1086         Fold arg0 to arg1's type for optimizations of comparison against
1087         min+1 and max-1 values.
1089 2007-04-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
1091         PR rtl-optimization/29841
1092         * cfgbuild.c (control_flow_insn_p): Return TRUE for unconditional
1093         trap instructions.
1094         * sched-deps.c (sched_analyze_insn): Prevent all non-jump instructions
1095         that may cause control flow transfer from being moved.
1097 2007-04-18  Anatoly Sokolov <aesok@post.ru>
1099         * config/avr/avr.c (ptrreg_to_str): Replace error() with
1100         output_operand_lossage().
1102 2007-04-17  Anatoly Sokolov <aesok@post.ru>
1104         PR target/30483
1105         * config/avr/avr.c (ptrreg_to_str): Replace gcc_unreachable() with
1106         error().
1108 2007-04-17  Jan Hubicka  <jh@suse.cz>
1110         PR middle-end/30700
1111         * dwarf2out.c (reference_to_unused): Ask cgraph for functions
1112         availablility; add more sanity checking; ask varpool only about
1113         VAR_DECL.
1115 2007-04-17  H.J. Lu  <hongjiu.lu@intel.com>
1117         * Backport from mainline:
1118         2007-04-17  H.J. Lu  <hongjiu.lu@intel.com>
1120         * config/i386/sse.md (sse_vmaddv4sf3): Use register_operand
1121         on "0".
1122         (sse_vmmulv4sf3): Likewise.
1123         (sse2_vmaddv2df3): Likewise.
1124         (sse2_vmmulv2df3): Likewise.
1126 2007-04-16  Matthias Klose  <doko@debian.org>
1128         * config/alpha/linux.h (CPP_SPEC): Define.
1129         * config/arm/linux-gas.h (SUBTARGET_CPP_SPEC): Extend.
1131 2007-04-16  Anatoly Sokolov <aesok@post.ru>
1133         * config/avr/avr.c (avr_arch_types): Rearranging  array.
1134         (enum avr_arch): Add.
1135         (avr_mcu_types): Use avr_arch enumeration constants instead of 
1136         numbers.
1137         * config/avr/avr.h (LINK_SPEC): Simplify.
1139 2007-04-16  Jan Hubicka  <jh@suse.cz>
1141         PR target/27869
1142         * config/i386/sse.md
1143         (sse_vmaddv4sf3, sse_vmmulv4sf3): Remove '%' modifier.
1144         (sse_vmsmaxv4sf3_finite, sse_vmsminv4sf3_finite): Remove.
1145         (sse2_vmaddv2df3, sse2_vmmulv2df3): Remove '%' modifier.
1146         (sse2_vmsmaxv2df3_finite, sse2_vmsminv2df3_finite): Remove.
1148 2007-04-16  H.J. Lu  <hongjiu.lu@intel.com>
1150         * Backport from mainline:
1151         2007-04-16  H.J. Lu  <hongjiu.lu@intel.com>
1153         PR target/31582
1154         * config/i386/i386.c (ix86_expand_vec_set_builtin): Make a
1155         copy of source, pass it to ix86_expand_vector_set and return
1156         it as target.
1158 2007-04-14  Andrew Pinski  <andrew_pinski@playstation.sony.com>
1160         PR c/31520
1161         * c-decl.c (finish_decl): Grab the type of the decl after the call
1162         to store_init_value.
1164 2007-04-14  Jakub Jelinek  <jakub@redhat.com>
1166         PR c++/25874
1167         * omp-low.c (expand_omp_parallel): If child_cfun->cfg, free dominators,
1168         post dominators and cleanup cfg before returning.
1170 2007-04-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1172         * pa.c (pa_som_asm_init_sections): Ensure that cfun->machine is not
1173         null before emitting a .nsubspa directive.
1175 2007-04-08  Anatoly Sokolov <aesok@post.ru>
1177         PR target/29932
1178         * config/avr/predicates.md (io_address_operand): Delete predicate.
1179         (low_io_address_operand): Don't use 'mode' argument.
1180         (higth_io_address_operand): Rename ...
1181         (high_io_address_operand): ... to this. Don't use 'mode' argument.
1182         * config/avr/avr.md (*sbix_branch_tmp, *sbix_branch_tmp_bit7): Adjust
1183         for above change.
1185 2007-04-07  Anatoly Sokolov <aesok@post.ru>
1187         PR target/30289
1188         * config/avr/avr.md (*clrmemqi, *clrmemhi): Mark operand 4 as 
1189         earlyclobber.
1191 2007-04-05  Anatoly Sokolov <aesok@post.ru>
1193         PR target/25448
1194         * config/avr/avr.c (avr_handle_fndecl_attribute): Use the 
1195         DECL_ASSEMBLER_NAME, not the DECL_NAME.
1197 2007-04-04  Richard Henderson  <rth@redhat.com>
1199         PR target/31361
1200         * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove
1201         v8hi_ftype_v8hi_v2di, v4si_ftype_v4si_v2di.  Use like-types for
1202         the variable shift builtins.
1203         (ix86_expand_builtin): Properly expand the variable shift builtins.
1204         * config/i386/sse.md (ashr<mode>3, lshr<mode>3, ashl<mode>3): Make
1205         operand 2 be TImode.
1206         * config/i386/emmintrin.h (_mm_slli_epi16, _mm_slli_epi32,
1207         _mm_slli_epi64, _mm_srai_epi16, _mm_srai_epi32, _mm_srli_epi16,
1208         _mm_srli_epi32, _mm_srli_epi64): Turn into macros.
1209         (_mm_srli_si128, _mm_srli_si128): Fix disabled inline versions.
1210         (_mm_sll_epi16, _mm_sll_epi32, _mm_sll_epi64, _mm_sra_epi16,
1211         _mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32, _mm_srl_epi64): Use
1212         two-vector shift builtins.
1214 2007-04-04  Chen liqin  <liqin@sunnorth.com.cn>
1216         * config/score/crti.asm: Change _bss_start to __bss_start.
1217         * config/score/score.h (CONDITIONAL_REGISTER_USAGE): Added.
1218         (OUTGOING_REG_PARM_STACK_SPACE) update.
1219         * config/score/score.opt: add options to make backend support
1220         score5, score5u, score7 and score7d.
1221         * config/score/score.md: Likewise.
1222         * config/score/misc.md: Likewise.
1223         * config/score/mac.md: Likewise.
1224         * doc/invoke.texi: Likewise.
1225         * doc/md.texi: update constraints define.
1227 2007-04-03  Stuart Hastings  <stuart@apple.com>
1229         PR 31281
1230         * objc/objc-act.c (next_sjlj_build_catch_list): Delete volatile
1231         from rethrow decl.
1232         * cse.c (record_jump_equiv): Bail out on CCmode comparisons.
1234 2007-04-03  Jakub Jelinek  <jakub@redhat.com>
1236         PR middle-end/30704
1237         * fold-const.c (native_encode_real): Encode real.c provided longs
1238         as a series of 32-bit native integers.
1239         (native_interpret_real): Interpret buffer as a series of 32-bit
1240         native integers.
1242 2007-04-02  Eric Christopher  <echristo@apple.com>
1244         * doc/invoke.texi (i386 and x86-64 Options): Document -m64
1245         limitations on darwin.
1247 2007-04-02  Anatoly Sokolov <aesok@post.ru>
1249         PR target/31137
1250         * config/avr/avr.c (avr_rtx_costs): Add missing 'break' statements.
1252 2007-04-02  H.J. Lu  <hongjiu.lu@intel.com>
1254         * Backport from mainline:
1255         2007-03-28  Grigory Zagorodnev <grigory_zagorodnev@linux.intel.com>
1257         PR target/31380
1258         * config/i386/sse.md (uminv16qi3): Use UMIN instead of UMAX.
1260 2007-03-30  Anatoly Sokolov <aesok@post.ru>
1262         * config/avr/avr.c (avr_override_options): Clear
1263         'flag_delete_null_pointer_checks'.
1265 2007-03-29  Michael Matz  <matz@suse.de>
1267         * builtins.c (expand_builtin_sync_operation,
1268         expand_builtin_compare_and_swap,
1269         expand_builtin_lock_test_and_set): Care for extending CONST_INTs
1270         correctly.
1272         * config/i386/sync.md (sync_double_compare_and_swapdi_pic,
1273         sync_double_compare_and_swap_ccdi_pic): Use "SD" as constraint
1274         for operand 3.
1276 2007-03-28  Mike Stump  <mrs@apple.com>
1278         * config/darwin9.h (ASM_OUTPUT_ALIGNED_COMMON): Add.
1279         * config/darwin.h (MAX_OFILE_ALIGNMENT): Fix.
1280         * config/rs6000/darwin.h (ASM_OUTPUT_ALIGNED_COMMON): Removed #undef.
1282 2007-03-27  Anatoly Sokolov <aesok@post.ru>
1284         * config/avr/avr.c (avr_mcu_types): Move at90usb82 device to 'avr4'
1285         architecture.
1287 2007-03-26  Ian Lance Taylor  <iant@google.com>
1289         PR tree-optimization/31345
1290         * tree-vrp.c (extract_range_from_binary_expr): Turn ranges like
1291         [+INF, +INF(OVF)] into VARYING.
1293 2007-03-23  Martin Michlmayr  <tbm@cyrius.com>
1295         * doc/invoke.texi (-fforce-mem): Update documentation to reflect
1296         that this option will be removed in 4.3 rather than 4.2.
1297         * opts.c (common_handle_option): Likewise.
1299 2007-03-21  Mike Stump  <mrs@apple.com>
1301         * c.opt: Fixup for Objective-C/C++.
1303 2007-03-21  Richard Henderson  <rth@redhat.com>
1305         PR target/31245
1306         * config/i386/emmintrin.h (__m128i, __m128d): Mark may_alias.
1307         * config/i386/mmintrin.h (__m64): Likewise.
1308         * config/i386/xmmintrin.h (__m128): Likewise.
1310 2007-03-20  Jakub Jelinek  <jakub@redhat.com>
1312         PR c/30762
1313         * c-typeck.c (convert_for_assignment): Call comptypes for
1314         RECORD_TYPE or UNION_TYPE.
1316         PR inline-asm/30505
1317         * reload1.c (reload): Do invalid ASM checking after
1318         cleanup_subreg_operands.
1320 2007-03-19  Jeff Law  <law@redhat.com>
1322         * tree-cfg.c (find_taken_edge): Tighten conditions for
1323         optimizing computed gotos.
1325 2007-03-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1327         * pa.c (attr_length_call): Partially revert change of 2007-03-09.
1328         (output_call): Likewise.
1330 2007-03-16  Alexandre Oliva  <aoliva@redhat.com>
1332         PR debug/29906
1333         * dwarf2out.c (force_type_die): Adjust comment.
1334         (dwarf2out_imported_module_or_decl): Handle base AT_import types.
1336 2007-03-15  Seongbae Park <seongbae.park@gmail.com>
1338         PR tree-optimization/30590
1339         * tree-nrv.c (tree_nrv): Check for the partial update
1340         of the return value.
1342 2007-03-14  Ian Lance Taylor  <iant@google.com>
1344         * tree-vrp.c (value_inside_range): Ignore fold warnings.
1346 2007-03-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1348         PR target/31123
1349         * pa.md (vdepi_ior): Don't allow zero length deposit.  Likewise for
1350         two unamed patterns.
1352 2007-03-12  Brooks Moses  <brooks.moses@codesourcery.com>
1354         * doc/extend.texi: Edit "gnu_inline" documentation.
1355         * doc/invoke.texi: Edit "-fgnu89-inline" documentation.
1357 2007-03-12  Brooks Moses  <brooks.moses@codesourcery.com>
1359         * doc/extend.texi: Fix cpp.info cross-reference.
1360         * doc/invoke.texi: Fix cpp.info cross-reference.
1361         * doc/passes.texi: Fix gcc.info cross-reference.
1363 2007-03-12  Daniel Berlin  <dberlin@dberlin.org>
1365         Fix PR tree-optimization/28544
1366         * tree-ssa-operands.c (add_virtual_operand):
1367         Move assert triggering on aliasing violations into
1368         debugging define
1370 2007-03-12  Ian Lance Taylor  <iant@google.com>
1372         * c.opt (fgnu89-inline): New option.
1373         * c-opts.c (c_common_post_options): Warn about -fno-gnu89-inline.
1374         * c-common.c (c_common_attributes): Add gnu_inline attribyte.
1375         (handle_gnu_inline_attribute): New static function.
1376         * c-decl.c (start_function): Warn if we see a non-static inline
1377         function in C99 mode.
1378         * c-cppbuiltin.c (c_cpp_builtins): Define __GNUC_GNU_INLINE__.
1379         * doc/invoke.texi (Option Summary): Mention -fgnu89-inline.
1380         (C Dialect Options): Document -fgnu89-inline.
1381         * doc/extend.texi (Function Attributes): Document gnu_inline.
1382         (Inline): Mention that C99 inline will be implemented in 4.3.
1383         Refer to ways to get the old handling.
1384         * doc/cpp.texi (Common Predefined Macros): Document
1385         __GNUC_GNU_INLINE__ and __GNUC_STDC_INLINE__.
1387 2007-03-12  Richard Henderson  <rth@redhat.com>
1389         * config/alpha/alpha.c (alpha_elf_section_type_flags): New.
1390         (TARGET_SECTION_TYPE_FLAGS): New.
1392 2007-03-12  Richard Henderson  <rth@redhat.com>
1394         * config/darwin.c (machopic_reloc_rw_mask): New.
1395         (machopic_select_section): Use decl_readonly_section.
1396         * config/darwin-protos.h (machopic_reloc_rw_mask): Declare.
1397         * config/darwin.h (TARGET_ASM_RELOC_RW_MASK): New.
1399 2007-02-14  Richard Guenther  <rguenther@suse.de>
1401         Backport from mainline:
1402         * flags.h (issue_strict_overflow_warning): Convert to a macro.
1404 2007-03-11  Ian Lance Taylor  <iant@google.com>
1406         Backport -fstrict-overflow/-Wstrict-overflow from mainline:
1407         2007-03-11  Ian Lance Taylor  <iant@google.com>
1409         * tree-vrp.c (vrp_int_const_binop): Handle PLUS_EXPR and
1410         the *_DIV_EXPR codes correctly with overflow infinities.
1412         2007-03-09  Ian Lance Taylor  <iant@google.com>
1414         * opts.c (common_handle_option): Treat -Wstrict-overflow (with no
1415         argument) like -Wstrict-overflow=2.
1416         * doc/invoke.texi (Warning Options): Update documentation.
1418         2007-03-08  Ian Lance Taylor  <iant@google.com>
1420         * tree-vrp.c: Include "toplev.h" and "intl.h".
1421         (usable_range_p): New static function.
1422         (compare_values_warnv): Don't test TYPE_OVERFLOW_UNDEFINED for
1423         overflowed values, juts set *strict_overflow_p.
1424         (compare_values): Only return -2 if one of the operands is not a
1425         constant.
1426         (compare_ranges): Call usable_range_p.
1427         (compare_range_with_value): Likewise.
1428         (vrp_evaluate_conditional_warnv): Rename from
1429         vrp_evaluate_conditional.  Make static.  Change all callers.
1430         (vrp_evaluate_conditional): New function.
1431         (simplify_div_or_mod_using_ranges): Issue warning about reliance
1432         on signed overflow.
1433         (simplify_abs_using_ranges): Likewise.
1434         (simplify_stmt_for_jump_threading): Add within_stmt parameter.
1435         * tree-ssa-dom.c (simplify_stmt_for_jump_threading): Add
1436         within_stmt parameter.
1437         * tree-ssa-propagate.c (fold_predicate_in): Update call to
1438         vrp_evaluate_conditional.
1439         * tree-ssa-threadedge.c
1440         (record_temporary_equivalences_from_stmts_at_dest): Change
1441         simplify parameter to take a second tree parameter.
1442         (simplify_control_stmt_condition): Likewise.
1443         (thread_across_edge): Likewise.
1444         * tree-flow.h (vrp_evaluate_conditional): Update declaration.
1445         (thread_across_edge): Likewise.
1446         * Makefile.in (tree-vrp.o): Depend upon toplev.h and intl.h.
1448         2007-03-05  Ian Lance Taylor  <iant@google.com>
1450         * tree-vrp.c (extract_range_from_assert): Don't try to handle a
1451         half-range if the other side is an overflow infinity.
1453         2007-03-02  Ian Lance Taylor  <iant@google.com>
1455         Used signed infinities in VRP.
1456         * tree-vrp.c (uses_overflow_infinity): New static function.
1457         (supports_overflow_infinity): New static function.
1458         (make_overflow_infinity): New static function.
1459         (negative_overflow_infinity): New static function.
1460         (positive_overflow_infinity): New static function.
1461         (is_negative_overflow_infinity): New static function.
1462         (is_positive_overflow_infinity): New static function.
1463         (is_overflow_infinity): New static function.
1464         (overflow_infinity_range_p): New static function.
1465         (compare_values_warnv): New function split out of compare_values.
1466         (compare_value): Call it.
1467         (set_value_range_to_nonnegative): Add overflow_infinity
1468         parameter.  Change caller.
1469         (vrp_expr_computes_nonnegative): Add strict_overflow_p parameter.
1470         Change callers.
1471         (vrp_expr_computes_nonzero): Likewise.
1472         (compare_ranges, compare_range_with_value): Likewise.
1473         (compare_name_with_value, compare_names): Likewise.
1474         (vrp_evaluate_conditional): Likewise.
1475         (set_value_range): Handle infinity
1476         (vrp_operand_equal_p, operand_less_p): Likewise.
1477         (extract_range_from_assert): Likewise.
1478         (vrp_int_const_binop): Likewise.
1479         (extract_range_from_binary_expr): Likewise.
1480         (extract_range_from_unary_expr): Likewise.
1481         (extract_range_from_comparison): Likewise.
1482         (extract_range_from_expr): Likewise.
1483         (dump_value_range): Likewise.
1484         (vrp_visit_cond_stmt, vrp_visit_phi_node): Likewise.
1485         (test_for_singularity): Likewise.
1486         (vrp_int_const_binop): Remove inline qualifier.
1487         (adjust_range_with_scev): Add comment.
1488         * tree-flow.h (vrp_evaluate_conditional): Update declaration.
1490         2007-02-13  Ian Lance Taylor  <iant@google.com>
1492         * common.opt: Add Wstrict-overflow and Wstrict-overflow=.
1493         * flags.h (warn_strict_overflow): Declare.
1494         (enum warn_strict_overflow_code): Define.
1495         (issue_strict_overflow_warning): New static inline function.
1496         * opts.c (warn_strict_overflow): New variable.
1497         (common_handle_option): Handle OPT_Wstrict_overflow and
1498         OPT_Wstrict_overflow_.
1499         * c-opts.c (c_common_handle_option): Set warn_strict_overflow for
1500         OPT_Wall.
1501         * fold-const.c: Include intl.h.
1502         (fold_deferring_overflow_warnings): New static variable.
1503         (fold_deferred_overflow_warning): New static variable.
1504         (fold_deferred_overflow_code): New static variable.
1505         (fold_defer_overflow_warnings): New function.
1506         (fold_undefer_overflow_warnings): New function.
1507         (fold_undefer_and_ignore_overflow_warnings): New function.
1508         (fold_deferring_overflow_warnings_p): New function.
1509         (fold_overflow_warning): New static function.
1510         (make_range): Add strict_overflow_p parameter.  Change all
1511         callers.
1512         (extract_muldiv, extract_muldiv_1): Likewise.
1513         (fold_unary) [ABS_EXPR]: Check ABS_EXPR before calling
1514         tree_expr_nonnegative_p.
1515         (fold_negate_expr): Call fold_overflow_warning.
1516         (fold_range_test): Likewise.
1517         (fold_comparison): Likewise.
1518         (fold_binary): Likewise.  Call tree_expr_nonnegative_warnv_p
1519         instead of tree_expr_nonnegative_p.
1520         (tree_expr_nonnegative_warnv_p): Rename from
1521         tree_expr_nonnegative_p, add strict_overflow_p parameter.
1522         (tree_expr_nonnegative_p): New function.
1523         (tree_expr_nonzero_warnv_p): Rename from tree_expr_nonzero_p, add
1524         strict_overflow_p parameter.
1525         (tree_expr_nonzero_p): New function.
1526         * passes.c (verify_interpass_invariants): New static function.
1527         (execute_one_pass): Call it.
1528         * tree-ssa-loop-niter.c (expand_simple_operations): Ignore fold
1529         warnings.
1530         (number_of_iterations_exit, loop_niter_by_eval): Likewise.
1531         (estimate_numbers_of_iterations): Likewise.
1532         (scev_probably_wraps_p): Likewise.
1533         * tree-ssa-ccp.c: Include "toplev.h".
1534         (evaluate_stmt): Defer fold overflow warnings until we know we are
1535         going to optimize.
1536         (struct fold_stmt_r_data): Add stmt field.
1537         (fold_stmt_r): Defer fold overflow warnings until we know we
1538         optimized.
1539         (fold_stmt): Initialize stmt field of fold_stmt_r_data.
1540         (fold_stmt_inplace): Likewise.
1541         * tree-cfgcleanup.c: Include "toplev.h" rather than "errors.h".
1542         (cleanup_control_expr_graph): Defer fold overflow warnings until
1543         we know we are going to optimize.
1544         * tree-cfg.c (fold_cond_expr_cond): Likewise.
1545         * tree-ssa-threadedge.c (simplify_control_stmt_condition):
1546         Likewise.
1547         * tree-vrp.c (vrp_expr_computes_nonnegative): Call
1548         tree_expr_nonnegative_warnv_p instead of tree_expr_nonnegative_p.
1549         * tree-ssa-loop-manip.c (create_iv): Likewise.
1550         * c-typeck.c (build_conditional_expr): Likewise.
1551         (build_binary_op): Likewise.
1552         * tree-vrp.c (vrp_expr_computes_nonzero): Call
1553         tree_expr_nonzero_warnv_p instead of tree_expr_nonzero_p.
1554         (extract_range_from_unary_expr): Likewise.
1555         * simplify-rtx.c (simplify_const_relational_operation): Warn when
1556         assuming that signed overflow does not occur.
1557         * c-common.c (pointer_int_sum): Ignore fold overflow warnings.
1558         * tree.h (tree_expr_nonnegative_warnv_p): Declare.
1559         (fold_defer_overflow_warnings): Declare.
1560         (fold_undefer_overflow_warnings): Declare.
1561         (fold_undefer_and_ignore_overflow_warnings): Declare.
1562         (fold_deferring_overflow_warnings_p): Declare.
1563         (tree_expr_nonzero_warnv_p): Declare.
1564         * doc/invoke.texi (Option Summary): Add -Wstrict-overflow to list
1565         of warning options.
1566         (Warning Options): Document -Wstrict-overflow.
1567         * Makefile.in (tree-ssa-threadedge.o): Depend on toplev.h.
1568         (tree-ssa-ccp.o): Likewise.
1569         (tree-cfgcleanup.o): Change errors.h dependency to toplev.h.
1570         (fold-const.o): Depend on intl.h.
1572         2007-01-27  Ian Lance Taylor  <iant@google.com>
1574         * common.opt: Add fstrict-overflow.
1575         * opts.c (decode_options): Set flag_strict_overflow if -O2.
1576         * flags.h (TYPE_OVERFLOW_WRAPS): Define.
1577         (TYPE_OVERFLOW_UNDEFINED): Define.
1578         (TYPE_OVERFLOW_TRAPS): Define.  This replaces TYPE_TRAP_SIGNED.
1579         Replace all uses.
1580         * tree.h (TYPE_TRAP_SIGNED): Don't define.
1581         * fold-const.c (negate_expr_p): Use TYPE_OVERFLOW_UNDEFINED.
1582         (fold_negate_expr): Likewise.
1583         (make_range): Likewise.
1584         (extract_muldiv_1): Likewise.
1585         (fold_comparison): Likewise.
1586         (fold_binary): Likewise.
1587         (tree_expr_nonnegative_p): Likewise.
1588         (tree_expr_nonzero_p): Likewise.
1589         * tree-vrp.c (compare_values): Likewise.
1590         (extract_range_from_binary_expr): Likewise.
1591         (extract_range_from_unary_expr): Likewise.
1592         * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
1593         Likewise.
1594         (nowrap_type_p): Likewise.
1595         * tree-scalar-evolution.c (simple_iv): Likewise.
1596         * fold-const.c (negate_expr_p): Use TYPE_OVERFLOW_WRAPS.
1597         (build_range_check): Likewise.
1598         (extract_muldiv_1): Likewise.
1599         (fold_comparison): Likewise.
1600         * tree-vrp.c (vrp_int_const_binop): Likewise.
1601         (extract_range_from_unary_expr): Likewise.
1602         * convert.c (convert_to_integer): Likewise.
1603         * fold-const.c (fold_negate_expr): Use TYPE_OVERFLOW_TRAPS.
1604         (fold_comparison): Likewise.
1605         (fold_binary): Likewise.
1606         * optabs.c (optab_for_tree_code): Likewise.
1607         * tree-vectorizer.c (vect_is_simple_reduction): Likewise.
1608         * simplify-rtx.c (simplify_const_relational_operation): Check
1609         flag_strict_overflow and flag_trapv.
1610         (simplify_const_relational_operation): Likewise.
1611         * doc/invoke.texi (Option Summary): Mention -fstrict-overflow.
1612         (Optimize Options): Add -fstrict-overflow to -O2 list.  Document
1613         -fstrict-overflow.
1615         2007-01-17  Ian Lance Taylor  <iant@google.com>
1617         * vec.h (VEC_reserve_exact): Define.
1618         (vec_gc_p_reserve_exact): Declare.
1619         (vec_gc_o_reserve_exact): Declare.
1620         (vec_heap_p_reserve_exact): Declare.
1621         (vec_heap_o_reserve_exact): Declare.
1622         (VEC_OP (T,A,reserve_exact)): New static inline function, three
1623         versions.
1624         (VEC_OP (T,A,reserve)) [all versions]: Remove handling of
1625         negative parameter.
1626         (VEC_OP (T,A,alloc)) [all versions]: Call ...reserve_exact.
1627         (VEC_OP (T,A,copy)) [all versions]: Likewise.
1628         (VEC_OP (T,a,safe_grow)) [all versions]: Likewise.
1629         * vec.c (calculate_allocation): Add exact parameter.  Change all
1630         callers.
1631         (vec_gc_o_reserve_1): New static function, from vec_gc_o_reserve.
1632         (vec_gc_p_reserve, vec_gc_o_reserve): Call vec_gc_o_reserve_1.
1633         (vec_gc_p_reserve_exact, vec_gc_o_reserve_exact): New functions.
1634         (vec_heap_o_reserve_1): New static function, from vec_heap_o_reserve.
1635         (vec_heap_p_reserve, vec_heap_o_reserve): Call vec_heap_o_reserve_1.
1636         (vec_heap_p_reserve_exact): New function.
1637         (vec_heap_o_reserve_exact): New function.
1639 2007-03-11  Roger Sayle  <roger@eyesopen.com>
1640             Andrew Pinski  <andrew_pinski@playstation.sony.com>
1642         PR middle-end/30433
1643         * fold-const.c (fold_relational_const): Add back compile-time
1644         evaluation of complex constant equality/inequality comparisons.
1646 2007-03-11  Ira Rosen  <irar@il.ibm.com>
1648         PR tree-optimization/29925
1649         * tree-data-ref.c (analyze_offset): Add a return value (bool) to
1650         indicate success/failure of the analysis. Add negation to subtrahend
1651         in case of subtraction. Fail if both operands contain constants.
1652         (create_data_ref): Fail if analyze_offset fails.
1654 2007-03-10  Mark Mitchell  <mark@codesourcery.com>
1656         PR c++/30924
1657         * tree.c (walk_type_fields): Recurse into the element type of
1658         ARRAY_TYPEs if there is a pointer set.
1660 2007-03-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1662         * pa.c (attr_length_call): Revise condition for long pc-relative branch.
1663         (output_call): Use "LONG_PIC_SDIFF" instruction sequence for long local
1664         calls on the SOM target.  Don't use "LONG_PIC_PCREL" call sequence on
1665         SOM target.
1667 2007-03-09  Richard Henderson  <rth@redhat.com>
1669         PR target/26090
1670         * target.h (targetm.asm.out.reloc_rw_mask): New.
1671         * target-def.h (TARGET_ASM_RELOC_RW_MASK): New.
1672         (TARGET_ASM_OUT): Use it.
1673         * targhooks.c, targhooks.h (default_reloc_rw_mask): New.
1674         * varasm.c (categorize_decl_for_section): Remove shlib argument;
1675         use the new reloc_rw_mask target hook instead.
1676         (default_section_type_flags_1): Merge into...
1677         (default_section_type_flags): ... here.
1678         (decl_readonly_section_1): Merge into...
1679         (decl_readonly_section): ... here.
1680         (default_elf_select_section_1): Merge into...
1681         (default_elf_select_section): ... here.
1682         (default_unique_section_1): Merge into...
1683         (default_unique_section): ... here.
1684         (compute_reloc_for_rtx_1, compute_reloc_for_rtx): New.
1685         (default_select_rtx_section): Use it.
1686         (default_elf_select_rtx_section): Likewise.
1687         * output.h: Update to match.
1688         * doc/tm.texi (TARGET_ASM_RELOC_RW_MASK): New.
1689         * config/alpha/alpha.c (alpha_elf_reloc_rw_mask): New.
1690         (TARGET_ASM_RELOC_RW_MASK): New.
1691         * config/i386/i386.c (x86_64_elf_select_section): Adjust call
1692         to categorize_decl_for_section.
1693         (x86_64_elf_unique_section): Likewise.
1694         * config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION,
1695         TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Remove.
1696         (TARGET_ASM_RELOC_RW_MASK): New.
1697         * config/ia64/ia64.c (ia64_rwreloc_select_section,
1698         ia64_rwreloc_unique_section, ia64_rwreloc_select_rtx_section): Remove.
1699         (ia64_hpux_reloc_rw_mask, ia64_reloc_rw_mask): New.
1700         (TARGET_RWRELOC): Remove.
1701         (ia64_section_type_flags): Adjust call to default_section_type_flags.
1702         * config/ia64/sysv4.h (TARGET_ASM_RELOC_RW_MASK): New.
1703         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Remove.
1704         (rs6000_elf_select_section, rs6000_elf_unique_section): Remove.
1705         (rs6000_elf_reloc_rw_mask, rs6000_xcoff_reloc_rw_mask): New.
1706         (rs6000_xcoff_select_section): Use decl_readonly_section.
1707         (rs6000_xcoff_section_type_flags): Use default_section_type_flags.
1708         * config/rs6000/sysv4.h (TARGET_ASM_RELOC_RW_MASK): New.
1709         (TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): Remove.
1710         (TARGET_SECTION_TYPE_FLAGS): Remove.
1711         * config/rs6000/xcoff.h (TARGET_ASM_RELOC_RW_MASK): New.
1713 2007-03-08  Geoffrey Keating  <geoffk@apple.com>
1715         PR 31013
1716         * gccspec.c (lang_specific_driver): Do nothing when NEXT_OBJC_RUNTIME
1717         is declared.
1718         * config/darwin.h (REAL_LIBGCC_SPEC): When -fgnu-runtime is
1719         passed, use shared libgcc.
1721 2007-03-09  Alexandre Oliva  <aoliva@redhat.com>
1723         PR rtl-optimization/30643
1724         * cse.c (cse_insn): Recompute dest_hash after insert_regs for
1725         dest_addr_elt.
1727 2007-03-09  Andrew Pinski  <andrew_pinski@playstation.sony.com>
1729         PR tree-opt/30045
1730         * tree-vrp.c (nonnull_arg_p): Treat the static decl as always
1731         non null.
1733 2007-03-09  Andrew Pinski  <andrew_pinski@playstation.sony.com>
1735         PR middle-end/30729
1736         * stmt.c (warn_if_unused_value): VA_ARG_EXPR has side
1737         effects unknown to this function, return early.
1739 2007-03-09  Andrew Pinski  <andrew_pinski@playstation.sony.com>
1741         PR tree-opt/28624
1742         * tree-ssa-dom.c (eliminate_degenerate_phis): Use a temporary
1743         bitmap for EXECUTE_IF_SET_IN_BITMAP.
1745 2006-03-09  Mark Shinwell  <shinwell@codesourcery.com>
1746             Andrew MacLeod  <amacleod@redhat.com>
1747         PR tree-optimization/29877
1748         * tree-outof-ssa.c (check_replaceable): Don't allow TER to replace
1749         an expression if the RHS is a register variable.
1751 2007-03-08  Andrew Pinski  <andrew_pinski@playstation.sony.com>
1753         PR C/31072
1754         * c-decl.c (merge_decls): Don't call make_var_volatile.
1755         * varasm.c (make_var_volatile): Remove.
1756         * output.h (make_var_volatile): Remove.
1758 2007-03-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1760         * builtins.def (lceil, lceilf, lceill, lfloor, lfloorf, lfloorl,
1761         llceil, llceilf, llceill, llfloor, llfloorf, llfloorl): Mark with
1762         ATTR_CONST_NOTHROW_LIST.
1764         * fold-const.c (tree_expr_nonnegative_p): Handle FIX_TRUNC_EXPR.
1766 2007-03-08 Andrew Pinski <andrew_pinski@playstation.sony.com>
1768         PR target/30406
1769         * config/rs6000/rs6000.c (rs6000_function_value): Look at bit size
1770         instead of precision.
1772 2007-03-08  Volker Reichelt  <reichelt@netcologne.de>
1774         PR c++/30852
1775         * c-common.c (fold_offsetof_1): Handle COMPOUND_EXPR.
1777 2007-03-07  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
1779         * c.opt (Waddress): New.
1780         * common.opt (Walways-true): Delete.
1781         (Wstring-literal-comparison): Delete.
1782         * doc/invoke.texi (Warning Options): Delete -Walways-true and
1783         -Wstring-literal-comparison. Add -Waddress.
1784         (Waddress): New.
1785         (Walways-true): Delete.
1786         (Wstring-literal-comparison): Delete.
1787         * doc/extend.texi (#pragma GCC diagnostic): Use -Wformat
1788         consistently instead of -Walways-true in example.
1789         * c-opts.c (c_common_handle_option): -Waddress is enabled by -Wall.
1790         * c-typeck.c (parser_build_binary_op): Replace
1791         -Wstring-literal-comparison and -Walways-true with -Waddress.
1792         (build_binary_op): Likewise.
1793         * c-common.c (c_common_truthvalue_conversion): Likewise.
1795 2007-03-07  Richard Henderson  <rth@redhat.com>
1797         PR target/30848
1798         * reg-stack.c (emit_swap_insn): If a malformed asm was seen,
1799         silently fix up the stack in the case of a missing register.
1801 2007-03-06  David Daney  <ddaney@avtrex.com>
1803         * doc/install.texi (mips-*-*): Change recommended binutils
1804         version.
1806 2007-03-06  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
1808         * doc/invoke.texi (Warning Options): Replace -Werror- with
1809         -Werror=.
1810         * opts.c (common_handle_option): Likewise.
1812 2007-03-06  Anatoly Sokolov <aesok@post.ru>
1814         * config/avr/avr.c (avr_mcu_types): Add support for ATmega325P,
1815         ATmega3250P, ATmega329P, ATmega3290P, AT90USB82 and AT90USB162
1816         devices.
1817         * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
1818         * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
1820 2007-03-06  Roger Sayle  <roger@eyesopen.com>
1822         PR middle-end/30744
1823         * fold-const.c (fold_binary) <EQ_EXPR>: Enforce type consistency
1824         when transforming ~X op C to X op' ~C.
1826 2007-03-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1828         * pa.md: In unamed move patterns, disparge copies between general
1829         and floating point registers using '?' modifier.  Don't include 'f'
1830         constraint for register preferences in DImode, SImode, HImode and
1831         QImode patterns.  Likewise for 'r' in DFmode and SFmode patterns.
1832         Remove constraints for copies between general and floating registers
1833         in soft-float DFmode pattern.
1834         (movdf): Fail if operand1 is a CONST_DOUBLE and operand0 is a hard
1835         floating register.
1836         (movsf): Likewise.
1838 2007-03-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1840         * convert.c (convert_to_integer): Fix nearbyint/rint -> *lrint
1841         conversion.
1843 2007-03-05  Steve Ellcey  <sje@cup.hp.com>
1845         Backported from mainline
1846         PR debug/29614
1847         * cgraph.h (cgraph_varpool_last_needed_node): Make global.
1848         * cgraph.c (cgraph_varpool_last_needed_node): Ditto.
1849         * cgraphunit.c (cgraph_varpool_assemble_pending_decls):
1850         Set cgraph_varpool_last_needed_node to NULL.
1852 2007/03/05  David Taylor  <dtaylor@emc.com>
1854         PR 31050
1855         * gcc.c: Correct copyright date in --version output.
1857 2007-03-05  Brooks Moses  <brooks.moses@codesourcery.com>
1859         * c.opt: Remove -ffixed-form, -ffixed-line-length-none, and
1860         -ffixed-line-length-* options.
1862 2007-03-05  David Edelsohn  <edelsohn@gnu.ogr>
1864         * config/rs6000/t-ppccomm: Always build libgcc2 for GNU/Linux
1865         with -mlong-double-128, except SPE.
1867         * config/rs6000/darwin-ldouble.c: Only build new functions for
1868         __LONG_DOUBLE_128__.
1870         Backport from mainline:
1871         2007-01-16  David Edelsohn  <edelsohn@gnu.org>
1873         * config/rs6000/darwin-ldouble.c: Build file for SOFT_FLOAT.
1874         (strong_alias): Define.
1875         (__gcc_qmul): Provide non-FMA for soft-float.
1876         (__gcc_qdiv): Same.
1877         (__gcc_qneg): New.
1878         (__gcc_qeq): New.
1879         (__gcc_qle): New.
1880         (__gcc_qge): New.
1881         (__gcc_qunord): New.
1882         (__gcc_stoq): New.
1883         (__gcc_dtoq): New.
1884         (__gcc_qtos): New.
1885         (__gcc_qtod): New.
1886         (__gcc_qtoi): New.
1887         (__gcc_qtou): New.
1888         (__gcc_itoq): New.
1889         (__gcc_utoq): New.
1890         (fmsub): New.
1891         * config/rs6000/rs6000.c (rs6000_init_libfuncs): Initialize
1892         soft-float functions.
1893         * config/rs6000/libgcc-ppc-glibc.ver: Version soft-float symbols.
1894         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Do not warn
1895         about long double soft float.
1897 2007-03-05  Richard Guenther  <rguenther@suse.de>
1899         Backport from mainline:
1900         2007-02-28  Richard Guenther  <rguenther@suse.de>
1902         PR middle-end/30364
1903         * fold-const.c (fold_binary): Do not associate expressions
1904         with more than one variable for integer types that do not wrap.
1906 2007-03-04  Eric Botcazou  <ebotcazou@adacore.com>
1908         PR ada/26797
1909         * doc/invoke.texi (-O2): Document that Tree-VRP is not turned on
1910         for the Ada compiler.
1912 2007-03-02  Zdenek Dvorak <dvorakz@suse.cz>
1914         PR tree-optimization/29902
1915         * tree-ssa-loop-manip.c (can_unroll_loop_p): Return false if
1916         any involved ssa name appears in abnormal phi node.
1918 2007-03-02  Eric Botcazou  <ebotcazou@adacore.com>
1920         * tree-sra.c (sra_walk_fns) <ldst>: Document new restriction.
1921         (sra_walk_modify_expr) <rhs_elt>: Treat the reference as a use
1922         if the lhs has side-effects.
1923         <lhs_elt>: Treat the reference as a use if the rhs has side-effects.
1925 2007-03-02  Paul Brook  <paul@codesourcery.com>
1927         * config/arm/arm.c (arm_legitimate_index_p): Limit iWMMXt addressing
1928         modes to LDRD for DImode.
1929         (output_move_double): Fixup out of range ldrd/strd.
1930         (vfp_secondary_reload_class): Rename...
1931         (coproc_secondary_reload_class): ... to this.  Add wb argument.
1932         * config/arm/arm.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use
1933         coproc_secondary_reload_class for CLASS_IWMMXT.
1934         (SECONDARY_INPUT_RELOAD_CLASS): Ditto.
1935         * arm-protos.h (coproc_secondary_reload_class): Update prototype.
1937 2007-03-02  Eric Botcazou  <ebotcazou@adacore.com>
1939         * config/alpha/alpha.c (alpha_gp_save_rtx): Insert the insns at the
1940         entry by means of emit_insn_at_entry.
1942 2007-03-01  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
1944         * doc/invoke.texi (Wextra): Delete outdated paragraph.
1946 2007-02-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1948         * pa/predicates.md (move_src_operand): Allow zero for mode.
1949         * pa/pa.md: Fix constraints for zero CONST_DOUBLE in 64-bit DFmode
1950         move pattern.
1952 2007-02-27  Mike Stump  <mrs@apple.com>
1954         * config/darwin-crt3.c: Avoid compilation when compiling for a
1955         kext multilib.
1957 2007-02-27  Andreas Schwab  <schwab@suse.de>
1959         * Makefile.in (TEXI_GCCINSTALL_FILES): Add gcc-common.texi.
1961 2007-02-26  Brooks Moses  <brooks.moses@codesourcery.com>
1963         * Makefile.in (TEXI_GCCINSTALL_FILES): Add gcc-vers.texi dependency.
1965 2007-02-26  Brooks Moses  <brooks.moses@codesourcery.com>
1967         * doc/include/gcc-common.texi (versionsubtitle): New macro.
1968         * doc/cpp.texi: Standardize title page.
1969         * doc/cppinternals.texi: Likewise.
1970         * doc/gcc.texi: Standardize title page, remove version number
1971         from copyright page.
1972         * doc/gccint.texi: Likewise.
1973         * doc/install.texi: Standardize title page, add table of
1974         contents.
1976 2007-02-24  Mike Stump  <mrs@apple.com>
1978         * config/i386/i386.c (output_pic_addr_const): Stubify optimized
1979         symbols.
1981 2007-02-24  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1983         * pa.md (muldi3): Force subregs to registers in 64-bit expander.
1985 2007-02-23  Mike Stump  <mrs@apple.com>
1987         * tlink.c (scan_linker_output): Parse linker messages from
1988         darwin9's linker better.
1990 2007-02-21 Ira Rosen  <irar@il.ibm.com>
1992         * tree-ssa-alias.c: Include pointer-set.h
1993         * Makefile.in (tree-ssa-alias.o): Depend on pointer-set.h.
1995 2007-02-21  Jakub Jelinek  <jakub@redhat.com>
1997         Backported from mainline
1998         2006-12-20  Andrew Pinski  <pinskia@gmail.com>
1999         PR middle-end/30143
2000         * omp-low.c (init_tmp_var): New function.
2001         (save_tmp_var): New function.
2002         (lower_omp_1): Use them for VAR_DECL.
2004 2007-02-20  Alan Modra  <amodra@bigpond.net.au>
2006         PR target/29943
2007         * varasm.c (use_blocks_for_decl_p): Return false for decls with
2008         alias attribute.
2010 2007-02-19  Eric Botcazou  <ebotcazou@adacore.com>
2012         * gimplify.c (gimplify_init_ctor_preeval_1): Detect potential overlap
2013         due to calls to functions taking pointers as parameters.
2015 2007-02-19  Richard Henderson  <rth@redhat.com>
2017         PR debug/29558
2018         * var-tracking.c (track_expr_p): Disallow AGGREGATE_TYPE_P
2019         in memory.
2021 2007-02-18  Eric Botcazou  <ebotcazou@adacore.com>
2023         * tree-eh.c (tree_could_trap_p): Handle VIEW_CONVERT_EXPR.
2025 2007-02-18  Eric Botcazou  <ebotcazou@adacore.com>
2027         * calls.c (mem_overlaps_already_clobbered_arg_p): Return true
2028         for arg pointer based indexed addressing.
2030 2007-02-18 Ira Rosen  <irar@il.ibm.com>
2032         * tree-ssa-alias.c (may_aliases_intersect): New function.
2033         * tree-data-ref.c (ptr_ptr_may_alias_p): Call may_aliases_intersect
2034         for different tags.
2035         * tree-flow.h (may_aliases_intersect): Add function declaration.
2037 2007-02-17  Alexandre Oliva  <aoliva@redhat.com>
2039         PR tree-optimization/30823
2040         * tree-sra.c (sra_build_assignment): Drop type-checking assert.
2042 2007-02-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2044         PR other/27843
2045         * Makefile.in (SYSTEM_HEADER_DIR): Use single quotes to avoid
2046         nested double- and backquotes.
2048 2007-02-15  Alexandre Oliva  <aoliva@redhat.com>
2050         * tree-sra.c (instantiate_missing_elements): Canonicalize
2051         bit-field types.
2052         (sra_build_assignment): New.
2053         (generate_copy_inout, generate_element_copy,
2054         generate_element_zero, generate_one_element_init): Use it.
2056 2007-02-15  Kaz Kojima  <kkojima@gcc.gnu.org>
2058         PR rtl-optimization/29599
2059         Backport from mainline.
2060         * reload1.c (eliminate_regs_in_insn): Take the destination
2061         mode into account when computing the offset.
2063 2007-02-13  Joseph S. Myers  <joseph@codesourcery.com>
2065         * doc/invoke.texi, doc/standards.texi: Refer to
2066         gcc-4.2/c99status.html.
2068 2007-02-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2070         PR target/30634
2071         * pa.md (movdf): For 64-bit target, fail if operand 1 is a non-zero
2072         CONST_DOUBLE and operand 0 is a hard register.
2073         (movdi): For 64-bit target, remove code to force CONST_DOUBLE to
2074         memory.  Fail if operand 1 is a non-zero CONST_INT and operand 0
2075         is a hard floating-point register.
2077 2007-02-06  Mark Mitchell  <mark@codesourcery.com>
2079         PR target/29487
2080         * tree.h (DECL_REPLACEABLE_P): New macro.
2081         * except.c (set_nothrow_function_flags): Likewise.
2083 2007-02-07  Jakub Jelinek  <jakub@redhat.com>
2085         PR c++/30703
2086         * gimplify.c (gimplify_scan_omp_clauses): Remove special casing
2087         of INDIRECT_REF <RESULT_DECL>.
2089 2007-02-06  Rask Ingemann Lamberisen  <rask@sygehus.dk>
2091         PR 30370
2092         * config/rs6000/t-ppccomm: Correct Makefile typo.
2094 2007-02-06  Roger Sayle  <roger@eyesopen.com>
2096         PR libgomp/28296
2097         Backport from mainline.
2098         * config/darwin.h (CPP_SPEC): Handle -pthread, transforming
2099         it into -D_REENTRANT.
2101 2007-02-05  Alexandre Oliva  <aoliva@redhat.com>
2103         PR debug/30189
2104         * dwarf2out.c (modified_type_die): Follow DECL_ORIGINAL_TYPE
2105         even if cv-qualification is the same.
2107 2007-02-05  Geoffrey Keating  <geoffk@apple.com>
2109         * config/rs6000/darwin-tramp.asm (__trampoline_setup): Call
2110         __enable_execute_stack on completion.
2112 2007-02-05  Bob Wilson  <bob.wilson@acm.org>
2114         * config/xtensa/xtensa.c (constantpool_mem_p): Skip over SUBREGs.
2116 2007-02-02  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
2118         PR target/29682
2119         * config/ia64/ia64.c (ia64_speculate_insn): Restrict to memory loads to
2120         general or fp registers.  Add comments.
2121         * config/ia64/ia64.md (reg_pred_prefix): Add comment.
2123 2007-02-04  Richard Guenther  <rguenther@suse.de>
2125         Backport from mainline:
2126         2007-01-30  Richard Guenther  <rguenther@suse.de>
2128         PR middle-end/27657
2129         * dwarf2out.c (reference_to_unused): Query varpool if the
2130         variable was output.
2132 2007-02-02  Mike Stump  <mrs@apple.com>
2134         * config.gcc (*-*-darwin*): Backport darwin9.h bits.
2135         * config/darwin9.h: Add.
2136         * config/rs6000/rs6000.c (DARWIN_GENERATE_ISLANDS): Add.
2137         (output_call): Use DARWIN_GENERATE_ISLANDS to decide when to
2138         generate a branch island.
2140 2007-02-02  Hui-May Chang  <hm.chang@apple.com>
2142         Revert for x86 darwin:
2143         2005-06-19  Uros Bizjak  <uros@kss-loka.si>
2145         * config/i386/i386.c (ix86_function_arg_regno_p): Put back the
2146         code before the following patch under TARGET_MACHO.
2147         (ix86_function_value_regno_p): Likewise.
2149 2007-02-02  Simon Martin  <simartin@users.sourceforge.net>
2151         PR c++/28266
2152         * gimplify.c (gimplify_target_expr): Make sure that the TARGET_EXPR is
2153         expanded only once even if an error occurs.
2155 2007-02-02  Jakub Jelinek  <jakub@redhat.com>
2157         PR middle-end/30473
2158         * builtins.c (fold_builtin_sprintf): Do not attempt to optimize
2159         sprintf (str, "%s").  Do not optimize sprintf (str, "nopercent", p++).
2161 2007-02-01  Guy Martin  <gmsoft@gentoo.org>
2163         * pa.md (tp_load): Correct mfctl instruction syntax.
2165 2007-02-01  Geoffrey Keating  <geoffk@apple.com>
2167         * config/rs6000/rs6000.c (rs6000_stack_info): Correct
2168         altivec_padding_size calculation on AIX.  Improve comment, add
2169         assert to verify that it's right.
2171 2007-01-31  Anatoly Sokolov <aesok@post.ru>
2173         PR target/19087
2174         * config/avr/avr.c (DWARF2_ADDR_SIZE): Define.
2176 2007-01-30  Richard Guenther  <rguenther@suse.de>
2178         PR middle-end/30313
2179         * passes.c (execute_one_pass): Reset in_gimple_form to not
2180         confuse non-unit-at-a-time mode.
2182 2007-01-27  Anatoly Sokolov <aesok@post.ru>
2184         * config/avr/avr.h (TARGET_CPU_CPP_BUILTINS): Define __AVR_HAVE_MUL__.
2186 2007-01-29  Mike Stump  <mrs@apple.com>
2188         * doc/gccint.texi (Top): Rename Loop Representation to Loop
2189         Analysis and Representation to resolve case insensitive conflict.
2190         * doc/loop.texi (Loop Analysis and Representation): Likewise.
2192 2007-01-29  Josh Conner  <jconner@apple.com>
2194         PR middle-end/29683
2195         * calls.c (compute_argument_addresses): Set stack and stack_slot
2196         for partial args, too.
2197         (store_one_arg): Use locate.size.constant for the size when
2198         generating a save_area.
2200 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2202         * doc/sourcebuild.texi: Add comma for clarity.
2203         * doc/extend.texi: Fix some typos.
2204         * doc/passes.texi: Likewise.
2205         * doc/cppinternals.texi: Likewise.
2206         * doc/c-tree.texi: Likewise.
2207         * doc/tree-ssa.texi: Likewise.
2208         * doc/install.texi: Likewise.
2210 2007-01-26  Zdenek Dvorak <dvorakz@suse.cz>
2212         PR tree-optimization/29516
2213         * tree-ssa-address.c (tree_mem_ref_addr, add_to_parts,
2214         most_expensive_mult_to_index, addr_to_parts,
2215         create_mem_ref, maybe_fold_tmr): Make the type of
2216         fields of TARGET_MEM_REF sizetype.
2217         (move_fixed_address_to_symbol, move_pointer_to_base,
2218         aff_combination_remove_elt): New functions.
2219         * tree.def (TARGET_MEM_REF): Add comment on types of
2220         the operands.
2221         * gcc.dg/tree-ssa/loop-20.c: New test.
2223 2007-01-25  Geoffrey Keating  <geoffk@apple.com>
2225         PR 25127
2226         * config/rs6000/rs6000.c (first_altivec_reg_to_save): On Darwin,
2227         save Altivec registers in an eh_return function.
2228         (compute_vrsave_mask): Likewise.
2229         (rs6000_stack_info): Correct AIX/Darwin stack alignment computation
2230         for saving Altivec registers.
2231         (rs6000_emit_prologue): Don't allocate stack twice in
2232         eh_return function.  Correct expected value of altivec_save_offset
2233         when using save_world.  Describe save of R0 to stack when using
2234         save_world.  Describe stack pointer adjustment when using
2235         save_world.  Remove duplicated eh_return parameter register saving.
2236         Update sp_offset variable after save_world.
2237         * config/rs6000/t-darwin (LIB2FUNCS_STATIC_EXTRA): Remove
2238         darwin-world.asm.
2239         (LIB2FUNCS_EXTRA): Add darwin-world.asm.
2240         * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): -m64
2241         implies Altivec.
2243 2007-01-24  Geoffrey Keating  <geoffk@apple.com>
2245         * unwind-dw2.c (execute_stack_op): Handle DW_OP_swap.
2247 2007-01-24  Jakub Jelinek  <jakub@redhat.com>
2249         PR middle-end/27416
2250         * gimplify.c (omp_check_private): New function.
2251         (gimplify_scan_omp_clauses): Use it for
2252         firstprivate/lastprivate/reduction.
2254         PR middle-end/30494
2255         * gimplify.c (omp_add_variable): Don't call omp_notice_variable
2256         on TYPE_SIZE_UNIT for GOVD_LOCAL VLAs.
2258         PR middle-end/30421
2259         * omp-low.c (lower_omp_for_lastprivate): Add dlist argument.
2260         If lower_lastprivate_clauses emits some statements, append them
2261         to dlist rather than body_p and to body_p append an initializer.
2262         (lower_omp_for): Adjust caller.
2264 2007-01-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
2266         PR rtl-optimization/29329
2267         * combine.c (replaced_rhs_insn): Rename to i2mod.
2268         (replaced_rhs_value): Rename to i2mod_new_rhs.
2269         (i2mod_old_rhs): New global variable.
2270         (combine_instructions): Adjust for above change.  Save a copy of
2271         the old RHS into i2mod_old_rhs when the contents of a REG_EQUAL
2272         note are substituted in the second instruction.
2273         (distribute_notes) <REG_DEAD>: Adjust for above change.  Do not
2274         ditch the note if it pertains to the second eliminated register
2275         and this register is mentioned in i2mod_old_rhs.
2277         Revert:
2278         2006-09-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
2280         * combine.c (distribute_notes) <REG_DEAD>: Do not consider SETs past
2281         the insn to which the note was originally attached.
2283 2007-01-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2285         * pa.c (output_move_double): Change array size of xoperands to 4.
2287 2007-01-17  Eric Christopher  <echristo@apple.com>
2289         Backport from mainline:
2290         2006-12-18  Roger Sayle  <roger@eyesopen.com>
2291                     Eric Christopher  <echristo@apple.com>
2293         PR target/29302
2294         * real.c (real_maxval): Correctly handle IBM extended double format.
2296 2007-01-17  Tom Tromey  <tromey@redhat.com>
2298         * doc/sourcebuild.texi (libgcj Tests): Use sourceware.org.
2299         * doc/install.texi (Testing): Use sourceware.org.
2300         (Binaries): Likewise.
2301         (Specific): Likewise.
2302         * doc/contrib.texi (Contributors): Use sourceware.org.
2304 2007-01-15  Joseph S. Myers  <joseph@codesourcery.com>
2306         * config/soft-fp/op-common.h, config/soft-fp/op-4.h: Update from
2307         glibc CVS.
2309 2007-01-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2311         * pa-linux.h (ASM_OUTPUT_INTERNAL_LABEL): Undefine.
2312         * pa.h (ASM_OUTPUT_LABEL): Output colon when using GAS.
2313         (ASM_OUTPUT_INTERNAL_LABEL): Define.
2315 2007-01-10  Ralf Corsépius <ralf.corsepius@rtems.org>
2317         * config/bfin/t-bfin, config/bfin/t-bfin-elf: Remove GCC_CFLAGS.
2319 2007-01-09  Nicolas Pitre  <nico@cam.org>
2321         PR target/30173
2322         * arm/ieee754-df.S (Lad_s): Also test the low word of X for zero.
2324 2007-01-08  Nick Clifton  <nickc@redhat.com>
2326         * config/frv/predicates.md (reg_or_0_operand): Accept
2327         CONST_DOUBLEs.
2329 2007-01-08  Ralf Corsépius <ralf.corsepius@rtems.org>
2331         * config/bfin/rtems.h, config/bfin/t-rtems: New.
2332         * config.gcc: Add bfin*-rtems*.
2334 2007-01-08  Chen liqin  <liqin@sunnorth.com.cn>
2335         * config/score/t-score-elf (MULTILIB_OPTIONS): Change.
2336         * config/score/predicates.md (const_uimm5, sr0_operand, const_simm12,
2337         const_simm15, const_pow2, const_npow2): Added.
2338         * config/score/misc.md (insv, extv, extzv, movmemsi,
2339         move_lbu_a/b, mov_lhu_a/b etc): Added and fix some bug.
2340         * config/score/score.c (score_address_cost, score_select_cc_mode):
2341         Added.
2342         Change CONST_OK_FOR_LETTER_P/EXTRA_CONSTRAINT define.
2343         Update score_rtx_costs for MACRO TARGET_RTX_COSTS.
2344         Update score_print_operand.
2345         * config/score/score.h (DATA_ALIGNMENT, SELECT_CC_MODE): Added.
2346         Adjust register allocate order and update some macro define.
2347         * config/score/score-mdaux.c (mdx_unaligned_load, mdx_unsigned_store,
2348         mdx_block_move_straight, mdx_block_move_loop_head,
2349         mdx_block_move_loop_body, mdx_block_move_loop_foot, mdx_block_move_loop,
2350         mdx_block_move): Added.
2351         (mdx_movsicc, mdp_select_add_imm, mdp_select, mds_zero_extract_andi,
2352         mdp_limm): Updated and fix some bug and typo.
2353         * config/score/score.md (movqi/hi/si, add/sub/zero/ext): Updated.
2354         (movsf, movdf, doloop_end): Added.
2356 2007-01-05  Richard Guenther  <rguenther@suse.de>
2358         PR middle-end/27826
2359         * tree.c (get_narrower): Do not construct COMPONENT_REFs
2360         with mismatched types.  Instead explicitly build a
2361         conversion NOP_EXPR.
2363 2007-01-05  Jakub Jelinek  <jakub@redhat.com>
2365         PR c/30360
2366         * libgcc2.c (__divdc3): Compare c and d against 0.0 instead of
2367         denom against 0.0.
2369 2007-01-03  Jakub Jelinek  <jakub@redhat.com>
2371         * unwind-dw2.c (SIGNAL_FRAME_BIT, EXTENDED_CONTEXT_BIT): Define.
2372         (struct _Unwind_Context): Rename args_size to flags, remove
2373         signal_frame field, add a new args_size field and version field.
2374         (_Unwind_IsSignalFrame, _Unwind_SetSignalFrame,
2375         _Unwind_IsExtendedContext): New inline functions.
2376         (_Unwind_GetGR, _Unwind_SetGR, _Unwind_GetGRPtr, _Unwind_SetGRPtr):
2377         Assume by_value array is only present if _Unwind_IsExtendedContext.
2378         (_Unwind_GetIPInfo, execute_cfa_program, uw_frame_state_for): Use
2379         _Unwind_IsSignalFrame.
2380         (__frame_state_for): Initialize context.flags to EXTENDED_CONTEXT_BIT.
2381         (uw_update_context_1): Use _Unwind_SetSignalFrame.
2382         (uw_init_context_1): Initialize context->flags to
2383         EXTENDED_CONTEXT_BIT.
2384         * config/rs6000/linux-unwind.h (frob_update_context): Use
2385         _Unwind_SetSignalFrame.
2387 2007-01-01  Mike Stump  <mrs@apple.com>
2389         * configure.ac: Remove support for building with Apple's gcc-3.1.
2391 2007-01-01  Andreas Schwab  <schwab@suse.de>
2393         PR target/29166
2394         * config/ia64/ia64.c (ia64_compute_frame_size): Account space for
2395         save of BR0 in extra_spill_size instead of spill_size.
2396         (ia64_expand_prologue): Save BR0 outside of the gr/br/fr spill
2397         area.
2398         (ia64_expand_epilogue): Restore BR0 from its new location.