1 2007-10-10 Joseph Myers <joseph@codesourcery.com>
4 * c-common.c (complete_array_type): Diagnose too-large arrays and
5 set type to error_mark_node.
7 2007-10-10 Joseph Myers <joseph@codesourcery.com>
10 * c-typeck.c (default_conversion): Call require_complete_type
11 before perform_integral_promotions.
12 (build_unary_op): Call require_complete_type except for ADDR_EXPR.
13 (build_c_cast): Call require_complete_type except for casts to
15 (convert_for_assignment): Call require_complete_type.
17 2007-10-10 Uros Bizjak <ubizjak@gmail.com>
19 Backport from mainline:
20 2007-09-14 Uros Bizjak <ubizjak@gmail.com>
23 * config/i386/i386.md (fmodxf3): Copy operands[2] to temporary
24 register when operands[2] equals operands[1].
27 2007-09-10 Uros Bizjak <ubizjak@gmail.com>
30 * gcc/config/i386/sse.md (ashr<mode>3): Change op2 mode to SImode.
31 Use 'N' operand constraint for op2.
34 (vec_shl_<mode>): Use const_0_to_255_mul_8_operand predicate for op2.
35 (vec_shr_<mode>): Use const_0_to_255_mul_8_operand predicate for op2.
37 * gcc/config/i386/i386.c (ix86_expand_builtin) [IX86_BUILTIN_PSLL?128,
38 IX86_BUILTIN_PSRA*?128, IX86_BUILTIN_PSRL?128]: Convert op1 to SImode.
40 2007-10-10 Richard Guenther <rguenther@suse.de>
42 Backport from mainline:
43 2007-10-03 Doug Kwan <dougkwan@google.com>
44 Richard Guenther <rguenther@suse.de>
47 * dwarf2out.c (reference_to_unused): Disable sanity checking,
48 be conservative instead.
50 2007-10-10 Richard Guenther <rguenther@suse.de>
52 PR tree-optimization/33099
53 PR tree-optimization/33381
54 * tree-vrp.c (adjust_range_with_scev): Do not adjust ranges
55 from pointer typed chrecs.
57 2007-10-08 Mark Mitchell <mark@codesourcery.com>
60 * DEV-PHASE: Mark as prerelease.
62 2007-10-07 Release Manager
66 2007-09-25 Jakub Jelinek <jakub@redhat.com>
68 PR tree-optimization/32694
69 2006-11-08 Roger Sayle <roger@eyesopen.com>
70 * tree-ssa-propagate.c (set_rhs): Verify tcc_comparison the same way
72 * tree-ssa-ccp.c (fold_stmt_r) <COND_EXPR>: Use set_rhs to modify
73 the condition after calling fold_binary.
75 2007-09-24 Jakub Jelinek <jakub@redhat.com>
78 * dwarf2out.c (modified_type_die): Handle TYPE_DECL with NULL
80 * dbxout.c (dbxout_type): Likewise.
82 2007-09-23 H.J. Lu <hongjiu.lu@intel.com>
84 * configure.ac (ld_vers): Support GNU linker version xx.xx.*
85 * configure: Regenerated.
87 2007-09-23 Jakub Jelinek <jakub@redhat.com>
89 * configure.ac (MAKEINFO): Handle makeinfo version 4.10 and above.
90 * configure: Regenerated.
92 2007-09-13 H.J. Lu <hongjiu.lu@intel.com>
95 * configure.ac (ld_vers): Support Linux linker.
96 * configure: Regenerated.
98 2007-09-13 Seongbae Park <seongbae.park@gmail.com>
100 * common.opt (femit-class-debug-always): Turn off by default.
102 2007-09-12 Bob Wilson <bob.wilson@acm.org>
104 * config/xtensa/xtensa.c (machine_function): Add vararg_a7_copy.
105 (xtensa_copy_incoming_a7): Use start_sequence instead of
106 push_to_sequence. Stash insns in vararg_a7_copy for builtin_saveregs.
107 (xtensa_builtin_saveregs): Place code from vararg_a7_copy at the start
108 of the saveregs sequence.
110 2007-09-12 Richard Guenther <rguenther@suse.de>
113 * tree-ssa-structalias.c (get_constraint_for_component_ref):
114 Note that accesses to a whole flexible array member may not lead
117 2007-09-10 Bob Wilson <bob.wilson@acm.org>
119 * config/xtensa/xtensa.c (xtensa_output_literal): Mask out high bits
120 for floating-point values if HOST_BITS_PER_LONG > 32. Use
121 split_double instead of operand_subword.
123 2007-09-10 Bob Wilson <bob.wilson@acm.org>
125 * config/xtensa/xtensa.md (adddi3, adddi_carry): Delete.
126 (subdi3, subdi_carry): Delete.
128 2007-09-07 Tobias Burnus <burnus@net-b.de>
131 * doc/invoke.texi: Fix -Wstrict-overflow= table.
133 2007-09-06 Richard Sandiford <richard@codesourcery.com>
136 * config/mips/mips.c (mips_classify_symbolic_expression): New function.
137 (mips_classify_address): Use it instead of mips_symbolic_constant_p.
138 (print_operand_reloc): Likewise.
140 2007-09-03 Anatoly Sokolov <aesok@post.ru>
143 * config/avr/avr.h (TARGET_VTABLE_ENTRY_ALIGN): Define.
145 2007-09-01 Nick Clifton <nickc@redhat.com>
147 * COPYING3, COPYING3.LIB: New files.
148 * tree-ssa-operands.h: Change copyright header to refer to version
149 3 of the GNU General Public License and to point readers at the
150 COPYING3 file and the FSF's license web page.
151 * tree-vrp.c, regrename.c, attribs.c, loop-unswitch.c, sched-ebb.c,
152 tree-loop-linear.c, dwarf2asm.c, tree-into-ssa.c, dwarf2asm.h,
153 tree-ssa-loop-im.c, sbitmap.c, targhooks.c, tree-dump.c,
154 tree-complex.c, sbitmap.h, targhooks.h, tree-dump.h, see.c,
155 machmode.h, hooks.c, hooks.h, genrecog.c, tree-ssa-threadupdate.c,
156 gen-protos.c, flags.h, rtlhooks.c, gencheck.c,
157 tree-ssa-loop-niter.c, opts-common.c, tree-pretty-print.c, tracer.c,
158 gengtype.c, mkconfig.sh, gengtype.h, tree-ssa-loop-unswitch.c,
159 cgraph.c, c-lex.c, cgraph.h, libfuncs.h, cfgloopmanip.c,
160 rtl-error.c, optabs.c, postreload-gcse.c, tree-ssa-loop-manip.c,
161 optabs.h, genmddeps.c, defaults.h, postreload.c, value-prof.c,
162 tree-ssa-loop-ch.c, tree-tailcall.c, gengenrtl.c, value-prof.h,
163 genopinit.c, tree.c, tree.h, reload.c, tree-pass.h, ipa-cp.c,
164 reload.h, bitmap.c, bitmap.h, tree-scalar-evolution.c,
165 c-config-lang.in, tree-scalar-evolution.h, target.h, cppspec.c,
166 rtlanal.c, ddg.c, lambda-mat.c, mips-tdump.c, ddg.h,tree-phinodes.c,
167 mips-tfile.c, pointer-set.c, pointer-set.h, diagnostic.c, final.c,
168 diagnostic.h, builtins.c, genoutput.c, gcc.c, lists.c, gcc.h,
169 cfghooks.c, input.h, gensupport.c, fold-const.c, cfghooks.h,
170 insn-notes.def, gensupport.h, builtin-attrs.def, sync-builtins.def,
171 params.c, cfgloopanal.c, params.h, omp-low.c, tree-ssa-dse.c,
172 gcov.c, cfg.c, genextract.c, ipa-reference.c, genautomata.c,
173 tree-ssa-uncprop.c, toplev.c, tree-gimple.c, ipa-reference.h,
174 vmsdbgout.c, errors.c, toplev.h, reorg.c, tree-gimple.h,
175 tree-chrec.c, pretty-print.c, errors.h, real.c, tree-chrec.h,
176 pretty-print.h, debug.c, real.h, genemit.c, c-cppbuiltin.c,
177 genmultilib, debug.h, genconfig.c, cgraphunit.c, regs.h, df-scan.c,
178 vec.c, hosthooks-def.h, vec.h, tree-ssa-copyrename.c, scan.c,
179 builtin-types.def, tree-ssa-ccp.c, scan.h, mode-classes.def,
180 haifa-sched.c, dominance.c, dojump.c, double-int.c, gcov-io.c,
181 dbxout.c, builtins.def, double-int.h, dbxout.h,
182 tree-ssa-loop-ivopts.c, df-core.c, mode-switching.c, gengtype-lex.l,
183 tree-nomudflap.c, modulo-sched.c, c-objc-common.c, hosthooks.h,
184 c-objc-common.h, caller-save.c, graph.c, ipa-pure-const.c, graph.h,
185 c-format.c, cse.c, fix-header.c, c-format.h, web.c, tree-stdarg.c,
186 genpeep.c, tree-stdarg.h, tree-ssa-math-opts.c, xcoffout.c,
187 tree-ssa-dom.c, tree-nrv.c, xcoffout.h, tree-ssa-propagate.c,
188 ipa-utils.c, tree-ssa-propagate.h, tree-ssa-alias.c, loop-init.c,
189 ipa-utils.h, gimple-low.c, rtl.def, c-tree.h, tree-ssa-sink.c,
190 ipa-inline.c, mkmap-symver.awk, machmode.def, c-pch.c, cfganal.c,
191 global.c, alloc-pool.c, c-semantics.c, alloc-pool.h, jump.c,
192 ifcvt.c, dwarf2out.c, expr.c, cfgbuild.c, tree-browser.c,
193 dwarf2out.h, expr.h, longlong.h, opts.c, gcov-iov.c, opts.h,
194 dwarf2.h, genattrtab.c, genconditions.c, genattr.c, optc-gen.awk,
195 timevar.def, tree-ssa-loop-ivcanon.c, hard-reg-set.h, predict.c,
196 tree-ssa-loop.c, host-default.c, predict.h, recog.c, recog.h,
197 c-aux-info.c, tree-ssa-address.c, timevar.c, lcm.c, timevar.h,
198 tree-vn.c, treestruct.def, fp-test.c, c-decl.c, tree-eh.c,
199 c-errors.c, c-pretty-print.c, regmove.c, lambda-trans.c,
200 c-pretty-print.h, et-forest.c, et-forest.h, local-alloc.c,
201 function.c, langhooks.c, cppdefault.c, tree-vectorizer.c,
202 function.h, langhooks.h, print-rtl.c, cppdefault.h, df.h,
203 tree-vectorizer.h, sdbout.c, stor-layout.c, sdbout.h,
204 rtlhooks-def.h, read-rtl.c, gcse.c, ipa-type-escape.c, vmsdbg.h,
205 alias.c, ipa-type-escape.h, domwalk.c, alias.h, tree-if-conv.c,
206 profile.c, domwalk.h, ipa.c, gccbug.in, tree-data-ref.c,
207 loop-unroll.c, tree-data-ref.h, tree-flow-inline.h, mkmap-flat.awk,
208 tree-vect-analyze.c, c.opt, ggc.h, opt-gather.awk, c-typeck.c,
209 gimplify.c, coretypes.h, insn-addr.h, tree-ssa-phiopt.c, c-pragma.c,
210 c-pragma.h, calls.c, genmodes.c, loop-doloop.c, predict.def,
211 dwarf.h, tree.def, rtl-factoring.c, expmed.c, bt-load.c,
212 ggc-common.c, genflags.c, tree-dfa.c, except.c, coverage.c,
213 except.h, emit-rtl.c, cfgexpand.c, coverage.h, stringpool.c,
214 cselib.c, emit-rtl.h, tree-cfgcleanup.c, c-opts.c, cselib.h,
215 cfgcleanup.c, simplify-rtx.c, tree-ssa-pre.c, explow.c,
216 tree-ssa-live.c, tree-sra.c, tree-ssa-live.h, loop-invariant.c,
217 genpreds.c, protoize.c, opth-gen.awk, c-dump.c, lambda.h, loop-iv.c,
218 tree-mudflap.c, ipa-prop.c, print-tree.c, tree-mudflap.h,
219 tree-ssa-copy.c, ipa-prop.h, cfglayout.c, tree-ssa-forwprop.c,
220 c-convert.c, cfglayout.h, common.opt, ggc-zone.c, ggc-page.c,
221 c-omp.c, tree-ssa-dce.c, gencodes.c, varasm.c, tree-vect-patterns.c,
222 libada-mk.in, sched-deps.c, tree-nested.c, c-ppoutput.c, tree-ssa.c,
223 target-def.h, tree-ssa-loop-prefetch.c, lambda-code.c,
224 omp-builtins.def, rtl.c, regclass.c, stab.def, intl.c, rtl.h,
225 intl.h, tree-inline.c, conditions.h, tree-inline.h, integrate.c,
226 sched-int.h, tree-iterator.c, integrate.h, tree-iterator.h,
227 genchecksum.c, tree-optimize.c, output.h, tree-vect-transform.c,
228 tree-object-size.c, combine.c, tree-outof-ssa.c, addresses.h,
229 bb-reorder.c, resource.c, var-tracking.c, cfgloop.c, system.h,
230 resource.h, ggc-none.c, tree-profile.c, cfgloop.h, c-gimplify.c,
231 c-common.c, opt-functions.awk, tree-vect-generic.c, tree-flow.h,
232 df-problems.c, scan-decls.c, c-common.h, config.gcc, reg-stack.c,
233 tlink.c, main.c, stub-objc.c, fixproto, config.host, Makefile.in,
234 gccspec.c, sched-rgn.c, vecprim.h, basic-block.h,
235 tree-ssa-structalias.c, tree-ssa-structalias.h, c-common.def,
236 sched-vis.c, tree-cfg.c, passes.c, genconstants.c, c-incpath.c,
237 c-incpath.h, struct-equiv.c, c-parser.c, tree-ssa-reassoc.c,
238 varray.c, sreal.c, varray.h, dfp.c, sreal.h, dfp.h, flow.c,
239 conflict.c reg-notes.def, cfgrtl.c, config.build, gengtype-yacc.y,
240 stmt.c, tree-browser.def, prefix.c, statistics.h, params.def,
241 c-lang.c, gcov-dump.c, prefix.h, tree-ssanames.c, collect2.c,
242 collect2.h, tree-ssa-threadedge.c, convert.c, convert.h,
243 langhooks-def.h, reload1.c, tree-ssa-operands.c: Likewise.
245 2007-09-01 Nick Clifton <nickc@redhat.com>
247 * host-hpux.c: Change copyright header to refer to version 3 of
248 the GNU General Public License and to point readers at the
249 COPYING3 file and the FSF's license web page.
250 * alpha/predicates.md, alpha/vms-ld.c, alpha/linux.h,
251 alpha/alpha.opt, alpha/linux-elf.h, alpha/vms.h, alpha/elf.h,
252 alpha/vms-unwind.h, alpha/ev4.md, alpha/ev6.md, alpha/alpha.c,
253 alpha/vms-cc.c, alpha/alpha.h, alpha/sync.md, alpha/openbsd.h,
254 alpha/alpha.md, alpha/alpha-modes.def, alpha/ev5.md,
255 alpha/alpha-protos.h, alpha/freebsd.h, alpha/osf5.h,
256 alpha/netbsd.h, alpha/vms64.h, alpha/constraints.md, alpha/osf.h,
257 alpha/xm-vms.h, alpha/unicosmk.h, linux.h, frv/predicates.md,
258 frv/frv.h, frv/linux.h, frv/frv.md, frv/frv.opt,
259 frv/frv-modes.def, frv/frv-asm.h, frv/frv-protos.h, frv/frv-abi.h,
260 frv/frv.c, s390/tpf.h, s390/s390.c, s390/predicates.md,
261 s390/s390.h, s390/linux.h, s390/tpf.md, s390/tpf.opt,
262 s390/2064.md, s390/2084.md, s390/s390.md, s390/s390.opt,
263 s390/s390-modes.def, s390/fixdfdi.h, s390/constraints.md,
264 s390/s390-protos.h, s390/s390x.h, elfos.h, dbxcoff.h,
265 m32c/predicates.md, m32c/cond.md, m32c/m32c.c, m32c/minmax.md,
266 m32c/blkmov.md, m32c/m32c-pragma.c, m32c/m32c.h, m32c/prologue.md,
267 m32c/m32c.abi, m32c/muldiv.md, m32c/bitops.md, m32c/mov.md,
268 m32c/addsub.md, m32c/m32c.md, m32c/m32c.opt, m32c/t-m32c,
269 m32c/m32c-modes.def, m32c/jump.md, m32c/shift.md,
270 m32c/m32c-protos.h, libgloss.h, interix.h, sparc/hypersparc.md,
271 sparc/predicates.md, sparc/linux.h, sparc/sp64-elf.h,
272 sparc/supersparc.md, sparc/cypress.md, sparc/openbsd1-64.h,
273 sparc/openbsd64.h, sparc/niagara.md, sparc/sparc.md,
274 sparc/long-double-switch.opt, sparc/ultra3.md, sparc/sparc.opt,
275 sparc/sync.md, sparc/sp-elf.h, sparc/sparc-protos.h,
276 sparc/ultra1_2.md, sparc/biarch64.h, sparc/sparc.c,
277 sparc/little-endian.opt, sparc/sysv4-only.h, sparc/sparc.h,
278 sparc/linux64.h, sparc/freebsd.h, sparc/sol2.h, sparc/rtemself.h,
279 sparc/netbsd-elf.h, sparc/sparc-modes.def, sparc/sparclet.md,
280 sparc/sysv4.h, vx-common.h, netbsd-aout.h, m32r/m32r.md,
281 m32r/predicates.md, m32r/little.h, m32r/m32r.c, m32r/m32r.opt,
282 m32r/linux.h, m32r/m32r.h, m32r/m32r-protos.h, vxworks.opt,
283 darwin-c.c, darwin.opt, i386/i386.h, i386/cygming.h, i386/linux.h,
284 i386/cygwin.h, i386/i386.md, i386/netware-crt0.c, i386/sco5.h,
285 i386/mmx.md, i386/kaos-i386.h, i386/winnt-stubs.c,
286 i386/netbsd64.h, i386/djgpp.h, i386/gas.h, i386/sol2.h,
287 i386/constraints.md, i386/netware-libgcc.c, i386/sysv5.h,
288 i386/predicates.md, i386/x86-64.h, i386/kfreebsd-gnu.h,
289 i386/freebsd64.h, i386/vxworksae.h, i386/pentium.md, i386/lynx.h,
290 i386/i386elf.h, i386/rtemself.h, i386/netbsd-elf.h, i386/ppro.md,
291 i386/k6.md, i386/netware.c, i386/netware.h, i386/i386-modes.def,
292 i386/sysv4-cpp.h, i386/i386-interix.h, i386/cygwin1.c,
293 i386/djgpp.opt, i386/uwin.h, i386/unix.h, i386/ptx4-i.h,
294 i386/xm-djgpp.h, i386/att.h, i386/winnt.c, i386/beos-elf.h,
295 i386/sol2-10.h, i386/darwin64.h, i386/sse.md, i386/i386.opt,
296 i386/bsd.h, i386/cygming.opt, i386/xm-mingw32.h, i386/linux64.h,
297 i386/openbsdelf.h, i386/xm-cygwin.h, i386/sco5.opt, i386/darwin.h,
298 i386/mingw32.h, i386/winnt-cxx.c, i386/i386-interix3.h,
299 i386/nwld.c, i386/nwld.h, i386/host-cygwin.c, i386/cygwin2.c,
300 i386/i386-protos.h, i386/sync.md, i386/openbsd.h,
301 i386/host-mingw32.c, i386/i386-aout.h, i386/nto.h,
302 i386/biarch64.h, i386/i386-coff.h, i386/freebsd.h,
303 i386/driver-i386.c, i386/knetbsd-gnu.h, i386/host-i386-darwin.c,
304 i386/vxworks.h, i386/crtdll.h, i386/i386.c, i386/sysv4.h,
305 darwin-protos.h, linux.opt, sol2.c, sol2.h, sh/symbian.c,
306 sh/sh-protos.h, sh/linux.h, sh/elf.h, sh/superh.h, sh/sh4.md,
307 sh/coff.h, sh/newlib.h, sh/embed-elf.h, sh/symbian-pre.h,
308 sh/rtems.h, sh/kaos-sh.h, sh/sh4a.md, sh/sh64.h, sh/sh.opt,
309 sh/symbian-post.h, sh/sh-c.c, sh/predicates.md, sh/sh.c, sh/sh.h,
310 sh/shmedia.md, sh/sh-modes.def, sh/little.h, sh/sh1.md,
311 sh/superh64.h, sh/rtemself.h, sh/netbsd-elf.h, sh/sh.md,
312 sh/vxworks.h, usegas.h, svr3.h, pdp11/pdp11-protos.h,
313 pdp11/2bsd.h, pdp11/pdp11.md, pdp11/pdp11.c, pdp11/pdp11.opt,
314 pdp11/pdp11-modes.def, pdp11/pdp11.h, avr/rtems.h,
315 avr/avr-protos.h, avr/predicates.md, avr/constraints.md,
316 avr/avr.md, avr/avr.c, avr/avr.opt, avr/avr.h, sol2-protos.h,
317 dbxelf.h, lynx.opt, crx/crx.h, crx/crx-protos.h, crx/crx.md,
318 crx/crx.c, crx/crx.opt, c4x/c4x-c.c, c4x/c4x.c, c4x/c4x.opt,
319 c4x/c4x-modes.def, c4x/rtems.h, c4x/predicates.md, c4x/c4x.h,
320 c4x/c4x-protos.h, c4x/c4x.md, kfreebsd-gnu.h,
321 xtensa/predicates.md, xtensa/xtensa.c, xtensa/linux.h,
322 xtensa/xtensa.h, xtensa/elf.h, xtensa/xtensa.md,
323 xtensa/xtensa.opt, xtensa/xtensa-protos.h, dbx.h,
324 stormy16/predicates.md, stormy16/stormy16.md, stormy16/stormy16.c,
325 stormy16/stormy16.opt, stormy16/stormy16.h,
326 stormy16/stormy16-protos.h, host-solaris.c, fr30/fr30.h,
327 fr30/predicates.md, fr30/fr30-protos.h, fr30/fr30.md, fr30/fr30.c,
328 fr30/fr30.opt, vxworksae.h, sol2-c.c, lynx.h,
329 m68hc11/m68hc11-protos.h, m68hc11/predicates.md,
330 m68hc11/m68hc11.md, m68hc11/m68hc11.c, m68hc11/m68hc11.opt,
331 m68hc11/m68hc11.h, m68hc11/m68hc12.h, openbsd-oldgas.h,
332 host-linux.c, interix3.h, cris/cris.c, cris/predicates.md,
333 cris/linux.h, cris/cris.h, cris/aout.h, cris/cris.md,
334 cris/linux.opt, cris/cris.opt, cris/elf.opt, cris/aout.opt,
335 cris/cris-protos.h, netbsd.h, netbsd-elf.h, iq2000/iq2000.h,
336 iq2000/predicates.md, iq2000/iq2000-protos.h, iq2000/iq2000.md,
337 iq2000/iq2000.c, iq2000/iq2000.opt, host-darwin.c, mt/mt.md,
338 mt/mt.c, mt/mt.opt, mt/t-mt, mt/mt.h, mt/mt-protos.h, svr4.h,
339 host-darwin.h, chorus.h, mn10300/mn10300.c, mn10300/mn10300.opt,
340 mn10300/predicates.md, mn10300/mn10300.h, mn10300/linux.h,
341 mn10300/mn10300-protos.h, mn10300/mn10300.md, ia64/predicates.md,
342 ia64/itanium1.md, ia64/unwind-ia64.h, ia64/ia64-c.c, ia64/sync.md,
343 ia64/ia64.c, ia64/itanium2.md, ia64/ia64.h, ia64/vect.md,
344 ia64/freebsd.h, ia64/ia64.md, ia64/ia64-modes.def, ia64/hpux.h,
345 ia64/ia64-protos.h, windiss.h, gofast.h, rtems.h, sol2-10.h,
346 m68k/predicates.md, m68k/m68k.md, m68k/linux.h,
347 m68k/m68k-modes.def, m68k/m68k-protos.h, m68k/coff.h,
348 m68k/m68k-none.h, m68k/ieee.opt, m68k/openbsd.h, m68k/m68k-aout.h,
349 m68k/m68k.opt, m68k/m68020-elf.h, m68k/m68kelf.h, m68k/m68k.c,
350 m68k/rtemself.h, m68k/netbsd-elf.h, m68k/m68k.h, m68k/uclinux.h,
351 rs6000/power4.md, rs6000/host-darwin.c, rs6000/6xx.md,
352 rs6000/linux.h, rs6000/eabi.h, rs6000/aix41.opt, rs6000/xcoff.h,
353 rs6000/secureplt.h, rs6000/linuxspe.h, rs6000/eabialtivec.h,
354 rs6000/8540.md, rs6000/darwin8.h, rs6000/kaos-ppc.h,
355 rs6000/windiss.h, rs6000/603.md, rs6000/aix41.h, rs6000/mpc.md,
356 rs6000/aix43.h, rs6000/beos.h, rs6000/gnu.h, rs6000/rtems.h,
357 rs6000/aix.opt, rs6000/darwin.md, rs6000/darwin64.h,
358 rs6000/default64.h, rs6000/7xx.md, rs6000/darwin.opt,
359 rs6000/spe.md, rs6000/rs6000.opt, rs6000/rs6000-c.c,
360 rs6000/rios2.md, rs6000/linuxaltivec.h, rs6000/7450.md,
361 rs6000/linux64.h, rs6000/constraints.md, rs6000/440.md,
362 rs6000/darwin.h, rs6000/host-ppc64-darwin.c, rs6000/rs6000.c,
363 rs6000/aix52.h, rs6000/rs6000.h, rs6000/predicates.md,
364 rs6000/altivec.md, rs6000/aix64.opt, rs6000/rios1.md,
365 rs6000/rs6000-modes.def, rs6000/rs64.md, rs6000/eabisim.h,
366 rs6000/sysv4le.h, rs6000/darwin7.h, rs6000/linux64.opt,
367 rs6000/sync.md, rs6000/vxworksae.h, rs6000/power5.md,
368 rs6000/lynx.h, rs6000/biarch64.h, rs6000/rs6000.md,
369 rs6000/sysv4.opt, rs6000/eabispe.h, rs6000/freebsd.h,
370 rs6000/rs6000-protos.h, rs6000/netbsd.h, rs6000/e500-double.h,
371 rs6000/aix.h, rs6000/vxworks.h, rs6000/40x.md, rs6000/aix51.h,
372 rs6000/sysv4.h, arc/arc-protos.h, arc/arc.md, arc/arc.c,
373 arc/arc.opt, arc/arc-modes.def, arc/arc.h, mcore/mcore-elf.h,
374 mcore/mcore-protos.h, mcore/predicates.md, mcore/mcore.md,
375 mcore/mcore.c, mcore/mcore.opt, mcore/mcore.h, mcore/mcore-pe.h,
376 darwin.c, freebsd-nthr.h, score/predicates.md,
377 score/score-version.h, score/score-protos.h, score/misc.md,
378 score/elf.h, score/score.c, score/mac.md, score/score7.md,
379 score/score.h, score/score-conv.h, score/score-mdaux.c,
380 score/score.md, score/score.opt, score/score-modes.def,
381 score/score-mdaux.h, score/mul-div.S, arm/uclinux-elf.h,
382 arm/semi.h, arm/ecos-elf.h, arm/arm1020e.md, arm/symbian.h,
383 arm/linux-elf.h, arm/arm1026ejs.md, arm/arm1136jfs.md, arm/elf.h,
384 arm/aout.h, arm/arm.c, arm/coff.h, arm/strongarm-pe.h, arm/arm.h,
385 arm/semiaof.h, arm/arm-modes.def, arm/linux-eabi.h,
386 arm/rtems-elf.h, arm/arm-cores.def, arm/arm-protos.h, arm/vfp.md,
387 arm/aof.h, arm/linux-gas.h, arm/wince-pe.h, arm/constraints.md,
388 arm/xscale-elf.h, arm/strongarm-coff.h, arm/arm.opt,
389 arm/arm926ejs.md, arm/predicates.md, arm/iwmmxt.md,
390 arm/unknown-elf.h, arm/kaos-arm.h, arm/bpabi.h, arm/pe.opt,
391 arm/arm.md, arm/xscale-coff.h, arm/pe.c, arm/arm-generic.md,
392 arm/pe.h, arm/kaos-strongarm.h, arm/freebsd.h, arm/netbsd.h,
393 arm/fpa.md, arm/strongarm-elf.h, arm/cirrus.md, arm/netbsd-elf.h,
394 arm/vxworks.h, kaos.h, pa/predicates.md, pa/pa64-hpux.h,
395 pa/pa-hpux.opt, pa/som.h, pa/pa-hpux1010.opt, pa/pa-hpux1111.opt,
396 pa/pa-pro-end.h, pa/elf.h, pa/fptr.c, pa/pa64-linux.h, pa/pa.md,
397 pa/pa.opt, pa/pa-hpux.h, pa/pa-hpux10.h, pa/pa-hpux11.h,
398 pa/pa-hpux1010.h, pa/pa-protos.h, pa/pa-osf.h, pa/pa-hpux1111.h,
399 pa/pa-64.h, pa/milli64.S, pa/pa.c, pa/pa-linux.h, pa/pa.h,
400 pa/pa32-linux.h, pa/pa64-hpux.opt, pa/pa64-regs.h,
401 pa/pa-modes.def, darwin9.h, mips/4100.md, mips/linux.h,
402 mips/elf.h, mips/sdb.h, mips/windiss.h, mips/rtems.h,
403 mips/3000.md, mips/iris5.h, mips/5000.md, mips/7000.md,
404 mips/9000.md, mips/4600.md, mips/linux64.h, mips/elforion.h,
405 mips/constraints.md, mips/generic.md, mips/predicates.md,
406 mips/4300.md,mips/mips-ps-3d.md, mips/iris.h, mips/24k.md,
407 mips/mips.md, mips/mips.opt, mips/4k.md, mips/5k.md,
408 mips/vr4120-div.S, mips/openbsd.h, mips/iris6.h, mips/4000.md,
409 mips/mips-protos.h, mips/6000.md, mips/mips.c, mips/mips.h,
410 mips/r3900.h, mips/netbsd.h, mips/vxworks.h, mips/mips-modes.def,
411 mips/vr.h, soft-fp/t-softfp, openbsd.h, ptx4.h, freebsd-spec.h,
412 vax/vax.c, vax/openbsd.h, vax/vax.h, vax/elf.h, vax/vax.md,
413 vax/bsd.h, vax/vax.opt, vax/vax-modes.def, vax/openbsd1.h,
414 vax/netbsd.h, vax/vax-protos.h, vax/netbsd-elf.h, vax/vaxv.h,
415 vax/ultrix.h, freebsd.h, h8300/rtems.h, h8300/predicates.md,
416 h8300/h8300.c, h8300/h8300.h, h8300/elf.h, h8300/h8300.md,
417 h8300/h8300.opt, h8300/coff.h, h8300/h8300-protos.h, v850/v850.md,
418 v850/predicates.md, v850/v850-c.c, v850/v850.c, v850/v850.opt,
419 v850/v850.h, v850/v850-protos.h, knetbsd-gnu.h, sol2-6.h,
420 vxworks.h, mmix/mmix.h, mmix/predicates.md, mmix/mmix-protos.h,
421 mmix/mmix.md, mmix/mmix.c, mmix/mmix.opt, mmix/mmix-modes.def,
422 bfin/bfin.opt, bfin/rtems.h, bfin/bfin-modes.def,
423 bfin/predicates.md, bfin/bfin-protos.h, bfin/bfin.c, bfin/bfin.h,
424 bfin/bfin.md: Likewise.
426 2007-08-31 Jakub Jelinek <jakub@redhat.com>
428 PR rtl-optimization/33148
429 * simplify-rtx.c (simplify_unary_operation_1): Only optimize
430 (neg (lt X 0)) if X has scalar int mode.
433 * dwarf2out.c (rtl_for_decl_init): If vector decl has CONSTRUCTOR
434 initializer, use build_vector_from_ctor if possible to create
435 VECTOR_CST out of it. If vector initializer is not VECTOR_CST
436 even after this, return NULL.
438 2007-08-27 Jason Merrill <jason@redhat.com>
441 * gimplify.c (gimplify_modify_expr): Discard the assignment of
442 zero-sized types after calling gimplify_modify_expr_rhs.
444 2007-08-24 Jakub Jelinek <jakub@redhat.com>
447 * dwarf2out.c (gen_decl_die): Don't call
448 gen_tagged_type_instantiation_die if decl doesn't have tagged type.
450 2007-08-24 Richard Guenther <rguenther@suse.de>
452 * expr.c (get_inner_reference): Remove unused variable.
454 2007-08-24 Richard Guenther <rguenther@suse.de>
456 * expr.c (get_inner_reference): Do computation of bitoffset
457 from offset in a way we can detect overflow reliably.
459 2007-08-22 Richard Guenther <rguenther@suse.de>
462 * tree.c (host_integerp): Treat sizetype as signed as it is
465 2007-08-20 Adam Nemet <anemet@caviumnetworks.com>
467 * config/mips/predicates.md (const_call_insn_operand): Invoke
468 SYMBOL_REF_LONG_CALL_P only on SYMBOL_REFs.
470 2007-08-17 Chen liqin <liqin@sunnorth.com.cn>
472 * config/score/score.md : Update pattern tablejump.
473 * config/score/score.c : Update score_initialize_trampoline
475 * config/score/score.h (TRAMPOLINE_TEMPLATE): Added macro.
476 (TRAMPOLINE_INSNS, TRAMPOLINE_SIZE) Update macro.
477 * doc/contrib.texi: Add my entry.
479 2007-08-02 Andreas Krebbel <krebbel1@de.ibm.com>
481 * config/s390/s390.md ("*xordi3_cconly"): Change xr to xg.
483 2007-08-01 Andreas Krebbel <krebbel1@de.ibm.com>
485 * config/s390/s390.md (TF in GPR splitter): Change operand_subword
488 2007-07-30 Mark Mitchell <mark@codesourcery.com>
491 * DEV-PHASE: Mark as prerelease.
493 2007-07-25 Steve Ellcey <sje@cup.hp.com>
496 * tree-vect-patterns.c (vect_pattern_recog_1): Check for valid type.
498 2007-07-25 Dorit Nuzman <dorit@il.ibm.com>
499 Devang Patel <dpatel@apple.com>
501 PR tree-optimization/25413
502 * targhooks.c (default_builtin_vector_alignment_reachable): New.
503 * targhooks.h (default_builtin_vector_alignment_reachable): New.
504 * tree.h (contains_packed_reference): New.
505 * expr.c (contains_packed_reference): New.
506 * tree-vect-analyze.c (vector_alignment_reachable_p): New.
507 (vect_enhance_data_refs_alignment): Call
508 vector_alignment_reachable_p.
509 * target.h (vector_alignment_reachable): New builtin.
510 * target-def.h (TARGET_VECTOR_ALIGNMENT_REACHABLE): New.
511 * config/rs6000/rs6000.c (rs6000_vector_alignment_reachable): New.
512 (TARGET_VECTOR_ALIGNMENT_REACHABLE): Define.
514 2007-07-24 Richard Guenther <rguenther@suse.de>
516 Backport from mainline:
517 2007-07-16 Richard Guenther <rguenther@suse.de>
518 Uros Bizjak <ubizjak@gmail.com>
520 * tree-if-conv.c (find_phi_replacement_condition): Unshare "*cond"
521 before forcing it to gimple operand.
523 2007-07-24 Richard Guenther <rguenther@suse.de>
525 PR tree-optimization/32723
526 Backport from mainline:
527 2007-03-09 Daniel Berlin <dberlin@dberlin.org>
529 * tree-ssa-structalias.c (shared_bitmap_info_t): New structure.
530 (shared_bitmap_table): New variable.
531 (shared_bitmap_hash): New function.
532 (shared_bitmap_eq): Ditto
533 (shared_bitmap_lookup): Ditto.
534 (shared_bitmap_add): Ditto.
535 (find_what_p_points_to): Rewrite to use shared bitmap hashtable.
536 (init_alias_vars): Init shared bitmap hashtable.
537 (delete_points_to_sets): Delete shared bitmap hashtable.
539 2007-07-23 Bernd Schmidt <bernd.schmidt@analog.com>
541 * reload1.c (choose_reload_regs): Set reload_spill_index for regs
542 chosen during find_reloads.
544 2007-07-19 Release Manager
546 * GCC 4.2.1 released.
548 2007-07-18 Paolo Bonzini <bonzini@gnu.org>
552 2007-07-09 Paolo Bonzini <bonzini@gnu.org>
555 * function.c (rest_of_match_asm_constraints): Pass PROP_REG_INFO.
557 2007-07-06 Paolo Bonzini <bonzini@gnu.org>
560 * function.c (match_asm_constraints_1, rest_of_match_asm_constraints,
561 pass_match_asm_constraints): New.
562 * passes.c (init_optimization_passes): Add new pass.
563 * stmt.c (expand_asm_operands): Set cfun->has_asm_statement.
564 * function.h (struct function): Add has_asm_statement bit.
565 (current_function_has_asm_statement): New.
566 * tree-pass.h (pass_match_asm_constraints): New.
568 2007-07-16 Paul Brook <paul@codesourcery.com>
572 * config/arm/cirrus.md (cirrus_arm_movsi_insn): Remove dead insn.
574 2007-07-10 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
577 * config/mips/iris6.h (LIBGCC_SPEC): Add libm.
579 2007-07-09 Paolo Bonzini <bonzini@gnu.org>
582 * function.c (rest_of_match_asm_constraints): Pass PROP_REG_INFO.
584 2007-07-09 Uros Bizjak <ubizjak@gmail.com>
586 PR tree-optimization/32681
587 * tree-if-conv.c (find_phi_replacement_condition): Use the condition
588 saved in second_edge->aux when first_bb is a loop header.
590 2007-07-07 Anatoly Sokolov <aesok@post.ru>
593 * config/avr/avr.c (avr_naked_function_p): Handle receiving a type
595 (avr_attribute_table): Make "naked" attribute apply to function types
596 rather than to decls.
597 (avr_handle_fntype_attribute): New function.
599 2007-07-06 Paolo Bonzini <bonzini@gnu.org>
602 * function.c (match_asm_constraints_1, rest_of_match_asm_constraints,
603 pass_match_asm_constraints): New.
604 * passes.c (init_optimization_passes): Add new pass.
605 * stmt.c (expand_asm_operands): Set cfun->has_asm_statement.
606 * function.h (struct function): Add has_asm_statement bit.
607 (current_function_has_asm_statement): New.
608 * tree-pass.h (pass_match_asm_constraints): New.
610 2007-07-06 Uros Bizjak <ubizjak@gmail.com>
612 PR rtl-optimization/32450
613 * function.c (thread_prologue_and_epilogue_insns): Emit blockage insn
614 to ensure that instructions are not moved into the prologue when
617 2007-07-04 Richard Guenther <rguenther@suse.de>
619 PR tree-optimization/32500
620 * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
621 Only use basic blocks that are always executed to infer loop bounds.
623 2007-07-04 Uros Bizjak <ubizjak@gmail.com>
625 PR tree-optimization/31966
626 PR tree-optimization/32533
627 * tree-if-conv.c (add_to_dst_predicate_list): Use "edge", not
628 "basic_block" description as its third argument. Update function
629 calls to get destination bb from "edge" argument. Save "cond" into
630 aux field of the edge. Update prototype for changed arguments.
631 (if_convertible_loop_p): Clear aux field of incoming edges if bb
633 (find_phi_replacement_condition): Operate on incoming edges, not
634 on predecessor blocks. If there is a condition saved in the
635 incoming edge aux field, AND it with incoming bb predicate.
636 Return source bb of the first edge.
637 (clean_predicate_lists): Clean aux field of outgoing node edges.
638 (tree_if_conversion): Do not initialize cond variable. Move
639 variable declaration into the loop.
640 (replace_phi_with_cond_gimple_modify_stmt): Remove unneded
641 initializations of new_stmt, arg0 and arg1 variables.
643 2007-07-04 Kaz Kojima <kkojima@gcc.gnu.org>
646 Backport from mainline.
647 * config/sh/sh.md (udivsi3_i1_media): Use target_reg_operand
648 predicate instead of target_operand.
649 (divsi3_i1_media, divsi3_media_2): Likewise.
651 2007-07-03 Richard Guenther <rguenther@suse.de>
653 Backport from mainline:
654 2006-12-11 Zdenek Dvorak <dvorakz@suse.cz>
656 PR rtl-optimization/30113
657 * loop-iv.c (implies_p): Require the mode of the operands to be
660 2007-07-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
663 * gthr-posix.h [SUPPORTS_WEAK && GTHREAD_USE_WEAK]
664 (__gthrw_pragma): Provide default definition.
666 * gthr-posix.c (__gthrw_pragma): Define.
668 2007-07-02 Jakub Jelinek <jakub@redhat.com>
671 * omp-low.c (check_combined_parallel): New function.
672 (lower_omp_parallel): Call it via walk_stmts, set
673 OMP_PARALLEL_COMBINED if appropriate.
674 (determine_parallel_type): If OMP_FOR resp. OMP_SECTIONS
675 isn't the only statement in WS_ENTRY_BB or OMP_RETURN
676 the only one in PAR_EXIT_BB and not OMP_PARALLEL_COMBINED,
677 don't consider it as combined parallel.
679 2007-06-30 Alexandre Oliva <aoliva@redhat.com>
681 * dwarf2out.c (dwarf2out_finish): Accept namespaces as context of
684 2007-06-28 Seongbae Park <seongbae.park@gmail.com>
686 * config/arm/arm.c (arm_get_frame_offsets): Set
687 offsets->locals_base to avoid negative stack size.
688 (thumb_expand_prologue): Assert on negative stack size.
690 2007-06-28 Jakub Jelinek <jakub@redhat.com>
692 * config/rs6000/rs6000.c (rs6000_function_ok_for_sibcall): Ensure
693 decl is non-external for AIX ABI.
695 2007-06-28 David Edelsohn <edelsohn@gnu.org>
697 * config/rs6000/predicates.md (current_file_function_operand):
698 Ensure the symbol is non-external for AIX ABI.
700 2007-06-21 H.J. Lu <hongjiu.lu@intel.com>
702 * config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_VEC_EXT_V16QI.
703 (ix86_init_mmx_sse_builtins): Add __builtin_ia32_vec_ext_v16qi.
704 (ix86_expand_builtin): Handle IX86_BUILTIN_VEC_EXT_V16QI.
706 2007-06-21 Jakub Jelinek <jakub@redhat.com>
709 * omp-low.c (lookup_decl_in_outer_ctx): Don't ICE if t is NULL,
710 but decl is a global var, instead return decl.
711 * gimplify.c (gimplify_adjust_omp_clauses_1): Add shared clauses
712 even for is_global_var decls, if they are private in some outer
715 2007-06-21 Uros Bizjak <ubizjak@gmail.com>
718 * config/i386/i386.h (enum ix86_stack_slot): Add SLOT_VIRTUAL.
719 * config/i386/i386.c (assign_386_stack_local): Assert that
720 SLOT_VIRTUAL is valid only before virtual regs are instantiated.
721 (ix86_expand_builtin) [IX86_BUILTIN_LDMXCSR, IX86_BUILTIN_STMXCSR]:
722 Use SLOT_VIRTUAL stack slot instead of SLOT_TEMP.
723 * config/i386/i386.md (truncdfsf2, truncxfsf2, truncxfdf2): Ditto.
725 2007-06-20 Jakub Jelinek <jakub@redhat.com>
728 * gimplify.c (gimplify_asm_expr): Issue error if type is addressable
732 * calls.c (precompute_arguments): Also precompute CALL_EXPR arguments
733 if ACCUMULATE_OUTGOING_ARGS.
735 2007-06-20 Kaz Kojima <kkojima@gcc.gnu.org>
737 PR rtl-optimization/28011
738 Backport from mainline.
739 * reload.c (push_reload): Set dont_share if IN appears in OUT
740 also when IN is a PLUS rtx.
741 (reg_overlap_mentioned_for_reload_p): Return true if X and IN
744 2007-06-19 Richard Guenther <rguenther@suse.de>
745 Michael Matz <matz@suse.de>
747 PR tree-optimization/30252
748 * tree-ssa-structalias.c (solution_set_add): Make sure to
749 preserve all relevant vars.
750 (handle_ptr_arith): Make sure to only handle positive
752 (push_fields_onto_fieldstack): Create fields for empty
755 2007-06-19 Jakub Jelinek <jakub@redhat.com>
757 PR tree-optimization/32353
758 * tree-ssa-structalias.c (set_uids_in_ptset): Also handle RESULT_DECL.
760 2007-06-17 Eric Botcazou <ebotcazou@libertysurf.fr>
762 * config/sparc/sparc.c (sparc_vis_init_builtins): Retrieve the
763 return mode from the builtin itself.
764 (sparc_fold_builtin): Fix cast of zero constant.
766 2007-06-15 Diego Novillo <dnovillo@google.com>
769 * tree-ssa-operands.c (build_ssa_operands): Initially assume
770 that the statement does not take any addresses.
772 2007-06-13 Eric Botcazou <ebotcazou@libertysurf.fr>
774 * config/sparc/sparc.c (sparc_override_options): Initialize
777 2007-06-09 Ian Lance Taylor <iant@google.com>
779 PR tree-optimization/32169
780 * tree-vrp.c (extract_range_from_unary_expr): For NOP_EXPR and
781 CONVERT_EXPR, check whether min and max both converted to an
782 overflow infinity representation.
784 2007-06-08 Kaz Kojima <kkojima@gcc.gnu.org>
787 Backport from mainline.
788 * config/sh/sh.md (symGOT_load): Don't schedule insns when
789 the symbol is generated with the stack protector.
791 2007-06-06 Ian Lance Taylor <iant@google.com>
793 * fold-const.c (merge_ranges): If range_successor or
794 range_predecessor fail, just return 0.
796 2007-06-05 Ian Lance Taylor <iant@google.com>
798 * tree-vrp.c (compare_values_warnv): Check TREE_NO_WARNING on a
799 PLUS_EXPR or MINUS_EXPR node before setting *strict_overflow_p.
800 (extract_range_from_assert): Set TREE_NO_WARNING when creating an
802 (test_for_singularity): Likewise.
804 2007-06-04 Ian Lance Taylor <iant@google.com>
806 * tree-vrp.c (adjust_range_with_scev): When loop is not expected
807 to overflow, reduce overflow infinity to regular infinity.
808 (vrp_var_may_overflow): New static function.
809 (vrp_visit_phi_node): Check vrp_var_may_overflow.
811 2007-05-31 H.J. Lu <hongjiu.lu@intel.com>
813 Backport from mainline:
814 2007-05-25 H.J. Lu <hongjiu.lu@intel.com>
816 * config/i386/i386.c (__builtin_ia32_vec_ext_v2df): Mark it
818 (__builtin_ia32_vec_ext_v2di): Likewise.
819 (__builtin_ia32_vec_ext_v4si): Likewise.
820 (__builtin_ia32_vec_ext_v8hi): Likewise.
821 (__builtin_ia32_vec_set_v8hi): Likewise.
823 2007-05-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
825 Backport from mainline:
826 2007-05-05 Aurelien Jarno <aurelien@aurel32.net>
828 * config/pa/pa.md: Split tgd_load, tld_load and tie_load
829 into pic and non-pic versions. Mark r19 as used for
830 tgd_load_pic, tld_load_pic and tie_load_pic. Mark r27 as used
831 for tgd_load, tld_load and tie_load .
832 * config/pa/pa.c (legitimize_tls_address): Emit pic or non-pic
833 version of tgd_load, tld_load and tie_load depending on the
836 2007-05-27 Daniel Berlin <dberlin@dberlin.org>
839 Backport PTA solver from mainline
841 * pointer-set.c: Copy from mainline
842 * pointer-set.h: Ditto.
843 * tree-ssa-structalias.c: Copy solver portions from mainline.
844 * Makefile.in (tree-ssa-structalias.o): Update dependencies
846 2007-05-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
848 * tree-vrp.c (compare_names): Initialize sop.
850 2007-05-30 Jakub Jelinek <jakub@redhat.com>
852 PR tree-optimization/31769
853 * except.c (duplicate_eh_regions): Clear prev_try if
854 ERT_MUST_NOT_THROW region is inside of ERT_TRY region.
856 2007-05-28 Andrew Pinski <andrew_pinski@playstation.sony.com>
859 * fold-const.c (tree_expr_nonnegative_warnv_p): Don't
860 return true when truth_value_p is true and the type
863 2007-05-27 H.J. Lu <hongjiu.lu@intel.com>
865 Backport from mainline:
866 2007-05-25 Uros Bizjak <ubizjak@gmail.com>
868 * config/i386/sse.md (*vec_extractv2di_1_sse2): Do not calculate
869 "memory" attribute for "sseishft" type insn without operands[2].
871 2007-05-25 H.J. Lu <hongjiu.lu@intel.com>
873 * config/i386/sse.md (*vec_extractv2di_1_sse2): Correct shift.
875 2007-05-22 Ian Lance Taylor <iant@google.com>
877 * tree-vrp.c (avoid_overflow_infinity): New static function,
878 broken out of set_value_range_to_value.
879 (set_value_range_to_value): Call avoid_overflow_infinity.
880 (extract_range_from_assert): Likewise.
882 2007-05-23 Chen Liqin <liqin@sunnorth.com.cn>
885 * config/score/misc.md (bitclr_c, bitset_c, bittgl_c): remove.
886 * config/score/predicate.md (const_pow2, const_npow2): remove.
887 * config/score/score.h (ASM_OUTPUT_EXTERNAL): add ASM_OUTPUT_EXTERNAL undef.
889 * config/score/score.c (score_print_operand): makes sure that only lower
892 2007-05-21 Uros Bizjak <ubizjak@gmail.com>
895 Backport from mainline.
896 * config/i386/i386.md (*addti3_1, *addti3_1 splitter): Use
897 x86_64_general_operand as operand[2] predicate. Remove "iF"
898 from operand constraints and use "e" constraint instead.
899 (*subti3_1, *subti3_1 splitter): Ditto.
900 (*negti2_1, *negti2_1 splitter): Use nonimmediate_operand as
901 operand[1] predicate.
903 2007-05-21 Uros Bizjak <ubizjak@gmail.com>
906 Backport from mainline.
907 * config/i386/sse.md ("*sse3_movddup"): Use operands[0] and
908 operands[1] in insn constraint. Correct type attribute to sselog1.
910 2007-05-20 Kaz Kojima <kkojima@gcc.gnu.org>
913 Backport from mainline.
914 * config/sh/sh.c (output_stack_adjust): Avoid using the frame
915 register itself to hold the offset constant. Tell flow the use
916 of r4 and r5 when they are used.
918 2007-05-20 Kaz Kojima <kkojima@gcc.gnu.org>
921 Backport from mainline.
922 * config/sh/sh.md (length): Check if prev_nonnote_insn (insn)
925 2007-05-20 Kaz Kojima <kkojima@gcc.gnu.org>
928 Backport from mainline.
929 * config/sh/sh.c (sh_adjust_cost): Use the result of single_set
932 2007-05-20 Kaz Kojima <kkojima@gcc.gnu.org>
935 Backport from mainline.
936 * config/sh/sh.md (cmp{eq,gt,gtu}{si,di}_media): Remove.
937 (cmpsi{eq,gt,gtu}{si,di}_media): Rename to
938 cmp{eq,gt,gtu}{si,di}_media.
939 (*cmpne0si_media): Remove.
940 (*movsicc_umin): Adjust gen_cmp*_media call.
941 (unordered): Change the mode of unordered and operands[1] to
943 (seq): Adjust gen_cmp*_media calls. Make the mode of
944 a temporary result of compare SImode if needed. If the mode
945 of operands[0] is DImode, extend the temporary result to DImode.
946 (slt, sle, sgt, sge, sgtu, sltu, sleu, sgue, sne): Likewise.
947 (sunorderd): Change the mode of match_operand and unorderd to
949 (cmpeq{sf,df}_media): Remove.
950 (cmpsieq{sf,df}_media): Rename to cmpeq{sf,df}_media.
951 (cmp{gt,ge,un}{sf,df}_media): Change the mode of match_operand
952 and compare operation to SImode.
954 2007-05-18 Joseph Myers <joseph@codesourcery.com>
956 * config/soft-fp/double.h, config/soft-fp/extended.h,
957 config/soft-fp/floatundidf.c, config/soft-fp/floatundisf.c,
958 config/soft-fp/floatunsidf.c, config/soft-fp/floatunsisf.c,
959 config/soft-fp/op-2.h, config/soft-fp/op-4.h,
960 config/soft-fp/op-common.h, config/soft-fp/quad.h: Update from
963 2007-05-17 Ian Lance Taylor <iant@google.com>
965 PR tree-optimization/31953
966 * tree-vrp.c (set_value_range_to_value): Add equiv parameter.
968 (set_value_range_to_null): Call set_value_range_to_value.
969 (extract_range_from_comparison): Likewise.
971 2007-05-17 Eric Botcazou <ebotcazou@libertysurf.fr>
973 PR rtl-optimization/31691
974 * combine.c (simplify_set): Build a new src pattern instead of
975 substituting its operands in the COMPARE case.
977 2007-05-14 Mark Mitchell <mark@codesourcery.com>
979 * BASE-VER: Set to 4.2.1.
980 * DEV-PHASE: Set to prerelease.
982 2007-05-13 Release Manager
984 * GCC 4.2.0 released.
986 2007-05-12 Richard Guenther <rguenther@suse.de>
988 PR tree-optimization/31797
989 * tree-ssa-forwprop.c (forward_propagate_addr_expr): Do not
990 propagate into a stmt that has volatile ops.
992 2007-05-01 Ian Lance Taylor <iant@google.com>
994 PR tree-optimization/31739
995 * tree-vrp.c (vrp_val_is_max): New static function.
996 (vrp_val_is_min): New static function.
997 (set_value_range_to_value): Use TYPE_{MAX,MIN}_VALUE rather than
999 (set_value_range): Use vrp_val_is_{max,min}.
1000 (extract_range_from_assert): Likewise.
1001 (extract_range_from_binary_expr): Likewise.
1002 (extract_range_from_unary_expr): Likewise.
1003 (dump_value_range, vrp_meet): Likewise.
1004 (vrp_visit_phi_node): Likewise.
1005 * tree.c (build_distinct_type_copy): Revert change of 2007-04-27.
1007 2007-05-01 Joseph Myers <joseph@codesourcery.com>
1009 * config/rs6000/libgcc-ppc-glibc.ver (__gcc_qgt): Fix typo.
1011 2007-04-27 Anatoly Sokolov <aesok@post.ru>
1013 * config/avr/avr.c (avr_mcu_types): Add support for ATmega8HVA and
1014 ATmega16HVA devices. Move AT90USB82 device to 'avr5' architecture.
1015 * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
1016 * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
1018 2007-04-27 Ian Lance Taylor <iant@google.com>
1021 * tree.c (build_distinct_type_copy): If TYPE_MIN_VALUE or
1022 TYPE_MAX_VALUE exist, convert them to the new type.
1024 2007-04-26 Ian Lance Taylor <iant@google.com>
1027 * reload.c (find_reloads_subreg_address): If the address was valid
1028 in the original mode but not in the new mode, reload the whole
1031 2007-04-26 Ulrich Weigand <uweigand@de.ibm.com>
1034 * reload1.c (eliminate_regs_in_insn): In the single_set special
1035 case, attempt to re-recognize the insn before falling back to
1036 having reload fix it up.
1038 2007-04-26 Richard Guenther <rguenther@suse.de>
1039 Daniel Berlin <dberlin@dberlin.org>
1041 PR tree-optimization/30567
1042 * tree-ssa-structalias.c (update_alias_info): Record dereference
1043 also if ESCAPE_STORED_IN_GLOBAL.
1045 2007-04-26 Jakub Jelinek <jakub@redhat.com>
1048 * tree-inline.c (copy_body_r): Don't touch TREE_TYPE of OMP_CLAUSE.
1050 PR tree-optimization/30558
1051 * tree-eh.c (lower_eh_filter): If EH_FILTER_MUST_NOT_THROW
1052 clear this_state.prev_try.
1054 2007-04-25 Anatoly Sokolov <aesok@post.ru>
1057 * config/avr/avr.h (ASM_OUTPUT_ALIGN): Redefine.
1059 2007-04-24 Andrew Pinski <andrew_pinski@playstation.sony.com>
1060 Roger Sayle <roger@eyesopen.com>
1063 * expmed.c (make_tree): Use the correct type, i.e. the inner
1064 type, when constructing the individual elements of a CONST_VECTOR.
1066 2007-04-24 Ian Lance Taylor <iant@google.com>
1068 PR tree-optimization/31605
1069 * tree-vrp.c (set_value_range): Check that min and max are not
1070 both overflow infinities.
1071 (set_value_range_to_value): New static function.
1072 (extract_range_from_binary_expr): Call set_value_range_to_value.
1073 (extract_range_from_expr): Likewise.
1074 (extract_range_from_unary_expr): Likewise. Don't create a range
1075 which overflows on both sides.
1076 (vrp_meet): Check for a useless range.
1077 (vrp_visit_phi_node): If we see a constant which looks like an
1078 overflow infinity, turn off the TREE_OVERFLOW flag.
1080 2007-04-24 Ian Lance Taylor <iant@google.com>
1082 PR tree-optimization/31602
1083 * tree-ssa-loop-ch.c (copy_loop_headers): Set TREE_NO_WARNING for
1084 conditionals in the copied loop header.
1085 * tree-cfg.c (fold_cond_expr_cond): Don't issue undefined overflow
1086 warnings if TREE_NO_WARNING is set.
1087 * doc/invoke.texi (Warning Options): Clarify that
1088 -Wstrict-overflow does not warn about loops.
1090 2007-04-24 Andreas Krebbel <krebbel1@de.ibm.com>
1093 * config/s390/s390.c (s390_expand_setmem): Don't ICE for constant length
1094 argument of 0 for memset.
1095 (s390_expand_movmem, s390_expand_setmem, s390_expand_cmpmem): Use
1096 unsigned shift instead of the signed variant.
1098 2007-04-24 Daniel Franke <franke.daniel@gmail.com>
1100 * doc/invoke.texi: Removed leading '-' from option index entries.
1102 2007-04-22 Andrew Pinski <andrew_pinski@playstation.sony.com>
1105 * expr.c (reduce_to_bit_field_precision): Handle
1108 2007-04-20 Richard Henderson <rth@redhat.com>
1111 * config/alpha/alpha.c (get_unaligned_address): Remove extra_offset
1112 argument; update all callers.
1113 (get_unaligned_offset): New.
1114 * config/alpha/alpha.md (extendqidi2, extendhidi2): Don't use
1115 get_unaligned_address, just pass on the address directly.
1116 (unaligned_extendqidi): Use gen_lowpart instead of open-coding
1117 the subreg in the helper patterns.
1118 (unaligned_extendqidi_le): Use get_unaligned_offset.
1119 (unaligned_extendqidi_be, unaligned_extendhidi_le): Likewise.
1120 (unaligned_extendhidi_be): Likewise.
1121 (unaligned_extendhidi): Tidy.
1122 * config/alpha/alpha-protos.h: Update.
1124 2007-04-21 Richard Guenther <rguenther@suse.de>
1127 * fold-const.c (fold_unary): Call fold_convert_const on the
1130 2007-04-20 Richard Henderson <rth@redhat.com>
1132 * config/alpha/linux.h (CPP_SPEC): Undef before redefine.
1134 2007-04-20 Bernd Schmidt <bernd.schmidt@analog.com>
1136 * reload.c (combine_reloads): When trying to use a dying register,
1137 check whether it's uninitialized and don't use if so.
1139 2007-04-20 Jakub Jelinek <jakub@redhat.com>
1141 * config/i386/i386.c (bdesc_2arg): Use ORDERED rather than UNORDERED
1142 for __builtin_ia32_cmpordss.
1144 PR tree-optimization/31632
1145 * fold-const.c (fold_binary): Use op0 and op1 instead of arg0
1146 and arg1 for optimizations of comparison against min/max values.
1147 Fold arg0 to arg1's type for optimizations of comparison against
1148 min+1 and max-1 values.
1150 2007-04-19 Eric Botcazou <ebotcazou@libertysurf.fr>
1152 PR rtl-optimization/29841
1153 * cfgbuild.c (control_flow_insn_p): Return TRUE for unconditional
1155 * sched-deps.c (sched_analyze_insn): Prevent all non-jump instructions
1156 that may cause control flow transfer from being moved.
1158 2007-04-18 Anatoly Sokolov <aesok@post.ru>
1160 * config/avr/avr.c (ptrreg_to_str): Replace error() with
1161 output_operand_lossage().
1163 2007-04-17 Anatoly Sokolov <aesok@post.ru>
1166 * config/avr/avr.c (ptrreg_to_str): Replace gcc_unreachable() with
1169 2007-04-17 Jan Hubicka <jh@suse.cz>
1172 * dwarf2out.c (reference_to_unused): Ask cgraph for functions
1173 availablility; add more sanity checking; ask varpool only about
1176 2007-04-17 H.J. Lu <hongjiu.lu@intel.com>
1178 * Backport from mainline:
1179 2007-04-17 H.J. Lu <hongjiu.lu@intel.com>
1181 * config/i386/sse.md (sse_vmaddv4sf3): Use register_operand
1183 (sse_vmmulv4sf3): Likewise.
1184 (sse2_vmaddv2df3): Likewise.
1185 (sse2_vmmulv2df3): Likewise.
1187 2007-04-16 Matthias Klose <doko@debian.org>
1189 * config/alpha/linux.h (CPP_SPEC): Define.
1190 * config/arm/linux-gas.h (SUBTARGET_CPP_SPEC): Extend.
1192 2007-04-16 Anatoly Sokolov <aesok@post.ru>
1194 * config/avr/avr.c (avr_arch_types): Rearranging array.
1195 (enum avr_arch): Add.
1196 (avr_mcu_types): Use avr_arch enumeration constants instead of
1198 * config/avr/avr.h (LINK_SPEC): Simplify.
1200 2007-04-16 Jan Hubicka <jh@suse.cz>
1203 * config/i386/sse.md
1204 (sse_vmaddv4sf3, sse_vmmulv4sf3): Remove '%' modifier.
1205 (sse_vmsmaxv4sf3_finite, sse_vmsminv4sf3_finite): Remove.
1206 (sse2_vmaddv2df3, sse2_vmmulv2df3): Remove '%' modifier.
1207 (sse2_vmsmaxv2df3_finite, sse2_vmsminv2df3_finite): Remove.
1209 2007-04-16 H.J. Lu <hongjiu.lu@intel.com>
1211 * Backport from mainline:
1212 2007-04-16 H.J. Lu <hongjiu.lu@intel.com>
1215 * config/i386/i386.c (ix86_expand_vec_set_builtin): Make a
1216 copy of source, pass it to ix86_expand_vector_set and return
1219 2007-04-14 Andrew Pinski <andrew_pinski@playstation.sony.com>
1222 * c-decl.c (finish_decl): Grab the type of the decl after the call
1223 to store_init_value.
1225 2007-04-14 Jakub Jelinek <jakub@redhat.com>
1228 * omp-low.c (expand_omp_parallel): If child_cfun->cfg, free dominators,
1229 post dominators and cleanup cfg before returning.
1231 2007-04-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1233 * pa.c (pa_som_asm_init_sections): Ensure that cfun->machine is not
1234 null before emitting a .nsubspa directive.
1236 2007-04-08 Anatoly Sokolov <aesok@post.ru>
1239 * config/avr/predicates.md (io_address_operand): Delete predicate.
1240 (low_io_address_operand): Don't use 'mode' argument.
1241 (higth_io_address_operand): Rename ...
1242 (high_io_address_operand): ... to this. Don't use 'mode' argument.
1243 * config/avr/avr.md (*sbix_branch_tmp, *sbix_branch_tmp_bit7): Adjust
1246 2007-04-07 Anatoly Sokolov <aesok@post.ru>
1249 * config/avr/avr.md (*clrmemqi, *clrmemhi): Mark operand 4 as
1252 2007-04-05 Anatoly Sokolov <aesok@post.ru>
1255 * config/avr/avr.c (avr_handle_fndecl_attribute): Use the
1256 DECL_ASSEMBLER_NAME, not the DECL_NAME.
1258 2007-04-04 Richard Henderson <rth@redhat.com>
1261 * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove
1262 v8hi_ftype_v8hi_v2di, v4si_ftype_v4si_v2di. Use like-types for
1263 the variable shift builtins.
1264 (ix86_expand_builtin): Properly expand the variable shift builtins.
1265 * config/i386/sse.md (ashr<mode>3, lshr<mode>3, ashl<mode>3): Make
1266 operand 2 be TImode.
1267 * config/i386/emmintrin.h (_mm_slli_epi16, _mm_slli_epi32,
1268 _mm_slli_epi64, _mm_srai_epi16, _mm_srai_epi32, _mm_srli_epi16,
1269 _mm_srli_epi32, _mm_srli_epi64): Turn into macros.
1270 (_mm_srli_si128, _mm_srli_si128): Fix disabled inline versions.
1271 (_mm_sll_epi16, _mm_sll_epi32, _mm_sll_epi64, _mm_sra_epi16,
1272 _mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32, _mm_srl_epi64): Use
1273 two-vector shift builtins.
1275 2007-04-04 Chen liqin <liqin@sunnorth.com.cn>
1277 * config/score/crti.asm: Change _bss_start to __bss_start.
1278 * config/score/score.h (CONDITIONAL_REGISTER_USAGE): Added.
1279 (OUTGOING_REG_PARM_STACK_SPACE) update.
1280 * config/score/score.opt: add options to make backend support
1281 score5, score5u, score7 and score7d.
1282 * config/score/score.md: Likewise.
1283 * config/score/misc.md: Likewise.
1284 * config/score/mac.md: Likewise.
1285 * doc/invoke.texi: Likewise.
1286 * doc/md.texi: update constraints define.
1288 2007-04-03 Stuart Hastings <stuart@apple.com>
1291 * objc/objc-act.c (next_sjlj_build_catch_list): Delete volatile
1293 * cse.c (record_jump_equiv): Bail out on CCmode comparisons.
1295 2007-04-03 Jakub Jelinek <jakub@redhat.com>
1298 * fold-const.c (native_encode_real): Encode real.c provided longs
1299 as a series of 32-bit native integers.
1300 (native_interpret_real): Interpret buffer as a series of 32-bit
1303 2007-04-02 Eric Christopher <echristo@apple.com>
1305 * doc/invoke.texi (i386 and x86-64 Options): Document -m64
1306 limitations on darwin.
1308 2007-04-02 Anatoly Sokolov <aesok@post.ru>
1311 * config/avr/avr.c (avr_rtx_costs): Add missing 'break' statements.
1313 2007-04-02 H.J. Lu <hongjiu.lu@intel.com>
1315 * Backport from mainline:
1316 2007-03-28 Grigory Zagorodnev <grigory_zagorodnev@linux.intel.com>
1319 * config/i386/sse.md (uminv16qi3): Use UMIN instead of UMAX.
1321 2007-03-30 Anatoly Sokolov <aesok@post.ru>
1323 * config/avr/avr.c (avr_override_options): Clear
1324 'flag_delete_null_pointer_checks'.
1326 2007-03-29 Michael Matz <matz@suse.de>
1328 * builtins.c (expand_builtin_sync_operation,
1329 expand_builtin_compare_and_swap,
1330 expand_builtin_lock_test_and_set): Care for extending CONST_INTs
1333 * config/i386/sync.md (sync_double_compare_and_swapdi_pic,
1334 sync_double_compare_and_swap_ccdi_pic): Use "SD" as constraint
1337 2007-03-28 Mike Stump <mrs@apple.com>
1339 * config/darwin9.h (ASM_OUTPUT_ALIGNED_COMMON): Add.
1340 * config/darwin.h (MAX_OFILE_ALIGNMENT): Fix.
1341 * config/rs6000/darwin.h (ASM_OUTPUT_ALIGNED_COMMON): Removed #undef.
1343 2007-03-27 Anatoly Sokolov <aesok@post.ru>
1345 * config/avr/avr.c (avr_mcu_types): Move at90usb82 device to 'avr4'
1348 2007-03-26 Ian Lance Taylor <iant@google.com>
1350 PR tree-optimization/31345
1351 * tree-vrp.c (extract_range_from_binary_expr): Turn ranges like
1352 [+INF, +INF(OVF)] into VARYING.
1354 2007-03-23 Martin Michlmayr <tbm@cyrius.com>
1356 * doc/invoke.texi (-fforce-mem): Update documentation to reflect
1357 that this option will be removed in 4.3 rather than 4.2.
1358 * opts.c (common_handle_option): Likewise.
1360 2007-03-21 Mike Stump <mrs@apple.com>
1362 * c.opt: Fixup for Objective-C/C++.
1364 2007-03-21 Richard Henderson <rth@redhat.com>
1367 * config/i386/emmintrin.h (__m128i, __m128d): Mark may_alias.
1368 * config/i386/mmintrin.h (__m64): Likewise.
1369 * config/i386/xmmintrin.h (__m128): Likewise.
1371 2007-03-20 Jakub Jelinek <jakub@redhat.com>
1374 * c-typeck.c (convert_for_assignment): Call comptypes for
1375 RECORD_TYPE or UNION_TYPE.
1378 * reload1.c (reload): Do invalid ASM checking after
1379 cleanup_subreg_operands.
1381 2007-03-19 Jeff Law <law@redhat.com>
1383 * tree-cfg.c (find_taken_edge): Tighten conditions for
1384 optimizing computed gotos.
1386 2007-03-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1388 * pa.c (attr_length_call): Partially revert change of 2007-03-09.
1389 (output_call): Likewise.
1391 2007-03-16 Alexandre Oliva <aoliva@redhat.com>
1394 * dwarf2out.c (force_type_die): Adjust comment.
1395 (dwarf2out_imported_module_or_decl): Handle base AT_import types.
1397 2007-03-15 Seongbae Park <seongbae.park@gmail.com>
1399 PR tree-optimization/30590
1400 * tree-nrv.c (tree_nrv): Check for the partial update
1401 of the return value.
1403 2007-03-14 Ian Lance Taylor <iant@google.com>
1405 * tree-vrp.c (value_inside_range): Ignore fold warnings.
1407 2007-03-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1410 * pa.md (vdepi_ior): Don't allow zero length deposit. Likewise for
1411 two unamed patterns.
1413 2007-03-12 Brooks Moses <brooks.moses@codesourcery.com>
1415 * doc/extend.texi: Edit "gnu_inline" documentation.
1416 * doc/invoke.texi: Edit "-fgnu89-inline" documentation.
1418 2007-03-12 Brooks Moses <brooks.moses@codesourcery.com>
1420 * doc/extend.texi: Fix cpp.info cross-reference.
1421 * doc/invoke.texi: Fix cpp.info cross-reference.
1422 * doc/passes.texi: Fix gcc.info cross-reference.
1424 2007-03-12 Daniel Berlin <dberlin@dberlin.org>
1426 Fix PR tree-optimization/28544
1427 * tree-ssa-operands.c (add_virtual_operand):
1428 Move assert triggering on aliasing violations into
1431 2007-03-12 Ian Lance Taylor <iant@google.com>
1433 * c.opt (fgnu89-inline): New option.
1434 * c-opts.c (c_common_post_options): Warn about -fno-gnu89-inline.
1435 * c-common.c (c_common_attributes): Add gnu_inline attribyte.
1436 (handle_gnu_inline_attribute): New static function.
1437 * c-decl.c (start_function): Warn if we see a non-static inline
1438 function in C99 mode.
1439 * c-cppbuiltin.c (c_cpp_builtins): Define __GNUC_GNU_INLINE__.
1440 * doc/invoke.texi (Option Summary): Mention -fgnu89-inline.
1441 (C Dialect Options): Document -fgnu89-inline.
1442 * doc/extend.texi (Function Attributes): Document gnu_inline.
1443 (Inline): Mention that C99 inline will be implemented in 4.3.
1444 Refer to ways to get the old handling.
1445 * doc/cpp.texi (Common Predefined Macros): Document
1446 __GNUC_GNU_INLINE__ and __GNUC_STDC_INLINE__.
1448 2007-03-12 Richard Henderson <rth@redhat.com>
1450 * config/alpha/alpha.c (alpha_elf_section_type_flags): New.
1451 (TARGET_SECTION_TYPE_FLAGS): New.
1453 2007-03-12 Richard Henderson <rth@redhat.com>
1455 * config/darwin.c (machopic_reloc_rw_mask): New.
1456 (machopic_select_section): Use decl_readonly_section.
1457 * config/darwin-protos.h (machopic_reloc_rw_mask): Declare.
1458 * config/darwin.h (TARGET_ASM_RELOC_RW_MASK): New.
1460 2007-02-14 Richard Guenther <rguenther@suse.de>
1462 Backport from mainline:
1463 * flags.h (issue_strict_overflow_warning): Convert to a macro.
1465 2007-03-11 Ian Lance Taylor <iant@google.com>
1467 Backport -fstrict-overflow/-Wstrict-overflow from mainline:
1468 2007-03-11 Ian Lance Taylor <iant@google.com>
1470 * tree-vrp.c (vrp_int_const_binop): Handle PLUS_EXPR and
1471 the *_DIV_EXPR codes correctly with overflow infinities.
1473 2007-03-09 Ian Lance Taylor <iant@google.com>
1475 * opts.c (common_handle_option): Treat -Wstrict-overflow (with no
1476 argument) like -Wstrict-overflow=2.
1477 * doc/invoke.texi (Warning Options): Update documentation.
1479 2007-03-08 Ian Lance Taylor <iant@google.com>
1481 * tree-vrp.c: Include "toplev.h" and "intl.h".
1482 (usable_range_p): New static function.
1483 (compare_values_warnv): Don't test TYPE_OVERFLOW_UNDEFINED for
1484 overflowed values, juts set *strict_overflow_p.
1485 (compare_values): Only return -2 if one of the operands is not a
1487 (compare_ranges): Call usable_range_p.
1488 (compare_range_with_value): Likewise.
1489 (vrp_evaluate_conditional_warnv): Rename from
1490 vrp_evaluate_conditional. Make static. Change all callers.
1491 (vrp_evaluate_conditional): New function.
1492 (simplify_div_or_mod_using_ranges): Issue warning about reliance
1494 (simplify_abs_using_ranges): Likewise.
1495 (simplify_stmt_for_jump_threading): Add within_stmt parameter.
1496 * tree-ssa-dom.c (simplify_stmt_for_jump_threading): Add
1497 within_stmt parameter.
1498 * tree-ssa-propagate.c (fold_predicate_in): Update call to
1499 vrp_evaluate_conditional.
1500 * tree-ssa-threadedge.c
1501 (record_temporary_equivalences_from_stmts_at_dest): Change
1502 simplify parameter to take a second tree parameter.
1503 (simplify_control_stmt_condition): Likewise.
1504 (thread_across_edge): Likewise.
1505 * tree-flow.h (vrp_evaluate_conditional): Update declaration.
1506 (thread_across_edge): Likewise.
1507 * Makefile.in (tree-vrp.o): Depend upon toplev.h and intl.h.
1509 2007-03-05 Ian Lance Taylor <iant@google.com>
1511 * tree-vrp.c (extract_range_from_assert): Don't try to handle a
1512 half-range if the other side is an overflow infinity.
1514 2007-03-02 Ian Lance Taylor <iant@google.com>
1516 Used signed infinities in VRP.
1517 * tree-vrp.c (uses_overflow_infinity): New static function.
1518 (supports_overflow_infinity): New static function.
1519 (make_overflow_infinity): New static function.
1520 (negative_overflow_infinity): New static function.
1521 (positive_overflow_infinity): New static function.
1522 (is_negative_overflow_infinity): New static function.
1523 (is_positive_overflow_infinity): New static function.
1524 (is_overflow_infinity): New static function.
1525 (overflow_infinity_range_p): New static function.
1526 (compare_values_warnv): New function split out of compare_values.
1527 (compare_value): Call it.
1528 (set_value_range_to_nonnegative): Add overflow_infinity
1529 parameter. Change caller.
1530 (vrp_expr_computes_nonnegative): Add strict_overflow_p parameter.
1532 (vrp_expr_computes_nonzero): Likewise.
1533 (compare_ranges, compare_range_with_value): Likewise.
1534 (compare_name_with_value, compare_names): Likewise.
1535 (vrp_evaluate_conditional): Likewise.
1536 (set_value_range): Handle infinity
1537 (vrp_operand_equal_p, operand_less_p): Likewise.
1538 (extract_range_from_assert): Likewise.
1539 (vrp_int_const_binop): Likewise.
1540 (extract_range_from_binary_expr): Likewise.
1541 (extract_range_from_unary_expr): Likewise.
1542 (extract_range_from_comparison): Likewise.
1543 (extract_range_from_expr): Likewise.
1544 (dump_value_range): Likewise.
1545 (vrp_visit_cond_stmt, vrp_visit_phi_node): Likewise.
1546 (test_for_singularity): Likewise.
1547 (vrp_int_const_binop): Remove inline qualifier.
1548 (adjust_range_with_scev): Add comment.
1549 * tree-flow.h (vrp_evaluate_conditional): Update declaration.
1551 2007-02-13 Ian Lance Taylor <iant@google.com>
1553 * common.opt: Add Wstrict-overflow and Wstrict-overflow=.
1554 * flags.h (warn_strict_overflow): Declare.
1555 (enum warn_strict_overflow_code): Define.
1556 (issue_strict_overflow_warning): New static inline function.
1557 * opts.c (warn_strict_overflow): New variable.
1558 (common_handle_option): Handle OPT_Wstrict_overflow and
1559 OPT_Wstrict_overflow_.
1560 * c-opts.c (c_common_handle_option): Set warn_strict_overflow for
1562 * fold-const.c: Include intl.h.
1563 (fold_deferring_overflow_warnings): New static variable.
1564 (fold_deferred_overflow_warning): New static variable.
1565 (fold_deferred_overflow_code): New static variable.
1566 (fold_defer_overflow_warnings): New function.
1567 (fold_undefer_overflow_warnings): New function.
1568 (fold_undefer_and_ignore_overflow_warnings): New function.
1569 (fold_deferring_overflow_warnings_p): New function.
1570 (fold_overflow_warning): New static function.
1571 (make_range): Add strict_overflow_p parameter. Change all
1573 (extract_muldiv, extract_muldiv_1): Likewise.
1574 (fold_unary) [ABS_EXPR]: Check ABS_EXPR before calling
1575 tree_expr_nonnegative_p.
1576 (fold_negate_expr): Call fold_overflow_warning.
1577 (fold_range_test): Likewise.
1578 (fold_comparison): Likewise.
1579 (fold_binary): Likewise. Call tree_expr_nonnegative_warnv_p
1580 instead of tree_expr_nonnegative_p.
1581 (tree_expr_nonnegative_warnv_p): Rename from
1582 tree_expr_nonnegative_p, add strict_overflow_p parameter.
1583 (tree_expr_nonnegative_p): New function.
1584 (tree_expr_nonzero_warnv_p): Rename from tree_expr_nonzero_p, add
1585 strict_overflow_p parameter.
1586 (tree_expr_nonzero_p): New function.
1587 * passes.c (verify_interpass_invariants): New static function.
1588 (execute_one_pass): Call it.
1589 * tree-ssa-loop-niter.c (expand_simple_operations): Ignore fold
1591 (number_of_iterations_exit, loop_niter_by_eval): Likewise.
1592 (estimate_numbers_of_iterations): Likewise.
1593 (scev_probably_wraps_p): Likewise.
1594 * tree-ssa-ccp.c: Include "toplev.h".
1595 (evaluate_stmt): Defer fold overflow warnings until we know we are
1597 (struct fold_stmt_r_data): Add stmt field.
1598 (fold_stmt_r): Defer fold overflow warnings until we know we
1600 (fold_stmt): Initialize stmt field of fold_stmt_r_data.
1601 (fold_stmt_inplace): Likewise.
1602 * tree-cfgcleanup.c: Include "toplev.h" rather than "errors.h".
1603 (cleanup_control_expr_graph): Defer fold overflow warnings until
1604 we know we are going to optimize.
1605 * tree-cfg.c (fold_cond_expr_cond): Likewise.
1606 * tree-ssa-threadedge.c (simplify_control_stmt_condition):
1608 * tree-vrp.c (vrp_expr_computes_nonnegative): Call
1609 tree_expr_nonnegative_warnv_p instead of tree_expr_nonnegative_p.
1610 * tree-ssa-loop-manip.c (create_iv): Likewise.
1611 * c-typeck.c (build_conditional_expr): Likewise.
1612 (build_binary_op): Likewise.
1613 * tree-vrp.c (vrp_expr_computes_nonzero): Call
1614 tree_expr_nonzero_warnv_p instead of tree_expr_nonzero_p.
1615 (extract_range_from_unary_expr): Likewise.
1616 * simplify-rtx.c (simplify_const_relational_operation): Warn when
1617 assuming that signed overflow does not occur.
1618 * c-common.c (pointer_int_sum): Ignore fold overflow warnings.
1619 * tree.h (tree_expr_nonnegative_warnv_p): Declare.
1620 (fold_defer_overflow_warnings): Declare.
1621 (fold_undefer_overflow_warnings): Declare.
1622 (fold_undefer_and_ignore_overflow_warnings): Declare.
1623 (fold_deferring_overflow_warnings_p): Declare.
1624 (tree_expr_nonzero_warnv_p): Declare.
1625 * doc/invoke.texi (Option Summary): Add -Wstrict-overflow to list
1627 (Warning Options): Document -Wstrict-overflow.
1628 * Makefile.in (tree-ssa-threadedge.o): Depend on toplev.h.
1629 (tree-ssa-ccp.o): Likewise.
1630 (tree-cfgcleanup.o): Change errors.h dependency to toplev.h.
1631 (fold-const.o): Depend on intl.h.
1633 2007-01-27 Ian Lance Taylor <iant@google.com>
1635 * common.opt: Add fstrict-overflow.
1636 * opts.c (decode_options): Set flag_strict_overflow if -O2.
1637 * flags.h (TYPE_OVERFLOW_WRAPS): Define.
1638 (TYPE_OVERFLOW_UNDEFINED): Define.
1639 (TYPE_OVERFLOW_TRAPS): Define. This replaces TYPE_TRAP_SIGNED.
1641 * tree.h (TYPE_TRAP_SIGNED): Don't define.
1642 * fold-const.c (negate_expr_p): Use TYPE_OVERFLOW_UNDEFINED.
1643 (fold_negate_expr): Likewise.
1644 (make_range): Likewise.
1645 (extract_muldiv_1): Likewise.
1646 (fold_comparison): Likewise.
1647 (fold_binary): Likewise.
1648 (tree_expr_nonnegative_p): Likewise.
1649 (tree_expr_nonzero_p): Likewise.
1650 * tree-vrp.c (compare_values): Likewise.
1651 (extract_range_from_binary_expr): Likewise.
1652 (extract_range_from_unary_expr): Likewise.
1653 * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
1655 (nowrap_type_p): Likewise.
1656 * tree-scalar-evolution.c (simple_iv): Likewise.
1657 * fold-const.c (negate_expr_p): Use TYPE_OVERFLOW_WRAPS.
1658 (build_range_check): Likewise.
1659 (extract_muldiv_1): Likewise.
1660 (fold_comparison): Likewise.
1661 * tree-vrp.c (vrp_int_const_binop): Likewise.
1662 (extract_range_from_unary_expr): Likewise.
1663 * convert.c (convert_to_integer): Likewise.
1664 * fold-const.c (fold_negate_expr): Use TYPE_OVERFLOW_TRAPS.
1665 (fold_comparison): Likewise.
1666 (fold_binary): Likewise.
1667 * optabs.c (optab_for_tree_code): Likewise.
1668 * tree-vectorizer.c (vect_is_simple_reduction): Likewise.
1669 * simplify-rtx.c (simplify_const_relational_operation): Check
1670 flag_strict_overflow and flag_trapv.
1671 (simplify_const_relational_operation): Likewise.
1672 * doc/invoke.texi (Option Summary): Mention -fstrict-overflow.
1673 (Optimize Options): Add -fstrict-overflow to -O2 list. Document
1676 2007-01-17 Ian Lance Taylor <iant@google.com>
1678 * vec.h (VEC_reserve_exact): Define.
1679 (vec_gc_p_reserve_exact): Declare.
1680 (vec_gc_o_reserve_exact): Declare.
1681 (vec_heap_p_reserve_exact): Declare.
1682 (vec_heap_o_reserve_exact): Declare.
1683 (VEC_OP (T,A,reserve_exact)): New static inline function, three
1685 (VEC_OP (T,A,reserve)) [all versions]: Remove handling of
1687 (VEC_OP (T,A,alloc)) [all versions]: Call ...reserve_exact.
1688 (VEC_OP (T,A,copy)) [all versions]: Likewise.
1689 (VEC_OP (T,a,safe_grow)) [all versions]: Likewise.
1690 * vec.c (calculate_allocation): Add exact parameter. Change all
1692 (vec_gc_o_reserve_1): New static function, from vec_gc_o_reserve.
1693 (vec_gc_p_reserve, vec_gc_o_reserve): Call vec_gc_o_reserve_1.
1694 (vec_gc_p_reserve_exact, vec_gc_o_reserve_exact): New functions.
1695 (vec_heap_o_reserve_1): New static function, from vec_heap_o_reserve.
1696 (vec_heap_p_reserve, vec_heap_o_reserve): Call vec_heap_o_reserve_1.
1697 (vec_heap_p_reserve_exact): New function.
1698 (vec_heap_o_reserve_exact): New function.
1700 2007-03-11 Roger Sayle <roger@eyesopen.com>
1701 Andrew Pinski <andrew_pinski@playstation.sony.com>
1704 * fold-const.c (fold_relational_const): Add back compile-time
1705 evaluation of complex constant equality/inequality comparisons.
1707 2007-03-11 Ira Rosen <irar@il.ibm.com>
1709 PR tree-optimization/29925
1710 * tree-data-ref.c (analyze_offset): Add a return value (bool) to
1711 indicate success/failure of the analysis. Add negation to subtrahend
1712 in case of subtraction. Fail if both operands contain constants.
1713 (create_data_ref): Fail if analyze_offset fails.
1715 2007-03-10 Mark Mitchell <mark@codesourcery.com>
1718 * tree.c (walk_type_fields): Recurse into the element type of
1719 ARRAY_TYPEs if there is a pointer set.
1721 2007-03-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1723 * pa.c (attr_length_call): Revise condition for long pc-relative branch.
1724 (output_call): Use "LONG_PIC_SDIFF" instruction sequence for long local
1725 calls on the SOM target. Don't use "LONG_PIC_PCREL" call sequence on
1728 2007-03-09 Richard Henderson <rth@redhat.com>
1731 * target.h (targetm.asm.out.reloc_rw_mask): New.
1732 * target-def.h (TARGET_ASM_RELOC_RW_MASK): New.
1733 (TARGET_ASM_OUT): Use it.
1734 * targhooks.c, targhooks.h (default_reloc_rw_mask): New.
1735 * varasm.c (categorize_decl_for_section): Remove shlib argument;
1736 use the new reloc_rw_mask target hook instead.
1737 (default_section_type_flags_1): Merge into...
1738 (default_section_type_flags): ... here.
1739 (decl_readonly_section_1): Merge into...
1740 (decl_readonly_section): ... here.
1741 (default_elf_select_section_1): Merge into...
1742 (default_elf_select_section): ... here.
1743 (default_unique_section_1): Merge into...
1744 (default_unique_section): ... here.
1745 (compute_reloc_for_rtx_1, compute_reloc_for_rtx): New.
1746 (default_select_rtx_section): Use it.
1747 (default_elf_select_rtx_section): Likewise.
1748 * output.h: Update to match.
1749 * doc/tm.texi (TARGET_ASM_RELOC_RW_MASK): New.
1750 * config/alpha/alpha.c (alpha_elf_reloc_rw_mask): New.
1751 (TARGET_ASM_RELOC_RW_MASK): New.
1752 * config/i386/i386.c (x86_64_elf_select_section): Adjust call
1753 to categorize_decl_for_section.
1754 (x86_64_elf_unique_section): Likewise.
1755 * config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION,
1756 TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Remove.
1757 (TARGET_ASM_RELOC_RW_MASK): New.
1758 * config/ia64/ia64.c (ia64_rwreloc_select_section,
1759 ia64_rwreloc_unique_section, ia64_rwreloc_select_rtx_section): Remove.
1760 (ia64_hpux_reloc_rw_mask, ia64_reloc_rw_mask): New.
1761 (TARGET_RWRELOC): Remove.
1762 (ia64_section_type_flags): Adjust call to default_section_type_flags.
1763 * config/ia64/sysv4.h (TARGET_ASM_RELOC_RW_MASK): New.
1764 * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Remove.
1765 (rs6000_elf_select_section, rs6000_elf_unique_section): Remove.
1766 (rs6000_elf_reloc_rw_mask, rs6000_xcoff_reloc_rw_mask): New.
1767 (rs6000_xcoff_select_section): Use decl_readonly_section.
1768 (rs6000_xcoff_section_type_flags): Use default_section_type_flags.
1769 * config/rs6000/sysv4.h (TARGET_ASM_RELOC_RW_MASK): New.
1770 (TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): Remove.
1771 (TARGET_SECTION_TYPE_FLAGS): Remove.
1772 * config/rs6000/xcoff.h (TARGET_ASM_RELOC_RW_MASK): New.
1774 2007-03-08 Geoffrey Keating <geoffk@apple.com>
1777 * gccspec.c (lang_specific_driver): Do nothing when NEXT_OBJC_RUNTIME
1779 * config/darwin.h (REAL_LIBGCC_SPEC): When -fgnu-runtime is
1780 passed, use shared libgcc.
1782 2007-03-09 Alexandre Oliva <aoliva@redhat.com>
1784 PR rtl-optimization/30643
1785 * cse.c (cse_insn): Recompute dest_hash after insert_regs for
1788 2007-03-09 Andrew Pinski <andrew_pinski@playstation.sony.com>
1791 * tree-vrp.c (nonnull_arg_p): Treat the static decl as always
1794 2007-03-09 Andrew Pinski <andrew_pinski@playstation.sony.com>
1797 * stmt.c (warn_if_unused_value): VA_ARG_EXPR has side
1798 effects unknown to this function, return early.
1800 2007-03-09 Andrew Pinski <andrew_pinski@playstation.sony.com>
1803 * tree-ssa-dom.c (eliminate_degenerate_phis): Use a temporary
1804 bitmap for EXECUTE_IF_SET_IN_BITMAP.
1806 2006-03-09 Mark Shinwell <shinwell@codesourcery.com>
1807 Andrew MacLeod <amacleod@redhat.com>
1808 PR tree-optimization/29877
1809 * tree-outof-ssa.c (check_replaceable): Don't allow TER to replace
1810 an expression if the RHS is a register variable.
1812 2007-03-08 Andrew Pinski <andrew_pinski@playstation.sony.com>
1815 * c-decl.c (merge_decls): Don't call make_var_volatile.
1816 * varasm.c (make_var_volatile): Remove.
1817 * output.h (make_var_volatile): Remove.
1819 2007-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1821 * builtins.def (lceil, lceilf, lceill, lfloor, lfloorf, lfloorl,
1822 llceil, llceilf, llceill, llfloor, llfloorf, llfloorl): Mark with
1823 ATTR_CONST_NOTHROW_LIST.
1825 * fold-const.c (tree_expr_nonnegative_p): Handle FIX_TRUNC_EXPR.
1827 2007-03-08 Andrew Pinski <andrew_pinski@playstation.sony.com>
1830 * config/rs6000/rs6000.c (rs6000_function_value): Look at bit size
1831 instead of precision.
1833 2007-03-08 Volker Reichelt <reichelt@netcologne.de>
1836 * c-common.c (fold_offsetof_1): Handle COMPOUND_EXPR.
1838 2007-03-07 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
1840 * c.opt (Waddress): New.
1841 * common.opt (Walways-true): Delete.
1842 (Wstring-literal-comparison): Delete.
1843 * doc/invoke.texi (Warning Options): Delete -Walways-true and
1844 -Wstring-literal-comparison. Add -Waddress.
1846 (Walways-true): Delete.
1847 (Wstring-literal-comparison): Delete.
1848 * doc/extend.texi (#pragma GCC diagnostic): Use -Wformat
1849 consistently instead of -Walways-true in example.
1850 * c-opts.c (c_common_handle_option): -Waddress is enabled by -Wall.
1851 * c-typeck.c (parser_build_binary_op): Replace
1852 -Wstring-literal-comparison and -Walways-true with -Waddress.
1853 (build_binary_op): Likewise.
1854 * c-common.c (c_common_truthvalue_conversion): Likewise.
1856 2007-03-07 Richard Henderson <rth@redhat.com>
1859 * reg-stack.c (emit_swap_insn): If a malformed asm was seen,
1860 silently fix up the stack in the case of a missing register.
1862 2007-03-06 David Daney <ddaney@avtrex.com>
1864 * doc/install.texi (mips-*-*): Change recommended binutils
1867 2007-03-06 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
1869 * doc/invoke.texi (Warning Options): Replace -Werror- with
1871 * opts.c (common_handle_option): Likewise.
1873 2007-03-06 Anatoly Sokolov <aesok@post.ru>
1875 * config/avr/avr.c (avr_mcu_types): Add support for ATmega325P,
1876 ATmega3250P, ATmega329P, ATmega3290P, AT90USB82 and AT90USB162
1878 * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
1879 * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
1881 2007-03-06 Roger Sayle <roger@eyesopen.com>
1884 * fold-const.c (fold_binary) <EQ_EXPR>: Enforce type consistency
1885 when transforming ~X op C to X op' ~C.
1887 2007-03-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1889 * pa.md: In unamed move patterns, disparge copies between general
1890 and floating point registers using '?' modifier. Don't include 'f'
1891 constraint for register preferences in DImode, SImode, HImode and
1892 QImode patterns. Likewise for 'r' in DFmode and SFmode patterns.
1893 Remove constraints for copies between general and floating registers
1894 in soft-float DFmode pattern.
1895 (movdf): Fail if operand1 is a CONST_DOUBLE and operand0 is a hard
1899 2007-03-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1901 * convert.c (convert_to_integer): Fix nearbyint/rint -> *lrint
1904 2007-03-05 Steve Ellcey <sje@cup.hp.com>
1906 Backported from mainline
1908 * cgraph.h (cgraph_varpool_last_needed_node): Make global.
1909 * cgraph.c (cgraph_varpool_last_needed_node): Ditto.
1910 * cgraphunit.c (cgraph_varpool_assemble_pending_decls):
1911 Set cgraph_varpool_last_needed_node to NULL.
1913 2007/03/05 David Taylor <dtaylor@emc.com>
1916 * gcc.c: Correct copyright date in --version output.
1918 2007-03-05 Brooks Moses <brooks.moses@codesourcery.com>
1920 * c.opt: Remove -ffixed-form, -ffixed-line-length-none, and
1921 -ffixed-line-length-* options.
1923 2007-03-05 David Edelsohn <edelsohn@gnu.ogr>
1925 * config/rs6000/t-ppccomm: Always build libgcc2 for GNU/Linux
1926 with -mlong-double-128, except SPE.
1928 * config/rs6000/darwin-ldouble.c: Only build new functions for
1929 __LONG_DOUBLE_128__.
1931 Backport from mainline:
1932 2007-01-16 David Edelsohn <edelsohn@gnu.org>
1934 * config/rs6000/darwin-ldouble.c: Build file for SOFT_FLOAT.
1935 (strong_alias): Define.
1936 (__gcc_qmul): Provide non-FMA for soft-float.
1942 (__gcc_qunord): New.
1952 * config/rs6000/rs6000.c (rs6000_init_libfuncs): Initialize
1953 soft-float functions.
1954 * config/rs6000/libgcc-ppc-glibc.ver: Version soft-float symbols.
1955 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Do not warn
1956 about long double soft float.
1958 2007-03-05 Richard Guenther <rguenther@suse.de>
1960 Backport from mainline:
1961 2007-02-28 Richard Guenther <rguenther@suse.de>
1964 * fold-const.c (fold_binary): Do not associate expressions
1965 with more than one variable for integer types that do not wrap.
1967 2007-03-04 Eric Botcazou <ebotcazou@adacore.com>
1970 * doc/invoke.texi (-O2): Document that Tree-VRP is not turned on
1971 for the Ada compiler.
1973 2007-03-02 Zdenek Dvorak <dvorakz@suse.cz>
1975 PR tree-optimization/29902
1976 * tree-ssa-loop-manip.c (can_unroll_loop_p): Return false if
1977 any involved ssa name appears in abnormal phi node.
1979 2007-03-02 Eric Botcazou <ebotcazou@adacore.com>
1981 * tree-sra.c (sra_walk_fns) <ldst>: Document new restriction.
1982 (sra_walk_modify_expr) <rhs_elt>: Treat the reference as a use
1983 if the lhs has side-effects.
1984 <lhs_elt>: Treat the reference as a use if the rhs has side-effects.
1986 2007-03-02 Paul Brook <paul@codesourcery.com>
1988 * config/arm/arm.c (arm_legitimate_index_p): Limit iWMMXt addressing
1989 modes to LDRD for DImode.
1990 (output_move_double): Fixup out of range ldrd/strd.
1991 (vfp_secondary_reload_class): Rename...
1992 (coproc_secondary_reload_class): ... to this. Add wb argument.
1993 * config/arm/arm.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use
1994 coproc_secondary_reload_class for CLASS_IWMMXT.
1995 (SECONDARY_INPUT_RELOAD_CLASS): Ditto.
1996 * arm-protos.h (coproc_secondary_reload_class): Update prototype.
1998 2007-03-02 Eric Botcazou <ebotcazou@adacore.com>
2000 * config/alpha/alpha.c (alpha_gp_save_rtx): Insert the insns at the
2001 entry by means of emit_insn_at_entry.
2003 2007-03-01 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
2005 * doc/invoke.texi (Wextra): Delete outdated paragraph.
2007 2007-02-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2009 * pa/predicates.md (move_src_operand): Allow zero for mode.
2010 * pa/pa.md: Fix constraints for zero CONST_DOUBLE in 64-bit DFmode
2013 2007-02-27 Mike Stump <mrs@apple.com>
2015 * config/darwin-crt3.c: Avoid compilation when compiling for a
2018 2007-02-27 Andreas Schwab <schwab@suse.de>
2020 * Makefile.in (TEXI_GCCINSTALL_FILES): Add gcc-common.texi.
2022 2007-02-26 Brooks Moses <brooks.moses@codesourcery.com>
2024 * Makefile.in (TEXI_GCCINSTALL_FILES): Add gcc-vers.texi dependency.
2026 2007-02-26 Brooks Moses <brooks.moses@codesourcery.com>
2028 * doc/include/gcc-common.texi (versionsubtitle): New macro.
2029 * doc/cpp.texi: Standardize title page.
2030 * doc/cppinternals.texi: Likewise.
2031 * doc/gcc.texi: Standardize title page, remove version number
2032 from copyright page.
2033 * doc/gccint.texi: Likewise.
2034 * doc/install.texi: Standardize title page, add table of
2037 2007-02-24 Mike Stump <mrs@apple.com>
2039 * config/i386/i386.c (output_pic_addr_const): Stubify optimized
2042 2007-02-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2044 * pa.md (muldi3): Force subregs to registers in 64-bit expander.
2046 2007-02-23 Mike Stump <mrs@apple.com>
2048 * tlink.c (scan_linker_output): Parse linker messages from
2049 darwin9's linker better.
2051 2007-02-21 Ira Rosen <irar@il.ibm.com>
2053 * tree-ssa-alias.c: Include pointer-set.h
2054 * Makefile.in (tree-ssa-alias.o): Depend on pointer-set.h.
2056 2007-02-21 Jakub Jelinek <jakub@redhat.com>
2058 Backported from mainline
2059 2006-12-20 Andrew Pinski <pinskia@gmail.com>
2061 * omp-low.c (init_tmp_var): New function.
2062 (save_tmp_var): New function.
2063 (lower_omp_1): Use them for VAR_DECL.
2065 2007-02-20 Alan Modra <amodra@bigpond.net.au>
2068 * varasm.c (use_blocks_for_decl_p): Return false for decls with
2071 2007-02-19 Eric Botcazou <ebotcazou@adacore.com>
2073 * gimplify.c (gimplify_init_ctor_preeval_1): Detect potential overlap
2074 due to calls to functions taking pointers as parameters.
2076 2007-02-19 Richard Henderson <rth@redhat.com>
2079 * var-tracking.c (track_expr_p): Disallow AGGREGATE_TYPE_P
2082 2007-02-18 Eric Botcazou <ebotcazou@adacore.com>
2084 * tree-eh.c (tree_could_trap_p): Handle VIEW_CONVERT_EXPR.
2086 2007-02-18 Eric Botcazou <ebotcazou@adacore.com>
2088 * calls.c (mem_overlaps_already_clobbered_arg_p): Return true
2089 for arg pointer based indexed addressing.
2091 2007-02-18 Ira Rosen <irar@il.ibm.com>
2093 * tree-ssa-alias.c (may_aliases_intersect): New function.
2094 * tree-data-ref.c (ptr_ptr_may_alias_p): Call may_aliases_intersect
2096 * tree-flow.h (may_aliases_intersect): Add function declaration.
2098 2007-02-17 Alexandre Oliva <aoliva@redhat.com>
2100 PR tree-optimization/30823
2101 * tree-sra.c (sra_build_assignment): Drop type-checking assert.
2103 2007-02-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2106 * Makefile.in (SYSTEM_HEADER_DIR): Use single quotes to avoid
2107 nested double- and backquotes.
2109 2007-02-15 Alexandre Oliva <aoliva@redhat.com>
2111 * tree-sra.c (instantiate_missing_elements): Canonicalize
2113 (sra_build_assignment): New.
2114 (generate_copy_inout, generate_element_copy,
2115 generate_element_zero, generate_one_element_init): Use it.
2117 2007-02-15 Kaz Kojima <kkojima@gcc.gnu.org>
2119 PR rtl-optimization/29599
2120 Backport from mainline.
2121 * reload1.c (eliminate_regs_in_insn): Take the destination
2122 mode into account when computing the offset.
2124 2007-02-13 Joseph S. Myers <joseph@codesourcery.com>
2126 * doc/invoke.texi, doc/standards.texi: Refer to
2127 gcc-4.2/c99status.html.
2129 2007-02-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2132 * pa.md (movdf): For 64-bit target, fail if operand 1 is a non-zero
2133 CONST_DOUBLE and operand 0 is a hard register.
2134 (movdi): For 64-bit target, remove code to force CONST_DOUBLE to
2135 memory. Fail if operand 1 is a non-zero CONST_INT and operand 0
2136 is a hard floating-point register.
2138 2007-02-06 Mark Mitchell <mark@codesourcery.com>
2141 * tree.h (DECL_REPLACEABLE_P): New macro.
2142 * except.c (set_nothrow_function_flags): Likewise.
2144 2007-02-07 Jakub Jelinek <jakub@redhat.com>
2147 * gimplify.c (gimplify_scan_omp_clauses): Remove special casing
2148 of INDIRECT_REF <RESULT_DECL>.
2150 2007-02-06 Rask Ingemann Lamberisen <rask@sygehus.dk>
2153 * config/rs6000/t-ppccomm: Correct Makefile typo.
2155 2007-02-06 Roger Sayle <roger@eyesopen.com>
2158 Backport from mainline.
2159 * config/darwin.h (CPP_SPEC): Handle -pthread, transforming
2160 it into -D_REENTRANT.
2162 2007-02-05 Alexandre Oliva <aoliva@redhat.com>
2165 * dwarf2out.c (modified_type_die): Follow DECL_ORIGINAL_TYPE
2166 even if cv-qualification is the same.
2168 2007-02-05 Geoffrey Keating <geoffk@apple.com>
2170 * config/rs6000/darwin-tramp.asm (__trampoline_setup): Call
2171 __enable_execute_stack on completion.
2173 2007-02-05 Bob Wilson <bob.wilson@acm.org>
2175 * config/xtensa/xtensa.c (constantpool_mem_p): Skip over SUBREGs.
2177 2007-02-02 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
2180 * config/ia64/ia64.c (ia64_speculate_insn): Restrict to memory loads to
2181 general or fp registers. Add comments.
2182 * config/ia64/ia64.md (reg_pred_prefix): Add comment.
2184 2007-02-04 Richard Guenther <rguenther@suse.de>
2186 Backport from mainline:
2187 2007-01-30 Richard Guenther <rguenther@suse.de>
2190 * dwarf2out.c (reference_to_unused): Query varpool if the
2191 variable was output.
2193 2007-02-02 Mike Stump <mrs@apple.com>
2195 * config.gcc (*-*-darwin*): Backport darwin9.h bits.
2196 * config/darwin9.h: Add.
2197 * config/rs6000/rs6000.c (DARWIN_GENERATE_ISLANDS): Add.
2198 (output_call): Use DARWIN_GENERATE_ISLANDS to decide when to
2199 generate a branch island.
2201 2007-02-02 Hui-May Chang <hm.chang@apple.com>
2203 Revert for x86 darwin:
2204 2005-06-19 Uros Bizjak <uros@kss-loka.si>
2206 * config/i386/i386.c (ix86_function_arg_regno_p): Put back the
2207 code before the following patch under TARGET_MACHO.
2208 (ix86_function_value_regno_p): Likewise.
2210 2007-02-02 Simon Martin <simartin@users.sourceforge.net>
2213 * gimplify.c (gimplify_target_expr): Make sure that the TARGET_EXPR is
2214 expanded only once even if an error occurs.
2216 2007-02-02 Jakub Jelinek <jakub@redhat.com>
2219 * builtins.c (fold_builtin_sprintf): Do not attempt to optimize
2220 sprintf (str, "%s"). Do not optimize sprintf (str, "nopercent", p++).
2222 2007-02-01 Guy Martin <gmsoft@gentoo.org>
2224 * pa.md (tp_load): Correct mfctl instruction syntax.
2226 2007-02-01 Geoffrey Keating <geoffk@apple.com>
2228 * config/rs6000/rs6000.c (rs6000_stack_info): Correct
2229 altivec_padding_size calculation on AIX. Improve comment, add
2230 assert to verify that it's right.
2232 2007-01-31 Anatoly Sokolov <aesok@post.ru>
2235 * config/avr/avr.c (DWARF2_ADDR_SIZE): Define.
2237 2007-01-30 Richard Guenther <rguenther@suse.de>
2240 * passes.c (execute_one_pass): Reset in_gimple_form to not
2241 confuse non-unit-at-a-time mode.
2243 2007-01-27 Anatoly Sokolov <aesok@post.ru>
2245 * config/avr/avr.h (TARGET_CPU_CPP_BUILTINS): Define __AVR_HAVE_MUL__.
2247 2007-01-29 Mike Stump <mrs@apple.com>
2249 * doc/gccint.texi (Top): Rename Loop Representation to Loop
2250 Analysis and Representation to resolve case insensitive conflict.
2251 * doc/loop.texi (Loop Analysis and Representation): Likewise.
2253 2007-01-29 Josh Conner <jconner@apple.com>
2256 * calls.c (compute_argument_addresses): Set stack and stack_slot
2257 for partial args, too.
2258 (store_one_arg): Use locate.size.constant for the size when
2259 generating a save_area.
2261 2007-01-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2263 * doc/sourcebuild.texi: Add comma for clarity.
2264 * doc/extend.texi: Fix some typos.
2265 * doc/passes.texi: Likewise.
2266 * doc/cppinternals.texi: Likewise.
2267 * doc/c-tree.texi: Likewise.
2268 * doc/tree-ssa.texi: Likewise.
2269 * doc/install.texi: Likewise.
2271 2007-01-26 Zdenek Dvorak <dvorakz@suse.cz>
2273 PR tree-optimization/29516
2274 * tree-ssa-address.c (tree_mem_ref_addr, add_to_parts,
2275 most_expensive_mult_to_index, addr_to_parts,
2276 create_mem_ref, maybe_fold_tmr): Make the type of
2277 fields of TARGET_MEM_REF sizetype.
2278 (move_fixed_address_to_symbol, move_pointer_to_base,
2279 aff_combination_remove_elt): New functions.
2280 * tree.def (TARGET_MEM_REF): Add comment on types of
2282 * gcc.dg/tree-ssa/loop-20.c: New test.
2284 2007-01-25 Geoffrey Keating <geoffk@apple.com>
2287 * config/rs6000/rs6000.c (first_altivec_reg_to_save): On Darwin,
2288 save Altivec registers in an eh_return function.
2289 (compute_vrsave_mask): Likewise.
2290 (rs6000_stack_info): Correct AIX/Darwin stack alignment computation
2291 for saving Altivec registers.
2292 (rs6000_emit_prologue): Don't allocate stack twice in
2293 eh_return function. Correct expected value of altivec_save_offset
2294 when using save_world. Describe save of R0 to stack when using
2295 save_world. Describe stack pointer adjustment when using
2296 save_world. Remove duplicated eh_return parameter register saving.
2297 Update sp_offset variable after save_world.
2298 * config/rs6000/t-darwin (LIB2FUNCS_STATIC_EXTRA): Remove
2300 (LIB2FUNCS_EXTRA): Add darwin-world.asm.
2301 * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): -m64
2304 2007-01-24 Geoffrey Keating <geoffk@apple.com>
2306 * unwind-dw2.c (execute_stack_op): Handle DW_OP_swap.
2308 2007-01-24 Jakub Jelinek <jakub@redhat.com>
2311 * gimplify.c (omp_check_private): New function.
2312 (gimplify_scan_omp_clauses): Use it for
2313 firstprivate/lastprivate/reduction.
2316 * gimplify.c (omp_add_variable): Don't call omp_notice_variable
2317 on TYPE_SIZE_UNIT for GOVD_LOCAL VLAs.
2320 * omp-low.c (lower_omp_for_lastprivate): Add dlist argument.
2321 If lower_lastprivate_clauses emits some statements, append them
2322 to dlist rather than body_p and to body_p append an initializer.
2323 (lower_omp_for): Adjust caller.
2325 2007-01-21 Eric Botcazou <ebotcazou@libertysurf.fr>
2327 PR rtl-optimization/29329
2328 * combine.c (replaced_rhs_insn): Rename to i2mod.
2329 (replaced_rhs_value): Rename to i2mod_new_rhs.
2330 (i2mod_old_rhs): New global variable.
2331 (combine_instructions): Adjust for above change. Save a copy of
2332 the old RHS into i2mod_old_rhs when the contents of a REG_EQUAL
2333 note are substituted in the second instruction.
2334 (distribute_notes) <REG_DEAD>: Adjust for above change. Do not
2335 ditch the note if it pertains to the second eliminated register
2336 and this register is mentioned in i2mod_old_rhs.
2339 2006-09-12 Eric Botcazou <ebotcazou@libertysurf.fr>
2341 * combine.c (distribute_notes) <REG_DEAD>: Do not consider SETs past
2342 the insn to which the note was originally attached.
2344 2007-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2346 * pa.c (output_move_double): Change array size of xoperands to 4.
2348 2007-01-17 Eric Christopher <echristo@apple.com>
2350 Backport from mainline:
2351 2006-12-18 Roger Sayle <roger@eyesopen.com>
2352 Eric Christopher <echristo@apple.com>
2355 * real.c (real_maxval): Correctly handle IBM extended double format.
2357 2007-01-17 Tom Tromey <tromey@redhat.com>
2359 * doc/sourcebuild.texi (libgcj Tests): Use sourceware.org.
2360 * doc/install.texi (Testing): Use sourceware.org.
2361 (Binaries): Likewise.
2362 (Specific): Likewise.
2363 * doc/contrib.texi (Contributors): Use sourceware.org.
2365 2007-01-15 Joseph S. Myers <joseph@codesourcery.com>
2367 * config/soft-fp/op-common.h, config/soft-fp/op-4.h: Update from
2370 2007-01-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2372 * pa-linux.h (ASM_OUTPUT_INTERNAL_LABEL): Undefine.
2373 * pa.h (ASM_OUTPUT_LABEL): Output colon when using GAS.
2374 (ASM_OUTPUT_INTERNAL_LABEL): Define.
2376 2007-01-10 Ralf Corsépius <ralf.corsepius@rtems.org>
2378 * config/bfin/t-bfin, config/bfin/t-bfin-elf: Remove GCC_CFLAGS.
2380 2007-01-09 Nicolas Pitre <nico@cam.org>
2383 * arm/ieee754-df.S (Lad_s): Also test the low word of X for zero.
2385 2007-01-08 Nick Clifton <nickc@redhat.com>
2387 * config/frv/predicates.md (reg_or_0_operand): Accept
2390 2007-01-08 Ralf Corsépius <ralf.corsepius@rtems.org>
2392 * config/bfin/rtems.h, config/bfin/t-rtems: New.
2393 * config.gcc: Add bfin*-rtems*.
2395 2007-01-08 Chen liqin <liqin@sunnorth.com.cn>
2396 * config/score/t-score-elf (MULTILIB_OPTIONS): Change.
2397 * config/score/predicates.md (const_uimm5, sr0_operand, const_simm12,
2398 const_simm15, const_pow2, const_npow2): Added.
2399 * config/score/misc.md (insv, extv, extzv, movmemsi,
2400 move_lbu_a/b, mov_lhu_a/b etc): Added and fix some bug.
2401 * config/score/score.c (score_address_cost, score_select_cc_mode):
2403 Change CONST_OK_FOR_LETTER_P/EXTRA_CONSTRAINT define.
2404 Update score_rtx_costs for MACRO TARGET_RTX_COSTS.
2405 Update score_print_operand.
2406 * config/score/score.h (DATA_ALIGNMENT, SELECT_CC_MODE): Added.
2407 Adjust register allocate order and update some macro define.
2408 * config/score/score-mdaux.c (mdx_unaligned_load, mdx_unsigned_store,
2409 mdx_block_move_straight, mdx_block_move_loop_head,
2410 mdx_block_move_loop_body, mdx_block_move_loop_foot, mdx_block_move_loop,
2411 mdx_block_move): Added.
2412 (mdx_movsicc, mdp_select_add_imm, mdp_select, mds_zero_extract_andi,
2413 mdp_limm): Updated and fix some bug and typo.
2414 * config/score/score.md (movqi/hi/si, add/sub/zero/ext): Updated.
2415 (movsf, movdf, doloop_end): Added.
2417 2007-01-05 Richard Guenther <rguenther@suse.de>
2420 * tree.c (get_narrower): Do not construct COMPONENT_REFs
2421 with mismatched types. Instead explicitly build a
2422 conversion NOP_EXPR.
2424 2007-01-05 Jakub Jelinek <jakub@redhat.com>
2427 * libgcc2.c (__divdc3): Compare c and d against 0.0 instead of
2430 2007-01-03 Jakub Jelinek <jakub@redhat.com>
2432 * unwind-dw2.c (SIGNAL_FRAME_BIT, EXTENDED_CONTEXT_BIT): Define.
2433 (struct _Unwind_Context): Rename args_size to flags, remove
2434 signal_frame field, add a new args_size field and version field.
2435 (_Unwind_IsSignalFrame, _Unwind_SetSignalFrame,
2436 _Unwind_IsExtendedContext): New inline functions.
2437 (_Unwind_GetGR, _Unwind_SetGR, _Unwind_GetGRPtr, _Unwind_SetGRPtr):
2438 Assume by_value array is only present if _Unwind_IsExtendedContext.
2439 (_Unwind_GetIPInfo, execute_cfa_program, uw_frame_state_for): Use
2440 _Unwind_IsSignalFrame.
2441 (__frame_state_for): Initialize context.flags to EXTENDED_CONTEXT_BIT.
2442 (uw_update_context_1): Use _Unwind_SetSignalFrame.
2443 (uw_init_context_1): Initialize context->flags to
2444 EXTENDED_CONTEXT_BIT.
2445 * config/rs6000/linux-unwind.h (frob_update_context): Use
2446 _Unwind_SetSignalFrame.
2448 2007-01-01 Mike Stump <mrs@apple.com>
2450 * configure.ac: Remove support for building with Apple's gcc-3.1.
2452 2007-01-01 Andreas Schwab <schwab@suse.de>
2455 * config/ia64/ia64.c (ia64_compute_frame_size): Account space for
2456 save of BR0 in extra_spill_size instead of spill_size.
2457 (ia64_expand_prologue): Save BR0 outside of the gr/br/fr spill
2459 (ia64_expand_epilogue): Restore BR0 from its new location.