1 2007-10-07 Release Manager
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
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>
17 * dwarf2out.c (modified_type_die): Handle TYPE_DECL with NULL
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>
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>
52 * tree-ssa-structalias.c (get_constraint_for_component_ref):
53 Note that accesses to a whole flexible array member may not lead
56 2007-09-10 Bob Wilson <bob.wilson@acm.org>
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.
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>
70 * doc/invoke.texi: Fix -Wstrict-overflow= table.
72 2007-09-06 Richard Sandiford <richard@codesourcery.com>
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>
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.
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>
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>
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>
401 * tree.c (host_integerp): Treat sizetype as signed as it is
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
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
427 2007-07-30 Mark Mitchell <mark@codesourcery.com>
430 * DEV-PHASE: Mark as prerelease.
432 2007-07-25 Steve Ellcey <sje@cup.hp.com>
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>
491 2007-07-09 Paolo Bonzini <bonzini@gnu.org>
494 * function.c (rest_of_match_asm_constraints): Pass PROP_REG_INFO.
496 2007-07-06 Paolo Bonzini <bonzini@gnu.org>
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>
511 * config/arm/cirrus.md (cirrus_arm_movsi_insn): Remove dead insn.
513 2007-07-10 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
516 * config/mips/iris6.h (LIBGCC_SPEC): Add libm.
518 2007-07-09 Paolo Bonzini <bonzini@gnu.org>
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>
532 * config/avr/avr.c (avr_naked_function_p): Handle receiving a type
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>
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
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
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>
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
599 2007-07-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
602 * gthr-posix.h [SUPPORTS_WEAK && GTHREAD_USE_WEAK]
603 (__gthrw_pragma): Provide default definition.
605 * gthr-posix.c (__gthrw_pragma): Define.
607 2007-07-02 Jakub Jelinek <jakub@redhat.com>
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
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>
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
654 2007-06-21 Uros Bizjak <ubizjak@gmail.com>
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>
667 * gimplify.c (gimplify_asm_expr): Issue error if type is addressable
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
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
691 (push_fields_onto_fieldstack): Create fields for empty
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>
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
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>
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
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
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
775 2007-05-27 Daniel Berlin <dberlin@dberlin.org>
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>
798 * fold-const.c (tree_expr_nonnegative_warnv_p): Don't
799 return true when truth_value_p is true and the type
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>
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.
828 * config/score/score.c (score_print_operand): makes sure that only lower
831 2007-05-21 Uros Bizjak <ubizjak@gmail.com>
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>
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>
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>
860 Backport from mainline.
861 * config/sh/sh.md (length): Check if prev_nonnote_insn (insn)
864 2007-05-20 Kaz Kojima <kkojima@gcc.gnu.org>
867 Backport from mainline.
868 * config/sh/sh.c (sh_adjust_cost): Use the result of single_set
871 2007-05-20 Kaz Kojima <kkojima@gcc.gnu.org>
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
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
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
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.
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
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>
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>
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
970 2007-04-26 Ulrich Weigand <uweigand@de.ibm.com>
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>
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>
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>
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>
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>
1044 * expr.c (reduce_to_bit_field_precision): Handle
1047 2007-04-20 Richard Henderson <rth@redhat.com>
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>
1066 * fold-const.c (fold_unary): Call fold_convert_const on the
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
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>
1105 * config/avr/avr.c (ptrreg_to_str): Replace gcc_unreachable() with
1108 2007-04-17 Jan Hubicka <jh@suse.cz>
1111 * dwarf2out.c (reference_to_unused): Ask cgraph for functions
1112 availablility; add more sanity checking; ask varpool only about
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
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
1137 * config/avr/avr.h (LINK_SPEC): Simplify.
1139 2007-04-16 Jan Hubicka <jh@suse.cz>
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>
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
1158 2007-04-14 Andrew Pinski <andrew_pinski@playstation.sony.com>
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>
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>
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
1185 2007-04-07 Anatoly Sokolov <aesok@post.ru>
1188 * config/avr/avr.md (*clrmemqi, *clrmemhi): Mark operand 4 as
1191 2007-04-05 Anatoly Sokolov <aesok@post.ru>
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>
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>
1230 * objc/objc-act.c (next_sjlj_build_catch_list): Delete volatile
1232 * cse.c (record_jump_equiv): Bail out on CCmode comparisons.
1234 2007-04-03 Jakub Jelinek <jakub@redhat.com>
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
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>
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>
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
1272 * config/i386/sync.md (sync_double_compare_and_swapdi_pic,
1273 sync_double_compare_and_swap_ccdi_pic): Use "SD" as constraint
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'
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>
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>
1313 * c-typeck.c (convert_for_assignment): Call comptypes for
1314 RECORD_TYPE or UNION_TYPE.
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>
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>
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
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
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
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.
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
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
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
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
1536 (struct fold_stmt_r_data): Add stmt field.
1537 (fold_stmt_r): Defer fold overflow warnings until we know we
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):
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
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.
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):
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
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
1624 (VEC_OP (T,A,reserve)) [all versions]: Remove handling of
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
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>
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>
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
1667 2007-03-09 Richard Henderson <rth@redhat.com>
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>
1716 * gccspec.c (lang_specific_driver): Do nothing when NEXT_OBJC_RUNTIME
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
1727 2007-03-09 Andrew Pinski <andrew_pinski@playstation.sony.com>
1730 * tree-vrp.c (nonnull_arg_p): Treat the static decl as always
1733 2007-03-09 Andrew Pinski <andrew_pinski@playstation.sony.com>
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>
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>
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>
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>
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.
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>
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
1806 2007-03-06 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
1808 * doc/invoke.texi (Warning Options): Replace -Werror- with
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
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>
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
1838 2007-03-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1840 * convert.c (convert_to_integer): Fix nearbyint/rint -> *lrint
1843 2007-03-05 Steve Ellcey <sje@cup.hp.com>
1845 Backported from mainline
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>
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.
1881 (__gcc_qunord): 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>
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>
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
1952 2007-02-27 Mike Stump <mrs@apple.com>
1954 * config/darwin-crt3.c: Avoid compilation when compiling for a
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
1976 2007-02-24 Mike Stump <mrs@apple.com>
1978 * config/i386/i386.c (output_pic_addr_const): Stubify optimized
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>
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>
2007 * varasm.c (use_blocks_for_decl_p): Return false for decls with
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>
2018 * var-tracking.c (track_expr_p): Disallow AGGREGATE_TYPE_P
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
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>
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
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>
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>
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>
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>
2092 * config/rs6000/t-ppccomm: Correct Makefile typo.
2094 2007-02-06 Roger Sayle <roger@eyesopen.com>
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>
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>
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>
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>
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>
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>
2174 * config/avr/avr.c (DWARF2_ADDR_SIZE): Define.
2176 2007-01-30 Richard Guenther <rguenther@suse.de>
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>
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
2221 * gcc.dg/tree-ssa/loop-20.c: New test.
2223 2007-01-25 Geoffrey Keating <geoffk@apple.com>
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
2239 (LIB2FUNCS_EXTRA): Add darwin-world.asm.
2240 * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): -m64
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>
2250 * gimplify.c (omp_check_private): New function.
2251 (gimplify_scan_omp_clauses): Use it for
2252 firstprivate/lastprivate/reduction.
2255 * gimplify.c (omp_add_variable): Don't call omp_notice_variable
2256 on TYPE_SIZE_UNIT for GOVD_LOCAL VLAs.
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.
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>
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
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>
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
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):
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>
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>
2366 * libgcc2.c (__divdc3): Compare c and d against 0.0 instead of
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>
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
2398 (ia64_expand_epilogue): Restore BR0 from its new location.