]> gcc.gnu.org Git - gcc.git/blob - gcc/ChangeLog
config.gcc (with_cpu handling): Translate sparc64 in $machine to --with-cpu=v9.
[gcc.git] / gcc / ChangeLog
1 2003-06-07 Zack Weinberg <zack@codesourcery.com>
2
3 * config.gcc (with_cpu handling): Translate sparc64 in
4 $machine to --with-cpu=v9.
5 * config/alpha/alpha.c
6 (TARGET_ASM_GLOBALIZE_LABEL [TARGET_ABI_UNICOSMK]): Correct definition.
7 (alpha_setup_incoming_varargs): #ifdef out when TARGET_ABI_UNICOSMK.
8
9 * target.h: New hook asm_out.file_end.
10 * target.h: Update to match. New hook macro TARGET_ASM_FILE_END.
11 * toplev.c (compile_file: Use targetm.asm_out.file_end.
12 * system.h: Poison ASM_FILE_END.
13 * varasm.c (file_end_indicate_exec_stack): New.
14 * output.h: Prototype it.
15 * doc/tm.texi: Document TARGET_ASM_FILE_END and
16 file_end_indicate_exec_stack. Delete references to attasm.h.
17
18 * config/darwin.h (TARGET_ASM_FILE_END): Reset to darwin_file_end.
19 (ASM_FILE_END): Delete; move code...
20 * config/darwin.c (darwin_file_end): Here; new function.
21 * config/darwin-protos.h: Prototype it.
22 * config/alpha/alpha.c (unicosmk_asm_file_end): Make static,
23 rename unicosmk_file_end.
24 * config/arm/aof.h (ASM_FILE_END): Delete; move code...
25 * config/arm/arm.c (aof_file_end): ... here; new static function.
26 Set TARGET_ASM_FILE_END to aof_file_end if AOF_ASSEMBLER.
27 Make aof_dump_imports and aof_dump_pic_table static.
28 * config/avr/avr.c (asm_file_end): Rename avr_file_end, make static.
29 Set TARGET_ASM_FILE_END to avr_file_end.
30 * config/c4x/c4x.c (c4x_file_end): Make static. Take no arguments.
31 Set TARGET_ASM_FILE_END to c4x_file_end.
32 * config/h8300/h8300.c (asm_file_end): Rename h8300_file_end,
33 make static. Take no arguments. Set TARGET_ASM_FILE_END to
34 h8300_file_end.
35 * config/i370/i370.h (ASM_FILE_END): Delete; move code...
36 * config/i370/i370.c (i370_file_end): ... here; new static function.
37 Set TARGET_ASM_FILE_END to i370_file_end.
38 * config/i386/i386.c (ix86_asm_file_end): Rename ix86_file_end.
39 Take no arguments. Call file_end_indicate_exec_stack if
40 NEED_INDICATE_EXEC_STACK; don't use SUBTARGET_FILE_END.
41 * config/i386/i386.h: Set TARGET_ASM_FILE_END, not ASM_FILE_END.
42 Define NEED_INDICATE_EXEC_STACK to 0.
43 * config/i386/linux.h, config/i386/linux64.h: Redefine
44 NEED_INDICATE_EXEC_STACK to 1 instead of setting SUBTARGET_FILE_END.
45 * config/i386/winnt.c (i386_pe_asm_file_end): Rename to
46 i386_pe_file_end. Take no arguments. Use ix86_file_end.
47 * config/ia64/ia64.c (ia64_hpux_asm_file_end): Rename to
48 ia64_hpux_file_end, make static. Take no arguments.
49 * config/ip2k/ip2k.c (asm_file_start, asm_file_end,
50 commands_in_prologues, commands_in_epilogues): Delete.
51 (function_epilogue): Update to match.
52 * config/mips/mips.c (mips_asm_file_end): Rename mips_file_end,
53 make static. Take no arguments.
54 (iris6_asm_file_end): Rename iris6_file_end, make static, use
55 mips_file_end, take no arguments.
56 Set TARGET_ASM_FILE_END to iris6_file_end or mips_file_end as
57 appropriate.
58 * config/mmix/mmix.c (mmix_asm_file_end): Rename mmix_file_end,
59 make static, take no arguments. Set TARGET_ASM_FILE_END to
60 mmix_file_end.
61 * config/pa/pa.c (output_deferred_plabels): Make static, take
62 no arguments. Set TARGET_ASM_FILE_END to output_deferred_plabels.
63 * config/rs6000/xcoff.h (TARGET_ASM_FILE_END): Set it.
64 (ASM_FILE_END): Delete; move code...
65 * config/rs6000/rs6000.c (rs6000_xcoff_file_end): ... here;
66 new static function.
67
68 * config/avr/avr.h, config/cris/cris.h, config/h8300/h8300.h
69 * config/mmix/mmix.h, config/mips/iris6.h, config/mips/mips.h:
70 Don't set ASM_FILE_END.
71 * config/alpha/linux-elf.h, config/m68k/linux.h, config/rs6000/linux.h
72 * config/rs6000/linux64.h, config/s390/linux.h, config/sparc/linux.h
73 * config/sparc/linux64.h: Set TARGET_ASM_FILE_END to
74 file_end_indicate_exec_stack; don't set ASM_FILE_END.
75 * config/alpha/unicosmk.h, config/i386/cygming.h
76 * config/ia64/hpux.h: Set TARGET_ASM_FILE_END, not ASM_FILE_END.
77 * config/arm/arm-protos.h, config/alpha/alpha-protos.h
78 * config/avr/avr-protos.h, config/c4x/c4x-protos.h
79 * config/h8300/h8300-protos.h, config/ia64/ia64-protos.h
80 * config/ip2k/ip2k-protos.h, config/mips/mips-protos.h
81 * config/mmix/mmix-protos.h, config/pa/pa-protos.h: Update.
82
83 Sat Jun 7 18:32:13 CEST 2003 Jan Hubicka <jh@suse.cz>
84
85 * i386.h (OPTION_DEFAULT_SPECS): Avoid -mcpu default when -march is
86 specified.
87
88 Sat Jun 7 15:20:01 CEST 2003 Jan Hubicka <jh@suse.cz>
89
90 * Makefile.in (stageprofile_build): Kill redundant target.
91 * i386.c (mdep_reorg): Don't pad jumps for Athlon.
92
93 2003-06-07 Andreas Jaeger <aj@suse.de>
94
95 * doc/tm.texi (Costs): Remove DONT_REDUCE_ADDR documentation.
96
97 * config/avr/avr.h: Remove comment regarding DONT_REDUCE_ADDR.
98 * config/dsp16xx/dsp16xx.h: Likewise.
99 * config/i386/i386.h: Likewise.
100 * config/ip2k/ip2k.h: Likewise.
101
102 2003-06-07 Neil Booth <neil@daikokuya.co.uk>
103
104 * Makefile.in (OJBS, c-opts.o): Update.
105 (c-options.c, c-options.h): Rename options.h and options.c.
106 (options.h): Rename options_.h.
107 (opts.o): New.
108 * c-common.h (c_common_handle_option): Replace c_common_decode_option.
109 (c_common_init_options): Update prototype.
110 * c-lang.c (c_init_options): Update prototype.
111 (LANG_HOOKS_HANDLE_OPTION): Override.
112 (LANG_HOOKS_DECODE_OPTION): Drop.
113 * c-opts.c: Include opts.h and options.h instead of c-options.h
114 and c-options.c.
115 (lang_flags): Move to file scope.
116 (find_opt, c_common_decode_option): Remove.
117 (CL_C, CL_OBJC, CL_CXX, CL_OBJCXX, CL_JOINED, CL_SEPARATE,
118 CL_REJECT_NEGATIVE): Move to opts.h.
119 (missing_arg): Update prototype.
120 (c_common_init_options): Update for new prototype.
121 (c_common_handle_options): Filenames are passed as N_OPTS.
122 * hooks.c (hook_int_void_0): New.
123 * hooks.h (hook_int_void_0): New.
124 * langhooks-def.h (LANG_HOOKS_INIT_OPTIONS): New default.
125 (LANG_HOOKS_HANDLE_OPTION): Default to NULL for now.
126 (LANG_HOOKS_INITIALIZER): Update.
127 * langhooks.h (init_options): Update.
128 (handle_option): New.
129 * opts.c, opts.h: New files.
130 * opts.sh: Update c file to include opts.h and options.h.
131 * toplev.c: Include opts.h; change options.h to options_.h.
132 (parse_options_and_default_flags): Get lang_mask, use
133 handle_option for language-specific handling.
134 * objc/objc-lang.c (LANG_HOOKS_DECODE_OPTON): Drop.
135 (LANG_HOOKS_HANDLE_OPTION): Override.
136 (objc_init_options): Update.
137
138 2003-06-07 Magnus Kreth <magnus.kreth@gmx.de>
139 Thibaud Gaillard <thibaud.gaillard@nto.atmel.com>
140
141 PR other/7031
142 * Makefile.in (install-common): Remove GCOV_INSTALL_NAME instead of
143 gcov.
144
145 2003-06-07 Kelley Cook <kelleycook@wideopenwest.com>
146
147 * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Remove quotes in
148 section names.
149 * configure: Regenerate.
150
151 2003-06-07 Alan Modra <amodra@bigpond.net.au>
152
153 * config/rs6000/linux64.h (CRT_CALL_STATIC_FUNCTION): Define.
154
155 2003-06-06 James E Wilson <wilson@tuliptree.org>
156
157 PR inline-asm/10890
158 * reload1.c (merge_assigned_reloads): Abort only if two reloads have
159 different in fields.
160
161 2003-06-06 Nathanael Nerode <neroden@gcc.gnu.org>
162
163 * configure.in: Make $(target_subdir) correspond with top level usage.
164 * Makefile.in: Likewise.
165 * configure: Regenerate.
166
167 2003-06-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
168
169 * pa.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_COMMON,
170 ASM_OUTPUT_ALIGNED_LOCAL): Cast `SIZE' and `ALIGNED' parameters to
171 unsigned HOST_WIDE_INT.
172 * pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMOM, ASM_OUTPUT_ALIGNED_LOCAL):
173 Likewise.
174 * pa64-hpux.h (ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL):
175 Likewise.
176
177 2003-06-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
178
179 * doc/install.texi (Prerequisites): New section documenting
180 tools and packages necessary prior to building and/or
181 modifying GCC.
182 * doc/install.texi2html: Also generate prerequisites.html.
183
184 2003-06-06 Richard Earnshaw <rearnsha@arm.com>
185
186 PR target/11052
187 * ifcvt.c (noce_process_if_block): Fail if the destination has
188 side-effects.
189
190 2003-06-06 Jason Merrill <jason@redhat.com>
191
192 * stmt.c (resolve_asm_operand_names): Rename from
193 resolve_operand_names. No longer static. Avoid needless copying.
194 Don't build array of constraints.
195 (expand_asm_operands): Build it here.
196 * tree.h: Declare resolve_asm_operand_names.
197
198 * stmt.c (expand_decl): Put artificial vars into registers even
199 when not optimizing, and don't mark the regs as user vars.
200
201 2003-06-06 J"orn Rennecke <joern.rennecke@superh.com>
202
203 * sh.h (FUNCTION_ARG_1): Consistently use NEW_MODE for the mode
204 of the generated register.
205
206 2003-06-06 Daniel Jacobowitz <drow@mvista.com>
207
208 * config.gcc: Add a missing sparc64 case.
209
210 2003-06-06 Jakub Jelinek <jakub@redhat.com>
211
212 * mklibgcc.in: Propagate .note.GNU-stack section if needed into
213 the .hidden assembly stubs.
214
215 2003-06-06 H.J. Lu <hongjiu.lu@intel.com>
216
217 * config.gcc (extra_headers): Add emmintrin.h for i[34567]86-*-*
218 and x86_64-*-*.
219
220 * config/i386/mmintrin.h: Update version and add alternate
221 intrinsic names.
222 * config/i386/xmmintrin.h: Likewise.
223
224 * config/i386/xmmintrin.h: Include <emmintrin.h>. Move SSE2
225 intrinsics to ...
226 * config/i386/emmintrin.h: Here. New file.
227
228 2003-06-06 Roger Sayle <roger@eyesopen.com>
229
230 * fold-const.c (fold <ABS_EXPR>): Re-fold the result of folding
231 fabs(-x) into fabs(x). Use tree_expr_nonnegative_p to determine
232 when the ABS_EXPR (fabs or abs) is not required.
233 (tree_expr_nonnegative_p): Move the logic that sqrt and exp are
234 always nonnegative from fold to here. Additionally, cabs and fabs
235 are always non-negative, and pow and atan are non-negative if
236 their first argument is non-negative.
237
238 * builtins.c (fold_builtin_cabs): New function to fold cabs{,f,l}.
239 Evaluate cabs of a constant at compile-time. Convert cabs of a
240 non-complex argument into fabs. Convert cabs(z) into
241 sqrt(z.r*z.r + z.i*z.i) at the tree-level with -ffast-math or
242 -funsafe-math-optimizations or -ffast-math.
243 (fold_builtin): Convert BUILT_IN_FABS{,F,L} into an ABS_EXPR.
244 Fold BUILT_IN_CABS{,F,L} using fold_builtin_cabs.
245
246 Thu Jun 5 20:51:09 CEST 2003 Jan Hubicka <jh@suse.cz>
247
248 * sourcebuild.texi (Front End Directory): Document new hooks.
249
250 Fri Jun 6 11:02:35 CEST 2003 Jan Hubicka <jh@suse.cz>
251
252 * function.c (FLOOR_ROUND, CEIL_ROUND): Fix.
253 * i386.md (gen_pro_epilogue_adjust_stack): Deal with gigantic
254 stack frames.
255 (pro_epilogue_adjust_stack_rex64_2): New pattern
256
257 Fri Jun 6 11:03:14 CEST 2003 Jan Hubicka <jh@suse.cz>
258 Pop Sebastian
259 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
260
261 * cfghooks.h, cfghooks.c: New files.
262 * Makefile.in (BASIC_BLOCK_H): Depends on cfghooks.h.
263 (OBJS): Add cfghooks.o.
264 (cfghooks.o): New rule.
265 * basic-block.h (split_edge): Rename to rtl_split_edge.
266 (verify_flow_info): Rename to rtl_verify_flow_info.
267 (cfghooks.h): Included here.
268 * cfgrtl.c (split_edge): Renamed rtl_split_edge.
269 (verify_flow_info): Renamed rtl_verify_flow_info.
270 * toplev.c (rest_of_compilation): Call rtl_register_cfg_hooks.
271
272 * basic-block.h (split_block, split_edge, flow_delete_block,
273 redirect_edge_and_branch, redirect_edge_and_branch_force): Delete.
274 (flow_delete_block_noexpunge): Return void.
275 * cfg.c (verify_flow_info): New function.
276 * cfgcleanup.c (try_simplify_condjump, outgoing_edges_match,
277 try_crossjump_to_edge, try_optimize_cfg, delete_unreachable_blocks):
278 Use delete_block.
279 * cfglayout.c (function_footer): Rename to...
280 (cfg_layout_function_footer): ... this variable
281 (unlink_insn_chain): Make global.
282 (fixup_reorder_chain, record_effective_endpoints): Update.
283 (cleanup_unconditional_jumps): Use delete_block.
284 (cfg_layout_redirect_edge, cfg_layout_split_block): Move to cfgrtl.c
285 (cfg_layout_duplicate_bb): Use redirect_edge_and_branch_force.
286 (cfg_layout_initialize, cfg_layout_finalize): Update hooks.
287 * cfglayout.h (cfg_layout_redirect_edge, cfg_layout_split_block): Delete.
288 (cfg_layout_function_footer): Declare.
289 * cfgloopmanip (split_loop_bb): Do not update RBI.
290 (remove_bbs): Use delete_block.
291 (loop_reidrect_edge, loop_delete_branch_edge): Use
292 redirect_edge_and_branch.
293 (create_preheader): Use split_block and redirect_edge_and_branch_force.
294 (split_edge_with): Likewise.
295 * cfgrtl.c: Include cfglayout.h
296 (split_edge): Rename to ...
297 (rtl_split_edge) ... this one; make local.
298 (redirect_edge_and_branch): Rename to ...
299 (rtl_redirect_edge_and_branch) ... this one; make local.
300 (redirect_edge_and_branch_force): Rename to ...
301 (rtl_redirect_edge_and_branch_force) ... this one; make local.
302 (cfg_layout_delete_block, cfg_layout_delete_edge_and_branch_force): New.
303 (cfg_layout_redirect_edge_and_branch, cfg_layout_split_block): Move here from
304 cfglayout.c; update to directly call RTL counterparts.
305 (rtl_cfg_hooks, cfg_layout_rtl_cfg_hooks): New functions.
306 * ifcvt.c (find_cond_trap): Use delete_block.
307 (find_if_case_1): Use delete_block.
308 (find_if_case_2): Use delete_block.
309 * rtl.h (unlink_insn_chain): Declare.
310 * toplev.c (rtl_reigster_cfg_hooks): New.
311
312 2003-06-05 Richard Henderson <rth@redhat.com>
313
314 * recog.c (peephole2_optimize): Revert last change.
315
316 2003-06-05 Richard Henderson <rth@redhat.com>
317
318 * recog.c (peephole2_optimize): Don't split block unless
319 can_throw_internal.
320
321 2003-06-06 Kazu Hirata <kazu@cs.umass.edu>
322
323 * config/h8300/h8300.c (get_shift_alg): Correct the syntax of rotxl.
324 * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): Likewise.
325
326 2003-06-05 Kelley Cook <kelleycook@wideopenwest.com>
327
328 PR optimization/4490
329 * config/i386/i386.md: Don't use XFMode if TARGET_128BIT_LONG_DOUBLE.
330 * doc/invoke.texi (m96bit-long-double, m128bit-long-double): Reword
331 documentation to accurately reflect what these options do.
332
333 2003-06-06 Kaz Kojima <kkojima@gcc.gnu.org>
334
335 * config/sh/linux.h (STARTFILE_SPEC): Handle -pie. Simplify.
336 (ENDFILE_SPEC): Redefine to handle -pie.
337
338 2003-06-05 Phil Edwards <phil@jaj.com>
339
340 * Makefile.in (qmtest-g++): Use target_alias, not target.
341
342 2003-06-05 Per Bothner <pbothner@apple.com>
343
344 * toplev.c (push_srcloc): Simplify behavior to save current location
345 and set current location to parameters.
346 (pop_srcloc): Simplify semantics.
347 (lang_dependent_init): Remove now-useless initial push_srcloc.
348
349 2003-05-06 Richard Henderson <rth@redhat.com>
350
351 * dwarf2out.c (loc_descriptor_from_tree): Return 0 for
352 language-specific tree codes.
353
354 2003-06-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
355
356 PR middle-end/9986
357 * pa.c (pa_init_builtins): Also set implicit_built_in_decls for
358 BUILT_IN_FPUTC_UNLOCKED to NULL_TREE.
359
360 Thu Jun 5 18:32:46 CEST 2003 Jan Hubicka <jh@suse.cz>
361
362 * install.tex: Document profiledbootstrap.
363
364 * configure.in: Add support for lang.stageprofile and
365 lang.stagefeedback
366 * Makefile.in (clean, distclean): Kill new stages
367 (POSTSTAGE1_FLAGS_TO_PASS): Break from ...
368 (STAGE2_FLAGS_TO_PASS): ... this one.
369 (STAGEPROFILE_FLAGS_TO_PASS, STAGEFEEDBACK_FLAGS_TO_PASS): New.
370 (stage[2-4]_build): Add POSTSTAGE1_FLAGS_TO_PASS.
371 (stageprofile_build, stageprofile_copy, stagefeedback_build,
372 stagefeedback_copy): New.
373 (restageprofile, restagefeedback, stageprofile-start,
374 stageprofile, stagefeedback-start): Likewise.
375
376 2003-06-05 David Miller <davem@redhat.com>
377 Richard Henderson <rth@redhat.com>
378
379 * optabs.c (HAVE_conditional_trap): Provide default.
380 (gen_conditional_trap): Likewise.
381 (init_optabs): Merge init_traps.
382 (gen_cond_trap): Use prepare_operand. Restructure and avoid ifdef.
383
384 Thu Jun 5 14:59:44 CEST 2003 Jan Hubicka <jh@suse.cz>
385
386 * combine.c (simplify_if_then_else): (IF_THEN_ELSE (NE REG 0) (0) (8))
387 is REG for nonzero_bits (REG) == 8.
388
389 Thu Jun 5 13:23:51 CEST 2003 Jan Hubicka <jh@suse.cz>
390
391 * i386.md (align): Fix warning; clarify what to do when no p2align
392 is available.
393
394 2003-06-05 Nick Clifton <nickc@redhat.com>
395
396 * config.gcc (m32r-elf): Revert previous delta.
397 * config/m32r/t-m32r (crtinit.o): Fix rule to work with
398 multilibs. Remove m32rx specific version.
399 (crtfini.o): Likewise.
400 (EXTRA_MULTILIB_PARTS): Define.
401
402 2003-06-05 Eric Botcazou <ebotcazou@libertysurf.fr>
403
404 * doc/md.texi (Machine Constraints): Correct the meaning of
405 constraints related to floating-point registers on SPARC.
406
407 2003-06-05 Eric Botcazou <ebotcazou@libertysurf.fr>
408 Paolo Bonzini <bonzini@gnu.org>
409
410 PR target/10663
411 * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Redirect
412 assembler and linker output to /dev/null.
413 Use a 'sed' construct instead of 'grep -A1'.
414 * configure: Regenerate.
415
416 2003-06-04 Richard Henderson <rth@redhat.com>
417
418 * config/i386/i386.c (struct ix86_address): Add seg.
419 (no_seg_address_operand): New.
420 (ix86_decompose_address): Restructure PLUS loop. Accept one
421 UNSPEC_TP if TARGET_TLS_DIRECT_SEG_REFS. Adjust ESP swap test
422 to test for a regnum, not stack_pointer_rtx.
423 (ix86_address_cost): Reduce cost if non-default segment.
424 (legitimate_address_p): Remove UNSPEC_TP check.
425 (get_thread_pointer): Add to_reg argument. Don't represent
426 the thread pointer as a memory load.
427 (legitimize_tls_address): Split out of ...
428 (legitimize_address): ... here.
429 (print_operand_address): Handle parts.seg.
430 (ix86_expand_move): Use legitimize_tls_address.
431 (ix86_rtx_costs): Handle UNSPEC_TP.
432 * config/i386/i386.h (MASK_TLS_DIRECT_SEG_REFS): New.
433 (TARGET_TLS_DIRECT_SEG_REFS): New.
434 (TARGET_SWITCHES): Add tls-direct-seg-refs.
435 (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): Default.
436 (PREDICATE_CODES): Add no_seg_address_operand.
437 * config/i386/i386.md (lea_1): Use it.
438 (lea_1_rex64, lea_1_zext, lea_2_rex64): Likewise.
439 (load_tp_si, add_tp_si, load_tp_di, add_tp_di): New.
440 * config/i386/linux.h (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): New.
441 * config/i386/linux64.h (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): New.
442 * doc/invoke.texi: Add -mtls-direct-seg-refs.
443
444 2003-06-04 Mark Mitchell <mark@codesourcery.com>
445
446 * Makefile.in (QMTESTRUNFLAGS): Set for DejaGNU emulation.
447 (QMTEST_GPP_TESTS): Use "g++" by default.
448 (stamp-qmtest): Tweak database creation.
449 (QMTEST_DIR/context): Update context file format.
450 (qmtest-g++): Tweak command-line.
451
452 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
453
454 * Makefile.in (varasm.o): Don't set -Wno-error.
455 * rs6000/t-rs6000 (varasm.o, out_object_file): Don't clear.
456
457 2003-06-04 Zack Weinberg <zack@codesourcery.com>
458
459 PR bootstrap/3163
460 * aclocal.m4 (AC_FUNC_MMAP_ANYWHERE, AC_FUNC_MMAP_FILE): Delete.
461 (gcc_AC_FUNC_MMAP_BLACKLIST): New.
462 * configure.in: Check for sys/mman.h and mmap in AC_CHECK_HEADERS
463 and AC_CHECK_FUNCS lists, respectively. Use
464 gcc_AC_FUNC_MMAP_BLACKLIST, not AC_FUNC_MMAP_ANYWHERE nor
465 AC_FUNC_MMAP_FILE.
466 * configure, config.in: Regenerate.
467
468 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
469
470 * arm/aout.h (ASM_OUTPUT_SKIP): Fix cast for format specifier warning.
471 * arm.c (arm_output_function_prologue): Fix format specifiers.
472 * arm.h (ARM_PRINT_OPERAND_ADDRESS): Likewise.
473 * m68k.c (m68k_output_mi_thunk): Use more readable %wd instead of
474 HOST_WIDE_INT_PRINT_DEC.
475 * vax.c (vax_output_function_prologue): Fix format specifiers.
476
477 2003-06-04 Richard Henderson <rth@redhat.com>
478
479 * cse.c (find_best_addr): Consider binary operators even if second
480 argument is not CONST_INT.
481
482 2003-06-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
483
484 * doc/invoke.texi (max-cse-path-length): Document.
485
486 2003-06-04 Richard Henderson <rth@redhat.com>
487
488 * config/i386/i386.md (align): Use ASM_OUTPUT_*ALIGN macros.
489
490 2003-06-04 Andrew Pinski <pinskia@physics.uc.edu>
491
492 * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME):
493 Remove semi-colon at the end of the expression.
494
495 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
496
497 * i370.c (mvs_function_name_length): Fix signed/unsigned warnings.
498 * i370.h (mvs_function_name_length): Likewise.
499 * i960.h (CONSTANT_ALIGNMENT): Likewise.
500 * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
501 * pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
502 * pa.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
503 * rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Delete unused
504 variable.
505
506 2003-06-04 Daniel Jacobowitz <drow@mvista.com>
507
508 * config.gcc: Reorganize --with-cpu logic. Set
509 configure_default_options according to the default CPU, --with-cpu,
510 --with-arch, --with-tune, --with-schedule, --with-abi, and
511 --with-float. Check for legal values of various options.
512 * configure.in: Define configure_default_options in configargs.h.
513 * configure: Regenerated.
514 * config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
515 (TARGET_DEFAULT_FLOAT_P): New macros.
516 * gcc.c (do_option_spec): New function.
517 (struct default_spec, option_default_specs): New.
518 (main): Call do_option_spec.
519 * config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
520 config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
521 config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.
522
523 * doc/install.texi: Update --with-cpu documentation. Mention
524 --with-arch, --with-schedule, --with-tune, --with-abi, and
525 --with-float.
526 * doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.
527
528 2003-06-04 Daniel Jacobowitz <drow@mvista.com>
529
530 * config.gcc: Only process --with-cpu logic in the third pass.
531
532 2003-06-04 Daniel Jacobowitz <drow@mvista.com>
533
534 * config.gcc: Reorganize --with-cpu section. Remove an
535 obsolete comment about the default CPU for x86-64. Fix
536 a typo for the ep9312. Update the list of supported PowerPC
537 CPUs. Support a limited set of new --with-cpu options
538 for i386.
539
540 2003-06-04 Aldy Hernandez <aldyh@redhat.com>
541
542 * config/rs6000/rs6000.c (rs6000_complex_function_value): Unpack
543 complex numbers <= 32 bits into two registers.
544
545 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
546
547 * alpha.c (print_operand_address): Fix format specifier warnings.
548 * alpha/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
549 * alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
550 * arm/aof.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
551 * arm/pe.h (ASM_OUTPUT_COMMON): Likewise.
552 * avr.h (ASM_OUTPUT_COMMON, ASM_GENERATE_INTERNAL_LABEL,
553 ASM_OUTPUT_SKIP): Likewise.
554 * c4x.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
555 * dsp16xx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
556 * h8300.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_COMMON):
557 Likewise.
558 * i370.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
559 * i386/cygming.h (ASM_OUTPUT_COMMON): Likewise.
560 * i386/darwin.h (ASM_OUTPUT_COMMON): Likewise.
561 * i960.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
562 * m68k/hp320.h (PRINT_OPERAND_ADDRESS): Likewise.
563 * mcore.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
564 * pdp11.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
565 * ptx4.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
566 * sparc/freebsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
567 * svr3.h (ASM_OUTPUT_COMMON): Likewise.
568
569 2003-06-04 J"orn Rennecke <joern.rennecke@superh.com>
570
571 * c-decl.c (c_init_decl_processing): Clear input_file_name
572 while building common nodes.
573 * dwarf2out.c (gen_compile_unit_die, dwarf2out_finish):
574 Don't add working directory for strings like <built-in> .
575
576 2003-06-04 David Edelsohn <edelsohn@gnu.org>
577
578 * doc/install.texi (*-ibm-aix*): Native as and ld required
579 to bootstrap on AIX 5L.
580
581 2003-06-04 Richard Henderson <rth@redhat.com>
582
583 * c-common.c (handle_cleanup_attribute): New.
584 (c_common_attributes): Add it.
585 * c-decl.c (finish_decl): Honor the cleanup attribute.
586 * doc/extend.texi (Variable Attributes): Document it.
587
588 * unwind-c.c: New file.
589 * Makefile.in (LIB2ADDEH): Add it.
590 * config/t-darwin, config/t-linux, config/t-linux-gnulibc1,
591 config/ia64/t-ia64: Likewise.
592
593 2003-06-04 Jakub Jelinek <jakub@redhat.com>
594
595 * function.c (trampolines_created): New variable.
596 (expand_function_end): Set it when doing INITIALIZE_TRAMPOLINE.
597 * function.h (trampolines_created): Add.
598 * config/s390/linux.h (ASM_FILE_END): Define.
599 * config/alpha/linux-elf.h (ASM_FILE_END): Define.
600 * config/m68k/linux.h (ASM_FILE_END): Define.
601 * config/rs6000/linux.h (ASM_FILE_END): Define.
602 * config/rs6000/linux64.h (ASM_FILE_END): Define.
603 * config/rs6000/ppc-asm.h: Add .note.GNU-stack on powerpc-linux.
604 * config/sparc/linux.h (ASM_FILE_END): Define.
605 * config/sparc/linux64.h (ASM_FILE_END): Define.
606 * config/i386/i386.c (ix86_asm_file_end): Use SUBTARGET_FILE_END.
607 * config/i386/linux.h (SUBTARGET_FILE_END): Define.
608 * config/i386/linux64.h (SUBTARGET_FILE_END): Define.
609
610 Wed Jun 4 18:39:33 CEST 2003 Jan Hubicka <jh@suse.cz>
611
612 * i386.c (min_insn_size, k8_avoid_jump_misspredicts): New functions
613 (ix86_reorg): Use it.
614 * i386.md (align): New insn pattern.
615
616 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
617
618 * toplev.c (rest_of_type_compilation): Fix typo.
619
620 2003-06-04 Jakub Jelinek <jakub@redhat.com>
621 Alan Modra <amodra@bigpond.net.au>
622
623 * config/i386/linux.h (NO_PROFILE_COUNTERS): Define to 1.
624 * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
625 * config/i386/netbsd-elf.h (NO_PROFILE_COUNTERS): Likewise.
626 * config/xtensa/xtensa.h (NO_PROFILE_COUTNERS): Likewise.
627 * config/darwin.h (NO_PROFILE_COUNTERS): Likewise.
628 * final.c (NO_PROFILE_COUNTERS): Define to 0 if not defined.
629 (profile_function): Allow NO_PROFILE_COUNTERS to be non-constant.
630 * config/rs6000/rs6000.c (output_profile_hook): Likewise.
631
632 * configure.in (powerpc*-*, s390*-*): Set tls_as_opt.
633 Pass it to $gcc_cv_as.
634 * configure: Rebuilt.
635
636 * config/rs6000/rs6000.c (rs6000_abi_name): Remove initializer.
637 (print_operand): Allow TARGET_AIX to be non-constant.
638 (rs6000_aix_emit_builtin_unwind_init, rs6000_emit_eh_toc_restore):
639 Define unconditionally.
640 (rs6000_elf_declare_function_name): New function.
641 * config/rs6000/rs6000.md (eh_return): Allow TARGET_AIX to be
642 non-constant.
643 * config/rs6000/linux64.h [!RS6000_BI_ARCH] (TARGET_64BIT): Define
644 to 1.
645 (DEFAULT_ARCH64_P, RS6000_BI_ARCH_P): Define.
646 [IN_LIBGCC2] (TARGET_64BIT): Define based on whether __powerpc64__
647 is defined.
648 (TARGET_AIX): Define to 1 if TARGET_64BIT.
649 (PROCESSOR_DEFAULT): Remove.
650 (TARGET_RELOCATABLE, RS6000_ABI_NAME, INVALID_64BIT,
651 INVALID_32BIT, SUBSUBTARGET_OVERRIDE_OPTIONS): Define.
652 [RS6000_BI_ARCH] (OVERRIDE_OPTIONS, ASM_FILE_START): Define.
653 (ASM_DEFAULT_SPEC, ASM_SPEC, LINK_OS_LINUX_SPEC): Define for both
654 -m32 and -m64.
655 (MULTILIB_DEFAULTS): Define.
656 (SUBSUBTARGET_EXTRA_SPECS): Define.
657 (ASM_SPEC32, ASM_SPEC64, ASM_SPEC_COMMON): Define.
658 (TARGET_TOC): Define only if !RS6000_BI_ARCH.
659 (TARGET_NO_TOC): Remove.
660 [!RS6000_BI_ARCH] (TARGET_RELOCATABLE, TARGET_EABI,
661 TARGET_PROTOTYPE): Define to 0.
662 (NO_PROFILE_COUNTERS): Define to TARGET_64BIT.
663 (PROFILE_HOOK): Only call output_profile_hook if TARGET_64BIT.
664 (ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Adjust to work properly
665 if !TARGET_64BIT.
666 (USER_LABEL_PREFIX): Remove.
667 (JUMP_TABLES_IN_TEXT_SECTION): Define to TARGET_64BIT.
668 (SETUP_FRAME_ADDRESSES): Only call rs6000_aix_emit_builtin_unwind_init
669 if TARGET_64BIT.
670 (TARGET_OS_CPP_BUILTINS): Handle both -m32 and -m64.
671 (LINK_OS_LINUX_SPEC32, LINK_OS_LINUX_SPEC64): Define.
672 (STARTFILE_LINUX_SPEC, ENDFILE_LINUX_SPEC): Remove.
673 (TOC_SECTION_ASM_OP): Define depending on TARGET_64BIT.
674 (MINIMAL_TOC_SECTION_ASM_OP): Likewise.
675 (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE): Define depending on
676 TARGET_64BIT.
677 (RS6000_CALL_GLUE): Likewise.
678 (SAVE_FP_PREFIX, SAVE_FP_SUFFIX, RESTORE_FP_PREFIX,
679 RESTORE_FP_SUFFIX): Likewise.
680 (ASM_DECLARE_FUNCTION_NAME): Remove.
681 (ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_SOURCE_LINE,
682 DBX_OUTPUT_BRAC, DBX_OUTPUT_NFUN): Only output dot before function
683 name if TARGET_64BIT.
684 (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Handle both TARGET_64BIT and
685 !TARGET_64BIT.
686 (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Remove undefs.
687 (ASM_PREFERRED_EH_DATA_FORMAT): Take TARGET_64BIT into account.
688 (DRAFT_V4_STRUCT_RET): Define.
689 (SIGNAL_FRAMESIZE): New enum value.
690 (MD_FALLBACK_FRAME_STATE_FOR): Define.
691 * config/rs6000/default64.h: New file.
692 * config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -m32 and -m64
693 options.
694 (SUBTARGET_OVERRIDE_OPTIONS): If rs6000_abi_name is NULL, set it
695 to RS6000_ABI_NAME. Only disallow mixing of -fPIC with -mcall-aixdesc
696 if !TARGET_64BIT.
697 [!RS6000_BI_ARCH] (SUBSUBTARGET_OVERRIDE_OPTIONS): Define.
698 (ASM_DECLARE_FUNCTION_NAME): Use rs6000_elf_declare_function_name
699 function.
700 (TARGET_OS_SYSV_CPP_BUILTINS): Define.
701 (TARGET_OS_CPP_BUILTINS): Use it.
702 (CPP_SYSV_SPEC): Remove.
703 (CPP_SPEC): Remove cpp_sysv.
704 (SUBTARGET_EXTRA_SPECS): Remove cpp_sysv.
705 Add SUBSUBTARGET_EXTRA_SPECS.
706 (SUBSUBTARGET_EXTRA_SPECS): Define.
707 * config/rs6000/biarch64.h: New file.
708 * config/rs6000/rs6000-protos.h (rs6000_elf_declare_function_name):
709 New prototype.
710 * config/rs6000/x-linux64: New file.
711 * config/rs6000/t-linux64: Build -m64, -m32 and -m32 -msoft-float
712 multilibs.
713 * config/rs6000/eabi-ci.asm: Protect with #ifndef __powerpc64__.
714 * config/rs6000/eabi-cn.asm: Likewise.
715 * config/rs6000/tramp.asm: Likewise.
716 * config/rs6000/sol-ci.asm: Likewise.
717 * config/rs6000/sol-cn.asm: Likewise.
718 * config/rs6000/linux.h (TARGET_64BIT): Define to 0.
719 (TARGET_OS_CPP_BUILTINS): Use TARGET_OS_SYSV_CPP_BUILTINS.
720 * config/rs6000/ppc-asm.h: Move __powerpc64__ section before
721 _CALL_AIXDESC section.
722 * config.gcc (powerpc64-*-linux*): Configure a bi-arch compiler,
723 defaulting to -m64 unless --with-cpu= is one of the 32-bit CPUs
724 or default32.
725
726 2003-06-04 Daniel Jacobowitz <drow@mvista.com>
727
728 * config.gcc: Revert accidentally committed ARM changes.
729
730 2003-06-04 Roger Sayle <roger@eyesopen.com>
731
732 * builtins.c (dconstpi, dconste): New mathematical constants.
733 (init_builtin_dconsts): New function to initialize dconstpi
734 and dconste.
735 (fold_builtin): Optimize exp(1.0) = e. Evaluate exp(x) at
736 compile time with -ffast-math when x is an integer constant.
737 Optimize tan(0.0) = 0.0. Optimize atan(0.0) = 0.0,
738 atan(1.0) = pi/4 and tan(atan(x)) = x with -ffast-math.
739
740 2003-06-04 Roger Sayle <roger@eyesopen.com>
741
742 * calls.c (expand_call): Avoid calling pure or const functions
743 when the result is ignored (or void) and none of the arguments
744 are volatile. Move warning diagnostic earlier in function.
745
746 2003-06-04 Andreas Jaeger <aj@suse.de>
747
748 * system.h: Do not poison TDESC_SECTION_ASM_OP,
749 RDATA_SECTION_ASM_OP and SUBTARGET_PROLOGUE.
750
751 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
752
753 * final.c (asm_fprintf): Update comments, accept "-+ #0" flags,
754 optimize '%' case, handle %c, don't accept %p, %e, %f or %g,
755 handle %ll, optimize regular character case.
756
757 2003-06-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
758
759 * Makefile.in (cse.o): Add params.h dependency.
760 * cse.c: Include params.h.
761 (PATHLENGTH): Removed.
762 (struct cse_basic_block_data): Make path array dynamic.
763 (cse_end_of_basic_block): Use PARAM_MAX_CSE_PATH_LENGTH instead
764 of PATHLENGTH.
765 (cse_main, cse_basic_block): Allocate path array.
766 * params.def (PARAM_MAX_CSE_PATH_LENGTH): New.
767
768 Wed Jun 4 09:49:21 CEST 2003 Jan Hubicka <jh@suse.cz>
769
770 * i386.c (ix86_reorg): Replace the jump instead of adding nop.
771 * i386.md (UNSPEC_REP): New constant.
772 (return_internal_long): New pattern.
773
774 2003-06-04 Eric Botcazou <ebotcazou@libertysurf.fr>
775
776 PR optimization/11018
777 * config/sparc/sparc.c (sparc_v8plus_shift): Use which_alternative
778 consistently to decide whether the scratch register is really
779 required.
780
781 2003-06-04 Eric Botcazou <ebotcazou@libertysurf.fr>
782
783 PR optimization/10876
784 * config/sparc/sparc.h (CONST_OK_FOR_LETTER): Add
785 new 'O' constraint for constant 4096.
786 (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
787 * config/sparc/sparc.md (adddi3 expander): Canonicalize pattern.
788 Do not transform into MINUS insn for constant 4096.
789 (*adddi3_sp64 insn): Canonicalize pattern. Add new alternative
790 for constant 4096 as third operand.
791 (addsi3 expander): Remove.
792 (*addsi3 insn): Rename into 'addsi3'. Canonicalize pattern. Add
793 new alternative for constant 4096 as third operand.
794 (subdi3 expander): Do not transform into PLUS insn for constant 4096.
795 (*subdi3_sp64 insn): Add new alternative for constant 4096 as third
796 operand.
797 (subsi3 expander): Remove.
798 (*subsi3 insn): Rename into 'subsi3'. Add new alternative for
799 constant 4096 as third operand.
800 * doc/md.texi (Machine Constraints): Document new 'O' constraint for
801 the SPARC port.
802
803 2003-06-03 Chris Demetriou <cgd@broadcom.com>
804
805 * config/mips/t-linux64 (CRTSTUFF_T_CFLAGS_S): Define.
806
807 2003-06-04 Andreas Jaeger <aj@suse.de>
808
809 * config/i386/uwin.h: Remove SUBTARGET_PROLOGUE.
810
811 * config/i386/i386.c (ix86_expand_prologue): Do not use
812 SUBTARGET_PROLOGUE.
813
814 * system.h: Poision SUBTARGET_PROLOGUE.
815
816 * config/arm/arm-protos.h: Remove unused rdate_section prototype.
817
818 * output.h: Remove TDESC_SECTION_ASM_OP and RDATA_SECTION_ASM_OP
819 dependend code.
820
821 * system.h: Poison TDESC_SECTION_ASM_OP and RDATA_SECTION_ASM_OP.
822
823 * system.h: Poison INSN_CACHE_DEPTH, INSN_CACHE_SIZE and
824 INSN_CACHE_LINE_WIDTH.
825
826 * libgcc2.c (INSN_CACHE_PLANE_SIZE): Removed.
827 (__clear_cache): Remove code dependend on INSN_CACHE_DEPTH,
828 INSN_CACHE_SIZE and INSN_CACHE_LINE_WIDTH.
829
830 * doc/tm.texi (Trampolines): Remove INSN_CACHE_DEPTH,
831 INSN_CACHE_SIZE and INSN_CACHE_LINE_WIDTH.
832
833 * dbxout.c (dbxout_type): Remove usage of DBX_OUTPUT_ENUM.
834 (dbxout_symbol): Remove usage of DBX_OUTPUT_CONSTANT_SYMBOL.
835 (dbxout_block): Remove usage of DBX_OUTPUT_CATCH.
836 (dbxout_block): Remove usage of DBX_LBRAC_FIRST.
837 (dbxout_source_file): Remove usage of DBX_OUTPUT_SOURCE_FILENAME.
838 (dbxout_init): Remove test for DBX_WORKING_DIRECTORY.
839
840 * doc/tm.texi (DBX Options): Do not document DBX_LBRAC_FIRST,
841 DBX_OUTPUT_SOURCE_FILENAME and DBX_OUTPUT_ENUM and
842 DBX_WORKING_DIRECTORY.
843
844 * system.h: Poison DBX_LBRAC_FIRST, DBX_OUTPUT_ENUM,
845 DBX_OUTPUT_SOURCE_FILENAME and DBX_WORKING_DIRECTORY.
846
847 * config/frv/frv-protos.h: Remove unused const_section
848 declaration.
849 * config/vax/vax-protos.h: Likewise.
850
851 * output.h: Remove CONST_SECTION_ASM_OP usage.
852
853 * system.h: Poison CONST_SECTION_ASM_OP.
854
855 * crtstuff.c (__do_global_dtors_aux): Remove usage of
856 CRT_GET_RFIB_TEXT.
857 (frame_dummy): Likewise.
858 * unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Likewise.
859 * system.h: Poison CRT_GET_RFIB_TEXT.
860
861 * collect2.c (is_ctor_dtor): Remove CFRONT_LOSSAGE dependend code.
862
863 * fix-header.c: Remove ADD_MISSING_EXTERN_C dependend variables.
864 (write_lbrac): Remove ADD_MISSING_EXTERN_C dependend code.
865 (recognized_function): Likewise.
866 (read_scan_file): Likewise.
867
868 2003-06-03 Roger Sayle <roger@eyesopen.com>
869
870 * optabs.c (expand_binop): Optimize complex multiplication for
871 the case of squaring a complex argument.
872
873 2003-06-03 Roger Sayle <roger@eyesopen.com>
874
875 * optabs.c (expand_binop): Attempt to reuse pseudos for duplicate
876 non-volatile operands of binary operations.
877 (prepare_cmp_insn): Likewise.
878
879 2003-06-03 Roger Sayle <roger@eyesopen.com>
880
881 * varasm.c (force_const_mem): Handle alignment of constants not
882 representable as a type in the front-end language.
883
884 2003-06-03 Kazu Hirata <kazu@cs.umass.edu>
885
886 * flow.c (initialize_uninitialized_subregs): Use
887 emit_move_insn instead of emitting a hardcoded move.
888
889 2003-06-03 Richard Henderson <rth@redhat.com>
890
891 * optabs.c (expand_abs_nojump): Split out from ...
892 (expand_abs): ... here.
893 * optabs.h (expand_abs_nojump): Declare.
894 * ifcvt.c: (noce_try_abs): Use expand_abs_nojump.
895 * Makefile.in (ifcvt.o): Depend on optabs.h.
896
897 2003-06-03 Alan Modra <amodra@bigpond.net.au>
898
899 * dwarf2out.c (DEBUG_STR_SECTION_FLAGS): Heed flag_merge_constants.
900
901 2003-06-03 Jason Thorpe <thorpej@wasabisystems.com>
902
903 * config.gcc (default_use_cxa_atexit): New variable, defaults to no.
904 (*-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*): Set default_use_cxa_atexit
905 to yes.
906 * configure.in: Allow default_use_cxa_atexit to determine the
907 value of DEFAULT_USE_CXA_ATEXIT if not explicitly enabled or
908 disabled.
909 * configure: Regenerate.
910
911 2003-06-03 Douglas B Rupp <rupp@gnat.com>
912
913 * Makefile.in (TEXI_GCC_FILES): Remove vms.texi entry.
914 * doc/gcc.texi: Remove vms.texi section.
915 * doc/vms.texi: Remove obsolete file.
916
917 2003-05-23 J"orn Rennecke <joern.rennecke@superh.com>
918
919 * configure.in (inhibit_libc): Don't define when configuring
920 with --with-newlib --with-headers.
921 * configure: Regenerate.
922
923 * t-sh: Remove LIB2FUNCS_EXTRA and embed-bb.c rules.
924
925 2003-06-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
926
927 * configure.in (gcc_cv_as_hidden): Disable .hidden completely on
928 IRIX 6 without GNU ld.
929 * configure: Regenerate.
930
931 2003-06-03 Roger Sayle <roger@eyesopen.com>
932
933 * expr.c (emit_move_insn_1): Use emit_move_insn to move the parts
934 of a complex number rather than invoke mov_optab directly.
935
936 2003-06-03 Kazu Hirata <kazu@cs.umass.edu>
937
938 * combine.c (simplify_set): Don't move a subreg in SET_SRC to
939 SET_DEST if WORD_REGISTER_OPERATIONS is not defined.
940
941 2003-06-03 Nathanael Nerode <neroden@gcc.gnu.org>
942
943 * config/i386/x86-64.h: Remove two target-independent comments;
944 replace "GNU CC" with "GCC".
945
946 2003-06-03 Anthony Green <green@redhat.com>
947
948 * config/frv/t-frv (EXTRA_HEADERS): Remove media.h
949
950 2003-06-03 Roger Sayle <roger@eyesopen.com>
951
952 * builtins.def (BUILT_IN_CABS, BUILT_IN_CABSF, BUILT_IN_CABSL):
953 New builtins representing ISO C99's cabs, cabsf and cabsl.
954 * builtins.c (expand_builtin_fabs): New function.
955 (expand_builtin_cabs): New function.
956 (expand_builtin): Expand BUILT_IN_FABS{,F,L} and BUILT_IN_CABS{,F,L}
957 using expand_builtin_fabs and expand_builtin_cabs respectively.
958
959 * doc/extend.texi: Document new cabs, cabsf and cabsl builtins.
960
961 2003-06-03 Aldy Hernandez <aldyh@redhat.com>
962
963 * function.c (assign_parms): Split complex arguments.
964
965 * doc/tm.texi (SPLIT_COMPLEX_ARGS): Document.
966
967 * expr.h (SPLIT_COMPLEX_ARGS): Define.
968 (split_complex_types): Protoize.
969 (split_complex_values): Protoize.
970
971 * calls.c (expand_call): Split complex arguments on architectures
972 that require it.
973 (split_complex_values): New.
974 (split_complex_types): New.
975
976 * config/rs6000/rs6000.c (rs6000_libcall_value): New.
977 (rs6000_function_value): Handle complex values on AIX.
978 (rs6000_complex_function_value): New.
979
980 * config/rs6000/rs6000-protos.h (rs6000_libcall_value): Protoize.
981
982 * config/rs6000/rs6000.h (LIBCALL_VALUE): Call function.
983 (SPLIT_COMPLEX_ARGS): New.
984
985 2003-06-03 Jakub Jelinek <jakub@redhat.com>
986
987 * configure.in (HAVE_LD_PIE): Check for ld -pie.
988 * config.in: Rebuilt.
989 * configure: Rebuilt.
990 * toplev.c (flag_pie, flag_shlib): New variables.
991 (f_options): Add -fpie and -fPIE.
992 (parse_options_and_default_flags): Set flag_pic if -fpie/-fPIE.
993 Set flag_shlib if flag_pic and not -fpie/-fPIE.
994 * flags.h (flag_pic, flag_shlib): Add.
995 * varasm.c (default_binds_local_p): Use flag_shlib instead of
996 flag_pic.
997 * gcc.c (LINK_PIE_SPEC): Define.
998 (LINK_COMMAND_SPEC): Use LINK_PIE_SPEC.
999 (option_map): Add --pie -> -pie mapping.
1000 * config/sol2.h (ASM_SPEC): Handle -fpie the same way as -fpic
1001 and -fPIE the same way as -fPIC.
1002 * config/openbsd.h (ASM_SPEC): Likewise.
1003 * config/frv/frv.h (ASM_SPEC): Likewise.
1004 * config/arm/linux-gas.h (SUBTARGET_CPP_SPEC): Likewise.
1005 * config/arm/semi.h (ASM_SPEC): Likewise.
1006 * config/arm/netbsd-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
1007 * config/freebsd-spec.h (FBSD_CPP_SPEC): Likewise.
1008 * config/i386/beos-elf.h (CC1_SPEC): Likewise.
1009 * config/i386/freebsd-aout.h (ASM_SPEC): Likewise.
1010 * config/m68k/linux.h (CPP_SPEC): Likewise.
1011 * config/m68k/netbsd.h (ASM_SPEC): Likewise.
1012 * config/m68k/openbsd.h (ASM_SPEC): Likewise.
1013 * config/m68k/netbsd-elf.h (ASM_SPEC): Likewise.
1014 * config/mips/linux.h (SUBTARGET_CPP_SPEC): Likewise.
1015 * config/mips/openbsd.h (SUBTARGET_ASM_SPEC): Likewise.
1016 * config/pa/pa-linux.h (CPP_SPEC): Likewise.
1017 * config/netbsd-aout.h (ASM_SPEC): Likewise.
1018 * config/rs6000/sysv4.h (ASM_SPEC, CPP_SYSV_SPEC): Likewise.
1019 * config/rs6000/vxworks.h (CPP_SPEC): Likewise.
1020 * config/sparc/linux.h (CPP_SUBTARGET_SPEC, ASM_SPEC): Likewise.
1021 * config/sparc/linux64.h (CPP_SUBTARGET_SPEC, ASM_SPEC): Likewise.
1022 * config/sparc/sparc.h (ASM_SPEC): Likewise.
1023 * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
1024 * config/sparc/sysv4.h (ASM_SPEC): Likewise.
1025 * config/sparc/netbsd-elf.h (ASM_SPEC): Likewise.
1026 * config/sparc/openbsd64.h (ASM_SPEC): Likewise.
1027 * config/cris/linux.h (CRIS_ASM_SUBTARGET_SPEC): Likewise.
1028 * config/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Handle -pie.
1029 Simplify.
1030 * config/alpha/elf.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
1031 * config/i386/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
1032 * config/ia64/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
1033 * config/rs6000/sysv4.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
1034 * config/rs6000/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
1035 * config/sparc/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
1036 * config/sparc/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
1037 * doc/invoke.texi: Document -pie, -fpie and -fPIE options.
1038
1039 2003-06-03 Jakub Jelinek <jakub@redhat.com>
1040
1041 * builtins.c (expand_builtin_memcpy): Remove endp argument and endp
1042 != 0 handling. Pass 0 to store_by_pieces.
1043 (expand_builtin_mempcpy): Add endp argument. Don't call
1044 expand_builtin_memcpy, call store_by_pieces resp. move_by_pieces
1045 directly. If ignoring result, only do expand_call.
1046 (expand_builtin_stpcpy): Likewise. Call expand_builtin_mempcpy
1047 otherwise.
1048 (expand_builtin_strncpy, expand_builtin_memset): Adjust
1049 store_by_pices callers.
1050 (expand_builtin): Adjust expand_builtin_memcpy and
1051 expand_builtin_mempcpy callers.
1052 * expr.c (can_move_by_pieces): New function.
1053 (move_by_pieces): Add endp argument, return to resp. memory at end
1054 or one byte earlier depending on endp.
1055 (store_by_pieces): Likewise.
1056 (emit_block_move): Adjust call to move_by_pieces.
1057 (emit_push_insn): Adjust move_by_pieces caller.
1058 * expr.h (can_move_by_pieces): New prototype.
1059 (store_by_pieces): Adjust prototypes.
1060 * rtl.h (move_by_pieces): Adjust prototype.
1061 * config/mips/mips.c (expand_block_move): Adjust move_by_pieces
1062 caller.
1063
1064 2003-06-03 Ben Elliston <bje@wasabisystems.com>
1065
1066 * doc/md.texi (Processor pipeline description): Improve wording.
1067
1068 2003-06-03 Neil Booth <neil@daikokuya.co.uk>
1069
1070 * c-opts.c (c_common_handle_option): New, pulled out of
1071 c_common_decode_option. Substitute uses of argv.
1072 (c_common_decode_option): Broken into two.
1073
1074 2003-06-02 Roger Sayle <roger@eyesopen.com>
1075 Zack Weinberg <zack@codesourcery.com>
1076
1077 * emit-rtl.c (gen_complex_constant_part): Remove unnecessary
1078 test of TREE_CONSTANT_POOL_ADDRESS_P.
1079
1080 2003-06-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1081
1082 * mips.c: Don't include output.h twice.
1083 * stormy16.c: Likewise.
1084 * xtensa.c: Likewise.
1085 * output.h: Protect against multiple inclusion.
1086
1087 2003-06-02 J"orn Rennecke <joern.rennecke@superh.com>
1088
1089 * sh.h (OLD_ARG_MODE): New macro.
1090 (FUNCTION_ARG_ADVANCE, FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
1091 (FUNCTION_ARG_1): Break out of:
1092 (FUNCTION_ARG). Use OLD_ARG_MODE.
1093
1094 2003-06-02 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
1095
1096 * gcc/config.gcc Add support multilib parts for m32rx processor.
1097
1098 2003-06-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1099
1100 * Makefile.in (c-options.c): Pass in $(AWK) to opts.sh.
1101 (mostlyclean): Delete c-options.c and c-options.h.
1102
1103 2003-06-02 Neil Booth <neil@daikokuya.co.uk>
1104
1105 * c-opts.c (CL_REJECT_NEGATIVE): New.
1106 (c_common_decode_option): Update to use it.
1107 * c.opt: Update documentation; use RejectNegative.
1108 * opts.sh: Handle RejectNegative.
1109
1110 2003-06-01 Zack Weinberg <zack@codesourcery.com>
1111
1112 * ggc-page.c (init_ggc): Give better diagnostics on failure to
1113 open /dev/zero.
1114 * toplev.c (crash_signal): Reset handling for received signal
1115 to SIG_DFL.
1116
1117 2003-06-02 Ben Elliston <bje@wasabisystems.com>
1118
1119 * config/arm/arm.c (arm_use_dfa_pipeline_interface): Declare.
1120 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define if not already.
1121 (arm_use_dfa_pipeline_interface): Implement.
1122 * config/arm/arm.md (arm): New automaton.
1123 (write_buf): Remove function units; new cpu unit.
1124 (write_blockage): Remove function units; new cpu unit.
1125 (core): Remove function units; new cpu unit.
1126 (r_mem_f_wbuf): New instruction reservation.
1127 (store1_wbuf, store2_wbuf, store3_wbuf, store4_wbuf): Likewise.
1128 (store1_ldsched, store2, store3, store4): Likewise.
1129 (load_ldsched, load_ldsched_xscale, load_or_store): Likewise.
1130 (mult, mult_ldsched, mult_ldsched_strongarm): Likewise.
1131 (multi_cycle, single_cycle): Likewise.
1132 * config/arm/fpa.md (armfp): New automaton.
1133 (fpa): Remove function units; new cpu unit.
1134 (fpa_mem): Remove function unit; new cpu unit.
1135 (fdivx, fdivd, fdivs, fmul, ffmul, farith, ffarith): New reservations.
1136 (r_2_f, f_2_r, f_load, f_store, r_mem_f, f_mem_r): Likewise.
1137
1138 2003-06-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1139
1140 * builtin-attrs.def (ATTR_ASM_FPRINTF): New.
1141 * c-format.c (enum format_type): Add asm_fprintf_format_type.
1142 (NOARGUMENTS, asm_fprintf_length_specs, asm_fprintf_flag_specs,
1143 asm_fprintf_flag_pairs, asm_fprintf_char_table): New.
1144 (format_types_orig): Renamed from format_types. Add new data.
1145 (format_types): Declare as pointer.
1146 (handle_format_attribute): Move later in file so we have all
1147 necessary declarations. Add section to capture HOST_WIDE_INT.
1148 * output.h (ATTRIBUTE_ASM_FPRINTF, __gcc_host_wide_int__): New.
1149 (asm_fprintf): Mark with ATTRIBUTE_ASM_FPRINTF.
1150
1151 2003-06-01 Andreas Jaeger <aj@suse.de>
1152
1153 * doc/tm.texi (Storage Layout): Remove ROUND_TYPE_SIZE and
1154 ROUND_TYPE_SIZE_UNIT.
1155
1156 * stor-layout.c (finalize_record_size): Remove usages of
1157 ROUND_TYPE_SIZE and ROUND_TYPE_SIZE_UNIT.
1158 (finalize_type_size): Likewise.
1159 (layout_type): Likewise.
1160
1161 * system.h: Poison ROUND_TYPE_SIZE and ROUND_TYPE_SIZE_UNIT.
1162
1163 * loop.c (check_insn_for_givs): Remove DONT_REDUCE_ADDR macro.
1164
1165 * config/d30v/d30v.h: Remove text copied from the manual.
1166
1167 2003-06-01 Roger Sayle <roger@eyesopen.com>
1168 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1169 Geoffrey Keating <geoffk@apple.com>
1170
1171 * emit-rtl.c (gen_lowpart_common): Handle interpreting integer
1172 constants as condition code values.
1173
1174 2003-06-01 DJ Delorie <dj@redhat.com>
1175
1176 * cppmacro.c (warn_of_redefinition): Handle cases where the two
1177 definitions have different numbers of tokens.
1178
1179 2003-06-01 Andreas Jaeger <aj@suse.de>
1180
1181 * gen-protos.c (main): Readd unused attribute for argc.
1182
1183 2003-06-01 Neil Booth <neil@daikokuya.co.uk>
1184
1185 * Makefile.in (c-options.c, c-options.h): Parallel make safe.
1186 * c.opt: End in blank line.
1187 * opts.sh: Take AWK from environment if available; use C locale.
1188
1189 2003-06-01 Andreas Schwab <schwab@suse.de>
1190
1191 * config/m68k/linux.h: Remove code protected by USE_GNULIBC_1.
1192
1193 2003-06-01 Andreas Jaeger <aj@suse.de>
1194
1195 * gen-protos.c (main): Revert patch to check for argument.
1196
1197 2003-06-01 Eric Botcazou <ebotcazou@libertysurf.fr>
1198
1199 PR target/11044
1200 * config/i386/i386.md (length attribute): Set length to 4
1201 for instructions of type "fcmp".
1202
1203 2003-06-01 Andreas Jaeger <aj@suse.de>
1204
1205 * toplev.c: Use ISO C90 prototypes.
1206
1207 * toplev.h: Use ISO C90 prototypes.
1208
1209 * genrecog.c: Use ISO C90 prototypes.
1210 (nodes_identical): Correct declaration to match prototype.
1211 (maybe_both_true): Likewise.
1212 (merge_trees): Likewise.
1213
1214 * genpeep.c (gen_peephole): Remove #if 0 code.
1215 Use ISO C90 prototypes.
1216
1217 * genattrtab.c (copy_rtx_unchanging): Remove #if 0'ed code.
1218 Remove #if 0'ed function simplify_by_alternatives.
1219 (optimize_attrs): Remove #if 0'ed code.
1220 Remove ^L.
1221 Use ISO C90 prototypes.
1222 (make_canonical): Remove #if 0'ed code.
1223 (convert_const_symbol_ref): Remove #if 0'ed function.
1224
1225 * gen-protos.c (main): Check for argument.
1226
1227 * rtl.h: Use ISO C90 prototypes for functions from lists.c.
1228
1229 * params.h: Use ISO C90 prototypes.
1230 * params.c: Likewise.
1231 * intl.c: Likewise.
1232 * intl.h: Likewise.
1233 * lists.c: Likewise.
1234 * errors.c: Likewise.
1235 * errors.h: Likewise.
1236 * gencodes.c: Likewise.
1237 * genpreds.c: Likewise.
1238 * genattr.c: Likewise.
1239 * gen-protos.c: Likewise.
1240 * genflags.c: Likewise
1241 * genconditions.c: Likewise.
1242 * genautomata.c: Likewise.
1243 * gencheck.c: Likewise.
1244 * genconfig.c: Likewise.
1245 * genconstants.c: Likewise.
1246 * genemit.c: Likewise.
1247 * genextract.c: Likewise.
1248 * gengenrtl.c: Likewise.
1249 * gengtype.c: Likewise.
1250 * gengtype.h: Likewise.
1251 * genopinit.c: Likewise.
1252 * genoutput.c: Likewise.
1253 * gensupport.c: Likewise.
1254 * gensupport.h: Likewise.
1255
1256 * sdbout.h: Use ISO C90 prototypes.
1257
1258 * sdbout.c (CONTIN): Removed empty macro.
1259 (sdbout_one_type): Remove CONTIN usages.
1260 Remove ^Ls.
1261 (tag_of_ru_type): Remove #if 0'ed function.
1262 (sdbout_symbol): Remove #if 0'ed code.
1263 (sdbout_one_type): Remove a #if 1.
1264 (sdbout_one_type): Remove #if 0'ed code.
1265 (sdbout_init): Remove RMS_QUICK_HACK_1 code.
1266 Remove PARAMS, use ISO C90 prototypes for all functions.
1267
1268 2003-06-01 Josef Zlomek <zlomekj@suse.cz>
1269
1270 * rtl.def (CONST_DOUBLE): Update comment.
1271
1272 2003-06-01 Neil Booth <neil@daikokuya.co.uk>
1273
1274 * opts.sh: Remove path from sort.
1275
1276 2003-06-01 Aldy Hernandez <aldyh@redhat.com>
1277
1278 PR/9680
1279 * config/rs6000/rs6000.h (CANNOT_CHANGE_MODE_CLASS): Require
1280 TARGET_SPE for SPE_VECTOR_MODE.
1281
1282 2003-05-31 Aldy Hernandez <aldyh@redhat.com>
1283
1284 * toplev.c (botch): Remove.
1285 (do_abort): Remove.
1286 (set_Wunused): Comment.
1287 (set_Wextra): Comment.
1288 Remove ^L's.
1289 (rest_of_compilation): Factor out common code into functions.
1290 (rest_of_handle_inlining): New.
1291 (rest_of_handle_ssa): New.
1292 (rest_of_handle_cse): New.
1293 (rest_of_handle_gcse): New.
1294 (rest_of_handle_loop_optimize): New.
1295 (rest_of_handle_jump_bypass): New.
1296 (rest_of_handle_sibling_calls): New.
1297 (rest_of_handle_null_pointer): New.
1298 (rest_of_handle_addresof): New.
1299 (rest_of_handle_flow): New.
1300 (rest_of_handle_branch_prob): New.
1301 (rest_of_handle_if_conversion): New.
1302 (rest_of_handle_tracer): New.
1303 (rest_of_handle_loop2): New.
1304 (rest_of_handle_cse2): New.
1305 (rest_of_handle_life): New.
1306 (rest_of_handle_combine): New.
1307 (rest_of_handle_if_after_combine): New.
1308 (rest_of_handle_regmove): New.
1309 (rest_of_handle_sched): New.
1310 (rest_of_handle_old_regalloc): New.
1311 (rest_of_handle_new_regalloc): New.
1312 (rest_of_handle_regrename): New.
1313 (rest_of_handle_reorder_blocks): New.
1314 (rest_of_handle_sched2): New.
1315 (rest_of_handle_new_regalloc): New.
1316 (rest_of_handle_old_regalloc): New.
1317 (rest_of_handle_regrename): New.
1318 (rest_of_handle_reorder_blocks): New.
1319 (rest_of_handle_stack_regs): New.
1320 (rest_of_handle_machine_reorg): New.
1321 (rest_of_handle_delay_slots): New.
1322 (rest_of_handle_final): New.
1323
1324 * toplev.h (botch): Remove prototype.
1325 (do_abort): Same.
1326
1327 2003-05-31 Neil Booth <neil@daikokuya.co.uk>
1328
1329 * Makefile.in (c-opts.o, c-options.h): Update dependencies.
1330 * c-opts.c: Include c-options.h and c-options.c.
1331 (CL_C_ONLY, CL_OBJC_ONLY, CL_CXX_ONLY, CL_OBJCXX_ONLY):
1332 Rename CL_C, CL_OBJC, CL_CXX, CL_OBJCXX.
1333 (CL_ARG, CL_ALL, COMMAND_LINE_OPTIONS, struct cl_option,
1334 OPT, opt_comp): Remove.
1335 (missing_arg, c_common_init_options, c_common_decode_option,
1336 write_langs): Update for macro redefinitions and enumeration
1337 name changes.
1338 * c.opt, opts.sh: New files.
1339 * doc/passes.texi: Update.
1340
1341 2003-05-31 Andreas Jaeger <aj@suse.de>
1342
1343 * function.c (trampoline_address): Remove ALLOCATE_TRAMPOLINE
1344 usage.
1345
1346 * doc/tm.texi (Trampolines): Remove ALLOCATE_TRAMPOLINE.
1347
1348 * config/d30v/d30v.h: Remove traces of ALLOCATE_TRAMPOLINE.
1349
1350 * system.h: Poison ALLOCATE_TRAMPOLINE.
1351
1352 * doc/tm.texi (Misc): Remove HANDLE_PRAGMA.
1353 * system.h: Poison HANDLE_PRAGMA.
1354
1355 2003-05-31 Kazu Hirata <kazu@cs.umass.edu>
1356
1357 * doc/invoke.texi: Update dump file names.
1358
1359 2003-05-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1360
1361 * c-format.c (format_length_info, format_char_info,
1362 format_flag_spec, format_flag_pair, format_kind_info):
1363 De-const-ify structure members.
1364
1365 2003-05-31 Roger Sayle <roger@eyesopen.com>
1366
1367 * flags.h (flag_wrapv): New flag controlling overflow semantics.
1368 * toplev.c (flag_wrapv): Declare the variable with default false.
1369 (lang_independent_options): New option "-fwrapv" to set the above.
1370
1371 * fold-const.c (extract_muldiv_1): Disable optimization of (2*x)/2
1372 as x, when signed arithmetic overflow wraps around.
1373 (fold): Optimize "-A - B" as "-B - A" if overflow wraps around.
1374 * loop.c (basic_induction_var): Ignore BIVs that rely on undefined
1375 overflow when flag_wrapv is true.
1376
1377 * doc/invoke.texi: Document new -fwrapv command line option.
1378 * doc/c-tree.texi: Mention that the overflow semantics of
1379 NEGATE_EXPR, PLUS_EXPR, MINUS_EXPR and MULT_EXPR is dependent
1380 upon both flag_wrapv and flag_trapv.
1381
1382 2003-05-31 Eric Botcazou <ebotcazou@libertysurf.fr>
1383
1384 * doc/install.texi (mips-sgi-irix5): Add missing
1385 HTML <hr> marker.
1386
1387 2003-05-31 Eric Botcazou <ebotcazou@libertysurf.fr>
1388
1389 * doc/md.texi (Machine Constraints): Document
1390 missing SPARC constraints.
1391
1392 2003-05-31 Eric Botcazou <ebotcazou@libertysurf.fr>
1393
1394 * doc/md.texi (Automaton pipeline description): Use
1395 "type" instead of "cpu" as the attribute in the examples.
1396
1397 2003-05-30 Stan Shebs <shebs@apple.com>
1398
1399 * system.h: Poison OBJC_PROLOGUE.
1400
1401 2003-05-30 Roger Sayle <roger@eyesopen.com>
1402
1403 * emit-rtl.c (gen_complex_constant_part): New function for getting
1404 the constant real or imaginary part of a complex constant.
1405 (gen_realpart): Use it.
1406 (gen_imagpart): Likewise.
1407
1408 2003-05-30 Kazu Hirata <kazu@cs.umass.edu>
1409
1410 * doc/invoke.texi: Fix typos.
1411 * doc/rtl.texi: Likewise.
1412
1413 2003-05-30 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
1414
1415 * config/h8300/crti.asm: Use .h8300hn and .h8300sn for normal
1416 mode.
1417 * config/h8300/crtn.asm: Likewise.
1418 * config/h8300/lib1funcs.asm: Likewise.
1419 * config/h8300/h8300.c (asm_file_start): Likewise.
1420 * config/h8300/elf.h (LINK_SPEC): Use h8300hnelf and
1421 h8300snelf emulations for normal mode.
1422 * config/h8300/h8300.h (LINK_SPEC): Use h8300hn and h8300sn
1423 emulations for normal mode.
1424
1425 2003-05-30 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
1426
1427 * config/h8300/h8300.c (h8300_tiny_constant_address_p): Return
1428 true if TARGET_NORMAL_MODE.
1429
1430 2003-05-30 Roger Sayle <roger@eyesopen.com>
1431
1432 * cse.c (cse_insn): Simplify REG_EQUAL note on libcalls when
1433 making a substitution.
1434 (dead_libcall_p): If directly replacing a libcall with a
1435 constant value produces an invalid instruction, also try forcing
1436 the constant into the constant pool.
1437 * expr.c (emit_move_insn): Add a REG_EQUAL note when it is not
1438 obvious that the source is a constant.
1439 (compress_float_constant): Use set_unique_reg_note to place
1440 REG_EQUAL notes on instructions.
1441
1442 2003-05-30 Eric Christopher <echristo@redhat.com>
1443
1444 * config/mips/mips.c (extern_list): Add GTY marker.
1445 (extern_head): Separate out definition. Add marker.
1446 (mips_output_external): Use ggc_alloc for extern_list
1447 allocation.
1448 (mips_output_external_libcall): Ditto.
1449
1450 2003-05-30 Florian Weimer <fw@deneb.enyo.de>
1451
1452 * doc/install.texi: Ada-enabled bootstrap requires GNAT 3.14 or
1453 later.
1454
1455 2003-05-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1456
1457 * vax.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier
1458 warnings.
1459 (PRINT_OPERAND): Likewise.
1460
1461 2003-05-30 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1462
1463 * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Move
1464 -mdebug/-no-mdebug switches ...
1465 (MDEBUG_ASM_SPEC): ... here.
1466 Use only with gas.
1467 (EXTRA_SPECS): Initialize mdebug_asm_spec.
1468
1469 2003-05-29 Matt Kraai <kraai@alumni.cmu.edu>
1470
1471 * gthr-gnat.c: Remove #undef UNUSED.
1472 (__gnat_default_lock, __gnat_default_unlock): Prototype.
1473 (__gnat_task_lock, __gnat_task_unlock): Make declarations
1474 prototypes.
1475 (__gnat_install_locks): Convert declaration to ISO C90, make
1476 parameter declarations prototypes, and remove blank line.
1477 * gthr-gnat.h (__gnat_install_locks): Make parameter
1478 declarations prototypes.
1479
1480 2003-05-29 Jason Merrill <jason@redhat.com>
1481
1482 * Makefile.in (unstrap): Remove stage_last after make unstage1.
1483
1484 2003-05-29 Roger Sayle <roger@eyesopen.com>
1485
1486 * mips-tfile.c (PAGE_SIZE): Increase page size to 32K.
1487
1488 2003-05-29 Roger Sayle <roger@eyesopen.com>
1489 Kaveh Ghazi <ghazi@caip.rutgers.edu>
1490
1491 PR bootstrap/10169
1492 * mips-tfile.c (main): Use getopt_long instead of getopt.
1493 Add new command line option --version to display version.
1494 Treat --verbose like -v to report a single line version.
1495 (options): New global variable for getopt_long.
1496 * mips-tdump.c (main): Use getopt_long instead of getopt.
1497 New command line options -v, --version and -verbose to display
1498 the program version number (to match mips-tfile's behavior).
1499 (options): New global variable for getopt_long.
1500
1501 * gcov.c (options): Zero-terminate getopt_long array.
1502 * gcov-dump.c (options): Likewise.
1503
1504 * Makefile.in (mips-tdump.o): Add dependency on version.h.
1505
1506 2003-05-29 Stan Shebs <shebs@apple.com>
1507
1508 Remove OBJC_PROLOGUE everywhere.
1509 * objc/objc-act.c (finish_objc): Remove use of OBJC_PROLOGUE.
1510 * config/avr/avr.h: Remove no-op ref to OBJC_PROLOGUE.
1511 * config/d30v/d30v.h: Similarly.
1512 * config/ip2k/ip2k.h: Similarly.
1513 * doc/tm.texi: Remove doc of OBJC_PROLOGUE.
1514
1515 2003-05-29 Roger Sayle <roger@eyesopen.com>
1516
1517 * c-semantics.c (genrtl_do_stmt_1): New function split out from...
1518 (gen_rtl_do_stmt): ... here. Call genrtl_do_stmt_1.
1519 (expand_unreachable_stmt): Expand unreachable while statements
1520 using genrtl_do_stmt_1.
1521
1522 2003-05-29 Richard Sandiford <rsandifo@redhat.com>
1523
1524 * config/mips/mips-protos.h (mips_output_load_label): Declare.
1525 * config/mips/mips.c (mips_output_load_label): New function.
1526 (mips_output_conditional_branch): Use it.
1527 * config/mips/mips.md (jump): And here.
1528
1529 2003-05-28 Bob Wilson <bob.wilson@acm.org>
1530
1531 * config/xtensa/xtensa-protos.h (smalloffset_double_mem_p): Delete.
1532 (xtensa_split_operand_pair): New proto.
1533 * config/xtensa/xtensa.c (move_operand): Handle DFmode and DImode.
1534 (smalloffset_double_mem_p): Delete.
1535 (gen_float_relational, printx, print_operand, xtensa_va_arg):
1536 Fix whitespace.
1537 (xtensa_split_operand_pair): New.
1538 (xtensa_dbx_register_number): Fix formatting.
1539 * config/xtensa/xtensa.h (EXTRA_CONSTRAINT): Remove 'S' constraint.
1540 * config/xtensa/xtensa.md (movdi, movdf): Force constants to memory
1541 instead of splitting them into single-word moves. Remove unnecessary
1542 checks for reload_in_progress and reload_completed.
1543 (movdi_internal, movdf_internal): Change to post-reload split patterns.
1544 Add constraints to allow constant operands.
1545 (movsf_internal): Allow CONST_INT operands.
1546
1547 2003-05-27 Danny Smith <dannysmith@users.sourceforge.net>
1548
1549 * config.gcc (i[34567]86-*-mingw32*): Add host makefile
1550 fragment i386/x-mingw32.
1551 * config/i386/x-mingw32: New file. Make local_includedir
1552 relative to EXEC_PREFIX.
1553
1554 2003-05-27 Aaron W. LaFramboise <awlaframboise@aol.com>
1555
1556 * config/i386/mingw32.h (STANDARD_INCLUDE_DIR): Update.
1557 (MD_STARTFILE_PREFIX): Define.
1558
1559 2003-05-27 Denis Chertykov <denisc@overta.ru>
1560
1561 * cselib.c (cselib_invalidate_regno): Abort if hardreg have a
1562 VOIDmode.
1563 * cselib.c (cselib_process_insn): Pass reg_raw_mode for hardreg in
1564 call of cselib_invalidate_regno.
1565
1566 2003-05-28 Daniel Jacobowitz <drow@mvista.com>
1567
1568 * config/mips/linux.h (LIB_SPEC): Add missing -lc and correct
1569 -lthread to -lpthread.
1570
1571 2003-05-28 Eric Botcazou <ebotcazou@libertysurf.fr>
1572 Bruce Korb <bkorb@gnu.org>
1573 Arno Klaassen <arno@heho.snv.jussieu.fr>
1574
1575 * fixinc/inclhack.def: Add missing declaration of getpagesize()
1576 to unistd.h on Solaris 2.5.1.
1577 Fix prototype of recv() and send() in sys/socket.h on
1578 Solaris 2.5.1 and 2.6.
1579 * fixinc/tests/base/unistd.h: Add solaris_unistd fix test.
1580 * fixinc/tests/base/sys/socket.h: Add solaris_socket test.
1581 * fixinc/check.tpl: Use 'diff -c', not 'diff -u'.
1582 * fixinc/fixincl.x: Regenerate.
1583
1584 2003-05-27 Jason Merrill <jason@redhat.com>
1585
1586 * tree.c (expr_first, expr_length): New fns.
1587 * tree.h: Declare them.
1588
1589 * tree.c (iterative_hash_expr): Hash commutative expressions
1590 consistently.
1591
1592 2003-05-27 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1593
1594 * tree.h (contains_placeholder_p): Now returns bool.
1595 (CONTAINS_PLACEHOLDER_P): New macro.
1596 (type_contains_placeholder_p): New function.
1597 * tree.c (save_expr): Remove code avoiding folding COMPONENT_REF.
1598 (contains_placeholder_p): Now returns bool.
1599 Rework to use CONTAINS_PLACEHOLDER_P macro.
1600 (type_contains_placeholder_p): New function.
1601 * fold-const.c (fold, case COMPONENT_REF): Don't fold if
1602 type_contains_placeholder_p.
1603 (fold_range_test, fold_mathfn_compare, fold_inf_compare, fold):
1604 Use CONTAINS_PLACEHOLDER_P macro.
1605 * builtins.c (fold_builtin): Likewise.
1606 * calls.c (initialize_argument_information): Likewise.
1607 * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
1608 * explow.c (expr_size): Likewise.
1609 * expr.c (store_constructor, get_inner_reference): Likewise.
1610 * function.c (assign_parms): Likewise.
1611 * stor-layout.c (variable_size): Likewise.
1612
1613 2003-05-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
1614
1615 * diagnostic.h (output_verbatim, verbatim): Remove printf
1616 attribute.
1617
1618 2003-05-25 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1619
1620 * doc/contrib.texi (Contributors): Update Kean Johnston.
1621
1622 2003-05-24 David Edelsohn <edelsohn@gnu.org>
1623
1624 * config/rs6000/rs6000.md (save_fpregs_{si,di}): Add length attribute.
1625
1626 2003-05-24 Nathanael Nerode <neroden@gcc.gnu.org>
1627
1628 * config/rs6000/440.md, config/stormy16/stormy16protos.h,
1629 config/stormy16/stormy16.c, config/stormy16/stormy16.md:
1630 Replace "GNU CC" with "GCC".
1631
1632 2003-05-24 Matt Kraai <kraai@alumni.cmu.edu>
1633
1634 * builtins.c (expand_builtin_memcpy): Use mode of dest_addr for
1635 intermediate computation.
1636
1637 2003-05-23 Eric Christopher <echristo@redhat.com>
1638
1639 * config/mips/mips.md (clzsi, clzdi): New patterns.
1640
1641 2003-05-23 Geoffrey Keating <geoffk@apple.com>
1642
1643 * gcc.c (default_compilers): Use -o to specify preprocessor's output
1644 file. Make -no-integrated-cpp work when building PCH files.
1645 * objc/lang-specs.h: Likewise.
1646
1647 2003-05-23 Nathanael Nerode <neroden@gcc.gnu.org>
1648
1649 * fixinc/Makefile.in: Correct description.
1650 * fixinc/Makefile.in, fixinc/fixfixes.c, fixinc/fixincl.c,
1651 fixinc/fixlib.c, fixinc/fixlib.h, fixinc/fixtests.c,
1652 fixinc/genfixes: Replace "GNU CC" with "GCC".
1653
1654 2003-05-23 Roger Sayle <roger@eyesopen.com>
1655
1656 * builtins.def: Define atan, atanf, atanl, tan, tanf and tanl
1657 builtin functions (and their __builtin_* variants).
1658 * builtins.c (mathfn_built_in): Handle tan{,f,l} and atan{,f,l}.
1659 (expand_builtin): Don't expand tan{,f,l} or atan{,f,l} when not
1660 optimizing.
1661
1662 * doc/extend.texi: Document new tan and atan builtins, and
1663 their float and long double variants.
1664
1665 2003-05-23 Jason Thorpe <thorpej@wasabisystems.com>
1666
1667 * config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define
1668 __sparcv9 in the TARGET_ARCH64 case.
1669
1670 Fri May 23 22:17:32 CEST 2003 Jan Hubicka <jh@suse.cz>
1671
1672 * i386.c (ix86_reorg): Calls are also jumps.
1673
1674 2003-05-23 J"orn Rennecke <joern.rennecke@superh.com>
1675
1676 * cse.c (count_reg_usage): When processing an INSNs REG_EQUAL
1677 note containing an EXPR_LIST, process all the arguments.
1678
1679 Fri May 23 21:19:31 CEST 2003 Jan Hubicka <jh@suse.cz>
1680 Andreas Jaeger <aj@suse.de>
1681
1682 * i386.h (TARGET_CPU_CPP_BUILTINS): Define __amd64 and __amd64__;
1683 do not use assertion.
1684
1685 2003-05-23 Mike Stump <mrs@apple.com>
1686
1687 * tlink.c (scan_linker_output): Add support for darwin linker, as it
1688 emits unresolved symbols one per line, consuming the entire line.
1689
1690 2003-05-23 Larin Hennessy <larin@science.oregonstate.edu>
1691 Zack Weinberg <zack@codesourcery.com>
1692
1693 * explow.c (allocate_dynamic_stack_space): Remove call to gen_probe.
1694 * config/m68k/m68k.c (m68k_output_function_prologue):
1695 Remove code under #if NEED_PROBE.
1696 * config/m68k/m68k.h: Don't define NEED_PROBE.
1697 * config/m68k/m68k.md: Remove "probe" insn.
1698 * doc/md.texi: Remove documentation of "probe" pattern.
1699
1700 2003-05-23 Dorit Naishlos <gcchaifa@il.ibm.com>
1701
1702 * config/rs6000/rs6000.md (save_fpregs_{si,di}): Add branch attribute.
1703
1704 2003-05-23 Eric Botcazou <ebotcazou@libertysurf.fr>
1705
1706 * doc/install.texi: Remove sparc64-*-*. Add sparc64-*-solaris2*.
1707 Document sparcv9-*-solaris2* as a synonym for sparc64-*-solaris2*.
1708
1709 2003-05-22 Roger Sayle <roger@eyesopen.com>
1710
1711 * real.c (real_maxval): New function to return the largest finite
1712 value representable in a given mode (i.e. FLT_MAX and DBL_MAX).
1713 * real.h (real_maxval): Prototype here.
1714 * fold-const.c (fold_inf_compare): Transform comparisons against
1715 +-Infinity into comparisons against DBL_MAX (or equivalent).
1716
1717 2003-05-22 Mike Stump <mrs@apple.com>
1718
1719 * config.gcc (*-*-darwin*): Remove use_collect2=no, as it is the
1720 default.
1721
1722 2003-05-22 DJ Delorie <dj@redhat.com>
1723
1724 * calls.c (expand_call): If the arg block is going to grow
1725 downward, we need argblock to point to the top of the block,
1726 not the bottom.
1727
1728 2003-05-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1729
1730 * c-decl.c (duplicate_decls): Test DECL for ERROR_MARK.
1731
1732 * expr.c (expand_expr, case CONSTRUCTOR): Put into memory if
1733 constant and EXPAND_CONST_ADDRESS, not just EXPAND_INITIALIZER.
1734
1735 2003-05-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1736
1737 * m68hc11.c: Don't use the `0' flag for asm_fprintf specifiers.
1738 * m68k.c: Likewise.
1739 * m68k.h: Likewise.
1740
1741 2003-05-22 Zack Weinberg <zack@codesourcery.com>
1742
1743 PR other/2873
1744 * fixinc/inclhack.def (avoid_wchar_t_type): Add bypass
1745 expressions to prevent triggering on recent curses.h,
1746 linux/nls.h, or X11/Xlib.h.
1747 (stdio_va_list): Add _G_va_list to bypass pattern.
1748 (strict_ansi_not): Add bypass pattern for __SCO_VERSION__.
1749 * fixinc/fixincl.x: Regenerate.
1750
1751 2003-05-22 Rekha Bhintade <rekhad@kpitcummins.com>
1752
1753 * gcc/config/sh/sh.h (TARGET_SWITCHES): Display all the target
1754 switches when --target-help option is specified.
1755
1756 2003-05-22 Eric Botcazou <ebotcazou@libertysurf.fr>
1757
1758 PR bootstrap/10805
1759 * doc/install.texi (sparc-sun-solaris2.7): Document bootstrap
1760 failure with Sun assembler 5.0 Alpha 03/27/98.
1761
1762 2003-05-21 Loren James Rittle <ljrittle@acm.org>
1763
1764 * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Add -D__sparcv9
1765 to match system compiler convention.
1766
1767 2003-05-21 Danny Smith <dannysmith@users.sourceforge.net>
1768
1769 * gthr-win32.h (__GTHREAD_HIDE_WIN32API): Test for non-zero
1770 value, not just if defined.
1771 Update copyright year.
1772
1773 2003-05-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1774
1775 PR target/6428
1776 * pa-hpux10.h (LINK_SPEC, LIB_SPEC): Move -L options for profiling
1777 directories from LIB_SPEC to LINK_SPEC. Emit warning if `-p' or `-pg'
1778 option is used without `-static'.
1779 * pa-hpux11.h (LINK_SPEC, LIB_SPEC): Likewise.
1780 * pa64-hpux.h (LINK_SPEC, LIB_SPEC): Likewise.
1781
1782 2003-05-21 Bob Wilson <bob.wilson@acm.org>
1783
1784 * config/xtensa/xtensa.h (MASK_SERIALIZE_VOLATILE,
1785 TARGET_SERIALIZE_VOLATILE): Delete.
1786 (MASK_CONST16, MASK_ABS, MASK_ADDX): Renumber flag bits.
1787 (TARGET_DEFAULT): Remove MASK_SERIALIZE_VOLATILE.
1788 (TARGET_SWITCHES): Remove "-mserialize-volatile" and
1789 "-mno-serialize-volatile".
1790 * config/xtensa/xtensa.c (print_operand): Remove checks of
1791 TARGET_SERIALIZE_VOLATILE.
1792 * config/xtensa/xtensa.md (*lsiu, *ssiu): Likewise.
1793 * doc/invoke.texi (Option Summary, Xtensa Options): Remove
1794 "-mserialize-volatile" and "-mno-serialize-volatile" options.
1795
1796 2003-05-21 Nathan Sidwell <nathan@codesourcery.com>
1797
1798 * c-parse.in (fndef): Set DECL_SOURCE_LINE and FILE earlier.
1799 (nested_function): Likewise.
1800 (notype_nested_function): Likewise.
1801
1802 2003-05-21 Nick Clifton <nickc@redhat.com>
1803
1804 * config/stormy16/stormy-abi: Update overflow type for
1805 R_XSTORMY16_16 reloc.
1806
1807 2003-05-21 Nathan Sidwell <nathan@codesourcery.com>
1808
1809 * c-common.h (enum rid): Remove RID_BOUNDED, RID_UNBOUNDED.
1810 * c-parse.in (reswords): Remove __bounded__ and __unbounded__.
1811 (rid_to_yy): Remove RID_BOUNDED, RID_UNBOUNDED slots.
1812 * print-tree.c (print_node): Remove ambient-boundedness.
1813 * tree.h (tree_common): Remove bounded_flag.
1814 (BOUNDED_INDIRECT_YPE_P, BOUNDED_POINTER_TYPE_P,
1815 BOUNDED_REFERENCE_TYPE_P, MAYBE_BOUNDED_INDIRECT_TYPE_P,
1816 MAYBE_BOUNDED_POINTER_TYPE_P, MAYBE_BOUNDED_REFERENCE_TYPE_P,
1817 TREE_BOUNDED, TYPE_MAIN_VARIANTS_PHYSICALLY_EQUAL_P,
1818 TYPE_MAIN_PHYSICAL_VARIANT, TYPE_BOUNDED, TYPE_QUAL_BOUNDED):
1819 Remove.
1820 (TYPE_QUALS): Remove BOUNDED.
1821 (TREE_EXPR_QUALS, TREE_FUNC_QUALS): Remove.
1822 (TYPE_BOUNDED_VALUE, TYPE_BOUNDED_BASE, TYPE_BOUNDED_EXTENT,
1823 TYPE_BOUNDED_SUBTYPE, TYPE_UNBOUNDED_VARIANT, TYPE_POINTER_DEPTH,
1824 TYPE_AMBIENT_BOUNDEDNESS, MAX_POINTER_DEPT,
1825 VA_LIST_POINTER_DEPTH): Remove.
1826 (struct tree_type): Remove pointer_depth.
1827
1828 2003-05-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1829
1830 * c-pretty-print.c (pp_c_integer_literal): Use
1831 HOST_WIDE_INT_PRINT_DOUBLE_HEX.
1832
1833 2003-05-20 Roger Sayle <roger@eyesopen.com>
1834 Kazu Hirata <kazu@cs.umass.edu>
1835 Joern Rennecke <joern.rennecke@superh.com>
1836
1837 * gcse.c (cprop_jump): Make use of REG_EQUAL notes on both
1838 setcc and jump, if they exist. If substituted instruction
1839 fails to validate, store current effort in a REG_EQUAL note.
1840 (cprop_insn): Don't attempt further substitutions if the
1841 current instruction has been deleted.
1842 (local_cprop_pass): Likewise.
1843
1844 * jump.c (redirect_jump): Also update REG_EQUAL note, if
1845 one is attached to the jump instruction.
1846 (invert_jump): Delete REG_EQUAL note on jump, if one exists.
1847
1848 2003-05-21 Danny Smith <dannysmith@users.sourceforge.net>
1849
1850 PR c++/9738
1851 * config/i386/winnt.c (i386_pe_encode_section_info): Enable
1852 even if not first.
1853
1854 2003-05-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1855
1856 * genautomata.c (output_description, output_automaton_units,
1857 output_state_arcs): Add missing specifiers.
1858
1859 2003-05-20 Bob Wilson <bob.wilson@acm.org>
1860
1861 * config/xtensa/lib1funcs.asm: Avoid use of .Lfe* in .size directives.
1862 (do_abs, do_addx2, do_addx4, do_addx8): New assembler macros.
1863 (__mulsi3): Use do_addx* instead of ADDX* instructions. Formatting.
1864 (nsau): Rename to do_nsau. Provide alternate version for use when
1865 the NSAU instruction is available.
1866 (__udivsi3, __divsi3, __umodsi3, __modsi3): Use do_nsau macro.
1867 (__divsi3, __modsi3): Use do_abs macro instead of ABS instruction.
1868 * config/xtensa/xtensa-config.h: Update comments to match binutils.
1869 (XCHAL_HAVE_ABS, XCHAL_HAVE_ADDX): Define.
1870 * config/xtensa/xtensa.h (MASK_ABS, MASK_ADDX): Define.
1871 (TARGET_ABS, TARGET_ADDX): Define.
1872 (TARGET_DEFAULT): Conditionally add MASK_ABS and MASK_ADDX.
1873 (TARGET_SWITCHES): Add "abs", "no-abs", "addx", and "no-addx".
1874 * config/xtensa/xtensa.md (*addx2, *addx4, *addx8, *subx2, *subx4,
1875 *subx8): Set predicate condition to TARGET_ADDX.
1876 (abssi2): Set predicate condition to TARGET_ABS.
1877 * doc/invoke.texi (Option Summary): Document new "-mabs", "-mno-abs",
1878 "-maddx", and "-mno-addx" options.
1879 (Xtensa Options): Likewise. Also tag some opcode names with @code.
1880
1881 2003-05-20 Kevin Ryde <user42@zip.com.au>
1882 Wolfgang Bangerth <bangerth@dealii.org>
1883
1884 PR/10355
1885 * doc/extend.texi: Put a warning into the documentation
1886 of attribute regparm.
1887
1888 2003-05-20 Jason Merrill <jason@redhat.com>
1889
1890 * tree.c (expr_last): New fn.
1891 * tree.h: Declare it.
1892 * objc/objc-act (expr_last): Rename to objc_expr_last.
1893
1894 2003-05-20 J"orn Rennecke <joern.rennecke@superh.com>
1895
1896 * sh.c (sh_register_move_cost): Add clase for moving between
1897 FP registers and MAC registers.
1898
1899 2003-05-19 John David Anglin <dave.anglin@nrc-gnrc.gc.ca>
1900
1901 * pa/milli64.S ($$mulI): Fix typo.
1902
1903 2003-05-19 Matt Kraai <kraai@alumni.cmu.edu>
1904
1905 * alias.c (nonlocal_mentioned_p, nonlocal_referenced_p)
1906 (nonlocal_set_p): Remove initial blank line.
1907 * dwarf2out.c (simple_type_size_in_bits): Likewise.
1908 * et-forest.c (et_forest_create): Likewise.
1909 * explow.c (stabilize): Likewise.
1910 * fix-header.c (write_lbrac): Likewise.
1911 * graph.c (start_fct, node_data): Likewise.
1912 * jump.c (only_sets_cc0_p, sets_cc0_p): Likewise.
1913 * rtlanal.c (global_reg_mentioned_p): Likewise.
1914 * tree.c (bit_position): Likewise.
1915
1916 2003-05-19 Alexandre Oliva <aoliva@redhat.com>
1917
1918 * config/mips/linux64.h (LIB_SPEC): Add missing -lc and correct
1919 -lthread to -lpthread.
1920
1921 2003-05-19 Neil Booth <neil@daikokuya.co.uk>
1922
1923 * c-opts.c (c_common_decode_option): Don't accept dollars
1924 as identifier characters in assembly.
1925 * doc/cpp.texi: Document this.
1926
1927 2003-05-19 Seth Arnold <sarnold@wirex.com>
1928 Aldy Hernandez <aldyh@redhat.com>
1929
1930 * config/rs6000/rs6000.c (rs6000_stack_info): Do not add
1931 vrsave_size twice.
1932
1933 2003-05-19 Aldy Hernandez <aldyh@redhat.com>
1934
1935 * doc/tm.texi (function_arg): Fix typo.
1936
1937 2003-05-19 Matt Austern <austern@apple.com>
1938
1939 * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-offsetof option.
1940 * c-common.h (warn_invalid_offsetof): Declare.
1941 * c-common.c (warn_invalid_offsetof): Define.
1942 * doc/invoke.texi: Document -Winvalid-offsetof.
1943 * testsuite/g++.dg/other/offsetof3.C: New.
1944 * testsuite/g++.dg/other/offsetof4.C: New.
1945
1946 2003-05-19 Kevin B. Hendricks <kevin.hendricks@sympatico.ca>
1947 David Edelsohn <edelsohn@gnu.org>
1948
1949 * config/rs6000/rs6000.c (rs6000_alignment_string,
1950 rs6000_alignment_flags): New variables.
1951 (rs6000_parse_alignment_option): New function.
1952 (rs6000_override_options): Call it.
1953 * config/rs6000/rs6000.h (TARGET_OPTIONS): Add -malign-XXX option.
1954 (MASK_ALIGN_POWER, MASK_ALIGN_NATURAL, TARGET_ALIGN_NATURAL): New
1955 macros.
1956 * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Always use COMPUTED
1957 natural alignment if TARGET_NATURAL_ALIGNMENT
1958 (ROUND_TYPE_ALIGN): Always use default record alignment if
1959 TAGET_NATURAL_ALIGNMENT.
1960 * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Same
1961 (ROUND_TYPE_ALIGN): Same.
1962 * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Same
1963 (ROUND_TYPE_ALIGN): Same.
1964 * doc/invoke.texi (Option Summary, PowerPC Options): Document
1965 new options.
1966
1967 2003-05-19 J"orn Rennecke <joern.rennecke@superh.com>
1968
1969 * c-decl.c (finish_decl): When setting the DECL_ASSEMBLER_NAME
1970 of a function using ASMSPEC, prepend a star.
1971
1972 2003-05-19 Jason Merrill <jason@redhat.com>
1973
1974 * tree-inline.c (copy_body_r): Avoid generating &* during inline
1975 substitution.
1976
1977 2003-05-19 Andrew Macleod <amacleod@redhat.com>
1978
1979 * config/stormy16/stormy16.c (xstormy16_expand_prologue): Do
1980 not mark assignments to the hard frame pointer as being stack
1981 frame related.
1982 (xstormy16_expand_epilogue): Mark adjustments to the stack
1983 pointer as being stack frame related.
1984
1985 2003-05-19 Richard Sandiford <rsandifo@redhat.com>
1986
1987 * config/mips/mips.h (ISA_HAS_LOAD_DELAY, ISA_HAS_XFER_DELAY,
1988 ISA_HAS_FCMP_DELAY, ISA_HAS_HILO_INTERLOCKS): New macros.
1989 (PREDICATE_CODES): Add hilo_operand.
1990 * config/mips/mips.c (hilo_operand): New predicate.
1991 (mips_adjust_insn_length): Account for the number nops that might
1992 be needed to avoid hardware hazards.
1993 * config/mips/mips.md (dslot): Remove attribute.
1994 (hazard): New attribute.
1995 (can_delay): Use it. Check for calls, branches & jumps.
1996 (muldi3): Use the standard dmult pattern for mips16 code.
1997 (muldi3_internal, muldi3_internal2): Adjust conditions accordingly.
1998
1999 2003-05-19 Richard Sandiford <rsandifo@redhat.com>
2000
2001 * config/mips/mips-protos.h (final_prescan_insn,
2002 mips_count_memory_refs, mips_fill_delay_slot): Remove.
2003 * config/mips/mips.h (delay_type, dslots_load_total,
2004 dslots_load_filled, dslots_jump_total, dslots_jump_filled,
2005 dslots_number_nops, num_refs, mips_load_reg, mips_load_reg2,
2006 mips_load_reg3, mips_load_reg4): Remove.
2007 (MASK_STATS): Remove.
2008 (MASK_EXPLICIT_RELOCS): Reuse its value.
2009 (TARGET_STATS): Remove.
2010 (TARGET_SWITCHES): Turn -mstats and -mno-stats into no-ops.
2011 Warn that -mstats is now ignored.
2012 (FINAL_PRESCAN_INSN): Undefine.
2013 (DBR_OUTPUT_SEQEND): Remove handling of dslot statistics.
2014 (ASM_OUTPUT_REG_POP): Likewise.
2015 * config/mips/mips.c (dslots_load_total, dslots_load_filled,
2016 dslots_jump_total, dslots_jump_filled, dslots_number_nops, num_refs,
2017 mips_load_reg, mips_load_reg2, mips_load_reg3, mips_load_reg4,
2018 mips_fill_delay_slot, mips_count_memory_refs,
2019 final_prescan_insn): Remove.
2020 (output_block_move): Remove calls to mips_count_memory_refs.
2021 (print_operand): Remove printing of #nop for TARGET_STATS.
2022 (mips_output_function_epilogue): Remove TARGET_STATS code.
2023 Reorganize setting of fnnmae.
2024 * config/mips/mips.md: Remove handling of dslot statistics
2025 throughout file. Change all fcmp patterns into normal asm
2026 templates, removing calls to mips_fill_delay_slot.
2027 * doc/invoke.texi: Remove documentation of -mstats.
2028
2029 2003-05-19 Richard Sandiford <rsandifo@redhat.com>
2030
2031 * config/mips/mips.c (mips_class_max_nregs): Return the number of
2032 words in the mode.
2033
2034 2003-05-19 Richard Sandiford <rsandifo@redhat.com>
2035
2036 * config/mips/mips.c (override_options): Disable explicit
2037 relocs for old ABIs unless using gas.
2038
2039 2003-05-18 Eric Christopher <echristo@redhat.com>
2040
2041 * config/mips/mips.h: Remove definition of g_switch_value.
2042
2043 2003-05-18 Matt Kraai <kraai@alumni.cmu.edu>
2044
2045 * flags.h (g_switch_value): Change to an unsigned
2046 HOST_WIDE_INT.
2047 * toplev.c (g_switch_value): Likewise.
2048
2049 * config/alpha/alpha.c (small_symbolic_operand): Remove
2050 g_switch_value cast.
2051 (alpha_in_small_data_p): Cast size to an unsigned
2052 HOST_WIDE_INT.
2053
2054 * config/frv/frv.c (frv_in_small_data_p): Cast size to an
2055 unsigned HOST_WIDE_INT.
2056 * config/frv/frv.h (g_switch_value, g_switch_set): Remove.
2057 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Declare g_switch_set.
2058
2059 * config/m32r/m32r.c (m32r_in_small_data_p): Cast size to an
2060 unsigned HOST_WIDE_INT.
2061 (m32r_asm_file_start): Use HOST_WIDE_INT_PRINT_UNSIGNED.
2062 * config/m32r/m32r.h (g_switch_value, g_switch_set): Remove.
2063 (ASM_OUTPUT_ALIGNED_COMMON): Declare g_switch_value.
2064
2065 * config/rs6000/rs6000.c (rs6000_file_start): Use
2066 HOST_WIDE_INT_PRINT_UNSIGNED.
2067 (small_data_operand): Cast summand to unsigned HOST_WIDE_INT.
2068 (rs6000_elf_in_small_data_p): Cast size to unsigned
2069 HOST_WIDE_INT.
2070 * config/rs6000/sysv4.h (g_switch_value, g_switch_set):
2071 Remove.
2072 (SUBTARGET_OVERRIDE_OPTIONS): Declare g_switch_value and
2073 g_switch_set.
2074 (ASM_OUTPUT_ALIGNED_LOCAL): Declare g_switch_value and remove
2075 g_switch_value cast.
2076
2077 2003-05-18 Roger Sayle <roger@eyesopen.com>
2078 Zack Weinberg <zack@codesourcery.com>
2079
2080 PR middle-end/10472
2081 * builtins.c (expand_builtin_memcpy): Call force_operand on
2082 expressions and use simplify_gen_binary to create the addition.
2083
2084 2003-05-18 Andreas Schwab <schwab@suse.de>
2085
2086 * config/m68k/m68k.md: Use define_constants for unspec numbers.
2087
2088 2003-05-18 Neil Booth <neil@daikokuya.co.uk>
2089
2090 * config/sparc/sparc.h: Define sparc for now.
2091 2003-05-18 Nathanael Nerode <neroden@gcc.gnu.org>
2092
2093 * config.gcc: Clear xm_file, md_file at the beginning of each pass.
2094
2095 * config/stormy16/stormy16.h: Remove about 3000 lines of
2096 target-independent comments. Update copyright notice.
2097
2098 * doc/collect2.texi: GNU CC -> GCC.
2099 * doc/headerdirs.texi: GNU CC -> GCC.
2100
2101 2003-05-18 Gabriel Dos Reis <gdr@integrable-solutions.net>
2102
2103 * hashtable.h (struct ht_identifier): Add data member "hash_value".
2104 * hashtable.c (ht_lookup): Use it when searching, remember.
2105 (ht_expand): Do not recompute.
2106 * tree.h (IDENTIFIER_HASH_VALUE): New macro.
2107
2108 2003-05-18 Nathan Sidwell <nathan@codesourcery.com>
2109
2110 * gcov-io.c (gcov_read_bytes): Fix fread thinko.
2111
2112 2003-05-18 Neil Booth <neil@daikokuya.co.uk>
2113
2114 * c-cppbuiltin.c (TARGET_OS_CPP_BUILTINS, TARGET_OBJFMT_CPP_BUILTINS):
2115 Default here.
2116 (c_cpp_builtins): Invoke TARGET_OBJFMT_CPP_BUILTINS().
2117 * defaults.h: Don't default TARGET_OS_CPP_BUILTINS here.
2118 * config/elfos.h (TARGET_OBJFMT_CPP_BUILTINS): Define __ELF__.
2119 * config/freebsd-spec.h, config/netbsd-elf.h, config/alpha/gnu.h,
2120 config/arm/linux-elf.h, config/arm/rtems-elf.h,
2121 config/arm/unknown-elf.h, config/cris/cris.h, config/cris/linux.h,
2122 config/h8300/elf.h, config/i370/linux.h, config/i386/beos-elf.h,
2123 config/i386/gnu.h, config/i386/linux.h, config/i386/linux64.h,
2124 config/i386/moss.h, config/i386/rtemself.h, config/ia64/ia64.h,
2125 config/m68k/rtemself.h, config/mcore/mcore-elf.h, config/mips/linux.h,
2126 config/pa/pa-linux.h, config/rs6000/linux.h, config/rs6000/linux64.h,
2127 config/rs6000/sysv4.h, config/rs6000/vxworks.h, config/s390/linux.h,
2128 config/sh/coff.h, config/sh/elf.h, config/sh/rtemself.h,
2129 config/sh/sh.h, config/sparc/linux.h, config/sparc/linux64.h,
2130 config/sparc/openbsd64.h, config/sparc/sp64-elf.h,
2131 config/sparc/sp86x-elf.h, config/xtensa/elf.h, config/xtensa/linux.h:
2132 Don't define __ELF__.
2133 * config/alpha.h, config/m68k/linux.h (TARGET_OBJFMT_CPP_BUILTINS):
2134 Define __ELF__.
2135 * doc/cpp.texi: Document __ELF__.
2136 * doc/tm.texi: Document TARGET_OBJFMT_CPP_BUILTINS. *
2137
2138 2003-05-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2139
2140 * builtins.c (validate_arglist): Eliminate libiberty VA_ macros,
2141 always use stdarg.
2142 * c-errors.c (pedwarn_c99): Likewise.
2143 * c-format.c (status_warning): Likewise.
2144 * c-semantics.c (build_stmt): Likewise.
2145 * calls.c (emit_library_call, emit_library_call_value): Likewise.
2146 * collect2.c (notice, fatal_perror, fatal, error): Likewise.
2147 * cpperror.c (cpp_error, cpp_error_with_line): Likewise.
2148 * diagnostic.c (build_message_string, output_printf,
2149 output_verbatim, verbatim, inform, warning, pedwarn, error, sorry,
2150 fatal_error, internal_error, warning_with_decl, pedwarn_with_decl,
2151 error_with_decl, fnotice): Likewise.
2152 * dwarf2asm.c (dw2_asm_output_data, dw2_asm_output_delta,
2153 dw2_asm_output_offset, dw2_asm_output_pcrel, dw2_asm_output_addr,
2154 dw2_asm_output_addr_rtx, dw2_asm_output_nstring,
2155 dw2_asm_output_data_uleb128, dw2_asm_output_data_sleb128,
2156 dw2_asm_output_delta_uleb128, dw2_asm_output_delta_sleb128,
2157 dw2_asm_output_encoded_addr_rtx): Likewise.
2158 * emit-rtl.c (gen_rtx, gen_rtvec): Likewise.
2159 * errors.c (warning, error, fatal, internal_error): Likewise.
2160 * final.c (output_operand_lossage, asm_fprintf): Likewise.
2161 * fix-header.c (fatal): Likewise.
2162 * gcc.c (fatal, error, notice): Likewise.
2163 * gcov.c (fnotice): Likewise.
2164 * genattrtab.c (attr_rtx, attr_printf): Likewise.
2165 * gengtype.c (error_at_line, xasprintf, oprintf): Likewise.
2166 * gensupport.c (message_with_line): Likewise.
2167 * mips-tfile.c (fatal, error): Likewise.
2168 * protoize.c (notice): Likewise.
2169 * ra-debug.c (ra_debug_msg): Likewise.
2170 * read-rtl.c (fatal_with_file_and_line): Likewise.
2171 * rtl-error.c (error_for_asm, warning_for_asm): Likewise.
2172 * tree.c (build, build_nt, build_function_type_list): Likewise.
2173
2174 2003-05-17 Neil Booth <neil@daikokuya.co.uk>
2175
2176 * defaults.h (TARGET_CPU_CPP_BUILTINS, CPP_PREDEFINES): Remove.
2177 * gcc.c (cpp_predefines): Remove.
2178 (cpp_unique_options, do_spec_1): Remove handling of CPP_PREDEFINES.
2179 (static_specs): Remove predefines.
2180 * system.h: Poison CPP_PREDEFINES.
2181 * config/freebsd.h, config/openbsd.h, config/ptx4.h, config/svr3.h,
2182 config/svr4.h, doc/tm.texi: Remove references to CPP_PREDEFINES.
2183
2184 2003-05-17 Neil Booth <neil@daikokuya.co.uk>
2185
2186 * config/m68k/hp320.h, config/m68k/linux.h, config/m68k/m68k-none.h,
2187 config/m68k/m68k.h, config/m68k/m68kemb.h, config/m68k/m68kv4.h,
2188 config/m68k/openbsd.h, config/m68k/rtemself.h: Remove CPP_PREDEFINES,
2189 use TARGET_OS_CPP_BUILTINS and TARGET_CPU_CPP_BUILTINS instead.
2190
2191 2003-05-17 Neil Booth <neil@daikokuya.co.uk>
2192
2193 PR c/9209
2194 * c-common.c, c-common.h (dollars_in_ident): Remove.
2195 * c-opts.c (DOLLARS_IN_IDENTIFIERS): Default to true.
2196 (c_common_init_options, c_common_decode_option): Set dollars_in_ident.
2197 * cpphash.h (warned_dollar): Rename warn_dollars.
2198 * cppinit.c (struct lang_flags, lang_defaults, cpp_set_lang)
2199 Permit dollars regardless of -std=.
2200 (post_options): Set warn_dollars.
2201 * cpplex.c (forms_identifier_p): Use warn_dollars.
2202 * config/darwin.h, config/alpha/vms.h, config/m68hc11/m68hc11.h:
2203 Remove redundant definitions of DOLLARS_IN_IDENTIFIERS.
2204 * doc/cpp.texi, doc/cppopts.texi, doc/invoke.texi, doc/tm.texi:
2205 Update documentation.
2206
2207 2003-05-17 Andreas Schwab <schwab@suse.de>
2208
2209 * config/m68k/m68k.c (m68k_output_function_prologue): Use
2210 HOST_WIDE_INT_PRINT_DEC for fprintf and %wd for asm_fprintf when
2211 formatting a HOST_WIDE_INT.
2212 (m68k_output_function_epilogue): Likewise.
2213
2214 2003-05-17 Zack Weinberg <zack@codesourcery.com>
2215
2216 * doc/install.texi: Remove information about desupported targets.
2217
2218 2003-05-17 Andreas Schwab <schwab@suse.de>
2219
2220 * config/m68k/coff.h: Remove support for Sun FPA and Sun SKY board.
2221 * config/m68k/linux.h: Likewise.
2222 * config/m68k/m68k-none.h: Likewise.
2223 * config/m68k/netbsd-elf.h: Likewise.
2224 * config/m68k/sgs.h: Likewise.
2225 * config/m68k/m68k.h: Likewise.
2226 * config/m68k/m68k.md: Likewise.
2227 * config/m68k/m68k.c: Likewise.
2228 * doc/md.texi (Machine Constraints): Remove Sun FPA specific
2229 constraints.
2230 * doc/invoke.texi (Option Summary): Remove -mfpa.
2231 (M680x0 Options): Likewise.
2232
2233 2003-05-17 David Edelsohn <edelsohn@gnu.org>
2234
2235 * rs6000.c (rs6000_function_value): Simplify REAL_TYPE logic.
2236
2237 2003-05-17 Neil Booth <neil@daikokuya.co.uk>
2238
2239 * config/sol2.h: Add TARGET_SUB_OS_CPP_BUILTINS.
2240 * config/sparc/liteelf.h, config/sparc/openbsd64.h,
2241 config/sparc/rtemself.h, config/sparc/sol2-64.h,
2242 config/sparc/sp64-elf.h, config/sparc/sp86x-elf.h:
2243 Update for use of TARGET_SUB_OS_CPP_BUILTINS.
2244
2245 2003-05-17 Neil Booth <neil@daikokuya.co.uk>
2246
2247 * i960/i960.h, i960/rtems.h: Use TARGET_OS_CPP_BUILTINS and
2248 TARGET_CPU_CPP_BUILTINS in preference to CPP_PREDEFINES.
2249
2250 2003-05-17 Neil Booth <neil@daikokuya.co.uk>
2251
2252 * config.gcc (sparc-*-sysv4*): Add sparc/sysv4-only.h.
2253 * sparc/aout.h, sparc/elf.h, sparc/freebsd.h, sparc/linux.h,
2254 sparc/linux64.h, sparc/lite.h, sparc/litecoff.h, sparc/liteelf.h,
2255 sparc/netbsd-elf.h, sparc/openbsd.h, sparc/openbsd64.h,
2256 sparc/pbd.h, sparc/rtemself.h, sparc/sol2-64.h, sparc/sol2-bi.h,
2257 sparc/sol2.h, sparc/sp64-elf.h, sparc/sp86-elf.h, sparc/sparc.h,
2258 sparc/sysv4.h,
2259 * sparc/sysv4-only.h: New.
2260
2261 2003-05-17 Alan Modra <amodra@bigpond.net.au>
2262
2263 * function.c (assign_parms): Check for zero size args.
2264
2265 2003-05-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2266
2267 * cfgloopanal.c (test_for_iteration): Use string concatentation on
2268 HOST_WIDE_INT_PRINT_* format specifier to collapse multiple
2269 function calls into one.
2270 * dbxout.c (dbxout_symbol): Likewise.
2271 * defaults.h (ASM_OUTPUT_SIZE_DIRECTIVE): Likewise.
2272 * dwarf2asm.c (dw2_asm_output_data_uleb128,
2273 dw2_asm_output_data_sleb128): Likewise.
2274 * genrecog.c (debug_decision_2): Likewise.
2275 * loop.c (emit_prefetch_instructions): Likewise.
2276 * print-rtl.c (print_rtx): Likewise.
2277 * print-tree.c (print_node_brief, print_node): Likewise.
2278 * ra-debug.c (dump_igraph, dump_graph_cost,
2279 dump_static_insn_cost): Likewise.
2280 * ra-rewrite.c (dump_cost): Likewise.
2281 * sdbout.c (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
2282 * sreal.c (dump_sreal): Likewise.
2283 * unroll.c (unroll_loop, precondition_loop_p): Likewise.
2284 * varasm.c (assemble_vtable_entry): Likewise.
2285
2286 * avr.c (avr_output_function_prologue,
2287 avr_output_function_epilogue, print_operand): Fix format specifier
2288 warnings.
2289 (init_cumulative_args): Mark parameter with ATTRIBUTE_UNUSED.
2290 * avr.h (FUNCTION_VALUE_REGNO_P): Fix signed/unsigned warnings.
2291
2292 2003-05-16 Geoffrey Keating <geoffk@apple.com>
2293
2294 * config/rs6000/rs6000.c (expand_block_move): Unify the TARGET_STRING
2295 and ! TARGET_STRING cases.
2296
2297 * doc/cppopts.texi (-undef): Fix texinfo warning.
2298
2299 * doc/cppopts.texi (-H): Document that -H works for PCH files too.
2300 * cppfiles.c (validate_pch): When -H is used, print some information
2301 about PCH files found.
2302
2303 2003-05-16 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2304
2305 * config/mips/t-elf: Remove obsolete rules adding dependencies on tm.h.
2306 * config/mips/t-isa3264, config/mips/t-r3900: Likewise.
2307 * config/mips/t-sr71k: Likewise.
2308
2309 2003-05-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2310
2311 * arc.c (arc_output_function_prologue,
2312 arc_output_function_epilogue): Fix format specifier warnings.
2313 * arc.h (LARGE_INT): Fix signed/unsigned warnings.
2314
2315 * v850.c (print_operand): Fix format specifier warnings.
2316
2317 * ns32k.c (ADJSP, ns32k_output_function_prologue): Fix format
2318 specifier warnings.
2319
2320 * mcore.c (mcore_print_operand_address, mcore_print_operand): Fix
2321 format specifier warnings.
2322
2323 * ip2k.c (function_prologue, function_epilogue, print_operand):
2324 Fix format specifier warnings.
2325 * ip2k.md: Likewise.
2326
2327 * i960.c (i960_output_function_prologue, i960_print_operand,
2328 i960_print_operand_addr): Fix format specifier warnings.
2329
2330 * i370.c (ascebc, ebcasc): Wrap in macros controlling usage.
2331 (i370_output_function_prologue): Fix format specifier warnings.
2332 * i370.h (PRINT_OPERAND): Likewise.
2333
2334 * fr30.c (fr30_print_operand): Fix format specifier warnings.
2335
2336 * dsp16xx.c (print_operand_address): Fix format specifier warning.
2337 * dsp16xx.h (INCLUDE_DEFAULTS): Add missing initializers.
2338
2339 * c4x.c (c4x_print_operand, c4x_print_operand_address): Fix format
2340 specifier warnings.
2341
2342 * alpha.c (print_operand_address, alpha_start_function,
2343 unicosmk_output_ssib): Use string concatentation on
2344 HOST_WIDE_INT_PRINT_* format specifier to collapse multiple
2345 function calls into one.
2346 * arm.c (arm_print_operand): Likewise.
2347 * cris.c (cris_asm_output_mi_thunk): Likewise.
2348 * frv.c (frv_asm_output_mi_thunk): Likewise.
2349 * ia64.c (ia64_print_operand, process_set): Likewise.
2350 * m68k.c (m68k_output_function_epilogue, m68k_output_mi_thunk):
2351 Likewise.
2352 * mips/iris5gas.h (PUT_SDB_SIZE): Likewise.
2353 * mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
2354 * pa.c (output_div_insn, pa_asm_output_mi_thunk): Likewise.
2355 * pa.h (PRINT_OPERAND_ADDRESS): Likewise.
2356 * rs6000.c (rs6000_va_start, print_operand_address): Likewise.
2357 * s390.c (s390_assemble_integer): Likewise.
2358 * sparc.c (sparc_flat_function_prologue,
2359 sparc_flat_function_epilogue): Likewise.
2360 * stormy16.c (xstormy16_print_operand_address, xstormy16_print_operand): Likewise.
2361 * vax.c (vax_output_mi_thunk): Likewise.
2362
2363 * frv.c (frv_print_operand_memory_reference): Fix format specifier
2364 warning.
2365 (frv_rtx_costs): Mark parameter with ATTRIBUTE_UNUSED.
2366
2367 * m68k.c (m68k_output_function_epilogue): Fix format specifier
2368 warnings.
2369
2370 * stormy16-protos.h (xs_hi_general_operand,
2371 xs_hi_nonmemory_operand): Prototype.
2372 * stormy16.c (xstormy16_output_shift): Fix format specifier
2373 warnings.
2374
2375 * cris.c: Fix format specifier warnings.
2376
2377 2003-05-16 Nick Clifton <nickc@redhat.com>
2378
2379 * config/arm/lib1funcs.asm: Fix typo: LSM instead of LSYM.
2380
2381 2003-05-16 Wolfgang Bangerth <bangerth@dealii.org>
2382
2383 * doc/bugreport.texi: Remove most of the of the preface of the
2384 bugs section.
2385
2386 2003-05-16 Jakub Jelinek <jakub@redhat.com>
2387
2388 * config/ia64/unwind-ia64.c (uw_update_reg_address): Handle
2389 .save XX, r0.
2390
2391 2003-05-15 Roger Sayle <roger@eyesopen.com>
2392
2393 * config/alpha/alpha.h (ASM_OUTPUT_SKIP): Fix typo.
2394
2395 2003-05-15 Eric Christopher <echristo@redhat.com>
2396
2397 * cfgcleanup.c (merge_blocks): Fix return value.
2398
2399 2003-05-15 Eric Christopher <echristo@redhat.com>
2400
2401 * combine.c (expand_compound_operation): Make sure
2402 that zero_extend operation is profitable.
2403
2404 2003-05-15 Richard Henderson <rth@redhat.com>
2405
2406 * config/alpha/linux.h, config/alpha/linux-elf.h: Remove
2407 code protected by USE_GNULIBC_1.
2408
2409 2003-05-15 Zack Weinberg <zack@codesourcery.com>
2410
2411 * config.gcc: Purge all targets obsoleted in GCC 3.3. Also
2412 remove hppa*-*-mpeix* which could not be built, and prune
2413 files from tmake_file= or tm_file= lists that don't exist.
2414
2415 * config/alpha/alpha-interix.h, config/alpha/alpha32.h
2416 * config/alpha/t-interix, config/arm/conix-elf.h
2417 * config/arm/t-arm-aout, config/arm/t-strongarm-coff
2418 * config/arm/unknown-elf-oabi.h, config/i386/win32.h
2419 * config/m68k/3b1.h, config/m68k/3b1g.h, config/m68k/amix.h
2420 * config/m68k/atari.h, config/m68k/ccur-GAS.h, config/m68k/crds.h
2421 * config/m68k/hp2bsd.h, config/m68k/hp3bsd.h
2422 * config/m68k/hp3bsd44.h, config/m68k/linux-aout.h
2423 * config/m68k/m68k-psos.h, config/m68k/mot3300.h
2424 * config/m68k/pbb.h, config/m68k/plexus.h, config/m68k/sun2.h
2425 * config/m68k/sun2o4.h, config/m68k/sun3.h, config/m68k/sun3mach.h
2426 * config/m68k/sun3n.h, config/m68k/sun3n3.h, config/m68k/sun3o3.h
2427 * config/m68k/t-mot3300, config/m68k/t-mot3300-gald
2428 * config/m68k/t-mot3300-gas, config/m68k/t-mot3300-gld
2429 * config/m68k/tower-as.h, config/m68k/tower.h
2430 * config/m88k/aout-dbx.h, config/m88k/m88k-aout.h
2431 * config/m88k/m88k-modes.def, config/m88k/m88k-move.sh
2432 * config/m88k/m88k-protos.h, config/m88k/m88k.c
2433 * config/m88k/m88k.h, config/m88k/m88k.md, config/m88k/openbsd.h
2434 * config/m88k/sysv4.h, config/m88k/t-luna, config/m88k/t-luna-gas
2435 * config/m88k/t-m88k, config/m88k/t-sysv4, config/mcore/gfloat.h
2436 * config/mips/rtems64.h, config/mips/sni-gas.h
2437 * config/mips/sni-svr4.h, config/mips/t-ecoff
2438 * config/mn10200/lib1funcs.asm, config/mn10200/mn10200-protos.h
2439 * config/mn10200/mn10200.c, config/mn10200/mn10200.h
2440 * config/mn10200/mn10200.md, config/mn10200/t-mn10200
2441 * config/pa/pa-hiux.h, config/pa/pa-hpux7.h, config/pa/pa-hpux9.h
2442 * config/pa/pa-oldas.h, config/pa/t-mpeix, config/psos.h
2443 * config/romp/romp-protos.h, config/romp/romp.c
2444 * config/romp/romp.h, config/romp/romp.md, config/rs6000/aix31.h
2445 * config/rs6000/aix3newas.h, config/rs6000/mach.h
2446 * config/sparc/bsd.h, config/sparc/hal.h
2447 * config/sparc/linux-aout.h, config/sparc/lynx-ng.h
2448 * config/sparc/lynx.h, config/sparc/netbsd.h
2449 * config/sparc/sp86x-aout.h, config/sparc/splet.h
2450 * config/sparc/sun4gas.h, config/sparc/sun4o3.h
2451 * config/sparc/sunos4.h, config/sparc/t-chorus-elf
2452 * config/sparc/t-halos, config/sparc/t-sparcbare
2453 * config/sparc/t-splet, config/sparc/t-sunos41
2454 * config/v850/rtems.h: Delete file.
2455
2456 2003-05-15 Aldy Hernandez <aldyh@redhat.com>
2457
2458 * config/rs6000/rs6000-protos.h (function_value): Protoize.
2459
2460 * config/rs6000/rs6000.h (FUNCTION_VALUE): Call function.
2461
2462 * config/rs6000/rs6000.c (rs6000_function_value): New.
2463
2464 2003-05-15 Philip Blundell <philb@gnu.org>
2465
2466 * config/arm/arm.c (arm_is_xscale): Rename to arm_arch_xscale.
2467 All uses updated.
2468 (arm_tune_xscale): New variable.
2469 (arm_override_options): Set it.
2470 (arm_adjust_cost): Use it in place of arm_arch_xscale.
2471 (arm_gen_load_multiple): Likewise.
2472 (arm_gen_store_multiple): Likewise.
2473 * config/arm/arm.md (is_xscale): Likewise.
2474 * config/arm/arm.h (arm_tune_xscale): Declare.
2475
2476 2003-05-15 Philip Blundell <philb@gnu.org>
2477
2478 PR target/10730
2479 * config/arm/arm.c (adjacent_mem_locations): Reject offsets
2480 involving invalid constants.
2481
2482 2003-05-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2483
2484 * pa.c (hppa_expand_prologue): Remove blockage.
2485
2486 2003-05-15 Wolfgang Bangerth <bangerth@dealii.org>
2487
2488 * doc/bugreport.texi: Remove most of the bug reporting
2489 instructions and merge them into bugs.html.
2490
2491 2003-05-14 Matt Kraai <kraai@alumni.cmu.edu>
2492
2493 * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Cast
2494 g_switch_value to unsigned HOST_WIDE_INT.
2495
2496 2003-05-14 Eric Christopher <echristo@redhat.com>
2497
2498 * combine.c: Fix header comments.
2499 (distribute_notes): Remove usage of elim_i1, elim_i2. Propagate
2500 to all calls and prototype.
2501
2502 2003-05-14 Roger Sayle <roger@eyesopen.com>
2503
2504 PR optimization/10764
2505 * config/i386/i386.md (atan2df3, atan2sf3, atan2xf3, atan2tf3):
2506 Add an explicit clobber to show that UNSPEC_FPATAN clobbers st(1).
2507 (*fyl2x_sfxf3, *fyl2x_dfxf3, *fyl2x_xf3, *fyl2x_tfxf3): Likewise,
2508 add an explicit clobber to show that UNSPEC_FYL2X clobbers st(1).
2509 (logsf2, logdf2, logxf2, logtf2): Update expander patterns to match
2510 the corresponding *fyl2x_?fxf3 instructions.
2511
2512 2003-05-14 Bob Wilson <bob.wilson@acm.org>
2513
2514 * config/xtensa/lib2funcs.S (TRAMPOLINE_SIZE): Change from 49 to 59.
2515 * config/xtensa/xtensa-config.h (XCHAL_HAVE_CONST16,
2516 XCHAL_HAVE_L32R): New.
2517 * config/xtensa/xtensa-protos.h (non_const_move_operand,
2518 xtensa_load_constant, xtensa_function_prologue,
2519 xtensa_function_epilogue): Delete prototypes.
2520 (xtensa_expand_prologue): New.
2521 * config/xtensa/xtensa.c (frame_size_const,
2522 TARGET_ASM_FUNCTION_PROLOGUE, TARGET_MACHINE_DEPENDENT_REORG,
2523 non_const_move_operand, xtensa_load_constant, xtensa_reorg,
2524 xtensa_function_prologue): Delete.
2525 (add_operand, xtensa_mem_offset): Formatting.
2526 (move_operand): If the const16 option is available, allow any SFmode
2527 and SImode constants.
2528 (xtensa_emit_move_sequence): Inline the former contents of
2529 xtensa_load_constant with modifications to handle the const16 option.
2530 (override_options): Add xtensa_char_to_class['W'] and set it to
2531 the general register class only if the const16 option is enabled.
2532 Fix formatting. Disallow PIC when using the const16 option.
2533 (print_operand): Reorganize to switch on "letter" instead of the
2534 RTL code. Add output_operand_lossage calls for invalid cases.
2535 Add support for 't' and 'b' letters.
2536 (xtensa_expand_prologue): New function to replace
2537 xtensa_function_prologue and xtensa_reorg.
2538 (xtensa_function_epilogue): Declare this as static. Delete code
2539 to print the retw.n or retw instruction.
2540 (xtensa_return_addr): Use A0_REG instead of 0.
2541 (xtensa_rtx_costs): Add costs for using the const16 option.
2542 * config/xtensa/xtensa.h (MASK_CONST16, TARGET_CONST16): New.
2543 (TARGET_DEFAULT): Add CONST16 if L32R instructions not available.
2544 (TARGET_SWITCHES): Add "const16" and "no-const16".
2545 (REG_CLASS_FROM_LETTER): Add comment about new 'W' letter.
2546 (EXTRA_CONSTRAINT): Change 'T' constraint to only apply when not
2547 using the const16 option.
2548 (TRAMPOLINE_TEMPLATE): Rewrite to avoid hardwired use of l32r insn.
2549 (TRAMPOLINE_SIZE): Change from 49 to 59.
2550 (INITIALIZE_TRAMPOLINE): Adjust offsets to match new trampoline.
2551 (GO_IF_LEGITIMATE_ADDRESS): Do not allow constant pool addresses
2552 when using the const16 option.
2553 (PREDICATE_CODES): Delete non_const_move_operand.
2554 * config/xtensa/xtensa.md (define_constants): Add A1_REG, A8_REG, and
2555 UNSPECV_ENTRY.
2556 (movdi, movdf): If the source is a constant, always expand to a
2557 sequence of movsi insns.
2558 (movdi_internal, movdf_internal): Remove alternative using l32r insns.
2559 (movsi_internal, movsf_internal): Add alternative using const16 insns.
2560 (movsf): Add const16 support.
2561 (entry, prologue, epilogue): New.
2562 (set_frame_ptr): Add missing mode for unspec_volatile operation.
2563 Likewise for subsequent split pattern.
2564 * doc/invoke.texi (Option Summary, Xtensa Options): Document new
2565 "-mconst16" and "-mno-const16" options.
2566
2567 2003-05-14 Richard Henderson <rth@redhat.com>
2568
2569 * config/ia64/ia64.c (ia64_expand_load_address): Force destination
2570 to be DImode register. Merge load_symptr.
2571 * config/ia64/ia64.md (load_symptr): Remove.
2572
2573 2003-05-14 Richard Henderson <rth@redhat.com>
2574
2575 * rtl.h (TREE_CONSTANT_POOL_ADDRESS_P): Rename from
2576 DEFERRED_CONSTANT_P.
2577 * integrate.c (copy_rtx_and_substitute): Update use.
2578 * varasm.c (build_constant_desc): Set SYMBOL_REF_DECL
2579 to the copy generated.
2580 (maybe_output_constant_def_contents): Examine TREE_ASM_WRITTEN
2581 of the constant to see if we should emit.
2582 (mark_constant): Similarly.
2583 (output_constant_def_contents): Set TREE_ASM_WRITTEN.
2584
2585 2003-05-14 David Edelsohn <edelsohn@gnu.org>
2586
2587 * config/rs6000/rs6000.md (movsi_internal2): Use compare for self
2588 move record condition.
2589 (movdi_internal2): Same.
2590
2591 2003-05-14 Nathan Sidwell <nathan@codesourcery.com>
2592
2593 * gcov-io.h (gcov_write_bytes, gcov_read_bytes): Remove here.
2594 (GCOV_TAG_*) Force type to gcov_unsigned_t.
2595 (GCOV_CHECK, GCOV_CHECK_READING, GCOV_CHECK_WRITING): New.
2596 (struct gcov_var): Remove modified. Add start, length, offset,
2597 overread. Have buffer array for libgcov.
2598 (gcov_sync, gcov_seek): Definitions moved to gcov-io.c.
2599 (gcov_position, gcov_rewrite, gcov_is_eof): Adjust.
2600 * gcov-io.c (gcov_open): Set mode, do not read anything.
2601 (gcov_close): Write final block.
2602 (gcov_write_block, gcov_allocate): New.
2603 (gcov_write_bytes): Make static. Write or allocate buffer.
2604 (gcov_write_unsigned, gcov_write_counter): Buffer can never be
2605 null.
2606 (gcov_write_string): Adjust.
2607 (gcov_write_tag)
2608 (gcov_write_length): Adjust. Flush the block.
2609 (gcov_write_tag_length): Buffer can never be null.
2610 (gcov_read_bytes): Make static. Read in block.
2611 (gcov_sync): Moved here. Adjust.
2612 (gcov_seek): Moved here. Adjust.
2613 * coverage.c (read_counts_file): Adjust.
2614 * gcov-dump.c (print_prefix): Add position parameter.
2615 (flag_dump_positions): New flag.
2616 (options, main, print_usage): Add it.
2617 (dump_file, tag_blocks, tag_arcs, tag_lines, tag_counters,
2618 tag_summary): Adjust.
2619 * gcov.c (read_graph_file, read_count_file): Adjust.
2620 * libgcov.c (gcov_exit): Adjust.
2621
2622 * Makefile.in (LIBGCC_DEPS): Use $(srcdir) on gcov files
2623 (libgcov.a): Depend on libgcc.a.
2624 (gcov.o, gcov-dump.o): Add gcov-io.c.
2625 * mklibgcc.in (libgcov_c_dep): Use $(srcdir).
2626
2627 * loop.c (check_dbra_loop): Factor common test.
2628
2629 2003-05-14 Ben Elliston <bje@wasabisystems.com>
2630
2631 * doc/md.texi (Automaton pipeline description): Grammar fixes.
2632
2633 2003-05-14 Richard Sandiford <rsandifo@redhat.com>
2634
2635 * target-def.h (TARGET_MACHINE_DEPENDENT_REORG): Define.
2636 (TARGET_INITIALIZER): Include it.
2637 * target.h (struct gcc_target): Add machine_dependent_reorg field.
2638 * toplev.c (rest_of_compilation): Use targetm.machine_dependent_reorg.
2639 * system.h: Poison MACHINE_DEPENDENT_REORG.
2640
2641 * config/alpha/alpha-protos.h (alpha_reorg): Remove declaration.
2642 * config/alpha/alpha.h (MACHINE_DEPENDENT_REORG): Remove.
2643 * config/alpha/alpha.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2644 (alpha_handle_trap_shadows): Remove "first insn" parameter.
2645 (alpha_align_insns): Likewise.
2646 (alpha_reorg): Likewise. Make static. Update calls to above
2647 functions.
2648
2649 * config/arm/arm-protos.h (arm_reorg): Remove declaration.
2650 * config/arm/arm.h (MACHINE_DEPENDENT_REORG): Remove.
2651 * config/arm/arm.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2652 (arm_reorg): Remove parameter. Make static.
2653
2654 * config/avr/avr-protos.h (machine_dependent_reorg): Remove.
2655 * config/avr/avr.h (MACHINE_DEPENDENT_REORG): Remove.
2656 * config/avr/avr.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2657 (avr_reorg): Renamed from machine_dependent_reorg. Make static.
2658 Remove parameter.
2659
2660 * config/c4x/c4x-protos.h (c4x_process_after_reload): Remove.
2661 * config/c4x/c4x.h (MACHINE_DEPENDENT_REORG): Remove.
2662 * config/c4x/c4x.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2663 (c4x_reorg): Renamed from c4x_process_after_reload. Make static.
2664 Remove parameter.
2665
2666 * config/d30v/d30v-protos.h (d30v_machine_dependent_reorg): Remove.
2667 * config/d30v/d30v.h (MACHINE_DEPENDENT_REORG): Remove.
2668 * config/d30v/d30v.c (d30v_machine_dependent_reorg): Remove.
2669
2670 * config/frv/frv-protos.h (frv_machine_dependent_reorg): Remove.
2671 * config/frv/frv.c: Remove orphaned comment.
2672
2673 * config/i386/i386-protos.h (x86_machine_dependent_reorg): Remove.
2674 * config/i386/i386.h (MACHINE_DEPENDENT_REORG): Remove.
2675 * config/i386/i386.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2676 (ix86_reorg): Renamed from x86_machine_dependent_reorg. Make static.
2677 Remove parameter.
2678
2679 * config/ia64/ia64-protos.h (ia64_reorg): Remove declaration.
2680 * config/ia64/ia64.h (MACHINE_DEPENDENT_REORG): Remove.
2681 * config/ia64/ia64.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2682 (emit_insn_group_barriers): Remove "first insn" parameter.
2683 (emit_all_insn_group_barriers): Likewise.
2684 (ia64_reorg): Likewise. Make static. Update calls to above functions.
2685 (ia64_output_mi_thunk): Update call to emit_all_insn_group_barriers.
2686
2687 * config/ip2k/ip2k-protos.h (machine_dependent_reorg): Remove.
2688 * config/ip2k/ip2k.h (MACHINE_DEPENDENT_REORG): Remove.
2689 * config/ip2k/ip2k.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2690 (ip2k_reorg): Renamed from machine_dependent_reorg. Make static.
2691 Remove parameter.
2692
2693 * config/m68hc11/m68hc11-protos.h (m68hc11_reorg): Remove declaration.
2694 * config/m68hc11/m68hc11.h (MACHINE_DEPENDENT_REORG): Remove.
2695 * config/m68hc11/m68hc11.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2696 (m68hc11_reorg): Make static. Remove parameter.
2697
2698 * config/mcore/mcore-protos.h (mcore_dependent_reorg): Remove.
2699 * config/mcore/mcore.h (MACHINE_DEPENDENT_REORG): Remove.
2700 * config/mcore/mcore.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2701 (conditionalize_optimization): Remove parameter.
2702 (mcore_reorg): Renamed from mcore_dependent_reorg. Remove parameter.
2703 Make static. Update call to conditionalize_optimization.
2704
2705 * config/mips/mips-protos.h (machine_dependent_reorg): Remove.
2706 * config/mips/mips.h (MACHINE_DEPENDENT_REORG): Remove.
2707 * config/mips/mips.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2708 (mips_reorg): Renamed from machine_dependent_reorg. Remove parameter.
2709 Make static.
2710
2711 * config/mmix/mmix-protos.h (mmix_machine_dependent_reorg): Remove.
2712 * config/mmix/mmix.h (MACHINE_DEPENDENT_REORG): Remove.
2713 * config/mmix/mmix.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2714 (mmix_reorg): Renamed from mmix_machine_dependent_reorg. Make static.
2715 Remove parameter.
2716
2717 * config/pa/pa-protos.h (pa_reorg): Remove declaration.
2718 * config/pa/pa.h (MACHINE_DEPENDENT_REORG): Remove.
2719 * config/pa/pa.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2720 (pa_combine_instructions): Remove "first insn" parameter.
2721 (remove_useless_addtr_insns): Likewise.
2722 (pa_reorg): Likewise. Make static. Update calls to above functions.
2723
2724 * config/rs6000/rs6000.h (MACHINE_DEPENDENT_REORG): Remove
2725 commented-out definition.
2726
2727 * config/s390/s390-protos.h (s390_machine_dependent_reorg): Remove.
2728 * config/s390/s390.h (MACHINE_DEPENDENT_REORG): Remove.
2729 * config/s390/s390.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2730 (s390_reorg): Renamed from s390_machine_dependent_reorg. Make static.
2731 Remove parameter.
2732
2733 * config/sh/sh-protos.h (machine_dependent_reorg): Remove.
2734 * config/sh/sh.h (MACHINE_DEPENDENT_REORG): Remove.
2735 * config/sh/sh.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2736 (sh_reorg): Renamed from machine_dependent_reorg. Make static.
2737 Remove parameter.
2738 (sh_output_mi_thunk): Call sh_reorg directly.
2739 * config/sh/sh.md: Update comment.
2740
2741 * config/stormy16/stormy16.h (MACHINE_DEPENDENT_REORG): Remove
2742 commented-out definition.
2743
2744 * config/v850/v850-protos.h (v850_reorg): Remove declaration.
2745 * config/v850/v850.h (MACHINE_DEPENDENT_REORG): Remove.
2746 * config/v850/v850.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2747 (v850_reorg): Make static. Remove parameter.
2748
2749 * config/xtensa/xtensa-protos.h (xtensa_reorg): Remove declaration.
2750 * config/xtensa/xtensa.h (MACHINE_DEPENDENT_REORG): Remove.
2751 * config/xtensa/xtensa.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2752 (xtensa_reorg): Make static. Remove parameter.
2753
2754 * doc/tm.texi (MACHINE_DEPENDENT_REORG): Remove.
2755 (TARGET_MACHINE_DEPENDENT_REORG): Document.
2756
2757 2003-05-13 Richard Henderson <rth@redhat.com>
2758
2759 * c-decl.c (duplicate_decls): Re-invoke make_decl_rtl if
2760 the old decl had instantiated DECL_RTL.
2761
2762 2003-05-13 Mike Stump <mrs@apple.com>
2763
2764 * doc/invoke.texi (Option Summary): Kill off documentation for -$.
2765
2766 2003-05-13 Janis Johnson <janis187@us.ibm.com>
2767
2768 * config/rs6000/sysv4.h (OUTPUT_ASM_ALIGNED_LOCAL): Expect
2769 HOST_WIDE_INT argument.
2770
2771 2003-05-13 Jason Merrill <jason@redhat.com>
2772
2773 * tree.h (STRIP_MAIN_TYPE_NOPS): New macro.
2774
2775 * tree.c (iterative_hash_expr): New fn.
2776
2777 * c-semantics.c (emit_local_var): Don't mess with temp slots if
2778 there's no initializer.
2779
2780 2003-05-13 Richard Sandiford <rsandifo@redhat.com>
2781
2782 * final.c (final_scan_insn): Apply the effects of frame-related
2783 delay slot insns before emitting a delayed branch.
2784
2785 2003-05-13 Nick Clifton <nickc@redhat.com>
2786
2787 * config/mcore/mcore.md (jump): Use emit_jump_insn.
2788
2789 2003-05-13 Ulrich Weigand <uweigand@de.ibm.com>
2790
2791 * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Second
2792 parameter of ASM_OUTPUT_SKIP must have type unsigned HOST_WIDE_INT.
2793
2794 2003-05-12 DJ Delorie <dj@redhat.com>
2795
2796 * expr.c (move_by_pieces): Honor the alignment of TO and FROM.
2797 (emit_push_insn): Don't use push when the source alignment is less
2798 than the stack's push rounding.
2799
2800 2003-05-13 Zack Weinberg <zack@codesourcery.com>
2801
2802 * diagnostic.c (output_format): Add support for %m.
2803 (output_printf, output_verbatim, diagnostic_set_info,
2804 verbatim): Set err_no field of the text_info structure being
2805 initialized.
2806 (fatal_io_error): Delete function.
2807 * diagnostic.h (text_info): Add err_no field.
2808 * toplev.h (fatal_io_error): Delete prototype.
2809
2810 * c-opts.c, c-pch.c, dwarfout.c, ggc-common.c, ggc-page.c, graph.c
2811 * toplev.c, config/mips/mips.c, config/rs6000/host-darwin.c
2812 * objc/objc-act.c: Replace all calls to fatal_io_error with
2813 calls to fatal_error; add ": %m" to the end of all the affected
2814 error messages.
2815
2816 2003-05-13 Zack Weinberg <zack@codesourcery.com>
2817
2818 * varasm.c (notice_rtl_inlining_of_deferred_constant): New function.
2819 * rtl.h: Prototype it.
2820 * integrate.c (copy_rtx_and_substitute <SYMBOL_REF>): Call it
2821 when appropriate.
2822
2823 2003-05-13 Ulrich Weigand <uweigand@de.ibm.com>
2824
2825 * config/s390/s390.md ("*iordi3_oi"): Do not mark commutative.
2826 ("*iorsi3_oi"): Likewise.
2827
2828 2003-05-13 Richard Earnshaw <rearnsha@arm.com>
2829
2830 * arm.md (compare_scc): Use shorter sequence for EQ case.
2831 (ior_scc_scc_cmp, and_scc_scc_cmp): New insn-and-split patterns.
2832 (and_scc_scc): Ensure split only applies when there is a dominance
2833 of the comparisons.
2834 (and_scc_scc_nodom): New insn-and-split pattern.
2835
2836 2003-05-13 Richard Sandiford <rsandifo@redhat.com>
2837
2838 * unwind-dw2.c (uw_init_context_1): Don't pass &outer_cfa directly
2839 to _Unwind_SetGRPtr().
2840
2841 2003-05-13 Michael Eager <eager@mvista.com>
2842
2843 * Makefile.in: Initialize program_transform_cross_name from
2844 @program_transform_name@ instead of target_alias.
2845
2846 2003-05-12 Janis Johnson <janis187@us.ibm.com>
2847 Alan Modra <amodra@bigpond.net.au>
2848 Jakub Jelinek <jakub@redhat.com>
2849
2850 * configure.in (HAVE_AS_TLS): Add powerpc and powerpc64 tests.
2851 * configure: Rebuild.
2852 * config/rs6000/rs6000-protos.h: Update.
2853 * config/rs6000/rs6000.c (rs6000_tls_size): New.
2854 (rs6000_tls_size_string): New.
2855 (rs6000_parse_tls_size_option): New.
2856 (rs6000_legitimize_tls_address): New.
2857 (rs6000_tls_get_addr): New.
2858 (rs6000_got_sym): New.
2859 (rs6000_tls_symbol_ref): New.
2860 (rs6000_tls_symbol_ref_1): New.
2861 (rs6000_get_some_local_dynamic_name): New.
2862 (rs6000_get_some_local_dynamic_name_1): New.
2863 (TARGET_HAVE_TLS): New.
2864 (TARGET_CANNOT_FORCE_CONST_MEM): New.
2865 (rs6000_override_options): Handle -mtls-size option.
2866 (constant_pool_expr_1): Handle TLS symbols.
2867 (rs6000_legitimize_address): Handle TLS symbols.
2868 (rs6000_tls_referenced_p): New.
2869 (rs6000_legitimate_address): Handle TLS symbols.
2870 (rs6000_emit_move): Handle TLS symbols.
2871 (print_operand): Handle TLS symbols.
2872 (uses_TOC): Handle TLS symbols.
2873 (rs6000_emit_prologue): Use symbol for unspec constant.
2874 * config/rs6000/rs6000.h (HAVE_AS_TLS): New.
2875 (some_ld_name): New.
2876 (LEGITIMATE_CONSTANT_P): Handle TLS symbols.
2877 (PRINT_OPERAND_PUNCT_VALID_P): Handle TLS symbols.
2878 (PREDICATE_CODES): Add rs6000_tls_symbol_ref.
2879 * config/rs6000/rs6000.md (load_toc_v4_PIC_1, load_toc_v4_PIC_1b):
2880 Support TLS.
2881 (tls_gd_32, tls_gd_64, tls_ld_32, tls_ld_64, tls_dtprel_32,
2882 tls_dtprel_64, tls_dtprel_ha_32, tls_dtprel_ha_64, tls_dtprel_lo_32,
2883 tls_dtprel_lo_64, tls_got_dtprel_32, tls_got_dtprel_64, tls_tprel_32,
2884 tls_tprel_64, tls_tprel_ha_32, tls_tprel_ha_64, tls_tprel_lo_32,
2885 tls_tprel_lo_64, tls_got_tprel_32, tls_got_tprel_64, tls_tls_32,
2886 tls_tls_64): New.
2887 * config/rs6000/sysv4.h (SUBTARGET_OPTIONS): Add tls_size.
2888
2889 2003-05-12 Neil Booth <neil@cat.daikokuya.co.uk>
2890
2891 * Makefile.in (stage2_build, stage3_build, stage4_build):
2892 Set BUILD_CC to the same as CC.
2893
2894 2003-05-12 Neil Booth <neil@daikokuya.co.uk>
2895
2896 * alloc-pool.c (last_id): Put in ENABLE_CHECKING guards.
2897
2898 2003-05-12 Andreas Schwab <schwab@suse.de>
2899
2900 * config/ia64/ia64.c (ia64_function_ok_for_sibcall): Mark 'exp'
2901 as unused.
2902 (bundling): Initialize 'pos'.
2903 (ia64_expand_builtin): Initialize 'rmode'.
2904
2905 2003-05-12 David Edelsohn <edelsohn@gnu.org>
2906
2907 * config/rs6000/xcoff.h (ASM_OUTPUT_SKIP): Accept HOST_WIDE_INT.
2908 (ASM_OUTPUT_ALIGNED_COMMON): Same.
2909 (ASM_OUTPUT_LOCAL): Same.
2910
2911 Mon May 12 21:53:29 CEST 2003 Jan Hubicka <jh@suse.cz>
2912
2913 * varasm.c (output_constant): Fix underflow.
2914
2915 2003-05-12 Mark Mitchell <mark@codesourcery.com>
2916
2917 PR other/10745
2918 * configure.in: Correct detection of GNU ld version number.
2919 * configure: Regenerated.
2920
2921 2003-05-12 Zack Weinberg <zack@codesourcery.com>
2922
2923 * diagnostic.c (diagnostic_for_decl): Take a
2924 diagnostic_context argument. Restructure to be consistent
2925 with diagnostic_report_diagnostic.
2926 (diagnostic_count_diagnostic): Now static. Take a
2927 diagnostic_info argument, not just a diagnostic_t. Some code
2928 moved here from internal_error. Move a case label for
2929 clarity.
2930 (diagnostic_action_after_output): New function. Code moved
2931 here from internal_error and fatal_error.
2932 (bug_report_request): New #define so that this text appears in
2933 only one place.
2934 (diagnostic_report_diagnostic): Update to match changes to
2935 diagnostic_count_diagnostic. Call diagnostic_action_after_output.
2936 (diagnostic_set_info): Call gettext here.
2937
2938 (pedwarn): Update comment. Don't call gettext here.
2939 (sorry): Use report_diagnostic. Don't call gettext here.
2940 (fatal_error): Remove final fnotice and exit, but call
2941 real_abort to prevent warnings about noreturn function returning.
2942 (internal_error): Likewise. Don't do ICE suppression here nor
2943 call context->internal_error.
2944 (warning_with_decl): Suppress for decls in system headers.
2945 Adjust call to diagnostic_for_decl.
2946 (pedwarn_with_decl): Likewise.
2947 (error_with_decl): Adjust call to diagnostic_for_decl.
2948 (error_recursion): Use bug_report_request.
2949
2950 * diagnostic.h: Remove prototype of diagnostic_count_diagnostic.
2951 * objc/objc-act.c (error_with_ivar, warn_with_method): Don't call
2952 diagnostic_count_diagnostic.
2953
2954 2003-05-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2955
2956 * pa64-hpux.h (ASM_OUTPUT_ALIGNED_COMMON): Correct last patch.
2957
2958 Mon May 12 15:57:54 CEST 2003 Jan Hubicka <jh@suse.cz>
2959
2960 * rs6000/darwin.h (ASM_OUTPUT_COMMON): Accept HOST_WIDE_INT
2961 * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Fix warning.
2962 * mips/mips.h (ASM_OUTPUT_SKIP): Fix typo in the previous patch.
2963
2964 2003-05-12 Roger Sayle <roger@eyesopen.com>
2965
2966 * doc/rtl.texi: Document zero_extract as a valid destination
2967 of a set insn.
2968
2969 2003-05-12 Richard Earnshaw <rearnsha@arm.com>
2970
2971 * arm/lib1funcs.asm (LSYM): Define -- on ELF prefix a local symbol with
2972 '.'. Change all local symbol definitions and references to use LSYM.
2973
2974 Mon May 12 11:32:53 CEST 2003 Jan Hubicka <jh@suse.cz>
2975
2976 * expr.h (assemble_static_space): Update prototype.
2977 * output.h (assemble_zeros, output_constant): Likewise.
2978 * elfos.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON): Make it 64bit clean
2979 * alpha.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASK_OUTPUT_LOCAL): Make
2980 it 64bit clean.
2981 * elf.h (ASM_OTUPUT_SKIP): Likewise.
2982 * unicosmk.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMM): Likewise.
2983 * arm.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
2984 Expect HOST_WIDE_INT operand.
2985 * aout.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
2986 Expect HOST_WIDE_INT operand.
2987 * unknown-elf.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
2988 Expect HOST_WIDE_INT operand.
2989 * avr.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_SKIP): Expect
2990 HOST_WIDE_INT operand.
2991 * c4x.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP,
2992 ASM_OUTPUT_BSS): Expect HOST_WIDE_INT operand.
2993 * aout.h (ASM_OTUPUT_SKIP): Likewise.
2994 * cris.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
2995 * darwin.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_COMMON): Likewise.
2996 * dsp16xx.h (ASM_OTUPUT_SKIP): Likewise.
2997 * frv.h (ASM_OTUPUT_SKIP): Likewise.
2998 * h8300.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_LOCAL): Likewise.
2999 * 370.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
3000 Make it 64bit
3001 clean.
3002 * att.h (ASM_OUTPUT_SKIP): Expect HOST_WIDE_INT operand.
3003 * bsd.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
3004 Make it 64bit clean.
3005 * darwin.h (ASM_OUTPUT_SKIP): Make it 64bit clean..
3006 * sco5.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Expect
3007 HOST_WIDE_INT operand
3008 * svr3gas.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
3009 Expect HOST_WIDE_INT operand
3010 * sysv3.h (ASM_OUTPUT_SKIP): Expect HOST_WIDE_INT operand
3011 * i960.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON,
3012 ASM_OUTPUT_ALIGNED_LOCAL): Expect HOST_WIDE_INT operand
3013 * ip2k.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
3014 Likewise.
3015 * m32r.h (ASM_OUTPUT_COMMON): Likewise.
3016 * 3b1.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
3017 Likewise.
3018 * amix.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
3019 * crds.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
3020 * hp320.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
3021 ASM_OUTPUT_SKIP): Likewise.
3022 * m68k.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
3023 Likewise.
3024 * m68kelf.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
3025 ASM_OUTPUT_SKIP): Likewise.
3026 * m68kv4.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
3027 ASM_OUTPUT_SKIP): Likewise.
3028 * mot3300.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP): Likewise.
3029 * netbsd-elf.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON,
3030 ASM_OUTPUT_SKIP): Likewise.
3031 * sgs.h (ASM_OUTPUT_SKIP): Likewise.
3032 * tower-as.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON,
3033 ASM_OUTPUT_SKIP): Likewise.
3034 * m88k.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON, ASM_OUTPUT_SKIP):
3035 Likewise.
3036 * mcore.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_BSS, ASM_OUTPUT_SKIP): Likewise.
3037 * iris.h (ASM_OUTPUT_LOCAL): Likewise.
3038 * mips.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP): Likewise.
3039 * ns32k.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
3040 ASM_OUTPUT_SKIP): Make it 64bit clean.
3041 * pa-pro-end.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_ALIGNED_LOCAL):
3042 Make it 64bit clean.
3043 * pa.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_ALIGNED_LOCAL,
3044 ASM_OUTPUT_SKIP): Make it 64bit clean.
3045 * hpux.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_ALIGNED_LOCAL): Make it
3046 64bit clean.
3047 * romp.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON): Expect
3048 HOST_WIDE_INT argument
3049 * s390.h (ASM_OUTPUT_SKIP): Expect HOST_WIDE_INT argument.
3050 * sh.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON): Expect
3051 HOST_WIDE_INT argument
3052 * sol2.h (ASM_OUTPUT_SKIP): HOST_WIDE_INT argument
3053 * sparc.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON): HOST_WIDE_INT argument
3054 * svr3.h (ASM_OUTPUT_SKIP): HOST_WIDE_INT argument
3055 * vax.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
3056 HOST_WIDE_INT argument
3057 * vaxv.h (ASM_OUTPUT_LOCAL): HOST_WIDE_INT argument
3058 * xtensa.h (ASM_OUTPUT_LOCAL): HOST_WIDE_INT argument
3059 * varasm.c (asm_output_bss, asm_output_aligned_bss,
3060 asm_emit_uninitialized, assemble_zeros, assemble_static_space):
3061 HOST_WIDE_INT argument
3062
3063 2003-05-10 Steven Bosscher <steven@gcc.gnu.org>
3064
3065 * cgraphunit.c (cgraph_create_edges): Drop walk_tree in
3066 favor of walk_tree_without_duplicates. Add comments.
3067
3068 2003-05-12 Josef Zlomek <zlomekj@suse.cz>
3069
3070 * alloc-pool.h (ALLOC_POOL_ID_TYPE): New type.
3071 (struct alloc_pool_def): New element 'id'.
3072 * alloc-pool.c (fancy_abort): Extern function prototype.
3073 (abort): Macro which uses fancy_abort.
3074 (struct allocation_object_def): New structure.
3075 (ALLOCATION_OBJECT_PTR_FROM_USER_PTR): New macro.
3076 (USER_PTR_FROM_ALLOCATION_OBJECT_PTR): New macro.
3077 (last_id): New variable.
3078 (create_alloc_pool): Add the offset of u.data to size of element,
3079 increase and use last_id.
3080 (free_alloc_pool): Do the checking only when ENABLE_CHECKING.
3081 (pool_alloc): Likewise. Set ID for elements.
3082 (pool_free): Check whether the PTR was allocated from POOL.
3083
3084 2003-05-11 Richard Henderson <rth@redhat.com>
3085
3086 PR c/10675
3087 * c-decl.c: Include hashtab.h.
3088 (detect_field_duplicates): New.
3089 (finish_struct): Use it.
3090 * Makefile.in (c-decl.o): Update.
3091 * c-parse.in (structsp_attr): Nreverse component_decl_list results.
3092 (component_decl_list, component_decl_list2,
3093 components, components_notype): Build list in reverse order.
3094 (enumlist): Clarify docs. Use TREE_CHAIN not chainon.
3095
3096 * tree.c (chainon): Special case op2 null as well.
3097 Reorg for clarity.
3098
3099 2003-05-11 Roger Sayle <roger@eyesopen.com>
3100
3101 * config/i386/i386.md (logsf2, logdf2, logxf2, logdf2): New patterns
3102 to implement log, logf and logl built-ins as inline x87 intrinsics.
3103 (UNSPEC_FYL2X): New unspec to represent x87's "fyl2x" instruction.
3104 (*fyl2x_sfxf3, *fyl2x_dfxf3, *fyl2x_xf3, *fyl2x_tfxf3): New insn
3105 patterns for x87's "fyl2x" instruction, used by log?f2 patterns.
3106
3107 * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FYL2X like
3108 UNSPEC_FPATAN, i.e. replaces two stack operands with single result.
3109
3110 2003-05-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3111
3112 * Makefile.in (out_object_file): Don't set -Wno-error for ${cpu}.o.
3113
3114 * sparc.c (print_operand): Fix uninitialized warning.
3115
3116 2003-05-12 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3117
3118 * cfgloopanal.c (num_loop_insns, average_num_loop_insns): Count only
3119 real insns.
3120 * loop-unroll.c (unroll_loop_runtime_iterations): Remove superfluous
3121 condition.
3122
3123 2003-05-11 Neil Booth <neil@cat.daikokuya.co.uk>
3124
3125 * doc/cpp.texi: Fix typos.
3126
3127 2003-05-11 Ulrich Weigand <uweigand@de.ibm.com>
3128
3129 * config/s390/s390.c (s390_function_arg_float): New function.
3130 (s390_function_arg_pass_by_reference): Use it.
3131 (s390_function_arg_advance): Likewise.
3132 (s390_function_arg): Likewise.
3133 (s390_va_arg): Likewise
3134
3135 2003-05-11 Nathan Sidwell <nathan@codesourcery.com>
3136
3137 * coverage.h (coverage_counter_alloc): New function.
3138 * function.h (struct function): Remove arc_profile flag.
3139 * coverage.c (fn_ident): Remove.
3140 (fn_b_ctrs, no_coverage): New.
3141 (get_coverage_counts): Use current_function_funcdef_no.
3142 (coverage_counter_alloc): New.
3143 (coverage_counter_ref): Adjust.
3144 (coverage_begin_output): Check no_coverage. Use
3145 current_function_funcdef_no.
3146 (coverage_end_function): Likewise.
3147 (create_coverage): Set no_coverage. Set DECL_UNINLINEABLE rather
3148 than clearing flag_inline_functions. Do not clear arc_profile
3149 flag.
3150 * function.c (prepare_function_start): Do not set arc_profile
3151 flag.
3152 * profile.c (instrument_edges): Return number of instrumented
3153 edges. Use a for loop.
3154 (branch_prob): Call coverage_counter_alloc. Make BB_TO_GCOV_INDEX
3155 local to here and simplify. Use profile_arc_flag not arc_profile
3156 flag.
3157 (find_spanning_tree): Reformat.
3158 * toplev.c (rest_of_compilation): Use profile_arc_flags and
3159 flag_test_coverage rather than arc_profile flag.
3160
3161 2003-05-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
3162
3163 * doc/invoke.texi (Wctor-dtor-privacy): Update documentation.
3164
3165 2003-05-11 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3166
3167 * varasm.c (copy_constant, case VIEW_CONVERT_EXPR): New case.
3168
3169 2003-05-11 Bruno Haible <bruno@clisp.org>
3170
3171 * cppfiles.c (find_or_create_entry): Preserve errno.
3172
3173 2003-05-11 Neil Booth <neil@cat.daikokuya.co.uk>
3174
3175 * c-cppbuiltin.c (c_cpp_builtins): Move __STDC_HOSTED__ into
3176 cpplib as it's a Standard Predefined Macro.
3177 * c-opts.c (finish_options): Pass flag_hosted to cpp_init_builtins.
3178 * cppinit.c (_cpp_init_builtins): Take HOSTED. Define
3179 __STDC_HOSTED__ appropriately.
3180 * cpplib.h (_cpp_init_builtins): Update.
3181 * fix-header.c (read_scan_file): Update.
3182 * doc/cpp.texi, doc/cppopts.texi: Update documentation.
3183
3184 2003-05-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
3185
3186 PR C++/689
3187 PR C++/9257
3188 * c-opts.c (c_common_decode_option): Don't set
3189 warn_ctor_dtor_privacy wen -Wall.
3190 * c-common.c (warn_ctor_dtor_privacy): Don't turn on by default.
3191
3192 2003-05-10 Alexandre Oliva <aoliva@redhat.com>
3193
3194 * reload1.c (reload_cse_move2add): Revert part of my 2003-05-09's
3195 patch.
3196
3197 2003-05-10 Zack Weinberg <zack@codesourcery.com>
3198
3199 * diagnostic.c: Reorder functions for clarity, putting all the
3200 functions in the "error" family next to each other, and
3201 likewise all the functions in the "error_with_decl" family.
3202 Some other routines were moved too. Add comments.
3203 (vbuild_message_string): Fold into sole caller.
3204
3205
3206 2003-05-11 Ulrich Weigand <uweigand@de.ibm.com>
3207
3208 * except.c (EH_RETURN_STACKADJ_RTX): Do not define.
3209 (EH_RETURN_HANDLER_RTX): Likewise.
3210 (expand_builtin_eh_return): Do not copy stack adjustment
3211 if EH_RETURN_STACKADJ_RTX is not defined.
3212 (expand_eh_return): Likewise. Also, do not pass stack
3213 adjustment as argument to the eh_return pattern.
3214 * except.h (MUST_USE_SJLJ_EXCEPTIONS): Do not define just
3215 because EH_RETURN_STACKADJ_RTX is not defined.
3216 * unwind-dw.c (uw_update_context_1): If EH_RETURN_STACKADJ_RTX
3217 is not defined, treat stack pointer like a regular register.
3218 (uw_init_context_1): Set up fake initial stack pointer register.
3219 (uw_install_context_1): Do not compute stack adjustment if
3220 EH_RETURN_STACKADJ_RTX is not defined.
3221
3222 * config/i386/i386.md ("eh_return"): Remove first argument.
3223 * config/mips/mips.md ("eh_return"): Likewise.
3224 * config/rs6000/rs6000.md ("eh_return"): Likewise.
3225 * config/sh/sh.md ("eh_return"): Likewise.
3226
3227 * config/s390/s390.h (EH_RETURN_STACKADJ_RTX): Remove.
3228
3229 2003-05-10 Alexander Aganichev <aaganichev@yandex.ru>
3230
3231 * config/i386/i386.h (MODES_TIEABLE_P): Fix typo.
3232
3233 2003-05-10 Nathan Sidwell <nathan@codesourcery.com>
3234
3235 * defaults.h (GCOV_TYPE_SIZE): Remove.
3236 * gcov-io.h (gcov_type): Set to specific mode int on target.
3237 (gcov_unsigned_t, gcov_position_t): New.
3238 (GCOV_TYPE_NODE): New.
3239 (GCOV_TAG_SUMMARY_LENGTH): Adjust.
3240 (GCOV_COUNTERS_SUMMABLE): New.
3241 (gcov_ctr_summary, gcov_sumary, gcov_fn_info, gcov_merge_fn,
3242 gcov_ctr_info, gcov_info): Adjust types.
3243 (gcov_var): Adjust types.
3244 (gcov_write_unsigned, gcov_write_tag,
3245 gcov_write_length, gcov_write_tag_length, gcov_write_summary,
3246 gcov_read_unsigned, gcov_read_summary): Adjust gcov types.
3247 (gcov_position, gcov_sync, gcov_seek): Adjust gcov types.
3248 * gcov-io.c (gcov_write_unsigned, gcov_write_tag,
3249 gcov_write_length, gcov_write_tag_length, gcov_write_summary,
3250 gcov_read_unsigned, gcov_read_summary): Adjust gcov types.
3251 * libgcov.c (gcov_crc32, gcov_version_mismatch, gcov_exit,
3252 __gcov_init, __gcov_merge_add): Adjust gcov types.
3253 * coverage.c (ctr_merge_functions): Constify.
3254 (ctr_names): New.
3255 (read_counts_file): Adjust gcov types. Only summarize & merge
3256 summable counters.
3257 (coverage_counter_ref): Use GCOV_TYPE_NODE.
3258 (build_fn_info_type, build_fn_info_value, build_ctr_info_type,
3259 build_ctr_info_value, build_gcov_info): Adjust types.
3260 * profile.c (branch_prob): Adjust gcov types.
3261 * gcov_dump (dump_file): Adjust gcov types.
3262
3263 2003-05-10 Richard Earnshaw <rearnsha@arm.com>
3264
3265 * arm.md (DOM_CC_X_AND_Y, DOM_CC_NX_OR_Y, DOM_CC_X_OR_Y): New
3266 constants.
3267 (ior_scc_scc, and_scc_scc): New insn_and_split patterns.
3268 * arm.c (arm_select_dominance_cc_mode): Renamed from
3269 select_dominance_cc_mode, no-longer static. Use DOM_CC... constants.
3270 Callers updated.
3271 * arm-protos.h (arm_select_dominance_cc_mode): Add prototype.
3272
3273 2003-05-09 Roger Sayle <roger@eyesopen.com>
3274
3275 * config/alpha/alpha.c (alpha_start_function): Declare frame_size
3276 as unsigned to avoid signed/unsigned comparison warnings.
3277
3278 2003-05-09 Bob Wilson <bob.wilson@acm.org>
3279
3280 * config/xtensa/xtensa.c (xtensa_emit_loop_end): Only use "nop.n"
3281 instruction if the Xtensa density option is enabled.
3282
3283 2003-05-09 Matt Kraai <kraai@alumni.cmu.edu>
3284
3285 * mklibgcc.in: Remove extra quotes.
3286
3287 2003-05-09 Mark Mitchell <mark@codesourcery.com>
3288
3289 * config/rs6000/rs6000.c (spe_init_builtins): Fix typo in creation
3290 of int_ftype_void.
3291
3292 2003-05-09 Alexandre Oliva <aoliva@redhat.com>
3293
3294 * reload1.c (reload_cse_move2add): Don't turn an implicit
3295 truncation into a self-set in the narrow mode.
3296
3297 2003-05-09 Richard Earnshaw <rearnsha@arm.com>
3298
3299 * arm.md (clzsi2): The CLZ instruction is predicable.
3300
3301 2003-05-09 Bob Wilson <bob.wilson@acm.org>
3302
3303 * config/xtensa/xtensa.c: Formatting.
3304
3305 2003-05-09 Diego Novillo <dnovillo@redhat.com>
3306
3307 * tree-dump.c (dequeue_and_dump): Use CONSTRUCTOR_ELTS,
3308 instead of TREE_OPERAND to access the operand of a
3309 CONSTRUCTOR node.
3310
3311 2003-05-09 Diego Novillo <dnovillo@redhat.com>
3312
3313 * tree-dump.c (dequeue_and_dump): CONSTRUCTOR nodes contain only
3314 one operand.
3315
3316 2003-05-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
3317
3318 * toplev.h (warning_with_file_and_line): Don't declare.
3319 (error_with_file_and_line): Likewise.
3320 * diagnostic.c (error_with_file_and_line): Remove.
3321 (warning_with_file_and_line): Likewise.
3322
3323 2003-05-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
3324
3325 * c-parse.in (if_stmt_locus): New object.
3326 (if_prefix rule): Use it. Don't use warning_with_file_and_line.
3327 (select_or_iter_stmt rule): Likewise.
3328 (if_stmt_file): Remove.
3329 (if_stmt_line): Likewise.
3330 * jump.c: include "diagnostic.h"
3331 (never_reached_warning): Don't use warning_with_file_and_line.
3332 * Makefile.in (jump.o): Add dependce on diagnostic.h
3333
3334 2003-05-09 Alan Modra <amodra@bigpond.net.au>
3335
3336 * expr.c (move_block_from_reg): Remove "size" parm. Localize vars.
3337 Move code handling pieces not larger than a word to..
3338 * function.c (assign_parms): ..here, but use change_address instead
3339 of adjust_address and operand_subword, and expand_binop instead of
3340 expand_shift. Adjust calls to move_block_from_reg.
3341 * expr.h (move_block_from_reg): Update declaration.
3342 (copy_blkmode_from_reg): Formatting.
3343 * Makefile.in (function.o): Add $(OPTABS_H) to deps.
3344 * config/alpha/alpha.c (alpha_setup_incoming_varargs): Adjust
3345 move_block_from_reg calls.
3346 * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
3347 * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
3348 * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
3349 * config/m88k/m88k.c (m88k_builtin_saveregsk): Likewise.
3350 * config/mips/mips.c (mips_setup_incoming_varargs): Likewise.
3351 * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
3352 * config/romp/romp.h (SETUP_INCOMING_VARARGS): Likewise.
3353 * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
3354 * config/sh/sh.c (sh_builtin_saveregs): Likewise.
3355
3356 2003-05-08 DJ Delorie <dj@redhat.com>
3357
3358 * config/stormy16/stormy16.c (xstormy16_expand_builtin_va_arg): Fix
3359 to handle arguments for which MUST_PASS_IN_STACK is true (e.g.,
3360 variable-sized types).
3361 (xstormy16_function_arg): New. Pass them that way too.
3362 * config/stormy16/stormy16-protos.h (xstormy16_function_arg): New.
3363 * config/stormy16/stormy16.h (FUNCTION_ARG): Call it.
3364
3365 2003-05-08 Aldy Hernandez <aldyh@redhat.com>
3366
3367 * mklibgcc.in: Use mkinstalldirs when installing multilib
3368 directories.
3369
3370 2003-05-08 J"orn Rennecke <joern.rennecke@superh.com>
3371
3372 * sh.c (gen_block_redirect, split_branches): Use CODE_FOR_jump_compact
3373 instead of CODE_FOR_jump
3374
3375 2003-05-08 Gabriel Dos Reis <gdr@integrable-solutions.net>
3376
3377 * objc/objc-act.c (error_with_ivar): Don't use
3378 error_with_file_and_line.
3379 (warn_with_method): Don't use warning_with_file_and_line.
3380
3381 2003-05-08 Gabriel Dos Reis <gdr@integrable-solutions.net>
3382
3383 * stmt.c (emit_locus): New macro.
3384 (emit_filename): Remove.
3385 (emit_lineno): Likewise.
3386 (struct stmt_status): Replace members x_emit_filename and
3387 x_emit_lineno with x_emit_locus.
3388 (set_file_and_line_for_stmt): Adjust.
3389 (expand_expr_stmt_value): Don't use warning_with_file_and_line.
3390 (warn_if_unused_value): Likewise.
3391 (check_seenlabel): Likewise.
3392
3393 2003-05-08 Gabriel Dos Reis <gdr@integrable-solutions.net>
3394
3395 * c-decl.c (define_label): Tidy. Don't use any of
3396 error_with_file_and_line or warning_with_file_and_file.
3397 (pending_xref_error): Likewise.
3398 (store_parm_decls): Likewise.
3399 (current_function_prototype_locus): New object. Package from
3400 current_function_prototype_file and current_function_prototype_line.
3401 (start_function): Use it.
3402 (current_function_prototype_file): Remove.
3403 (current_function_prototype_line): Remove;
3404
3405 2003-05-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3406
3407 * builtins.c (readonly_data_expr): New function.
3408 (expand_builtin_memmove): Optimize any rodata source, not just
3409 strings.
3410
3411 2003-05-07 David Mosberger <davidm@hpl.hp.com>
3412
3413 * unwind-libunwind.c (_Unwind_FindEnclosingFunction): New.
3414
3415 2003-05-07 Richard Henderson <rth@redhat.com>
3416
3417 * config/i386/i386.c (ix86_split_long_move): Fix base register
3418 mode for XFmode splits for TARGET_64BIT.
3419
3420 2003-05-07 Richard Henderson <rth@redhat.com>
3421
3422 * sched-ebb.c (schedule_ebb): Supply the correct starting
3423 block number to save_line_notes.
3424
3425 2003-05-07 Richard Henderson <rth@redhat.com>
3426
3427 * toplev.c (enum dump_file_index): Swap DFI_ce3, DFI_bbro.
3428 (dump_file): Likewise.
3429
3430 2003-05-07 David Mosberger <davidm@hpl.hp.com>
3431
3432 * config/ia64/crtbegin.asm (__do_jv_register_classes): Don't
3433 forget to preserve gp.
3434 * config/ia64/crtend.asm (__do_global_ctors_au): Ditto.
3435
3436 * config/ia64/crtbegin.asm (__do_jv_register_classes): Add missing
3437 .prologue directive.
3438 Use .skip instead of data8 for .bss section to make Intel
3439 Assembler (ias) happy. Minor whitespace fixups. Make "nop 0"
3440 explicit in the .mib bundles and remove the unnecessary stop
3441 bits. Replace local labels with normal labels, to make ias
3442 happy. Don't register __do_global_ctors_aux here, do it in
3443 crtend.asm instead.
3444
3445 * config/ia64/crtend.asm [HAVE_INIT_FINI_ARRAY]: Register
3446 __do_global_ctors_aux in .init_array section instead of
3447 declaring it as a hidden global. Replace local labels with
3448 ordinary labels to make ias happy.
3449
3450 2003-05-07 Richard Henderson <rth@redhat.com>
3451
3452 PR c++/10570
3453 * except.c: Revert 04-01 and 04-02 forced-unwind changes.
3454 * flags.h, toplev.c, doc/invoke.texi: Likewise.
3455
3456 * unwind-dw2.c (_Unwind_GetCFA): Fix ptr->int conversion warning.
3457 * unwind.inc (_Unwind_DeleteException): Check for null
3458 exception_cleanup.
3459
3460 * unwind-sjlj.c (_Unwind_SjLj_Resume_or_Rethrow): New.
3461 * unwind.inc (_Unwind_Resume_or_Rethrow): New.
3462 * unwind.h: Declare them.
3463 * libgcc-std.ver (GCC_3.3): Export them.
3464
3465 2003-05-07 Richard Henderson <rth@redhat.com>
3466
3467 * unwind-dw2.c (_Unwind_GetCFA): Cast pointer to _Unwind_Ptr,
3468 not _Unwind_Word.
3469
3470 2003-05-07 Zack Weinberg <zack@codesourcery.com>
3471
3472 * stmt.c (force_label_rtx): New function, based on logic
3473 formerly found in expand_expr.
3474 * expr.h: Prototype it.
3475 * expr.c (expand_expr <LABEL_DECL>): Use force_label_rtx if
3476 appropriate.
3477 * varasm.c (decode_addr_const <LABEL_DECL>): Use force_label_rtx.
3478
3479 * print-tree.c (debug_tree): Free the table after we're done
3480 with it. Use putc.
3481
3482 2003-05-07 Aldy Hernandez <aldyh@redhat.com>
3483
3484 * config/rs6000/spe.h: Reverse arguments for __ev_subfw.
3485 Unreverse arguments for __ev_subw.
3486
3487 * config/rs6000/spe.md (evsubfw): Reverse arguments of assembly.
3488
3489 2003-05-07 Nick Clifton <nickc@redhat.com>
3490
3491 * config/stormy16/stormy-abi: Update to include
3492 R_XSTORMY16_FPTR16, R_XSTORMY16_LO16, R_XSTORMY16_HI16 and
3493 R_XSTORMY16_12 relocs.
3494
3495 2003-05-07 Alan Modra <amodra@bigpond.net.au>
3496
3497 * function.c (assign_parms): Correct reversed reg_parm_stack_space
3498 test. Add partial in-regs size to stack_args_size.
3499
3500 2003-05-07 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3501
3502 * doc/invoke.texi (Warning Options): Mark -Wmissing-declarations
3503 as a C only option.
3504
3505 2003-05-07 Nathan Sidwell <nathan@codesourcery.com>
3506
3507 * gcov-io.h (GCOV_LOCKED): New #define.
3508 (GCOV_LINKAGE): Make sure it is #defined.
3509 (gcov_write_string, gcov_write_tag, gcov_write_length,
3510 gcov_read_string, gcov_time): Poison in libgcov.
3511 (gcov_seek_end): Remove.
3512 (gcov_write_tag_length, gcov_sync, gcov_rewrite): New.
3513 (GCOV_TAG_FUNCTION_LENGTH, GCOV_TAG_BLOCKS_LENGTH,
3514 GCOV_TAG_ARCS_LENGTH, GCOV_TAG_COUNTER_LENGTH,
3515 GCOV_TAG_SUMMARY_LENGTH): New #defines.
3516 (gcov_write_tag, gcov_write_length): Not in libgcov.
3517 * gcov-io.c (gcov_open): Use GCOV_LOCKED.
3518 (gcov_write_tag, gcov_write_length): Not in libgcov.
3519 (gcov_write_tag_length): New.
3520 (gcov_write_summary): Use gcov_write_tag_length.
3521 * libgcov.c: Always #include gcov-io.h.
3522 (IN_LIBGCOV): -1 for inhibit_libc, +1 otherwise.
3523 (GCOV_LINKAGE): Define to nothing for L_gcov.
3524 (gcov_exit): Replace gcov_write_tag, gcov_write_length with
3525 gcov_write_tag_length. Use gcov_rewrite & gcov_seek.
3526 * gcov.c (read_graph_file): Replace gcov_seek by gcov_sync.
3527 (read_count_file): Likewise.
3528 * gcov-dump.c (dump_file): Likewise.
3529 * coverag.c (read_counts_file): Likewise.
3530
3531 2003-05-06 Mark Mitchell <mark@codesourcery.com>
3532
3533 PR other/10658
3534 * gcc.c (process_command): Update copyright date.
3535
3536 2003-05-06 Phil Edwards <pme@gcc.gnu.org>
3537
3538 * doc/install.texi (mips-*-*): Add note about libstdc++.
3539
3540 2003-05-06 DJ Delorie <dj@redhat.com>
3541
3542 * config/stormy16/stormy16.c (xstormy16_function_profiler): New.
3543 * config/stormy16/stormy16.h (FUNCTION_PROFILER): Call it.
3544 * config/stormy16/stormy16-protos.h (xstormy16_function_profiler): New.
3545
3546 2003-05-06 <neil@cat.daikokuya.co.uk>
3547
3548 * c-opts.c (COMMAND_LINE_OPTIONS): Reject -Wmissing-prototypes
3549 and -Wstrict-prototypes if C++.
3550
3551 2003-05-06 Aldy Hernandez <aldyh@redhat.com>
3552
3553 * config/rs6000/linuxspe.h: New file.
3554
3555 * config.gcc: Add powerpc-*-linux-gnuspe* target.
3556
3557 2003-05-06 Richard Henderson <rth@redhat.com>
3558
3559 * unwind-dw2.c (uw_update_context_1): Only set cfa as sp if
3560 previous frame didn't save sp. Clear sp for next frame.
3561 (uw_install_context_1): Honor saved sp from frame.
3562
3563 2003-05-06 Richard Sandiford <rsandifo@redhat.com>
3564
3565 * config/mips/mips-protos.h (mips_subword, mips_output_move): Declare.
3566 (mips_move_1word, mips_move_2words): Remove declaration.
3567 (mips_split_64bit_move_p, mips_split_64bit_move): Declare.
3568 (mips_restore_gp): Remove insn argument.
3569 * config/mips/mips.h (FP_REG_RTX_P): New macro.
3570 * config/mips/mips.c (volatile_buffer): Remove.
3571 (mips_subword, mips_split_64bit_move_p, mips_split_64bit_move): New.
3572 (mips_move_1word, mips_move_2words): Remove, replacing with...
3573 (mips_output_move): ...this new function.
3574 (mips_restore_gp): Remove insn argument. Adjust for above changes.
3575 (print_operand): Make '%h' print %hi(op) for HIGH operands. Remove
3576 handling of floating-point constants. Handle zero CONST_DOUBLE
3577 arguments.
3578 (mips_annotate_frame_insn): Replace with...
3579 (mips_set_frame_expr): ...this, which just takes one argument.
3580 (mips_frame_set): Change the register argument to an rtx.
3581 (mips_emit_frame_related_store): Use mips_split_64bit_move_p to
3582 check whether moves should be split. Use mips_split_64bit_move
3583 to split them. Use mips_subword to generate the high and low
3584 parts of a paired FPR. Adjust calls to frame_set and
3585 mips_set_frame_expr.
3586 (mips_expand_prologue): Simplify due to above changes.
3587 * config/mips/mips.md: Add splitters for 64-bit moves on 32-bit
3588 targets, replacing xisting register-only versions.
3589 (UNSPEC_STORE_DF_HIGH): New unspec.
3590 (UNSPEC_LOAD_DF_LOW, UNSPEC_LOAD_DF_HIGH): New unspecs.
3591 (mulsi3_r4000, muldi3_internal2): Avoid use of mips_move_1word.
3592 (*paradoxical_extendhidi2): Remove.
3593 (movdi_internal, movdi_internal2): Use mips_output_move.
3594 (*movdi_internal2_mips16, movsi_internal, movcc): Likewise.
3595 (movsf_internal1, movsf_internal2): Likewise.
3596 (movdf_internal1a): Likewise. Fix length and type of f <- G case.
3597 (movdf_internal1b): Use mips_output_move. Fix type of f <- G case.
3598 (movdf_internal2): Use mips_output_move. Fix lengths of FPR moves.
3599 Add m <- G alternative.
3600 (load_df_low, load_df_high, store_df_low): New patterns.
3601 (movhi_internal): Use @ template instead of calling a function.
3602 Remove unnecessary 'z' alternatives.
3603 (movqi_internal): Likewise.
3604 (exception_receiver): Update call to mips_restore_gp.
3605
3606 2003-05-06 Richard Sandiford <rsandifo@redhat.com>
3607
3608 * config/mips/mips-protos.h (mips_simplify_dwarf_addr): Remove.
3609 (mips_delegitimize_address): Declare.
3610 * config/mips/mips.h (ASM_SIMPLIFY_DWARF_ADDR): Undefine.
3611 (FIND_BASE_TERM): Define.
3612 * config/mips/mips.c (TARGET_DELEGITIMIZE_ADDRESS): Define.
3613 (mips_delegitimize_address): Renamed from mips_simplify_dwarf_addr.
3614 Handle small-data addresses.
3615
3616 2003-05-05 Roger Sayle <roger@eyesopen.com>
3617
3618 * real.c (real_powi): New function to calculate the value of
3619 a real raised to an integer power, i.e. pow(x,n) for int n.
3620 (real_sqrt): Convert to using the faster do_add, do_multiply
3621 and do_divide API for consistency with the rest of real.c.
3622 * real.h (real_powi): Prototype here.
3623 * builtins.c (fold_builtin): Avoid local variable mode when
3624 evaluating sqrt at compile time. Attempt to evaluate pow at
3625 compile-time, by checking for an integral exponent.
3626
3627 2003-05-05 Richard Henderson <rth@redhat.com>
3628
3629 * doc/extend.texi (Variable Attributes): Re-sort table and tidy.
3630
3631 2003-05-05 David O'Brien <obrien@FreeBSD.org>
3632
3633 * config/rs6000/sysv4.h (CPP_OS_FREEBSD_SPEC): Add __ELF__ to mirror
3634 other FreeBSD ports.
3635 (LINK_OS_FREEBSD_SPEC): Mirror conventions on other FreeBSD ports.
3636 (_LITTLE_ENDIAN): Use __LITTLE_ENDIAN__ instead.
3637
3638 2003-05-05 Janis Johnson <janis187@us.ibm.com>
3639
3640 * Makefile.in: (site.exp): Add ALT_CC_UNDER_TEST, add quotes around
3641 expanded variables.
3642 * doc/sourcebuild.texi (C tests): Describe gcc.dg/compat tests.
3643
3644 2003-05-05 Zack Weinberg <zack@codesourcery.com>
3645
3646 * rtl.h (STRING_POOL_ADDRESS_P): Rename to DEFERRED_CONSTANT_P.
3647 * varasm.c (struct varasm_status): Add deferred_constants field.
3648 (n_deferred_strings): Delete variable.
3649 (n_deferred_constants): New #define.
3650 (struct constant_descriptor_tree): Kill next and label fields.
3651 (const_hash_table, MAX_HASH_TABLE): Delete.
3652 (const_desc_htab): New static variable.
3653 (const_hash): Rename const_desc_hash, and make it fit the
3654 hashtab.h interface.
3655 (const_desc_eq): New.
3656 (const_hash_1, compare_constant): Const-ify arguments.
3657 (build_constant_desc): Set DEFERRED_CONSTANT_P on all new
3658 SYMBOL_REFs. Clarify comments. Don't set desc->label.
3659 (output_constant_def): Do the lookup/insert using the
3660 hashtab.h interface. Don't muck with n_deferred_constants or
3661 DEFERRED_CONSTANT_P here.
3662 Always call maybe_output_constant_def_contents.
3663 (maybe_output_constant_def_contents): Take a pointer to the
3664 descriptor, not the EXP and RTL separately. Return
3665 immediately if this constant is not deferred. Defer output of
3666 everything, except writable string constants. Update
3667 n_deferred_constants here.
3668 (output_constant_def_contents): Now takes just one argument,
3669 an rtx. Clear DEFERRED_CONSTANT_P here.
3670 (mark_constant_pool): Update for rename of n_deferred_strings.
3671 (mark_constant): Don't clear DEFERRED_CONSTANT_P here.
3672
3673 (init_varasm_status): Clear p->deferred_constants.
3674 (init_varasm_once): Call htab_create_ggc for const_desc_htab.
3675
3676 2003-05-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3677
3678 * builtins.c (expand_builtin_stpcpy): Only expand when the length
3679 of the source string can be evaluated at compile-time.
3680
3681 2003-05-05 Aldy Hernandez <aldyh@redhat.com>
3682
3683 * testsuite/gcc.c-torture/compile/simd-6.c: New.
3684
3685 * c-typeck.c (digest_init): Handle arrays of vector constants.
3686
3687 2003-05-05 Jakub Jelinek <jakub@redhat.com>
3688
3689 * builtins.c (expand_builtin_mempcpy): New function.
3690 (expand_builtin_stpcpy): Optimize stpcpy whose return value is
3691 ignored into strcpy no matter what arguments it has.
3692 (expand_builtin) <case BUILT_IN_MEMPCPY>: Call
3693 expand_builtin_mempcpy.
3694
3695 2003-05-05 Aldy Hernandez <aldyh@redhat.com>
3696
3697 * testsuite/gcc.dg/20030505.c: New.
3698
3699 * c-typeck.c (convert_for_assignment): Opaque pointers can
3700 interconvert.
3701
3702 * config/rs6000/rs6000.c: New global opaque_p_V2SI_type_node.
3703 (rs6000_init_builtins): Initialize opaque_p_V2SI_type_node.
3704 (spe_init_builtins): Rename all pv2si_type_node to
3705 opaque_p_V2SI_type_node.
3706 Remove declaration of pv2si_type_node.
3707 (is_ev64_opaque_type): Accept opaque pointers.
3708
3709 2003-05-05 Geoffrey Keating <geoffk@apple.com>
3710
3711 * config/rs6000/rs6000.c (validate_condition_mode): Use
3712 flag_finite_math_only.
3713 (rs6000_reverse_condition): Never return UNKNOWN; use
3714 flag_finite_math_only.
3715 (rs6000_generate_compare): Use flag_finite_math_only.
3716 (rs6000_emit_cmove): Handle UNLE. Support UNEQ under -ffast-math.
3717 Use HONOR_* rather than flag_unsafe_math_optimizations. Correct
3718 UNGE and GT cases. Handle UNEQ and LTGT when ! HONOR_NANS.
3719
3720 * toplev.c (check_global_declarations): Suppress not-used warning
3721 for volatile variables.
3722
3723 2003-05-05 Olivier Hainque <hainque@act-europe.fr>
3724
3725 * expr.c (expand_expr, case BIT_FIELD_REF): Refine the test forcing
3726 usage of bitfield instructions for mode1 != BLKmode, only ignoring
3727 SLOW_UNALIGNED_ACCESS if the field is not byte aligned.
3728 (store_field): Likewise.
3729
3730 2003-05-05 Aldy Hernandez <aldyh@redhat.com>
3731
3732 * config/rs6000/rs6000.c (rs6000_expand_binop_builtin): Add
3733 evsubifw to builtins accepting 5-bit unsigned constants.
3734 (easy_vector_constant): Return if V1DImode. Fix typo.
3735
3736 2003-05-05 Aldy Hernandez <aldyh@redhat.com>
3737
3738 * config/rs6000/spe.h: Revert licensing change from last patch.
3739
3740 2003-05-05 DJ Delorie <dj@redhat.com>
3741
3742 * config/stormy16/stormy16.md (negsi2): Allocate the pseudos
3743 before reload, but defer the split until after.
3744 * config/stormy16/stormy16.c (xstormy16_expand_arith): Modify
3745 to match.
3746
3747 2003-05-05 David Edelsohn <edelsohn@gnu.org>
3748
3749 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add 440 support.
3750 * config/rs6000/vxworks.h (CC1_SPEC): Use -mcpu=440 for t440.
3751
3752 2003-05-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3753
3754 * libgcov.c (__gcov_merge_add): Do not use gcov_type when inhibit_libc
3755 is defined.
3756
3757 2003-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3758
3759 * builtin-attrs.def (ATTR_NOTHROW_NONNULL_1,
3760 ATTR_NOTHROW_NONNULL_2, ATTR_NOTHROW_NONNULL_3): Renamed from
3761 ATTR_NONNULL_1, ATTR_NONNULL_2 and ATTR_NONNULL_3.
3762
3763 (ATTR_NOTHROW_NONNULL_1_2, ATTR_NOTHROW_NONNULL_1_4,
3764 ATTR_CONST_NOTHROW_NONNULL_1, ATTR_PURE_NOTHROW_NONNULL_1,
3765 ATTR_PURE_NOTHROW_NONNULL_1_2, ATTR_MALLOC_NOTHROW_NONNULL_1):
3766 New.
3767
3768 * builtins.def (DEF_EXT_FALLBACK_BUILTIN): Accept ATTRS argument.
3769 (BUILT_IN_BZERO, BUILT_IN_BCOPY, BUILT_IN_BCMP): Update comment
3770
3771 (BUILT_IN_INDEX, BUILT_IN_RINDEX, BUILT_IN_MEMCPY,
3772 BUILT_IN_MEMMOVE, BUILT_IN_MEMCMP, BUILT_IN_MEMSET,
3773 BUILT_IN_MEMPCPY, BUILT_IN_STRCAT, BUILT_IN_STRNCAT,
3774 BUILT_IN_STPCPY, BUILT_IN_STRCPY, BUILT_IN_STRNCPY,
3775 BUILT_IN_STRCMP, BUILT_IN_STRNCMP, BUILT_IN_STRLEN,
3776 BUILT_IN_STRSTR, BUILT_IN_STRPBRK, BUILT_IN_STRSPN,
3777 BUILT_IN_STRCSPN, BUILT_IN_STRCHR, BUILT_IN_STRRCHR, BUILT_IN_NAN,
3778 BUILT_IN_NANF, BUILT_IN_NANL, BUILT_IN_NANS, BUILT_IN_NANSF,
3779 BUILT_IN_NANSL, BUILT_IN_PUTS, BUILT_IN_FPUTC, BUILT_IN_FPUTS,
3780 BUILT_IN_FWRITE, BUILT_IN_PUTS_UNLOCKED, BUILT_IN_FPUTC_UNLOCKED,
3781 BUILT_IN_FPUTS_UNLOCKED, BUILT_IN_FWRITE_UNLOCKED,
3782 BUILT_IN_STRDUP): Add "nonnull" attribute.
3783
3784 2003-05-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3785
3786 * expr.c (store_field): Don't clobber TEMP in shift: it might be
3787 a variable.
3788 (get_inner_reference): Don't go through a VIEW_CONVERT_EXPR
3789 whose purpose is to step up the alignment.
3790 (expand_expr, case ADDR_EXPR): Force LO_SUM into memory, just like REG.
3791
3792 * stor-layout.c (compute_record_mode): Relax restriction
3793 on fields crossing word boundaries forcing BLKmode.
3794
3795 2003-05-04 Neil Booth <neil@daikokuya.co.uk>
3796
3797 * cppinit.c (cpp_create_reader, post_options): Warn about
3798 trigraphs unless explicity set or -trigraphs.
3799 * cpplex.c (warn_in_comment): New.
3800 (_cpp_process_line_notes): Better handling of -Wtrigraphs.
3801 (_cpp_skip_block_comment): Add call to _cpp_process_line_notes.
3802 * doc/cppopts.texi, doc/cpp.texi: Update.
3803
3804 2003-05-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3805
3806 * Makefile.in (LIBGCOV): Add _gcov_merge_add.
3807 * gcov-io.h: Make GCOV_LINKAGE extern in libgcov and prevent resulting
3808 namespace clash.
3809 (GCOV_MERGE_FUNCTIONS): New.
3810 (gcov_merge_fn): Declare.
3811 (struct gcov_ctr_info): New field "merge".
3812 (__gcov_merge_add): Declare.
3813 * coverage.c (ctr_merge_functions): New.
3814 (build_ctr_info_type, build_ctr_info_value): Initialize merge field
3815 of gcov_ctr_info type.
3816 * libgcov.c (__gcov_merge_add): New.
3817 (gcov_exit): Call a hook to merge values of counters.
3818
3819 2003-05-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
3820
3821 * toplev.h (pedwarn_with_file_and_line): Don't declare.
3822 * diagnostic.c (pedwarn_with_file_and_line): Remove.
3823
3824 2003-05-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
3825
3826 * varasm.c (assemble_variable): Don't use error_with_file_and_line.
3827
3828 2003-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3829
3830 * builtins.c (expand_builtin_constant_p, expand_builtin_strlen,
3831 expand_builtin_frame_address): Update prototypes.
3832 (expand_builtin_constant_p, expand_builtin_strlen,
3833 expand_builtin_strcpy, expand_builtin_memset,
3834 expand_builtin_bzero, expand_builtin_args_info,
3835 expand_builtin_frame_address): Pass in just the argument(s)
3836 needed, not the entire expression `exp'.
3837 (expand_builtin): Update all calls to these functions.
3838
3839 2003-05-03 Richard Henderson <rth@redhat.com>
3840
3841 * builtins.c (expand_builtin) <BUILT_IN_DWARF_FP_REGNUM>: Remove.
3842 <BUILT_IN_DWARF_SP_COLUMN>: New.
3843 * builtins.def (BUILT_IN_DWARF_FP_REGNUM): Remove.
3844 (BUILT_IN_DWARF_SP_COLUMN): New.
3845 * dwarf2out.c (expand_builtin_dwarf_fp_regnum): Remove.
3846 (expand_builtin_dwarf_sp_column): New.
3847 * except.h: Update to match.
3848 * unwind-dw2.c (execute_stack_op): Correct stack push typo.
3849 (execute_cfa_program): Record location expression address
3850 before extracting length.
3851 (uw_update_context_1): Install old CFA into stack pointer column.
3852 (uw_init_context_1): Set cfa_reg to stack pointer column.
3853
3854 2003-05-03 Richard Henderson <rth@redhat.com>
3855
3856 * config/rs6000/rs6000.c (constant_pool_expr_p): Make static and
3857 return bool.
3858 (toc_relative_expr_p): Likewise.
3859 (SPE_CONST_OFFSET_OK): Move from rs6000.h.
3860 (legitimate_constant_pool_address_p): Move from rs6000.h, change
3861 into a function, downcase all users.
3862 (legitimate_small_data_p): Likewise.
3863 (legitimate_offset_address_p): Likewise.
3864 (legitimate_indexed_address_p): Likewise.
3865 (legitimate_indirect_address_p): Likewise.
3866 (legitimate_lo_sum_address_p): Likewise.
3867 (rs6000_mode_dependent_address): Likewise.
3868 * rs6000.h (CONSTANT_POOL_EXPR_P, TOC_RELATIVE_EXPR_P): Remove.
3869 (SPE_CONST_OFFSET_OK, LEGITIMATE_CONSTANT_POOL_ADDRESS_P,
3870 LEGITIMATE_SMALL_DATA_P, LEGITIMATE_OFFSET_ADDRESS_P,
3871 LEGITIMATE_INDEXED_ADDRESS_P, LEGITIMATE_INDIRECT_ADDRESS_P,
3872 LEGITIMATE_LO_SUM_ADDRESS_P): Move into rs6000.c.
3873 (LEGITIMATE_ADDRESS_INTEGER_P): Remove.
3874 (GO_IF_MODE_DEPENDENT_ADDRESS): Use rs6000_mode_dependent_address.
3875 * config/rs6000/rs6000-protos.h: Update.
3876
3877 2003-05-03 Geoffrey Keating <geoffk@apple.com>
3878
3879 * config/rs6000/rs6000.h (REVERSIBLE_CC_MODE): Define.
3880 (REVERSE_CONDITION): Define.
3881
3882 * config/rs6000/rs6000.c (scc_comparison_operator): Make equivalent
3883 to branch_positive_comparison_operator.
3884 (ccr_bit): Check that sCOND conditions are actually a positive bit.
3885 (print_operand): Remove %D substitution.
3886 (rs6000_emit_sCOND): Generate complement operation to ensure that
3887 sCOND input is a positive bit.
3888 * config/rs6000/rs6000.md: Rearrange sCOND templates to be in the
3889 same order as bCOND, and add the missing ones. Remove the %D
3890 substitutions from the scc patterns.
3891
3892 * simplify-rtx.c (simplify_relational_operation): Add case for
3893 ! (fabs(x) < 0.0).
3894
3895 2003-05-03 Bruce Korb <bkorb@gnu.org>
3896
3897 * gcc/fixinc/fixincl.tpl(dne): restore this to force merge conflicts
3898 in fixincl.x
3899 * gcc/fixinc/inclhack.def(bsd_stdio_attrs_conflict): fix placement
3900
3901 2003-05-03 Aldy Hernandez <aldyh@redhat.com>
3902
3903 * config/rs6000/spe.h: Remove unecessary casts. Misc cleanups.
3904
3905 2003-05-03 Zack Weinberg <zack@codesourcery.com>
3906
3907 PR c/10604
3908 * c-common.c (warn_sign_compare): Initialize to -1.
3909 * c-opts.c (c_common_init_options): Don't set warn_sign_compare here.
3910 (c_common_decode_option <OPT_Wall>): Set warn_sign_compare
3911 for C++ only.
3912 (c_common_post_options): Set warn_sign_compare from extra_warnings
3913 if it's still -1 at this point.
3914
3915 * toplev.c (maybe_warn_unused_parameter): New static variable.
3916 (set_Wextra): New static function.
3917 (W_options): Remove "extra".
3918 (decode_W_option): Call set_Wextra.
3919 (independent_decode_option): Likewise.
3920 (set_Wunused): Cooperate with set_Wextra in setting
3921 warn_unused_parameter.
3922 (rest_of_compilation): No need to check extra_warnings as
3923 well as warn_uninitialized.
3924
3925 * c-typeck.c (build_binary_op, build_conditional_expr):
3926 No need to check extra_warnings as well as warn_sign_compare.
3927 (internal_build_compound_expr): No need to check extra_warnings
3928 as well as warn_unused_value.
3929 * function.c (expand_function_end): No need to check extra_warnings
3930 as well as warn_unused_parameter.
3931 * stmt.c (expand_expr_stmt_value): No need to check extra_warnings
3932 as well as warn_unused_value.
3933
3934 * doc/invoke.texi: Clarify documentation of -Wsign-compare.
3935
3936 * Makefile.in: Disable -Werror for gengtype-lex.o.
3937
3938 2003-05-03 Olivier Hainque <hainque@act-europe.fr>
3939
3940 * emit-rtl.c (last_call_insn, add_function_usage_to): New functions.
3941 * rtl.h (last_call_insn, add_function_usage_to): New prototypes.
3942 * builtins.c (expand_builtin_apply): Use the new emit-rtl functions.
3943 * calls.c (emit_call_1): Likewise.
3944 (expand_call): For calls initializing constant memory, replace
3945 emission of standalone mem /u clobber with function usage entry.
3946 * expr.c (emit_block_move_via_libcall): Likewise.
3947 * cse.c (count_reg_usage, case EXPR_LIST): New case.
3948 * flow.c (propagate_one_insn): Pass entire operand of
3949 CALL_INSN_FUNCTION_USAGE to mark_used_regs.
3950 * integrate.c (try_constants): For CALL_INSNs, substitute constants
3951 within the FUNCTION_USAGE also.
3952 * loop.c (prescan_loop): Note clobbers of const mem mentioned in
3953 FUNCTION_USAGE lists.
3954 * reload1.c (replace_pseudos_in): Renamed.
3955 (reload): Use it for clobbers surviving until the end of the reload.
3956
3957 2003-05-03 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3958
3959 * expr.c (expand_expr, case VIEW_CONVERT_EXPR): Don't use
3960 gen_lowpart on non-integer modes.
3961
3962 * stor-layout.c (place_field): When adjusting offset_align, use
3963 desired_align, not DECL_ALIGN.
3964
3965 2003-05-03 Nathan Sidwell <nathan@codesourcery.com>
3966
3967 * c-decl.c (pending_invalid_xref_file): Remove.
3968 (pending_invalid_xref_line): Remove.
3969 (pending_invalid_xref_location): New.
3970 (lookup_label): Use location_t and input_location directly.
3971 (lookup_tag): Likewise.
3972 (pending_xref_error): Likewise.
3973 (c_expand_body_1): Likewise.
3974 * c-common.c (x_expand_start_cond): Likewise.
3975 * c-semantics.c (genrtl_for_stmt): Likewise.
3976 (find_reachable_label): Likewise.
3977 * expr.c (expand_expr): Likewise.
3978 * integrate.c (output_inline_function): Likewise.
3979 * tree-inline.c (find_alloca_call): Likewise.
3980 (find_builtin_longjmp_call): Likewise.
3981 * gcc.c (input_filename): Make static.
3982
3983 2003-05-03 Richard Sandiford <rsandifo@redhat.com>
3984
3985 * config/mips/mips.md: Fix comment typo.
3986
3987 * config/mips/mips.c (mips_integer_op): New structure.
3988 (MIPS_MAX_INTEGER_OPS): Define.
3989 (mips_const_insns): Use mips_build_integer to determine the number
3990 of instructions needed to load a CONST_INT.
3991 (move_operand): Reject compound CONST_INTs.
3992 (mips_build_shift, mips_build_lower, mips_build_integer): New fns.
3993 (mips_move_integer): New fn.
3994 (mips_legitimize_const_move): Pass CONST_INTs to mips_move_integer.
3995 (mips_legitimize_move): Only legitimize constants when moving
3996 word or subword values.
3997
3998 2003-05-02 Matt Kraai <kraai@alumni.cmu.edu>
3999
4000 * Makefile.in (gcov-iov.h): Use move-if-change and a stamp.
4001
4002 2003-05-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4003
4004 * builtins.c (expand_builtin_stpcpy): Copy `arglist' before
4005 modifying it.
4006
4007 2003-05-03 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
4008 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
4009
4010 * doc/contrib.texi (Contributors): Add Zdenek Dvorak, Aldy
4011 Hernandez, and Kazu Hirata. Update Richard Henderson.
4012
4013 2003-05-02 Geoffrey Keating <geoffk@apple.com>
4014
4015 * config/rs6000/rs6000.c (rs6000_attribute_table): Add 'extern'
4016 to tentative declaration.
4017
4018 * config/rs6000/sysv4.h (SYMBOL_FLAG_SMALL_V4): Delete.
4019 (SYMBOL_FLAG_SMALL_V4): Delete.
4020 * config/rs6000/rs6000.c (small_data_operand): Use SYMBOL_REF_SMALL_P.
4021 (rs6000_elf_encode_section_info): Don't set SYMBOL_FLAG_SMALL_V4.
4022 (rs6000_elf_in_small_data_p): Add extra section names. Add
4023 comment about TREE_PUBLIC test.
4024
4025 * c-semantics.c (genrtl_switch_stmt, genrtl_if_stmt): Call
4026 expand_stmt on result of expand_unreachable_stmt.
4027
4028 2003-05-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
4029
4030 * doc/contrib.texi (Contributors): Add Daniel Berlin.
4031
4032 2003-05-02 David Edelsohn <edelsohn@gnu.org>
4033
4034 * config/rs6000/{603.md,6xx.md,7450.md,7xx.md,rs64.md}: Decrease
4035 number of automata.
4036
4037 * config/rs6000/rs6000.c (symbol_ref_operand): Check
4038 SYMBOL_REF_FUNCTION_P on AIX.
4039 (current_file_function_operand): Same.
4040 * config/rs6000/rs6000.md (call,call_value): Force non-function
4041 symbol_ref into register on AIX.
4042
4043 2003-05-02 Alan Modra <amodra@bigpond.net.au>
4044
4045 * calls.c (struct arg_data): Move offset, slot_offset, size and
4046 alignment_pad to struct locate_and_pad_arg_data. Update all refs.
4047 (initialize_argument_information): Adjust call to locate_and_pad_parm.
4048 Delete alignment_pad var. Don't calculate slot_offset here.
4049 (emit_library_call_value_1): Delete alignment_pad, offset and size
4050 vars. Use struct locate_and_pad_arg_data instead. Adjust refs.
4051 Adjust call to locate_and_pad_parm. Don't tweak arg size for
4052 partial in-regs here. Formatting fixes.
4053 * expr.h (struct locate_and_pad_arg_data): New struct.
4054 (locate_and_pad_parm): Adjust declaration.
4055 * function.c (assign_parms): Localize vars. Use "locate" instead of
4056 other arg location vars. Don't invoke FUNCTION_ARG or
4057 FUNCTION_INCOMING_ARG unless pretend_named is different from
4058 named_arg. Heed MUST_PASS_IN_STACK and set up "partial" before
4059 calling locate_and_pad_parm. Adjust locate_and_pad_parm call.
4060 Use slot_offset for stack home of reg parms. Correct test for
4061 parm passed in memory. Formatting fixes.
4062 (locate_and_pad_parm): Add "partial" to params. Replace offset_ptr
4063 arg_size_ptr and alignment pad with "locate". Set slot_offset here.
4064 Correct initial_offset_ptr handling. Localize vars. Always pad
4065 locate->offset even when in_regs.
4066
4067 2003-05-02 Nathan Sidwell <nathan@codesourcery.com>
4068
4069 * Makefile.in (TREE_H): Replace location.h with input.h.
4070 (GTFILES) Remove location.h
4071 (gt-lists.h): Replace gt-location.h with gt-input.h
4072 * input.h (input_filename, input_line): Remove variables.
4073 (location_s, location_t): Move from location.h.
4074 (input_location): New.
4075 (input_filename, input_line): New #defines.
4076 * location.h: Remove.
4077 * tree.h: Replace location.h with input.h.
4078 (input_filename, input_line): Remove.
4079 * diagnostic.h: Replace location.h with input.h.
4080 * gcc.h (input_filename, input_filename_length): Remove declarations.
4081 * toplev.c (input_filename, input_line): Remove.
4082 (input_location): Define.
4083 (push_srcloc, pop_srcloc): Adjust.
4084 * diagnostic.c (diagnostic_report_current_module): Adjust.
4085
4086 2003-05-02 Nick Clifton <nickc@redhat.com>
4087
4088 * configure.in: Add xstormy16 to list of targets that has a nop
4089 instruction and hence which can be tested to see if the
4090 assembler supports the --gdwarf2 switch.
4091 * configure: Regenerate.
4092
4093 2003-05-01 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
4094
4095 PR target/8257
4096 * config/alpha/alpha.c (alpha_sa_mask, alpha_expand_prologue,
4097 alpha_start_function, alpha_expand_epilogue, unicosmk_gen_dsib):
4098 Avoid undefined shifts by making the shift operand unsigned.
4099
4100 2003-05-01 DJ Delorie <dj@redhat.com>
4101
4102 * reload.c (find_reloads): Also check that all of a multi-reg
4103 value is in the class.
4104
4105 2003-05-01 Nathan Sidwell <nathan@codesourcery.com>
4106
4107 * scan.h (lineno): Revert the rename here.
4108
4109 2003-05-01 Stan Shebs <shebs@apple.com>
4110
4111 * config/darwin.c (darwin_encode_section_info): Call
4112 default_encode_section_info.
4113
4114 2003-05-01 David Edelsohn <edelsohn@gnu.org>
4115
4116 * config/rs6000/rs6000.md (define_attr "type"): Add mfjmpr.
4117 (movsi_internal1): Use new mfjmpr attribute.
4118 (movhi_internal): Same.
4119 (movqi_internal): Same.
4120 (movcc_internal1): Same.
4121 (movdi_internal64): Same.
4122 * config/rs6000/{40x.md,603.md,6xx.md,7450.md,7xx.md,mpc.md,
4123 power4.md,rios1.md,rios2.md,rs64.md}: Add mfjmpr.
4124 * config/rs6000/40x.md: Add fpu_405.
4125 * config/rs6000/power4.md: Merge power4lsu and power4disp automata
4126 into power4misc automata. Remove extraneous parentheses.
4127 * config/rs6000/440.md: New file.
4128 * config/rs6000/rs6000.c (processor_target_table): Add 440,
4129 440fp. Rename 405f to 405fp.
4130 (function_arg_padding): Correct formatting.
4131 (rs6000_rtx_costs): Add PROCESSOR_PPC440 cases.
4132
4133 2003-05-01 Nathan Sidwell <nathan@codesourcery.com>
4134
4135 * input.h (lineno): Rename to ...
4136 (input_line): ... here.
4137 * tree.h (lineno): Rename to ...
4138 (input_line): ... here.
4139 * scan.h (lineno): Rename to ...
4140 (input_line): ... here.
4141 * toplev.c (lineno): Rename to ...
4142 (input_line): ... here.
4143 (push_srcloc, pop_srcloc): Rename lineno to input_line.
4144 * c-common.c (c_expand_start_cond, fname_decl): Likewise.
4145 * c-decl.c (poplevel, pop_label_level, lookup_label, lookup_tag,
4146 store_parm_decls, c_expand_body_1): Likewise.
4147 * c-errors.c (pedwarn_c99): Likewise.
4148 * c-format.c (status_warning): Likewise.
4149 * c-lex.c (fe_file_change, cb_def_pragma, c_lex): Likewise.
4150 * c-opts.c (c_common_post_options, c_common_parse_file): Likewise.
4151 * c-parse.in (save_filename, maybe_type_qual, ifc): Likwise.
4152 * c-semantics.c (finish_stmt_tree, build_stmt, emit_local_var,
4153 gentrtl_goto_stmt, genrtl_expr_stmt_value, genrtl_decl_stmt,
4154 genrtl_if_stmt, genrtl_while_stmt, genrtl_do_stmt,
4155 genrtl_return_stmt, genrtl_for_stmt, build_break_stmt,
4156 build_continue_stmt, genrtl_switch_stmt, genrtl_asm_stmt,
4157 prep_stmt, find_reachable_label, expand_unreachable_stmt): Likewise.
4158 * coverage.c (create_coverage): Likewise.
4159 * diagnostic.c (pedwarn, sorry, error, fatal_error,
4160 internal_error, warning, diagnostic_report_current_module,
4161 inform): Likewise.
4162 * expr.c (expand_expr): Likewise.
4163 * integrate.c (expand_inline_function,
4164 output_inline_function): Likewise.
4165 * rtl-error.c (file_and_line_for_asm): Likewise.
4166 * tree-inline.c (find_alloca_call, find_builtin_longjmp_call,
4167 walk_tree): Likewise.
4168 * tree.c (make_node): Likewise.
4169 * ada, cp, f, java, objc, treelang: Likewise.
4170 * objc/objc-act.c (objc_init): Rename lineno to input_line.
4171 (build_module_descriptor, build_selector_translation_table,
4172 build_protocol_template, build_method_prototype_list_template,
4173 build_category_template, build_selector_table,
4174 build_class_template, build_super_template, build_ivar_template,
4175 build_ivar_list_template, build_method_list_template,
4176 build_method_template, add_instance_variable): Likewise.
4177
4178 * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Change parameter
4179 name from input_filename.
4180
4181 2003-04-30 Eric Christopher <echristo@redhat.com>
4182 Richard Sandiford <rsandifo@redhat.com>
4183
4184 * configure: Regenerate from patches below.
4185 * combine.c (gen_lowpart_for_combine): Fix comment and add tests
4186 for all symbolic operands.
4187 * config/mips/mips.c: Migrate RTX_COSTS and CONST_COSTS
4188 to function.
4189 * config/mips/linux.h: Fix typo.
4190 * Merge from mips-3_4-rewrite branch:
4191
4192 2003-04-07 Richard Sandiford <rsandifo@redhat.com>
4193
4194 * config/mips/mips.c (mips_classify_symbol): Add catch-all case for
4195 handling local labels when TARGET_ABICALLS.
4196
4197 2003-04-04 Richard Sandiford <rsandifo@redhat.com>
4198
4199 * config/mips/mips-protos.h (mips_expand_epilogue): Add an
4200 integer argument.
4201 (mips_expand_call): Likewise.
4202 * config/mips/mips.h (TARGET_SIBCALLS): New macro.
4203 (FIXED_REGISTERS): Clear $31 entry.
4204 (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTER): Likewise.
4205 (EPILOGUE_USES): Define.
4206 * config/mips/mips.c (mips_function_ok_for_sibcall): New function.
4207 (TARGET_FUNCTION_OK_FOR_SIBCALL): Use it.
4208 (override_options): Add a 'j' register class.
4209 (mips_expand_call): Handle sibcalls
4210 (mips_expand_epilogue): Handle epilogues for sibcalls.
4211 * config/mips/mips.md (epilogue): Adjust call to mips_expand_epilogue.
4212 (sibcall_epilogue): New pattern.
4213 (call, call_value): Adjust calls to mips_expand_call.
4214 (sibcall, sibcall_value): New expanders.
4215 (sibcall_internal, sibcall_value_internal): New patterns.
4216 (sibcall_value_multiple_internal): New pattern.
4217
4218 2003-03-25 Richard Sandiford <rsandifo@redhat.com>
4219
4220 * config/mips/mips.md (extended_mips16): New attribute.
4221 (define_attr length): Default to 8 if extended_mips16 == yes.
4222 (truncdisi2): Set extended_mips16 to yes for the sll alternative.
4223 (truncdihi2, truncdiqi2, *extendsidi2): Likewise.
4224 (call_internal): Set extended_mips16 to yes for direct jumps.
4225 Remove redundant mode attribute.
4226 (call_value_internal, call_value_multiple_internal): Likewise.
4227 (call_split): Remove redundant mode attribute.
4228 (call_value_split, call_value_multiple_split): Likewise.
4229
4230 * config/mips/mips.c (mips_symbol_insns): Rework. Fix handling
4231 of unaligned offsets.
4232
4233 * config/mips/mips.c (mips_splittable_symbol_p): Fix handling
4234 of SYMBOL_GENERAL.
4235
4236 2003-03-22 Richard Sandiford <rsandifo@redhat.com>
4237
4238 * config/mips/mips.h (TARGET_EXPLICIT_RELOCS): Add commentary.
4239 * config/mips/mips.c (override_options): Disable -mexplicit-relocs
4240 for mips16 code.
4241
4242 2003-03-22 Richard Sandiford <rsandifo@redhat.com>
4243
4244 * config/mips/mips.h (ADDRESS_COST): Define.
4245
4246 2003-03-20 Richard Sandiford <rsandifo@redhat.com>
4247
4248 * config/mips/mips.h (EXTRA_CONSTRAINT): Give existing meaning of
4249 'R' to 'U'. Make 'R' mean a single-instruction memory reference.
4250 * config/mips/mips.md: Replace 'R' constraints with 'U'.
4251
4252 2003-03-18 Richard Sandiford <rsandifo@redhat.com>
4253
4254 * config/mips/mips.md (truncdisi2): Add commentary. Use sll instead
4255 of a two-instruction sequence. Add register->memory alternative.
4256 (truncdihi2, truncdiqi2): Likewise.
4257 Rework shift/truncate instructions so that they only handle right
4258 shifts of 32 (or more, in the case of arithmetic shifts).
4259 Add patterns for truncate/sign-extend.
4260
4261 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
4262
4263 * configure.in (mips*-*-*): Check for explicit relocation support.
4264 * configure: Regenerate.
4265
4266 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
4267
4268 * config/mips/mips.h (TARGET_SWITCHES): Add -mexplicit-relocs
4269 and -mno-explicit-relocs.
4270 (MASK_EXPLICIT_RELOCS): Define.
4271 (TARGET_EXPLICIT_RELOCS): Use it.
4272 (mips_split_addresses): Remove declaration.
4273 * config/mips/mips.c (override_options): Update comment for
4274 mips_split_addresses. Clear MASK_EXPLICIT_RELOCS for non-PIC n64.
4275
4276 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
4277
4278 * combine.c (gen_lowpart_for_combine): Treat the lowpart Pmode of
4279 a CONST as identity. Check the return value of gen_lowpart_common.
4280
4281 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
4282
4283 * config/mips/mips.c (mips_legitimize_symbol): Handle small data
4284 references for TARGET_EXPLICIT_RELOCS.
4285 (mips_reloc_string): Return "%gp_rel(" for RELOC_GPREL16 if
4286 !TARGET_MIPS16.
4287
4288 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
4289
4290 * config/mips/mips.md: Replace 'IQ' mips16 constraints with just 'Q'.
4291 (addsi3): Remove redundant constraints.
4292 (addsi3_internal): Use separate register & constant alternatives.
4293 Use a 'Q' constraint and "addiu" insn for the latter.
4294 (adddi3_internal_3, addsi3_internal_2): Likewise.
4295
4296 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
4297
4298 * config/mips/mips-protos.h (mips_expand_unaligned_load): Declare.
4299 (mips_expand_unaligned_store): Declare.
4300 * config/mips/mips.c (mips_get_unaligned_mem): New fn.
4301 (mips_expand_unaligned_load, mips_expand_unaligned_store): New fns.
4302 * config/mips/mips.md (UNSPEC_ULW, UNSPEC_USW): Remove.
4303 (UNSPEC_ULD, UNSPEC_USD): Remove.
4304 (UNSPEC_LWL, UNSPEC_LWR, UNSPEC_SWL, UNSPEC_SWR): New.
4305 (UNSPEC_LDL, UNSPEC_LDR, UNSPEC_SDL, UNSPEC_SDR): New.
4306 (extv, extzv): Use mips_expand_unaligned_load.
4307 (insv): Use mips_expand_unaligned_store. Use a reg_or_0_operand
4308 predicate for operand 3.
4309 (movsi_ulw, movsi_usw): Replace with...
4310 (mov_lwl, mov_lwr, mov_swl, move_swr): ...these new insns.
4311 (movdi_uld, movdi_usd): Likewise replace with...
4312 (mov_ldl, mov_ldr, mov_sdl, move_sdr): ...these insns.
4313
4314 2003-02-26 Richard Sandiford <rsandifo@redhat.com>
4315
4316 * config/mips/mips-protos.h (mips_global_pic_constant_p): Declare.
4317 * config/mips/mips.h (LEA_REGS): New register class.
4318 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add entries for it.
4319 (GR_REG_CLASS_P): Include LEA_REGS.
4320 (DANGEROUS_FOR_LA25_P): New macro.
4321 (EXTRA_CONSTRAINT): Add !DANGEROUS_FOR_LA25_P to R's condition.
4322 Add a T constraint for the DANGEROUS_FOR_LA25_P case.
4323 * config/mips/mips.c (mips_regno_to_class): Change GR_REGS
4324 entries to LEA_REGS.
4325 (mips_global_pic_constant_p): New function.
4326 (override_options): Add 'e' register constraint.
4327 (mips_secondary_reload_class): Return LEA_REGS when reloading
4328 a dangerous constant into a class containing $25.
4329 * config/mips/mips.md (movdi_internal2): Add an e <- T alternative.
4330 (movsi_internal): Likewise.
4331
4332 2003-02-23 Richard Sandiford <rsandifo@redhat.com>
4333
4334 * config/mips/mips.h (TARGET_SPLIT_CALLS): New macro.
4335 * config/mips/mips.md (call_split): New insn.
4336 (call_value_split, call_value_multiple_split): New insns.
4337 (call_internal): Turn into a define_insn_and_split. Split the
4338 instruction into a call and $gp load if TARGET_SPLIT_CALLS.
4339 (call_value_internal, call_value_multiple_internal): Likewise.
4340
4341 2003-02-23 Richard Sandiford <rsandifo@redhat.com>
4342
4343 * config/mips/mips.c (mips_reloc_string): Return "%got(" for
4344 RELOC_GOT_PAGE and RELOC_GOT_DISP if !TARGET_NEWABI.
4345 (mips_encode_section_info): Don't take symbol visibility into
4346 account if TARGET_ABICALLS. Add more commentary.
4347 * config/mips/mips.md: Add commentary above reloc constants.
4348
4349 2003-02-12 Richard Sandiford <rsandifo@redhat.com>
4350
4351 * config/mips/mips.c (mips_legitimize_const_move): New, extracted
4352 from mips_legitimize_move. Legitimize constant pool references.
4353 (mips_legitimize_move): Call mips_legitimize_const_move. Attach
4354 a REG_EQUAL note to the last instruction.
4355
4356 2003-02-11 Richard Sandiford <rsandifo@redhat.com>
4357
4358 * config/mips/mips-protos.h (mips_simplify_dwarf_addr): Declare.
4359 * config/mips/mips.h (TARGET_EXPLICIT_RELOCS, TARGET_NEWABI): New.
4360 (ASM_SIMPLIFY_DWARF_ADDR): Define to mips_simplify_dwarf_addr.
4361 (EXTRA_CONSTRAINT): Allow symbolic call addresses for TARGET_ABICALLS.
4362 * config/mips/mips.md (UNSPEC_HIGH): New constant.
4363 (UNSPEC_RELOC_GPREL16): Rename to...
4364 (RELOC_GPREL16): ...this.
4365 (RELOC_GOT_HI, RELOC_GOT_LO, RELOC_GOT_PAGE, RELOC_GOT_DISP): New.
4366 (RELOC_CALL16, RELOC_CALL_HI, RELOC_CALL_LO): New.
4367 (macro_calls): New attribute.
4368 (length): Use it to set the default length of calls. Don't allow
4369 calls to have delay slots if macro_calls is "yes".
4370 (luisi, luidi): New patterns.
4371 (lowsi, lowdi): Use '%R' to print the relocation.
4372 (lowdi_extend): Remove.
4373 (loadgp): Remove mode from operand 0. Use '%0' instead of '%a0'.
4374 (call_internal): Merge alternatives. Always use "jal".
4375 (call_value_internal, call_value_multiple_internal): Likewise.
4376 (reloc_gprel16): Remove.
4377 * config/mips/mips.c (mips_got_alias_set): New variable.
4378 (mips_classify_constant): Handle the new relocation constants.
4379 (mips_classify_symbol): Reverse the sense of SYMBOL_REF_FLAG for PIC.
4380 (mips_symbolic_address_p): Return false if generating explicit relocs.
4381 Otherwise allow local PIC symbols to have an offset.
4382 (mips_splittable_symbol_p): New function.
4383 (mips_classify_address): Use it to check whether a LO_SUM is valid.
4384 (mips_const_insns): Always accept HIGH.
4385 (call_insn_operand): Don't accept global symbols if using explicit
4386 relocs.
4387 (move_operand): Don't accept HIGH when generating PIC.
4388 (mips_reloc, mips_lui_reloc): New functions.
4389 (mips_force_temporary): Remove MODE argument. Expect VALUE to
4390 be a valid right-hand-side for a SET pattern.
4391 (mips_load_got, mips_load_got16, mips_load_got32): New functions.
4392 (mips_emit_high): New function.
4393 (mips_legitimize_symbol): Use mips_reloc for the mips16 gp-relative
4394 case. Use mips_splittable_symbol_p to check whether a LO_SUM
4395 address should be used. Use mips_emit_high to generate the
4396 high part of such an address. Adjust the global symbol + offset
4397 case to match the change to mips_force_temprorary.
4398 (mips_legitimize_move): Shuffle call to mips_legitimize_symbol.
4399 If generating explicit-reloc PIC, load the address of global
4400 symbols from the GOT. Use mips_emit_high to emit the high part
4401 of an address.
4402 (mips_simplify_dwarf_addr): New function.
4403 (mips_move_1word): Use lwc1 instead of l.s and swc1 instead of s.s.
4404 (mips_move_2words): Likewise ldc1/l.d and sdc1/s.d if TARGET_64BIT.
4405 (mips_expand_call): Load the addresses of global functions using
4406 %call* relocs if generating explicit-reloc PIC. Don't generate
4407 an exception_receiver pattern.
4408 (override_options): Initialize mips_got_alias_set.
4409 (print_relocation): Remove in favour of...
4410 (mips_reloc_string): ...this new function.
4411 (print_operand): Handle '%R'. Use mips_reloc_string.
4412 (print_operand_address): Use print_operand to print the symbolic
4413 part of a LO_SUM address.
4414 (mips_output_function_prologue): Use .cprestore, reverting last patch.
4415 (mips_encode_section_info): Factor out DECL_RTL accesses. Reverse
4416 sense of SYMBOL_REF_FLAG for PIC, using binds_local_p to check
4417 for local symbols.
4418
4419 2003-02-02 Eric Christopher <echristo@redhat.com>
4420
4421 * config/mips/mips.c (mips_sign_extend): Remove.
4422 * config/mips/mips-protos.h: Ditto.
4423 * config/mips/mips.md (movdi_internal2_extend): Remove.
4424 (extendsidi2): Fix mode of convert_memory_address.
4425
4426 2003-01-24 Eric Christopher <echristo@redhat.com>
4427
4428 * config/mips/mips.md: Rewrite zero_extend* and extend*
4429 patterns. Use explicit instructions and split after reload
4430 for register extensions.
4431 (ashlsi3_internal1_extend): New combiner pattern for
4432 shift and extend combinations.
4433 * config/mips/mips.h: Change Pmode back to ptr_mode
4434 for performance enhancement.
4435 * combine.c (expand_compound_operation): Make sure
4436 that zero_extend operation is profitable.
4437
4438 2003-01-14 Richard Sandiford <rsandifo@redhat.com>
4439
4440 * config/mips/mips.h (TRAMPOLINE_TEMPLATE): Make size of stored
4441 addresses depend on ptr_mode rather than Pmode.
4442 (TRAMPOLINE_SIZE, TRAMPOLINE_ALIGNMENT): Update acoordingly.
4443 (INITIALIZE_TRAMPOLINE): Rework to handle Pmode != ptr_mode.
4444 (CASE_VECTOR_MODE): Use ptr_mode for !TARGET_MIPS16.
4445 (ASM_OUTPUT_ADDR_VEC_ELT): Update accordingly.
4446 * config/mips/mips.md (tablejump): Likewise. Remove Pmode
4447 condition for selecting cpaddsi or cpadddi: use cpadd instead.
4448 (tablejump_internal1): Remove condition.
4449 (tablejump_internal2): Change condition to TARGET_64BIT.
4450 (cpaddsi): Rename to...
4451 (cpadd): ...this.
4452 (cpadddi): Remove.
4453
4454 2003-01-09 Richard Sandiford <rsandifo@redhat.com>
4455
4456 * config/mips/mips-protos.h (mips16_constant_after_function_p,
4457 mips_address_cost, mips_check_split, double_memory_operand,
4458 mips16_gp_offset, mips16_gp_offset_p, mips16_constant,
4459 pic_address_needs_scratch, symbolic_operand): Remove declarations.
4460 (mips_legitimate_address_p): Return bool.
4461 (mips_address_insns, mips_fetch_insns, mips_const_insns,
4462 mips_legitimize_address, mips_legitimize_move,
4463 mips_expand_call): Declare.
4464 (mips_return_addr): Move outside #ifdef RTX_CODE.
4465
4466 * config/mips/mips.h (ABI_HAS_64BIT_SYMBOLS): New macro.
4467 (PIC_FN_ADDR_REG): New reg_class.
4468 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add corresponding entries.
4469 (GR_REG_CLASS_P): True for PIC_FN_ADDR_REG.
4470 (SMALL_OPERAND, SMALL_OPERAND_UNSIGNED, LUI_OPERAND,
4471 CONST_HIGH_PART, CONST_LOW_PART, LUI_INT): New macros.
4472 (SMALL_INT, SMALL_INT_UNSIGNED, CONST_OK_FOR_LETTER_P): Use new macros.
4473 (EXTRA_CONSTRAINTS): Give new meanings to Q, R and S.
4474 (CONSTANT_ADDRESS_P): Use mips_legitimate_address_p.
4475 (LEGITIMATE_PIC_OPERAND): Undefine.
4476 (LEGITIMATE_CONSTANT_P): Use mips_const_insns.
4477 (LEGITIMIZE_ADDRESS): Use mips_legitimize_address.
4478 (CONSTANT_AFTER_FUNCTION_P): Remove definition in #if 0 block.
4479 (FUNCTION_MODE): Change to SImode.
4480 (CONST_COSTS): Use mips_const_insns to calculate the cost of
4481 most constants. Treat const_artih_operands specially if they
4482 occur in a PLUS or MINUS.
4483 (CONSTANT_POOL_COST): New macro.
4484 (RTX_COSTS): Use mips_address_insns for MEMs, with a base cost of 2.
4485 Add LO_SUM handling.
4486 (ADDRESS_COST): Undefine.
4487 (PREDICATE_CODES): Add symbolic_operand and const_arith_operand.
4488 Add CONST to the list of codes for arith_operand. Add LABEL_REF
4489 to call_insn_operand and remove CONST_INT.
4490
4491 * config/mips/mips.c: Include integrate.h.
4492 (SINGLE_WORD_MODE_P): New macro.
4493 (mips_constant_type, mips_symbol_type, mips_address_type): New enums.
4494 (mips_constant_info, mips_address_info): New structs.
4495 (mips_regno_to_class): Map $25 to PIC_FN_ADDR_REG.
4496 (mips_classify_constant, mips_classify_symbol,
4497 mips_valid_base_register_p, mips_symbolic_address_p,
4498 mips_classify_address, mips_symbol_insns,
4499 mips16_unextended_reference_p, mips_address_insns, mips_const_insns,
4500 mips_fetch_insns, mips_force_temporary, mips_add_offset,
4501 mips_legitimize_symbol, mips_legitimize_address, mips_legitimize_move,
4502 mips_print_relocation): New functions.
4503 (const_arith_operand): New operand predicate.
4504 (arith_operand): Use it.
4505 (mips_const_double_ok, mips16_simple_memory_operand,
4506 simple_memory_operand, double_memory_operand, mips_check_split,
4507 mips_address_cost, pic_address_needs_scratch, mips16_gp_offset,
4508 mips16_gp_offset_p, mips16_output_gp_offset,
4509 mips16_constant_after_function_p, mips16_constant): Remove.
4510 (call_insn_operand): Be more fussy about symbolic constants.
4511 Use register_operand.
4512 (move_operand): Use mips_symbolic_address_p to check symbolic
4513 operands and general_operand to check the rest.
4514 (symbolic_operand): Use mips_classify_constant.
4515 (mips_legitimate_address_p): Use mips_classify_address.
4516 (mips_move_1word): Combine handling of symbolic addresses.
4517 Remove special treatment of gp-relative loads for TARGET_MIPS16.
4518 (move_move_2words): Likewise. Assume addresses are offsettable
4519 if they need to refer to more than one word. Add HIGH handling.
4520 (mips_restore_gp): Use ptr_mode for the GP save slot.
4521 (mips_expand_call): New function, combining the old mips.md
4522 call and call_internal define_expands. If the address isn't
4523 a call_insn_operand, force it into a register. For SVR4 PIC,
4524 emit an exception_receiver instruction after the call.
4525 (override_options): Only override flag_pic for TARGET_ABICALLS
4526 if it is currently zero. Allow mips_split_addresses when
4527 Pmode == DImode too, except when ABI_HAS_64BIT_SYMBOLS.
4528 Add new register class letter, 'c'.
4529 (print_operand): Use mips_classify_constant for constant operands.
4530 (print_operand_address): Use mips_classify_address.
4531 (mips_output_function_prologue): Don't use .cprestore.
4532 (mips_expand_epilogue): For TARGET_MIPS16, only adjust the stack
4533 via the frame pointer if current_function_calls_eh_return.
4534 (mips_encode_section_info): For TARGET_ABICALLS, use SYMBOL_REF_FLAG
4535 to mark whether a symbol is local or global.
4536 (build_mips16_call_stub): Expect the address of the function rather
4537 than a MEM reference to it. Update call generation sequences.
4538 (mips16_optimize_gp): Remove Pmode checks. Temporarily disable
4539 small-data adjustments.
4540
4541 * config/mips/mips.md: Remove 'R'/'m' memory distinction. Use default
4542 length for loads and stores.
4543 (UNSPEC_CPADD, UNSPEC_RELOC_GPREL16): New constants.
4544 (define_attr type): Add const and prefetch.
4545 (define_attr length): Use mips_const_insns for const instructions.
4546 Use mips_fetch_insns for load and store instructions.
4547 (define_attr single_insn): New.
4548 (define_attr can_delay): Use it.
4549 (define_attr abicalls): Remove.
4550 (define_delay): Use can_delay. Always allow calls to have delay slots.
4551 (addsi3_internal_2): Add 'Q' constraint.
4552 (movsi_ulw, movsi_usw, movdi_uld, movdi_usd): Set length to 8.
4553 (high): Remove.
4554 (lowsi): Renamed from low.
4555 (lowdi): New pattern.
4556 (movdi, movsi): Use mips_legitimize_move. Remove define_split.
4557 (lwxc1, ldxc1, swxc1, sdxc1): Set length to 4.
4558 (loadgp): Change operand 0 to an immediate_operand.
4559 (tablejump): Use the same patterns for SVR4 PIC but emit a cpadd
4560 beforehand.
4561 (cpaddsi, cpadddi): New patterns.
4562 (tablejump_internal3, tablejump_internal4): Remove define_expands
4563 and associated define_splits.
4564 (call, call_value): Use mips_expand_call.
4565 (call_internal): New, replacing all existing call_internal* insns.
4566 (call_value_internal): Likewise call_value_internal*.
4567 (call_value_multiple_internal): Likewise call_value_multiple_internal*.
4568 (untyped_call): Remove if (operands[0]) magic.
4569 (prefetch_si_address, prefetch_si): Change type to "prefetch".
4570 (prefetch_di_address, prefetch_di): Likewise.
4571 (leasi, leadi): Remove.
4572 (reloc_gprel16): New.
4573
4574 * config/mips/5400.md (ir_vr54_hilo): Include const type.
4575 * config/mips/5500.md (ir_vr55_hilo): Likewise.
4576 * config/mips/sr71k.md (ir_sr70_hilo): Likewise.
4577
4578 2003-01-08 Eric Christopher <echristo@redhat.com>
4579
4580 * config.gcc (mipsisa32*): Change ABI_MEABI to ABI_EABI.
4581 * config/mips/elf.h (STARTFILE_SPEC): Remove ABI_MEABI references and
4582 configure check for libgloss.
4583 * config/mips/elf64.h: Ditto.
4584 * config/mips/mips.c: Remove ABI_MEABI.
4585 * config/mips/mips.h: Ditto.
4586
4587 2002-11-05 Richard Sandiford <rsandifo@redhat.com>
4588
4589 Fix merge fallout.
4590 * config/mips/mips.md (mul_acc_si): Reapply 2002-10-16 change.
4591 (muldi3_internal): Remove outdated comment.
4592 (*muls_di, *umuls_di): Fix comment and 64-bitness.
4593 (*smsac_di, *umsac_di): Likewise. Reformat.
4594 (umulsi3_highpart): Minor formatting tweaks.
4595 (umulsi3_highpart_internal): Use only if !ISA_HAS_MULHI. Remove
4596 redundant scratch operand. Minor formatting tweak.
4597 (umulsi3_highpart_mulhi_internal): Use for !TARGET_64BIT as well.
4598 (umulsi3_highpart_neg_mulhi_internal): Likewise. Fix asm template.
4599 (smulsi3_highpart): As for the unsigned version.
4600 (smulsi3_highpart_internal): Likewise.
4601 (smulsi3_highpart_mulhi_internal): Likewise.
4602 (smulsi3_highpart_neg_mulhi_internal): Likewise.
4603 (smuldi3_highpart, umuldi3_highpart): Minor formatting tweaks.
4604 (*smul_acc_di): Remove duplicated pattern.
4605 (*umul_acc_di, *smul_acc_di): Reapply 2002-10-16 change.
4606 (anddi3) [unnamed mips16 pattern]: Remove reintroduced length.
4607 (zero_extendsidi2_internal2): Remove new, but commented-out pattern.
4608
4609 2002-10-22 Eric Christopher <echristo@redhat.com>
4610
4611 * config/mips/mips-protos.h (mips_return_addr): New.
4612 * config/mips/mips.c (mips_return_addr): New.
4613 (movdi_operand): Remove.
4614 (se_register_operand): Ditto.
4615 (se_reg_or_0_operand): Ditto.
4616 (se_uns_arith_operand): Ditto.
4617 (se_arith_operand): Ditto.
4618 (se_nonmemory_operand): Ditto.
4619 (extend_operator): Ditto.
4620 (highpart_shift_operator): Ditto.
4621 (mips_initial_elimination_offset): Remove return address pointer
4622 elimination.
4623 (mips_reg_names): Remove $ra.
4624 (mips_regno_to_class): Ditto.
4625 * config/mips/mips.h (POINTER_SIZE): Define based on TARGET_LONG64
4626 and TARGET_64BIT.
4627 (POINTER_BOUNDARY): Remove.
4628 (POINTERS_EXTEND_UNSIGNED): Define to 0.
4629 (PROMOTE_MODE): Promote to Pmode.
4630 (SHORT_IMMEDIATES_SIGN_EXTEND): Define.
4631 (Pmode): Define to TARGET_64BIT.
4632 (FUNCTION_MODE): Define as Pmode.
4633 (mips_args): Remove deleted functions.
4634 (SIZE_TYPE): Depend on POINTER_SIZE.
4635 (PTRDIFF_TYPE): Ditto.
4636 (FIXED_REGISTERS): Fix extra registers.
4637 (CALL_USED_REGISTERS): Ditto.
4638 (CALL_REALLY_USED_REGISTERS): Ditto.
4639 (RAP_REG_NUM): Remove.
4640 (RETURN_ADDRESS_POINTER_REGNUM): Ditto.
4641 (RETURN_ADDR_RTX): Define to mips_return_addr.
4642 (ELIMINABLE_REGS): Remove RETURN_ADDRESS_POINTER_REGNUM.
4643 (CAN_ELIMINATE): Ditto.
4644 * config/mips/mips.md: For DImode patterns, take into account
4645 deletions above. Split mulsidi patterns into sign_extend and
4646 zero_extend.
4647
4648 2002-10-16 Richard Sandiford <rsandifo@redhat.com>
4649 Michael Meissner <meissner@redhat.com>
4650
4651 * config/mips/mips.h (ISA_HAS_MACC): True for normal-mode vr4120 code.
4652 * config/mips/mips.md (mulsi3_mult3): Add a define_peephole2 to
4653 mop up unnecessarly moves through LO.
4654 (*mul_acc_si): Remove vr5400 and vr5500 handling from here.
4655 (*macc): New pattern for ISA_HAS_MACC. Add define_peephole2s to
4656 change mtlo/macc sequences into mul/add sequences when a three-
4657 address mul is available.
4658 (*macc2): New pattern. Add a define_peephole2 to generate it.
4659 (*mul_sub_si): Fix contraint for operand 5.
4660 (*muls): Use in 32-bit code as well.
4661 (*msac): Likewise. Use msub instead of msac in vr5500 code
4662 if the destination is LO. Remove duplicate define_split.
4663 (*muls_di): Use only in 32-bit code. Adjust rtl accordingly.
4664 (*msac_di): Likewise. Fix formatting.
4665 (smulsi3_highpart, umulsi3_highpart): Use mulhi in 32-bit code too.
4666 (*xmulsi3_highpart_internal): Use only if !ISA_HAS_MULHI.
4667 (*xmulsi3_highpart_mulhi): Use even if !TARGET_64BIT.
4668 (*xmulsi3_neg_highpart_mulhi): Likewise.
4669 (*mul_acc_64bit_di): Remove.
4670 (*mul_acc_di): Use only in 32-bit code. Handle ISA_HAS_MACC as well.
4671
4672 2002-10-14 Richard Sandiford <rsandifo@redhat.com>
4673
4674 * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
4675 * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
4676 (MULTILIB_DIRNAMES): Remove long32.
4677 (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
4678 (MULTILIB_REDUNDANT_DIRS): Remove.
4679
4680 2002-10-14 Richard Sandiford <rsandifo@redhat.com>
4681
4682 * doc/tm.texi (DRIVER_SELF_SPECS): Document.
4683 * gcc.c (driver_self_specs): New variable.
4684 (do_self_spec): New function.
4685 (main): Use it to process driver_self_specs.
4686
4687 2002-10-09 Richard Sandiford <rsandifo@redhat.com>
4688
4689 * config/mips/mips.md (one_cmpldi2): Use only if TARGET_64BIT.
4690 Remove DImode define_split for !TARGET_64BIT.
4691 (anddi3): Remove !TARGET_64BIT support from here as well.
4692 Change operand 2's predicate to se_uns_arith_operand.
4693 Add constant alternatives to define_insn.
4694 (iordi3, xordi3, *nordi3): Likewise.
4695 (anddi3_internal1, xordi3_immed): Remove.
4696
4697 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
4698
4699 * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
4700 (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
4701 * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
4702 * config/mips/mips.md: Apply same renaming here.
4703
4704 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
4705
4706 * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
4707 (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
4708 * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
4709 * config/mips/mips.md (define_attr cpu): Remove r4320.
4710 Remove vr4320 scheduler and uses of TARGET_MIPS4320.
4711
4712 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
4713
4714 * config/mips/mips.c (mips16_strings): New variable.
4715 (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
4716 symbol in mips16_strings. Free the list.
4717 (mips_encode_section_info): Keep track of local strings.
4718
4719 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
4720
4721 * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
4722 (sordered_df, sordered_sf): Remove.
4723 * config/mips/mips.c (get_float_compare_codes): New fn.
4724 (gen_int_relational, gen_conditional_move): Use it.
4725
4726 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
4727
4728 * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
4729 * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
4730 * config/mips/mips.c (fcc_register_operand): New function.
4731 (mips_emit_fcc_reload): New function, extracted from reload_incc.
4732 (override_options): Allow TFmode values in float registers
4733 if ISA_HAS_8CC.
4734 * cnfig/mips/mips.md (reload_incc): Change destination prediate
4735 to fcc_register_operand. Remove misleading source constraint.
4736 Use mips_emit_fcc_reload.
4737 (reload_outcc): Duplicate reload_incc.
4738
4739
4740 2003-04-30 Diego Novillo <dnovillo@redhat.com>
4741
4742 * builtins.def (BUILTIN_CONSTANT_P): Mark as constant.
4743
4744 2003-04-30 Geoffrey Keating <geoffk@apple.com>
4745
4746 * tree-inline.c (inlinable_function_p): Back out last change, it's
4747 unnecessary.
4748
4749 2003-04-30 Steven Bosscher <steven@gcc.gnu.org>
4750
4751 * ggc-page.c (TREE_EXP_SIZE): Define.
4752 (extra_order_size_table): New entry for expr trees with
4753 two operands.
4754
4755 2003-04-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
4756
4757 * c-common.c (if_elt): Use location_t in lieu of "file, line" pair.
4758 (c_expand_start_cond): Adjust.
4759 (c_expand_end_cond): Don't use warning_with_file_and_file.
4760 (shadow_warning): Likewise.
4761
4762 2003-04-30 Nathan Sidwell <nathan@codesourcery.com>
4763
4764 * tree.h (DECL_POINTER_DEPTH): Remove.
4765 (struct tree_decl): Remove pointer_depth.
4766
4767 2003-04-30 Janis Johnson <janis187@us.ibm.com>
4768
4769 * config/rs6000/linux64.h (ASM_OUTPUT_LABELREF): Remove.
4770 * config/rs6000/rs6000.c (rs6000_elf_strip_name_encoding): Remove.
4771 (rs6000_xcoff_encode_section_info): Remove.
4772 (current_file_function_operand): Use SYMBOL_REF_FLAGS; fix latent bug.
4773 (rs6000_output_mi_thunk): Remove dead code; use SYMBOL_REF_FLAGS.
4774 (small_data_operand, rs6000_emit_move, rs6000_elf_in_small_data_p,):
4775 Use SYMBOL_REF_FLAGS.
4776 (rs6000_elf_encode_section_info): Call default_encode_section_info for
4777 generic flags, use SYMBOL_REF_FLAGS; code cleanups.
4778 * sysv4.h (TARGET_STRIP_NAME_ENCODING, ASM_OUTPUT_LABELREF): Remove.
4779 (SYMBOL_FLAG_SMALL_V4, SYMBOL_REF_SMALL_V4_P): New.
4780 * xcoff.h (TARGET_ENCODE_SECTION_INFO): Remove.
4781 (ASM_DECLARE_FUNCTION_NAME): Remove setting of SYMBOL_REF_FLAG.
4782
4783 2003-04-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
4784
4785 * diagnostic.c (output_pointer): Use HOST_PTR_PRINTF.
4786
4787 2003-04-30 Andreas Schwab <schwab@suse.de>
4788
4789 * doc/extend.texi (Other Builtins): Enclose multiple word data
4790 type in braces for @deftypefn.
4791
4792 2003-04-30 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4793
4794 * stor-layout.c (mode_for_size_tree): Use BLKmode if SIZE overflows.
4795
4796 * doc/install.texi (--enable-threads): Document "gnat" option.
4797
4798 2003-04-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
4799
4800 * diagnostic.h (output_formatted_scalar): Tweak.
4801 * diagnostic.c (output_long_decimal): Likewise.
4802 (output_unsigned_decimal): Likewise.
4803 (output_long_unsigned_decimal): Likewise.
4804 (output_octal): Likewise.
4805 (output_long_octal): Likewise.
4806 (output_hexadecimal): Likewise.
4807 (output_long_hexadecimal): Likewise.
4808 (output_pointer): New function.
4809 (output_format): Use it. Recognize "%p" format specifier.
4810
4811 2003-04-30 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4812
4813 * function.c (purge_addressof_1): Postpone insn in fewer cases.
4814
4815 2003-04-29 Geoffrey Keating <geoffk@apple.com>
4816
4817 * config/rs6000/host-darwin.c (segv_handler): When -dH is used,
4818 call abort() after running out of stack space.
4819
4820 * c-typeck.c (function_types_compatible_p): Ignore incompatible
4821 'volatile' qualifiers on a function's return type in GNU mode.
4822
4823 2003-04-29 Aldy Hernandez <aldyh@redhat.com>
4824
4825 * expr.c (emit_group_load): Dump parallels of simd types to
4826 memory.
4827
4828 2003-04-29 Vladimir Makarov <vmakarov@redhat.com>
4829
4830 * genautomata.c (add_vect): Check undefined value for range type
4831 too.
4832
4833 2003-04-29 Phil Edwards <pme@gcc.gnu.org>
4834
4835 * configure.in: More general test for cmp --ignore-initial.
4836 * configure: Regenerate.
4837
4838 2003-04-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4839
4840 * stor-layout.c (mode_for_size_tree): Use tree_low_cst.
4841 (layout_decl, place_field): Likewise.
4842 Also make minor type and whitespace changes.
4843
4844 * tree.c (save_expr): Don't fold a COMPONENT_REF.
4845
4846 2003-04-29 Olivier Hainque <hainque@act-europe.fr>
4847
4848 * calls.c (expand_call): When modes of target and valreg match, force
4849 sibcall failure when target is a MEM.
4850
4851 2003-04-29 Geoffrey Keating <geoffk@apple.com>
4852
4853 * tree-inline.c (inlinable_function_p): Don't support inlining
4854 functions using varargs.
4855
4856 * doc/invoke.texi (Overall Options): Mention -x objective-c-header.
4857
4858 * dwarf2out.c (output_call_frame_info): No need to output EH
4859 unwind information if all_throwers_are_sibcalls.
4860
4861 * c-semantics.c (expand_unreachable_stmt): Return a tree.
4862 (expand_stmt): Update for change to expand_unreachable_stmt.
4863 (expand_unreachable_if_stmt): Likewise.
4864
4865 * Makefile.in (quickstrap): Pass BOOT_CFLAGS to submake.
4866
4867 2003-04-29 Jason Merrill <jason@redhat.com>
4868
4869 PR middle-end/10336
4870 * jump.c (never_reached_warning): Really stop looking if we reach
4871 the beginning of the function.
4872
4873 2003-04-29 Bob Wilson <bob.wilson@acm.org>
4874
4875 * config/xtensa/elf.h (SIZE_TYPE, PTRDIFF_TYPE, USER_LABEL_PREFIX):
4876 Remove redundant macros.
4877 (WCHAR_TYPE, WCHAR_TYPE_SIZE): Change to "short unsigned int".
4878 (LOCAL_LABEL_PREFIX): Define unconditionally.
4879 (NO_DOT_IN_LABEL): Clarify comment.
4880 * config/xtensa/linux.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Add explicit
4881 definition to "long int".
4882
4883 2003-04-29 Alexander Kabaev <kan@FreeBSD.ORG>
4884
4885 bootstrap/10452
4886 * gengtype-yacc.y: Improve portability.
4887
4888 2003-04-29 Zack Weinberg <zack@codesourcery.com>
4889
4890 * config.gcc: Install obsolete target list for GCC 3.3.
4891 * doc/install.texi: Mention in specific-target instructions
4892 that certain configurations are deprecated.
4893
4894 2003-04-29 Zack Weinberg <zack@codesourcery.com>
4895
4896 * tree.h: Delete no-checking definition of CST_OR_CONSTRUCTOR_CHECK.
4897
4898 2003-04-29 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
4899
4900 * c-pragma.c (maybe_apply_renaming_pragma): Fix typo.
4901 * gcc.c (display_help): Likewise.
4902 * toplev.c (f_options): Likewise.
4903 * params.def (PARAM_MAX_INLINE_SCOPE): Likewise.
4904 * config/c4x/c4x.h (TARGET_SWITCHES): Likewise.
4905 * config/mcore/mcore.h (TARGET_SWITCHES): Likewise.
4906 * config/s390/s390.h (TARGET_SWITCHES): Likewise.
4907 * config/v850/v850.h (TARGET_SWITCHES): Likewise.
4908
4909 2003-04-29 J"orn Rennecke <joern.rennecke@superh.com>
4910
4911 * varasm.c (default_assemble_visibility): Use assemble_name.
4912
4913 2003-04-29 David O'Brien <obrien@FreeBSD.org>
4914
4915 * config/i386/freebsd64.h (LINK_SPEC): Mirror FreeBSD linker.
4916 * config/rs6000/freebsd.h (LINK_SHLIB_SPEC): New macro.
4917 (SIZE_TYPE): New macro.
4918 * config/i386/freebsd-aout.h (NO_PROFILE_COUNTERS): New macro.
4919 (SET_ASM_OP): New macro.
4920 (HANDLE_SYSV_PRAGMA): New macro.
4921 (ASM_WEAKEN_LABEL): New macro.
4922
4923 2003-04-28 Mark Mitchell <mark@codesourcery.com>
4924
4925 PR c++/10180
4926 * tree-inline.c (expand_call_inline): Call push_srcloc when
4927 encountering EXPR_WITH_FILE_LOCATION. Honor warn_inline.
4928
4929 2003-04-28 Mike Stump <mrs@apple.com>
4930
4931 * gdbinit.in: Update to reflect new identifier structure.
4932
4933 2003-04-28 Zack Weinberg <zack@codesourcery.com>
4934
4935 * tree.h (TREE_CST_RTL, CST_OR_CONSTRUCTOR_CHECK): Delete.
4936 (struct tree_int_cst, struct tree_real_cst, struct tree_string,
4937 struct tree_complex, struct tree_vector): Remove RTL field.
4938 (CONSTRUCTOR_ELTS): Use elt 0.
4939 * tree.def (CONSTRUCTOR): Delete first of its two operands.
4940 * varasm.c (output_constant_def): Remove early exit if
4941 TREE_CST_RTL is set. Don't set TREE_CST_RTL.
4942 (decode_addr_const): Don't mention TREE_CST_RTL in comment.
4943 * target.h (select_section): Don't mention TREE_CST_RTL in comment.
4944 * doc/tm.texi (encode_section_info): Don't talk about TREE_CST_RTL.
4945
4946 2003-04-28 Jakub Jelinek <jakub@redhat.com>
4947
4948 * c-decl.c (finish_decl): When prototype with asmspec is found
4949 for built-in, adjust built_in_decls as well as expr.c decls.
4950 * expr.c (init_block_move_fn, init_block_clear_fn): New functions.
4951 (emit_block_move_libcall_fn, clear_storage_libcall_fn): Use it.
4952 * expr.c (init_block_move_fn, init_block_clear_fn): New prototypes.
4953
4954 2003-04-28 Richard Henderson <rth@redhat.com>
4955
4956 * config/sparc/sparc.c (print_operand): Add 's' to sign-extend.
4957 * config/sparc/sparc.md (const_mulsidi3_v8plus): Fix mode of
4958 integral constant mult operand.
4959 (const_mulsidi3_sp32, const_mulsidi3_sp64): Likewise.
4960 (const_smulsi3_highpart_v8plus): Likewise.
4961 (const_smulsi3_highpart): Likewise.
4962 (const_umulsidi3_sp32): Likewise; sign-extend it in the output.
4963 (const_umulsidi3_sp64, const_umulsidi3_v8plus): Likewise.
4964 (const_umulsi3_highpart_v8plus): Likewise.
4965 (const_umulsi3_highpart): Likewise.
4966
4967 2003-04-28 David O'Brien <obrien@FreeBSD.org>
4968
4969 * config/i386/x86-64.h (NO_PROFILE_COUNTERS, HAVE_AS_DWARF2_DEBUG_LINE):
4970 Define as 1.
4971
4972 2003-04-28 David O'Brien <obrien@FreeBSD.org>
4973
4974 * config/i386/i386.h (builtin_define): Add __amd64 and __amd64__.
4975
4976 2003-04-28 Jakub Jelinek <jakub@redhat.com>
4977
4978 * builtins.def (BUILT_IN_BCOPY, BUILT_IN_MEMMOVE): New.
4979 * builtin-types.def (BT_FN_VOID_CONST_PTR_PTR_SIZE): New.
4980 * builtins.c (expand_builtin_memmove, expand_builtin_bcopy): New
4981 functions.
4982 (expand_builtin): Handle BUILT_IN_BCOPY and BUILT_IN_MEMMOVE.
4983
4984 2003-04-28 Nick Clifton <nickc@redhat.com>
4985
4986 * config/arm/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Remove definition.
4987
4988 2003-04-27 Zack Weinberg <zack@codesourcery.com>
4989
4990 * expr.c (expand_expr <COMPLEX_CST, STRING_CST>): Always call
4991 output_constant_def, use its result instead of TREE_CST_RTL (exp).
4992 Can assume it has the form (mem (symbol_ref ".LCxxx")).
4993 (expand_expr <COMPONENT_REF>): Can always just extract the
4994 relevant field of a CONSTRUCTOR.
4995 (expand_expr <ARRAY_REF, COMPONENT_REF, BIT_FIELD_REF,
4996 ARRAY_RANGE_REF>): Make control flow explicit.
4997 * varasm.c (output_constant_def): Can look at TREE_CST_RTL of
4998 an INTEGER_CST.
4999
5000 2003-04-27 Kazu Hirata <kazu@cs.umass.edu>
5001
5002 * reload1.c (reg_set_luid): Fix a comment typo.
5003
5004 2003-04-27 Zack Weinberg <zack@codesourcery.com>
5005
5006 * varasm.c (const_str_htab_hash, const_str_htab_eq, STRHASH,
5007 struct deferred_string, const_str_htab): Kill.
5008 (n_deferred_strings): New static variable.
5009 (build_constant_desc): Set SYMBOL_REF_DECL of the new
5010 symbol_ref to point to the constant.
5011 (output_constant_def): When a deferred string is forced out,
5012 just clear STRING_POOL_ADDRESS_P and decrement n_deferred_strings.
5013 (mark_constant): Likewise.
5014 (maybe_output_constant_def_contents): When deferring a string
5015 constant, just set STRING_POOL_ADDRESS_P and increment
5016 n_deferred_strings.
5017 (mark_constant_pool): Check n_deferred_strings, not the size
5018 of const_str_htab.
5019 (init_varasm_once): No need to create const_str_htab.
5020
5021 * rtl.def, rtl.h, doc/rtl.texi: Document possibility that
5022 SYMBOL_REF_DECL points to a constant.
5023
5024 2003-04-26 Zack Weinberg <zack@codesourcery.com>
5025
5026 * varasm.c (output_constant_def): Split out two new static
5027 functions, build_constant_desc and maybe_output_constant_def_contents.
5028 Restructure for comprehensibility. Don't call
5029 output_addressed_constants. Treat defstr being non-NULL for
5030 STRING_POOL_ADDRESS_P constants as an invariant.
5031 (struct deferred_string): Remove labelno field.
5032 (output_constant_def_contents): Kill labelno argument. Call
5033 output_addressed_constants here. Use ASM_OUTPUT_LABEL, not
5034 asm_out.internal_label.
5035 (mark_constant): Update call to output_constant_def_contents.
5036 Treat defstr being non-NULL for STRING_POOL_ADDRESS_P
5037 constants as an invariant.
5038
5039 2003-04-26 Richard Henderson <rth@redhat.com>
5040
5041 * config/i386/i386.c (output_pic_addr_const): Use SYMBOL_REF_LOCAL_P.
5042 (ix86_expand_call, ix86_rtx_consts): Likewise.
5043
5044 2003-04-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5045
5046 * doc/md.texi (cmpstr): Document additional restrictions.
5047
5048 2003-04-26 Neil Booth <neil@daikokuya.co.uk>
5049
5050 * flags.h (time_report): Remove.
5051 * timevar.c (timevar_enable): New.
5052 (TIMEVAR_ENABLE): Remove, use timevar_enable.
5053 (timevar_init): Rename from init_timevar.
5054 * timevar.h (timevar_init): Rename from init_timevar.
5055 * toplev.c (time_report): Make static.
5056 (do_compile): Conditionally call init_timevar first.
5057 (preprocess_options): Move some code to do_compile.
5058
5059 2003-04-26 Stephane Carrez <stcarrez@nerim.fr>
5060
5061 * doc/install.texi (Binaries): Mention binaries for HC11/HC12.
5062
5063 2003-04-26 Neil Booth <neil@daikokuya.co.uk>
5064
5065 * _cpp_lex_direct: Remove pointless code.
5066
5067 2003-04-26 Stephane Carrez <stcarrez@nerim.fr>
5068
5069 * doc/extend.texi (Function Attributes): Document "near" and "far"
5070 for 68HC11 and 68HC12.
5071
5072 2003-04-25 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5073
5074 * expr.c (store_field): When making temporary for store, don't
5075 make it TYPE_QUAL_CONST.
5076
5077 2003-04-25 Phil Edwards <pme@gcc.gnu.org>
5078
5079 * toplev.c (read_integral_parameter): Use "argument" in error
5080 message to distinguish it from actual invalid options.
5081
5082 2003-04-25 Bob Wilson <bob.wilson@acm.org>
5083
5084 * config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Back out previous
5085 addition of __PIC__ and __pic__ macros.
5086 * config/xtensa/xtensa.h: Clean up indentation.
5087
5088 2003-04-25 Bob Wilson <bob.wilson@acm.org>
5089
5090 * config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Remove definition of
5091 _GNU_SOURCE. Add definitions of __PIC__ and __pic__.
5092 (SUBTARGET_CPP_SPEC): Define.
5093 (LIB_SPEC): Delete.
5094 * config/xtensa/xtensa-protos.h (xtensa_declare_object): Delete.
5095 * config/xtensa/xtensa.c (xtensa_declare_object): Delete.
5096 * config/xtensa/xtensa.h (CPP_SPEC, SUBTARGET_CPP_SPEC, EXTRA_SPECS):
5097 Define.
5098 (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Delete.
5099 (ASM_OUTPUT_ALIGNED_BSS, BSS_SECTION_ASM_OP): Define.
5100
5101 2003-04-25 H.J. Lu <hjl@gnu.org>
5102
5103 * config/ia64/ia64.c (ia64_expand_compare_and_swap): Add rmode
5104 for return mode.
5105 (ia64_expand_builtin): Set rmode to SImode for
5106 IA64_BUILTIN_BOOL_COMPARE_AND_SWAP_SI,
5107 IA64_BUILTIN_VAL_COMPARE_AND_SWAP_SI and
5108 IA64_BUILTIN_BOOL_COMPARE_AND_SWAP_DI. Set remode to DImode
5109 for IA64_BUILTIN_VAL_COMPARE_AND_SWAP_DI.
5110
5111 2003-04-25 Phil Edwards <pme@gcc.gnu.org>
5112
5113 * configure.in (make_compare_target): Test for GNU cmp and set this
5114 variable appropriately.
5115 * Makefile.in (compare, compare3, compare4, compare-lean, compare3-lean,
5116 compare4-lean): Rename actual targets to slowcompare*. New compare*
5117 targets depend on names based on make_compare_target.
5118 * configure: Regenerated.
5119
5120 2003-04-25 Richard Henderson <rth@redhat.com>
5121
5122 * config/ia64/ia64.c (ia64_compute_frame_size): Allow inline asm
5123 to clobber ar.pfs and ar.unat.
5124 (ia64_expand_prologue): Force alloc instruction if ar.pfs saved;
5125 fix test for spilling ar.pfs to the stack.
5126
5127 2003-04-25 Richard Henderson <rth@redhat.com>
5128
5129 PR opt/10315
5130 * config/rs6000/rs6000.c (rs6000_emit_move): Only elide proper
5131 checks during reload; use validize_mem instead of adjust_address.
5132
5133 2003-04-26 Ben Elliston <bje@wasabisystems.com>
5134
5135 * config/arm/arm.c (arm_adjust_cost): Correct logic that tests the
5136 return values from recog_memoized().
5137
5138 2003-04-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5139
5140 PR opt/8705
5141 * gcse.c (try_replace_reg): On a successful substitution of a constant
5142 into a single set, try to simplify the source of the set.
5143 * loop.c (scan_loop): Don't try to optimize a MODE_CC set with a
5144 constant source.
5145
5146 2003-04-24 Neil Booth <neil@daikokuya.co.uk>
5147
5148 * cpplex.c (cpp_token_len): Tighten up.
5149 (cpp_token_as_text): Need extra byte now.
5150 * cpplib.c (glue_header_name): Need extra 2 bytes.
5151 * cppmacro.c (cpp_macro_definition): Need extra byte.
5152
5153 2003-04-24 Alexander Kabaev <kan@FreeBSD.ORG>
5154
5155 * config/sparc/sparc.md (umulsidi3, mulsidi3): Avoid using
5156 const_umulsidi3_sp32 and const_mulsidi3_sp32 on 64bit targets
5157 where they might be not present. Use their _sp64 equivalent
5158 instead.
5159
5160 Thu Apr 24 20:42:12 CEST 2003 Jan Hubicka <jh@suse.cz>
5161
5162 * i386.md (cvtsi2sdq): Fix typo in previous patch.
5163
5164 2003-04-24 Krister Walfridsson <cato@df.lth.se>
5165
5166 * configure.in: Check whether mbstowcs works.
5167 * configure, config.in: Regenerate.
5168 * intl.c: Use HAVE_WORKING_MBSTOWCS.
5169
5170 2003-04-24 H.J. Lu <hjl@gnu.org>
5171
5172 * config/ia64/ia64.c (ia64_init_builtins): Add si_ftype_pdi_di_di
5173 for __sync_bool_compare_and_swap_di for int return type.
5174
5175 * config/ia64/ia64intrin.h (__sync_bool_compare_and_swap_di):
5176 Change return type to int.
5177 (__sync_bool_compare_and_swap): Likewise.
5178
5179 Thu Apr 24 16:55:26 CEST 2003 Jan Hubicka <jh@suse.cz>
5180
5181 * cfgbuild.c (make_edges): Do not use next_nonnote_insn when
5182 looking for fallthru edge.
5183
5184 * athlon.md (athlon-agu, athlon-store, athlon-fany, athlon-faddmul):
5185 Fix.
5186 (athlon-load2, athlon-store2, athlon-fpsched, athlon-fpload,
5187 athlon-fvector): New.
5188 (athlon_*): Revisit to match new optimization guide.
5189 * i386.c (ix86_adjust_cost): Fix memory operand costs on Athlon/k8
5190 * i386.md (cvt??2?? patterns): Fix modes.
5191 (fistp patterns): Set modes.
5192
5193 Accidentaly commited with my earlier reload patch:
5194 PR c/10308
5195 * reload.c (find_reloads_address_1): Reload plus at the place of
5196 index register.
5197
5198 2003-04-24 Nathan Sidwell <nathan@codesourcery.com>
5199
5200 New GCOV_TAG_FUNCTION layout
5201 * coverage.c (struct function_list): Replace name with ident.
5202 (struct counts_entry): Likewise.
5203 (fn_ident): New.
5204 (htab_counts_entry_hash, htab_counts_entry_eq,
5205 htab_counts_entry_del): Adjust.
5206 (reads_count_file, get_coverage_counts,
5207 coverage_begin_output, coverage_end_function): Adjust.
5208 (build_fn_info_type, build_fn_info_value): Likewise.
5209 * gcov-dump.c (tag_function): Adjust.
5210 * gcov-io.c (gcov_write_string, gcov_read_string): Not in LIBGCOV.
5211 * gcov-io.h (gcov_write_string, gcov_read_string): Not in LIBGCOV.
5212 * gcov.c (struct function_info): Add ident.
5213 (read_graph_file, read_count_file): Adjust.
5214 * libgcov.c (gcov_exit): Adjust.
5215
5216 2003-04-23 Richard Henderson <rth@redhat.com>
5217
5218 PR opt/8300
5219 * toplev.c (rest_of_compilation): Delay no_new_pseudos until
5220 after initialize_uninitialized_subregs; update reg info assuming
5221 new pseudos were created.
5222
5223 2003-04-23 Neil Booth <neil@daikokuya.co.uk>
5224
5225 * Makefile.in (c-lex.o, LIBCPP_OBJS, cpplex.o): Update.
5226 * c-lex.c (MULTIBYTE_CHARS): Remove conditionals.
5227 (lex_string): Take cpp_string with full spelling.
5228 (cb_ident): Update.
5229 (c_lex): Update diagnostics.
5230 * cpplex.c (SPELL_NUMBER, SPELL_STRING): Combine into SPELL_LITERAL.
5231 (create_literal): New.
5232 (lex_string): Unterminated literals have type CPP_OTHER.
5233 (_cpp_lex_direct): Update calls to lex_string. Use create_literal
5234 for CPP_OTHER.
5235 (cpp_token_len, cpp_spell_token, cpp_output_token): Simplify.
5236 (_cpp_equiv_tokens, cpp_interpret_charconst): Update.
5237 * cpplib.c (parse_include, do_line, do_linemarker,
5238 destringize_and_run): Update for token storing full spelling.
5239 * cpplib.h: Update token spelling types.
5240 * cppmacro.c (stringify_arg, check_trad_stringification):
5241 Update for token storing full spelling.
5242
5243 2003-04-23 Ulrich Weigand <uweigand@de.ibm.com>
5244
5245 * config/s390/s390.c (s390_expand_cmpstr): Disable CLC loop.
5246
5247 2003-04-23 Richard Earnshaw <rearnsha@arm.com>
5248
5249 * arm.h (TARGET_OPTIONS): Add value field.
5250
5251 2003-04-23 Mark Mitchell <mark@codesourcery.com>
5252
5253 * doc/extend.texi: Remove duplicate 2003 copyright date.
5254
5255 2003-04-23 Nathan Sidwell <nathan@codesourcery.com>
5256
5257 * Makefile.in (LIBGCC_DEPS): Add gcov headers.
5258 (libgcov.a): Depends on LIBGCC_DEPS.
5259 * basic-block.h (profile_info): Moved here from coverage.h. Made
5260 a pointer.
5261 * coverage.c (struct function_list): Fixed array of counter types.
5262 (struct counts_entry): Keyed by counter type, contains summary.
5263 (profile_info): Moved to profile.c.
5264 (prg_ctr_mask, prg_n_ctrs, fn_ctr_mask, fn_n_ctrs): New global
5265 vars.
5266 (profiler_label): Remove.
5267 (ctr_labels): New.
5268 (set_purpose, label_for_tag, build_counter_section_fields,
5269 build_counter_section_value, build_counter_section_data_fields,
5270 build_counter_section_data_values, build_function_info_fields,
5271 build_function_info_value, gcov_info_fields, gcov_info_value): Remove.
5272 (build_fn_info_type, build_fn_info_value, build_ctr_info_type,
5273 build_ctr_info_value, build_gcov_info): New.
5274 (htab_counts_entry_hash, htab_counts_entry_eq): Adjust.
5275 (reads_counts_file): Adjust.
5276 (get_coverage_counts): Takes counter number. Add summary
5277 parameter. Adjust.
5278 (coverage_counter_ref): Tkaes counter number. Adjust. Lazily
5279 create counter array labels.
5280 (coverage_end_function): Adjust.
5281 (create_coverage): Adjust.
5282 (find_counters_section): Remove.
5283 * coverage.h (MAX_COUNTER_SECTIONS): Remove.
5284 (struct section_info, struct profile_info): Remove.
5285 (profile_info): Moved to basic-block.h.
5286 (coverage_counter_ref): Takes a counter number.
5287 (get_coverage_counts): Takes a counter number. Added summary
5288 parameter.
5289 (find_counters_section): Remove.
5290 * gcov-dump.c (tag_arc_counts): Rename to ...
5291 (tag_counters): ... here. Adjust.
5292 (tag_table): Move tag_counters to 3rd entry. Remove
5293 PROGRAM_PLACEHOLDER and PROGRAM_INCORRECT entries.
5294 (dump_file): Check for counter tag values here.
5295 (tag_summary): Adjust.
5296 * gcov-io.c (gcov_write_summary, gcov_read_summary): Adjust.
5297 * gcov-io.h (GCOV_LOCKED): New.
5298 (GCOV_TAG_ARC_COUNTS): Rename to ...
5299 (GCOV_TAG_COUNTS_BASE): ... here.
5300 (GCOV_TAG_PLACEHOLDER_SUMMARY, GCOV_TAG_INCORRECT_SUMMARY):
5301 Remove.
5302 (GCOV_COUNTER_ARCS, GCOV_COUNTERS, GCOV_NAMES): New.
5303 (GCOV_TAG_FOR_COUNTER, GCOV_COUNTER_FOR_TAG,
5304 GCOV_TAG_IS_COUNTER): New.
5305 (struct gcov_ctr_summary): New.
5306 (struct gcov_summary): Adjust.
5307 (struct gcov_counter_section): Remove.
5308 struct gcov_counter_section_data): Remove.
5309 (struct gcov_function_info): Rename to ...
5310 (struct gcov_fn_info): ... here. Adjust.
5311 (struct gcov_ctr_info): New.
5312 (struct gcov_info): Adjust.
5313 * gcov.c (read_count_file): Adjust.
5314 (output_lines): Adjust.
5315 * libgcov.c (gcov_exit): Adjust.
5316 (__gcov_flush): Adjust.
5317 * mklibgcc.in (libgcc2_c_dep): Add gcov headers.
5318 * predict.c (maybe_hot_bb_p, probably_cold_bb_p,
5319 probably_never_executed_bb_p, compute_frequency_function): Adjust
5320 profile_info use.
5321 * profile.c (struct counts_entry): Remove.
5322 (profile_info): Define here.
5323 (get_exec_counts): Adjust get_coverage_counts call.
5324 (compute_branch_probablilities): Remove find_counters_section
5325 call.
5326 (gen_edge_profiler): Adjust coverage_counter_ref call.
5327 * tracer.c (tail_duplicate): Adjust profile_info use.
5328
5329 2003-04-23 Roger Sayle <roger@eyesopen.com>
5330
5331 PR optimization/10339
5332 * builtins.c (expand_builtin_strcmp): Try to emit cmpstrsi insn
5333 directly instead of unsafely transforming call into a memcmp.
5334 (expand_builtin_strncmp): Likewise.
5335
5336 2003-04-22 Roger Sayle <roger@eyesopen.com>
5337
5338 * alias.c (mark_constant_function): Check for constancy and
5339 purity even of void functions. Update both the function decl
5340 and the cgraph RTL info with the results.
5341
5342 2003-04-22 Roger Sayle <roger@eyesopen.com>
5343
5344 * real.c (do_add): Change to return a bool indicating that the
5345 result of the operation may be inexact due to loss of precision.
5346 (do_multiply): Likewise.
5347 (do_divide): Likewise.
5348
5349 2003-04-22 Geoffrey Keating <geoffk@apple.com>
5350 Loren James Rittle <ljrittle@acm.org>
5351
5352 * dwarf2out.c (fde_table_allocated): Mark with GTY.
5353 (decl_die_table_allocated): Likewise.
5354 (abbrev_die_table_allocated): Likewise.
5355 (line_info_table_allocated): Likewise.
5356 (separate_line_info_table_allocated): Likewise.
5357 (pubname_table_allocated): Likewise.
5358 (arange_table_allocated): Likewise.
5359 (ranges_table_allocated): Likewise.
5360 (decl_die_table_in_use): Unconditionalize; mark with GTY.
5361 (abbrev_die_table_in_use): Likewise.
5362 (line_info_table_in_use): Likewise.
5363 (separate_line_info_table_in_use): Likewise.
5364 (pubname_table_in_use): Likewise.
5365 (arange_table_in_use): Likewise.
5366 (ranges_table_in_use): Likewise.
5367 (have_location_lists): Likewise.
5368 (emitcount): New GTY-marked static, moved...
5369 (maybe_emit_file): ...from here.
5370 (label_num): New GTY-marked static, moved...
5371 (gen_internal_sym): ...from here.
5372
5373 2003-04-22 Richard Henderson <rth@redhat.com>
5374
5375 PR 8866
5376 * rtl.h (MEM_NOTRAP_P): New.
5377 (MEM_COPY_ATTRIBUTES): Copy it.
5378 * rtlanal.c (may_trap_p): Check it.
5379 * expr.c (do_tablejump): Set it.
5380 * doc/rtl.texi (Flags): Document it.
5381
5382 * cfgrtl.c (try_redirect_by_replacing_jump): Revert last three changes.
5383
5384 2003-04-22 Olivier Hainque <hainque@act-europe.fr>
5385
5386 * config/alpha/alpha.c (alpha_expand_prologue [OPEN_VMS_ABI]): Don't
5387 set FRP on stack adjustment for outgoing args if frame_pointer_needed.
5388
5389 2003-04-22 Vincent Celier <celier@gnat.com>
5390
5391 * gthr-gnat.h, gthr-gnat.c: new sources for implementation of
5392 --enable-threads=gnat.
5393 * Makefile.in: Add gthr-gnat.c to LIB2ADDEH.
5394 * configure.in: Add gnat to the list of thread packages
5395 * configure: Rebuild.
5396 * config/t-linux: Add gthr-gnat.c to LIB2ADDEH and LIB2ADDEHDEP
5397
5398 2003-04-22 Neil Booth <neil@daikokuya.co.uk>
5399
5400 * cpplex.c (_cpp_get_fresh_line): Pop the buffer if return_at_eof.
5401
5402 2003-04-22 Devang Patel <dpatel@apple.com>
5403
5404 * cpptrad.c (_cpp_replacement_text_len): Add check for macro
5405 parameter count.
5406 (_cpp_copy_replacement_text): Same.
5407
5408 2003-04-22 Neil Booth <neil@daikokuya.co.uk>
5409
5410 * c-lex.c (c_lex): Handle CPP_OTHER differently.
5411 * cppexp.c (_cpp_parse_expr): Similarly.
5412 * cpplex.c (SPELL_CHAR): Remove.
5413 (_cpp_lex_direct): Stray chars are saved as byte strings.
5414 (cpp_spell_token, cpp_output_token, _cpp_equiv_token): Don't
5415 handle SPELL_CHAR.
5416 (cpp_avoid_paste): Update handling of CPP_OTHER.
5417 * cpplib.h: Spell CPP_OTHER like a number.
5418 (struct cpp_token): Remove member c.
5419 * cppmacro.c (stringify_arg): Update handling of CPP_OTHER.
5420
5421 2003-04-22 David Turner <novalis@gnu.org>
5422
5423 * gbl-ctors.h: Add special license exception.
5424 * libgcc2.h: Likewise.
5425 * tsystem.h: Likewise.
5426 * gcov-io.h: Likewise.
5427
5428 2003-04-22 David Edelsohn <edelsohn@gnu.org>
5429
5430 * fold-const.c (fold_range_test): Use RANGE_TEST_NON_SHORT_CIRCUIT
5431 macro defaulting to original BRANCH_COST heuristic.
5432 * doc/tm.texi (RANGE_TEST_NON_SHORT_CIRCUIT): Document.
5433
5434 * config/rs6000/rs6000.h (RANGE_TEST_NON_SHORT_CIRCUIT): Define.
5435
5436 2003-04-22 Aldy Hernandez <aldyh@redhat.com>
5437
5438 * config/rs6000/t-spe: Merge in t-fprules into file.
5439
5440 * config.gcc: Add t-spe to powerpc-eabispe.
5441
5442 2003-04-22 Kean Johnston <jkj@sco.com>
5443
5444 * tlink.c (recompile_files): Add missing '=' to putenv calls
5445
5446 2003-04-22 Nathan Sidwell <nathan@codesourcery.com>
5447
5448 * ginclude/stddef.h: Provide C++ safe offsetof.
5449
5450 2003-04-22 J"orn Rennecke <joern.rennecke@superh.com>
5451
5452 * function.c (purge_addressof_1): In (mem (addressof (reg))) case
5453 for reg notes, if there are no substitutions, just use a SUBREG.
5454
5455 2003-04-21 Mark Mitchell <mark@codesourcery.com>
5456
5457 * Makefile.in (calls.o): Depend on except.h.
5458 * calls.c: Include except.h.
5459 (emit_call_1): Call note_eh_region_may_contain_throw if
5460 appropriate.
5461 * except.c (eh_region): Add may_contain_throw.
5462 (expand_eh_region_end_cleanup): Do not include handler code when
5463 it cannot be reached.
5464 (note_eh_region_may_contain_throw): New function.
5465 * except.h (note_eh_region_may_contain_throw): New function.
5466
5467 2003-04-21 Mark Mitchell <mark@codesourcery.com>
5468
5469 * config/i386/winnt.c (i386_pe_mark_dllimport): Revert previous
5470 changes.
5471
5472 2003-04-21 Aldy Hernandez <aldyh@redhat.com>
5473
5474 * config/rs6000/rs6000.c (rs6000_override_options): No SPE means
5475 64-bit long doubles.
5476
5477 2003-04-21 Olivier Hainque <hainque@act-europe.fr>
5478
5479 * fold-const.c (fold, case PLUS_EXPR and case MULT_EXPR): Restore
5480 a number of conversions required for type consistency and previously
5481 stripped off by STRIP_NOPS.
5482
5483 * calls.c (expand_call): Prevent sibcall optimization for calls to
5484 nested subprograms.
5485
5486 * expmed.c (extract_bit_field): Reverse operands of && condition to
5487 prevent a potential division by zero in the previously first branch.
5488 * config/pa/pa.md (extv, extzv): FAIL if the bitfield length is zero.
5489
5490 2003-04-21 Joel Brobecker <brobecker@gnat.com>
5491
5492 * dwarf2out.c (is_ada, is_ada_subrange_type): New functions.
5493 (subrange_type_die): Likewise.
5494 (modified_type_die): Emit a subrange_type DIE for Ada subrange types.
5495 (is_c_family, is_cxx, is_java, is_fortran): Return bool and clean up.
5496
5497 2003-04-21 Nathan Sidwell <nathan@codesourcery.com>
5498
5499 Break out coverage routines to new file.
5500 * Makefile.in (COVERAGE_H): New variable
5501 (C_OBJS): Add coverage.o
5502 (coverage.o): New target.
5503 (profile.o, loop-init.o, sched-ebb.o, predict.o, tracer.o): Adjust
5504 dependencies.
5505 (GTFILES): Adjust.
5506 (gt-coverage.h): New target.
5507 (gt-profile.h): Remove.
5508 * profile.h: Remove. Move to ...
5509 * coverage.h: ... here. New. #include gcov-io.h.
5510 * gcov-io.h: Move function definitions to ...
5511 * gcov-io.c: ... here. New.
5512 * profile.c: Move coverage routines to coverage.c.
5513 (instrument_edges, get_exec_counts, branch_prob, init_branch_prob,
5514 end_branch_prob): Adjust.
5515 * coverage.c: New. Coverage routines from profile.c
5516 (coverage_counter_ref, coverage_init, coverage_finish,
5517 coverage_end_function, coverage_begin_output,
5518 coverage_counter_ref, get_coverage_counts): Define.
5519 * gcov-dump.c, gcov.c: #include gcov-io.c.
5520 * libgcov.c: Likewise. Adjust.
5521 * loop-init.c: Don't #include profile.h
5522 * tracer.c, predict.c, sched-ebb.c: Adjust #includes.
5523 * rtl.h: Add coverage prototypes.
5524 * toplev.c (compile_file): Init coverage, not branch_prob.
5525 Always call coverage_finish.
5526 (rest_of_compilation): Call coverage_end_function.
5527
5528 2003-04-21 Matt Kraai <kraai@alumni.cmu.edu>
5529
5530 * config/rs6000/rs6000.md (*movsf_softfloat): Add "h" <- "0" case.
5531
5532 2003-04-21 Neil Booth <neil@daikokuya.co.uk>
5533
5534 * c-ppoutput.c (cb_include): Don't take a cpp_token.
5535 * cppfiles.c: Don't undef strcmp.
5536 (find_include_file): Don't take a cpp_token. Check for empty
5537 file names.
5538 (_cpp_execute_include, _cpp_compare_file_date): Don't take a cpp_token.
5539 (cpp_push_include): Simplify.
5540 * cpphash.h (_cpp_execute_include, _cpp_compare_file_date): Update.
5541 * cpplib.c (glue_header_name): Return the file name, not a cpp_token.
5542 (parse_include): Similary. Don't check for zero-length filenames.
5543 (do_include_common, do_pragma_dependency): Update accordingly.
5544 * cpplib.h (struct cpp_callbacks): Change prototype of include.
5545
5546 2003-04-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5547
5548 * doc/rtl.texi (RTX_UNCHANGING_P): Point to true_dependence for
5549 details of conflict handling.
5550
5551 * fold-const.c (extract_muldiv, case CONVERT_EXPR): Detect case
5552 when conversion overflows.
5553
5554 * stor-layout.c (layout_decl): Don't set DECL_SIZE_UNIT if already set.
5555
5556 * expr.c (store_constructor): Set RTX_UNCHANGING_P if readonly_field_p
5557 before clearing.
5558
5559 2003-04-21 Mark Mitchell <mark@codesourcery.com>
5560
5561 * config/i386/winnt.c (i386_pe_mark_dllimport): Make the new RTL
5562 have the same form as the old RTL.
5563
5564 2003-04-21 Andreas Jaeger <aj@suse.de>
5565
5566 * cppcharset.c (_cpp_valid_ucn): Cast field precision to int.
5567
5568 2003-04-20 Chris Lattner <sabre@nondot.org>
5569 Zack Weinberg <zack@codesourcery.com>
5570
5571 * c-common.h, c-semantics.c: Rename genrtl_decl_cleanup to
5572 genrtl_cleanup_stmt. Correct comment at head of
5573 genrtl_cleanup_stmt (no such thing as a DECL_CLEANUP).
5574
5575 * stmt.c (struct nesting): Kill n_function_calls.
5576 (expand_start_bindings): Don't set
5577 thisblock->data.block.n_function_calls.
5578 (expand_end_bindings): Compare function_call_count against 0.
5579 (expand_cleanups): Kill DONT_DO argument; all callers passed
5580 NULL_TREE. All callers updated to match.
5581
5582 2003-04-20 Zack Weinberg <zack@codesourcery.com>
5583
5584 * varasm.c (struct deferred_constant, defer_addressed_constants_flag)
5585 (defer_addressed_constants, output_deferred_addressed_constants): Kill.
5586 (output_constant_def): Remove code predicated on
5587 defer_addressed_constants_flag.
5588
5589 * output.h: Remove prototypes of deleted functions.
5590 * c-typeck.c (constructor_subconstants_deferred): Kill.
5591 (struct initializer_stack): Remove 'deferred' field.
5592 (start_init): Remove all references to the above.
5593 (finish_init): Likewise. Also remove never-executed call to
5594 output_deferred_addressed_constants. Pull assignment to
5595 defstr out of if expression.
5596
5597 2003-04-20 Neil Booth <neil@daikokuya.co.uk>
5598
5599 * cpphash.h (NOTE_ESC_NL, NOTE_ESC_SPACE_NL, NOTE_TRIGRAPH,
5600 NOTE_NEWLINE): Remove.
5601 * cpplex.c (_cpp_clean_line, _cpp_process_line_notes): Update
5602 to handle new form of line note type.
5603
5604 2003-04-20 Zack Weinberg <zack@codesourcery.com>
5605
5606 * target.h (encode_section_info): Add new argument carrying
5607 the RTL to be modified by the hook.
5608
5609 * varasm.c (make_decl_rtl, output_constant_def): Update calls
5610 to encode_section_info.
5611 (default_encode_section_info): Take and use RTL argument,
5612 don't use TREE_CST_RTL or DECL_RTL.
5613 * output.h: Update prototype of default_encode_section_info.
5614 * config/darwin.h (ASM_DECLARE_OBJECT_NAME)
5615 (ASM_DECLARE_FUNCTION_NAME, ASM_OUTPUT_ALIGNED_DECL_LOCAL):
5616 Update calls to encode_section_info.
5617
5618 * config/darwin.c, config/arm/arm.c, config/arm/pe.c
5619 * config/h8300/h8300.c, config/i386/winnt.c, config/m32r/m32r.c
5620 * config/m68hc11/m68hc11.c, config/m88k/m88k.c, config/mcore/mcore.c
5621 * config/mips/mips.c, config/mmix/mmix.c, config/pa/pa.c
5622 * config/romp/romp.c, config/rs6000/rs6000.c, config/s390/s390.c
5623 * config/v850/v850.c (TARGET_ENCODE_SECTION_INFO definitions):
5624 Take and use RTL argument, don't use TREE_CST_RTL or DECL_RTL,
5625 except for PE dllimport/dllexport. Update calls to
5626 default_encode_section_info.
5627
5628 * config/darwin-protos.h, config/arm/arm-protos.h, config/i386-protos.h:
5629 Update prototypes.
5630
5631 * doc/tm.texi (TARGET_ENCODE_SECTION_INFO): Update.
5632
5633 2003-04-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5634
5635 PR/8705
5636 * pa.md (movccfp): New expander.
5637 (setccfp0, setccfp1): Rename to movccfp0 and movccfp1, respectively.
5638 Reverse fcmp conditions.
5639
5640 2003-04-20 Marek Michalkiewicz <marekm@amelek.gda.pl>
5641
5642 * config/avr/avr.md (*cmpqi_sign_extend): Handle negative values
5643 of operand 1 correctly.
5644
5645 2003-04-20 Nathan Sidwell <nathan@codesourcery.com>
5646
5647 * cpplex.c (_cpp_lex_direct): Set BOL for CPP_EOF tokens.
5648 * gcov.c (output_lines): Don't be so fussy about going past EOF.
5649
5650 2003-04-20 Neil Booth <neil@daikokuya.co.uk>
5651
5652 * Makefile.in (LIBCPP_OBJS): Add cppcharset.o.
5653 (cppcharset.o): New target.
5654 * c-lex.c (is_extended_char): Move to cppcharset.c.
5655 (utf8_extend_token): Delete.
5656 * cppcharset.c: New file.
5657 * cpphash.h (_cpp_valid_ucn): New.
5658 * cpplex.c (lex_identifier): Update prototype.
5659 (continues_identifier_p): Rename forms_identifier_p. Handle UCN
5660 escapes.
5661 (maybe_read_ucs): Rename maybe_read_ucn. Update to use code
5662 in cppcharset.c.
5663 (lex_number, lex_identifier, cpp_parse_escape): Update.
5664 (_cpp_lex_direct): Update to handle UCNs.
5665 (cpp_avoid_paste): Don't paste to form a UCN.
5666
5667 2003-04-19 Roger Sayle <roger@eyesopen.com>
5668
5669 * builtins.c (expand_builtin): Don't expand a pure or const
5670 built-in function if the result will be ignored and none of
5671 its arguments are volatile.
5672
5673 2003-04-19 Kean Johnston <jkj@sco.com>
5674
5675 * unwind-dw2.c (_Unwind_GetCFA): cast return to avoid warning
5676 * config.gcc: make SCO use dbxelf.h and elfos.h; only use one
5677 target fragment now: t-sco5; dont compile crti.o.
5678 * config/i386/sco5.h: major overhaul to remove all COFF remnants
5679 and to use elfos.h for most definitions.
5680 (BSS_SECTION_ASM_OP): set correct segment attributes.
5681 (PREFERED_DEBUGGING_TYPE): set to DWARF-2.
5682 (DWARF2_UNWIND_INFO): Always set to 1.
5683 (MD_STARTFILE_PREFIX): Make /usr/gnu/lib the default.
5684 (MD_STARTFILE_PREFIX_1): Define.
5685 (MD_EXEC_PREFIX): Adjust to /usr/gnu/bin if using GAS.
5686 (DEFAULT_LINKER): Define if not specified to configure.
5687 (CTORS_SECTION_ASM_OP): Remove COFF crud.
5688 (DTORS_SECTION_ASM_OP): Remove COFF crud.
5689 (WINT_TYPE): Define.
5690 (SDB_DEBUGGING_INFO): Remove.
5691 (EXTRA_SECTIONS): Likewise.
5692 (EXTRA_SECTION_FUNCTIONS): Likewise.
5693 (CTOR_LIST_BEGIN): Likewise.
5694 (CTOR_LIST_END): Likewise.
5695 (INIT_SECTION_FUNCTION): Likewise.
5696 (FINI_SECTION_FUNCTION): Likewise.
5697 (SUBTARGET_FRAME_POINTER_REQUIRED): Likewise.
5698 (LOCAL_LABEL_PREFIX): Likewise.
5699 (NON_SAVING_SETJMP): Likewise.
5700 (RETURN_POPS_ARGS): Likewise.
5701 (ASM_OUTPUT_SKIP): Likewise.
5702 (TARGET_ASM_NAMED_SECTION): Likewise.
5703 (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
5704 (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
5705 (ASM_OUTPUT_IDENT): Likewise.
5706 (ASM_OUTPUT_CASE_LABEL): Likewise.
5707 (ASM_OUTPUT_ASCII): Likewise.
5708 (ASM_OUTPUT_LIMITED_STRING): Likewise.
5709 (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
5710 (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
5711 (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5712 (ASM_FINISH_DECLARE_OBJECT): Likewise.
5713 (ASM_DECLARE_OBJECT_NAME): Likewise.
5714 (ASM_DECLARE_FUNCTION_SIZE): Likewise.
5715 (ASM_DECLARE_FUNCTION_NAME): Likewise.
5716 (ASM_DECLARE_RESULT): Likewise.
5717 (ASM_WEAKEN_LABEL): Likewise.
5718 (SUPPORTS_WEAK): Likewise.
5719 (APPLY_RESULT_SIZE): Likewise.
5720 (LPREFIX): Likewise.
5721 (ALIGN_ASM_OP): Likewise.
5722 (ASCII_DATA_ASM_OP): Likewise.
5723 (IDENT_ASM_OP): Likewise.
5724 (ASM_SHORT): Likewise.
5725 (ASM_LONG): Likewise.
5726 (TYPE_ASM_OP): Likewise.
5727 (SIZE_ASM_OP): Likewise.
5728 (STRING_ASM_OP): Likewise.
5729 (SKIP_ASM_OP): Likewise.
5730 (EH_FRAME_SECTION_ASM_OP): Likewise.
5731 (READONLY_DATA_SECTION_ASM_OP): Likewise.
5732 (INIT_SECTION_ASM_OP): Likewise.
5733 (FINI_SECTION_ASM_OP): Likewise.
5734 (TEXT_SECTION_ASM_OP): Likewise.
5735 (DATA_SECTION_ASM_OP): Likewise.
5736 (TYPE_OPERANT_FORMAT): Likewise.
5737 (ASM_SPEC): Remove COFF code.
5738 (STARTFILE_SPEC): Likewise. Always use crti.o; add -p and -pp support;
5739 cause -pg to emit an error; use pcrt1elf.o with -pp
5740 (ENDFILE_SPEC): Likewise.
5741 (TARGET_OS_CPP_BUILTINS): Add _SCO_DS_LL.
5742 (CPP_SPEC): Remove COFF crud; always look in /usr/gnu/include first.
5743 (LINK_SPEC): Remove COFF crud; use -E for environment switch not -R;
5744 add -z alt_resolve to support weak symbols the way GCC wants them.
5745 (LIB_SPEC): Use the profiler libraries in -p or -pp mode.
5746 (LIBGCC_SPEC): Dont use -lgcc in -G mode.
5747 (ASM_PREFERED_EH_DATA_FORMAT): Remove.
5748 * config/i386/t-sco5 (TARGET_LIBGCC2_CFLAGS): Remove.
5749 (CRTSTUFF_T_CFLAGS_S): Define.
5750 (MULTILIB_OPTIONS): Likewise.
5751 (MULTILIB_DIRNAMES): Likewise.
5752 (MULTILIB_MATCHES): Likewise.
5753 (MULTILIB_EXTRA_OPTS): Likewise.
5754 (LIBGCC): Likewise.
5755 (INSTALL_LIBGCC): Likewise.
5756 (crti.o): Remove.
5757 * config/i386/t-sco5gas: Remove.
5758 * doc/install.texi: Updated for new OpenServer instructions.
5759 * testsuite/gcc.dg/nest.c: Allow failure on SCO (-pg not supported)
5760
5761 2003-04-19 Kean Johnston <jkj@sco.com>
5762
5763 * fixinc/check.tpl: Allow user to over-ride diff program.
5764 * fixinc/inclhack.def: Removed extraneous #ifndef SVR5.
5765 (sco_math): Added test for SCO math header files.
5766 (sco_regset): Added check for conflicts with ieeefp.h.
5767 (svr4_disable_opt): Removed extraneous #ifdef SVR4.
5768 * fixinc/fixincl.x: Regenerated
5769 * fixinc/tests/base/math.h: Added sco_math tests.
5770 * fixinc/tests/base/string.h: New file.
5771 * fixinc/tests/base/sys/regset.h: New file.
5772
5773 2003-04-19 Neil Booth <neil@daikokuya.co.uk>
5774
5775 * cpphash.h (struct cpp_buffer): Remove backup_to.
5776 * cpplex.c (BACKUP, get_effective_char): Die.
5777 (_cpp_skip_block_comment): Assume '*' is location on entry.
5778 (continues_identifier_p): Respect -fno-dollars-in-identifiers.
5779 (IF_NEXT_IS): Update.
5780 (_cpp_lex_direct): Don't use backup_to; look ahead directly.
5781
5782 2003-04-19 Matt Kraai <kraai@alumni.cmu.edu>
5783
5784 * README.Portability: Move to a new section and obsolete K+R
5785 portability issues.
5786
5787 Sat Apr 19 14:56:17 CEST 2003 Jan Hubicka <jh@suse.cz>
5788
5789 * rtlanal.c (subreg_offset_representable_p): Fix call of
5790 subreg_lowpart.
5791
5792 2003-04-19 Neil Booth <neil@daikokuya.co.uk>
5793
5794 * cpphash.h (struct cpp_reader): New member warned_dollar.
5795 * cpplex.c (continues_identifier_p): New function.
5796 (parse_identifier, parse_number, parse_string): Rename lex_identifer,
5797 lex_number and lex_string, and simplify.
5798 (parse_slow, unescaped_terminator_p): Die.
5799 (_cpp_lex_direct): Update.
5800
5801 2003-04-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5802
5803 * calls.c (expand_call): Provide init for old_stack_pointer_delta.
5804
5805 2003-04-19 Nathan Sidwell <nathan@codesourcery.com>
5806
5807 * doc/invoke.texi (-fprofile-arcs): Mention -lgcov, locking and
5808 fork behaviour.
5809
5810 2003-04-19 Neil Booth <neil@daikokuya.co.uk>
5811
5812 * cppexp.c (eval_token): Permit true and false even if pedantic.
5813
5814 2003-04-19 Neil Booth <neil@daikokuya.co.uk>
5815
5816 * cpplex.c (skip_whitespace): Rearrange to avoid stage1 ICE.
5817
5818 2003-04-19 Neil Booth <neil@daikokuya.co.uk>
5819
5820 * cppfiles.c (ENABLE_VALGRIND_CHECKING, VALGRIND_DISCARD,
5821 MMAP_THRESHOLD, TEST_THRESHOLD, SHOULD_MMAP): Remove.
5822 (struct include_file): Remove fefcnt, mapped members.
5823 (open_file, stack_include_file, _cpp_pop_file_buffer): Disable caching.
5824 (read_include_file): Don't use mmap, terminate buffers in '\r'.
5825 (purge_cache): Don't use munmap.
5826 * cpphash.h (CPP_BUF_COLUMN): Update.
5827 (lexer_state): Remove lexing_comment.
5828 (struct _cpp_line_note): New.
5829 (struct cpp_buffer): New members cur_note, notes_used, notes_cap,
5830 next_line and need_line. Remove col_adjust and saved_flags.
5831 (_cpp_process_line_notes, _cpp_clean_line, _cpp_get_fresh_line,
5832 _cpp_skip_block_comment, scan_out_logical_line): New.
5833 (_cpp_init_mbchar): Remove.
5834 * cppinit.c (init_library): Remove call to _cpp_init_mbchar.
5835 (cpp_read_main_file): Set line to 1 earlier.
5836 (post_options): -traditional-cpp doesn't want trigraphs.
5837 * cpplex.c (MULTIBYTE_CHARS): Remove code predicated on this.
5838 (add_line_note, _cpp_clean_line, _cpp_process_line_notes,
5839 _cpp_get_fresh_line): New.
5840 (handle_newline, skip_escaped_newlines, trigraph_p,
5841 continue_after_nul, _cpp_init_mbchar): Remove.
5842 (get_effective_char): Update.
5843 (_cpp_skip_block_comment): Rename from skip_block_comment, simplify.
5844 (skip_line_comment): Simplify.
5845 (skip_whitespace, parse_identifier, parse_slow, parse_number,
5846 parse_string): Update.
5847 (cpp_lex_direct): Use clean lines and process line notes. Update.
5848 (cpp_interpret_charconst): No MULTIBYTE_CHARS.
5849 * cpplib.c (prepare_directive_trad): Call scan_out_logical_line
5850 directly.
5851 (_cpp_handle_directive): Don't set saved_flags.
5852 (run_directive, destringize_and_run, cpp_define, cpp_define_builtin,
5853 cpp_undef, handle_assertion, cpp_push_buffer): Update.
5854 (_cpp_pop_buffer): Free notes.
5855 * cppmacro.c (builtin_macro, paste_tokens): \n terminate buffer.
5856 * cpppch.c (cpp_read_state): \n terminate buffer.
5857 * cpptrad.c (skip_escaped_newlines, handle_newline): Remove.
5858 (copy_comment): Use _cpp_skip_block_comment.
5859 (skip_whitespace, lex_identifier, _cpp_read_logical_line_trad):
5860 Simplify.
5861 (_cpp_overlay_buffer, _cpp_remove_overlay, push_replacement_text,
5862 save_replacement_text): Update.
5863 (scan_out_logical_line): Update to use clean lines and process
5864 line notes.
5865 * fix-header.c (read_scan_file): Update.
5866
5867 2003-04-18 Douglas B Rupp <rupp@gnat.com>
5868
5869 * unwind-dw2-fde.c (__register_frame_info_bases): Check for
5870 null begin parameter (as well as pointer to null).
5871 (__deregister_frame_info_bases): Likewise.
5872
5873 2003-04-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5874
5875 * function.c (purge_addressof_1): For ADDRESSOF, see if SUB is a
5876 hard or virtual register and copy into pseudo if replacement fails.
5877
5878 * cfgcleanup.c (flow_find_cross_jump): Use INSN_P, not active_insn_p.
5879
5880 * expmed.c (mask_rtx): Avoid undefined shifts for BITSIZE of 0.
5881
5882 2003-04-18 Olivier Hainque <hainque@act-europe.fr>
5883
5884 * calls.c (expand_call): Move special case for constructor calls
5885 to right place. Ensures constructor calls used to initialize
5886 arguments get a clean outgoing argument block for themselves.
5887 Move check for stack deallocation completeness until after last
5888 deallocation. Add stack_pointer_delta to set of state
5889 variables saved and restored along with current stack_level.
5890
5891 * integrate.c (expand_inline_function): Ensure non-const actuals
5892 don't end up const in the caller's flow after conversion to possibly
5893 const formal type.
5894
5895 2003-04-18 Vincent Celier <celier@gnat.com>
5896
5897 * dwarf2out.c (loc_descriptor_from_tree): Treat all *_MOD_EXPR
5898 and *_DIV_EXPR as TRUNC_*_EXPR.
5899
5900 2003-04-18 Mark Mitchell <mark@codesourcery.com>
5901
5902 * cfgrtl.c (try_redirect_by_replacing_jump): Create a basic block
5903 for orphaned jump tables.
5904
5905 2003-04-18 Kazu Hirata <kazu@cs.umass.edu>
5906
5907 * reload1.c: Revert my previous patch on 2002-04-17.
5908
5909 2003-04-18 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5910
5911 * doc/contrib.texi (Contributors): Prefer "bug fix" over "bugfix".
5912 Add Segher Boessenkool.
5913
5914 2003-04-18 Alexander Sotirov <sluncho@mirizma.org>
5915
5916 PR c/9177
5917 * c-decl.c (c_expand_body): Don't garbage collect the function
5918 body if we are going to dump it later.
5919
5920 2003-04-18 Richard Henderson <rth@redhat.com>
5921
5922 * config/alpha/alpha.c (SYMBOL_FLAG_NEAR, SYMBOL_FLAG_SAMEGP): Remove.
5923 (alpha_end_function): Don't set them.
5924 (decl_in_text_section): Remove.
5925 (alpha_encode_section_info): Remove.
5926 (samegp_function_operand): Use SYMBOL_REF LOCAL_P and EXTERNAL_P.
5927 (direct_call_operand): Use SYMBOL_REF_DECL and compare actual
5928 sections, rather than decl_in_text_section results.
5929
5930 2003-04-18 Roger Sayle <roger@eyesopen.com>
5931
5932 * rtlanal.c (reg_overlap_mentioned_p): Handle ZERO_EXTRACT
5933 and SIGN_EXTRACT.
5934
5935 2003-04-18 Eric Botcazou <ebotcazou@libertysurf.fr>
5936
5937 PR optimization/7675
5938 * c-typeck.c (build_external_ref): Set the DECL_NONLOCAL flag
5939 on VAR_DECL, PARM_DECL and FUNCTION_DECL from within
5940 nested functions if they refer to declarations from parent functions.
5941 * stmt.c (expand_decl): Don't put automatic variables in registers
5942 if the DECL_NONLOCAL flag is set.
5943
5944 2003-04-18 Hans-Peter Nilsson <hp@bitrange.com>
5945
5946 * gcse.c (compute_ld_motion_mems): For MEM destinations, only
5947 consider those to be movable where the source matches
5948 want_to_gcse_p.
5949 (update_ld_motion_stores): In comment, refer to
5950 compute_ld_motion_mems for validity of replacement.
5951
5952 Fri Apr 18 01:28:51 CEST 2003 Jan Hubicka <jh@suse.cz>
5953
5954 * gcov-dump.c (tag_summary): Remove max_sum
5955 * gcov-io.h (gcov_summary, gcov_write_summary,
5956 gcov_read_summary): Kill max_sum.
5957 * libgcov.c (gcov_exit): Do one pass over the data. Make error
5958 message more verbose.
5959
5960 * emit-rtl.c (subreg_hard_regno): Check that register is
5961 representable.
5962
5963 * reload.c (reload_inner_reg_of_subreg): When register is not
5964 representable, reload the whole thing.
5965 (find_reloads): Likewsie.
5966 * rtlanal.c (subreg_representable_p): New function.
5967
5968 * profile.c (compute_branch_probabilities): Cleanup sanity checking;
5969 allow negative probabilities for edges from the call to exit.
5970 (branch_prob): Do not add fake edges for functions that may return
5971 twice.
5972
5973 2003-04-17 DJ Delorie <dj@redhat.com>
5974
5975 * toplev.c (target_options): Add value field.
5976 (set_target_switch): Handle target options with values.
5977 * doc/tm.texi: Document how fixed vs variable target
5978 options work.
5979 * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
5980 config/c4x/c4x.h, config/cris/aout.h, config/cris/cris.h,
5981 config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
5982 config/frv/frv.h, config/i386/i386.h, config/ia64/ia64.h,
5983 config/m32r/m32r.h, config/m68hc11/m68hc11.h,
5984 config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
5985 config/mips/mips.h, config/mmix/mmix.h, config/pa/pa.h,
5986 config/rs6000/rs6000.h, config/rs6000/sysv4.h,
5987 config/s390/s390.h, config/sparc/sparc.h, config/v850/v850.h:
5988 Add value initializer to target options.
5989
5990 2003-04-07 Loren James Rittle <ljrittle@acm.org>
5991
5992 * cpppch.c (cpp_valid_state): Unconditionally initialize nl.
5993
5994 2003-04-17 Kazu Hirata <kazu@cs.umass.edu>
5995
5996 * reload1.c (move2add_last_cc0): New.
5997 (reload_cse_move2add): Detect implicit sets.
5998 (move2add_note_store): Notice a store into cc0.
5999
6000 2003-04-17 Roger Sayle <roger@eyesopen.com>
6001
6002 PR c/10375
6003 * c-decl.c (duplicate_decls): Preserve "const" and "noreturn"
6004 function attributes.
6005
6006 2003-04-17 Janis Johnson <janis187@us.ibm.com>
6007
6008 * doc/sourcebuild.texi (Test Suites): Document support for testing
6009 binary compatibility (moved from testsuite/README.compat).
6010
6011 2003-04-17 Richard Henderson <rth@redhat.com>
6012
6013 * config/ia64/ia64.c (ia64_in_small_data_p): Disallow strings.
6014
6015 2003-04-17 Simon Law <sfllaw@engmail.uwaterloo.ca>
6016
6017 * doc/include/gpl.texi: Fix double-spacing after "MA" to match
6018 the one provided by the FSF.
6019
6020 2003-04-17 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
6021
6022 * doc/install.texi (Binaries): Update URL and list of platforms
6023 provided by ftp.thewrittenword.com.
6024
6025 2003-04-17 Richard Henderson <rth@redhat.com>
6026
6027 * config/xtensa/xtensa.c (xtensa_encode_section_info): Remove.
6028 (call_insn_operand): Use SYMBOL_REF_LOCAL_P.
6029 * config/xtensa/xtensa.md (call, call_value): Likewise.
6030
6031 2003-04-17 Richard Henderson <rth@redhat.com>
6032
6033 * config/v850/v850.c (print_operand): Use SYMBOL_REF_[ZST]DA.
6034 (print_operand_address): Likewise.
6035 (ep_memory_operand): Likewise.
6036 (special_symbolref_operand): Likewise.
6037 (v850_encode_data_area): Use SYMBOL_REF_FLAGS.
6038 (v850_encode_section_info): Call default_encode_section_info.
6039 (v850_strip_name_encoding): Remove.
6040 * config/v850/v850.h (EXTRA_CONSTRAINT): Use SYMBOL_REF_[ZST]DA.
6041 (ASM_OUTPUT_LABELREF): Remove.
6042 (ZDA_NAME_FLAG_CHAR, ZDA_NAME_P): Remove.
6043 (SDA_NAME_FLAG_CHAR, SDA_NAME_P): Remove.
6044 (TDA_NAME_FLAG_CHAR, TDA_NAME_P): Remove.
6045 (ENCODED_NAME_P): Remove.
6046 (SYMBOL_FLAG_ZDA, SYMBOL_REF_ZDA_P): New.
6047 (SYMBOL_FLAG_SDA, SYMBOL_REF_SDA_P): New.
6048 (SYMBOL_FLAG_TDA, SYMBOL_REF_TDA_P): New.
6049
6050 2003-04-17 Richard Henderson <rth@redhat.com>
6051
6052 * config/stormy16/stormy16.c (xstormy16_encode_section_info): Kill.
6053 * config/stormy16/stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use
6054 SYMBOL_REF_FUNCTION_P.
6055
6056 2003-04-17 Richard Henderson <rth@redhat.com>
6057
6058 * config/sparc/sparc.c (sparc_encode_section_info): Remove.
6059 (data_segment_operand): Use SYMBOL_REF_FUNCTION_P.
6060 (text_segment_operand): Likewise.
6061
6062 2003-04-17 Richard Henderson <rth@redhat.com>
6063
6064 * config/sh/sh.c (gen_datalabel_ref): Don't add SH_DATALABEL_ENCODING.
6065 (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
6066 (legitimize_pic_address): Use SYMBOL_REF_LOCAL_P.
6067 (sh_encode_section_info): Remove.
6068 (sh_strip_name_encoding): Remove.
6069 * config/sh/sh.h (SH_DATALABEL_ENCODING): Remove.
6070 (DATALABEL_SYMNAME_P, STRIP_DATALABEL_ENCODING): Remove.
6071 (SH_TLS_ENCODING, TLS_SYMNAME_P, STRIP_TLS_ENCODING): Remove.
6072 (ASM_OUTPUT_LABELREF): Remove.
6073 (ASM_OUTPUT_SYMBOL_REF): Use SYMBOL_REF_FUNCTION_P.
6074 * config/sh/sh.md (*): Use SYMBOL_REF_LOCAL_P.
6075
6076 2003-04-17 Richard Henderson <rth@redhat.com>
6077
6078 * config/s390/s390.c (SYMBOL_FLAG_ALIGN1): New.
6079 (tls_model_chars): Remove.
6080 (larl_operand): Use SYMBOL_REF_FLAGS.
6081 (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
6082 (legitimize_pic_address): Use SYMBOL_REF_LOCAL_P.
6083 (s390_output_mi_thunk): Likewise.
6084 (s390_emit_prologue): Set SYMBOL_FLAG_LOCAL as needed.
6085 (s390_function_profiler): Likewise.
6086 (s390_encode_section_info): Use default_encode_section_info
6087 and SYMBOL_FLAG_ALIGN1.
6088 (s390_strip_name_encoding): Remove.
6089 * config/s390/s390.h (ASM_OUTPUT_LABELREF): Remove.
6090 * config/s390/s390.md (call, call_value): Use SYMBOL_REF_LOCAL_P.
6091 (builtin_setjmp_receiver): Set SYMBOL_FLAG_LOCAL as needed.
6092
6093 2003-04-17 Richard Henderson <rth@redhat.com>
6094
6095 * config/ns32k/ns32k.c (ns32k_encode_section_info): Remove.
6096 (global_symbolic_reference_mentioned_p): Use SYMBOL_REF_LOCAL_P.
6097 (print_operand_address): Likewise.
6098
6099 * config/ns32k/ns32k.h (CANNOT_CHANGE_MODE_CLASS): Add CLASS argument.
6100 * config/ns32k/ns32k.c (expand_block_move): Don't check
6101 flag_unroll_loops.
6102
6103 2003-04-17 Richard Henderson <rth@redhat.com>
6104
6105 * config/mcore/mcore.c (mcore_encode_section_info): Don't set
6106 SYMBOL_REF_FLAG.
6107
6108 2003-04-17 Richard Henderson <rth@redhat.com>
6109
6110 * rtl.h (SYMBOL_FLAG_MACH_DEP_SHIFT): New.
6111
6112 * config/m32r/m32r.c (SYMBOL_FLAG_MODEL_SHIFT): New.
6113 (SYMBOL_REF_MODEL): New.
6114 (LIT_NAME_P): Move from m32r.h.
6115 (m32r_select_section): Remove.
6116 (m32r_encode_section_info): Use SYMBOL_REF_FLAGS.
6117 (m32r_strip_name_encoding): Remove.
6118 (m32r_in_small_data_p): New.
6119 (small_data_operand): Use SYMBOL_REF_SMALL_P.
6120 (addr24_operand): Use SYMBOL_REF_MODEL.
6121 (call26_operand): Likewise.
6122 (addr32_operand): Tidy.
6123 (m32r_print_operand): Use HOST_WIDE_INT_PRINT_HEX.
6124 * config/m32r/m32r.h (RODATA_SECTION_ASM_OP): Remove.
6125 (SDATA_SECTION_ASM_OP, SBSS_SECTION_ASM_OP): Remove.
6126 (READONLY_DATA_SECTION_ASM_OP): Remove.
6127 (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
6128 (SDATA_SECTION_FUNCTION, SBSS_SECTION_FUNCTION): Remove.
6129 (TARGET_ASM_SELECT_SECTION): Remove.
6130 (SDATA_FLAG_CHAR, MEDIUM_FLAG_CHAR, LARGE_FLAG_CHAR): Remove.
6131 (SDATA_NAME_P, SMALL_NAME_P, MEDIUM_NAME_P): Remove.
6132 (LARGE_NAME_P, ENCODED_NAME_P): Remove.
6133 (ASM_OUTPUT_LABELREF): Remove.
6134
6135 2003-04-17 Richard Henderson <rth@redhat.com>
6136
6137 * config/ip2k/ip2k.c (is_regfile_address): Use SYMBOL_REF_FUNCTION_P.
6138 (encode_section_info): Remove.
6139 * config/ip2k/ip2k-protos.h: Update.
6140
6141 2003-04-17 Richard Henderson <rth@redhat.com>
6142
6143 * varasm.c (default_encode_section_info): Don't set
6144 SYMBOL_FLAG_EXTERNAL if not TREE_PUBLIC.
6145 * config/i370/i370.c (i370_encode_section_info): Remove.
6146 * config/i370/i370.h (CONSTANT_ADDRESS_P): Use SYMBOL_REF_EXTERNAL_P.
6147 (PRINT_OPERAND, PRINT_OPERAND_ADDRESS): Likewise.
6148 * config/i370/i370.md (movsi): Likewise.
6149
6150 * config/i370/t-i370: Add missing backslash.
6151
6152 2003-04-17 Eric Botcazou <ebotcazou@libertysurf.fr>
6153
6154 * doc/invoke.texi (inline-limit): Fix pasto.
6155
6156 2003-04-17 Richard Henderson <rth@redhat.com>
6157
6158 * config/h8300/h8300.c (SYMBOL_FLAG_FUNCVEC_FUNCTION): New.
6159 (small_call_insn_operand): Use it.
6160 (SYMBOL_FLAG_EIGHTBIT_DATA): New.
6161 (h8300_eightbit_constant_address_p): Use it.
6162 (SYMBOL_FLAG_TINY_DATA): New.
6163 (h8300_tiny_constant_address_p): Use it.
6164 (h8300_encode_label, h8300_strip_name_encoding): Remove.
6165 (h8300_encode_section_info): Set SYMBOL_REF_FLAGS.
6166 * config/h8300/h8300.h (TINY_DATA_NAME_P): Remove.
6167 (ASM_OUTPUT_LABELREF): Remove.
6168
6169 2003-04-16 Richard Henderson <rth@redhat.com>
6170
6171 * config/frv/frv.c (symbol_ref_small_data_p): Remove. Replace
6172 all users with SYMBOL_REF_SMALL_P.
6173 (const_small_data_p): Use SYMBOL_REF_SMALL_P.
6174 (frv_encode_section_info): Remove.
6175 (frv_strip_name_encoding): Remove.
6176 (frv_in_small_data_p): Merge tests from encode_section_info.
6177 (frv_print_operand): Use '@' not SDATA_FLAG_CHAR.
6178 * config/frv/frv.h (SDATA_FLAG_CHAR): Remove.
6179 (SDATA_NAME_P): Remove.
6180 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use SIZE not SDATA_NAME_P.
6181 (ASM_OUTPUT_LABELREF): Remove.
6182 (PRINT_OPERAND_PUNCT_VALID_P): Use '@' not SDATA_FLAG_CHAR.
6183
6184 * config/frv/frv.c (frv_asm_out_constructor): New.
6185 (frv_asm_out_destructor): New.
6186 * config/frv/frv.h (CTORS_SECTION_ASM_OP): New.
6187 (DTORS_SECTION_ASM_OP): New.
6188 (ASM_OUTPUT_CONSTRUCTOR): Remove.
6189 (ASM_OUTPUT_DESTRUCTOR): Remove.
6190
6191 2003-04-16 Richard Henderson <rth@redhat.com>
6192
6193 * config/cris/cris.c (cris_gotless_symbol, cris_got_symbol): Use
6194 SYMBOL_REF_LOCAL_P; abort if not pic.
6195 (cris_encode_section_info): Remove.
6196
6197 2003-04-16 Richard Henderson <rth@redhat.com>
6198
6199 * config/c4x/c4x.c (c4x_encode_section_info): Remove.
6200 (c4x_T_constraint): Use SYMBOL_REF_FUNCTION_P.
6201
6202 * config/c4x/c4x.h (TARGET_CPU_CPP_BUILTINS): Declare
6203 flag_inline_trees.
6204
6205 2003-04-16 Richard Henderson <rth@redhat.com>
6206
6207 * config/avr/avr.c (avr_encode_section_info): Remove.
6208 (avr_insert_attributes): New.
6209 (print_operand_address): Use SYMBOL_REF_FUNCTION_P.
6210 (avr_assemble_integer): Likewise.
6211
6212 2003-04-16 Richard Henderson <rth@redhat.com>
6213
6214 * arc.c (arc_encode_section_info): Remove.
6215 (arc_assemble_integer): Use SYMBOL_REF_FUNCTION_P.
6216 (arc_print_operand, arc_print_operand_address): Likewise.
6217 * arc.h (EXTRA_CONSTRAINT): Likewise.
6218
6219 2003-04-16 Roger Sayle <roger@eyesopen.com>
6220
6221 * c-semantics.c (find_reachable_label): New function to find a
6222 potentially reachable label in an expression.
6223 (expand_unreachable_if_stmt): Similar to expand_if_stmt but
6224 assumes the start of the IF_STMT is unreachable (dead) code.
6225 (expand_unreachable_stmt): Similar to expand_stmt but assumes
6226 the start of the statement list is unreachable (dead) code.
6227 (genrtl_if_stmt): If the controlling expression of the IF
6228 is constant, use expand_unreachable_stmt for the THEN or ELSE
6229 clause as appropriate.
6230 (genrtl_switch_stmt): Use expand_unreachable_stmt to expand
6231 the body of a SWITCH statement.
6232 (expand_stmt): The code immediately following a "return",
6233 "break", "continue" or "goto" is unreachable.
6234 * Makefile.in (c-semantics.o): Depend upon tree-inline.h.
6235
6236 2003-04-16 Richard Henderson <rth@redhat.com>
6237
6238 * rtl.h (MEM_ALIAS_SET): Update documentation.
6239 * doc/rtl.texi (Special Accessors): New node.
6240 (SYMBOL_REF_FLAG): Note relationship with SYMBOL_REF_FLAGS.
6241
6242 2003-04-16 Alexandre Oliva <aoliva@redhat.com>
6243
6244 * reload1.c (reload_cse_noop_set_p): Return false if mode of
6245 SET_DEST is not the same as that returned by...
6246 * cselib.h (cselib_reg_set_mode): ... new function.
6247 * cselib.c (cselib_reg_set_mode): Define it.
6248 (REG_VALUES): Document semantics of first element as set mode.
6249 (cselib_subst_to_values): Skip first element if ELT is NULL.
6250 (cselib_lookup): Likewise. Insert past the first element.
6251 (cselib_invalidate_regno): NULLify first element.
6252 (cselib_record_set): Set first element.
6253
6254 2003-04-16 Olivier Hainque <hainque@act-europe.fr>
6255
6256 * tree.c (skip_simple_arithmetics_at, saved_expr_p): New functions.
6257 (save_expr): Replace loop by call to skip_simple_arithmetics_at.
6258 * tree.h: Add prototypes for the two new functions.
6259 * fold-const.c (fold_binary_op_with_conditional_arg): Replace test
6260 updates introduced in the previous revision by call to saved_expr_p.
6261 * stor-layout.c (put_pending_size): Use skip_simple_arithmetics_at.
6262
6263 * expr.c (store_field): Force usage of bitfield instructions when
6264 the field position requires it, whatever SLOW_UNALIGNED_ACCESS.
6265 (expand_expr, case BIT_FIELD_REF): likewise.
6266
6267 2003-04-16 Mark Mitchell <mark@codesourcery.com>
6268
6269 PR middle-end/8866
6270 * cfgtrl.c (try_redirect_by_replacing_jump): Do not delete
6271 jumptables.
6272
6273 2003-04-16 Richard Henderson <rth@redhat.com>
6274
6275 * config/ia64/ia64.c (sdata_symbolic_operand): Use
6276 SYMBOL_REF_SMALL_P and SYMBOL_REF_LOCAL_P.
6277 (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
6278 (function_operand): Use SYMBOL_REF_FUNCTION_P.
6279 (ia64_expand_load_address): Likewise.
6280 (ia64_assemble_integer): Likewise.
6281 (ia64_encode_section_info): Remove.
6282 (ia64_strip_name_encoding): Remove.
6283 * config/ia64/ia64.h (ENCODE_SECTION_INFO_CHAR): Remove.
6284 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't strip it.
6285
6286 2003-04-16 Richard Henderson <rth@redhat.com>
6287
6288 * config/alpha/alpha.c (SYMBOL_FLAG_NEAR, SYMBOL_FLAG_SAMEGP): New.
6289 (samegp_function_operand): Use SYMBOL_FLAG_SAMEGP.
6290 (direct_call_operand): Use SYMBOL_FLAG_NEAR.
6291 (local_symbolic_operand): Use SYMBOL_REF_LOCAL_P.
6292 (small_symbolic_operand): Use SYMBOL_REF_SMALL_P.
6293 (global_symbolic_operand): Similarly.
6294 (tls_symbolic_operand_1): Use SYMBOL_REF_TLS_MODEL.
6295 (tls_symbolic_operand_type): Likewise.
6296 (alpha_encode_section_info): Use default_encode_section_info.
6297 (alpha_strip_name_encoding): Remove.
6298 (get_tls_get_addr): Split out from ...
6299 (alpha_legitimize_address): ... here.
6300 (alpha_emit_xfloating_libcall): Use init_one_libfunc.
6301 (get_some_local_dynamic_name_1): Use SYMBOL_REF_TLS_MODEL.
6302 (alpha_initialize_trampoline): Use init_one_libfunc.
6303 (alpha_setup_incoming_varargs): Mark unused parameters.
6304 (alpha_initial_elimination_offset): Likewise.
6305 (alpha_end_function): Use SYMBOL_FLAG_NEAR, SYMBOL_FLAG_SAMEGP.
6306 (unicosmk_unique_section): Use default_strip_name_encoding.
6307 (unicosmk_ssib_name, unicosmk_output_externs): Likewise.
6308
6309 2003-04-16 Aldy Hernandez <aldyh@redhat.com>
6310
6311 * config.gcc: Add t-spe for eabispe.
6312
6313 * config/rs6000/t-spe: New.
6314
6315 2003-04-16 J"orn Rennecke <joern.rennecke@superh.com>
6316
6317 Re-apply this patch:
6318
6319 2002-05-16 Dale Johannesen <dalej@apple.com>
6320 * combine.c (cant_combine_insn_p): Reenable combinations
6321 involving hard regs unless CLASS_LIKELY_SPILLED_P.
6322
6323 2003-04-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6324
6325 PR/10271
6326 * pa-protos.h (function_arg): Remove last argument.
6327 * pa.c (function_arg): Likewise. Use CUMULATIVE_ARGS struct instead.
6328 * pa.h (struct hppa_args): Add member incoming.
6329 (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Initialize
6330 member incoming.
6331 (FUNCTION_ARG): Revise call to function_arg.
6332 (FUNCTION_INCOMING_ARG): Delete.
6333
6334 2003-04-15 Zack Weinberg <zack@codesourcery.com>
6335
6336 * configure.in: Unify the code which creates symlinks to a
6337 just-built as, ld, objdump, and nm with the code that detects
6338 their presence for purposes of feature tests.
6339 * configure: Regenerate.
6340
6341 2003-04-15 Zack Weinberg <zack@codesourcery.com>
6342
6343 * varasm.c (output_constant_def): Do not consult
6344 CONSTANT_AFTER_FUNCTION_P. Remove all code predicated on it.
6345 (after_function_constants, output_after_function_constants): Delete.
6346 * doc/tm.texi: Delete documentation of CONSTANT_AFTER_FUNCTION_P.
6347 * config/mips/mips-protos.h, config/mips/mips.c
6348 (mips16_constant_after_function_p): Delete.
6349 * config/mips/mips.h: Delete #if-0-ed definition of
6350 CONSTANT_AFTER_FUNCTION_P.
6351 * config/d30v/d30v.h, config/stormy16/stormy16.h: Remove
6352 mention of CONSTANT_AFTER_FUNCTION_P in comment.
6353
6354 2003-04-15 Geoffrey Keating <geoffk@apple.com>
6355
6356 * tree.c (next_decl_uid): Mark with GTY.
6357 (next_type_uid): Likewise.
6358
6359 2003-04-15 J"orn Rennecke <joern.rennecke@superh.com>
6360
6361 PR target/9594:
6362 * sh.c (barrier_align): Also recognize stuff_delay_slot as
6363 an indicator that a barrier was created by branch splitting.
6364
6365 2003-04-15 Mark Mitchell <mark@codesourcery.com>
6366
6367 * c-decl.c (implicitly_declare): Copy declarations that are going
6368 to be placed in a local scope.
6369
6370 2003-04-15 James A. Morrison <ja2morri@uwaterloo.ca>
6371
6372 * invoke.texi (Spec Files): Wrap if-exists-else example.
6373 (MCore): Remove duplicate @itemx entries and @opindex entries.
6374
6375 2003-04-15 Ulrich Weigand <uweigand@de.ibm.com>
6376
6377 * unwind.inc (_Unwind_Backtrace): New function.
6378 * unwind.h (_Unwind_Backtrace): Declare it.
6379 * libgcc-std.ver (_Unwind_Backtrace): Export it.
6380
6381 2003-04-14 Jason Merrill <jason@redhat.com>
6382
6383 PR middle-end/10336, c++/10401
6384 * jump.c (never_reached_warning): Also stop looking if we reach the
6385 beginning of the function.
6386
6387 2003-04-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6388
6389 PR target/10338
6390 PR bootstrap/10198
6391 PR bootstrap/10140
6392 * fixinc/gnu-regex.c (regerror): Use mempcpy not __mempcpy.
6393
6394 2003-04-15 J"orn Rennecke <joern.rennecke@superh.com>
6395
6396 * i386.md (abssf2_if+1): Make condition agree with abssf2_1 .
6397
6398 2003-04-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6399
6400 * optabs.c (expand_binop): In multi-word add cases, ensure
6401 XTARGET is copied to TARGET if they are different.
6402
6403 2003-04-15 Olivier Hainque <hainque@act-europe.fr>
6404
6405 * except.c (resolve_fixup_regions): Avoid dereferencing null pointer
6406 to region, possible after integration of function with unreachable
6407 regions that were optimized away.
6408
6409 2003-04-15 Jakub Jelinek <jakub@redhat.com>
6410
6411 * config/rs6000/rs6000.h (EPILOGUE_USES): Use register 2,
6412 instead of TOC_REGISTER in epilogue in
6413 current_function_calls_eh_return functions.
6414
6415 2003-04-14 Mark Mitchell <mark@codesourcery.com>
6416
6417 * doc/extend.texi (Empty Structures): Correct description of G++'s
6418 handling of these structures.
6419
6420 * c-decl.c (grokdeclarator): Reject extern redeclarations of
6421 static variables.
6422
6423 2003-04-14 Janis Johnson <janis287@us.ibm.com>
6424
6425 * config/rs6000/rs6000.md (define_constants): Define constants for
6426 all UNSPEC usage, including new values for TLS support.
6427 (aux_truncdfsf2, fctiwz, movsi_got, movsi_got_internal,
6428 load_toc_aix_si, load_toc_aix_di, load_toc_v4_pic_si,
6429 load_toc_v4_PIC_1, load_toc_v4_PIC_1b, load_macho_picbase,
6430 macho_correct_pic, blockage, move_from_CR_ov_bit, movesi_from_cr,
6431 stack_tie, movsi_to_cr_one, movsi_to_cr, mtcrfsi, eh_set_lr_si,
6432 eh_set_lr_di): Use them.
6433 * rs6000.c: (mtcrf_operation, uses_TOC, rs6000_emit_prologue,
6434 rs6000_emit_epilogue) Use them.
6435
6436 * rtl.h (SYMBOL_REF_TLS_MODEL): Fix mask value.
6437
6438 2003-04-14 Neil Booth <neil@daikokuya.co.uk>
6439
6440 * Makefile.in (c-opts.o): Use custom action.
6441
6442 2003-04-14 Douglas B Rupp <rupp@gnat.com>
6443
6444 * ifcvt.c (noce_process_if_block): Fail on BLKmode move.
6445
6446 2003-04-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6447
6448 * stor-layout.c (layout_type, case ARRAY_TYPE): Add missing code to
6449 handle "superflat arrays" in Ada.
6450
6451 * integrate.c (expand_inline_function): Don't inline if would
6452 lose /u on a BLKmode TARGET.
6453
6454 2003-04-14 Joel Brobecker <brobecker@gnat.com>
6455
6456 * dbxout.c (print_int_cst_bounds_in_octal_p): New function,
6457 extracted from dbxout_type.
6458 (dbxout_range_type): print large bounds in octal format.
6459 (dbxout_type): Replace extracted code by call to
6460 print_int_cst_bounds_in_octal_p.
6461
6462 * dwarf2out.c (gen_compile_unit_die): Emit DW_LANG_Ada95 instead
6463 of DW_LANG_Ada83 for Ada units.
6464
6465 2003-04-14 Olivier Hainque <hainque@act-europe.fr>
6466
6467 * explow.c (round_push): Use HOST_WIDE_INT instead of int for the
6468 temporary used to round CONST_INT sizes.
6469
6470 * tree.c (int_fits_type_p): Extract generic checks from the case
6471 of constant type bounds. Refine the checks against constant type
6472 bounds to allow for possible decisions against each of these bounds
6473 without requiring both bounds to be constant.
6474 (tree_int_cst_msb): Put back.
6475 * tree.h (tree_int_cst_msb): Likewise.
6476
6477 * global.c (global_conflicts): Prevent allocation of call clobbered
6478 hard regs to pseudos live across abnormal edges, as later passes are
6479 not ready to handle them.
6480
6481 * fold-const.c (fold): Reorder tests for conditional expressions.
6482
6483 * expr.c (highest_pow2_factor): Return unsigned.
6484 * expr.h (offset_address): Likewise.
6485 * emit-rtl.c (offset_address): POW2 argument now unsigned.
6486
6487 2003-04-14 Roger Sayle <roger@eyesopen.com>
6488
6489 * builtins.c (expand_builtin_strlen): Evaluate the lengths of
6490 string literals at compile-time.
6491
6492 2003-04-14 Roger Sayle <roger@eyesopen.com>
6493
6494 * fold-const.c (fold): Transform (c1 - x) cmp c2, where cmp is a
6495 comparison operation and c1/c2 are floating point constants into
6496 x swap(cmp) (c1 - c2).
6497
6498 2003-04-14 Vladimir Makarov <vmakarov@redhat.com>
6499
6500 * genautomata.c (output_translate_vect): Fix a typo in loop
6501 condition.
6502
6503 2003-04-14 Hans-Peter Nilsson <hp@axis.com>
6504
6505 PR target/10377
6506 * config/cris/cris.md ("*mov_sideqi", "*mov_sidehi")
6507 ("*mov_sidesi", "*mov_sideqi_mem", "*mov_sidehi_mem")
6508 ("*mov_sidesi_mem", "*clear_sidesi", "*clear_sidehi")
6509 ("*clear_sideqi", "*ext_sideqihi", "*ext_sideqisi")
6510 ("*ext_sidehisi", "*op_sideqi", "*op_sidehi", "*op_sidesi")
6511 ("*op_swap_sideqi", "*op_swap_sidehi", "*op_swap_sidesi")
6512 ("*extopqihi_side", "*extopqisi_side", "*extophisi_side")
6513 ("*extopqihi_swap_side", "*extopqisi_swap_side")
6514 ("*extophisi_swap_side", 8th, 9th, 10th, 11th, 14th peepholes):
6515 When next to constraint R, replace constraint i with n.
6516
6517 Mon Apr 14 16:18:37 CEST 2003 Jan Hubicka <jh@suse.cz>
6518
6519 PR opt/10024
6520 * cfgrtl.c (force_nonfallthru_and_redirect): Use unchecked_make_edge.
6521
6522 2003-04-14 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
6523
6524 * doc/contrib.texi (Contributors): Correct my entry.
6525
6526 2003-04-13 Roger Sayle <roger@eyesopen.com>
6527
6528 * tree.h (DECL_BUILT_IN_NONANSI): Remove.
6529 * c-common.c (builtin_function_2): Don't set DECL_BUILT_IN_NONANSI.
6530 * c-decl.c (duplicate_decls): Use invariant DECL_BUILT_IN_NONANSI
6531 implies DECL_BUILT_IN to simplify logic.
6532 * print-tree.c (print_node): Don't dump DECL_BUILT_IN_NONANSI.
6533
6534 2003-04-13 Roger Sayle <roger@eyesopen.com>
6535
6536 * builtin-types.def (BT_FN_STRING_CONST_STRING): New builtin type.
6537 (BT_FN_PTR_SIZE_SIZE): Likewise.
6538 * builtins.def (BUILT_IN_MALLOC, BUILT_IN_CALLOC, BUILT_IN_STRDUP):
6539 New built-in functions for malloc, calloc and strdup respectively.
6540 * calls.c (special_function_p): No need to handle malloc-like
6541 functions any longer. ECF_MALLOC is set via built-in attributes.
6542
6543 * c-decl.c (duplicate_decls): Preserve pure and malloc attributes.
6544
6545 * doc/extend.texi: Document these new built-in functions.
6546
6547 2003-04-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6548
6549 * builtins.c (expand_builtin_memcpy): Add `endp' argument, use it.
6550 (expand_builtin_stpcpy): New.
6551 (expand_builtin): Add BUILT_IN_MEMPCPY & BUILT_IN_STPCPY.
6552 * builtins.def: Add mempcpy & stpcpy support.
6553 * doc/extend.texi (mempcpy, stpcpy): Document new builtins.
6554
6555 2003-04-13 Nick Clifton <nickc@redhat.com>
6556
6557 * config/rs6000/rs6000.c: Replace occurrences of "GNU CC" with
6558 "GCC".
6559 * config/rs6000/40x.md, config/rs6000/603.md,
6560 config/rs6000/6xx.md, config/rs6000/7450.md, config/rs6000/7xx.md,
6561 config/rs6000/8540.md, config/rs6000/aix.h, config/rs6000/aix31.h,
6562 config/rs6000/aix3newas.h, config/rs6000/aix41.h,
6563 config/rs6000/aix43.h, config/rs6000/aix51.h,
6564 config/rs6000/aix52.h, config/rs6000/altivec-defs.h,
6565 config/rs6000/altivec.h, config/rs6000/altivec.md,
6566 config/rs6000/beos.h, config/rs6000/darwin.h,
6567 config/rs6000/eabi.h, config/rs6000/eabialtivec.h,
6568 config/rs6000/eabisim.h, config/rs6000/eabispe.h,
6569 config/rs6000/freebsd.h, config/rs6000/gnu.h,
6570 config/rs6000/host-darwin.c, config/rs6000/linux.h,
6571 config/rs6000/linux64.h, config/rs6000/linuxaltivec.h,
6572 config/rs6000/lynx.h, config/rs6000/mach.h, config/rs6000/mpc.md,
6573 config/rs6000/netbsd.h, config/rs6000/power4.md,
6574 config/rs6000/rios1.md, config/rs6000/rios2.md,
6575 config/rs6000/rs6000-c.c, config/rs6000/rs6000-modes.def,
6576 config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
6577 config/rs6000/rs6000.h, config/rs6000/rs6000.md,
6578 config/rs6000/rs64.md, config/rs6000/rtems.h, config/rs6000/spe.h,
6579 config/rs6000/spe.md, config/rs6000/sysv4.h,
6580 config/rs6000/sysv4le.h, config/rs6000/vxworks.h,
6581 config/rs6000/windiss.h, config/rs6000/xcoff.h: Likewise.
6582
6583 2003-04-13 Nick Clifton <nickc@redhat.com>
6584
6585 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Delete
6586 support for -mcall-aix switch.
6587 * config/rs6000/eabiaix.h: Delete.
6588 * config/rs6000/rs6000.h (rs6000_abi): Remove ABI_AIX_NODESC.
6589 (RS6000_REG_SAVE, RS6000_SAVE_AREA, FP_ARGS_MAX_REG,
6590 RETURN_ADDRESS_OFFSET): Remove use of ABI_AIX_NODESC.
6591 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Likewise.
6592 * config/rs6000/rs6000.c (print_operand, rs6000_stack_info,
6593 debug_stack_info, output_function_profiler,
6594 rs6000_trampoline_size, rs6000_initialise_trampoline): Likewise.
6595 * config/rs6000/rs6000.md (call, call_value, call_nonlocal_sysv,
6596 call_indirect_nonlocal_sysv, call_value_indirect_nonlocal_sysv,
6597 call_value_nonlocal_sysv, sibcall_value_nonlocal_sysv,
6598 sibcall_nonlocal_sysv, sibcall_value_local64): Likewise.
6599 * config/rs6000/t-ppcgas (MULTILIB_OPTIONS): Remove mcall-aix
6600 multilibs.
6601 (MULTILIB_DIRNAMES): Remove mcall-aix directories.
6602 (MULTILIB_EXCEPTIONS): Delete.
6603 (MULTILIB_MATCHES): Remove mcall-aix matches.
6604
6605 * doc/fragments.texi: Replace -mcall-aix example with an ARM
6606 one.
6607 * doc/install.texi: Delete powerpc-*-eabiaix target.
6608 * doc/invoke.texi: Remove documentation of mcall-aix switch.
6609 * doc/tm.texi: Remove mcall-aix from example CPP_SPEC.
6610 * config.gcc: Delete powerpc-*-eabiaix target.
6611
6612 2003-04-13 Kazu Hirata <kazu@cs.umass.edu>
6613
6614 * doc/invoke.texi: Fix typos.
6615 * doc/tm.texi: Likewise.
6616
6617 2003-04-12 Zack Weinberg <zack@codesourcery.com>
6618
6619 * c-typeck.c (digest_init, push_init_level): Use CONSTRUCTOR_ELTS.
6620
6621 2003-04-12 Zack Weinberg <zack@codesourcery.com>
6622
6623 * tree.c (build_constructor): New function.
6624 * tree.h: Prototype it.
6625
6626 * c-typeck.c (build_c_cast, pop_init_level)
6627 * profile.c (build_function_info_value, build_gcov_info_value)
6628 (create_profiler):
6629 Use build_constructor.
6630
6631 * builtins.c (expand_builtin_args_info): Remove #if 0 blocks.
6632
6633 * objc/objc-act.c (build_constructor):
6634 Rename objc_build_constructor. Use build_constructor.
6635 (build_objc_string_object, objc_add_static_instance)
6636 (init_def_list, init_objc_symtab, init_module_descriptor)
6637 (generate_static_references, build_selector_translation_table)
6638 (build_descriptor_table_initializer, generate_descriptor_table)
6639 (build_protocol_initializer, build_ivar_list_initializer)
6640 (generate_ivars_list, build_dispatch_table_initializer)
6641 (generate_dispatch_table, generate_protocol_list)
6642 (build_category_initializer, build_shared_structure_initializer):
6643 Update to match.
6644
6645 2003-04-12 Zack Weinberg <zack@codesourcery.com>
6646
6647 * intl.h: #define gcc_gettext_width to strlen when !ENABLE_NLS.
6648
6649 2003-04-12 Stephane Carrez <stcarrez@nerim.fr>
6650
6651 * config/m68hc11/m68hc11-protos.h
6652 (m68hc11_eq_compare_operator): Declare
6653 * config/m68hc11/m68hc11.h (PREDICATE_CODES): Register new predicate.
6654 * config/m68hc11/m68hc11.c (m68hc11_eq_compare_operator): New predicate
6655 (d_register_operand): Check the operand mode.
6656 (hard_addr_reg_operand): Likewise.
6657
6658 2003-04-12 Stephane Carrez <stcarrez@nerim.fr>
6659
6660 * config/m68hc11/m68hc11.md ("decrement_and_branch_until_zero"): New
6661 pattern for dbcc/ibcc generation for 68HC12.
6662 ("doloop_end"): New pattern.
6663 ("m68hc12_dbcc_dec_hi"): New pattern for dbeq/dbne.
6664 ("m68hc12_dbcc_inc_hi"): New pattern for ibeq/ibne.
6665 ("m68hc12_dbcc_dec_qi"): New pattern.
6666 ("m68hc12_dbcc_inc_qi"): New pattern.
6667 (split): Add split for the above when we can't use dbcc/ibcc due to
6668 reloading.
6669 (peephole2): Add peephole2 to generate the above when possible.
6670
6671 2003-04-12 Stephane Carrez <stcarrez@nerim.fr>
6672
6673 * config/m68hc11/m68hc11.md ("bitcmpqi" split): No need to test the
6674 mode of operand 0.
6675 (peephole2 optimize const load): Likewise for operand 2.
6676 ("*rotlhi3_with_carry"): Change pattern to a const 1 rotate which
6677 clobbers CC_REGNUM.
6678 ("*rotrhi3_with_carry"): Likewise.
6679 (ashift:DI 1 split): Update pattern to create the above rotate.
6680 (lshiftrt:DI 1 split): Likewise.
6681
6682 2003-04-12 Stephane Carrez <stcarrez@nerim.fr>
6683
6684 * config/m68hc11/m68hc11.md (SOFT_Z_REGNUM): New constant.
6685 ("tstqi_z_used" split): Use it.
6686 ("cmphi_z_used"): Likewise.
6687 ("bitcmpqi_z_used"): Likewise; also use SP_REGNUM constant.
6688 ("cmpqi_z_used"): Likewise.
6689
6690 2003-04-12 Mark Mitchell <mark@codesourcery.com>
6691
6692 PR c++/7910
6693 * config/i386/winnt.c (i386_pe_mark_dllimport): Fix thinko.
6694
6695 2003-04-12 Zack Weinberg <zack@codesourcery.com>
6696
6697 * configure.in: Check for wchar.h, mbstowcs, and wcswidth.
6698 * configure, config.in: Regenerate.
6699 * intl.c (gcc_gettext_width): New function.
6700 * intl.h: Prototype it.
6701
6702 2003-04-12 Stephane Carrez <stcarrez@nerim.fr>
6703
6704 * config/m68hc11/m68hc11.h (TARGET_SWITCHES): Fix -mnominmax option;
6705 recognize -mnorelax.
6706 (reg_class): Add Z_OR_S_REGS to represent soft registers with Z
6707 (REG_CLASS_NAMES): Add its name.
6708 (REG_CLASS_CONTENTS): Define its content.
6709
6710 2003-04-12 Stephane Carrez <stcarrez@nerim.fr>
6711
6712 * config/m68hc11/larith.asm (memcpy): Use ARG macro to access stack
6713 parameters so that offsets are valid for far definition.
6714 (__mulsi3): Likewise and use ret to return.
6715 (___adddi3, ___subdi3, ___notdi2, ): Don't use it to save the result.
6716
6717 2003-04-12 David Edelsohn <edelsohn@gnu.org>
6718
6719 * config/rs6000/rs6000.c (rs6000_hash_constant): Skip '0' fields.
6720
6721 2003-04-12 Alexandre Oliva <aoliva@redhat.com>
6722
6723 * mklibgcc.in (libgcc-stage-start): For every multilib directory
6724 containing a libgcc.a, move lib* to the corresponding stage dir.
6725
6726 * Makefile.in (stage1-start, stage2-start, stage3-start,
6727 stage4-start): Move $(SPECS) to specs in stage dir.
6728 (unstage1 unstage2 unstage3 unstage4): Move specs in stage dir
6729 back as $(SPECS).
6730
6731 * mklibgcc.in (libgcc-stage-start): Move into the stage directory
6732 object files from the non-libgcc/ multilib directories as well.
6733
6734 2003-04-11 Geoffrey Keating <geoffk@apple.com>
6735
6736 * profile.c (read_counts_file): Initialise 'checksum'.
6737
6738 * emit-rtl.c (gen_rtx): Really correct typo.
6739
6740 PR c++/9393
6741 * doc/invoke.texi (Debugging Options): Document -frandom-seed.
6742 * configure.in: Check for gettimeofday.
6743 * tree.c (flag_random_seed): Define.
6744 (default_flag_random_seed): New.
6745 (append_random_chars): Use flag_random_seed rather than trying
6746 to acquire randomness here.
6747 * tree.h (default_flag_random_seed): Declare.
6748 * toplev.c (display_help): Add -frandom-seed and -fstack-limit-*
6749 descriptions.
6750 (decode_f_option): Handle -frandom-seed.
6751 (print_switch_values): Call default_flag_random_seed.
6752 * flags.h (flag_random_seed): Declare.
6753 * configure: Regenerate.
6754 * config.in: Regenerate.
6755 * config/alpha/t-crtfm: Use -frandom-seed.
6756
6757 * doc/extend.texi (Empty Structures): New.
6758
6759 * c-pch.c: Include flags.h. Add comments to routines.
6760 (struct c_pch_validity): New.
6761 (get_ident): Update PCH file version number.
6762 (pch_init): Output current debugging type.
6763 (c_common_valid_pch): Check debugging type.
6764 * Makefile.in (c-pch.o): Update dependencies.
6765 * flags.h (debug_type_names): Declare.
6766 * toplev.c (debug_type_names): Move out of decode_g_option.
6767
6768 2003-04-11 Eric Christopher <echristo@redhat.com>
6769
6770 * emit-rtl.c (gen_rtx): Fix typos.
6771
6772 2003-04-11 Richard Henderson <rth@redhat.com>
6773
6774 * emit-rtl.c (gen_rtx): Zero '0' fields.
6775
6776 2003-04-11 Richard Henderson <rth@redhat.com>
6777
6778 PR c++/10202
6779 * expr.c (expand_expr): Use COMPLETE_OR_UNBOUND_ARRAY_TYPE_P
6780 not COMPLETE_TYPE_P for re-invoking layout_decl.
6781
6782 2003-04-11 Simon Law <sfllaw@engmail.uwaterloo.ca>
6783
6784 * doc/bugreport.texi: Fix paragraph breaking between sections
6785 in preparation for TeXinfo's paragraph indentation fixes.
6786 * doc/extend.texi: Ditto.
6787 * doc/invoke.texi: Ditto.
6788 * doc/objc.texi: Ditto.
6789 * doc/gcov.texi: Wrap 'gcov' in @command{}.
6790 * doc/invoke.texi (Darwin Options): Add a preamble.
6791
6792 2003-04-11 Richard Henderson <rth@redhat.com>
6793
6794 * config/i386/i386.c (tls_model_chars): Remove.
6795 (ix86_encode_section_info, ix86_strip_name_encoding): Remove.
6796 (local_symbolic_operand): Use SYMBOL_REF_LOCAL_P.
6797 (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
6798 (tls_symbolic_operand_1): Likewise.
6799 (legitimate_pic_address_disp_p): Use SYMBOL_REF_LOCAL_P.
6800 * config/i386/i386.h (TARGET_ENCODE_SECTION_INFO): Remove.
6801 (TARGET_STRIP_NAME_ENCODING, ASM_OUTPUT_LABELREF): Remove.
6802 * config/i386/winnt.c (i386_pe_encode_section_info): Replace
6803 bits "copied from i386.h" with default_encode_section_info.
6804
6805 2003-04-11 Richard Henderson <rth@redhat.com>
6806
6807 * rtl.def (SYMBOL_REF): Add two 0 fields.
6808 * gengtype.c (adjust_field_rtx_def): Handle them.
6809 * print-rtl.c (print_rtx): Print them.
6810 * rtl.h (SYMBOL_REF_DECL, SYMBOL_REF_FLAGS): New.
6811 (SYMBOL_FLAG_FUNCTION, SYMBOL_REF_FUNCTION_P): New.
6812 (SYMBOL_FLAG_LOCAL, SYMBOL_REF_LOCAL_P): New.
6813 (SYMBOL_FLAG_SMALL, SYMBOL_REF_SMALL_P): New.
6814 (SYMBOL_FLAG_TLS_SHIFT, SYMBOL_REF_TLS_MODEL): New.
6815 (SYMBOL_FLAG_EXTERNAL, SYMBOL_REF_EXTERNAL_P): New.
6816 (SYMBOL_FLAG_MACH_DEP): New.
6817 * optabs.c (init_one_libfunc): Zap fake SYMBOL_REF_DECL.
6818 * varasm.c (make_decl_rtl): Set SYMBOL_REF_DECL.
6819 (assemble_static_space): Set SYMBOL_REF_FLAGS.
6820 (assemble_trampoline_template): Likewise.
6821 (output_constant_def, force_const_mem): Likewise.
6822 (default_encode_section_info): New.
6823 * output.h: Declare it.
6824 * target-def.h (TARGET_ENCODE_SECTION_INFO): Use it.
6825
6826 2003-04-11 Richard Henderson <rth@redhat.com>
6827
6828 * libfuncs.h (LTI_setbits, LTI_gcov_flush, LTI_gcov_init): New.
6829 (setbits_libfunc, gcov_flush_libfunc, gcov_init_libfunc): New.
6830 * optabs.c (init_optabs): Initialize them.
6831 (init_libfuncs): Use init_one_libfunc.
6832 * calls.c (expand_call): Use gcov_flush_libfunc.
6833 * expr.c (store_constructor): Use setbits_libfunc.
6834 * function.c (expand_main_function): Use init_one_libfunc.
6835 * profile.c (create_profiler): Use gcov_init_libfunc and DECL_RTL.
6836
6837 2003-04-11 Mark Mitchell <mark@codesourcery.com>
6838
6839 * doc/c-tree.texi (Functions): Remove DECL_REAL_CONTEXT
6840 documentation; add DECL_FRIEND_CONTEXT.
6841
6842 2003-04-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6843
6844 * doc/install.texi (hppa): Update links for HP-UX patches. Revise
6845 notes on linker selection and configuration for 64-bit HP-UX port.
6846 * doc/invoke.texi (hppa): Remove hppa text from description for
6847 -ffunction-sections and -fdata-sections. Document -static, -nolibdld
6848 and -threads options.
6849
6850 * pa-hpux10.h (LIB_SPEC): Add link options to resolve dependency of
6851 libc.a on libdld.sl when -static is specified and -nolibdld is not
6852 specified.
6853 * pa64-hpux.h (LIB_SPEC): Likewise.
6854 * pa-hpux11.h (LIB_SPEC): Likewise.
6855 (LINK_SPEC): Add __gcc_plt_call as an undefined symbol when -shared
6856 is not specified.
6857
6858 2003-04-11 Zack Weinberg <zack@codesourcery.com>
6859
6860 * config/darwin-c.c (darwin_pragma_unused): Use lookup_name,
6861 not IDENTIFIER_LOCAL_VALUE.
6862
6863 2003-04-11 Richard Henderson <rth@redhat.com>
6864
6865 PR c/10201
6866 * expr.c (expand_expr): Move DECL_RTL frobbing ...
6867 * stor-layout.c (layout_decl): ... here.
6868
6869 2003-04-11 James A. Morrison <ja2morri@uwaterloo.ca>
6870
6871 * doc/invoke.texi: Eliminate extra white-space caused by
6872 @gccoptlist{ on its own line.
6873 * doc/invoke.texi: Ensured there are two spaces between each option.
6874 * doc/invoke.texi: Re-wrapped option lines that were too wide.
6875 Added @gol to options that didn't have them.
6876
6877 2003-04-11 Nathan Sidwell <nathan@codesourcery.com>
6878
6879 * Makefile.in (loop-init.o): Do not depend on gcov-io.h,
6880 gcov-iov.h.
6881
6882 Simplify interface to gcov reading and writing.
6883 * gcov-io.h (gcov_file, gcov_position, gcov_length, gcov_buffer,
6884 gcov_alloc, gcov_modified, gcov_errored): Move into ...
6885 (struct gcov_var gcov_var): ... this static structure.
6886 (gcov_write_unsigned, gcov_write_counter, gcov_write_string):
6887 Return void.
6888 (gcov_read_unsigned, gcov_read_couter, gcov_read_string): Return
6889 read object.
6890 (gcov_read_bytes, gcov_write_bytes): Set error flag on error.
6891 (gcov_reserve_length): Remove.
6892 (gcov_write_tag): New.
6893 (gcov_write_length): Adjust.
6894 (gcov_read_summary, gcov_write_summary): Adjust.
6895 (gcov_eof, gcov_ok): Rename to ...
6896 (gcov_is_eof, gcov_is_error): ... here. Return error code.
6897 (gcov_save_position, gcov_resync): Rename to ...
6898 (gcov_position, gcov_seek): ... here.
6899 (gcov_skip, gcov_skip_string): Remove.
6900 (gcov_error): Remove.
6901 (gcov_open, gcov_close): Adjust.
6902 * gcov.c (find_source): Take const char *, copy it on allocation.
6903 (read_graph_file): Adjust.
6904 (read_count_file): Adjust.
6905 * libgcov.c (gcov_exit): Adjust.
6906 * gcov-dump.c (tag_function, tag_blocks, tag_arcs, tag_lines,
6907 tag_arc_counts, tag_summary): Return void. Adjust.
6908 (struct tag_format): Adjust proc member.
6909 (dump_file): Adjust gcov calls.
6910
6911 2003-04-11 Alexandre Oliva <aoliva@redhat.com>
6912
6913 * Makefile.in (fixinc.sh): Pass BUILD_LIBERTY as LIBERTY to
6914 mkfixinc.sh.
6915 * fixinc/mkfixinc.sh (defs): Add LIBERTY.
6916 * configure.in (STMP_FIXINC, STMP_FIXPROTO): Don't disable on
6917 build != host sysrooted builds.
6918 * configure.in (SYSTEM_HEADER_DIR): Make sure it contains
6919 TARGET_SYSTEM_ROOT even on sysrooted natives.
6920 * configure: Rebuilt.
6921
6922 2003-04-10 Zack Weinberg <zack@codesourcery.com>
6923
6924 * c-decl.c (struct binding_level): Add shadowed_tags and
6925 function_body; remove this_block, tag_transparent, and
6926 subblocks_tag_transparent; update comments.
6927 (clear_binding_level, lookup_tag_reverse): Kill.
6928 (make_binding_level): Use ggc_alloc_cleared or memset.
6929 (lookup_tag): Remove struct binding_level* parameter. All
6930 callers changed. Just look at IDENTIFIER_TAG_VALUE, and
6931 current_binding_level->tags if asked for thislevel_only or if
6932 we might have to diagnose "struct foo; union foo;"
6933 (pushlevel): Ignore argument. Do not push another binding
6934 level on the transition from the parameters to the top level
6935 of the function body; just tweak the flags and proceed.
6936 (poplevel): Overhaul. Clear IDENTIFIER_TAG_VALUEs; on exiting
6937 a function body, separate the parameter list from the
6938 top-level local variables.
6939 (set_block): Do nothing.
6940 (pushtag): Set IDENTIFIER_TAG_VALUE and add an entry to
6941 shadowed_tags if necessary.
6942 (warn_if_shadowing): Nuke the special case for local shadowing
6943 parameter.
6944 (pushdecl): Do not create a shadow entry if we are replacing
6945 an older decl in the same binding level.
6946 (pushdecl_function_level): Tweak for new way of indicating
6947 function scope.
6948 (shadow_tag_warned): Use TYPE_NAME, not lookup_tag_reverse.
6949 (start_function): Don't set subblocks_tag_transparent.
6950 (finish_function): Fix up the binding_level stack for totally
6951 empty functions. Otherwise, don't call poplevel.
6952
6953 * c-common.c (shadow_warning): MANDATORY argument is no longer
6954 necessary. Always use plain warning.
6955 * c-common.h: Update to match.
6956
6957 * cfglayout.c (scope_to_insns_initialize): Clear block when we
6958 hit the FUNCTION_DECL.
6959 * function.c: Do not create cyclic tree structure.
6960
6961 2003-04-10 Zack Weinberg <zack@codesourcery.com>
6962
6963 * c-tree.h (struct lang_identifier): Replace global_value,
6964 local_value members with symbol_value, tag_value. Kill
6965 implicit_decl and limbo_value.
6966 (IDENTIFIER_GLOBAL_VALUE, IDENTIFIER_LOCAL_VALUE,
6967 IDENTIFIER_LIMBO_VALUE, IDENTIFIER_IMPLICIT_DECL,
6968 C_MISSING_PROTOTYPE_WARNED): Kill.
6969 (IDENTIFIER_SYMBOL_VALUE, IDENTIFIER_TAG_VALUE,
6970 C_DECL_IMPLICIT, C_DECL_ISNT_PROTOTYPE): New.
6971 (C_DECL_ANTICIPATED): Rename to C_DECL_INVISIBLE.
6972 (implicit_decl_warning, lookup_name_current_level,
6973 record_function_scope_shadow): Don't prototype.
6974 (pushdecl_function_level): Prototype.
6975
6976 * c-decl.c (truly_local_externals): New variable.
6977 (struct binding_level): Adjust commentary.
6978 (get_function_binding_level, clear_limbo_values,
6979 record_function_scope_shadow): Kill.
6980 (lookup_name_current_level, implicit_decl_warning): Are now static.
6981 (any_external_decl, record_external_decl): New static functions.
6982 (clone_underlying type): Split out of pushdecl.
6983 (c_print_identifier): Update to match changes to struct
6984 lang_identifier.
6985 (poplevel): Delete #if 0 block. Make externals invisible
6986 instead of clearing their IDENTIFIER_SYMBOL_VALUEs. Don't
6987 call clear_limbo_values. Refer to IDENTIFIER_SYMBOL_VALUE not
6988 IDENTIFIER_GLOBAL_VALUE or IDENTIFIER_LOCAL_VALUE.
6989 (duplicate-decls): For real parm decl after a forward decl,
6990 set TREE_ASM_WRITTEN here. Allow void foo(...) followed by
6991 foo(...) { } with only a warning. Say whether a previous
6992 declaration was implicit.
6993 (warn_if_shadowing): Now handles all shadowing, not just
6994 local-over-local. Clarify comments.
6995 (pushdecl): Rewritten. There is no longer a distinction
6996 between global and local symbol values; they're all
6997 IDENTIFIER_SYMBOL_VALUE. Call record_external_decl on all
6998 DECL_EXTERNAL decls, and use any_external_decl to check
6999 against previous externals. Kill #if 0 blocks. Don't
7000 tolerate error_mark_node being NULL.
7001 (pushdecl_top_level): Handle only those cases which
7002 Objective C (the only user) needs.
7003 (pushdecl_function_level): New function.
7004 (implicitly_declare): Create ordinary decls with
7005 C_DECL_IMPLICIT set. Recycle old decls, however they got
7006 created.
7007 (lookup_name): It's always IDENTIFIER_SYMBOL_VALUE. Return 0
7008 for C_DECL_INVISIBLE symbols.
7009 (lookup_name_current_level): Likewise. Use chain_member.
7010 (c_make_fname_decl): Don't muck with DECL_CONTEXT.
7011 Use pushdecl_function_level.
7012 (builtin_function): Use C_DECL_INVISIBLE.
7013 (start_function): Don't muck with IDENTIFIER_IMPLICIT_DECL.
7014 Use C_DECL_ISNT_PROTOTYPE and C_DECL_IMPLICIT.
7015 (store_parm_decls): It's IDENTIFIER_SYMBOL_VALUE now.
7016 (identifier_global_value): Same. Must scan
7017 global_binding_level in extremis.
7018
7019 * c-typeck.c (undeclared_variable): New static function, split
7020 from build_external_ref.
7021 (build_external_ref): Use DECL_CONTEXT, not
7022 IDENTIFIER_LOCAL_VALUE, to decide whether a local hides
7023 an instance variable. Restructure for clarity.
7024 * objc/objc-act.c: Use identifier_global_value, not
7025 IDENTIFIER_GLOBAL_VALUE.
7026
7027 2003-04-08 Jonathan Wakely <redi@gcc.gnu.org>
7028
7029 * doc/extend.texi (Template Instantiation): Refer to ISO standard,
7030 not Working Paper.
7031 * doc/invoke.texi (C++ Dialect Options): Same.
7032
7033 2003-04-10 Zack Weinberg <zack@codesourcery.com>
7034
7035 * tree.c (tree_operand_check_failed): New function.
7036 * tree.h (TREE_OPERAND_CHECK, TREE_OPERAND_CHECK_CODE,
7037 TREE_RTL_OPERAND_CHECK): New checking macros.
7038 (TREE_OPERAND, SAVE_EXPR_CONTEXT, SAVE_EXPR_RTL,
7039 RTL_EXPR_SEQUENCE, RTL_EXPR_RTL, WITH_CLEANUP_EXPR_RTL,
7040 CONSTRUCTOR_ELTS, LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY,
7041 EXIT_BLOCK_RETURN, LOOP_EXPR_BODY, EXPR_WFL_NODE,
7042 EXPR_WFL_FILENAME_NODE, EXPR_WFL_FILENAME, TARGET_EXPR_SLOT,
7043 TARGET_EXPR_INITIAL, TARGET_EXPR_CLEANUP): Use the new
7044 checking macros.
7045
7046 Thu Apr 10 23:52:30 CEST 2003 Jan Hubicka <jh@suse.cz>
7047
7048 PR inline-asm/8803
7049 * function.c (instantate_virtual_regs): Verify that all ASM statements
7050 match after the virutal regs instantiation.
7051
7052 2003-04-10 Steve Ellcey <sje@cup.hp.com>
7053
7054 * ia64-protos.h (addp4_optimize_ok): New.
7055 * ia64.c (addp4_optimize_ok): New.
7056 * ia64.md (*ptr_extend_plus_1): Use addp4_optimize_ok.
7057 (*ptr_extend_plus_2): Ditto.
7058
7059 2003-04-10 Steve Ellcey <sje@cup.hp.com>
7060
7061 * expr.c (expand_assignment): Extend offset_rtx with convert_to_mode
7062 not with convert_memory_address.
7063 (store_constructor): Ditto, and same for copy_size_rtx.
7064 (expand_expr): Ditto.
7065
7066 2003-04-10 Douglas B Rupp <rupp@gnat.com>
7067
7068 * config/i386/i386.c (ix86_ms_bitfield_layout_p): Fix formatting.
7069
7070 2003-04-10 Bob Wilson <bob.wilson@acm.org>
7071
7072 * config/xtensa/lib2funcs.S (__xtensa_sync_caches): Flush data cache
7073 even if it is configured to be write-through.
7074
7075 2003-04-10 Ulrich Weigand <uweigand@de.ibm.com>
7076
7077 * config/s390/s390.c (larl_operand): Do not allow symbols
7078 marked with '@'.
7079 (s390_encode_section_info): Mark symbols with forced 1-byte
7080 alignment with '@'.
7081 (s390_strip_name_encoding): Strip '@'.
7082 (legitimize_pic_address): Handle symbols that are not valid
7083 LARL operands in 64-bit mode.
7084
7085 2003-04-10 Andrew Haley <aph@redhat.com>
7086
7087 * tree-inline.c (inlinable_function_p): Disable inlining for
7088 synchronized methods.
7089
7090 2003-04-09 Steven Bosscher <steven@gcc.gnu.org>
7091
7092 * c-common.h (lang_statement_code_p): Remove declaration.
7093 (statement_code_p): Ditto.
7094 (c_common_stmt_codes): Define; list of c-common statement codes.
7095 (statement_code_p): New extern declaration.
7096 (STATEMENT_CODE_P): Define.
7097 (INIT_STATEMENT_CODES): Define.
7098 * c-common.c (statement_code_p): Kill the function, declare
7099 as an array of bools instead.
7100 (lang_statement_code_p): Remove.
7101 (walk_stmt_tree): Use STATEMENT_CODE_P not statement_code_p.
7102 (c_safe_from_p): Ditto.
7103 * c-objc-common.c (c_objc_common_init): Use INIT_STATEMENT_CODES
7104 to initialize the statement_code_p array.
7105 * tree-inline.c (walk_tree): Use STATEMENT_CODE_P instead of
7106 statement_code_p.
7107 (copy_tree_r): Ditto.
7108 * cp/cp-tree.h (cp_stmt_codes): Define; list of C++ specific
7109 statement tree codes.
7110 * cp/lex.c (cxx_init): Add missing print line break. Use
7111 INIT_STATEMENT_CODES to initialize the statement_code_p array.
7112 * cp/parser.c (cp_parser_statement): Use STATEMENT_CODE_P
7113 instead of statement_code_p.
7114 * cp/pt.c (tsubst_expr): Ditto.
7115 * cp/tree.c (verify_stmt_tree_r): Ditto.
7116 (cp_statement_code_p): Remove.
7117 (init_tree): Don't set lang_statement_code_p, it's gone.
7118
7119 2003-04-09 Dan Nicolaescu <dann@ics.uci.edu>
7120 Zack Weinberg <zack@codesourcery.com>
7121
7122 * regrename.c (struct du_chain): Use a bitfield for reg_class.
7123 * cse.c (struct qty_table_elem, struct table_elt, struct set):
7124 Use bitfields for fields holding enum rtx_code or
7125 enum machine_mode values. Add comments explaining size choices.
7126
7127 2003-04-09 Alexandre Oliva <aoliva@redhat.com>
7128
7129 * config/fp-bit.c (unpack_d): Handle pair of doubles with
7130 different signs correctly.
7131
7132 2003-04-09 Vladimir Makarov <vmakarov@redhat.com>
7133
7134 * sched-deps.c (reg_pending_barrier_mode): New enumeration.
7135 (reg_pending_barrier): Make it of the enumeration type.
7136 (sched_analyze_2): Define the barrier as MOVE_BARRIER or
7137 TRUE_BARRIER.
7138 (sched_analyze): Ditto.
7139 (sched_analyze_insn): Ditto. Use anti-dependencies for
7140 MOVE_BARRIER and true-dependencies as TRUE_BARRIER.
7141 (init_deps_global): Initialize the barrier as NO_BARRIER.
7142
7143 2003-04-09 Vladimir Makarov <vmakarov@redhat.com>
7144
7145 * config/ia64/ia64.c (issue_nops_and_insn): Add new parameter.
7146 Check that asm insn starts on a new cycle. Add nops after asm
7147 insn to end bundle.
7148 (bundling): Move insn type evaluation from the loop. Call
7149 issue_nops_and_insn with the new parameter. Ignore changing
7150 position for nops after asm insn.
7151
7152 2003-04-09 Alexandre Oliva <aoliva@redhat.com>
7153
7154 * optabs.c: Comment that gen_add2_insn and others may actually
7155 return emitted insns, if the gen functions turn out to return
7156 emitted insns.
7157 * reload1.c (reload_cse_move2add): Cope with emitted insns from
7158 gen_add2_insn.
7159
7160 2003-04-09 Richard Henderson <rth@redhat.com>
7161
7162 * config/ia64/ia64.c (move_operand): Allow symbolic_operand,
7163 but not tls_symbolic_operand.
7164 (ia64_expand_load_address): Remove scratch operand.
7165 (ia64_expand_tls_address): Split out from ia64_expand_move.
7166 (ia64_expand_move): Split symbolics only after reload.
7167 (ia64_emit_cond_move): New.
7168 * config/ia64/ia64-protos.h: Update.
7169 * config/ia64/ia64.md (movsi_symbolic, movdi_symbolic): Remove.
7170 (symbolic splitter): Accept SImode operands too.
7171 (cmove splitter): Use ia64_emit_cond_move.
7172
7173 2003-04-09 Nick Clifton <nickc@redhat.com>
7174
7175 * doc/install.texi: Note that ARM toolchains need binutils 2.13 or
7176 newer.
7177 * config/arm/elf.h (SUBTARGET_ASM_FLOAT_SPEC): Pass -mfpu=softfpa
7178 instead of -mno-fpu.
7179 * config/arm/semi.h (ASM_SPEC): Likewise.
7180 * config/arm/xscale-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise,
7181 but only if -msoft-float is specified pass. Otherwise pass
7182 -mfpu=softvfp.
7183
7184 2003-04-09 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7185
7186 * function.c (purge_addressof): Use free_INSN_LIST_node instead of
7187 free_EXPR_LIST_node.
7188
7189 2003-04-08 Roger Sayle <roger@eyesopen.com>
7190
7191 * fold-const.c (fold): Use "fold" following build in more places.
7192 Optimize sqrt(x)*sqrt(x) as x, pow(x,y)*pow(z,y) as pow(x*z,y),
7193 pow(x,y)*pow(x,z) as pow(x,y+z) and x/pow(y,z) as x*pow(y,-z).
7194
7195 2003-04-08 Roger Sayle <roger@eyesopen.com>
7196
7197 * builtins.c (fold_builtin): Constant fold expressions as x*0.5
7198 instead of x/2.0. Optimize sqrt(pow(x,y)) as pow(x,y*0.5),
7199 log(pow(x,y)) as y*log(x), pow(exp(x),y) as exp(x*y),
7200 pow(sqrt(x),y) as pow(x,y*0.5) and pow(pow(x,y),z) as pow(x,y*z).
7201 Delete function scope "fcode" variable to avoid shadowing.
7202
7203 2003-04-08 Kevin Buettner <kevinb@redhat.com>
7204
7205 * dwarf2out.c (DWARF_ARANGES_HEADER_SIZE, DWARF_ARANGES_PAD_SIZE):
7206 Take into account DWARF_INITIAL_LENGTH_SIZE.
7207
7208 2003-04-08 Hans-Peter Nilsson <hp@axis.com>
7209
7210 * reorg.c (fill_slots_from_thread): When considering changing the
7211 insn following a reg-to-reg copy insn to use the source reg of the
7212 copy, bail out if there's overlap between the registers.
7213
7214 2003-04-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7215
7216 * function.c (postponed_insns): New.
7217 (purge_addressof_1): Postpone processing of insns if addressofs
7218 are not put into stack.
7219 (purge_addressof): Process postponed insns.
7220
7221 2003-04-08 J"orn Rennecke <joern.rennecke@superh.com>
7222
7223 * sh.h (NORMAL_MODE): If interrupt handler and TARGET_FMOVD,
7224 this is FP_MODE_DOUBLE .
7225 * sh.c (ra.h): #include.
7226 (push_regs): Add second parameter. Changed all callers.
7227 If necessary, set fpscr before saving floating point registers.
7228 (calc_live_regs): If interrupt handler and TARGET_FMOVD, always
7229 do saves / restores with SZ == 1.
7230 (sh_expand_prologue): If interrupt handler, don't use gen_toggle_sz.
7231 (sh_expand_epilogue): Likewise. For TARGET_FMOVD, if floating point
7232 registers are being restored, restore FPSCR only after restoring them.
7233
7234 2003-04-08 Aldy Hernandez <aldyh@redhat.com>
7235
7236 * config/rs6000/rs6000.c (rs6000_init_builtins): Set opaque types
7237 regardless of architecture.
7238 (spe_init_builtins): Change V2SI and V2SF types to opaque types.
7239
7240 2003-04-08 J"orn Rennecke <joern.rennecke@superh.com>
7241
7242 * sh.c (push_regs, calc_live_regs): Return int. Take single
7243 HARD_REG_SET * parameter. Changed all callers.
7244
7245 Tue Apr 8 11:12:07 CEST 2003 Jan Hubicka <jh@suse.cz>
7246
7247 * i386.c (legitimate_pic_address_disp_p): Do not accept PLUS in the
7248 GOTOFF operand.
7249 (legitimize_pic_address): Move plus outside the unspec.
7250 * i386.c (legitimate_constant_p): Check (CONST (PLUS (UNSPEC ...
7251 for validity.
7252
7253 2003-04-08 Nathan Sidwell <nathan@codesourcery.com>
7254
7255 * gcov-io.h (gcov_save_position): Remove __inline__ from
7256 declaration.
7257
7258 2003-04-07 Matt Kraai <kraai@alumni.cmu.edu>
7259
7260 * doc/install.texi: Use @command and @samp for single- and
7261 multi-word commands respectively.
7262 * doc/makefile.texi: Likewise.
7263 * doc/sourcebuild.texi: Likewise.
7264
7265 2003-04-07 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
7266 Richard Henderson <rth@redhat.com>
7267
7268 PR c/9516
7269 * expr.c (safe_from_p): Rearrange to avoid deep recursion in
7270 favour of looping and tail recursion for TREE_LIST and binops.
7271
7272 2003-04-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7273
7274 * loop.h (REGNO_FIRST_LUID, REGNO_LAST_LUID): Provide defaults
7275 for insns without luid.
7276
7277 2003-04-07 Glen Nakamura <glen@imodulo.com>
7278
7279 PR opt/8634
7280 * explow.c (maybe_set_unchanging): Don't flag non-static const
7281 aggregate type initializers with RTX_UNCHANGING_P.
7282
7283 2003-04-07 Richard Henderson <rth@redhat.com>
7284
7285 PR opt/8634
7286 * function.c (purge_addressof_1): Don't try arithmetics for
7287 unchanging memories.
7288
7289 2003-04-07 Janis Johnson <janis187@us.ibm.com>
7290
7291 * doc/sourcebuild.texi (Test Suites): Document testing support for
7292 gcov and profile-directed optimizations; describe gcc.misc-tests.
7293
7294 Mon Apr 7 22:19:59 CEST 2003 Jan Hubicka <jh@suse.cz>
7295
7296 PR target/10077
7297 * i386.md (movsi_1, movsi_nointerunit_1): Fix SSEMOV alternative.
7298
7299 2003-04-07 Eric Botcazou <ebotcazou@libertysurf.fr>
7300
7301 * doc/rtl.texi (Comparison operations): Update to
7302 record the allowed comparison modes.
7303
7304 2003-04-07 Aldy Hernandez <aldyh@redhat.com>
7305
7306 * config/rs6000/rs6000.c (rs6000_common_init_builtins): Rename all
7307 V2SI_type_node to opaque_V2SI_type_node. Rename all
7308 V2SF_type_node to opaque_V2SF_type_node.
7309 (rs6000_init_builtins): Define opaque_V2SI_type_node and
7310 opaque_V2SF_type_node.
7311 (is_ev64_opaque_type): The types opaque_V2SI_type_node and
7312 opaque_V2SF_type_node are opaque types.
7313
7314 2003-04-07 J"orn Rennecke <joern.rennecke@superh.com>
7315
7316 * gcse.c (replace_store_insn): Use single_set.
7317
7318 2003-04-07 Nathan Sidwell <nathan@codesourcery.com>
7319
7320 Change gcov file interface to single file at a time.
7321 * gcov-io.h: Replace IN_LIBGCC1 with IN_LIBGCOV. Use IN_GCOV.
7322 Convert to C89 prototypes.
7323 (gcov_file, gcov_length, gcov_position, gcov_buffer, gcov_alloc,
7324 gcov_error, gcov_modified): New static variables.
7325 (gcov_open, gcov_close, gcov_read_bytes, gcov_write_bytes): New
7326 functions.
7327 (gcov_write_unsigned, gcov_write_counter, gcov_write_string,
7328 gcov_read_unsigned, gcov_read_counter, gcov_read_string): Adjust.
7329 (gcov_read_summary, gcov_write_summary): Adjust.
7330 (gcov_save_position, gcov_reserve_length, gcov_write_length):
7331 Adjust.
7332 (gcov_resync, gcov_skip, gcov_skip_string): Adjust.
7333 (da_file_open, da_file_close, da_file_eof, da_file_error): Remove.
7334 (da_file_position, da_file_seek, da_file_write, da_file_read):
7335 Remove.
7336 (gcov_error, gcov_eof, gcov_ok, gcov_time): New functions.
7337 * gcov.c (gcov_type): Don't typedef here.
7338 (IN_GCOV): #define
7339 (read_graph_file, read_count_file): Adjust.
7340 * gcov-dump.c (gcov_type): Don't typedef here.
7341 (IN_GCOV): #define.
7342 (tag_function, tag_blocks, tag_arcs, tag_lines, tag_arc_counts):
7343 Remove FILE parameter, adjust.
7344 (struct tag_format): Adjust proc member.
7345 (dump_file): Adjust.
7346 * libgcov.c (IN_LIBGCOV): #define.
7347 (gcov_exit): Adjust.
7348 * loop-init.c: Don't #include gcov-io.h
7349 * profile.c (struct counts_entry): New structure to hold counter
7350 values.
7351 (struct section_reference, struct da_index_entry): Remove.
7352 (bbg_file, da_file): Remove.
7353 (htab_counts_index_hash, htab_counts_index_eq,
7354 htab_counts_index_del): Replace with ...
7355 (htab_counts_entry_hash, htab_counts_entry_eq,
7356 htab_counts_entry_del): ... these.
7357 (cleanup_counts_index, index_counts_file): Remove.
7358 (read_counts_file): New function.
7359 (get_exec_counts): Adjust.
7360 (compute_branch_probabilities): Don't free the exec counts here.
7361 (branch_prob): Adjust.
7362 (init_branch_prob): Adjust.
7363 (end_branch_prob): Adjust.
7364
7365 2003-04-07 Aldy Hernandez <aldyh@redhat.com>
7366
7367 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
7368 -mfloat-gprs.
7369
7370 * config/rs6000/rs6000.c: Delete rs6000_fprs.
7371 Declare rs6000_float_gprs.
7372 Declare rs6000_float_gprs_string.
7373 (rs6000_parse_float_gprs_option): New.
7374 (rs6000_override_options): Genericize rs6000_parse_* calls to use
7375 rs6000_parse_yes_no_option.
7376 Change check for cpu=8540, to use TARGET_E500.
7377 (rs6000_parse_isel_option): Delete.
7378 (rs6000_parse_spe_option): Delete.
7379 (rs6000_parse_vrsave_option): Delete.
7380
7381 * config/rs6000/rs6000.h: Rename rs6000_fprs to rs6000_float_gprs.
7382 Define rs6000_float_gprs_string.
7383 (TARGET_OPTIONS): Add rs6000_float_gprs option.
7384
7385 * config/rs6000/eabi.h (TARGET_FPRS): Change to use rs6000_float_gprs.
7386
7387 * config/rs6000/eabispe.h: Set rs6000_float_gprs.
7388
7389 Mon Apr 7 14:36:24 CEST 2003 Jan Hubicka <jh@suse.cz>
7390
7391 PR opt/10024
7392 * cfglayout.c (cfg_layout_redirect_edge):
7393 Redirect any branch edges unified with the fallthru one.
7394 * cfgrtl.c (force_nonfallthru_and_redirect): Do not special
7395 case fallthru edges when called via cfglayout.c
7396
7397 2003-04-07 J"orn Rennecke <joern.rennecke@superh.com>
7398
7399 * c-typeck.c (output_init_element): Check for type == error_mark_node.
7400
7401 2003-04-07 Kazu Hirata <kazu@cs.umass.edu>
7402
7403 * config/h8300/h8300.md (*zero_extendqisi2_h8300hs): Always
7404 split.
7405 (a splitter): Do zero-extension via HImode.
7406
7407 2003-04-07 James A. Morrison <ja2morri@uwaterloo.ca>
7408
7409 * doc/invoke.texi: Eliminate extra white-space caused by
7410 @gccoptlist{ on its own line.
7411 * doc/invoke.texi: Ensured there are two spaces between each option.
7412 * doc/invoke.texi: Re-wrapped option lines that were too wide.
7413 Added @gol to options that didn't have them.
7414
7415 2003-04-07 James A Morrison <ja2morri@student.math.uwaterloo.ca>
7416
7417 * doc/extend.texi (Darwin Pragmas): Fix spelling of Mac OS.
7418
7419 2003-04-06 Zack Weinberg <zack@codesourcery.com>
7420
7421 * tree.c (tree_size): For all 'c' and 'x' nodes, look directly
7422 at the sizes of the relevant structures, rather than relying
7423 on TREE_CODE_LENGTH. Call lang_hooks.tree_size to get the
7424 sizes of any such we don't know about. Use
7425 lang_hooks.identifier_size for IDENTIFIER_NODE.
7426
7427 (initializer_zerop): Use CONSTRUCTOR_ELTS.
7428 * tree.def: Update commentary. Make fourth element of
7429 the definition for all 'c' and 'x' nodes zero.
7430
7431 * langhooks.h: New hook, tree_size / LANG_HOOKS_TREE_SIZE.
7432 * langhooks-def.h: Update to match.
7433 * langhooks.c: New default, lhd_tree_size.
7434
7435 * c-common.def (SRCLOC): Kill.
7436 * c-pretty-print.c (pp_c_postfix_expression [case SRCLOC]):
7437 Remove entirely - was already #if-ed out.
7438
7439
7440 2003-04-06 Zack Weinberg <zack@codesourcery.com>
7441
7442 * mklibgcc.in: Use a here document to avoid running afoul of
7443 shells that generate control-A from "echo \1".
7444
7445 2003-04-06 Aldy Hernandez <aldyh@redhat.com>
7446
7447 * doc/invoke.texi (RS/6000 and PowerPC Options): Document -mspe
7448 option.
7449
7450 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Set
7451 rs6000_spe.
7452
7453 * config/rs6000/eabi.h (TARGET_E500): Define.
7454
7455 * config/rs6000/rs6000.h (TARGET_E500): Define.
7456 (TARGET_OPTIONS): Add spe= option.
7457 Declare rs6000_spe and rs6000_spe_string extern.
7458
7459 * config/rs6000/rs6000.c (branch_positive_comparison_operator):
7460 Change TARGET_SPE to TARGET_E500.
7461 (ccr_bit): Change TARGET_SPE to TARGET_E500. Check for
7462 !TARGET_FPRS.
7463 (print_operand): Same.
7464 (rs6000_generate_compare): Same.
7465 (output_cbranch): Same.
7466 (rs6000_spe): Declare.
7467 (rs6000_spe_string): Declare.
7468 (rs6000_override_options): Call rs6000_parse_spe_option.
7469 (rs6000_parse_spe_option): New.
7470
7471 2003-04-06 Steven Bosscher <steven@gcc.gnu.org>
7472
7473 * hashtable.c (gcc_obstack_init): Delete this function
7474 and everything related to it.
7475 * hashtable.h: Remove prototype.
7476 * bitmap.c (bitmap_element_allocate): Cleanup redundant
7477 defines. Cleanup some unnecessary whitespace.
7478 * defaults.h (obstack_chunk_alloc): Redefine with
7479 appropriate casts for libiberty obstacks.
7480 (obstack_chunk_free): Ditto.
7481 (OBSTACK_CHUNK_SIZE): Define, default to 0.
7482 (gcc_obstack_init): Define as a call to _obstack_begin.
7483 * tree.c (print_obstack_statistics): Delete this unused
7484 function.
7485 * tree.h (obstack): Don't forward-declare.
7486 (print_obstack_statistics): Delete prototype.
7487 (print_obstack_name): Ditto.
7488 (gcc_obstack_init): Ditto.
7489 * rtl.h (gcc_obstack_init): Ditto.
7490 * java/jv-scan.c (gcc_obstack_init): Delete this
7491 function, its prototype and related defines.
7492 * java/jvgenmain.c (gcc_obstack_init): Delete this
7493 function, and related defines.
7494 * java/parse-scan.y (obstack_chunk_alloc): Don't define.
7495 (obstack_chunk_free): Ditto
7496
7497 2003-04-06 Geoffrey Keating <geoffk@apple.com>
7498
7499 * dbxout.c (dbxout_handle_pch): Move prototype out from
7500 #if defined DBX_DEBUGGING_INFO.
7501
7502 2003-04-05 Nathan Sidwell <nathan@codesourcery.com>
7503
7504 * gcov.c (struct arc_info): Replace local_span with cycle.
7505 (struct block_info): Replace u.span with u.cycle. Add is_call_return.
7506 (solve_flow_graph): Set is_call_return.
7507 (add_line_counts): Adjust. In block mode, blocks attach to last line.
7508 (accumulate_line_counts): Find graph cycles, not spanning tree.
7509 (output_branch_count): Adjust.
7510 (output_lines): Adjust.
7511 * doc/gcov.texi: Update.
7512
7513 2003-04-06 Kazu Hirata <kazu@cs.umass.edu>
7514
7515 * config/h8300/h8300.md (*zero_extendqisi2_h8300hs): Change
7516 the second alternative to "#".
7517
7518 2003-04-05 Kazu Hirata <kazu@cs.umass.edu>
7519
7520 * config/h8300/h8300.c (single_one_operand): Use GET_MODE_MASK.
7521 (single_zero_operand): Likewise.
7522
7523 2003-04-05 Daniel Berlin <dberlin@dberlin.org>
7524
7525 * Makefile.in (df.o): Depend on alloc-pool.h, not obstack.h.
7526 * df.c: Include alloc-pool.h, not obstack.h.
7527 (df_ref_obstack): Remove.
7528 (df_ref_pool, df_link_pool): Add pools.
7529 (df_alloc): Init the new pools.
7530 (df_free): And free them.
7531 (df_link_create): Use the pools.
7532 (df_ref_create): Ditto.
7533
7534 2003-04-05 Kazu Hirata <kazu@cs.umass.edu>
7535
7536 * simplify-rtx.c: Fix formatting.
7537
7538 2003-04-05 Andrew Pinski <apinski@apple.com>
7539
7540 * config/rs6000/rs6000.c (addrs_ok_for_quad_peep): Allow addr2
7541 reg with reg1 == reg2 and offset1 = -8.
7542
7543 2003-04-05 David Edelsohn <edelsohn@gnu.org>
7544
7545 * config/rs6000/rs6000.c (rs6000_rtx_costs): Halve Power4
7546 multiply costs. Correct Power4 divide costs.
7547 * config/rs6000/power4.md: Restore multiply and FP latency.
7548
7549 2003-04-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7550
7551 * alias.c (find_base_term): Export.
7552 * rtl.h (find_base_term): Declare.
7553 * gcse.c (find_moveable_store): Test for flag_non_call_exceptions
7554 instead of flag_exceptions. Move test for parameter passing ...
7555 (store_killed_in_insn): ... here.
7556
7557 2003-04-05 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
7558
7559 PR bootstrap/10267
7560 * doc/install.texi (*-*-solaris2): /bin/ksh is not just recommended
7561 for configuring.
7562
7563 2003-04-04 Geoffrey Keating <geoffk@apple.com>
7564
7565 * dbxout.c (scope_labelno): Add GTY.
7566 (have_used_extensions): Add GTY.
7567 (source_label_number): Add GTY.
7568 (lastfile): Add GTY.
7569 (lastfile_is_base): New.
7570 (base_input_file): New.
7571 (dbxout_handle_pch): New.
7572 (dbx_debug_hooks): Add handle_pch.
7573 (xcoff_debug_hooks): Likewise.
7574 (dbxout_function_end): Remove scope_labelno.
7575 (dbxout_init): Set base_input_file.
7576 (dbxout_handle_pch): New.
7577 (dbxout_source_file): Honour lastfile_is_base.
7578 * dwarfout.c (dwarf_debug_hooks): Add dummy handle_pch.
7579 * sdbout.c (sdb_debug_hooks): Add dummy handle_pch.
7580 * vmsdbgout.c (vmsdbg_debug_hooks): Add dummy handle_pch.
7581 * dwarf2out.c (dwarf2_debug_hooks): Add dummy handle_pch.
7582 * debug.c (do_nothing_debug_hooks): Add dummy handle_pch.
7583 * debug.h (struct gcc_debug_hooks): Add handle_pch.
7584 * c-pch.c (pch_init): Don't call start_source_file, but do call
7585 handle_pch.
7586 (c_common_write_pch): Call handle_pch.
7587 (c_common_read_pch): Don't call start_source_file,
7588 or end_source_file.
7589
7590 Fri Apr 4 17:43:52 2003 Olivier Hainque <hainque@act-europe.fr>
7591
7592 * emit-rtl.c (get_mem_attrs): Adjust alignment tests determining
7593 use of default attributes to agree MEM_ALIGN macro.
7594
7595 Fri Apr 4 17:33:24 2003 Joel Brobecker <brobecker@gnat.com>
7596
7597 * dbxout.c (dbxout_type): When printing type index of range type
7598 whose bounds are printed in octal format, print type of parent type if
7599 it exists so enumerated type descriptions are not transformed
7600 into unsigned types.
7601
7602 2003-04-04 Kazu Hirata <kazu@cs.umass.edu>
7603
7604 * config/h8300/h8300-protos.h: Add a prototype for
7605 compute_a_shift_cc.
7606 * config/h8300/h8300.c (shift_one): Update the CC status.
7607 (shift_two): Likewise.
7608 (output_a_shift_cc): Set cc_inline and cc_special.
7609 (compute_a_shift_cc): New.
7610 * config/h8300/h8300.md (shift insns): Use compute_a_shift_cc.
7611
7612 2003-04-04 Richard Henderson <rth@redhat.com>
7613
7614 * cse.c (fold_rtx): Fix 03-30 change; do check insn non-null.
7615
7616 2003-04-04 Loren James Rittle <ljrittle@acm.org>
7617
7618 * fixinc/inclhack.def (bsd_stdio_attrs_conflict): New.
7619 * fixinc/fixincl.x: Rebuilt.
7620 * fixinc/tests/base/stdio.h: Regenerated.
7621
7622 2003-04-04 Nathan Sidwell <nathan@codesourcery.com>
7623
7624 * gcov.c (accumulate_line_counts): Fix span tree merge bug.
7625
7626 Fri Apr 4 15:58:52 2003 J"orn Rennecke <joern.rennecke@superh.com>
7627
7628 * sh.h (ACTUAL_NORMAL_MODE): New macro, broken out of
7629 (NORMAL_MODE).
7630 * sh.c (fpscr_set_from_mem): Use ACTUAL_NORMAL_MODE.
7631
7632 2003-04-04 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
7633
7634 * doc/contrib.texi (Contributors): Add entries for Wolfgang
7635 Bangerth, DJ Delorie, Christian Ehrhardt, Christopher Faylor,
7636 Nathanael Nerode, Diego Novillo, Hartmut Penner, Volker Reichelt,
7637 Danny Smith, and Ulrich Weigand.
7638 Update Kriang Lerdsuwanakij and fix a typo in Janis Johnson's
7639 entry.
7640
7641 2003-04-04 Nick Clifton <nickc@redhat.com>
7642
7643 * config/sparc/sol2-bi.h: Revert previous delta.
7644 * config/sparc/sol2-gas-bi.h (AS_SPARC64_FLAG): Prepend -TSO
7645
7646 2003-04-04 Nick Clifton <nickc@redhat.com>
7647
7648 * config/v850/v850.c (expand_prologue): Only use register save
7649 helper functions if long calls are not being used.
7650 Add a clobber of r11 id using long calls.
7651 (pattern_is_ok_for_prologue): Account for the extra clobber.
7652 (construct_save_jarl): Likewise.
7653 * config/v850/v850.md (prolog pattern): Do not use this pattern
7654 for v850e's.
7655
7656 2003-04-04 Andreas Schwab <schwab@suse.de>
7657
7658 * stor-layout.c (layout_decl): Avoid syntax error in last change
7659 when PCC_BITFIELD_TYPE_MATTERS is defined but not
7660 EMPTY_FIELD_BOUNDARY.
7661
7662 2003-04-03 Jason Merrill <jason@redhat.com>
7663
7664 PR c/10175
7665 * jump.c (never_reached_warning): Revert patch of 2002-11-02.
7666 Look backwards for a line note.
7667
7668 2003-04-03 Neil Booth <neil@daikokuya.co.uk>
7669
7670 * fix-header.c (read_scan_file): Defer switch processing.
7671
7672 2003-04-03 Matt Austern <austern@apple.com>
7673
7674 * cpppch.c (reset_ht): Remove.
7675 (cpp_read_state): Remove loop to reset hashtable identifiers.
7676 * ggc-common.c (gt_pch_save): Add call to gt_pch_fixup_stringpool
7677 after pch file is written.
7678 * ggc.h (gt_pch_fixup_stringpool): Declare.
7679 * stringpool.c (ht_copy_and_clear): Define. Callback. Copy
7680 hashnode's value to another hashtable, then clear the original.
7681 (saved_ident_hash): Define.
7682 (gt_pch_save_stringpool): Create saved_ident_hash, use it to
7683 store definitions in ident_hash, and clear ident_hash.
7684 (gt_pch_fixup_stringpool): Define. Restore definitions from
7685 saved_ident_hash to ident_hash, then destroy saved_ident_hash.
7686
7687 Thu Apr 3 22:27:40 CEST 2003 Jan Hubicka <jh@suse.cz>
7688
7689 * cfgrtl.c (update_bb_for_insn): Do not set block for barriers.
7690
7691 2003-04-03 Eric Botcazou <ebotcazou@libertysurf.fr>
7692
7693 PR optimization/10157
7694 * gcse.c (can_copy_p): Rename it to can_copy.
7695 (can_copy_init_p): Remove.
7696 (compute_can_copy): Use can_copy instead of can_copy_p.
7697 (can_copy_p): New exported function. Call compute_can_copy.
7698 (hash_scan_set): Use it.
7699 (gcse_main): Don't call compute_can_copy.
7700 (bypass_jumps): Don't call compute_can_copy.
7701 * rtl.h (can_copy_p): Declare.
7702 * loop.c (scan_loop): Don't move the source and add a reg-to-reg
7703 copy if the mode doesn't support copy operations.
7704
7705 2003-04-03 Jason Merrill <jason@redhat.com>
7706
7707 * Makefile.in (unstrap): Also remove stage_last.
7708
7709 * dwarf2out.c (lookup_filename): Don't check for "<internal>".
7710 (dwarf2out_source_line): Don't do anything if line==0.
7711
7712 * stor-layout.c (do_type_align): New fn, split out from...
7713 (layout_decl): ...here. Do all alignment calculations for
7714 FIELD_DECLs here.
7715 (update_alignment_for_field): Not here.
7716 (start_record_layout, debug_rli): Remove unpadded_align.
7717 * tree.h (struct record_layout_info_s): Remove unpadded_align.
7718 * c-decl.c (finish_enum): Don't set DECL_SIZE, DECL_ALIGN
7719 or DECL_MODE on the CONST_DECLs.
7720 (finish_struct): Don't mess with DECL_ALIGN.
7721
7722 Thu Apr 3 18:57:19 CEST 2003 Jan Hubicka <jh@suse.cz>
7723
7724 * i386.c (print_operand): Do not bypass output_addr_const at flag_pic.
7725
7726 Thu Apr 3 17:08:09 2003 J"orn Rennecke <joern.rennecke@superh.com>
7727
7728 * sh.c (sh_function_ok_for_sibcall): Return 0 if the current
7729 function is an interrupt handler.
7730
7731 * sh.c (sh_expand_epilogue): Avoid clash of temp register for
7732 restoring target registers with EH_RETURN_STACKADJ_RTX; use
7733 multiple registers in round-robin fashion.
7734
7735 2003-04-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7736
7737 * gengtype-lex.l (IWORD): Add CHAR_BITFIELD.
7738 * system.h (CHAR_BITFIELD): New.
7739
7740 2003-04-03 Kazu Hirata <kazu@cs.umass.edu>
7741
7742 * config/h8300/h8300.md (a peephole2): Generalize to accept GT
7743 and LE.
7744 (another peephole2): Likewise.
7745
7746 2003-04-03 Nick Clifton <nickc@redhat.com>
7747
7748 * config/sparc/sol2-bi.h (ASM_CPU64_DEFAULT_SPEC): Add -TSO.
7749 (DEF_ARCH64_SPEC): Likewise.
7750
7751 Thu Apr 3 09:53:40 CEST 2003 Jan Hubicka <jh@suse.cz>
7752
7753 * i386.c (constant_address_p): Use legitimate_constant_p.
7754 (legitimate_address_p): Do not use CONSTANT_ADDRESS_P.
7755
7756 2003-04-02 Kazu Hirata <kazu@cs.umass.edu>
7757
7758 * config/h8300/h8300-protos.h: Add a prototype for
7759 gtle_operator.
7760 * config/h8300/h8300.c (gtle_operator): New.
7761 * config/h8300/h8300.h (PREDICATE_CODES): Add an entry for
7762 gtle_operator.
7763 * config/h8300/h8300.md (a peephole2): Generalize to accept GT
7764 and LE.
7765
7766 2003-04-02 Richard Henderson <rth@redhat.com>
7767
7768 * libgcc-std.ver (_Unwind_GetCFA): New.
7769 * unwind-dw2.c (_Unwind_GetCFA): New.
7770 * unwind-libunwind.c (_Unwind_GetCFA): New.
7771 * unwind-sjlj.c (_Unwind_GetCFA): New.
7772 * unwind.h: Declare it.
7773
7774 Thu Apr 3 00:31:21 CEST 2003 Jan Hubicka <jh@suse.cz>
7775
7776 PR inline-asm/8088
7777 * i386.c (ix86_hard_regno_mode_ok): Return 0 for MMX/SSE registers
7778 when MMX/SSE is not available.
7779
7780 2003-04-02 Mike Stump <mrs@apple.com>
7781
7782 * doc/install.texi (Specific): Update pointers to apple.com.
7783
7784 Thu Apr 3 00:18:49 CEST 2003 Jan Hubicka <jh@suse.cz>
7785
7786 * i386.c (override_options): Disable red zone by default on i386.
7787 (compute_frame_layout, ix86_force_to_memory, ix86_free_from_memory):
7788 Do not test TARGET_64BIT together with TARGET_RED_ZONE
7789
7790 2003-04-02 Kazu Hirata <kazu@cs.umass.edu>
7791
7792 * config/h8300/h8300.md (a peephole2): Tighten the condition.
7793
7794 2003-04-02 Richard Henderson <rth@redhat.com>
7795
7796 * longlong.h (umul_ppmm) [alpha]: Use __builtin_alpha_umulh.
7797
7798 2003-04-02 Kazu Hirata <kazu@cs.umass.edu>
7799
7800 * config/h8300/h8300.md (a peephole2): New.
7801
7802 2003-04-02 Richard Henderson <rth@redhat.com>
7803
7804 * except.c (sjlj_find_directly_reachable_regions): Recognize when
7805 must-not-throw region has been deleted.
7806
7807 2003-04-02 Richard Henderson <rth@redhat.com>
7808
7809 * dwarf2out.c (output_call_frame_info): Ignore fde->nothrow as an
7810 optimization when flag_exceptions not enabled.
7811
7812 2003-04-02 Vladimir Makarov <vmakarov@redhat.com>
7813
7814 * config/rs6000/rs6000.c
7815 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Redefine the
7816 macros.
7817 (rs6000_issue_rate): Add case for 8540.
7818 (rs6000_use_sched_lookahead): New function.
7819
7820 * config/rs6000/8540.md: Rename SIU units into SU ones and MIU
7821 units into MU ones.
7822 (ppc8540_branch, ppc8540_cr_logical): Add one cycle in the
7823 reservation before retirement.
7824 (ppc8540_multiply, ppc8540_load, ppc8540_store,
7825 ppc8540_simple_float, ppc8540_vector_load, ppc8540_vector_store):
7826 Remove additional cycle in the reservation before retirement.
7827 (ppc8540_mfcr, ppc8540_mtcrf, ppc8540_mtjmpr): Add missed
7828 reservation of ppc8540_issue.
7829
7830 2003-04-02 Andreas Schwab <schwab@suse.de>
7831
7832 * real.c (decode_ieee_single): Fix decoding of SNaN bit.
7833
7834 2003-04-01 Richard Henderson <rth@redhat.com>
7835
7836 * except.c (convert_from_eh_region_ranges_1): Smash REG_EH_REGION
7837 notes for nothrow calls if flag_forced_unwind_exceptions.
7838 (build_post_landing_pads): Mind flag_forced_unwind_exceptions.
7839 (sjlj_find_directly_reachable_regions): Likewise.
7840 (reachable_handlers): Likewise.
7841 (can_throw_external): Likewise.
7842 (collect_one_action_chain): Record cleanups after catch-all and
7843 must-not-throw if flag_forced_unwind_exceptions.
7844 * flags.h (flag_forced_unwind_exceptions): Declare.
7845 * toplev.c (flag_forced_unwind_exceptions): New.
7846 (lang_independent_options): Add it.
7847 * doc/invoke.text: Add it.
7848
7849 2003-04-01 David Mosberger <davidm@hpl.hp.com>
7850
7851 * config/ia64/crti.asm: Clean up trailing whitespace.
7852 Remove trailing hashes (#) from identifiers.
7853
7854 * config/ia64/crtn.asm: Ditto.
7855
7856 * config/ia64/crtend.asm: Remove trailing hashes (#) from
7857 identifiers.
7858 (__do_global_ctors_aux): Align to 32-byte boundary. Add unwind
7859 directives. Drop explicit bundling---it just makes the code
7860 harder to read. Don't save/restore gp needlessly.
7861
7862 * config/ia64/crtbegin.asm: Remove trailing hashes (#) from
7863 identifiers (they're only needed if the identifier would clash
7864 with a register name otherwise).
7865 (__do_global_dtors_aux): Align to 32-byte boundary. Add unwind
7866 directives. Drop explicit bundling---it just makes the code
7867 harder to read.
7868 (__do_jv_register_classes): Ditto.
7869 (.fini_array): Remove "progbits" (newer
7870 assemblers don't like wrong section-types).
7871 (.init_array): Ditto.
7872
7873 2003-04-01 Roger Sayle <roger@eyesopen.com>
7874
7875 PR fortran/9974
7876 * gcse.c (reg_killed_on_edge): New function to test whether the
7877 given reg is overwritten by any instruction queued on an edge.
7878 (bypass_block): Ignore substitutions killed on incoming edges.
7879 Don't bypass outgoing edges that have queued instructions.
7880
7881 2003-04-01 Alexandre Oliva <aoliva@redhat.com>
7882
7883 * real.h (EXP_BITS): Make room for...
7884 (struct real_value): ... added canonical bit.
7885 (struct real_format): Added pnan.
7886 (mips_single_format, mips_double_format, mips_extended_format,
7887 mips_quad_format): New.
7888 * real.c: Copy p to pnan in all formats.
7889 (get_canonical_qnan, get_canonical_snan): Set canonical bit.
7890 (real_nan): Use pnan to compute significand's shift.
7891 (real_identical): Disregard significand in canonical
7892 NaNs.
7893 (real_hash): Likewise. Take signalling into account.
7894 (encode_ieee_single, encode_ieee_double, encode_ieee_quad):
7895 Disregard significand bits in canonical NaNs. Set all bits of
7896 canonical NaN if !qnan_msb_set.
7897 (encode_ibm_extended, decode_ibm_extended): Likewise. Use
7898 qnan_msb_set to tell the base double format.
7899 (ibm_extended_format): Use 53 as pnan.
7900 (mips_single_format, mips_double_format, mips_extended_format,
7901 mips_quad_format): Copied from the corresponding ieee/ibm
7902 formats, with qnan_msb_set false.
7903 * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Use mips_extended_format.
7904 * config/mips/linux64.h (MIPS_TFMODE_FORMAT): Use mips_quad_format.
7905 * config/mips/mips.c (override_options): Use mips_single_format
7906 and mips_double_format. Default TFmode to mips_quad_format.
7907 * config/mips/t-linux64 (tp-bit.c): Define QUIET_NAN_NEGATED.
7908 * config/mips/t-irix6: Likewise.
7909 * config/mips/t-mips (fp-bit.c, dp-bit.c): Likewise.
7910 * config/fp-bit.c (pack_d, unpack_d): Obey it.
7911
7912 2003-04-01 Geoffrey Keating <geoffk@apple.com>
7913
7914 * unwind-dw2-fde-darwin.c (DESTRUCTOR_MAY_BE_CALLED_LIVE): New.
7915 (live_image_destructor): Reset image to initial state.
7916 (examine_objects): Set DESTRUCTOR_MAY_BE_CALLED_LIVE.
7917
7918 2003-04-01 Eric Botcazou <ebotcazou@libertysurf.fr>
7919
7920 * config/sparc/sparc.c (input_operand): Accept bare
7921 CONSTANT_P_RTX operands.
7922
7923 2003-04-01 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7924
7925 * gcse.c (struct ls_expr): Added pattern_regs field.
7926 (ldst_entry): Initialize it.
7927 (extract_mentioned_regs, extract_mentioned_regs_helper): New.
7928 (store_ops_ok): Use regs precomputed by them.
7929 (find_loads, store_killed_in_insn, load_kills_store): Change return
7930 type to bool.
7931 (store_killed_before, store_killed_after): Take position of register
7932 set in account.
7933 (reg_set_info): Store position of the setter.
7934 (gcse_main): Enable store motion.
7935 (mems_conflict_for_gcse_p): Enable load motion of non-symbol mems.
7936 (pre_insert_copy_insn, update_ld_motion_stores, insert_store): Prevent rtl
7937 sharing.
7938 (simple_mem): Enable store motion of non-symbol mems.
7939 (regvec): Type changed.
7940 (LAST_AVAIL_CHECK_FAILURE): New.
7941 (compute_store_table_current_insn): New.
7942 (build_store_vectors): Computation of availability and anticipatability
7943 moved ...
7944 (compute_store_table, find_moveable_store): ... here.
7945 (delete_store): Remove senseless comment.
7946 (store_motion): Reorganize.
7947
7948 2003-04-01 Kevin Buettner <kevinb@redhat.com>
7949
7950 * config/mips/mips.c (override_options): Provide mappings for
7951 HI_REGNUM and LO_REGNUM.
7952 * config/mips/mips.h (MD_DBX_FIRST): Define.
7953
7954 2003-04-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
7955
7956 * combine.c (merge_outer_ops): Fix typo.
7957
7958 * varasm.c (make_decl_one_only): Revert 2003-03-09 patch.
7959
7960 2003-04-01 David Edelsohn <edelsohn@gnu.org>
7961
7962 * config/rs6000/{40x.md,603.md,6xx.md,7450.md,7xx.md,mpc.md,
7963 power4.md,rios1.md,rios2.md,rs64.md}: Change mult_compare to
7964 imul_compare. Add lmul_compare.
7965 * config/rs6000/power4.md: Bump some latencies. Model extra cycle
7966 in second pair of dispatch slots. Model stores more accurately.
7967 Tweak multiply model. Add bypasses for CR instructions dependent
7968 on complicated compares.
7969 * config/rs6000/rs6000.md (mulsi3): Name imul_compare patterns.
7970 (muldi3): Add lmul_compare patterns.
7971 * config/rs6000/rs6000.c (rs6000_variable_issue): Move FPLOAD_UX
7972 and FPSTORE_UX to split instructions and add COMPARE,
7973 DELAYED_COMPARE, IMUL_COMPARE, LMUL_COMPARE, IDIV, LDIV.
7974 (rs6000_adjust_cost): Add IMUL_COMPARE and LMUL_COMPARE.
7975 (rs6000_rtx_costs): Separate POWER4 multiply case.
7976
7977 2003-04-01 Ulrich Weigand <uweigand@de.ibm.com>
7978
7979 * config/s390/s390.c (s390_fixup_clobbered_return_reg):
7980 Do nothing if __builtin_return_address was not used.
7981
7982 Tue Apr 1 18:18:23 CEST 2003 Jan Hubicka <jh@suse.cz>
7983
7984 * i386.md (test patterns): Allow memory operand in operand1.
7985
7986 2003-02-31 Aldy Hernandez <aldyh@redhat.com>
7987
7988 * testsuite/gcc.c-torture/execute/simd-3.c: New.
7989
7990 * expr.c (expand_expr): Handle VECTOR_CST.
7991 (const_vector_from_tree): New.
7992
7993 * varasm.c (output_constant): Handle VECTOR_CST.
7994
7995 * c-typeck.c (digest_init): Build a vector constant from a
7996 VECTOR_TYPE.
7997
7998 * config/rs6000/rs6000.c: Remove prototype for
7999 easy_vector_constant.
8000 (easy_vector_constant): Add mode parameter. Rewrite to handle
8001 more easy constants.
8002 (rs6000_emit_move): Pass mode to easy_vector_constant.
8003 Call emit_easy_vector_insn for SPE V2SI vector constant moves.
8004 (emit_easy_vector_insn): New.
8005 (easy_vector_same): New.
8006 (EASY_VECTOR_15): New macro.
8007 (EASY_VECTOR_15_ADD_SELF): New macro.
8008 (bdesc_2arg): Rename to xorv2si3.
8009 (easy_vector_constant_add_self): New.
8010 (input_operand): Allow vector constants.
8011
8012 * config/rs6000/rs6000.h (PREDICATE_CODES): Add
8013 easy_vector_constant, easy_vector_constant_add_self.
8014 (EXTRA_CONSTRAINT): Add 'W'.
8015
8016 * config/rs6000/rs6000-protos.h: Add prototype for
8017 easy_vector_constant, emit_easy_vector_insn.
8018
8019 * config/rs6000/altivec.md (xorv8hi3): New.
8020 (xorv16qi3): New.
8021 Remove all _const0 patterns.
8022 (movv4si_internal): Rewrite to use code. Add vector constant to
8023 vector alternative. Add splitter.
8024 (movv8hi_internal): Same.
8025 (movv16qi_internal): Same.
8026 (movv4sf_internal): Same.
8027 Change the unspecs for vspltis* to use constants.
8028
8029 * config/rs6000/spe.md ("xorv4hi3"): New.
8030 ("spe_evxor"): Rename to xorv2si3.
8031 ("xorv1di3"): New.
8032 Remove all _const0 patterns.
8033 (movv2si_internal): Rewrite to use code. Add vector constant to
8034 alternatives. Add splitter.
8035 (movv4hi_internal): Add vector constant to alternatives.
8036 (movv1di_internal): Same.
8037 (movv2sf_internal): Same.
8038
8039 2003-03-31 Mark Mitchell <mark@codesourcery.com>
8040
8041 PR c/9936
8042 * c-decl.c (grokdeclarator): Clear SAVE_EXPR_CONTEXT for
8043 variably-sized arrays in parameters.
8044 (set_save_expr_context): New function.
8045 (c_expand_body): Use it, via walk_tree.
8046
8047 2003-03-31 Eric Christopher <echristo@redhat.com>
8048
8049 * combine.c (can_combine_p): Allow ZERO_EXTRACT and STRICT_LOW_PART.
8050 (combinable_i3pat): Remove call to expand_field_assignment and
8051 #if 0'd code.
8052
8053 2003-03-31 Mark Mitchell <mark@codesourcery.com>
8054
8055 PR c++/10278
8056 * c-common.c (finish_label_address_expr): Handle the
8057 error_mark_node.
8058
8059 2003-03-31 Richard Henderson <rth@redhat.com>
8060
8061 * real.c (real_identical): Reorg so as to not compare
8062 signalling for normals.
8063
8064 2003-03-31 Stephane Carrez <stcarrez@nerim.fr>
8065
8066 * config/m68hc11/m68hc11.c (hard_reg_operand): Check the mode.
8067
8068 2003-03-31 Stephane Carrez <stcarrez@nerim.fr>
8069
8070 * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Don't rely on REG_WAS_0
8071 notes as they are boggus.
8072 (m68hc11_gen_movqi): Likewise.
8073
8074 2003-03-31 Stephane Carrez <stcarrez@nerim.fr>
8075
8076 * config/m68hc11/m68hc11.c (expand_prologue): For an interrupt handler
8077 save the soft registers after the frame pointer so that gdb can unwind
8078 the frame more easily.
8079 (expand_epilogue): Likewise in opposite order; allow to use X register
8080 as scratch if the return value is by reference.
8081
8082 2003-03-31 Jason Merrill <jason@redhat.com>
8083
8084 PR java/10145
8085 * stor-layout.c (update_alignment_for_field): Respect
8086 DECL_USER_ALIGN for zero-length bitfields, too.
8087 * c-decl.c (finish_struct): Don't set DECL_ALIGN for normal
8088 fields.
8089
8090 2003-03-31 Matt Austern <austern@apple.com>
8091
8092 * cpppch.c (struct cpp_savedstate): Add defs and n_defs members.
8093 (count_defs): Keep track of number of defs as well as total size.
8094 (write_defs): Put every definition in cpp_savedstate's defs array.
8095 (comp_hashnode): Define. Comparison function for qsort.
8096 (cpp_write_pch_deps): Sort definitions before writing them.
8097 (struct ht_node_list): Define. Like cpp_savedstate but simpler.
8098 (collect_ht_nodes): Define.
8099 (cpp_valid_state): When verifying that undefined identifiers in
8100 the pch file are still undefined, read a sorted list of undefined
8101 identifiers, collect all defined identifiers into a sorted list,
8102 and walk through both lists to make sure there's no match.
8103
8104 2003-03-31 Kazu Hirata <kazu@cs.umass.edu>
8105
8106 * config/h8300/h8300.md (a peephole2): New.
8107
8108 2003-03-31 Michael Matz <matz@suse.de>
8109
8110 * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Change 1 into 0.
8111
8112 2003-03-31 Segher Boessenkool <segher@koffie.nl>
8113
8114 PR target/10177
8115 * config/rs6000/rs6000.h (HARD_REGNO_RENAME_OK): New.
8116 * config/rs6000/rs6000.c (compute_vrsave_mask): Don't mark
8117 all call-clobbered registers as used.
8118
8119 2003-03-31 Michael Matz <matz@suse.de>
8120
8121 * cppexp.c (cpp_classify_number): Accept '.' after "0x".
8122 * testsuite/gcc.dg/cpp/c99-hexfloat-3.c: New file.
8123
8124 2003-03-31 Nathan Sidwell <nathan@codesourcery.com>
8125
8126 * gcov.c: Add -a & -u options.
8127 (struct arc_info): Add local_span, is_call_non_return,
8128 is_nonlocal_return, is_unconditional flags, remove is_call flag.
8129 (struct block_info): Add flags, is_call_site, is_nonlocal_return
8130 members. Make encodings a union with span member.
8131 (struct function_info): Add blocks_executed, line, src, line_next
8132 members.
8133 (struct coverage_info): Make branches a union with blocks member.
8134 (struct source_info): Add functions member.
8135 (object_summary, program_count): New global variables.
8136 (flag_all_blocks, flag_unconditional): New flags.
8137 (find_source, output_branch_count): New functions.
8138 (print_usage): Adjust.
8139 (options): Adjust.
8140 (process_args): Adjust.
8141 (read_graph_file) <GCOV_TAG_FUNCTION>: Adjust.
8142 <GCOV_TAG_BLOCKS>: Read flags.
8143 <GCOV_TAG_LINES>: Adjust.
8144 (read_count_file): Process SUMMARY tags.
8145 (solve_flow_graph): Set is_unconditional and clear is_call_site
8146 appropriately.
8147 (add_branch_counts): Adjust. Don't count unconditional branches.
8148 (add_line_counts): Deal with all-blocks mode, accumulate block
8149 coverage.
8150 (accumulate_line_counts): Adjust, generate local spanning tree for
8151 all-blocks mode.
8152 (output_lines): Adjust.
8153 * profile.c (branch_prob): Alter GCOV_FUNCTION_TAG record.
8154 * doc/gcov.texi: Document.
8155
8156 2003-03-31 Kazu Hirata <kazu@cs.umass.edu>
8157
8158 * config/h8300/h8300.md: Organize peephole2's that transform
8159 (compare (reg:HI) (const_int)).
8160
8161 2003-03-31 Roger Sayle <roger@eyesopen.com>
8162
8163 * emit-rtl.c (dconstm2, dconsthalf): New real constants.
8164 (init_emit_once): Initialize dconstm2 and dconsthalf here.
8165 * real.h (dconstm2, dconsthalf): Add prototypes here.
8166 * real.c (real_sqrt): Use dconsthalf rather than local copy.
8167 * builtins.c (fold_builtin): When optimizing sqrt(exp(x)) as
8168 exp(x/2.0) remember to fold the division if possible.
8169 Fold sin(0.0) as 0.0, cos(0.0) as 1.0, pow(x,1.0) as x,
8170 pow(x,-1.0) as 1.0/x, pow(x,2.0) as x*x, pow(x,-2.0) as
8171 1.0/(x*x) and pow(x,0.5) as sqrt(x).
8172
8173 2003-03-31 Kazu Hirata <kazu@cs.umass.edu>
8174
8175 * config/h8300/h8300.md (a new peephole2): New.
8176
8177 2003-03-31 Richard Sandiford <rsandifo@redhat.com>
8178
8179 * gcse.c (simple_mem): Return false for floating-point accesses
8180 if flag_float_store is true.
8181
8182 2003-03-30 Roger Sayle <roger@eyesopen.com>
8183
8184 * gcse.c (gcse_constant_p): New function to identify constants
8185 suitable for constant propagation, including COMPARE with two
8186 integer constant arguments.
8187 (hash_scan_set): Use gcse_constant_p.
8188 (find_avail_set): Likewise.
8189 (cprop_insn): Likewise.
8190 (do_local_cprop): Likewise.
8191 (find_implicit_sets): Likewise.
8192 (find_bypass_set): Likewise.
8193
8194 2003-03-30 Matt Kraai <kraai@alumni.cmu.edu>
8195
8196 * except.h: Remove definition of varray_type.
8197
8198 2003-03-30 Richard Henderson <rth@redhat.com>
8199
8200 PR opt/10011, opt/10252:
8201 * toplev.c (rest_of_compilation): Run purge_builtin_constant_p
8202 before post-gcse cse pass.
8203
8204 2003-03-30 Roger Sayle <roger@eyesopen.com>
8205
8206 * dojump.c (do_jump): Copy SUBREGs into a pseudo for comparison.
8207
8208 2003-03-30 DJ Delorie <dj@redhat.com>
8209
8210 * profile.c (instrument_edges): Make sure any newly created
8211 jump insns have correct jump label info.
8212
8213 2003-03-30 Richard Henderson <rth@redhat.com>
8214
8215 * cfgbuild.c (make_edges): Use tablejump_p.
8216 * cfgcleanup.c (label_is_jump_target_p): Likewise.
8217 * cfglayout.c (cfg_layout_can_duplicate_bb_p): Likewise.
8218 * cfgrtl.c (flow_delete_block_noexpunge): Likewise.
8219 (try_redirect_by_replacing_jump): Likewise.
8220 (redirect_edge_and_branch): Likewise.
8221 * cse.c (fold_rtx): Likewise.
8222 * jump.c (delete_related_insns): Likewise.
8223 * rtlanal.c (get_jump_table_offset): Likewise.
8224 * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): Likewise.
8225
8226 2003-03-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
8227
8228 * Makefile.in (STRICT_WARN): Don't warn for ISO C constructs.
8229 (STRICT2_WARN): Likewise.
8230
8231 2003-03-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8232
8233 PR other/6955
8234 * collect2.c (collect_wait): Use WCOREDUMP and fix output message.
8235 * system.h (WCOREDUMP, WCOREFLG): Define if necessary.
8236
8237 2003-03-30 Richard Henderson <rth@redhat.com>
8238
8239 PR c/10083
8240 * config/alpha/alpha.md (umuldi3_highpart): Change to expander;
8241 don't zero_extend const inputs.
8242
8243 2003-03-30 Kazu Hirata <kazu@cs.umass.edu>
8244
8245 * reload1.c (reload_cse_move2add): Fix a comment typo.
8246
8247 2003-03-30 Kazu Hirata <kazu@cs.umass.edu>
8248
8249 * config/h8300/h8300.md (a peephole2): Remove useless code.
8250
8251 2003-03-29 Kazu Hirata <kazu@cs.umass.edu>
8252
8253 * config/h8300/h8300.md (*iorsi3_and_ashift): New.
8254 (*iorsi3_and_lshiftrt): Likewise.
8255 (*iorsi3_zero_extract): Likewise.
8256
8257 2003-03-29 Kazu Hirata <kazu@cs.umass.edu>
8258
8259 * config/h8300/h8300.md (*insv_si_8_8): New.
8260 (*insv_si_8_8_lshiftrt_8): Likewise.
8261 (a peephole2): Likewise.
8262
8263 2003-03-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
8264
8265 * doc/contrib.texi: Add Eric Botcazou and Roger Sayle.
8266 Uniformly use bugfix instead of bug fix.
8267
8268 2003-03-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
8269
8270 PR doc/895
8271 * ONEWS: Remove those items that already appear in the EGCS
8272 release notes on our web pages.
8273
8274 2003-03-29 Alan Modra <amodra@bigpond.net.au>
8275
8276 * config/rs6000/rs6000.h (FUNCTION_VALUE_REGNO_P): Respect
8277 TARGET_HARD_FLOAT. Reformat.
8278 (FUNCTION_ARG_REGNO_P): Likewise, and remove unneeded casts.
8279
8280 2003-03-28 Albert Chin-A-Young <china@thewrittenword.com>
8281
8282 * gcc/fixinc/inclhack.def: Update solaris_mutex_init_1 to
8283 work on Solaris 2.5.1.
8284
8285 2003-03-28 Kazu Hirata <kazu@cs.umass.edu>
8286
8287 * config/h8300/h8300.md (*addsi3_and_r_1): Put under plus:SI
8288 section of h8300.md
8289 (*addsi3_and_nor_r_1): Likewise.
8290
8291 2003-03-29 Ulrich Weigand <uweigand@de.ibm.com>
8292
8293 * config/s390/s390.c (s390_emit_prologoue): Make sure backchain is
8294 set up before any trapping memory access if flag_non_call_exceptions.
8295
8296 2003-03-29 Alan Modra <amodra@bigpond.net.au>
8297
8298 * reload1.c (reload_as_needed): Allow a USE in asm reloads.
8299
8300 * loop.c: (find_mem_in_note_1, find_mem_in_note): Comment.
8301
8302 2003-03-28 Nathanael Nerode <neroden@gcc.gnu.org>
8303
8304 * configure.in: Clarify comments.
8305 * configure: Regenerate.
8306
8307 2003-03-28 Ulrich Weigand <uweigand@de.ibm.com>
8308
8309 * config/s390/s390.md ("literal_pool_31"): Output pool anchor
8310 label even if pool empty when generating PIC.
8311 ("literal_pool_31", "literal_pool_64"): Coding style cleanup.
8312
8313 2003-03-28 Kazu Hirata <kazu@cs.umass.edu>,
8314 Dhananjay Deshpande <dhananjayd@kpit.com>
8315
8316 PR target/10205
8317 * config/h8300/h8300.c (h8300_initial_elimination_offset):
8318 Correct the offset computation when TARGET_NORMAL.
8319
8320 2003-03-28 Eric Botcazou <ebotcazou@libertysurf.fr>
8321
8322 PR target/10067
8323 * config/sparc/sparc.md (jump pattern): Correct order
8324 when issuing the annuling marker.
8325
8326 2003-03-28 Eric Botcazou <ebotcazou@libertysurf.fr>
8327
8328 PR c/8281
8329 * config/sparc/sparc.md (movdi_insn_sp32_v9): Remove 'f-f' alternative.
8330 (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
8331
8332 2003-03-28 Alan Modra <amodra@bigpond.net.au>
8333
8334 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): Remove unnecessary
8335 globalize_label.
8336 * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
8337 * config/i960/i960.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
8338 * config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
8339 * config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
8340 * config/mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
8341 * config/sparc/sparc.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
8342 * config/v850/v850.c (v850_output_aligned_bss): Likewise.
8343
8344 2003-03-28 Alan Modra <amodra@bigpond.net.au>
8345
8346 * loop.c: (find_mem_in_note_1, find_mem_in_note): New functions.
8347 (replace_loop_mems): Add "written" param. Remove invalid REG_EQUAL
8348 notes after hoisting.
8349 (load_mems): Adjust replace_loop_mems call.
8350
8351 2003-03-28 Eric Botcazou <ebotcazou@libertysurf.fr>
8352 Richard Henderson <rth@redhat.com>
8353
8354 PR target/10114 and PR target/10084
8355 * dwarf2out.c (mem_loc_descriptor): Handle LO_SUM.
8356
8357 2003-03-27 Richard Henderson <rth@redhat.com>
8358
8359 * config/alpha/alpha.md (adddi_er_high_l): Valid only after reload.
8360
8361 2003-03-27 Roger Sayle <roger@eyesopen.com>
8362
8363 * fold-const.c (fold_inf_compare): New function to simplify FP
8364 comparisons against +Infinity or -Infinity.
8365 (fold): Optimize floating point comparisons against Infs and NaNs.
8366
8367 2003-03-27 Janis Johnson <janis187@us.ibm.com>
8368
8369 * libgcov.c: Provide only dummy functions if libc is not available.
8370
8371 2003-03-27 Richard Henderson <rth@redhat.com>
8372
8373 * real.h (struct real_value): Add signalling.
8374 (EXP_BITS): Decrement.
8375 * real.c (get_canonical_qnan): Don't set MSB-1.
8376 (get_canonical_snan): Likewise. Set signalling.
8377 (real_identical): Compare signalling.
8378 (round_for_format): Remove force-one-bit on code.
8379 (real_nan): Likewise. Set signalling.
8380 (encode_ieee_single): Add force-one-bit code; honor signalling.
8381 (encode_ieee_double, encode_ieee_extended, encode_ieee_quad): Likewise.
8382 (decode_ieee_single): Set signalling.
8383 (decode_ieee_double, decode_ieee_extended, decode_ieee_quad): Likewise.
8384
8385 2003-03-27 Olivier Hainque <hainque@act-europe.fr>
8386
8387 PR ada/9953
8388 * ada/Makefile.in (gnatlib configuration for HPUX): Split
8389 the general section for HPUX into specific sections for
8390 HPUX 10 and HPUX 11. Fix the setting of TGT_LIB in the HPUX
8391 11 case.
8392
8393 2003-03-27 Glen Nakamura <glen@imodulo.com>
8394
8395 PR opt/10087
8396 * loop.c (loop_givs_reduce): Skip bivs with duplicate locations
8397 while incrementing giv.
8398 (record_biv): Check for duplicate biv locations and
8399 set (struct induction *) v->same if found.
8400
8401 2003-03-27 David Mosberger <davidm@hpl.hp.com>
8402
8403 * unwind-libunwind.c (uw_frame_state_for): Adjust for libunwind
8404 v0.9 API change: replace read of UNW_REG_HANDLER with
8405 unw_get_proc_info().
8406 (_Unwind_GetLanguageSpecificData): Replace read of UNW_REG_LSDA
8407 with unw_get_proc_info().
8408 (_Unwind_GetRegionStart): Replace UNW_REG_PROC_START with
8409 unw_get_proc_info().
8410
8411 2003-03-27 Vladimir Makarov <vmakarov@redhat.com>
8412
8413 * config/rs6000/8540.md: Use presence_set instead of absence_set.
8414
8415 2003-03-26 Richard Henderson <rth@redhat.com>
8416
8417 * c-decl.c (finish_function): Always defer if DECL_DECLARED_INLINE_P.
8418
8419 2003-03-26 Roger Sayle <roger@eyesopen.com>
8420
8421 PR bootstrap/10051, PR bootstrap/10169.
8422 * mips-tfile.c (init_file): Don't provide a static initializer.
8423 (initialize_init_file): Initialize the contents of init_file.
8424 (add_file): Call initialize_init_file if not already initialized.
8425
8426 2003-03-26 Ulrich Weigand <uweigand@de.ibm.com>
8427
8428 * config/s390/s390.c (s390_optimize_prolog): Do not save/restore
8429 registers used for global asm variables.
8430 (s390_frame_info, s390_arg_frame_offset): Likewise.
8431 (s390_emit_prologue, s390_emit_epilogue): Likewise.
8432
8433 2003-03-26 Vladimir Makarov <vmakarov@redhat.com>
8434
8435 * config/rs6000/8540.md: New file.
8436
8437 * config/rs6000/{40x.md, 603.md, 6xx.md, 7450.md, 7xx.md, mpc.md,
8438 power4.md, rios1.md, rios2.md, rs64.md}: Add mult_compare to
8439 reservations for imul.
8440
8441 * config/rs6000/rs6000.md: Include 8540.md. Change
8442 delayed_compare onto mult_compare for insns generating
8443 multiplication.
8444 (mult_compare, fpsimple, brinc, vecdiv, veccmpsimple, vecfdiv):
8445 New type attribute values.
8446
8447 * config/rs6000/spe.md (*negsf2_gp, *abssf2_gpr): Use type
8448 fpsimple instead of fp.
8449 (*divsf3_gpr): Use type vecfdiv instead of fp.
8450 (spe_evfsabs, spe_evfsnabs, spe_evfsneg): Use type vecsimple
8451 instead of vecfloat.
8452 (spe_evfsdive): Use type vecfdiv instead of vecfloat.
8453 (spe_brinc): Use type brinc instead of veccomplex.
8454 (spe_evaddw, spe_evaddiw): Use type vecsimple instead of
8455 veccomplex.
8456 (spe_evdivws, spe_evdivwu): Use type vecdiv instead of veccomplex.
8457 (*movv2si_internal, *movv1di_internal, *movv4hi_internal,
8458 *movv2sf_internal): Define type attribute values for all
8459 alternatives.
8460 (cmpsfeq_gpr, cmpsfgt_gpr, cmpsflt_gpr): Use type veccmp instead
8461 of fpcompare.
8462 (tstsfeq_gpr, tstsfgt_gpr, tstsflt_gpr): Use type veccmpsimple
8463 instead of fpcompare.
8464
8465 2003-03-26 David Edelsohn <edelsohn@gnu.org>
8466
8467 * config/rs6000/power4.md: Allow delay between dispatch and
8468 function units for simple instructions. Correct store units.
8469 Allow branch to occupy as many dispatch slots as necessary.
8470
8471 2003-03-26 Jakub Jelinek <jakub@redhat.com>
8472
8473 * config/ia64/ia64.c (ia64_expand_op_and_fetch): Fix comment.
8474 (ia64_expand_compare_and_swap): Use always DImode ar.ccv,
8475 zero extend old to it.
8476 * config/ia64/ia64.md (cmpxchg_acq_si): Remove mode from ccv
8477 operand.
8478
8479 2003-03-26 Eric Botcazou <ebotcazou@libertysurf.fr>
8480
8481 PR target/7784
8482 * reload.c (find_reloads_address): Handle
8483 (PLUS (PLUS (REG) (REG)) (CONST_INT)) form for
8484 all base registers.
8485
8486 2003-03-25 Marcelo Abreu <mmabreu@inf.ufrgs.br>
8487
8488 PR other/10203
8489 * version.c: Reference the GCC web site in the URL.
8490
8491 2003-03-26 Alan Modra <amodra@bigpond.net.au>
8492
8493 * c-incpath.c (add_standard_paths): Add both "translated" and
8494 non-translated header paths.
8495
8496 2003-03-25 Loren James Rittle <ljrittle@acm.org>
8497
8498 * doc/install.texi (*-*-freebsd*): Update with known status.
8499
8500 2003-03-21 Jason Merrill <jason@redhat.com>
8501
8502 PR optimization/10171
8503 * unroll.c (unroll_loop): Don't delete the jump at the end unless
8504 we also delete a jump at the beginning.
8505
8506 2003-03-25 Stephane Carrez <stcarrez@nerim.fr>
8507
8508 * doc/contrib.texi (Contributors): Mention self as 68HC11/68HC12
8509 contributor.
8510
8511 Tue Mar 25 20:35:51 CET 2003 Jan Hubicka <jh@suse.cz>
8512
8513 * i386.c (ix86_rtx_costs): For -fpic and x86-64 local symbolic
8514 constants are not expensive.
8515
8516 Mon Mar 24 20:03:03 CET 2003 Jan Hubicka <jh@suse.cz>
8517
8518 PR opt/10056
8519 * cfglayout.c (fixup_reorder_chain): Fix dealing with the conditional
8520 jump jumping to the next instruction.
8521 * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
8522
8523 2003-03-25 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
8524
8525 * doc/passes.texi (Passes): Properly document that we do not
8526 perform jump2 any longer; remove command-line option -dJ.
8527
8528 2003-03-25 Eric Botcazou <ebotcazou@libertysurf.fr>
8529
8530 PR optimization/8746
8531 * config/i386/i386.md (and promoting splitters): Disable HImode to
8532 SImode promoting when the sign bit matters and is not preserved, or
8533 when TARGET_FAST_PREFIX is true. Disable promoting when optimizing
8534 for size.
8535
8536 2003-03-24 Kazu Hirata <kazu@cs.umass.edu>
8537
8538 * config/h8300/h8300.md (a peephole2): Extend to support loads
8539 in QImode and HImode.
8540
8541 2003-03-24 Stephane Carrez <stcarrez@nerim.fr>
8542
8543 * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Add _call_far and
8544 _return_far
8545 (MULTILIB_OPTIONS): Don't multilib on -mlong-calls.
8546 (MULTILIB_EXCEPTIONS): Likewise.
8547 * config/m68hc11/m68hc11.md ("call"): Support far calls for 68HC11
8548 by calling some board support routine.
8549 ("call_value"): Likewise.
8550 ("*return_void"): Likewise for return.
8551 ("*return_16bit"): Likewise.
8552 ("*return_32bit"): Likewise.
8553 * config/m68hc11/m68hc11.h (ASM_DECLARE_FUNCTION_NAME): Generate .far
8554 for 68HC11 too.
8555 (DWARF2_ADDR_SIZE): Use 4 so that addresses can
8556 * config/m68hc11/m68hc11.c (m68hc11_override_options): Accept
8557 -mlong-calls for 68HC11.
8558 * config/m68hc11/larith.asm (declare_near): New macro.
8559 (__premain, ___negsi2, ___one_cmplsi2, ___ashlsi3): Use it.
8560 (___ashrsi3, ___lshrsi3, ___lshrhi3, ___lshlhi3): Likewise.
8561 (___rotrhi3, ___rotlhi3, ___ashrhi3, ___ashrqi3): Likewise.
8562 (___lshlqi3, __divmodhi4, ___mulqi3, ___mulhi3): Likewise.
8563 (__mulhi32): Likewise.
8564 (ret): Update macro for 68HC11.
8565 (__far_trampoline): Implement for 68HC11.
8566 (__call_a16, __call_a32, __return_void, __return_16): New support
8567 routines for 68HC11 memory bank switching calling support.
8568 (__return_32): Likewise.
8569
8570 2003-03-24 Neil Booth <neil@daikokuya.co.uk>
8571
8572 * toplev.c (independent_decode_option): Don't skip a 'Y' prefix.
8573
8574 2003-03-24 Janis Johnson <janis187@us.ibm.com>
8575
8576 * doc/install.texi (Testing): Mention test result links from build
8577 status pages.
8578
8579 2003-03-24 Mark Mitchell <mark@codesourcery.com>
8580
8581 * function.c (put_var_into_stack): Change bool parameter to int.
8582 (gen_mem_addressof): Likewise.
8583 * rtl.h (gen_mem_addressof): Likewise.
8584 * tree.h (put_var_into_stack): Likewise.
8585 * config/alpha/alpha.c (alpha_gp_save_rtx): Adjust call to
8586 gen_mem_addressof or put_var_into_stack.
8587 * config/c4x/c4x.c (c4x_expand_builtin): Likewise.
8588 * config/ia64/ia64.c (spill_tfmode_operand): Likewise.
8589
8590 2003-03-24 Kazu Hirata <kazu@cs.umass.edu>
8591
8592 * config/h8300/h8300.md (a peephole2): New.
8593
8594 2003-03-24 Jakub Jelinek <jakub@redhat.com>
8595
8596 * dojump.c (do_jump): Handle UNSAVE_EXPR specially.
8597
8598 2003-03-24 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
8599
8600 * doc/contrib.texi (Contributors): Update Janis Johnson.
8601
8602 2003-03-23 Eric Botcazou <ebotcazou@libertysurf.fr>
8603
8604 PR target/10072
8605 * combine.c (simplify_if_then_else): Check that the mode
8606 has MODE_INT class before applying the (OP Z (mult COND C2))
8607 transformation.
8608
8609 2003-03-23 Eric Botcazou <ebotcazou@libertysurf.fr>
8610
8611 PR optimization/9414
8612 * config/sparc/sparc.md (widening peepholes): Use
8613 widen_memory_access instead of change_address.
8614
8615 2003-03-23 Mark Mitchell <mark@codesourcery.com>
8616
8617 PR c++/7086
8618 * c-typeck.c (c_mark_addressable): Adjust calls to
8619 put_var_into_stack.
8620 * expr.c (expand_expr): Likewise.
8621 * function.c (put_var_into_stack): Add rescan parameter. Do not
8622 call fixup_var_refs when rescan is false.
8623 (gen_mem_addressof): Likewise.
8624 (assign_parms): Adjust calls to put_var_into_stack.
8625 (setjmp_protect): Likewise.
8626 (setjmp_protect_args): Likewise.
8627 * rtl.h (gen_mem_addressof): Change prototype.
8628 * stmt.c (expand_decl): Adjust calls to put_var_into_stack.
8629 * tree.h (put_var_into_stack): Change prototype.
8630
8631 2003-03-23 Arpad Beszedes <beszedes@cc.u-szeged.hu>
8632
8633 PR middle-end/9967
8634 * builtins.c (expand_builtin_fputs): When optimizing for size,
8635 don't transform fputs into fwrite.
8636
8637 2003-03-23 Glen Nakamura <glen@imodulo.com>
8638
8639 PR c/8224
8640 * fold-const.c (extract_muldiv_1): Don't pass through type conversions
8641 when signedness changes for division or modulus.
8642
8643 2003-03-24 Alan Modra <amodra@bigpond.net.au>
8644
8645 * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Remove unnecessary
8646 globalize_label.
8647
8648 2003-03-23 Roger Sayle <roger@eyesopen.com>
8649
8650 PR c/10178
8651 * stmt.c (expand_end_case_type): Check for overflow in range when
8652 determining whether to use a bit-test implementation.
8653
8654 2003-03-23 Richard Henderson <rth@redhat.com>
8655
8656 * cfgcleanup.c (try_optimize_cfg): Allow merging of tablejumps
8657 before flow2.
8658 * cfgrtl.c (try_redirect_by_replacing_jump): Similarly.
8659
8660 2003-03-23 Richard Henderson <rth@redhat.com>
8661
8662 PR opt/10116
8663 * ifcvt.c (find_if_block): Disallow tablejump insns outgoing
8664 from then_bb or else_bb after flow2.
8665
8666 2003-03-23 Zack Weinberg <zack@codesourcery.com>
8667
8668 * configure.in: Check whether it is necessary to link against
8669 libm to use ldexp.
8670 * configure: Regenerate.
8671 * Makefile.in: Add LDEXP_LIB substitution variable.
8672
8673 2003-03-23 Kazu Hirata <kazu@cs.umass.edu>
8674
8675 * config/h8300/h8300.md: Fix comment typos.
8676
8677 2003-03-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8678
8679 * pa.c (output_cbranch): Fix typo in comment.
8680
8681 2003-03-22 Richard Henderson <rth@redhat.com>
8682
8683 * cfgcleanup.c (insns_match_p): Do not do EQUIV substitution
8684 after reload.
8685
8686 2003-03-22 DJ Delorie <dj at redhat dot com>,
8687 Bruce Korb <bkorb at gnu dot org>
8688
8689 * fixinc/inclhack.def (solaris_mutex_init_1): New; Fix
8690 buggy Solaris 2.6 mutex/cond initializers.
8691 (solaris_mutex_init): Rename to solaris_mutex_init_2.
8692 * fixinc/fixincl.x: Regenerate.
8693 * fixinc/tests/base/pthread.h: Update.
8694 * fixinc/fixincl.c(initialize): be explicit about the default case
8695 and indicate verbose level when being very, very verbose.
8696 * fixinc/check.tpl(VERBOSE): provide a means for passing the value in
8697
8698 2003-03-22 Andreas Jaeger <aj@suse.de>
8699
8700 * config/i386/i386.c (ix86_init_machine_status): Return value.
8701
8702 2003-03-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8703
8704 * pa.c (output_cbranch, output_bb, output_bvb): Output nop for
8705 conditional branch to the following instruction. Use next_real_insn
8706 instead of next_active_insn.
8707 (output_dbra, output_movb, jump_in_call_delay): Use next_real_insn
8708 instead of next_active_insn.
8709
8710 2003-03-22 Ulrich Weigand <uweigand@de.ibm.com>
8711
8712 * config/s390/s390.md ("movti", "*movdi_31", "*movdf_31"): Use 'o'
8713 instead of 'm' constraint in forced-split alternatives.
8714 ("*adddi3_31", "*subdi3_31"): Likewise. Also, pass 0 instead of 1 as
8715 VALIDATE_ADDRESS parameter to operand_subword.
8716
8717 2003-03-22 Kazu Hirata <kazu@cs.umass.edu>
8718
8719 * config/h8300/h8300.c (notice_update_cc): Correctly handle
8720 the case where the set destination is STRICT_LOW_PART.
8721
8722 2003-03-22 Svein E. Seldal <Svein.Seldal@solidas.com>
8723
8724 * config/c4x/t-c4x (INSTALL_LIBGCC): Make gcc recognize a c33 as a
8725 c30 instead of a c40 processor.
8726
8727 2003-03-22 Alan Modra <amodra@bigpond.net.au>
8728
8729 * combine.c (simplify_comparison <AND>): Use gen_int_mode. Tidy.
8730
8731 2003-03-21 Zack Weinberg <zack@codesourcery.com>
8732
8733 * c-common.c: Include intl.h.
8734 (shadow_warning): Rewrite to allow better diagnostic translations.
8735 * c-common.h: Update prototype of shadow_warning. Declare sw_kind enum.
8736 * c-decl.c (warn_if_shadowing): Update calls to shadow_warning;
8737 use it throughout.
8738 * Makefile.in (c-common.o): Add intl.h.
8739
8740 2003-03-21 Nathanael Nerode <neroden@gcc.gnu.org>
8741
8742 * config.gcc: Remove 'float_format'.
8743
8744 * fixproto: Define NULL and size_t in generated stdlib.h and
8745 unistd.h. Kill unused required_stdlib_h, required_unistd_h.
8746 Rearrange file generation loop for readability. Generate time.h,
8747 string.h if missing.
8748 * tsystem.h: Include <string.h>, <time.h> unconditionally.
8749 * config.gcc: Blow away POSIX defines.
8750
8751 2003-03-22 Stephane Carrez <stcarrez@nerim.fr>
8752
8753 * config/m68hc11/m68hc11.md ("call_value"): Fix trap check.
8754
8755 2003-03-22 Stephane Carrez <stcarrez@nerim.fr>
8756
8757 * config/m68hc11/m68hc11.h (ASM_DECLARE_FUNCTION_NAME): Fix typo in
8758 writing .interrupt command.
8759 * config/m68hc11/m68hc11.md ("call"): Look at the symbol to see
8760 if it's a far or near function.
8761 ("call_value"): Likewise.
8762 * config/m68hc11/m68hc11.c (m68hc11_attribute_table): Add far and
8763 near attributes.
8764 (m68hc11_handle_fntype_attribute): Accept attributes on methods.
8765 (m68hc11_override_options): Ignore -mlong-calls for 68HC11.
8766 (m68hc11_initial_elimination_offset): Set current_function_far
8767 according to attributes.
8768 (expand_prologue): Likewise.
8769 (trap_handler_symbol): New global to keep track of trap handlers.
8770 (m68hc11_encode_section_info): Mark symbol as far if needed; set
8771 trap symbol.
8772 (m68hc11_is_far_symbol): New function.
8773 (m68hc11_is_trap_symbol): New function.
8774 * config/m68hc11/m68hc11-protos.h (m68hc11_is_far_symbol): Declare.
8775 (m68hc11_is_trap_symbol): Declare.
8776
8777 2003-03-21 Jan Hubicka <jh@suse.cz>
8778
8779 * i386.c (ix86_compute_frame_layout): Recompute fast prologues
8780 only when amount of saved regs changed.
8781 (ix86_init_machine_status): Initialize use_fast_prologue_epilgoue_nregs.
8782 * i386.h (machine_function): New fields use_fast_prologue_epilgoue_nregs.
8783
8784 2003-03-21 Jan Hubicka <jh@suse.cz>
8785
8786 PR inline-asm/7916
8787 * function.c (instantiate_virtual_regs_lossage): New function.
8788 (instantiate_virtual_regs_1): Use it.
8789 (instantiate_virtual_regs): Do not continue in substition when insn has
8790 been deleted.
8791
8792 2003-03-21 Kazu Hirata <kazu@cs.umass.edu>
8793
8794 * combine.c (make_field_assignment): Fix a warning.
8795
8796 2003-03-21 Kazu Hirata <kazu@cs.umass.edu>
8797
8798 * config/h8300/h8300.md (*insv_si_1_n_lshiftrt_16): New.
8799
8800 2003-03-21 Dale Johannesen <dalej@apple.com>
8801
8802 * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Increase
8803 priority for R2 on Darwin.
8804 (HARD_REGNO_MODE_OK): Don't accept R31 for DFmode.
8805
8806 2003-03-21 Kazu Hirata <kazu@cs.umass.edu>
8807
8808 * combine.c (make_field_assignment): Remove unnecessary AND
8809 when storing into zero_extract.
8810
8811 2003-03-21 Zack Weinberg <zack@codesourcery.com>
8812
8813 * aclocal.m4 (gcc_AC_EXAMINE_OBJECT, gcc_AC_C_FLOAT_FORMAT): Delete.
8814 * configure.in: Don't call gcc_AC_C_FLOAT_FORMAT.
8815 * defaults.h: Remove reference to HOST_FLOAT_WORDS_BIG_ENDIAN
8816 in comment.
8817
8818 2003-03-21 DJ Delorie <dj@redhat.com>
8819
8820 * optabs.c (init_integral_libfuncs): Make sure we init at least up
8821 to "long long" size words.
8822
8823 2003-03-21 Ulrich Weigand <uweigand@de.ibm.com>
8824
8825 * config/s390/s390.h: Do not include fixdfdi.h on s390x.
8826 (TARGET_64BIT): Define as compile-time constant when IN_LIBGCC2.
8827 (MIN_UNITS_PER_WORD): Do not define when IN_LIBGCC2.
8828
8829 2003-03-21 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
8830
8831 PR doc-bug/9813
8832 * doc/extend.texi: Move misplaced paragraph about underscores in
8833 variables in macros.
8834
8835 2003-03-21 Eric Botcazou <ebotcazou@libertysurf.fr>
8836 Richard Henderson <rth@redhat.com>
8837
8838 PR optimization/8366
8839 * config/sparc/sparc.h: (SYMBOLIC_CONST): New macro.
8840 (GO_IF_LEGITIMATE_ADDRESS): Use it. Reject the form
8841 PIC+SYMBOLIC_CONST in other modes than Pmode.
8842 (GO_IF_MODE_DEPENDENT_ADDRESS): Use it. Mark
8843 the form PIC+SYMBOLIC_CONST as mode dependent.
8844
8845 2003-03-21 DJ Delorie <dj@redhat.com>
8846
8847 * config/stormy16/stormy16.c (xstormy16_expand_arith): Make
8848 sure we always emit at least one insn.
8849
8850 2003-03-21 Christopher Faylor <cgf@redhat.com>
8851
8852 * config.gcc (i[34567]86-*-cygwin*): Use new common makefile
8853 stub t-cygming. Use common target header cygming.h. Add extra
8854 c_target_obj and cxx_target_obj file. Default cygwin to posix
8855 threading. Enforce i386 as float format.
8856 (i[34567]86-*-mingw*): Use new common makefile stub t-cygming.
8857 Remove cygwin.h as target header. Use common target header
8858 cygming.h Enforce i386 as float format. Correct typo.
8859 * config/i386/cygming.h: New file, containing definitions
8860 common to mingw32 and cygwin.
8861 * config/i386/cygwin.h: Remove definitions common to cygwin and
8862 mingw. Simplify special spec logic. Define "wrappers" around
8863 certain include path defines to accommodate -mno-cygwin.
8864 Remove some #if 0'ed code.
8865 (STANDARD_INCLUDE_DIR) Always define when not cross-compiling.
8866 (LINK_SPEC): Don't use cyg search prefix when -mno-cygwin.
8867 (GCC_DRIVER_HOST_INITIALIZATION): Define as call to mingw_scan.
8868 * config/i386/mingw32.h: Remove definitions common to cygwin and
8869 mingw.
8870 (EXTRA_OS_CPP_BUILTINS): Adjust.
8871 (TARGET_VERSION): Define.
8872 * config/i386/crtdll.h (EXTRA_OS_CPP_BUILTINS): Override
8873 mingw32.h definitions.
8874 (LIBGCC_SPEC): Add libmingwex.a as in mingw32.h.
8875 * config/i386/t-cygwin (EXTRA_GCC_OBJS): Define as cygwin1.o.
8876 Add compilation rules for cygwin1.o cygwin2.o.
8877 * config/i386/cygwin1.c: New file.
8878 * config/i386/cygwin2.c: New file.
8879 * config/i386/t-cygming: New makefile stub.
8880
8881 2003-03-20 Richard Henderson <rth@redhat.com>
8882
8883 * fold-const.c (extract_muldiv_1): Revert changing order of
8884 operands in case MULT_EXPR of 2003-02-16 patch.
8885
8886 2003-03-20 Daniel Berlin <dberlin@dberlin.org>
8887 Merge changes from new-regalloc-branch
8888
8889 From Michael Matz <matz@suse.de>
8890 * df.c (df_ref_record_1): Move init of loc to safe point.
8891 Only recurse on interesting things in parallels.
8892 Handle CLASS_CANNOT_CHANGE_MODE smarter.
8893 (df_uses_record): Ditto.
8894
8895 * df.h (DF_REF_MEM_OK): New enum member, used to mark ref's which
8896 it's already okay to use memory operands in (IE doesn't require
8897 adding another insn or anything).
8898
8899 2003-03-20 Richard Henderson <rth@redhat.com>
8900
8901 PR middle-end/6348
8902 * explow.c (allocate_dynamic_stack_space): Handle STACK_SIZE_MODE
8903 different from word_mode.
8904
8905 2003-03-20 Kazu Hirata <kazu@cs.umass.edu>
8906
8907 * config/h8300/h8300.md (*insv_si_1_n_lshiftrt): Restrict the
8908 source operand to those that can be extracted with bld.
8909
8910 2003-03-20 Richard Earnshaw <rearnsha@arm.com>
8911
8912 PR 10066
8913 * arm.md (UNSPEC_PIC_BASE): New constant.
8914 (pic_add_dot_plus_four): Wrap with unspec.
8915 (pic_add_dot_plus_eight): Likewise.
8916
8917 2003-03-20 Kazu Hirata <kazu@cs.umass.edu>
8918
8919 * config/h8300/h8300.md (*insv_si_1_n): New.
8920 (*insv_si_1_n_lshiftrt): Likewise.
8921
8922 2003-03-20 Roger Sayle <roger@eyesopen.com>
8923
8924 * fold-const.c (fold_mathfn_compare): New function to simplify
8925 comparisons against built-in math functions. Fold comparisons
8926 of sqrt against constants.
8927 (fold): Call fold_mathfn_compare when appropriate.
8928
8929 2003-03-20 Richard Earnshaw <rearnsha@arm.com>
8930
8931 * ifcvt.c (find_if_case_1): If we add a new bb, update the dominance
8932 information.
8933
8934 2003-03-20 Per Bothner <pbothner@apple.com>
8935
8936 Various cleanups to help compile server.
8937
8938 * cppinit.c (cpp_create_reader): Take extra hash_table* argument,
8939 and pass that to _cpp_init_hashtable.
8940 (cpp_read_main_file): Drop hash_table* argument; don't call
8941 _cpp_init_hashtable.
8942 * cpplib.h: Update declarations to match.
8943 * c-opts.c (c_common_init_options): Pass ident_hash to
8944 cpp_create_reader.
8945 (c_common_post_options): Don't pass ident_hash to cpp_read_main_file.
8946 * fix-header.c (read_scan_file): Likewise pass NULL table to
8947 cpp_create_reader rather than cpp_read_main_file.
8948
8949 * cppfiles.c (cpp_rename_file): Generalized and renamed
8950 to cpp_change_file.
8951 * cpplib.h: Update declaration to match.
8952 * c-opts.c (push_command_line_line, finish_options): Change
8953 cpp_rename_file calls to cpp_change_file.
8954
8955 * line-map.c (add_line_map): Allow leaving the outermost file.
8956 Allowing entering an outermost-file after the initial time.
8957
8958 * toplev.c (pop_srcloc): Allow popping from initial file.
8959
8960 2003-03-20 Kazu Hirata <kazu at cs dot umass dot edu>
8961
8962 * fold-const.c (fold): Fold A - (A & B) into ~B & A.
8963
8964 2003-03-20 Kazu Hirata <kazu@cs.umass.edu>
8965
8966 * config/h8300/h8300.md (a peephole2): New.
8967
8968 2003-03-20 Kazu Hirata <kazu@cs.umass.edu>
8969
8970 * config/h8300/h8300.md (*addsi3_and_r_1): New.
8971 (*addsi3_and_not_r_1): Likewise.
8972
8973 2003-03-19 Loren James Rittle <ljrittle@acm.org>
8974
8975 * Makefile.in (STRICT2_WARN): Add @WERROR@.
8976 (GCC_WARN_CFLAGS): Remove $(WERROR).
8977 (fixinc.sh-warn): New.
8978 * ada/Make-lang.in (ada-warn): Add $(WERROR).
8979 * cp/Make-lang.in (cp-warn): Add $(WERROR).
8980 * f/Make-lang.in (f-warn): Add $(WERROR).
8981 * java/Make-lang.in (java-warn): Add $(WERROR).
8982 * treelang/Make-lang.in (treelang-warn): Add $(WERROR).
8983
8984 2003-03-19 Nathanael Nerode <neroden@gcc.gnu.org>
8985
8986 * c-common.h (c_dump_tree), c-dump.c (c_dump_tree),
8987 langhooks-def.h (lhd_tree_dump_dump_tree),
8988 langhooks.c (lhd_tree_dump_dump_tree), langhooks.h (*dump_tree):
8989 Change return type from 'int' to 'bool'. Replace 0 and 1 with
8990 true and false in return statements.
8991
8992 2003-03-19 Kevin Buettner <kevinb@redhat.com>
8993
8994 * dwarf2out.c (DWARF_INITIAL_LENGTH_SIZE): Define.
8995 (DWARF_COMPILE_UNIT_HEADER_SIZE): Take into account
8996 DWARF_INITIAL_LENGTH_SIZE.
8997 (output_compilation_unit_header, output_pubnames, output_aranges)
8998 (output_line_info): Output 0xffffffff escape value for 64-bit
8999 DWARF extension.
9000 * config/mips/iris6.h (DWARF_INITIAL_LENGTH_SIZE): Define.
9001
9002 2003-03-19 Ulrich Weigand <uweigand@de.ibm.com>
9003
9004 * config/s390/s390.c (s390_preferred_reload_class): Do not
9005 force constants to the pool unless necessary.
9006 (s390_decompose_address): Prefer to use pointer as base,
9007 not index register.
9008 * config/s390/s390.md ("*tsthiCCT_only"): Remove '?' from
9009 Q alternative.
9010 ("*movdi_64", "*movsi", "movhi", "movqi_64", "movqi",
9011 "*movdf_64", "*movsf"): Add '?' to Q->Q alternatives.
9012 ("*extractqi", "*extracthi", "*zero_extendhisi2_31",
9013 "*zero_extendqisi2_31", "*zero_extendqihi2_31",
9014 "*adddi3_31", "*subdi3_31"): Do not set "type" attribute.
9015
9016 2003-03-19 Jan Hubicka <jh@suse.cz>
9017
9018 * i386.h (machine_function): New fields use_fast_prologue_epilogue.
9019 * i386.c (use_fast_prologue_epilogue): Remove.
9020 (ix86_frame): New field save_regs-using_mov;
9021 (ix86_compute_frame_layout): Decide on fast prologues;
9022 allocate saved registers in red zone.
9023 (ix86_expand_epilogue, ix86_expand_prolgoues): Obey new parameters.
9024
9025 2003-03-19 Nick Clifton <nickc@redhat.com>
9026
9027 * config/mcore/mcore.h (CPP_SPEC): Remove trailing semi-colon.
9028
9029 2003-03-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9030
9031 PR 10062
9032 * config/pa/pa-hpux.h (TARGET_HPUX_UNWIND_LIBRARY): Redefine.
9033 * pa-protos.h (output_lbranch): New prototype.
9034 * pa.c (compute_frame_size): Change size of the frame marker on the
9035 64-bit ports to 48 bytes.
9036 (pa_output_function_prologue): Document why SAVE_SP is set.
9037 (hppa_expand_prologue): Save previous stack pointer into frame marker
9038 on targets which use the hpux unwind library.
9039 (output_cbranch): Use output_lbranch.
9040 (output_lbranch): New function to output long unconditional branches.
9041 * pa.h (TARGET_HPUX_UNWIND_LIBRARY): Define.
9042 (STACK_POINTER_OFFSET): Update offset for 48-byte frame marker on
9043 64-bit ports.
9044 * pa.md (jump): Use output_lbranch.
9045 (allocate_stack): New expander for dynamic stack allocation.
9046
9047 2003-03-19 Alan Modra <amodra@bigpond.net.au>
9048
9049 * config/rs6000/rs6000.c (rs6000_stack_info): Only require a frame
9050 when debugging on XCOFF targets. Delete "abi" temp.
9051
9052 PR target/10073
9053 * combine.c (force_to_mode <NOT>): Use gen_int_mode.
9054
9055 2003-03-18 Jakub Jelinek <jakub@redhat.com>
9056
9057 * config/s390/s390.c (s390_output_dwarf_dtprel): New.
9058 * config/s390/s390-protos.h (s390_output_dwarf_dtprel): New proto.
9059 * config/s390/s390.h (ASM_OUTPUT_DWARF_DTPREL): Define.
9060
9061 * config/ia64/ia64.c (ia64_output_dwarf_dtprel): New.
9062 * config/ia64/ia64-protos.h (ia64_output_dwarf_dtprel): New proto.
9063 * config/ia64/ia64.h (ASM_OUTPUT_DWARF_DTPREL): Define.
9064
9065 2003-03-18 Geoffrey Keating <geoffk@apple.com>
9066
9067 * config/rs6000/rs6000.c (rs6000_emit_prologue): Don't clone
9068 the result of machopic_function_base_name.
9069 * config/darwin.c (machopic_function_base_name): Use a gc-allocated
9070 string rather than a static array.
9071
9072 * Makefile.in (emit-rtl.o): Add gt-emit-rtl.h to dependencies.
9073
9074 * gengtype.c: Include rtl.h.
9075 (enum rtx_code): Don't define.
9076 (rtx_format): Make declaration match rtl.h.
9077 (rtx_next_new): Rename from rtx_next to avoid conflict. Change all
9078 users.
9079 (adjust_field_rtx_def): Describe strings in NOTE_LINE_NUMBER notes.
9080 * Makefile.in (gengtype.o): Update dependencies.
9081
9082 2003-03-18 Andreas Schwab <schwab@suse.de>
9083
9084 * config/m68k/m68k.md (iordi3): Fix setting low half to -1. From
9085 martin@blom.org.
9086
9087 2003-03-18 Geoffrey Keating <geoffk@apple.com>
9088
9089 * function.c (next_block_index): Mark with GTY.
9090
9091 * config/rs6000/rs6000.md (macho_correct_pic): Correct pattern.
9092
9093 2003-03-18 Richard Henderson <rth@redhat.com>
9094
9095 * config/ia64/ia64.md (UNSPECV_SETJMP_RECEIVER): New.
9096 (builtin_setjmp_receiver): Delay call to ia64_reload_gp
9097 until after reload.
9098
9099 2003-03-18 Richard Henderson <rth@redhat.com>
9100
9101 * builtins.c (expand_builtin_unop): New target_mode operand;
9102 use it to convert the result to the correct mode.
9103 (expand_builtin): Update all callers.
9104
9105 2003-03-18 Ulrich Weigand <uweigand@de.ibm.com>
9106
9107 * config/s390/s390.md ("movti", "movhi", "movqi"): Add "type" attribute.
9108
9109 2003-03-18 Jan Hubicka <jh@suse.cz>
9110
9111 * i386.md: Fix previous commit that mistakely applied the patch
9112 twice.
9113
9114 * alias.c (rtx_equal_for_memref_p): Assume that X and Y has been
9115 canonicalized.
9116 (memrefs_conflict_p): Likewise.
9117 (addr_side_effect_eval): Canonicalize the constructed address.
9118
9119 2003-03-18 Jan Hubicka <jh@suse.cz>
9120
9121 * i386.md (cvtts?2si peep2): New.
9122
9123 2003-03-18 Kazu Hirata <kazu@cs.umass.edu>
9124
9125 * config/h8300/h8300.md (*iorsi3_two_qi_zext): New.
9126
9127 2003-03-18 Andreas Schwab <schwab@suse.de>
9128
9129 * dwarf2out.c (output_file_names): Cast size_t to unsigned long
9130 for format.
9131
9132 2003-03-17 Jason Merrill <jason@redhat.com>
9133
9134 PR c++/10091
9135 * expr.c (expand_expr) [ADDR_EXPR]: Disallow taking the address of
9136 an unaligned member of TREE_ADDRESSABLE type.
9137
9138 2003-03-18 Alan Modra <amodra@bigpond.net.au>
9139
9140 * config/rs6000/linux64.h (MASK_PROFILE_KERNEL): Define.
9141 (TARGET_PROFILE_KERNEL): Define.
9142 (SUBTARGET_SWITCHES): Handle -mprofile-kernel.
9143 (PROFILE_BEFORE_PROLOGUE): Don't define.
9144 (PROFILE_KERNEL): Remove hacks.
9145 * config/rs6000/rs6000.c (TARGET_PROFILE_KERNEL): Define default.
9146 (rs6000_stack_info): No need to save lr if just for profiling when
9147 TARGET_PROFILE_KERNEL.
9148 (output_profile_hook): Output nothing when TARGET_PROFILE_KERNEL.
9149 (output_function_profiler): Localize label generation. Emit code
9150 for kernel profiling.
9151
9152 2003-03-17 Kazu Hirata <kazu@cs.umass.edu>
9153
9154 * config/h8300/h8300-protos.h: Add a prototype for
9155 byte_accesses_mergeable_p.
9156 * config/h8300/h8300.c (byte_accesses_mergeable_p): New.
9157 * config/h8300/h8300.md (*iorhi3_two_qi_mem): Likewise.
9158 (a splitter): Likewise.
9159 (*iorsi3_ashift_16_ashift_24): Likewise.
9160 (*iorsi3_ashift_16_ashift_24_mem): Likewise.
9161
9162 2003-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9163
9164 * dwarf2asm.h: Delete obsolete comment.
9165 (dw2_asm_output_data, dw2_asm_output_delta, dw2_asm_output_offset,
9166 dw2_asm_output_pcrel, dw2_asm_output_addr,
9167 dw2_asm_output_addr_rtx, dw2_asm_output_encoded_addr_rtx,
9168 dw2_asm_output_nstring, dw2_asm_output_data_uleb128,
9169 dw2_asm_output_data_sleb128, dw2_asm_output_delta_uleb128,
9170 dw2_asm_output_delta_sleb128): Add ATTRIBUTE_NULL_PRINTF.
9171
9172 2003-03-17 Zack Weinberg <zack@codesourcery.com>
9173
9174 * c-tree.h (struct lang_identifier): Remove error_locus field.
9175 (IDENTIFIER_ERROR_LOCUS): Kill.
9176 (record_function_scope_shadow): New prototype.
9177 * c-typeck.c (build_external_ref): Don't complain if
9178 decl is error_mark_node. When not at file scope, bind the
9179 decl's local value to error_mark_node to suppress further
9180 warnings, instead of setting IDENTIFIER_ERROR_LOCUS.
9181
9182 * c-decl.c (get_function_binding_level): New static function.
9183 (record_function_scope_shadow): New exported function.
9184 (c_make_fname_decl): Use get_function_binding_level.
9185
9186 2003-03-17 Steve Ellcey <sje@cup.hp.com>
9187
9188 * stmt.c (tail_recursion_args): Call promote_mode to set
9189 unsignedp flag correctly before calling convert_move.
9190
9191 2003-03-17 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9192
9193 * loop-unroll.c (decide_peel_completely,
9194 decide_unroll_constant_iterations, decide_unroll_stupid,
9195 decide_unroll_runtime_iterations, decide_peel_simple): Set
9196 loop->has_desc.
9197
9198 2003-03-17 Jan Hubicka <jh@suse.cz>
9199
9200 * ggc-common.c (ggc_mark_roots): Use htab_traverse_noresize.
9201
9202 2003-03-17 Olivier Hainque <hainque@act-europe.fr>
9203
9204 * function.c (assign_parms): For a struct value address passed as
9205 first argument, delay the function's result RTL setup code until
9206 after the emission of parameter conversions.
9207
9208 2003-03-17 Dave Love <fx@gnu.org>
9209 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9210
9211 * config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Define __digital__,
9212 __arch64__ to match Compaq cc.
9213
9214 2003-03-17 Neil Booth <neil@daikokuya.co.uk>
9215
9216 * c-opts.c: Default TARGET_EBCDIC to 0 if not defined.
9217 (c_common_init): Set EBCDIC in cpp options.
9218 * cpplex.c (maybe_read_ucs, cpp_parse_escape): Use EBCDIC option,
9219 not conditional compilation.
9220 * cpplib.h (struct cpp_options): New entry EBCDIC.
9221
9222 2003-03-17 Neil Booth <neil@daikokuya.co.uk>
9223
9224 * fix-header.c (read_scan_file): Need to malloc arguments to add_path.
9225
9226 2003-03-17 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
9227
9228 * function.c (thread_prologue_and_epilogue_insns): Set delete_unused
9229 argument to 0 for redirect_jump.
9230
9231 2003-03-16 Mark Mitchell <mark@codesourcery.com>
9232
9233 PR c++/8805
9234 * except.c (eh_region_u_cleanup): Add prev_try.
9235 (expand_eh_region_end_cleanup): Set it.
9236 (reachable_handlers): Use it to skip over cleanup blocks.
9237
9238 2003-03-17 Andreas Jaeger <aj@suse.de>
9239
9240 * Makefile.in (TAGS): Remove obsolete handling of =*.[chy].
9241
9242 2003-03-17 Alan Modra <amodra@bigpond.net.au>
9243
9244 * config/rs6000/linux64.h (TARGET_64BIT): Redefine.
9245 (TARGET_RELOCATABLE, TARGET_EABI, TARGET_PROTOTYPE): Likewise.
9246 (SUBTARGET_SWITCHES, SUBTARGET_OPTIONS): Likewise.
9247 (SUBTARGET_OVERRIDE_OPTIONS, CPP_SYSV_SPEC): Likewise.
9248
9249 2003-03-16 Richard Henderson <rth@redhat.com>
9250
9251 * simplify-rtx (simplify_binary_operation): Don't abort for
9252 SS_PLUS, US_PLUS, SS_MINUS, US_MINUS.
9253
9254 2003-03-16 Richard Henderson <rth@redhat.com>
9255
9256 * config/i386/i386.md (movstrictqi, movstrictqi_1): Check
9257 optimize_size as well.
9258
9259 2003-03-16 Stephane Carrez <stcarrez@nerim.fr>
9260
9261 * config/m68hc11/m68hc11.c (print_operand): Handle 'b' modifier
9262 for D register to specify the low part of it, aka B.
9263 (m68hc11_gen_movhi): Use REG_WAS_0 note and increment or decrement
9264 the register if we are loading 1 or -1 to it; avoid using temp
9265 register when moving X/Y to Y/X.
9266 (m68hc11_gen_movqi): Likewise.
9267 (m68hc11_check_z_replacement): Fix last insn setting for compare case.
9268
9269 2003-03-14 Mark Mitchell <mark@codesourcery.com>
9270
9271 PR optimization/9016
9272 * config/i386/i386.c (ix86_expand_move): Force more CONST_DOUBLEs
9273 into the constant pool.
9274
9275 2003-03-16 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
9276
9277 PR target/9164
9278 * tree.c (get_narrower): For extensions with unchanged bit number,
9279 return the unsignedness of the outer mode.
9280
9281 2003-03-16 Roger Sayle <roger@eyesopen.com>
9282
9283 * c-typeck.c (build_component_ref): Turn "for" into "do .. while"
9284 to avoid "may be used uninitialized" warning on ia64-hpux.
9285 * config/ia64/ia64-c.c: Include "tm_p.h" for function prototypes.
9286
9287 2003-03-16 Andreas Jaeger <aj@suse.de>
9288
9289 * configure.in: Improve check for memcheck.h.
9290 * configure: Regenerated.
9291
9292 2003-03-16 Neil Booth <neil@daikokuya.co.uk>
9293
9294 * doc/cppopts.texi: Remove documentation of -A-.
9295
9296 2003-03-15 Zack Weinberg <zack@codesourcery.com>
9297
9298 * doc/libgcc.texi: Remove @tie.
9299
9300 2003-03-15 Josef Zlomek <zlomekj@suse.cz>
9301
9302 * rtl.h (subrtx_p): Renamed to rtx_referenced_p.
9303 (rtx_pair): Added new element update_label_nuses, renamed to
9304 replace_label_data.
9305 * cfgcleanup.c (outgoing_edges_match, try_crossjump_to_edge): Use
9306 replace_label_data instead of rtx_pair.
9307 * loop.c (load_mems): Likewise.
9308 * rtlanal.c (replace_label): Replace label in pool constants and in
9309 INSN_LIST (in REG_LABEL note).
9310 (subrtx_p): Renamed to rtx_referenced_p.
9311 (subrtx_p_1): Renamed to rtx_referenced_p_1, compare the interior of
9312 LABEL_REF with CODE_LABEL, traverse constants from pool.
9313
9314 2003-03-15 Aldy Hernandez <aldyh@redhat.com>
9315 Zack Weinberg <zack@codesourcery.com>
9316
9317 * Makefile.in (TEXI_GCCINT_FILES): Add libgcc.texi.
9318 * doc/libgcc.texi: New file.
9319 * doc/interface.texi: Delete paragraph about libgcc interface.
9320 * doc/gccint.texi: Add libgcc menu entry and @include libgcc.texi.
9321
9322 2003-03-15 Jason Merrill <jason@redhat.com>
9323
9324 PR debug/9039
9325 * dwarf2out.c (gen_decl_die): Ignore frontend tree codes.
9326
9327 PR debug/6387
9328 * dwarf2out.c (dwarf2out_decl): If we're at -g1, just stick nested
9329 function DIEs at toplevel.
9330 (decls_for_scope): At -g1, don't descend into subblocks.
9331
9332 2003-03-15 Ulrich Weigand <uweigand@de.ibm.com>
9333
9334 * varasm.c (struct rtx_const): Change type of un.addr member
9335 to struct holding an additional 'symbol' member.
9336 (decode_rtx_const): Re-enable optimization to count SYMBOL_REFs
9337 with equal string addresses as equal.
9338 (simplify_subtraction): Adapt to struct rtx_const change.
9339
9340 2003-03-15 Neil Booth <neil@daikokuya.co.uk>
9341
9342 * fix-header.c (read_scan_file): Read main file before handling -D.
9343
9344 2003-03-15 Roger Sayle <roger@eyesopen.com>
9345
9346 * c-cppbuiltin.c (builtin_define_with_value_n): Fix whitespace.
9347 * c-typeck.c (c_tree_expr_nonnegative_p): Likewise.
9348 * cfgbuild.c (find_many_sub_basic_blocks): Likewise.
9349 (find_sub_basic_blocks): Likewise.
9350 * cgraphunit.c (cgraph_expand_functions): Likewise.
9351 * dwarf2out.c (prune_unused_types): Likewise.
9352 * expr.c (store_field): Likewise.
9353 * genextract.c (print_path): Likewise.
9354 * haifa-sched.c (schedule_insn): Likewise.
9355 * lcm.c (compute_antinout_edge): Likewise.
9356 * loop-unroll.c (decide_peel_once_rolling): Likewise.
9357 * ra-colorize.c (ra_colorize_free_all): Likewise.
9358 * ra-debug.c (dump_igraph): Likewise.
9359 (debug_hard_reg_set): Likewise.
9360 * reg-stack.c (reg_to_stack): Likewise.
9361 * rtlanal.c (refers_to_regno_p): Likewise.
9362 * tracer.c (layout_superblocks): Likewise.
9363
9364 2003-03-15 Neil Booth <neil@daikokuya.co.uk>
9365
9366 * fix-header.c (read_scan_file): Fix thinko.
9367
9368 2003-03-15 Glen Nakamura <glen@imodulo.com>
9369
9370 * reload1.c (choose_reload_regs): Use && instead of ||
9371 with REG_CANNOT_CHANGE_MODE_P condition.
9372
9373 2003-03-15 Neil Booth <neil@daikokuya.co.uk>
9374
9375 * Makefile.in: Update.
9376 * c-common.h (cb_register_builtins): Rename c_cpp_builtins.
9377 * c-lex.c (init_c_lex): Register builtins hook is dead.
9378 * c-opts.c (COMMAND_LINE_OPTIONS, missing_arg): Handle -A, -D and -U.
9379 (c_common_decode_option): Don't call cpp_handle_option.
9380 Handle -A, -D and -U.
9381 (handle_deferred_opts): Simplify.
9382 (finish_options): Define builtins and command line macros.
9383 * c-ppoutput.c (init_pp_output): Register builtins hook is dead.
9384 * cppinit.c: Don't include intl.h.
9385 (init_builtins): Rename cpp_init_builtins. No hook to call.
9386 (init_library): Don't need to sort options.
9387 (cpp_create_reader): Don't set pending.
9388 (cpp_destroy): Don't free pending.
9389 (struct pending_option, cl_directive_handler, struct cpp_pending,
9390 APPEND, free_chain, new_pending_directive, parse_option, opt_comp,
9391 cpp_finish_options, COMMAND_LINE_OPTIONS, DEF_OPT, struct cl_option,
9392 cl_options, cpp_handle_option): Remove.
9393 * cpplib.h (struct cpp_pending, register_builtins, cpp_handle_option,
9394 cpp_finish_options): Remove.
9395 (cpp_init_builtins): New.
9396 * fix-header.c (read_scan_file): Update to handle -D. Fix
9397 handling of -I. Replace call to cpp_finish_options.
9398
9399 2003-03-15 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
9400
9401 PR optimization/9387
9402 * function.c (thread_prologue_and_epilogue_insns): Use redirect_jump
9403 for conditional returns.
9404
9405 2003-03-14 Jason Merrill <jason@redhat.com>
9406
9407 PR optimization/6871
9408 * varasm.c (assemble_variable): Leave constant zeroes in .rodata.
9409
9410 2003-03-14 Neil Booth <neil@daikokuya.co.uk>
9411
9412 * c-opts.c (finish_options): New.
9413 (COMMAND_LINE_OPTIONS, c_common_decode_option): Add -imacros.
9414 (missing_arg): Handle OPT_include and OPT_imacros.
9415 (c_common_init, c_common_parse_file): Use finish_options.
9416 (handle_deferred_opts): Update.
9417 * cppinit.c (struct cpp_pending): Remove imacros_head and imacros_tail.
9418 (cpp_finish_options): Don't handle -imacros here.
9419 (no_fil): Remove.
9420 (COMMAND_LINE_OPTIONS, cpp_handle_option): Don't handle -imacros.
9421
9422 2003-03-14 Jakub Jelinek <jakub@redhat.com>
9423
9424 * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Don't call
9425 rs6000_maybe_dead if !fromprolog.
9426
9427 2003-03-14 Neil Booth <neil@daikokuya.co.uk>
9428
9429 * Makefile.in: Update.
9430 * c-common.h (fe_file_change, pp_file_change): New.
9431 * c-lex.c (init_c_lex): Don't set cb_file_change.
9432 (c_common_parse_file): Move to c-opts.c.
9433 (cb_file_change): Rename fe_file_change.
9434 * c-opts.c: Include debug.h.
9435 (warn_unused_macros, include_cursor): New.
9436 (push_command_line_include, cb_file_change): New.
9437 (COMMAND_LINE_OPTIONS): Handle -include.
9438 (c_common_decode_option): Use local warn_unused_macros.
9439 Handle OPT_include.
9440 (c_common_post_options): Set file change callback.
9441 (handle_deferred_opts): Skip -include. Don't free the array.
9442 (c_common_init): Call cpp_finish_options here, and push an
9443 initial -include file.
9444 * c-ppoutput.c (cb_file_change): Rename pp_file_change.
9445 (preprocess_file): Don't call cpp_finish_options.
9446 (init_pp_output): Don't set the file change callback.
9447 (pp_file_change): Return if no line commands or no output.
9448 * cpphash.h (next_include_file, first_unused_line): Remove.
9449 * cppinit.c (include_head, include_tail): Remove.
9450 (cpp_destroy): Don't free -include chain.
9451 (cpp_finish_options): Don't handle -include, or worry about
9452 -Wunused-macros.
9453 (_cpp_maybe_push_include_file): Remove.
9454 (COMMAND_LINE_OPTIONS, cpp_handle_option): Don't handle -include.
9455 * cpplib.c (_cpp_pop_buffer): Don't handle -include.
9456 * cppmacro.c (_cpp_warn_if_unused_macro, _cpp_create_definition):
9457 Used flag is set based upon the state of the warn_unused_macros
9458 flag, and so use of first_unused_line is unnecessary.
9459
9460 2003-03-13 Jan Hubicka <jh@suse.cz>
9461
9462 * cselib.c (clear_table): Do not take argument; always clear just
9463 used slots.
9464 (cselib_process_insn): Update call of clear_table
9465 (cselib_init): Do not call clear_table.
9466 (cselib_finish): Clear table.
9467
9468 * cse.c (count_reg_usage): Do not check side_effects_p.
9469 * rtlanal.c (set_noop_p): Check side_effects_p only when set looks
9470 like noop.
9471 (find_reg_equal_equiv_note): Do not use find_reg_note.
9472
9473 2003-03-14 Richard Henderson <rth@redhat.com>
9474
9475 PR target/9700
9476 * config/alpha/alpha.c (alpha_va_start): Account for
9477 current_function_pretend_args_size in the AP offset.
9478
9479 * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Move out of line.
9480 (INITIAL_ELIMINATION_OFFSET): Move out of line.
9481 * config/alpha/alpha.c (alpha_setup_incoming_varargs): New.
9482 (alpha_initial_elimination_offset) New.
9483 * config/alpha/alpha-protos.h: Update.
9484
9485 2003-03-14 Jakub Jelinek <jakub@redhat.com>
9486
9487 * stmt.c (expand_start_case): Call emit_queue ().
9488
9489 2003-03-14 Chris Demetriou <cgd@broadcom.com>
9490 Alexandre Oliva <aoliva@redhat.com>
9491
9492 * config/mips/mips.h (FUNCTION_PROFILER): _mcount() doesn't pop 2
9493 words in new abis.
9494
9495 2003-03-14 Eric Botcazou <ebotcazou@libertysurf.fr>
9496
9497 PR optimization/8396
9498 * tree-inline.c (initialize_inlined_parameters): Make sure the value
9499 of read-only constant arguments is passed with the right type.
9500
9501 2003-03-14 Steven Bosscher <steven@gcc.gnu.org>
9502
9503 * doc/extend.texi (Function Names): Make the example compilable.
9504
9505 2003-03-13 David Edelsohn <edelsohn@gnu.org>
9506
9507 * config/rs6000/rs6000.c (processor_target_table): Really allow
9508 GP optional instructions on Power4.
9509
9510 2003-03-13 Roger Sayle <roger@eyesopen.com>
9511
9512 * calls.c (flags_from_decl_or_type): Factor and remove redundant
9513 conditional tests.
9514
9515 2003-03-13 Mike Stump <mrs@apple.com>
9516
9517 * ggc-page.c (struct page_entry): Remove varray.h header.
9518 Add index_by_depth field.
9519 Remove save_in_use_p field.
9520 (struct globals): Add depth_in_use, depth_max, by_depth_in_use,
9521 by_depth_max, by_depth, and save_in_use fields.
9522 (INITIAL_PTE_COUNT): Add.
9523 (save_in_use_p_i): Add.
9524 (save_in_use_p): Add.
9525 (adjust_depth): Add.
9526 (move_ptes_to_front): Add.
9527 (push_depth): Add.
9528 (push_by_depth): Add.
9529 (prefetch): Add.
9530 (free_page): Add support for and use faster data structures.
9531 (ggc_alloc): Likewise.
9532 (init_ggc): Likewise.
9533 (ggc_recalculate_in_use_p): Likewise.
9534 (ggc_pop_context): Likewise.
9535 (clear_marks): Likewise.
9536 (ggc_pch_read): Likewise.
9537 * Makefile.in (ggc-page.o): Remove varray.h.
9538
9539 2003-03-13 Nathanael Nerode <neroden@gcc.gnu.org>
9540
9541 * ChangeLog: Rotated last year's entries to...
9542 * ChangeLog.8: New.
9543
9544 * config/ia64/fde-glibc.c, config/ia64/freebsd.h,
9545 config/ia64/hpux.h, config/ia64/hpux_longdouble.h,
9546 config/ia64/ia64-c.c, config/ia64/ia64-modes.def,
9547 config/ia64/ia64-protos.h, config/ia64/ia64.c,
9548 config/ia64/ia64.h, config/ia64/ia64.md,
9549 config/ia64/itanium1.md, config/ia64/itanium2.md,
9550 config/ia64/quadlib.c, config/ia64/unwind-ia64.c,
9551 config/ia64/unwind-ia64.h: It's GCC, not GNU CC.
9552
9553 2003-03-13 Aldy Hernandez <aldyh@redhat.com>
9554
9555 * config/rs6000/rs6000.c (rs6000_dwarf_register_span):
9556 Differentiate endianness.
9557 (s6000_override_options): Use cpu type instead of TARGET_SPE.
9558
9559 2003-03-13 Nick Clifton <nickc@redhat.com>
9560
9561 * config/arm/arm.c (print_multi_reg): Do not generate a type 2
9562 LDM instructions with writeback enabled.
9563 (output_return_instruction): Likewise.
9564
9565 * config/arm/pe.h (FIXED_REGISTERS): Remove definition.
9566 (CALL_USED_REGISTERS): Remove definition.
9567 (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Define.
9568
9569 2003-03-13 Alan Modra <amodra@bigpond.net.au>
9570
9571 * config/rs6000/rs6000.c (rs6000_flag_pic): Delete.
9572 (rs6000_xcoff_encode_section_info): #ifdef TARGET_XCOFF.
9573 (rs6000_binds_local_p, TARGET_BINDS_LOCAL_P): #if TARGET_MACHO.
9574 (rs6000_override_options): Don't clear flag_pic for ABI_AIX.
9575 (rs6000_legitimize_address): Formatting.
9576 (rs6000_emit_move): Likewise.
9577 (rs6000_return_addr): Test ABI_AIX as well as flag_pic.
9578 (rs6000_emit_prologue <save_LR_around_toc_setup>): Likewise.
9579 (rs6000_elf_select_section): Comment reason for shlib being
9580 set for ABI_AIX.
9581 (rs6000_elf_unique_section): Likewise.
9582 (rs6000_elf_encode_section_info): Test !TARGET_AIX as well as ABI_AIX.
9583 * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Test ABI_AIX
9584 as well as flag_pic.
9585 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Likewise.
9586 (MINIMAL_TOC_SECTION_ASM_OP): Likewise.
9587 * config/rs6000/linux64.h (TARGET_ENCODE_SECTION_INFO): Don't define.
9588
9589 2003-03-13 Richard Henderson <rth@redhat.com>
9590
9591 * emit-rtl.c (try_split): Handle 1-1 splits of call insns properly.
9592
9593 * config/ia64/ia64.c (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
9594 (ia64_gp_save_reg): Remove.
9595 (struct ia64_frame_info): Move to the beginning of the file;
9596 add reg_save_gp.
9597 (ia64_expand_call): Rearrange for new call patterns.
9598 (ia64_reload_gp): New.
9599 (ia64_split_call): New.
9600 (ia64_compute_frame_size): Allocate reg_save_gp.
9601 (ia64_expand_prologue): Save reg_save_gp.
9602 (ia64_expand_epilogue): Don't restore gp.
9603 (ia64_hard_regno_rename_ok): Remove R4 hack.
9604 (ia64_function_ok_for_sibcall): New.
9605 (ia64_output_mi_thunk): Set reload_completed, no_new_pseudos;
9606 call try_split on sibcall pattern.
9607 * config/ia64/ia64-protos.h: Update.
9608 * config/ia64/ia64.md (call_nogp, call_value_nogp, sibcall_nogp):
9609 Rename from nopic versions. Confiscate 2nd argument to call as
9610 a marker.
9611 (call_pic, call_value_pic, sibcall_pic): Remove.
9612 (call_gp, call_value_gp, sibcall_gp): New.
9613 (builtin_setjmp_setup): Remove.
9614 (builtin_setjmp_receiver): Call ia64_reload_gp.
9615
9616 2003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
9617
9618 * config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
9619 config/dsp16xx/dsp16xx.h, config/dsp16xx/dsp16xx.md: Replace
9620 "GNU CC" with "GCC".
9621
9622 * config/c4x/c4x-c.c, config/c4x/c4x-modes.def,
9623 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
9624 config/c4x/c4x.md, config/c4x/libgcc.S, config/c4x/rtems.h:
9625 GCC, not GNU CC.
9626
9627 * genattrtab.h, hosthooks-def.h, hosthooks.h, langhooks-def.h,
9628 langhooks.h, tree-inline.h: Replace "GNU CC" with "GCC".
9629
9630 * c-pch.c, dummy-conditions.c, genautomata.c, genconditions.c,
9631 langhooks.c, tree-inline.c, unwind-dw2-fde-darwin.c,
9632 unwind-dw2-fde-glibc.c, unwind-libunwind.c, vmsdbgout.c: Replace
9633 "GNU CC" with "GCC".
9634
9635 * config/v850/lib1funcs.asm, config/v850/rtems.h,
9636 config/v850/v850-c.c, config/v850/v850-protos.h,
9637 config/v850/v850.c, config/v850/v850.h, config/v850/v850.md:
9638 GCC, not GNU CC.
9639
9640 * config/vax/bsd.h, config/vax/elf.h, config/vax/netbsd-elf.h,
9641 config/vax/netbsd.h, config/vax/openbsd.h, config/vax/openbsd1.h,
9642 config/vax/ultrix.h, config/vax/vax-protos.h, config/vax/vax.c,
9643 config/vax/vax.h, config/vax/vax.md, config/vax/vaxv.h: GCC, not
9644 GNU CC.
9645
9646 2003-03-12 Benjamin Kosnik <bkoz@redhat.com>
9647
9648 * cpppch.c (cpp_valid_state): Use DL_WARNING_SYSHDR, not DL_WARNING.
9649
9650 2003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
9651
9652 * fixinc/fixinc.interix: Remove dead code (most of it).
9653 * fixinc/fixinc.dgux: Remove.
9654
9655 * ginclude/float.h, ginclude/iso646.h, ginclude/stdarg.h,
9656 ginclude/stdbool.h, ginclude/stddef.h: GCC, not GNU CC.
9657
9658 2003-03-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9659
9660 * pa.c (pa_init_builtins): Fix warning.
9661
9662 2003-03-12 Steve Ellcey <sje@cup.hp.com>
9663
9664 * config/ia64/ia64.h (ASM_OUTPUT_XDATA_CHAR): Remove.
9665 (ASM_OUTPUT_XDATA_SHORT): Remove.
9666 (ASM_OUTPUT_XDATA_INT): Remove.
9667 (ASM_OUTPUT_XDATA_DOUBLE_INT): Remove.
9668 (ASM_OUTPUT_ADDR_DIFF_ELT): Handled 32 bit address diffs.
9669 (ASM_PREFERRED_EH_DATA_FORMAT): Handle 32 bit EH pointers.
9670 (CASE_VECTOR_MODE): Handle 32 bit pointers in case statement.
9671
9672 2003-03-12 Andrew Lewycky <andrew@mxc.ca>
9673
9674 PR c++/7050
9675 * expr.c (store_expr): Don't attempt to store void-typed trees,
9676 just evaluate them for side effects.
9677
9678 2003-03-12 Neil Booth <neil@daikokuya.co.uk>
9679
9680 * cppfiles.c (cpp_rename_file, cpp_push_include): New.
9681 * cppinit.c (push_include): Move with changes to cppfiles.c.
9682 (cpp_read_main_file): Mark named operators here...
9683 (cpp_finish_options): ...not here. Update.
9684 (_cpp_maybe_push_include_file): Update.
9685 * cpplib.h (cpp_push_include, cpp_rename_file): New.
9686
9687 2003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
9688
9689 * aclocal.m4: Introduce gcc_GAS_VERSION_GTE_IFELSE,
9690 _gcc_COMPUTE_GAS_VERSION.
9691 * configure.in: Use them.
9692 * configure: Regenerate.
9693
9694 2003-03-12 Bob Wilson <bob.wilson@acm.org>
9695
9696 * config/xtensa/xtensa.md (adddi3): Don't clobber source operand used
9697 to detect carry.
9698 (subdi3): Reorder emitted instructions.
9699
9700 2003-03-12 Andreas Jaeger <aj@suse.de>
9701
9702 * config/i386/netbsd64.h (TARGET_OS_CPP_BUILTINS): Remove call to
9703 NETBSD_OS_CPP_BUILTINS_LP64.
9704
9705 2003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
9706
9707 * Makefile.in: Eliminate all.indirect. Update and clean up comments.
9708 Rearrange. Reorganize.
9709 * configure.in: Rearrange.
9710 * configure: Regenerate.
9711
9712 2003-03-12 Andreas Jaeger <aj@suse.de>
9713
9714 * c-cppbuiltin.c (cb_register_builtins): Define LP64 builtins for
9715 LP64 targets.
9716
9717 * doc/cpp.texi (Common Predefined Macros): Document __LP64__ and
9718 _LP64.
9719
9720 * config/ia64/ia64.h (TARGET_CPU_CPP_BUILTINS): Do not define
9721 _LP64 macros here.
9722 * config/pa/pa.h (TARGET_CPU_CPP_BUILTINS): Likewise.
9723
9724 * config/alpha/netbsd.h (TARGET_OS_CPP_BUILTINS): Remove call to
9725 NETBSD_OS_CPP_BUILTINS_LP64.
9726 * config/sh/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Likewise.
9727 * config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Likewise.
9728
9729 * config/netbsd.h (NETBSD_OS_CPP_BUILTINS_LP64): Remove.
9730
9731 2003-03-12 Jan Hubicka <jh@suse.cz>
9732
9733 * i386.c (ix86_setup_incoming_varargs): Set stack_alignment_needed to 128.
9734
9735 2003-03-12 Daniel Jacobowitz <drow@mvista.com>
9736
9737 Fix PR target/9797 and PR c/9853.
9738 * stmt.c (expand_decl_init): Call push_temp_slots () and
9739 pop_temp_slots ().
9740
9741 2003-03-12 J"orn Rennecke <joern.rennecke@superh.com>
9742
9743 * sh.c: Include basic-block.h.
9744 (sh_output_mi_thunk, emit_load_ptr): New functions.
9745 (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine.
9746
9747 2003-03-12 Nick Clifton <nickc@redhat.com>
9748
9749 * config/arm/pe.h (FIXED_REGISTERS): Add Maverick registers.
9750 (CALL_USED_REGISTERS): Likewise.
9751 * config/arm/arm.h (FIRST_PSEUDO_REGISTER): Update comment
9752 describing how this value is calculated.
9753
9754 2003-03-12 Hans-Peter Nilsson <hp@bitrange.com>
9755
9756 * configure.in (rlim_t): Define to long if no valid definition
9757 found in sys/resource.h.
9758 * config.in, configure: Regenerate.
9759
9760 2003-03-12 Neil Booth <neil@daikokuya.co.uk>
9761
9762 * config/mcore/mcore-elf.h (CPP_PREDEFINES): Replace with
9763 TARGET_OS_CPP_BUILTINS.
9764 * config/mcore/mcore-pe.h: Similarly.
9765 * config/mcore/mcore.h: Replace CPP_PREDEFINES and part of
9766 CPP_SPEC with TARGET_CPU_CPP_BUILTINS.
9767
9768 2003-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
9769
9770 PR c/9928
9771 * c-decl.c (duplicate_decls): Discard the initializer of the new decl
9772 only if it is a VAR_DECL.
9773
9774 2003-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
9775
9776 PR optimization/9888
9777 * config/i386/i386.md (jcc_1): Fix range.
9778 (jcc_2): Likewise.
9779 (jump): LIkewise.
9780 (doloop_end_internal): Likewise.
9781
9782 2003-03-12 Danny Smith <dannysmith@users.sourceforge.net>
9783
9784 * config/i386/winnt.c (DLL_IMPORT_PREFIX): New define.
9785 Use throughout instead of DLL_IMPORT_EXPORT_PREFIX and "e."
9786 (DLL_EXPORT_PREFIX): New define. Use throughout instead of
9787 DLL_IMPORT_EXPORT_PREFIX and "i."
9788 (i386_pe_dllexport_name_p): Here.
9789 (i386_pe_dllimport_name_p): Here.
9790 (i386_pe_mark_dllexport): Here. Remove DLL_IMPORT_PREFIX,
9791 not 9 chars when getting identifier name.
9792 (i386_pe_mark_dllimport): Here.
9793 (i386_pe_encode_section_info): Here. Remove DLL_IMPORT_PREFIX,
9794 not 9 chars when getting identifier name. Correct comment.
9795 (i386_pe_strip_name_encoding): Here. Add comments for different
9796 cases.
9797 (gen_fastcall_suffix): Break down xmalloc() argument to
9798 components.
9799 (gen_stdcall_suffix): Likewise.
9800 Update copyright year.
9801
9802 2003-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
9803
9804 PR optimization/9888
9805 * config/i386/i386.md (movsi_1): Remove special alternatives
9806 for %eax register.
9807 (movsi_1_nointernunit): Likewise.
9808 (movhi_1): Likewise.
9809 * config/i386/i386.c (memory_address_length): Do not use
9810 short displacement when there is no base.
9811 (ix86_attr_length_address_default): Handle LEA instructions.
9812
9813 2003-03-12 Neil Booth <neil@daikokuya.co.uk>
9814
9815 * c-cppbuiltin.c (builtin_define_std): Make non-static.
9816
9817 2003-03-11 Loren James Rittle <ljrittle@acm.org>
9818
9819 * config/freebsd-spec.h (FBSD_CPP_PREDEFINES): Remove.
9820 (FBSD_TARGET_OS_CPP_BUILTINS): New port-specific macro.
9821 (FBSD_TARGET_CPU_CPP_BUILTINS): New port-specific macro.
9822 * config/freebsd.h (CPP_PREDEFINES): Remove.
9823 (TARGET_OS_CPP_BUILTINS): New.
9824 * config/alpha/freebsd.h: Use overridden FBSD_TARGET_CPU_CPP_BUILTINS
9825 instead of TARGET_OS_CPP_BUILTINS.
9826 * config/sparc/freebsd.h (CPP_PREDEFINES): Remove.
9827
9828 2003-03-11 Geoffrey Keating <geoffk@apple.com>
9829
9830 * c-cppbuiltin.c (builtin_define_std): Add ATTRIBUTE_UNUSED.
9831
9832 2003-03-11 Aldy Hernandez <aldyh@redhat.com>
9833
9834 * config/rs6000/rs6000.c (rs6000_stack_info): Remove
9835 insn_chain_scanned. Use insn_chain_scanned_p in machine_function.
9836
9837 * config/rs6000/rs6000.h (machine_function): Add insn_chain_scanned_p.
9838
9839 2003-03-11 Alexandre Oliva <aoliva@redhat.com>
9840
9841 * toplev.c (independent_decode_option): Return success for --help,
9842 --target-help and --version.
9843
9844 2003-03-11 Alexandre Oliva <aoliva@redhat.com>
9845
9846 * config/mips/linux64.h (DRIVER_SELF_SPECS): Add endian_spec.
9847 Default to -mips3 on -mabi=64. Don't add -mips* flag if -march is
9848 specified.
9849 (SUBTARGET_ASM_SPEC): Remove -mips*-adding code obviated by
9850 DRIVER_SELF_SPECS.
9851 (LINK_SPEC): Let endian options affect the linker emulation name.
9852
9853 2003-03-11 J"orn Rennecke <joern.rennecke@superh.com>
9854
9855 * sh.md (reload_inqi): Fix mode for source in second set.
9856
9857 2003-03-11 Jan Hubicka <jh@suse.cz>
9858
9859 * cselib.c (cselib_invalidate_mem_1): Move too ...
9860 (cselib_invalidate_mem): ... here; use new list
9861 (dummy_val, first_containing_mem): New static variables.
9862 (clear_table): Initialize first_containing_mem.
9863 (discard_useless_values): Compact the containing_mem list.
9864 (add_mem_for_addr): Add to the list.
9865 * cselib.h (cselib_val): Add next_containing_mem.
9866
9867 2003-03-11 Aldy Hernandez <aldyh@redhat.com>
9868
9869 * config/rs6000/rs6000.c (rs6000_override_options): Disable string
9870 instructions for e500.
9871
9872 2003-03-11 Neil Booth <neil@daikokuya.co.uk>
9873
9874 * Makefile.in: Update.
9875 * c-cppbuiltin.c: Include tm_p.h.
9876
9877 2003-03-11 Aldy Hernandez <aldyh@redhat.com>
9878
9879 * doc/tm.texi (Frame Registers): Document DWARF_REG_TO_UNWIND_COLUMN.
9880
9881 * unwind-dw2.c (DWARF_REG_TO_UNWIND_COLUMN): Define.
9882 (_Unwind_GetGR): Use DWARF_REG_TO_UNWIND_COLUMN.
9883 (_Unwind_SetGR): Same.
9884 (_Unwind_GetGRPtr): New.
9885 (_Unwind_SetGRPtr): New.
9886 (uw_update_context_1): Use accesor functions instead of accessing
9887 context->reg[] directly.
9888 (uw_install_context_1): Same.
9889 (execute_cfa_program): Same.
9890 (__frame_state_for): Same.
9891
9892 * config/rs6000/rs6000.c (spe_synthesize_frame_save): Use 1200 as
9893 the synthetic register offset.
9894
9895 * config/rs6000/rs6000.h (DWARF_REG_TO_UNWIND_COLUMN): New.
9896
9897 2003-03-11 Hans-Peter Nilsson <hp@axis.com>
9898
9899 * config/cris/cris.md: Remove lingering EGCS reference.
9900 ("*extopqihi_side_biap"): For HI operation, match
9901 cris_additive_operand_extend_operator, not
9902 cris_operand_extend_operator. Adjust condition.
9903 ("*extopqihi_side", "*extopqihi"): Ditto.
9904 ("*extopqisi_side_biap"): Correct operand numbers in condition.
9905 ("*extophisi_side_biap", "*extopqisi_swap_side_biap"): Ditto.
9906 ("*extophisi_swap_side_biap", "*extopqisi_swap"): Ditto.
9907 ("*extophisi_swap"): Ditto.
9908 ("*extopqihi_swap_side_biap"): For HI operation, match a simple
9909 PLUS, not cris_operand_extend_operator. Adjust condition and
9910 output template.
9911 ("*extopqihi_swap_side", "*extopqihi_swap"): Ditto.
9912 * config/cris/cris.h (PREDICATE_CODES): Add
9913 cris_additive_operand_extend_operator.
9914 * config/cris/cris.c (cris_additive_operand_extend_operator):
9915 New predicate.
9916
9917 2003-03-11 Hartmut Penner <hpenner@de.ibm.com>
9918
9919 * df.c (read_modify_subreg_p): Change from static to global.
9920 * df.h (read_modify_subreg_p): Add prototype.
9921 * sched-deps.c (sched_analyze_1): Generate true dependency for
9922 strict_low_part, certain subregs and zero/sign_extract.
9923
9924 2003-03-11 Neil Booth <neil@daikokuya.co.uk>
9925
9926 * Makefile.in: Update.
9927 * c-common.c: Don't include real.h or except.h.
9928 (REGISTER_PREFIX): Remove.
9929 (builtin_define_std, builtin_define_with_value,
9930 builtin_define_with_int_value, builtin_define_with_hex_fp_value,
9931 builtin_define_type_max, builtin_define_type_precision,
9932 builtin_define_float_constants): Move to c-cppbuiltin.c.
9933 (c_stddef_cpp_builtins): New.
9934 * c-common.h (builtin_define_with_value, c_stddef_cpp_builtins): New.
9935 * c-cppbuiltin.c: New, extracted from c-common.c.
9936 (define__GNUC__): New.
9937 * cppspec.c (lang_specific_driver): Remove support of -no-gcc.
9938 * gcc.c: Remove support of %v1, %v2 and %v3 specs.
9939 (cpp_unique_options): Don't support no-gcc.
9940 (do_spec_1): Remove support of version specs.
9941 * doc/invoke.texi: Remove documentation of %v1, %v2 and %v3.
9942 * doc/passes.texi: Update.
9943 * doc/tm.texi: Update.
9944
9945 2003-03-10 Aldy Hernandez <aldyh@redhat.com>
9946
9947 * dwarf2out.c (multiple_reg_loc_descriptor): Fix thinko.
9948
9949 2003-03-10 Andrew Pinski <apinski@apple.com>
9950
9951 * config/darwin.c (machopic_function_base_name): If dynamic-no-pic
9952 is on should not get here.
9953 (machopic_indirect_data_reference): If dynamic-no-pic is on just
9954 generate high/low parts of the address.
9955 (machopic_legitimize_pic_address): Change MACHOPIC_PURE to
9956 MACHOPIC_INDIRECT. Dynamic-no-pic uses 0 as the pic base. Generate
9957 symbol and labels with a new reg. Dynamic-no-pic does not have a
9958 pic_offset_table_rtx.
9959 (machopic_select_section): Change references of flag_pic to
9960 MACHOPIC_INDIRECT.
9961 (machopic_asm_out_destructor): Likewise.
9962 * config/darwin.h (ASM_DECLARE_UNRESOLVED_REFERENCE): Change
9963 reference of flag_pic to MACHOPIC_INDIRECT.
9964 (MACHO_DYNAMIC_NO_PIC_P): Define as TARGET_DYNAMIC_NO_PIC.
9965 (MACHOPIC_INDIRECT): Is also true when dynamic-no-pic is on.
9966 (MACHOPIC_JUST_INDIRECT): Is also true when dynamic-no-pic is on.
9967 (MACHOPIC_PURE): Is not pure when dynamic-no-pic is on.
9968 * config/i386/darwin.h (MASK_MACHO_DYNAMIC_NO_PIC): Define as
9969 0 for right now as dynamic-no-pic is not implemented on Darwin/ia32.
9970 * config/rs6000/darwin.h (MASK_MACHO_DYNAMIC_NO_PIC): Define.
9971 (TARGET_DYNAMIC_NO_PIC): Define.
9972 (SUBTARGET_SWITCHES): Define, have sub-target switches for
9973 dynamic-no-pic.
9974 (SUBTARGET_OVERRIDE_OPTIONS): Move check for -fpic from
9975 rs6000_override_options to here. Dynamic-no-pic overrides
9976 pic.
9977 (CC1_SPEC): Change from not static then pic to not static and not
9978 dynamic-no-pic then pic.
9979 * config/rs6000/rs6000.c (rs6000_override_options): Move the
9980 check for -fpic and DARWIN_ABI to config/rs6000/darwin.h
9981 (rs6000_legitimize_reload_address): Add case for loading floating in
9982 dynamic-no-pic.
9983 (rs6000_emit_move): Add case for dynamic-no-pic. Change reference
9984 of flag_pic to MACHOPIC_INDIRECT.
9985 (secondary_reload_class): Conditional change the reference of
9986 flag_pic to MACHOPIC_INDIRECT.
9987 (rs6000_output_mi_thunk): Change reference of flag_pic to
9988 MACHOPIC_INDIRECT.
9989 (output_profile_hook): Likewise.
9990 (machopic_output_stub): Non-pure (dynamic-no-pic) is now supported.
9991 * config/rs6000/rs6000.md (movdf_low): Add the case for
9992 MACHO_DYNAMIC_NO_PIC_P.
9993 (call): Change references for flag_pic in TARGET_MACHO to
9994 MACHOPIC_INDIRECT.
9995 (SUBTARGET_OVERRIDE_OPTIONS): Add case where -fpic is on and
9996 -mdynamic-no-pic is on. Also move case for -fpic from rs6000.c.
9997 * doc/invoke.texi (-mdynamic-no-pic): Document.
9998
9999 2003-03-10 Devang Patel <dpatel@apple.com>
10000
10001 PR c++/9394
10002 * gcc.c (DEFAULT_SWITCH_TAKES_ARG): Remove.
10003 (DEFAULT_WORD_SWITCH_TAKES_ARG): Remove.
10004 * gcc.h (DEFAULT_SWITCH_TAKES_ARG): Add.
10005 (DEFAULT_WORD_SWITCH_TAKES_ARG): Add.
10006 * cppspec.c (DEFAULT_SWITCH_TAKES_ARG): Remove.
10007 (DEFAULT_WORD_SWITCH_TAKES_ARG): Remove.
10008
10009 2003-03-10 Steven Bosscher <s.bosscher@student.tudelft.nl>
10010
10011 PR optimization/7189
10012 * toplev.c (rest_of_compilation): Move
10013 check_function_return_warnings up to just after
10014 delete_unreachable_blocks.
10015
10016 2003-03-10 Stephane Carrez <stcarrez@nerim.fr>
10017
10018 * config/m68hc11/m68hc11.h (HARD_REGNO_RENAME_OK): Define.
10019 * config/m68hc11/m68hc11-protos.h (m68hc11_hard_regno_rename_ok):
10020 Declare.
10021 * config/m68hc11/m68hc11.c (m68hc11_hard_regno_rename_ok): New function
10022 for reg rename optimization to avoid using Z and Y registers.
10023
10024 2003-03-10 Stephane Carrez <stcarrez@nerim.fr>
10025
10026 * config/m68hc11/m68hc11.md ("*addhi3_68hc12"): Accept any constant
10027 when adding to X and Y since leax/leay are fast.
10028 ("*addhi3"): Accept 'I' constraint when adding to address register.
10029 ("rotlhi3"): Operand 1 must be a register_operand.
10030 (peephole2): New peephole to optimize some adds.
10031 * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_P): Use 'I' constraint
10032 to represent -2 .. 2 small integer range.
10033
10034 2003-03-10 Stephane Carrez <stcarrez@nerim.fr>
10035
10036 * config/m68hc11/m68hc11.c (m68hc11_gen_rotate): Set carry before
10037 each 16-bit rotation.
10038
10039 2003-03-10 Zack Weinberg <zack@codesourcery.com>
10040
10041 * c-opts.c (add_prefixed_path): Don't use concat. When
10042 prefixing with cpp_GCC_INCLUDE_DIR, copy only the first
10043 cpp_GCC_INCLUDE_DIR_len characters.
10044
10045 2003-03-10 Segher Boessenkool <segher@koffie.nl>
10046
10047 * testsuite/gcc.dg/altivec-9.c: New file.
10048
10049 * config/rs6000/rs6000.c (altivec_frame_fixup): Remove.
10050 (rs6000_emit_prologue): Use rs6000_frame_related instead.
10051
10052 2003-03-10 Aldy Hernandez <aldyh@redhat.com>
10053
10054 * config/rs6000/spe.h: Define __ev64_*64__ to use single element
10055 vectors.
10056 (__ev_convert_u64): Remove macro. Define as inline.
10057 (__ev_convert_s64): Same.
10058
10059 2003-03-10 Aldy Hernandez <aldyh@redhat.com>
10060
10061 * config/rs6000/rs6000.h (DWARF_FRAME_REGISTERS): Define.
10062 (rs6000_stack_t): Add spe_64bit_regs_used.
10063
10064 * config/rs6000/rs6000.c (rs6000_stack_info): Calculate
10065 spe_64bit_regs_used, and use it to determine the size of the
10066 frame.
10067 (spe_func_has_64bit_regs_p): New.
10068 (spe_synthesize_frame_save): New.
10069 (rs6000_frame_related): Handle SPE synthetic registers.
10070 (rs6000_emit_prologue): Only save in 64-bits if the function used
10071 any registers in 64-bit mode.
10072 (rs6000_emit_epilogue): Same, but for restore.
10073
10074 2003-03-10 Richard Earnshaw <rearnsha@arm.com>
10075
10076 * arm.h (enum floating_point_type): Delete. Replace with...
10077 (enum fputype): ... new.
10078 (FPUTYPE_DEFAULT): Renamed from FP_DEFAULT. Values reworked.
10079 * linux-elf.h (FPUTYPE_DEFAULT): Likewise.
10080 * arm.md (attr fpu): Reworked for new underlying enum values.
10081 * arm.c (arm_fpu_arch): Now enum fputype.
10082 (arm_fpu_tune): Renamed from arm_fpu. Now enum fputype.
10083 (arm_override_options, arm_output_epilogue, arm_expand_prologue):
10084 Update uses of arm_fpu_arch and arm_fpu_tune.
10085
10086 2003-03-10 Josef Zlomek <zlomekj@suse.cz>
10087
10088 * cfgcleanup.c (outgoing_edges_match): Compare the jump tables.
10089 (try_crossjump_to_edge): Replace refereces to one jump table by
10090 references to identical jump table.
10091 * loop.c (load_mems): Moved setting the JUMP_LABEL to replace_label.
10092 (replace_label): Moved to rtlanal.c.
10093 (struct rtx_pair): Moved to rtl.h.
10094 * rtl.h (struct rtx_pair): Moved from loop.c.
10095 (replace_label): New extern function.
10096 (subrtx_p): New extern function.
10097 (tablejump_p): New extern function.
10098 * rtlanal.c (replace_label): Moved from loop.c.
10099 (subrtx_p_1): New static function.
10100 (subrtx_p): New function.
10101 (tablejump_p): New function.
10102
10103 2003-03-10 Jan Hubicka <jh@suse.cz>
10104
10105 * cfgcleanup.c (try_optimize_cfg): Fix thinko in previous patch.
10106
10107 * cfgcleanup.c (merge_blocks): Return where to iterate next.
10108 (try_optimize_cfg): Use return value of merge_blocks
10109
10110 2003-03-10 Michael Matz <matz@suse.de>
10111
10112 * cfg.c (unchecked_make_edge): New.
10113 (cached_make_edge): Use it.
10114 * basic-block.h (unchecked_make_edge): Declare.
10115 * cfglayout.c (cfg_layout_duplicate_bb): Use it.
10116
10117 2003-03-10 Richard Earnshaw <rearnsha@arm.com>
10118
10119 * fpa.md: New file. Move all patterns relating to FPA co-processor
10120 to here...
10121 * arm.md: ... from here.
10122 (cirrus.md, fpa.md): Include at end of description.
10123 (divsf3, divdf3, modsf3, movdf3, sqrtsf2, sqrtdf2): New expands.
10124 (pic_load_addr_based): Remove register constraint from expander.
10125 (seq, sne, sgt, sle, slt, sge, sgeu, sleu, sgtu, sltu, sunordered)
10126 (sordered, sungt, sunle, sunge, sunlt): Likewise.
10127 (eh_epilogue, tablejump): Likewise.
10128
10129 2003-03-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10130
10131 * tree.c (substitute_in_expr, case 'e'): Only make recursive call
10132 on operands if it has a PLACEHOLDER_EXPR.
10133
10134 2003-03-09 David Edelsohn <edelsohn@gnu.org>
10135 Mostafa Hagog
10136
10137 * config/rs6000/rs6000.md (movsi_update1): Add TARGET_UPDATE final
10138 condition.
10139
10140 2003-03-09 Neil Booth <neil@daikokuya.co.uk>
10141
10142 * config/frv/frv.h: Use TARGET_CPU_CPP_BUILTINS, not CPP_PREDEFINES.
10143 * config/ip2k/ip2k.h: Similarly.
10144 * config/m32r/m32r.h: Similarly.
10145 * config/m68hc11/m68hc11.h: Similarly.
10146 * config/mn10200/mn10200.h: Similarly.
10147 * config/mn10300/mn10300.h: Similarly.
10148 * config/pdp11/pdp11.h: Similarly.
10149 * config/v850/v850.h: Similarly.
10150 * config/rs6000/vxworks.h: Similarly for TARGET_OS_CPP_BUILTINS.
10151 * config/v850/retms.h: Similarly for TARGET_OS_CPP_BUILTINS.
10152 * config/mips/iris3.h: Remove #if 0 block.
10153
10154 2003-03-09 Roger Sayle <roger@eyesopen.com>
10155 Joern Rennecke <joern.rennecke@superh.com>
10156
10157 * gcc.c (do_spec_1) ['{']: Revert 2003-02-24 patch. Don't handle
10158 pending argument upon return from handle_braces here.
10159 (do_spec_2): Instead handle it upon return from do_spec_1 here.
10160
10161 2003-03-09 Roger Sayle <roger@eyesopen.com>
10162 Joern Rennecke <joern.rennecke@superh.com>
10163
10164 * gcc.c (do_spec_1) ['{']: Revert 2003-02-24 patch. Don't handle
10165 pending argument upon return from handle_braces here.
10166 (do_spec_2): Instead handle it upon return from do_spec_1 here.
10167
10168 2003-03-09 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
10169
10170 * varasm.c (make_decl_one_only): Use declare_weak().
10171
10172 2003-03-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10173
10174 PR middle-end/9986
10175 * c-common.c (c_common_nodes_and_builtins): Initialize target builtins
10176 after the common builtins.
10177 * pa-hpux.h (DONT_HAVE_FPUTC_UNLOCKED): Define.
10178 * pa.c (TARGET_INIT_BUILTINS): Define.
10179 (pa_init_builtins): New function.
10180
10181 * pa.md (call, call_value, sibcall, sibcall_value): When sufficient
10182 space has been allocated for the outgoing arguments, set the arg
10183 pointer for a call emitted after virtuals have been instantiated
10184 using the stack pointer offset, otherwise abort.
10185
10186 2003-03-09 DJ Delorie <dj@redhat.com>
10187
10188 * config/stormy16/stormy16.h (DWARF_LINE_MIN_INSTR_LENGTH): Revert.
10189
10190 2003-03-09 Richard Earnshaw <rearnsha@arm.com>
10191
10192 * arm.md (fix_truncsfsi2, fix_truncdfsi2, arm_fix_truncsfsi2)
10193 (arm_fix_truncdfsi2): Add missing fix in floating point mode before
10194 conversion to integer.
10195 * cirrus.md (cirrus_truncsfsi2, cirrus_truncdfsi2): Likewise.
10196
10197 2003-03-09 Roger Sayle <roger@eyesopen.com>
10198
10199 * builtins.def: Fix typo and improve grammar.
10200 * loop-unroll.c (decide_peel_completely): Tidy log message.
10201
10202 2003-03-09 Kazu Hirata <kazu@cs.umass.edu>
10203
10204 * config/h8300/h8300.md (*tstsi_upper_bit): New.
10205 (*iorsi3_e2f): Likewise.
10206
10207 2003-03-08 Kazu Hirata <kazu@cs.umass.edu>
10208
10209 * config/h8300/h8300.c (h8300_and_costs): Return the number of
10210 assembly instructions needed.
10211 (h8300_shift_costs): Likewise.
10212
10213 2003-03-09 Hans-Peter Nilsson <hp@bitrange.com>
10214
10215 * config/cris/aout.h (ENDFILE_SPEC): Undef.
10216
10217 * optabs.c (gen_move_insn): Move logic for synthesizing MODE_CC
10218 moves from here ...
10219 * expr.c (emit_move_insn_1): ... to here.
10220
10221 * config/cris/aout.h (CRIS_CPP_SUBTARGET_SPEC): Move -D__AOUT__ to...
10222 (TARGET_OS_CPP_BUILTINS): New macro.
10223 * config/cris/cris.h (CRIS_CPP_SUBTARGET_SPEC): Move -D__ELF__ to...
10224 (TARGET_OS_CPP_BUILTINS): New macro.
10225 (CPP_PREDEFINES): Don't define. Move old definitions and...
10226 (CPP_SPEC): ...move -D__CRIS_ABI_version=2 to...
10227 (TARGET_CPU_CPP_BUILTINS): New macro.
10228 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Move constant
10229 definitions and the optional __PIC__, __pic__ and
10230 __NO_UNDERSCORES__ definitions to...
10231 (TARGET_OS_CPP_BUILTINS): New macro.
10232
10233 * flags.h (flag_leading_underscore): Declare.
10234
10235 * c-opts.c (c_common_post_options): On fopen failure, return
10236 false, not NULL.
10237
10238 2003-03-08 Hans-Peter Nilsson <hp@bitrange.com>
10239
10240 * config/cris/cris_abi_symbol.c: #include tconfig.h and tm.h, not
10241 config.h.
10242 * config/cris/cris.h (HAVE_GAS_HIDDEN): Don't define here.
10243 * config/cris/aout.h (HAVE_GAS_HIDDEN): Undef.
10244
10245 2003-03-08 Neil Booth <neil@daikokuya.co.uk>
10246
10247 * config/sh/rtemself.h (TARGET_OS_CPP_BUILTINS): Use instead of
10248 CPP_PREDEFINES.
10249 * config/sh/rtems.h (TARGET_OS_CPP_BUILTINS): Use instead of
10250 CPP_PREDEFINES.
10251
10252 2003-03-08 Neil Booth <neil@daikokuya.co.uk>
10253
10254 * c-common.h (c_common_init, c_common_post_options): Update.
10255 * c-objc-common.c (c_objc_common_init): Update for new prototype.
10256 * c-opts.c (saved_lineno): New.
10257 (c_common_post_options, c_common_init): Update prototypes,
10258 move call to cpp_read_main_file from latter to former.
10259 * c-tree.h (c_ojbc_common_init): Update.
10260 * langhooks-def.h (lhd_post_options): New.
10261 (LANG_HOOKS_INIT, LANG_HOOKS_POST_OPTIONS): Update.
10262 * langhooks.c (lhd_post_options): New.
10263 * langhooks.h (struct lang_hooks): Update post_options and init hooks.
10264 * toplev.c (no_backend): New.
10265 (process_options): Call post_options hook and set main_input_filename
10266 and input_filename here.
10267 (lang_dependent_init, do_compile): post_options hook moved to
10268 process_options.
10269 * objc/objc-act.c (objc_init): Update prototype.
10270 * objc/objc-act.h (objc_init): Update prototype.
10271
10272 2003-03-08 Roger Sayle <roger@eyesopen.com>
10273
10274 * emit-rtl.c (gen_lowpart): Don't attempt to load a part of
10275 a complex or vector type, using a load in the original mode.
10276
10277 2003-03-08 Jan Hubicka <jh@suse.cz>
10278
10279 * Makefile.in (cgraph.o): Depend on gt-cgraph.h and varray.h.
10280 * gt-cgraph.h: New GC file.
10281 * cgraph.c (known_fns): New static variable.
10282 (cgraph_node): Add the decl into varray.
10283
10284 2003-03-08 Hans-Peter Nilsson <hp@bitrange.com>
10285
10286 * config/mmix/mmix.md ("*movcc_expanded"): Add missing alternatives.
10287
10288 2003-03-08 Richard Earnshaw <rearnsha@arm.com>
10289
10290 * arm.c (fpa_rhs_operand, fpa_add_operand, const_double_rtx_ok_for_fpa)
10291 (neg_const_double_ok_for_fpa, output_mov_long_double_fpa_from_arm)
10292 (output_mov_long_double_arm_from_fpa, output_mov_double_fpa_from_arm)
10293 (output_mov_double_arm_from_fpa): Renamed to use fpa instead of fpu.
10294 All callers changed.
10295 * arm.md, arm.h, arm-protos.h: Updated.
10296
10297 * arm.h (enum reg_class FPA_REGS): Renamed from FPU_REGS.
10298 (CLASS_MAX_NREGS, REGISTER_MOVE_COST, REG_CLASS_FROM_LETTER): Updated.
10299 * arm.c (arm_regno_class, f_register_operand): Updated.
10300
10301 2003-03-08 Hans-Peter Nilsson <hp@bitrange.com>
10302
10303 * config/cris/cris.h: Remove EGCS references.
10304 (CPP_SPEC): Remove "-$".
10305 (INIT_CUMULATIVE_ARGS): Adjust parameter name to FNDECL.
10306
10307 2003-03-08 Neil Booth <neil@daikokuya.co.uk>
10308
10309 * config/stormy16/stormy16.h (TARGET_CPU_CPP_BUILTINS): Use in
10310 preference to CPP_PREDEFINES.
10311
10312 2003-03-08 Neil Booth <neil@daikokuya.co.uk>
10313
10314 * cppinit.c (cpp_finish_options): Set first_unused_line to -1.
10315
10316 2003-03-08 Kazu Hirata <kazu@cs.umass.edu>
10317
10318 * config/h8300/h8300.md (*extzv_16_8): New.
10319
10320 2003-03-08 Jan Hubicka <jh@suse.cz>
10321
10322 * c-decl.c: (finish_function): Update call of tree_inlinable_function_p.
10323 * cgraph.h: (cgraph_local_info): Add can_inline_once
10324 (cgraph_global_info): Add inline_once.
10325 (cgraph_node): Add previous.
10326 (cgraph_remove_node): New.
10327 * cgraphunit.c (cgraph_mark_functions_to_inline_once): New static
10328 function.
10329 (cgraph_optimize): Call it.
10330 (cgraph_finalize_function): Set inlinable flags.
10331 (cgraph_finalize_compilation_unit): Actually remove the reclaimed nodes.
10332 (cgraph_mark_functions_to_output): Use new inlining heuristics flags.
10333 (cgraph_expand_function): Likewise.
10334 * cgraph.c
10335 (cgraph_node): Put nodes into doubly linked chain.
10336 (cgraph_remove_node): New function.
10337 * flags.h (flag_inline_functions_called_once): Declare.
10338 * tree-inline.c: Include cgraph.h
10339 (inlinable_functions_p): Add extra argument to bypass limits.
10340 (expand_call_inline): Obey cgraph flag.
10341 * tree-inline.h (tree_inlinable_function_p): Update prototype.
10342
10343 2003-03-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10344
10345 * gcse.c (bypass_block, bypass_conditional_jumps): Do not create
10346 irreducible loops.
10347
10348 * loop-unroll.c (unroll_loop_runtime_iterations): Update irreducible
10349 loops info correctly.
10350
10351 2003-03-08 Eric Botcazou <ebotcazou@libertysurf.fr>
10352
10353 PR middle-end/7796
10354 * unroll.c (calculate_giv_inc): Handle constants being
10355 loaded with LSHIFTRT.
10356
10357 2003-03-07 David Edelsohn <edelsohn@gnu.org>
10358
10359 * config/rs6000/rs6000.c (processor_target_table): Do not disable
10360 GP optional instructions on Power3, Power4, 620, and 630.
10361
10362 2003-03-07 Kazu Hirata <kazu@cs.umass.edu>
10363
10364 * calls.c: Fix comment formatting.
10365 * cfgloopanal.c: Likewise.
10366 * cfgloopmanip.c: Likewise.
10367 * combine.c: Likewise.
10368 * dwarf2out.c: Likewise.
10369 * ggc-common.c: Likewise.
10370 * langhooks.c: Likewise.
10371 * loop-unroll.c: Likewise.
10372 * loop.c: Likewise.
10373 * ra-build.c: Likewise.
10374 * sbitmap.c: Likewise.
10375 * toplev.c: Likewise.
10376
10377 2003-03-07 James E Wilson <wilson@tuliptree.org>
10378
10379 * config/sh/sh.h (HARD_REGNO_NREGS): Round up the XD register count.
10380
10381 2003-03-07 Geoffrey Keating <geoffk@apple.com>
10382
10383 * objc/lang-specs.h (objective-c-header): Use .gch not .pch;
10384 support -no-integrated-cpp.
10385
10386 * c-pch.c (get_ident): Use c_language_kind and flag_objc rather
10387 than langhooks.name.
10388
10389 2003-03-07 Michael Matz <matz@suse.de>
10390
10391 * df.h (enum df_ref_flags.DF_REF_STRIPPED): New.
10392 (DF_FOR_REGALLOC): New.
10393 * df.c (df_ref_record): Set DF_REF_STRIPPED.
10394 (read_modify_subreg_p): Simplify.
10395 (df_def_record_1, df_uses_record): Set DF_REF_MODE_CHANGE more often.
10396 Use DF_FOR_REGALLOC.
10397 * ra.h (struct web): New member subreg_stripped.
10398 (invalid_mode_change_regs): Declare.
10399 * ra.c (invalid_mode_change_regs): New.
10400 (init_ra): Initialize it.
10401 * ra-build.c (init_one_web_common, remember_web_was_spilled): Use it.
10402 Use CANNOT_CHANGE_MODE_CLASS as ifdef guard.
10403 (reinit_one_web, parts_to_web_1): Deal with subreg_stripped.
10404 * ra-colorize.c (colorize_one_web): Use invalid_mode_change_regs.
10405 Use CANNOT_CHANGE_MODE_CLASS as ifdef guard.
10406
10407 2003-03-07 Richard Earnshaw <rearnsha@arm.com>
10408
10409 * arm.md (addsf3, adddf3, subsf3, subdf3, mulsf3, muldf3, negsf2)
10410 (negdf2, abssi2, abssf2, absdf2, floatsisf2, floatsidf2)
10411 (fix_truncsfsi2, fix_truncdfsi2, truncdfsf2): Moved back into main
10412 machine description file from ...
10413 * cirrus.md: ... here.
10414
10415 2003-03-06 Kazu Hirata <kazu@cs.umass.edu>
10416
10417 * config/h8300/h8300.md (a peephole2): Don't use
10418 reg_overlap_mentioned_p.
10419
10420 2003-03-06 Geoffrey Keating <geoffk@apple.com>
10421
10422 * c-pch.c: Include langhooks.h.
10423 (IDENT_LENGTH): New.
10424 (get_ident): New.
10425 (pch_ident): Delete.
10426 (pch_init): Use get_ident, IDENT_LENGTH.
10427 (c_common_valid_pch): Likewise. Also, use actual language
10428 in warning message.
10429 * Makefile.in (c-pch.o): Add langhooks.h to dependencies.
10430
10431 * objc/config-lang.in (gtfiles): Add objc-act.c. Remove duplicate
10432 c-parse.in.
10433 * objc/Make-lang.in (objc/objc-act.o): Add dependency on
10434 gt-objc-objc-act.h.
10435 (gt-objc-objc-act.h): New rule.
10436 * objc/lang-specs.h: Support PCH.
10437 * objc/objc-act.c: Include gt-objc-objc-act.h.
10438 (objc_add_static_instance): Move num_static_inst out, mark for PCH.
10439 (build_selector_reference_decl): Move idx out, mark for PCH.
10440 (build_class_reference_decl): Likewise.
10441 (build_objc_string_decl): Move *_idx out, mark for PCH.
10442 (build_tmp_function_decl): Move xxx out, mark for PCH.
10443
10444 2003-03-06 Dale Johannesen <dalej@apple.com>
10445
10446 * config/rs6000/rs6000.c (rs6000_binds_local_p): Consider
10447 global functions for inlining on Darwin.
10448
10449 2003-03-06 Vladimir Makarov <vmakarov@redhat.com>
10450
10451 * haifa-sched.c (schedule_block): Don't call reorder when sorting
10452 is prohibited.
10453
10454 2003-03-06 Neil Booth <neil@daikokuya.co.uk>
10455
10456 * Makefile.in (c-ppoutput.o): Update.
10457 * c-common.h (init_pp_output): New.
10458 (preprocess_file): Update.
10459 * c-lex.c (init_c_lex): Move mbchar initialization to cpplib.
10460 Register builtins.
10461 * c-opts.c (c_common_init): Call init_pp_output if preprocessing.
10462 Make call to cpp_read_main_file common to whether preprocessing
10463 or not. Don't register builtins.
10464 * c-ppoutput.c: Include c-pragma.h.
10465 (setup_callbacks): Rename init_pp_output.
10466 (preprocess_file): No longer setup callbacks or call
10467 cpp_read_main_file.
10468 * cpphash.h (_cpp_init_mbchar): New.
10469 * cppinit.c (init_library): Call _cpp_init_mbchar.
10470 * cpplex.c (_cpp_init_mbchar): New.
10471
10472 2003-03-06 Roger Sayle <roger@eyesopen.com>
10473
10474 * emit-rtl.c (gen_lowpart): When requesting the low-part of a
10475 MEM, try loading the MEM into a register and taking the low-part
10476 of that, to help CSE see the use of the MEM in its true mode.
10477
10478 2003-03-05 Tom Tromey <tromey@redhat.com>
10479
10480 * config/stormy16/stormy16.h (DWARF_LINE_MIN_INSTR_LENGTH):
10481 Define.
10482
10483 2003-03-05 Nick Clifton <nickc@cambridge.redhat.com>
10484
10485 * config/stormy16/stormy16.md ("*eqbranchsi"): Remove '+' on
10486 operand 2.
10487 ("*ineqbranchsi"): Likewise.
10488
10489 2003-03-05 Andrew Haley <aph@cambridge.redhat.com>
10490
10491 * config/stormy16/stormy16.c (xstormy16_expand_prologue): Delete
10492 mem_fake_push_rtx. Instead construct a SEQUENCE to show the
10493 register store followed by a stack increment.
10494
10495 2003-03-05 Chris Moller <cmoller@redhat.com>
10496
10497 * config/stormy16/stormy16.c (REG_NEEDS_SAVE): added a term
10498 to inhibit saving CARRY_REGS.
10499
10500 * config/stormy16/stormy16.c (xs_hi_general_operand):
10501 added predicate to detect and error-out on out-of-range
10502 const_ints for movhi.
10503 * config/stormy16/stormy16.md (movhi): use
10504 xs_hi_general_operand.
10505
10506 * config/stormy16/stormy16.c (xstormy16_expand_prologue):
10507 added a check for local vbl size overflow.
10508 * config/stormy16/stormy16.c (xs_hi_nonmemory_operand):
10509 added predicate to detect and error-out on out-of-range
10510 const_ints for addhi and subhi.
10511 * config/stormy16/stormy16.md (addhi3, addchi4, addchi5,
10512 subhi3, subchi4, subchi5): used xs_hi_nonmemory_operand.
10513
10514 * config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
10515 add a term to accept PRE_MODIFY addresses.
10516 * config/stormy16/stormy16.c (xstormy16_expand_move):
10517 add code to expand PRE_MODIFY addresses to an add followed
10518 by a move.
10519
10520 2003-03-06 Jason Merrill <jason@redhat.com>
10521
10522 * tree-inline.c (inlinable_function_p): Revert earlier change
10523 pending investigation.
10524
10525 2003-03-06 Kazu Hirata <kazu@cs.umass.edu>
10526
10527 * config/h8300/h8300.md (a new peephole2): New.
10528
10529 2003-03-06 Jan Hubicka <jh@suse.cz>
10530
10531 * cgraph.c (cgraph_node): Do not confuse nested functions and methods.
10532
10533 2003-03-06 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10534
10535 * dwarf2out.c (size_of_die): Compute size of external reference to
10536 die correctly.
10537
10538 2003-03-06 Hans-Peter Nilsson <hp@bitrange.com>
10539
10540 * config/mmix/mmix.md ("*movcc_expanded"): New pattern.
10541 ("movcc", "movcc_uns", "movcc_fp", "movcc_fpeq", "movcc_fun"): New
10542 expanders.
10543
10544 2003-03-05 Roger Sayle <roger@eyesopen.com>
10545
10546 * expr.h (lang_expand_expr): Delete obsolete prototype.
10547
10548 2003-03-05 Kazu Hirata <kazu@cs.umass.edu>
10549
10550 * emit-rtl.c (gen_highpart_mode): Fix a comment typo.
10551
10552 2003-03-05 Kazu Hirata <kazu@cs.umass.edu>
10553
10554 * config/h8300/h8300.md (a peephole2): Generalize to
10555 accept a memory operand.
10556
10557 2003-03-05 Olivier Hainque <hainque@act-europe.fr>
10558
10559 * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Add '+'.
10560 * config/alpha/alpha.c (print_operand, case '+'): New.
10561 * config/alpha/alpha.md (call_osf_1_noreturn): Document and use.
10562 (call_value_osf_1_noreturn): Likewise.
10563
10564 2003-03-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10565
10566 * stmt.c (fixup_gotos): Change meaning of DONT_JUMP_IN.
10567 (expand_end_bindings): Likewise.
10568
10569 2003-03-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10570
10571 * pa.md (return_external_pic): Add !TARGET_PA_20 to constraint.
10572 (epilogue): Don't generate return_external_pic when emitting PA 2.0
10573 code.
10574
10575 2003-03-05 Aldy Hernandez <aldyh@redhat.com>
10576
10577 * doc/tm.texi: Document TARGET_DWARF_REGISTER_SPAN.
10578
10579 * config/rs6000/rs6000.c (rs6000_dwarf_register_span): New.
10580
10581 * hooks.c (hook_rtx_rtx_null): New.
10582
10583 * hooks.h (hook_rtx_rtx_null): Protoize.
10584
10585 * target-def.h (TARGET_DWARF_REGISTER_SPAN): New macro.
10586 (TARGET_INITIALIZER): Add TARGET_DWARF_REGISTER_SPAN.
10587
10588 * target.h (struct gcc_target): Add dwarf_register_span.
10589
10590 * dwarf2out.c (multiple_reg_loc_descriptor): New.
10591 (one_reg_loc_descriptor): New.
10592 (reg_loc_descriptor): Add support for values that span more than
10593 one register.
10594
10595 2003-03-05 Jan Hubicka <jh@suse.cz>
10596
10597 * Makefile.in (calls.o, toplev.o alias.o): Depend on cgraph.h
10598 * alias.c: Include cgraph.h
10599 (mark_constant_function): Use cgraph_rtl_info.
10600 * calls.c: Include cgraph.h
10601 (flags_from_decl_or_type): Use cgraph_rtl_info to find pure and const
10602 calls.
10603 (expand_call): Use cgraph_rtl_info to set preferred stack boundary.
10604 * cgraph.c (cgraph_rtl_info): New function.
10605 * cgraph.h (cgraph_rtl_info): Declare
10606 (cgraph_rtl_info): Likewise.
10607 * function.h (struct function): Add recursive_call_emit.
10608 * toplev.c: Include cgraph.h.
10609 (rest_of_compilation): Set preferred_incoming_stack_boundary.
10610
10611 2003-03-05 Kazu Hirata <kazu@cs.umass.edu>
10612
10613 * config/h8300/h8300.c (output_simode_bld): Clear the
10614 destination first if possible.
10615 * config/h8300/h8300.md (extzv_1_r_h8300hs): Add an
10616 alternative.
10617 (extzv_1_r_inv_h8300hs): Likewise.
10618
10619 2003-03-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10620
10621 * basic-block.h (EDGE_IRREDUCIBLE_LOOP, EDGE_ALL_FLAGS): New.
10622 * cfg.c (dump_edge_info): Add EDGE_IRREDUCIBLE_LOOP flag dump.
10623 * cfgloop.c (flow_loop_free): Made global.
10624 (establish_preds): New static function.
10625 (flow_loop_tree_node_add): Handle subloops of added loop correctly.
10626 (get_loop_exit_edges): New.
10627 (verify_loop_structure): Verify EDGE_IRREDUCIBLE_LOOP flags.
10628 * cfgloop.h (flow_loop_free, get_loop_exit_edges, unloop): Declare.
10629 * cfgloopanal.c (mark_irreducible_loops): Mark edges in irreducible
10630 loops.
10631 * cfgloopmanip.c (loop_delete_branch_edge): Allow to test for
10632 removability of an edge.
10633 (fix_irreducible_loops): New static function.
10634 (find_path, remove_path): Add ability to remove enclosing loops.
10635 (unloop): New.
10636 (copy_bbs, duplicate_loop_to_header_edge): Use EDGE_IRREDUCIBLE_LOOP
10637 flags.
10638 * cfgrtl.c (verify_flow_info): Handle EDGE_IRREDUCIBLE_LOOP flag.
10639 * loop-unroll.c (peel_loops_completely): Do not duplicate loop if
10640 not neccessary.
10641 (decide_peel_completely, peel_loops_completely): Allow complete peeling
10642 of non-duplicable once rolling loops.
10643 * loop-unswitch.c (unswitch_loop): Update EDGE_IRREDUCIBLE_LOOP flags.
10644
10645 2003-03-05 J"orn Rennecke <joern.rennecke@superh.com>
10646
10647 * sh.h (OVERRIDE_OPTIONS): For TARGET_SHMEDIA, the minimum value
10648 for align_jumps is 4.
10649
10650 (SECONDARY_INPUT_RELOAD_CLASS): If reloading a PLUS into FPUL,
10651 use GENERAL_REGS.
10652
10653 2003-03-05 Stephane Carrez <stcarrez@nerim.fr>
10654
10655 * config/m68hc11/m68hc11.h (PAD_VARARGS_DOWN): Define and return
10656 according to va_arg type.
10657 (EXPAND_BUILTIN_VA_ARG): Remove.
10658 * config/m68hc11/m68hc11.c (m68hc11_va_arg): Remove.
10659 * config/m68hc11/m68hc11-protos.h (m68hc11_va_arg): Remove.
10660
10661 2003-03-05 David Edelsohn <edelsohn@gnu.org>
10662
10663 * config/rs6000/rs6000.c (rs6000_variable_issue): Remove unnecessary
10664 else clauses.
10665
10666 2003-03-05 Michael Matz <matz@suse.de>
10667
10668 * i386/i386.c (ix86_save_reg): Also test
10669 current_function_uses_const_pool.
10670
10671 2003-03-05 Michael Matz <matz@suse.de>
10672
10673 * unwind.h: Add the GPL exception.
10674 * Makefile.in (USER_H): Add unwind.h.
10675
10676 2003-03-05 Eric Botcazou <ebotcazou@libertysurf.fr>
10677
10678 PR c/9799
10679 * c-typeck.c (push_init_level): Add sanity check.
10680
10681 2003-03-05 Jan Hubicka <jh@suse.cz>
10682
10683 * toplev.c (rest_of_compilation): Deffer RTL compilation only when
10684 RTL inlining is done.
10685
10686 * cgraphunit.c (cgraph_mark_local_functions): New local function.
10687 (cgraph_optimize): Mark local functions.
10688 * i386-protos.h (init_cumulative_args): Update prototype.
10689 * i386.c (init_cumulative_args): Use register passing convention for
10690 local functions.
10691
10692 * cgraph.c (cgraph_global_info_ready): New global variable
10693 (cgraph_local_info, cgraph_global_info): New functions.
10694 * cgraph.h (struct cgraph_local_info, cgraph_global_info): New
10695 structures.
10696 (cgraph_local_info, cgraph_global_info, cgraph_global_info_ready):
10697 Declare.
10698 * cgraphunit.c (cgraph_finalize_function): Set inline_many.
10699 (cgraph_mark_functions_to_output): Use inline_many.
10700 (cgraph_expand_function): Free DECL_SAVED_TREE uncondtionally.
10701 (cgraph_expand_functions): Expand inline functions last.
10702 (cgraph_optimize): Do not emit uneeded functions.
10703
10704 2003-03-04 Steve Ellcey <sje@cup.hp.com>
10705
10706 * expr.c (convert_modes): Check for legal hard register.
10707
10708 2003-03-04 Tom Tromey <tromey@redhat.com>
10709
10710 * doc/sourcebuild.texi (Front End Directory): Document tags.
10711 * configure: Rebuilt.
10712 * configure.in (target_list): Added tags.
10713 * Makefile.in (TAGS): Depend on lang.clean. Include subdirectory
10714 TAGS files by reference.
10715 * objc/Make-lang.in (objc.tags): New target.
10716
10717 2003-03-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10718
10719 * gcov-io.h (gcov_save_position, gcov_reserve_length, gcov_resync,
10720 gcov_skip, gcov_skip_string, gcov_write_unsigned, gcov_write_counter,
10721 gcov_write_string, gcov_read_unsigned, gcov_read_counter,
10722 gcov_read_string, gcov_write_length): Modified to enable reading/
10723 writing of whole .da file just once.
10724 (da_file_open, da_file_close, da_file_eof, da_file_error,
10725 da_file_position, da_file_seek, da_file_write, da_file_read): New
10726 functions.
10727 (actual_da_file, actual_da_file_position, actual_da_file_length,
10728 actual_da_file_buffer, actual_da_file_buffer_size): New static
10729 functions.
10730 * libgcov.c (gcov_exit): Modified to read/write the whole .da file at
10731 just once.
10732
10733
10734 2003-03-04 Andreas Schwab <schwab@suse.de>
10735
10736 * config/m68k/m68k.c (m68k_output_function_prologue): Fix CFA
10737 offset without frame pointer.
10738
10739 2003-03-04 Steve Ellcey <sje@cup.hp.com>
10740
10741 * expr.c (expand_expr): Call promote_mode to set unsignedp.
10742
10743 2003-03-04 Daniel Jacobowitz <drow@mvista.com>
10744
10745 * configure.in: Don't always define TARGET_SYSTEM_ROOT.
10746 * configure: Regenerated.
10747 * gcc.c: Check whether TARGET_SYSTEM_ROOT is defined.
10748
10749 2003-03-04 Andreas Jaeger <aj@suse.de>
10750
10751 * configure.in: Check for <memcheck.h>.
10752 * configure: Regenerated.
10753
10754 * config.in: Define HAVE_MEMCHECK_H.
10755
10756 * ggc-common.c: Use <memcheck.h> if available instead of
10757 <valgrind.h>.
10758 * ggc-page.c: Likewise.
10759 * cppfiles.c: Likewise.
10760
10761 2003-03-04 Kazu Hirata <kazu@cs.umass.edu>
10762
10763 * config/h8300/h8300.md (*extzv_8_8): Fix cc and lengths.
10764
10765 2003-03-04 Eric Botcazou <ebotcazou@libertysurf.fr>
10766
10767 PR c/9262
10768 * c-typeck.c (do_case): Attach the first case label to the SWITCH_BODY.
10769 (c_finish_case): Rechain the next statements to the SWITCH_STMT.
10770
10771 2003-03-04 Jan Hubicka <jh@suse.cz>
10772
10773 * doc/invoke.texi: Document that unit-at-a-time is enabled for -O3
10774 * toplev.c (parse_options_and_default_flags): Enable flag_unit_at_a_time
10775 for -O3.
10776
10777 2003-03-04 Nathanael Nerode <neroden@gcc.gnu.org>
10778
10779 * configure.in: Delete three unused variables. Move a variable
10780 definition closer to its use. Simplify use_collect2 logic. Start to
10781 organize. Simplify tests for in-tree gas and ld.
10782 * configure: Regenerate.
10783
10784 2003-03-04 Neil Booth <neil@daikokuya.co.uk>
10785
10786 * Makefile.in: Update.
10787 * c-common.c (flag_no_line_commands, flag_no_output,
10788 flag_dump_macros, flag_dump_includes): New.
10789 * c-common.h (flag_no_line_commands, flag_no_output,
10790 flag_dump_macros, flag_dump_includes, preprocess_file): New.
10791 (init_c_lex): Update prototype.
10792 * c-lex.c (init_c_lex): Update prototype; move some code to
10793 c_common_init.
10794 * c-opts.c (preprocess_file): Subsume into c_common_init.
10795 (c_common_decode_option): Update flags.
10796 (c_common_init): Move code from preprocess_file and init_c_lex.
10797 (sanitize_cpp_opts): Update.
10798 * c-ppoutput.c: New, cppmain.c almost verbatim.
10799 * cpphash.h (struct printer): Remove.
10800 (struct cpp_reader): Remove print.
10801 * cpplib.h (dump_none, dump_only, dump_names, dump_definitions,
10802 cpp_preprocess_file): Remove.
10803 (struct cpp_options): Remove no_output, no_line_commands, dump_macros
10804 and dump_includes.
10805 * cppmain.c: Remove.
10806 * doc/passes.texi: Update.
10807
10808 2003-03-04 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10809
10810 * function.c (STACK_ALIGNMENT_NEEDED): New macro. Default to 1.
10811 (assign_stack_local_1): Perform overall stack alignment only when
10812 STACK_ALIGNMENT_NEEDED is non-zero.
10813 * doc/tm.texi (STACK_ALIGNMENT_NEEDED): Document.
10814
10815 * pa.c (compute_frame_size): Rename fsize to size. Account for
10816 alignment to a word boundary before general register save block. Only
10817 account for double-word alignment before floating point register save
10818 block if one or more are saved. Don't allocate space for %r3 when
10819 frame pointer is needed.
10820 (hppa_expand_prologue): Include alignment to word boundary in local
10821 frame size.
10822 * pa.h (STARTING_FRAME_OFFSET): Define to 8 on both 32 and 64-bit ports.
10823 (STACK_ALIGNMENT_NEEDED): Define.
10824
10825 2003-03-04 Kevin Buettner <kevinb@redhat.com>
10826
10827 * dwarf2out.c (rtl_for_decl_location): Don't return NULL_RTX for
10828 global register variables.
10829
10830 2003-03-04 Alexandre Oliva <aoliva@redhat.com>
10831
10832 * reload.c (reload_adjust_reg_for_mode): New function.
10833 (subst_reloads): Call it.
10834 (operands_match_p): Adjust registers using HARD_REGNO_NREGS.
10835 * reload.h (reload_adjust_reg_for_mode): Declare.
10836 * reload1.c (emit_input_reload_insns, emit_output_reload_insns):
10837 Call it.
10838
10839 2003-03-03 James E Wilson <wilson@tuliptree.org>
10840
10841 * optabs.c (add_equal_note): Delete SUBREG_REG use.
10842 Fixes PR c/7872.
10843
10844 2003-03-03 Kazu Hirata <kazu@cs.umass.edu>
10845
10846 * config/h8300/h8300.md (*ixorsi3_ashift_16): New.
10847 (*ixorsi3_lshiftrt_16): New.
10848 (*iorsi3_ashift_16): Remove.
10849
10850 2003-03-03 Kazu Hirata <kazu@cs.umass.edu>
10851
10852 * config/h8300/h8300.md (*extzv_8_8): Use '?' to simplify the
10853 pattern.
10854
10855 2003-03-03 Geoffrey Keating <geoffk@apple.com>
10856
10857 * doc/install.texi (Specific): Update entry for powerpc-darwin.
10858
10859 2003-03-03 Richard Henderson <rth@redhat.com>
10860
10861 * config/ia64/ia64.h (HAVE_AS_LTOFFX_LDXMOV_RELOCS): Default to 0.
10862
10863 2003-03-03 David Edelsohn <edelsohn@gnu.org>
10864
10865 * config/rs6000/rs6000.c (rs6000_multipass_dfa_lookahead): Delete.
10866 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Delete.
10867 (rs6000_variable_issue): Do not return negative value.
10868 (rs6000_issue_rate): Uniformly set issue rate to 1 for first
10869 scheduling pass.
10870
10871 2003-03-03 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10872
10873 * dwarf2out.c (dwarf2out_finish): Swap order of break_out_includes and
10874 prune_unused_types calls.
10875
10876 2003-03-03 Jason Merrill <jason@redhat.com>
10877
10878 * tree-inline.c (find_builtin_longjmp_call): Save and restore
10879 lineno and input_filename.
10880 (find_alloca_call): Likewise.
10881 (inlinable_function_p): Run the langhook earlier.
10882
10883 * calls.c (compute_argument_addresses): Give the new MEMs a
10884 minimum alignment of PARM_BOUNDARY.
10885
10886 2003-03-03 J"orn Rennecke <joern.rennecke@superh.com>
10887
10888 * config/sh/sh.h (EXTRA_SPECS): Add subtarget_asm_relax_spec and
10889 subtarget_asm_isa_spec.
10890 (SUBTARGET_ASM_RELAX_SPEC, SUBTARGET_ASM_ISA_SPEC): Define.
10891 (ASM_SPEC): Define as SH_ASM_SPEC.
10892 (SH_ASM_SPEC): New; take the role of ASM_SPEC, but safe from svr4.h.
10893 Use subtarget_asm_relax_spec and subtarget_asm_isa_spec.
10894 * config/sh/elf.h (ASM_SPEC): Use SH_ASM_SPEC.
10895 (SUBTARGET_ASM_ISA_SPEC): Undef / define.
10896
10897 * sh.h (OVERRIDE_OPTIONS): Set default values for align_loops
10898 and align_jumps if not set.
10899 Force align_jumps to be at least 2.
10900 When relaxing, force align_functions to be at least the maximum of
10901 align_loops, align_jumps and 4.
10902 * sh.c (find_barrier, barrier_align): Honour align_jumps_log.
10903 (sh_loop_align): Honour align_loops_log.
10904
10905 * sh.md (length attribute): Use prev_nonnote_insn instead of PREV_INSN
10906 to check for indirect_jump_scratch.
10907 (indirect_jump_scratch): Add second set.
10908 * sh.c (output_far_jump): Use prev_nonnote_insn instead of PREV_INSN
10909 when looking for indirect_jump_scratch.
10910 Extract scratch register taking new structure of indirect_jump_scratch
10911 into account.
10912 (gen_block_redirect): Set INSN_SCOPE for indirect_jump_scratch.
10913
10914 2003-03-03 Jan Hubicka <jh@suse.cz>
10915
10916 * calls.c (rtx_for_function_call): Take the address as an argument
10917 (expand_call): Do not modify the expression.
10918
10919 * toplev.c (rest_of_compilation): Avoid cfg_cleanup calls when not
10920 optimizing.
10921
10922 2003-03-03 Kazu Hirata <kazu@cs.umass.edu>
10923
10924 * config/h8300/h8300.md (*ixorsi3_zext_hi): Restrict to
10925 TARGET_H8300H and TARGET_H8300S.
10926
10927 2003-03-03 Kazu Hirata <kazu@cs.umass.edu>
10928
10929 * config/h8300/h8300.md (a peephole2): New.
10930
10931 2003-03-03 Kazu Hirata <kazu@cs.umass.edu>
10932
10933 * config/h8300/h8300.md (*extzv_8_8): Use shorter code when
10934 operands[0] and operands[1] are different.
10935
10936 2003-03-03 Kazu Hirata <kazu@cs.umass.edu>
10937
10938 * reload1.c (reload_cse_move2add): Remove variable success.
10939
10940 2003-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10941
10942 * ggc-common.c (ggc_rlimit_bound): Cast RLIM_INFINITY to avoid
10943 warnings.
10944
10945 2003-03-02 Richard Henderson <rth@redhat.com>
10946
10947 * configure.in (HAVE_AS_LTOFFX_LDXMOV_RELOCS): New ia64 test.
10948 * config.in, configure: Rebuild.
10949 * config/ia64/ia64.c (ia64_ld_address_bypass_p): Accept lo_sum.
10950 * config/ia64/ia64.md (load_symptr): Use high/lo_sum for the
10951 paired ldtoffx and ldxmov annotations.
10952 (load_symptr_internal1): Remove.
10953 (load_symptr_high, load_symptr_low): New.
10954
10955 2003-03-02 Neil Booth <neil@daikokuya.co.uk>
10956
10957 * c-incpath.c (add_path): Fix sysp assignment.
10958
10959 2003-03-02 Kurt Garloff <garloff@suse.de>
10960
10961 * params.def: Introduce parameter max-inline-insns-rtl for
10962 a separate limit for the RTL inliner.
10963 * params.h: Likewise.
10964 * integrate.c (function_cannot_inline_p): Use it.
10965 * toplev.c (decode_f_option): Set multiple parameters
10966 controlling inlining with -finline-limit.
10967 * params.def: Fix orthographic and typographic errors.
10968 * doc/invoke.texi: Document parameters controlling inlining
10969 and the way -finline-limit sets multiple of them.
10970
10971 * tree.h (struct tree_decl): Introduce inlined_function_flag,
10972 recording whether the function became eligible for inlining
10973 by a compiler flag rather than the declaration.
10974 Provide DID_INLINE_FUNC macro to access it.
10975 * c-decl.c (grokdeclarator): Set DID_INLINE_FUNC.
10976 * cp/decl.c (grokfndecl): Likewise.
10977 * toplev.c (rest_of_compilation): Likewise.
10978 * cp/optimize (maybe_clone_body): Copy DID_INLINE_FUNC.
10979 * print-tree.c (print_node): Report it.
10980 * params.def: Introduce new max-inline-insns-auto limit.
10981 * params.h: Likewise.
10982 * tree-inline.c (inlinable_function_p): Apply it to functions
10983 with DID_INLINE_FUNC set.
10984 * toplev.c (decode_f_option): Initialize it from -finline-limit
10985 value.
10986 * doc/invoke.texi: Document new parameter.
10987
10988 2003-03-02 Geoffrey Keating <geoffk@apple.com>
10989
10990 * fix-header.c (read_scan_file): Don't reference simplify_path.
10991
10992 2003-03-02 Stephane Carrez <stcarrez@nerim.fr>
10993
10994 * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't enable
10995 min/max instructions by default as may result in reload errors.
10996
10997 2003-03-02 Stephane Carrez <stcarrez@nerim.fr>
10998
10999 * config/m68hc11/m68hc11.md ("mulqi3"): Allow address register to
11000 avoid reload problems; define split for it.
11001
11002 2003-03-02 Stephane Carrez <stcarrez@nerim.fr>
11003
11004 * config/m68hc11/m68hc11.c (m68hc11_shift_operator): New function.
11005 * config/m68hc11/m68hc11-protos.h (m68hc11_shift_operator): Declare.
11006 * config/m68hc11/m68hc11.h (PREDICATE_CODES): Register.
11007 * config/m68hc11/m68hc11.md ("rotrhi3", "rotlhi3"): New patterns for
11008 rotatert and rotate.
11009 ("rotrhi3_const", "rotlhi3_const"): Rename of old 'rotrhi3' insns.
11010 ("*rotrhi3", "*rotlhi3"): New insn pattern for non-const rotatert.
11011 ("*rotrhi3_addr"): New split for shift insns on address register.
11012 ("*lshrhi3", "*ashrhi3", "*ashlhi3_2"): Use new split.
11013 * config/m68hc11/larith.asm (___rotlhi3): New asm function.
11014 (___rotrhi3): Likewise.
11015 * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build them.
11016
11017 2003-03-02 Neil Booth <neil@daikokuya.co.uk>
11018
11019 * toplev.c (aux_base_name): Moved from toplev.h.
11020 (filename): Constify.
11021 (lang_dependent_init): Don't duplicate name.
11022 (process_options): Set aux_base_name here, not...
11023 (do_compile): ...here. Change protoype.
11024 (toplev_main): Move some code from do_compile.
11025 * toplev.h: Remove aux_base_name.
11026
11027 2003-03-02 Kazu Hirata <kazu@cs.umass.edu>
11028
11029 * config/h8300/h8300-protos.h: Add a prototype for
11030 iorxor_operator.
11031 * config/h8300/h8300.c (print_operand): Handle 'c'.
11032 (iorxor_operator): New.
11033 * config/h8300/h8300.h (PREDICATE_CODES): Add iorxor_operator.
11034 * config/h8300/h8300.md (*iorhi3_zext): Remove.
11035 (*iorsi3_zexthi): Likewise.
11036 (*iorsi3_zextsi): Likewise.
11037 (*xorhi3_zextqi): Likewise.
11038 (*xorsi3_zexthi): Likewise.
11039 (*xorsi3_zextsi): Likewise.
11040 (*ixorhi3_zext): New.
11041 (*ixorsi3_zext_qi): Likewise.
11042 (*ixorsi3_zext_hi): Likewise.
11043
11044 2003-03-02 Neil Booth <neil@daikokuya.co.uk>
11045
11046 * c-incpath.c (remove_component_p, simplify_path): Move back to
11047 cppfiles.c.
11048 (remove_duplicates): Use cpp_simplify_path.
11049 * c-incpath.h (simplify_path): Remove.
11050 * c-lex.c: Don't include c-incpath.h.
11051 (init_c_lex): Remove simplify_path.
11052 * cppfiles.c (remove_component_p, cpp_simplify_path): Restore.
11053 (find_or_create_entry, validate_pch): Revert.
11054
11055 2003-03-02 Ashif Harji <asharji@uwaterloo.ca>
11056
11057 * gcc.c (default_compilers): Add -no-integrated-cpp flag to invoke
11058 an external cpp during compilation.
11059 (option_map): Likewise.
11060 * objc/lang-specs.h (default_compilers): Similarly.
11061 * doc/invoke.texi: Document -no-integrated-cpp flag.
11062
11063 2003-03-02 Kazu Hirata <kazu@cs.umass.edu>
11064
11065 * config/h8300/h8300.md (zero_extendqisi2): Change to an
11066 expander.
11067 (*zero_extendqisi2_h8300): New.
11068 (*zero_extendqisi2_h8300hs): New.
11069 (two splitters): New.
11070
11071 2003-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11072
11073 * fp-bit.h (float_to_usi): Fix condition wrapping prototype.
11074
11075 2003-03-01 Kazu Hirata <kazu@cs.umass.edu>
11076
11077 * config/h8300/h8300.md (a peephole2): Remove dead code.
11078
11079 2003-03-01 Roger Sayle <roger@eyesopen.com>
11080
11081 PR c++/9367
11082 * builtin-types.def (DEF_FUNCTION_TYPE_VAR_3): New macro.
11083 (BT_FN_INT_CONST_STRING_VALIST_ARG,
11084 BT_FN_INT_STRING_CONST_STRING_VALIST_ARG,
11085 BT_FN_INT_CONST_STRING_CONST_STRING_VALIST_ARG,
11086 BT_FN_INT_STRING_SIZE_CONST_STRING_VALIST_ARG,
11087 BT_FN_INT_STRING_CONST_STRING_VAR,
11088 BT_FN_INT_CONST_STRING_CONST_STRING_VAR,
11089 BT_FN_INT_STRING_SIZE_CONST_STRING_VAR): New built-in types.
11090 * builtin-attrs.def (ATTR_NONNULL_1, ATTR_NONNULL_2,
11091 ATTR_NONNULL_3): Also include the nothrow attribute.
11092 (sprintf, scanf, sscanf, vprintf, vsprintf, snprintf,
11093 vsnprintf, vscanf, vsscanf): Don't define attributes here.
11094 * builtins.def (putchar, puts): Make full C89 built-ins.
11095 (snprintf, sprintf, scanf, sscanf, vprintf, vscanf,
11096 vsscanf, vsnprintf, vsprintf): New built-ins.
11097 * c-common.c (c_common_nodes_and_builtins): Handle new macro
11098 DEF_FUNCTION_TYPE_VAR_3.
11099
11100 * doc/extend.texi: Document these new built-in functions.
11101
11102 2003-03-01 Kazu Hirata <kazu@cs.umass.edu>
11103
11104 * config/h8300/h8300.md (a peephole2): New.
11105
11106 2003-03-01 Richard Earnshaw <rearnsha@arm.com>
11107
11108 * predict.c (estimate_bb_frequencies): Correctly set
11109 real_values_initialized after initialization.
11110
11111 2003-03-01 Neil Booth <neil@daikokuya.co.uk>
11112
11113 * Makefile.in (C_AND_OBJC_OBJS, c-incpath.o, c-lex.o, LIBCPP_OBJS,
11114 cppinit.o, cppdefault.o, fix-header): Update.
11115 * c-incpath.c: New file.
11116 * c-incpath.h: New file.
11117 * c-lex.c: Include c-incpath.h.
11118 (init_c_lex): Register path simplifier.
11119 * c-opts.c: Include cppdefault.h and c-incpath.h.
11120 (TARGET_SYSTEM_ROOT, verbose, iprefix, sysroot, std_inc,
11121 std_cxx_inc, quote_chain_split, add_prefixed_path): New.
11122 (COMMAND_LINE_OPTIONS): Add more options from cpplib.
11123 (missing_arg, c_common_decode_option): Handle them.
11124 (c_common_post_options): Register include chains.
11125 (print_help): Update.
11126 * cppdefault.h (struct default include): Update.
11127 Move some macros to ...
11128 * cppdefault.c: ... here.
11129 (cpp_include_defaults): Add extra field add_sysroot.
11130 * cppfiles.c (include_file, search_from, find_or_create_entry,
11131 cpp_included, find_include_file, remap_filename): Update for
11132 renaming of search_path to cpp_path, and of the chain headers.
11133 (remove_component_p, _cpp_simplify_pathname): Move to c-incpath.c.
11134 * cpphash.h (struct search_path): Move to cpplib.h.
11135 (struct cpp_buffer, struct cpp_reader): Update.
11136 (_cpp_simplify_pathname): Remove.
11137 * cppinit.c: Don't include prefix.h and cppdefault.h.
11138 (INO_T_EQ, INO_T_COPY, path_include, append_include_chain,
11139 remove_dup_dir, remove_dup_nonsys_dirs, remove_dup_dirs,
11140 init_standard_includes, BRACKET, SYSTEM, AFTER, no_dir,
11141 no_pth, cpp_handle_options): Remove.
11142 (struct pending_option): Remove chain members.
11143 (cpp_destroy, cpp_read_main_file, COMMAND_LINE_OPTIONS,
11144 cpp_handle_option): Update.
11145 * cpplib.h (struct cpp_path, cpp_set_include_chains): New.
11146 (struct cpp_options): Remove quote_include, bracket_include,
11147 include_prefix, include_prefix_len, verbose, ignore_srcdir,
11148 no_standard_includes, no_standard_cplusplus_includes.
11149 (struct cpp_callbacks): Add simplify_path.
11150 (cpp_handle_options): Remove.
11151 * fix-header.c: Include c-incpath.h.
11152 (read_scan_file): Update to use c-incpath functionality.
11153 * doc/passes.texi: Update.
11154
11155 2003-03-01 Kazu Hirata <kazu@cs.umass.edu>
11156
11157 * config/h8300/h8300.c (bit_operand): Accept MEM only if it
11158 satisfies EXTRA_CONSTRAINT 'U'.
11159
11160 2003-03-01 Kazu Hirata <kazu@cs.umass.edu>
11161
11162 * config/h8300/h8300.md (*tst_extzv_bitqi_1_n): Take a scratch
11163 register.
11164 (*tst_extzv_memqi_1_n): Change to a splitter.
11165 (a peephole2): Update.
11166
11167 2003-03-01 Richard Earnshaw <rearnsha@arm.com>
11168
11169 * predict.c (estimate_bb_frequencies): Initialize the sreal
11170 constants once per compilation.
11171
11172 2003-02-28 Richard Henderson <rth@redhat.com>
11173
11174 * toplev.c (flag_eliminate_unused_debug_types): Enable by default.
11175
11176 2003-02-28 scott snyder <snyder@fnal.gov>
11177
11178 * flags.h: Add flag_eliminate_unused_debug_types.
11179 * toplev.c: Add flag_eliminate_unused_debug_types.
11180 (f_options): Add -feliminate-unused-debug-types.
11181 * dwarf2out.c (struct file_table): Add emitted member.
11182 (splice_child_die): Fix the parent pointer for the child being
11183 spliced.
11184 (lookup_filename): Maintain file_table.emitted array. Don't
11185 output .file directive here.
11186 (maybe_emit_file): (new)
11187 (init_file_table): Set up file_table.emitted.
11188 (dwarf2out_source_line): Use maybe_emit_file.
11189 (dwarf2out_start_source_file): Use maybe_emit_file.
11190 (dwarf2out_init): Use maybe_emit_file.
11191 (prune_unused_types_walk_attribs): (new)
11192 (prune_unused_types_mark): (new)
11193 (prune_unused_types_walk): (new)
11194 (prune_unused_types_prune): (new)
11195 (prune_unused_types): (new)
11196 (dwarf2out_finish): Call prune_unused_types if
11197 flag_eliminate_unused_debug_types is set.
11198 * doc/invoke.texi (Option Summary): Add
11199 -feliminate-unused-debug-types.
11200 (Debugging Options): Likewise.
11201
11202 2003-02-28 Geoffrey Keating <geoffk@apple.com>
11203
11204 * doc/invoke.texi: Change .pch to .gch.
11205 * cppfiles.c (open_file_pch): Likewise.
11206 * gcc.c (default_compilers): Likewise.
11207
11208 2003-02-28 Aldy Hernandez <aldyh@redhat.com>
11209
11210 * floatlib.c: Remove.
11211
11212 2003-02-28 Jason Merrill <jason@redhat.com>
11213
11214 * stor-layout.c (variable_size): Leave a "minus 1" outside the
11215 SAVE_EXPR.
11216
11217 2003-02-28 David Edelsohn <edelsohn@gnu.org>
11218
11219 * config/rs6000/power4.md: Add compare bypass.
11220
11221 2003-02-28 Jason Thorpe <thorpej@wasabisystems.com>
11222
11223 * config/netbsd.h: Update copyright years.
11224 (NETBSD_CPP_SPEC): Define _REENTRANT and _PTHREADS if
11225 -pthread is specified on the command line.
11226
11227 2003-02-28 Dale Johannesen <dalej@apple.com>
11228
11229 * loop.c (struct movable): Add insert_temp, shrink savemode.
11230 (scan_loop): Accept invariants that require copying; mark as
11231 insert_temp.
11232 (combine_movables): Don't combine insert_temp movables.
11233 (move_movables): Insert copies for insert_temp movables.
11234 Don't record the info based on regno for insert_temp's.
11235
11236 2003-02-28 Joel Sherrill <joel@OARcorp.com>
11237
11238 PR 9638/other
11239 * config/i386/i386.c (DEFAULT_PCC_STRUCT_RETURN): Ensure the
11240 this constant defaults to 1.
11241
11242 2003-02-28 Bob Wilson <bob.wilson@acm.org>
11243
11244 * config.gcc (xtensa-*-linux*): Add t-slibgcc-elf-ver to tmake_file.
11245
11246 2003-02-28 Richard Earnshaw <rearnsha@arm.com>
11247
11248 * arm.md (mulhisi3, mulhisi3addsi, mulhidi3adddi): Enable for any
11249 ARMv5e processor, not just for XScale. Instructions are predicable.
11250 (mulhisi3tb, mulhisi3bt, mulhisi3tt): New patterns for ARMv5e.
11251
11252 2003-02-28 Nick Clifton <nickc@redhat.com>
11253
11254 * config/arm/arm.c (note_invalid_constants): Change parameter type
11255 from bool to int.
11256
11257 2003-02-28 Kazu Hirata <kazu@cs.umass.edu>
11258
11259 * config/h8300/h8300.md (*tst_extzv_bitqi_1_n): Accept the
11260 test of bit 7.
11261 (*tst_extzv_memqi_1_n): Likewise.
11262 (a peephole2): New.
11263
11264 2003-02-28 Richard Sandiford <rsandifo@redhat.com>
11265
11266 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Wrap in
11267 #ifndef __mips16.
11268
11269 2003-02-28 Jan Hubicka <jh@suse.cz>
11270
11271 * combine.c (gen_lowpart_for_combine): Update handling of
11272 subregs_of_mode
11273 * flow.c (life_analysis, mark_used_regs): Likewise.
11274 * regclass.c (subregs_of_mode): Turn into single bitmap.
11275 (cannot_change-mode_set_regs, invalid_mode_change_p): Update
11276 dealing with subregs_of_mode
11277 * regs.h (subregs_of_mode): Update prototype.
11278
11279 2003-02-28 Josef Zlomek <zlomekj@suse.cz>
11280
11281 * emit-rtl.c (set_reg_attrs_for_parm): New function.
11282 * rtl.h (set_reg_attrs_for_parm): New exported function.
11283 * function.c (assign_parms): Use set_reg_attrs_for_parm instead of
11284 set_reg_attrs_from_mem.
11285
11286 2003-02-27 Roger Sayle <roger@eyesopen.com>
11287 Zack Weinberg <zack@codesourcery.com>
11288
11289 * gcc.c (do_spec_1): Treat %U like %u for unique associations.
11290
11291 2003-02-27 Kazu Hirata <kazu@cs.umass.edu>
11292
11293 * reload1.c (sext_for_mode): Remove.
11294 (reload_cse_move2add): Use trunc_int_for_mode instead of
11295 sext_for_mode.
11296 (move2add_note_store): Likewise.
11297 Reset register information if we see a set in non-integer
11298 mode.
11299
11300 2003-02-27 David Edelsohn <edelsohn@gnu.org>
11301
11302 * config/rs6000/aix43.h (ASM_SPEC): Only emit -mppc64 if no -mcpu
11303 option.
11304 (ASM_CPU_SPEC): Use -m620 for Power3, Power4, 620, 630.
11305 * config/rs6000/aix51.h: Same.
11306 * config/rs6000/aix52.h: Same.
11307 * config/rs6000/power4.md: Additional VMX bypasses.
11308
11309 2003-02-27 Geert Bosch <bosch@gnat.com>
11310
11311 * toplev.c (print_version): Add indentation for GGC heuristics and
11312 output after printing version information.
11313
11314 2003-02-27 James E Wilson <wilson@tuliptree.org>
11315
11316 * combine.c (simplify_comparison): Require integral mode when
11317 permuting SUBREG with AND.
11318
11319 2003-02-27 Steve Ellcey <sje@cup.hp.com>
11320
11321 * config/ia64/hpux.h (STARTFILE_PREFIX_SPEC): Remove.
11322
11323 2003-02-27 Nick Clifton <nickc@redhat.com>
11324
11325 * config/arm/arm.md (extendsfdf2): Add pattern accidentally
11326 deleted when cirrus instructions were added.
11327
11328 2003-02-27 Jason Thorpe <thorpej@wasabisystems.com>
11329
11330 * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Enable
11331 POSIX thread support by default.
11332
11333 2003-02-27 Roger Sayle <roger@eyesopen.com>
11334
11335 * config/i386/cygwin.h: Don't include any other files directly.
11336 * config/i386/mingw32.h: Don't include cygwin.h directly.
11337 * config.gcc (cygwin, mingw32, uwin): Instead make these files
11338 explicit in the tm_files variable.
11339
11340 2003-02-27 Alan Modra <amodra@bigpond.net.au>
11341
11342 * config/rs6000/rs6000.md: Add TI constant splitter.
11343
11344 2003-02-26 Alexandre Oliva <aoliva@redhat.com>
11345
11346 * builtins.c (purge_builtin_constant_p): Handle subreg of
11347 constant_p_rtx too.
11348
11349 * function.c (assign_stack_local_1): Truncate constant added to
11350 frame_pointer_rtx or virtual_stack_vars_rtx for Pmode.
11351
11352 2003-02-26 David Edelsohn <edelsohn@gnu.org>
11353
11354 * config.gcc: Add power4 to PowerPC with_cpu list.
11355
11356 2003-02-26 Jan Hubicka <jh@suse.cz>
11357
11358 * objc-act.c: (mark_referenced_methods): Fix compilation problem.
11359
11360 2003-02-26 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11361
11362 * gcov-dump.c (print_prefix): Fix signedness warning.
11363 * gcov-io.h (struct counter_section, struct counter_section_data): New.
11364 (struct function_info): n_arc_counts field removed, n_counter_sections,
11365 counter_sections fields added.
11366 (struct gcov_info): arc_counts, n_arc_counts fields removed,
11367 n_counter_sections, counter_sections fields added.
11368 * libgcov.c (gcov_exit, __gcov_flush): Add support for multiple
11369 profile sections.
11370 * profile.h (MAX_COUNTER_SECTIONS): New.
11371 (struct section_info): New.
11372 (struct profile_info): count_instrumented_edges,
11373 count_edges_instrumented_now fields removed, n_sections, section_info
11374 fields added.
11375 (find_counters_section): Declare.
11376 * profile.c (struct function_list): count_edges field removed,
11377 n_counter_sections, counter_sections fields added.
11378 (set_purpose, label_for_tag, build_counter_section_fields,
11379 build_counter_section_value, build_counter_section_data_fields,
11380 build_counter_section_data_value, build_function_info_fields,
11381 build_function_info_value, build_gcov_info_fields,
11382 build_gcov_info_value): New static functions.
11383 (find_counters_section): New function.
11384 (instrument_edges, get_exec_counts, compute_branch_probabilities,
11385 branch_prob, create_profiler): Modified to support multiple profile
11386 sections.
11387
11388 2003-02-26 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11389
11390 * pa.c (compute_frame_size): Don't assume PREFERRED_STACK_BOUNDARY
11391 is 8 * STACK_BOUNDARY.
11392 * pa.h (PREFERRED_STACK_BOUNDARY): Change to 128 on 64-bit port.
11393
11394 2003-02-26 Michael Matz <matz@suse.de>
11395
11396 * ra-colorize.c (merge_moves): Fix list handling.
11397
11398 2003-02-26 Nick Clifton <nickc@redhat.com>
11399
11400 * config/arm/arm.c (is_load_address): Rename to...
11401 (arm_memory_load_p) ... this and make it check for SUBREGs and
11402 constant loads that will be converted into loads from the
11403 minipool.
11404 (is_cirrus_insn): Rename to ...
11405 (arm_cirrus_insn_p): ... this, for consistency. Replace test
11406 of CIRRUS_NO with CIRRUS_NOT.
11407 (cirrus_reorg): Use renamed functions.
11408 (note_invalid_constants): Change from a void function to bool.
11409 Add an extra parameter, saying whether the fixups should be
11410 pushed. Return true if fixups are needed.
11411 (arm_reorg): Use renamed functions. Use INSN_P. Replace test
11412 of CIRRUS_NO with CIRRUS_NOT.
11413 * config/arm/arm.h (FLOAT_WORDS_BIG_ENDIAN): Mention that
11414 other floating point co-processors can also affect this.
11415 * config/arm/arm.md ("type" attribute): Add mav_farith and
11416 mav_dmult. Replace references to "cirrus_type" attribute with
11417 "type".
11418 * config/arm/cirrus.md ("cirrus_fpu" attribute): Delete.
11419 ("cirrus_type" attribute): Delete - use "type" instead.
11420 ("cirrus" attribute): Replace 'no' with 'not' and 'yes' with
11421 'normal'.
11422
11423 2003-02-25 Jan Hubicka <jh@suse.cz>
11424
11425 * objc-act.c: Include cgraph.h
11426 (mark_referenced_methods): New function.
11427 (objc_init): Call it.
11428 * objc-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Set.
11429
11430 * c-decl.c (finish_function): Honor can_defer_p even in unit-at-a-time
11431 mode.
11432
11433 * optabs.c (expand_fix): Do not widen the input operand.
11434
11435 * expr.c (emit_group_store): Fix crash when converting single
11436 register into complex register.
11437
11438 * Makefile.in (jump.o, regclass.o, alias.o): Add dependency on timevar.h
11439 * alias.c: Include timevar.h
11440 (init_alias_analysis): Set timevar
11441 * jump.c: Include timevar.h
11442 (rebuild_jump_labels): Set timevar
11443 * regcalss.c: Include timevar.h
11444 (reg_scan): Set timevar
11445 * timevar.def (TV_ALIAS_ANALYSIS, TV_REG_SCAN, TV_REBUILD_JUMP): New
11446
11447 2003-02-26 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11448
11449 * cse.c (count_reg_usage): Fix handling of REG_EQUAL notes.
11450
11451 * Makefile.in (loop-unroll.o): New.
11452 * cfgloop.h (UAP_PEEL, UAP_UNROLL, UAP_UNROLL_ALL): New.
11453 (unroll_and_peel_loops): Declare.
11454 * alias.c (init_alias_analysis): Flag_unroll_loops renamed to
11455 flag_old_unroll_loops.
11456 * loop.c (loop_invariant_p): Ditto.
11457 * unroll.c (unroll_loop): Flag_unroll_all_loops renamed to
11458 flag_old_unroll_all_loops.
11459 * flags.h (flag_unroll_loops): Renamed to flag_old_unroll_loops.
11460 (flag_unroll_all_loops): Renamed to flag_old_unroll_all_loops.
11461 * params.def (PARAM_MAX_UNROLLED_INSNS): Default value changed.
11462 (PARAM_MAX_AVERAGE_UNROLLED_INSNS, PARAM_MAX_UNROLL_TIMES,
11463 PARAM_MAX_PEELED_INSNS, PARAM_MAX_PEEL_TIMES,
11464 PARAM_MAX_COMPLETELY_PEELED_INSNS, PARAM_MAX_COMPLETELY_PEEL_TIMES,
11465 PARAM_MAX_ONCE_PEELED_INSNS): New.
11466 * toplev.h (flag_old_unroll_loops, flag_old_unroll_all_loops): New.
11467 (flag_unroll_loops, flag_unroll_all_loops): Used for new unroller
11468 instead of old one.
11469 (flag_peel_loops): New.
11470 (lang_independent_options): The new flags added.
11471 (rest_of_compilation): Call new unroller.
11472 (process_options): Setup flags for coexistence of old and new unroller.
11473 * doc/invoke.texi: Document new options.
11474 * doc/passes.texi: Document new unroller pass.
11475
11476 2003-02-26 David Billinghurst <David.Billinghurst@riotinto.com>
11477
11478 * fixinc/fixincl.x: Regenerate
11479
11480 2003-02-26 Josef Zlomek <zlomekj@suse.cz>
11481
11482 * function.c (assign_parms): Set reg_attrs for parameters passed in
11483 registers.
11484
11485 2003-02-26 Alan Modra <amodra@bigpond.net.au>
11486
11487 PR target/9681
11488 * tlink.c (scan_linker_output): Drop leading '.' from symbol names.
11489
11490 2003-02-25 David Edelsohn <edelsohn@gnu.org>
11491
11492 * config/rs6000/xcoff.h (ASM_FILE_START): Do not emit machine
11493 pseudo-op.
11494
11495 2003-02-25 Roger Sayle <roger@eyesopen.com>
11496
11497 * combine.c (combine_simplify_rtx, simplfy_comparison): Use CC0_P.
11498 * cse.c (invalidate_skipped_set): Likewise.
11499 * integrate.c (subst_constants): Likewise.
11500 * jump.c (reversed_comparison_code_parts): Likewise.
11501 * loop.c (canonicalize_condition): Likewise.
11502 * simplify-rtx.c (simplify_relational_operation): Likewise.
11503
11504 2003-02-25 Roger Sayle <roger@eyesopen.com>
11505
11506 * builtins.def (DEF_LIB_ALWAYS_BUILTIN, DEF_UNUSED_BUILTIN): Delete.
11507 (abs, labs, fabs, fabsf, fabsl, abort, exit, _exit, _Exit): Use
11508 the appropriate macro to define built-in function.
11509 (fmod,fmodf,fmodl): New built-in functions.
11510
11511 * doc/extend.texi (fmod,fmodf,fmodl): Document new built-ins.
11512
11513 2003-02-25 Richard Henderson <rth@redhat.com>
11514
11515 * config/i386/i386.c (function_arg): Pass variable sized
11516 structures correctly on the stack.
11517
11518 2003-02-25 Kazu Hirata <kazu@cs.umass.edu>
11519
11520 * reload1.c (reload_cse_move2add): Use STRICT_LOW_PART if PLUS
11521 does not reduce the cost of SET.
11522
11523 2003-02-25 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
11524
11525 PR target/9732
11526 * config/rs6000/rs6000.c (first_reg_to_save): Handle
11527 PIC_OFFSET_TABLE_REGNUM for -fPIC too.
11528 (rs6000_emit_prologue): Likewise.
11529 (rs6000_emit_epilogue): Likewise.
11530 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Make
11531 PIC_OFFSET_TABLE_REGNUM a fixed register for -fPIC.
11532
11533 2003-02-25 Richard Henderson <rth@redhat.com>
11534
11535 * real.c (real_to_integer2): Force overflow result only for
11536 unsigned overflow.
11537
11538 2003-02-25 Kazu Hirata <kazu@cs.umass.edu>
11539
11540 * gcse.c (cprop_jump): Revert the 2003-02-23 change.
11541
11542 2003-02-25 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
11543 Richard Henderson <rth@redhat.com>
11544
11545 * sched-ebb.c (add_deps_for_risky_insns): Add the dependence when
11546 there is no similar load.
11547
11548 2003-02-25 Vladimir Makarov <vmakarov@redhat.com>
11549 Richard Henderson <rth@redhat.com>
11550
11551 * sched-int.h (INSN_TRAP_CLASS, WORST_CLASS): Move them from
11552 sched-rgn.c.
11553 (add_forward_dependence): New function prototype.
11554
11555 * sched-rgn.c (INSN_TRAP_CLASS, WORST_CLASS): Move them to
11556 sched-init.h.
11557 (CONST_BASED_ADDRESS_P, may_trap_exp, haifa_classify_insn): Move
11558 them to haifa-sched.c.
11559
11560 * haifa-sched.c (CONST_BASED_ADDRESS_P, may_trap_exp,
11561 haifa_classify_insn): Move them from sched-rgn.c.
11562
11563 * sched-deps.c (add_dependence): Return flag of creating a new
11564 entry.
11565 (add_forward_dependence): New function.
11566 (compute_forward_dependences): Use the function.
11567
11568 * sched-ebb.c (earliest_block_with_similiar_load): New function.
11569 (add_deps_for_risky_insns): New function.
11570 (schedule_ebb): Call the function.
11571
11572 2003-02-20 Aldy Hernandez <aldyh@redhat.com>
11573
11574 * doc/tm.texi: Document Rename TARGET_VECTOR_TYPES_COMPATIBLE to
11575 TARGET_VECTOR_OPAQUE_P. Document accordingly.
11576
11577 * testsuite/gcc.dg/20030218-1.c: Check that initialization of
11578 opaque types fail.
11579
11580 * c-typeck.c (comptypes): Change call to vector_types_compatible
11581 to vector_opaque_p.
11582 (convert_for_assignment): Call vector_opaque_p instead of
11583 vector_types_compatible.
11584 (really_start_incremental_init): Disallow initialization of opaque
11585 types.
11586
11587 * target-def.h: Remove TARGET_VECTOR_TYPES_COMPATIBLE.
11588 Define TARGET_VECTOR_OPAQUE_P.
11589 (TARGET_INITIALIZER): Same.
11590
11591 * target.h (struct gcc_target): Remove vector_types_compatible.
11592 Add vector_opaque_p.
11593
11594 * config/rs6000/rs6000.c (rs6000_spe_vector_types_compatible):
11595 Remove.
11596 (is_ev64_opaque_type): Check for TARGET_SPE and make sure type is
11597 a vector type. Change return type to bool.
11598 (TARGET_VECTOR_TYPES_COMPATIBLE): Remove.
11599 (TARGET_VECTOR_OPAQUE_P): Define.
11600
11601 * cp/parser.c (cp_parser_init_declarator): Call vector_opaque_p
11602 target hook.
11603 Include target.h.
11604 (cp_parser_init_declarator): Fix typo in function comments.
11605
11606 2003-02-25 Jan Hubicka <jh@suse.cz>
11607
11608 * Makefile.in (lcm.o): Add dependency on function.h
11609 * lcm.c (function.h): Include.
11610 * i386.c (machine_function, ix86_stack_locals,
11611 * ix86_save_varrargs_registers) : Move to
11612 ...
11613 * i386.h (machine_function, ix86_stack_locals,
11614 ix86_save_varrargs_registers): ... here; add optimize_mode_switching
11615 (ix86_optimize_mode_switching): New.
11616 * i386.md (fix patterns): Set ix86_optimize_mode_switching
11617
11618 2003-02-25 Nick Clifton <nickc@redhat.com>
11619
11620 * config/d30v/d30v.c (d30v_init_cumulative_args): Fix typo. Name
11621 of fourth arg is 'fndecl' not 'indirect'. Update comment
11622 describing the function's parameters.
11623
11624 2003-02-24 Jan Hubicka <jh@suse.cz>
11625
11626 * combine.c (simplify_shift_const): Fix previous patch.
11627
11628 2003-02-24 Jeff Law <law@redhat.com>
11629
11630 * i386.md (testdi_1_rex64): Discourage reload from using the %eax
11631 alternative.
11632 (testsi_1, testhi_1, testqi_1): Likewise.
11633
11634 2003-02-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11635
11636 * config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Rename
11637 __EXTERN_PREFIX to __PRAGMA_EXTERN_PREFIX.
11638 * doc/extend.texi (Tru64 Pragmas): Reflect this.
11639
11640 * fixinc/inclhack.def (alpha___extern_prefix): Indicate #pragma
11641 extern_prefix support for Tru64 UNIX V5 <sys/stat.h>.
11642 * fixinc/fixincl.x: Regenerate.
11643 * fixinc/tests/base/sys/stat.h [ALPHA___EXTERN_PREFIX_CHECK]: New
11644 testcase.
11645 Fixes PR c/5059, c/6126, other/9671.
11646
11647 2003-02-24 Roger Sayle <roger@eyesopen.com>
11648
11649 * gcc.c (do_spec_1) ['{']: Handle pending argument upon return
11650 from handle_braces in "%{...}".
11651
11652 2003-02-24 Kaz Kojima <kkojima@gcc.gnu.org>
11653
11654 * config/sh/sh.c (TARGET_HAVE_TLS): Conditionally define.
11655 (prepare_move_operands): Handle TLS operands.
11656 (tls_symbolic_operand): New.
11657 (nonpic_symbol_mentioned_p): Handle TLS UNSPECs.
11658 (legitimize_pic_address): Do nothing for the TLS symbol.
11659 (sh_encode_section_info): Handle TLS case.
11660 (sh_strip_name_encoding): Drop TLS encoding.
11661 * config/sh/sh-protos.h (tls_symbolic_operand): Add prototype.
11662 * config/sh/sh.h (SH_TLS_ENCODING): Define.
11663 (TLS_SYMNAME_P, STRIP_TLS_ENCODING): Likewise.
11664 (ASM_OUTPUT_LABELREF): Drop TLS encoding.
11665 (OUTPUT_ADDR_CONST_EXTRA): Handle TLS UNSPECs.
11666 * config/sh/sh.md: Define TLS UNSPEC constants.
11667 (type): Add tls_load.
11668 ("tls_global_dynamic", "tls_local_dynamic"): New insns.
11669 ("sym2DTPOFF", "symDTPOFF2reg", "sym2GOTTPOFF"): New expanders.
11670 ("tls_initial_exec"): New insn.
11671 ("sym2TPOFF", "symTPOFF2reg"): New expanders.
11672 ("load_gbr"): New insn.
11673
11674 * configure.in (HAVE_AS_TLS): Add sh-*-* and sh[34]*-*-* cases.
11675 * configure: Regenerate.
11676
11677 2003-02-24 Alan Modra <amodra@bigpond.net.au>
11678
11679 PR 9297, PR 9722
11680 * calls.c (store_one_arg): Revert 1999-02-16 change. Revert
11681 2000-12-17 change. Pass EXPAND_STACK_PARM to expand_expr.
11682 * expr.h (enum expand_modifier): Define EXPAND_STACK_PARM.
11683 (enum block_op_methods): Reorder for better store_expr optimization.
11684 * expr.c (store_expr): Test bit 1 of "want_value" for call param
11685 stores, test bit 0 for original want_value meaning. Pass
11686 BLOCK_OP_CALL_PARM to emit_block_move when bit 1 set. Adjust
11687 recursive calls, and calls to expand_param.
11688 (expand_expr): Handle EXPAND_STACK_PARM modifier. When cse
11689 expected, set target to 0 rather than to subtarget. Formatting.
11690
11691 2003-02-23 Kazu Hirata <kazu@cs.umass.edu>
11692
11693 * gcse.c (cprop_jump): Use the REG_EQUAL note if available.
11694
11695 2003-02-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11696
11697 * doc/invoke.texi (ggc-min-expand, ggc-min-heapsize): Document
11698 new default behavior.
11699 * ggc-common.c: Include sys/resource.h.
11700 (ggc_rlimit_bound): New function.
11701 (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic): Update
11702 defaults to account for rlimits.
11703
11704 2003-02-22 Richard Henderson <rth@redhat.com>
11705
11706 * i386.c, i386.h (TUNEMASK): Rename from CPUMASK.
11707
11708 2003-02-22 Kelley Cook <kelley@dwhoops.info>
11709
11710 * i386.h, i386.c, i386.md (ix86_tune): Rename from ix86_cpu.
11711 (ix86_tune_string): Rename from ix86_cpu_string.
11712
11713 2003-02-22 Kelley Cook <kelleycook@comcast.net>
11714
11715 * config/i386/i386.c: Replace "mcpu" with "mtune".
11716 * config/i386/i386.h (TARGET_OPTIONS): Likewise.
11717 (CC1_CPU_SPEC): Likewise. New warning for "-mcpu".
11718 * doc/invoke.texi (i386 and x86-64 Options): Replace "mcpu"
11719 with "mtune". Note that "mcpu" is a deprecated synonym for "mtune".
11720
11721 2003-02-23 Andreas Schwab <schwab@suse.de>
11722
11723 * config.gcc: Delete references to m68k/t-linux and
11724 m68k/t-linux-aout.
11725 * config/m68k/t-linux, config/m68k/t-linux-aout: Removed.
11726
11727 2003-02-22 Jan Hubicka <jh@suse.cz>
11728
11729 * toplev.c (rest_of_compilation): Apply fotgotten hunk
11730 of track scheduling patch.
11731
11732 2003-02-22 Jan Hubicka <jh@suse.cz>
11733
11734 * config/linux.h (TARGET_HAS_F_SETLKW): Define.
11735 * config/alpha/linux.h (TARGET_HAS_F_SETLKW): Likewise
11736
11737 2003-02-22 Jan Hubicka <jh@suse.cz>
11738
11739 * c-decl.c (c_expand_body_1): Fix.
11740
11741 2003-02-22 Jan Hubicka <jh@suse.cz>
11742
11743 * expmed.c (expand_divmod): Undo sign extensions for unsigned operands
11744
11745 * cfgcleanup.c (try_forward_edges): Don't check loop structures
11746 when not optimizing.
11747 (cleanup_cfg): Do not iterate trought delete_trivially_dead_insns
11748 when not expensive.
11749 * toplev.c (rest_of_compilation): Duplicate loop headers only when
11750 optimizing; Delete trivially dead insns early; fix optimize check.
11751
11752 * Makefile.in (c-decl.o, c-objc-common.o, cgraph.o, tree-inline.o): Add
11753 dependency on cgraph.h
11754 * c-decl.c: Include cgraph.h
11755 (finish_function): Update call of tree_inlinable_function_p.
11756 * c-objc-common.c: Include cgraph.h
11757 * cgraph.h: New file.
11758 * cgraphunit.c: New file.
11759 * cgraph.c (cgraph_node, cgraph_edge): Move into cgraph.h
11760 (cgraph_nodes, cgraph_n_nodes): Globalize.
11761 (cgraph_finalize_function, cgraph_finalize_compilation_unit
11762 cgraph_create_edges, cgraph_optimize, cgraph_mark_needed_node):
11763 Move into cgraphunit.c
11764 * tree-inline.c: Include cgraph.h
11765 * tree-inline.c: Include cgraph.h
11766
11767 2003-02-22 Josef Zlomek <zlomekj@suse.cz>
11768
11769 * config/i386/i386.md: Use gen_lowpart instead of gen_rtx_REG
11770 for copying a register.
11771
11772 2003-02-22 Steven Bosscher <s.bosscher@student.tudelft.nl>
11773
11774 PR other/3782
11775 * toplev.c (process_options): If flag_detailed_statistics is set,
11776 then set time_report as well.
11777
11778 PR c/8828
11779 * jump.c (never_reached_warning): Don't fall through BARRRIER
11780 insns. Update comments to reflect what the function really does.
11781
11782 2003-02-21 Roger Sayle <roger@eyesopen.com>
11783
11784 * fold-const.c (omit_one_operand): No longer static.
11785 * tree.h (omit_one_operand): Prototype here.
11786 (div_and_round_double): Keep fold-const.c prototypes together.
11787 * builtins.c (builtin_mathfn_code): Handle binary built-in
11788 funtions, such as "pow" and "atan2".
11789 (fold_builtin): Optimize both pow(x,0.0) and pow(1.0,y) to 1.0.
11790 Simplify optimizations using "type" the builtin's return type.
11791
11792 2003-02-22 Hans-Peter Nilsson <hp@axis.com>
11793
11794 * config/cris/cris.c (cris_rtx_costs): Blockify dangling else.
11795 Fix functionalization typo.
11796
11797 * regmove.c (optimize_reg_copy_1): Do not replace a hard register
11798 in an asm.
11799
11800 2003-02-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11801
11802 * Makefile.in (ggc-common.o): Depend on $(PARAMS_H)
11803 * doc/invoke.texi (ggc-min-expand, ggc-min-heapsize): Update
11804 documentation.
11805 * ggc-common.c: Include params.h
11806 (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic,
11807 init_ggc_heuristics): New functions.
11808 * ggc.h (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic,
11809 init_ggc_heuristics): Prototype.
11810 * toplev.c (print_version): Output GGC heuristics.
11811 (parse_options_and_default_flags): Call init_ggc_heuristics.
11812
11813 2003-02-22 Jan Hubicka <jh@suse.cz>
11814
11815 * i386.c (def_builtin): Special case 64bit builtins.
11816 (MASK_SSE164, MASK_SSE264): New constants.
11817 (builtin_description): Add 64bit builtins.
11818 (ix86_init_mmx_sse_builtins): Likewise.
11819 * i386.h (enum ix86_builtins): Likewise.
11820 * i386.md (cvtss2siq, cvttss2siq, cvtsd2siq, cvttsd2siq, cvtsi2sdq,
11821 sse2_movq2dq_rex64, sse2_movsq2q_rex64): New.
11822 (sse2_movq2dq, sse2_movsq2q): Disable for 64bit.
11823 * mmintrin.h (_mm_cvtsi64x_si64, _mm_set_pi64x, _mm_cvtsi64_si64x): New.
11824 * xmmintrin.h (_mm_cvtss_si64x, _mm_cvttss_si64x, _mm_cvtsi64x_ss,
11825 _mm_set_epi64x, _mm_set1_epi64x, _mm_cvtsd_si64x, _mm_cvttsd_si64x,
11826 _mm_cvtsi64x_sd, _mm_cvtsi64x_si128, _mm_cvtsi128_si64x): New.
11827
11828 2003-02-22 Jan Hubicka <jh@suse.cz>
11829
11830 * i386.c (builtin_description): Add __builtin_ia32_paddq and
11831 __builtin_ia32_psubq. Fix __builtin_ia32_paddq128
11832 and __builtin_ia32_psubq128.
11833 * i386.h (IX86_BUILTIN_PADDQ, IX86_BUILTIN_PSUBQ): New.
11834 * i386.md (addv*, mmx_ior*, mmx_xoe*, mmx_and*): Add missing '%'.
11835 (mmx_adddi3, mmx_subdi3): New.
11836 * mmintrin.h (_mm_add_si64, _mm_sub_si64): New.
11837 * xmmintrin.h (_mm_movepi64_pi64): New.
11838 (_mm_add_epi64, _mm_sub_epi64): fix.
11839 (_mm_mul_pu16): Rename to...
11840 (_mm_mul_su32): ... this one.
11841
11842 * builtins.c (expand_builtin_expect): Do not predict
11843 flag_guess_branch_prob is not set.
11844 * c-semantics.c (expand_stmt): Likewise.
11845 * predict.c (predict_insn): Likewise.
11846 * stmt.c (expand_continue_loop): Likewise.
11847 * toplev.c (rest_of_compilation): Do not call
11848 note_prediction_to_br_prob and note_prediction_to_br_prob
11849 when not optimizing.
11850
11851 2003-02-21 Jan Hubicka <jh@suse.cz>
11852
11853 * cfgrtl.c (commit_edge_insertions): Call
11854 find_many_sub_basic_block only when some code has been emitted.
11855 (commit_edge_insertions_watch_calls): Bring into sync with
11856 commit_edge_insertions
11857
11858 2003-02-21 J"orn Rennecke <joern.rennecke@superh.com>
11859
11860 * sh.h (OVERRIDE_OPTIONS): Fix code that clears 'e' register class.
11861
11862 * sh.md (binary_sf_op): Use extra constant operand instead of
11863 negating constant operand 4.
11864 * sh.c (sh_expand_binop_v2sf): Supply it.
11865
11866 2003-02-21 Zack Weinberg <zack@codesourcery.com>
11867
11868 * cpphash.h (struct lexer_state): Add directive_wants_padding.
11869 * cpplib.c (_cpp_handle_directive): Set directive_wants_padding
11870 for directives of type INCL.
11871 (glue_header_name, parse_include): Use get_token_no_padding.
11872 * cppmacro.c (replace_args): If directive_wants_padding,
11873 provide padding tokens.
11874
11875 2003-02-21 Kazu Hirata <kazu@cs.umass.edu>
11876
11877 * config/h8300/h8300.md (a peephole2): New.
11878
11879 2003-02-21 Jan Hubicka <jh@suse.cz>
11880
11881 * cfgrtl.c (commit_one_edge_insertion): Only mark BB for splitting.
11882 (commit_edge_insertions): Call find_many_sub_basic_blocks
11883
11884 * reg-stack.c (convert_regs): Cleax aux for blocks.
11885
11886 2003-02-21 Jan Hubicka <jh@suse.cz>
11887
11888 * toplev.c (parse_options_and_default_flags): Undo accidental commit.
11889
11890 2003-02-21 Glen Nakamura <glen@imodulo.com>
11891
11892 PR optimization/8613
11893 * builtins.c (expand_builtin): Emit postincrements before expanding
11894 builtin functions.
11895
11896 2003-02-21 Ben Elliston <bje@redhat.com>
11897
11898 PR other/5634
11899 * doc/install.texi (Configuration): Explain using $HOME instead of
11900 the ~ metacharacter when referring to home directories.
11901
11902 2003-02-20 Alexandre Oliva <aoliva@redhat.com>
11903
11904 * configure.in (TARGET_SYSTEM_ROOT): Set default to
11905 ${exec_prefix}/${target_alias}/sys-root. Match explicit
11906 '${exec_prefix}' (in addition to the expansion thereof) as
11907 relocatable.
11908 * configure: Rebuilt.
11909
11910 2003-02-20 Kazu Hirata <kazu@cs.umass.edu>
11911
11912 * config/h8300/h8300.md (addhi3_incdec): Change the name to
11913 *addhi3_incdec.
11914 (addsi3_incdec): Change the name to *addsi3_incdec.
11915
11916 2003-02-20 Roger Sayle <roger@eyesopen.com>
11917
11918 * explow.c (force_reg): Avoid useless REG_EQUAL notes.
11919
11920 2003-02-20 Toon Moene <toon@moene.indiv.nluug.nl>
11921
11922 PR fortran/9038
11923 * c-opts.c (sanitize_cpp_opts): Add Fortran front end
11924 options to be ignored.
11925 (c_common_decode_option): Ignore them when preprocessing.
11926
11927 2003-02-20 Jan Hubicka <jh@suse.cz>
11928
11929 * toplev.c (flag_sched2_use_superblocks, flag_sched2_use_traces): New
11930 global variables.
11931 (lang_independent_options): Add -fsched2-use-superblocks
11932 -fsced2-use-traces.
11933 (rest_of_compilation): Deal with it.
11934 * invoke.texi (-fsched2-use-traces, fsched2-use-superblocks): Declare.
11935 * flags.h (flag_sched2_use_superblocks, flag_sched2_use_traces):
11936 Declare.
11937 * rtl.h (reg_to_stack): Update prototype.
11938 * reg-stack.c (reg_to_stack): Return when something has changed;
11939 update liveness when executing after superblock scheduling.
11940
11941 * combine.c (simplify_shift_const): Simplify few special cases
11942 into constants.
11943
11944 2003-02-20 David Edelsohn <edelsohn@gnu.org>
11945
11946 * config/rs6000/rs6000.md: (attr "type"): Add fast_compare.
11947 (add.,subf.,neg.): Change attribute to fast_compare.
11948 All DFA descriptions updated.
11949
11950 2003-02-20 Nathan Sidwell <nathan@codesourcery.com>
11951
11952 Change base class access representation.
11953 * tree.h (TREE_VIA_PUBLIC, TREE_VIA_PROTECTED,
11954 TREE_VIA_PRIVATE): Remove.
11955 (BINFO_BASEACCESSES): New binfo elt.
11956 (BINFO_BASEACCESS): New accessor.
11957 (BINFO_ELTS): Increase.
11958 (TI_ACCESS_PUBLIC, TI_ACCESS_PROTECTED, TI_ACCESS_PRIVATE): New.
11959 (access_public_node, access_protected_node,
11960 access_private_node): New global nodes.
11961 * tree.c (build_common_tree_nodes_2): Initialize access nodes.
11962 * dbxout.c (dbxout_type): Adjust.
11963 * dwarf2out.c (gen_inheritance_die): Add access parameter.
11964 (gen_member_die): Adjust.
11965 * dwarfout.c (output_inheritance_die): ARG is array of two trees.
11966 (output_type): Adjust.
11967 * tree-dump.c (dequeue_and_dump): Adjust binfo dumping.
11968
11969 Change base class access representation. Share virtual base
11970 binfos.
11971 * cp/call.c (build_special_member_call): Remove binfo_for_vbase
11972 call.
11973 * cp/class.c (build_base_path): Likewise.
11974 (build_primary_vtable): Adjust BINFO_NEW_VTABLE_MARKED use.
11975 (build_secondary_vtable): Remove FOR_TYPE arg. Adjust.
11976 (make_new_vtable): Adjust.
11977 (force_canonical_binfo_r): Delete.
11978 (force_canonical_binfo): Delete.
11979 (mark_primary_virtual_base): Delete.
11980 (dfs_unshared_virtual_bases): Delete.
11981 (mark_primary_bases): Adjust.
11982 (maybe_warn_about_overly_private_class): Adjust.
11983 (dfs_base_derived_from): Delete.
11984 (base_derived_from): Follow the inheritance chain.
11985 (struct find_final_overrider_data): Add vpath member.
11986 (dfs_find_final_overrider): Adjust.
11987 (dfs_find_final_overrider_q, dfs_find_final_overrider_post): New.
11988 (find_final_overrider): Adjust.
11989 (update_vtable_entry_for_fn): Adjust.
11990 (modify_all_vtables): Adjust.
11991 (walk_subobject_offsets): Adjust.
11992 (layout_nonempty_base_or_field): Adjust.
11993 (layout_empty_base): Remove last parameter. Adjust.
11994 (build_base_field): Adjust.
11995 (build_base_fields): Adjust.
11996 (propagate_binfo_offsets): Remove last parameter. Adjust.
11997 (dfs_set_offset_for_unshared_vbases): Delete.
11998 (layout_virtual_bases): Adjust.
11999 (finish_struct_1): Adjust.
12000 (init_class_processing): Don't init access nodes.
12001 (dfs_get_primary_binfo): Delete.
12002 (get_primary_binfo): Adjust.
12003 (dump_class_hierarchy_r): Remove most derived arg, add IGO
12004 parameter. Adjust.
12005 (dump_class_hierarchy): Adjust.
12006 (finish_vtbls): Adjust.
12007 (get_original_base): Delete.
12008 (build_vtt_inits): Adjust.
12009 (dfs_build_secondary_vptr_vtt_inits): Adjust.
12010 (dfs_ctor_vtable_bases_queue_p): Adjust.
12011 (build_ctor_vtbl_group): Adjust.
12012 (dfs_accumulate_vtbl_inits): Adjust.
12013 (build_vtbl_initializer): Adjust.
12014 (build_vbase_offset_vtbl_entries): Adjust.
12015 (add_vcall_offset_vtbl_entries_1): Adjust.
12016 * cp/cp-tree.h (CPTI_ACCESS_*): Remove.
12017 (access_*_node): Remove.
12018 (CANONICAL_BINFO): Delete.
12019 (BINFO_UNSHARED_MARKED): Remove.
12020 (BINFO_MARKED): Set LANG_FLAG_0 directly.
12021 (SET_BINFO_MARKED, CLEAR_BINFO_MARKED): Delete.
12022 (BINFO_VTABLE_PATH_MARKED): Set LANG_FLAG_3 directly.
12023 (SET_BINFO_VTABLE_PATH_MARKED, CLEAR_BINFO_VTABLE_PATH_MARKED):
12024 Delete.
12025 (BINFO_NEW_VTABLE_MARKED): Set LANG_FLAG_4 directly.
12026 (SET_BINFO_NEW_VTABLE_MARKED): Adjust.
12027 (SET_BINFO_PUSHDECLS_MARKED, CLEAR_BINFO_PUSHDECLS_MARKED):
12028 Delete.
12029 (BINFO_DEPENDENT_BASE_P): New.
12030 (dfs_walk, dfs_walk_real): Queue function takes derived binfo and
12031 index.
12032 (markedp, unmarkedp): Adjust.
12033 (dfs_unmarked_real_bases_queue_p, dfs_marked_real_bases_queue_p,
12034 dfs_skip_vbases, marked_vtable_pathp, unmarked_vtable_pathp,
12035 find_vbase_instance, binfo_for_vbase): Delete.
12036 (copied_binfo, original_binfo): Declare.
12037 (finish_base_specifier): Add virtual_p arg.
12038 (unshare_base_binfos): Delete.
12039 (copy_base_binfos): Declare.
12040 (reverse_path): Delete.
12041 * cp/decl.c (xref_basetypes): Access and virtuality passed
12042 differently. Don't copy direct base binfos here. Call
12043 copy_base_binfos.
12044 * cp/init.c (dfs_initialize_vtbl_ptrs): Adjust.
12045 (initialize_vtbl_ptrs): Adjust.
12046 (expand_member_init): Adjust.
12047 * cp/parser.c (cp_parser_base_specifier): Adjust.
12048 * cp/pt.c (instantiate_class_template): Adjust.
12049 (get_template_base_recursive): Adjust.
12050 * cp/rtti.c (get_pseudo_ti_init): Adjust.
12051 (get_pseudo_ti_desc): Adjust.
12052 * cp/tree.c (unshare_base_binfos): Rename to ...
12053 (copy_base_binfos): ... here, reimplement.
12054 (make_binfo): Set BINFO_DEPENDENT_BASE_P.
12055 (reverse_path): Remove.
12056 * cp/typeck.c (get_delta_difference): Adjust error messages.
12057 * cp/semantics.c (finish_base_specifier): Add virtual arg, adjust.
12058 * cp/search.c (lookup_base_r): Adjust.
12059 (dynamic_cast_base_recurse): Adjust.
12060 (canonical_binfo): Remove.
12061 (dfs_canonical_queue): Remove.
12062 (dfs_assert_unmarked_p): Remove.
12063 (assert_canonical_unmarked): Remove.
12064 (shared_marked_p, shared_unmarked_p): Remove.
12065 (BINFO_ACCESS, SET_BINFO_ACCESS): Use TREE_PUBLIC & TREE_PRIVATE.
12066 (dfs_access_in_type): Adjust.
12067 (access_in_type): Adjust.
12068 (dfs_accessible_queue_p): Adjust.
12069 (dfs_accessible_p): Adjust.
12070 (is_subobject_of_p_1, is_subobject_of_p): Remove.
12071 (struct lookup_field_info): Remove from_dep_base_p field.
12072 (lookup_field_queue_p): Adjust, test BINFO_DEPENDENT_BASE_P.
12073 (lookup_field_r): Remove dependent base code.
12074 (lookup_member): Likewise.
12075 (dfs_walk, dfs_walk_real): Add access arg to queue fn.
12076 (dfs_unmarked_real_bases_queue_p): Remove.
12077 (dfs_marked_real_bases_queue_p): Remove.
12078 (dfs_skip_vbases): Remove.
12079 (dfs_get_pure_virtuals): Adjust.
12080 (markedp, unmarkedp): Adjust.
12081 (marked_vtable_pathp, unmarked_vtable_pathp): Remove.
12082 (marked_pushdecls_p, unmarked_pushdecls_p): Adjust.
12083 (dfs_unmark): Adjust.
12084 (dfs_get_vbase_types):Remove.
12085 (dfs_build_inheritance_graph_order): Remove.
12086 (get_vbase_types): Remove
12087 (dfs_find_vbase_instance): Remove.
12088 (find_vbase_instance): Remove.
12089 (dfs_debug_unmarkedp): Adjust.
12090 (dependent_base_p): Remove.
12091 (dfs_push_type_decls): Adjust.
12092 (dfs_push_decls): Adjust.
12093 (dfs_no_overlap_yet): Adjust.
12094 (copied_binfo): New function.
12095 (original_binfo): New function.
12096 (binfo_for_vbase): Remove.
12097
12098 Change base class access representation.
12099 * java/class.c (set_super_info): Don't set TREE_VIA_PUBLIC.
12100 (add_interface_do): Likewise.
12101
12102 2003-02-20 David Edelsohn <edelsohn@gnu.org>
12103
12104 * config/rs6000/sysv4.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
12105 * config/rs6000/power4.md (power4-store,power4-vecstore): New
12106 insn reservations.
12107 (power4-fpstore): Compact.
12108
12109 2003-02-20 Kazu Hirata <kazu@cs.umass.edu>
12110
12111 * config/h8300/h8300.md (*iorsi3_w): New.
12112
12113 2003-02-20 Josef Zlomek <zlomekj@suse.cz>
12114
12115 * combine.c (distribute_notes): Kill REG_EXEC_COUNT.
12116 * rtl.c (reg_note_name): Likewise.
12117 * rtl.h (enum reg_note): Likewise.
12118 * doc/invoke.texi: Likewise.
12119 * doc/rtl.texi: Likewise.
12120
12121 2003-02-20 Josef Zlomek <zlomekj@suse.cz>
12122
12123 * bb-reorder.c (find_traces_1_round): Fix comment typo.
12124
12125 2003-02-19 Roger Sayle <roger@eyesopen.com>
12126
12127 * fold-const.c (fold_real_zero_addition_p): Don't fold a zero
12128 addition in the presence of signaling NaNs.
12129
12130 2003-02-19 Krister Walfridsson <cato@df.lth.se>
12131
12132 * tm.texi (INIT_CUMULATIVE_ARGS): Fix typo.
12133
12134 2003-02-19 Kazu Hirata <kazu@cs.umass.edu>
12135
12136 * config/h8300/h8300.c (output_logical_op): Optimize or.l when
12137 ORing with 0xffff??00 with the highest bit of the ?? part set.
12138 (compute_logical_op_length): Update.
12139 (compute_logical_op_cc): Likewise.
12140
12141 2003-02-19 Josef Zlomek <zlomekj@suse.cz>
12142
12143 * bb-reorder.c (find_traces_1_round): Fixed condition for small
12144 destination block with multiple predecessors.
12145 (connect_traces): Check whether the block is a start of trace.
12146
12147 2003-02-19 Jan Hubicka <jh@suse.cz>
12148
12149 * calls.c (expand_call): Update call of INIT_CUMULATIVE_ARGS
12150 * function.c (assign_params): Likewise.
12151 * arm-protos.h (arm_init_cumulative_args): Update prototype.
12152 * arm.c (arm_init_cumulative_args): Update function.
12153 * arm.h (INIT_CUMULATIVE_ARGS): Update.
12154 * avr-protos.h (init_cumulative_args): Update prototype.
12155 * avr.c (init_cumulative_args): Update function.
12156 * avr.h (INIT_CUMULATIVE_ARGS): Update.
12157 * d30v-protos.h (d30v_init_cumulative_args): Update prototype.
12158 * d30v.c (d30v_init_cumulative_args): Update function.
12159 * d30v.h (INIT_CUMULATIVE_ARGS): Update.
12160 * frv-protos.h (frv_init_cumulative_args): Update prototype.
12161 * frv.c (frv_init_cumulative_args): Update function.
12162 * frv.h (INIT_CUMULATIVE_ARGS): Update.
12163 * mips.c (mips_expand_prolgue): Update call of INIT_CUMULATIVE_ARGS.
12164 * pa.h (INIT_CUMULATIVE_ARGS): Update.
12165 * sparc-protos.h (init_cumulative_args): Update prototype.
12166 * sparc.c (init_cumulative_args): Update function.
12167 * sparc.h (INIT_CUMULATIVE_ARGS): Update.
12168 * tm.texi (INIT_CUMULATIVE_ARGS): Update documentation.
12169
12170 2003-02-19 Kazu Hirata <kazu@cs.umass.edu>
12171
12172 * config/h8300/h8300.md (*iorsi3_two_qi_sext): New.
12173 (*ashiftsi_sextqi_7): Likewise.
12174
12175 2003-02-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12176
12177 * config/mips/iris6.h (TARGET_OS_CPP_BUILTINS): Define __c99 for
12178 ISO C99 and C++.
12179
12180 * fixinc/inclhack.def (irix___restrict): Don't change __restrict
12181 for C++ on IRIX 6.5.1[89].
12182 * fixinc/tests/base/internal/sgimacros.h: New file.
12183
12184 * fixinc/inclhack.def (irix_wcsftime): Use XPG5 variant for C99.
12185 * fixinc/tests/base/internal/wchar_core.h: New file.
12186
12187 * fixinc/inclhack.def (irix_socklen_t): Fix broken IRIX 6.5.1[78]
12188 socklen_t definition.
12189 * fixinc/fixincl.x: Regenerate.
12190 * fixinc/tests/base/sys/socket.h: New file.
12191 Fixes PR libgcj/9652.
12192
12193 2003-02-19 Jan Hubicka <jh@suse.cz>
12194
12195 * i386.md (movsfcc_1, movdfcc_1): Fix constrains.
12196
12197 2003-02-19 David Edelsohn <edelsohn@gnu.org>
12198
12199 * config/rs6000/rs6000.c (rs6000_override_options): Initialize
12200 align_jumps_max_skip and align_loops_max_skip.
12201
12202 2003-02-19 Thierry Moreau <thierry.moreau@connotech.com>
12203
12204 * config/rs6000/rs6000.c (rs6000_encode_section_info): Do not
12205 test size if named section.
12206
12207 2003-02-19 Daniel Jacobowitz <drow@mvista.com>
12208
12209 * expr.c (expand_expr): Use gen_int_mode for the argument
12210 to gen_rtx_MULT.
12211
12212 2003-02-19 Jan Hubicka <jh@suse.cz>
12213
12214 * i386.md (cosxf2): Fix conditional.
12215
12216 2003-02-19 Kazu Hirata <kazu@cs.umass.edu>
12217
12218 * config/h8300/h8300.md (extendqisi2): Change to an expander.
12219 (*extendqisi2_h8300): New.
12220 (*extendqisi2_h8300hs): Likewise.
12221
12222 2003-02-19 Kazu Hirata <kazu@cs.umass.edu>
12223
12224 * config/h8300/h8300-protos.h: Update the prototype for
12225 split_adds_subs. Remove the prototypes for
12226 const_int_le_2_operand and const_int_le_6_operand.
12227 * config/h8300/h8300.c (split_adds_sub): Don't output inc/dec.
12228 (const_int_le_2_operand): Remove.
12229 (const_int_le_6_operand): Likewise.
12230 * config/h8300/h8300.h (PREDICATE_CODES): Remove the entries
12231 for const_int_le_2_operand and const_int_le_6_operand.
12232 * config/h8300/h8300.md: Update all uses of split_adds_subs.
12233 (a peephole2): New.
12234
12235 2003-02-18 Jan Hubicka <jh@suse.cz>
12236
12237 * cgraph.c (NPREDECESORC, SET_NPREDECESORS): Kill.
12238 (cgraph_expand_function): Rewrite.
12239
12240 2003-02-18 Matt Austern <austern@apple.com>
12241
12242 * toplev.c, langhooks.c, langhooks-def.h: Move
12243 write_global_declarations from toplev.c to langhooks.c.
12244
12245 2003-02-18 Kazu Hirata <kazu@cs.umass.edu>
12246
12247 * config/h8300/h8300.c (general_operand_src): Always check
12248 MODE.
12249 (general_operand_dst): Likewise.
12250
12251 2003-02-18 Roger Sayle <roger@eyesopen.com>
12252
12253 * convert.c (convert_to_real): Also optimize (float)log(x) into
12254 logf(x) where x is a float, i.e. also handle BUILT_IN_LOG{,L}.
12255
12256 2003-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
12257
12258 * config/sh/sh.c (unspec_caller_rtx_p): New.
12259 (sh_cannot_copy_insn_p): New.
12260 (TARGET_CANNOT_COPY_INSN_P): New.
12261
12262 2003-02-18 Richard Henderson <rth@redhat.com>
12263
12264 * c-common.c (handle_used_attribute): Accept static data too.
12265
12266 2003-02-18 Nick Clifton <nickc@redhat.com>
12267 Aldy Hernandez <aldyh@redhat.com>
12268
12269 * testsuite/gcc.dg/20030218-1.c: New.
12270
12271 * doc/tm.texi: Document TARGET_VECTOR_TYPES_COMPATIBLE.
12272
12273 * target-def.h (TARGET_INITIALIZER): Add
12274 TARGET_VECTOR_TYPES_COMPATIBLE.
12275 (TARGET_VECTOR_TYPES_COMPATIBLE): New macro.
12276
12277 * target.h (struct gcc_target): Add field vector_types_compatible.
12278
12279 * c-typeck.c (comptypes): Take into account
12280 TARGET_VECTOR_TYPES_COMPATIBLE.
12281 (convert_for_assignment): Same.
12282
12283 * config/rs6000/rs6000.c (is_ev64_opaque_type): New.
12284 (rs6000_spe_vector_types_compatible): New.
12285 (TARGET_VECTOR_TYPES_COMPATIBLE): Define.
12286
12287 2003-02-19 Andreas Schwab <schwab@suse.de>
12288
12289 * Makefile.in (toplev.o): Depend on $(LANGHOOKS_DEF_H).
12290 * toplev.c: Include langhooks-def.h.
12291
12292 2003-02-18 Chris Demetriou <cgd@broadcom.com>
12293
12294 * config/mips/mips.h (enum processor_type): Sort entries
12295 alphabetically.
12296 * config/mips/mips.md (define_attr cpu): Sync with processor_type
12297 enum values, including adding entries that were missing.
12298
12299 2003-02-18 J"orn Rennecke <joern.rennecke@superh.com>
12300
12301 * sh.c (calc_live_regs): Also check GET_CODE when checking if
12302 initial value for PR_REG is still the PR_REG register.
12303
12304 2003-02-18 Jim Wilson <wilson@redhat.com>
12305
12306 * config/ia64/ia64.md (floatdidf2, floatdisf2): Add %, before second
12307 instruction in output template.
12308 (bsp_value): Change output template from string to C code, add %,
12309 before actual instruction.
12310 (flushrs): Mark as not predicable.
12311
12312 2003-02-18 Krister Walfridsson <cato@df.lth.se>
12313
12314 * inclhack.def (netbsd_bogus_semicolon): New fix.
12315 * fixincl.x: Rebuilt.
12316 * tests/base/ctype.h: Update.
12317
12318 2003-02-18 Roger Sayle <roger@eyesopen.com>
12319
12320 * fold-const.c (negate_expr_p): New function to determine whether
12321 an expression can be negated cheaply.
12322 (fold) [MINUS_EXPR]: Use it to determine whether to transform
12323 -A - B into -B - A for floating point types.
12324
12325 2003-02-18 Roger Sayle <roger@eyesopen.com>
12326
12327 * sbitmap.c (sbitmap_resize): New function.
12328 * sbitmap.h (sbitmap_resize): Prototype here.
12329 * recog.c (split_all_insns): Use sbitmap_resize.
12330
12331 2003-02-18 Kazu Hirata <kazu@cs.umass.edu>
12332
12333 * config/h8300/h8300.md (*zero_extendhisi2_h8300): Fix the
12334 insn length.
12335 (extendqisi2): Likewise.
12336 (*extendhisi2_h8300): Likewise.
12337
12338 2003-02-18 Matt Austern <austern@apple.com>
12339
12340 * langhooks.h, langhooks-def.h: introduce new langhook,
12341 final_write_globals, with write_global_declarations as default.
12342 * toplev.c: Move invocation of wrapup_global_declarations from
12343 compile_file to new function, write_global_declarations. Change
12344 compile_file to use final_write_globals hook. Change
12345 wrapup_global_declarations so writing to DECL_DEFER_OUTPUT is
12346 conditional.
12347
12348 2003-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12349
12350 * pa.md: Correct and enhance comment.
12351
12352 2003-02-18 Geoffrey Keating <geoffk@apple.com>
12353
12354 * gcc.c (validate_switches): Don't scan past closing '}'.
12355
12356 2003-02-18 Ben Elliston <bje@redhat.com>
12357
12358 PR c++/1607
12359 * doc/extend.texi (Function Attributes): Document the effect of
12360 the C++ "this" parameter on the counting of arguments for the
12361 "format" and "format_arg" attributes.
12362
12363 2003-02-17 Aldy Hernandez <aldyh@redhat.com>
12364
12365 * config/rs6000/spe.h (__ev_stdd): Cast 2nd arg.
12366 (__ev_stdw): Same.
12367 (__ev_stdh): Same.
12368
12369 2003-02-17 Jan Hubicka <jh@suse.cz>
12370
12371 * recog.c (split_all_insns): Fix memory overflow.
12372
12373 2003-02-17 Kazu Hirata <kazu@cs.umass.edu>
12374
12375 * config/h8300/h8300.md (cmpqi): Remove mode from compare.
12376 (cmphi): Likewise.
12377 (*cmphi_h8300): Likewise.
12378 (*cmphi_h8300hs): Likewise.
12379 (cmpsi): Likewise.
12380 (7 peephole2): Likewise.
12381
12382 2003-02-16 Jan Hubicka <jh@suse.cz>
12383
12384 * c-typeck.c (build_c_cast): Fold constant variables into
12385 initial values.
12386
12387 2003-02-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
12388
12389 * doc/install.texi (Specific): Fix link for m68k-att-sysv.
12390 (Binaries): Ditto for Sinix/Reliant Unix.
12391
12392 2003-02-16 Richard Earnshaw <rearnsha@arm.com>
12393
12394 * arm.c (arm_reload_in_hi): Ensure that the scratch register does
12395 not overlap the final result register.
12396
12397 2003-02-16 Arend Bayer <arend.bayer@web.de>
12398 Richard Henderson <rth@redhat.com>
12399
12400 PR c/8068
12401 * fold-const.c (extract_muldiv_1): Rename from extract_muldiv;
12402 rearrange mult arguments for less recursion.
12403 (extract_muldiv): New. Prevent runaway recursion.
12404
12405 2003-02-16 Danny Smith <dannysmith@users.sourceforge.net>
12406
12407 * config/i386/cygwin.h (TARGET_SUBTARGET_DEFAULT): Set
12408 MASK_ALIGN_DOUBLE.
12409
12410 2003-02-15 Roger Sayle <roger@eyesopen.com>
12411
12412 * config/i386/i386.c (x86_ext_80387_constants): Use 80387 insns
12413 to load mathematical constants on K6, Athlon, Pentium 4 and PPro.
12414 (ext_80387_constants_table): Global table of 80387 special constants
12415 guarded by ext_80387_constants_init flag when not initialized.
12416 (init_ext_80387_constants): New function to initialize this table.
12417 (standard_80387_constant_p): Extend to recognize extra 80387
12418 constants, in XFmode, on processors where this is a win.
12419 (standard_80387_constant_opcode): New function to return the
12420 opcode associated with standard_80387_constant_p.
12421 (standard_80387_constant_rtx): New function to return the XFmode
12422 CONST_DOUBLE associated with standard_80387_constant_p.
12423 (ix86_rtx_costs): Give the new constants the same cost as 1.0.
12424
12425 * config/i386/i386-protos.h (standard_80387_constant_opcode):
12426 Prototype here.
12427 (standard_80387_constant_rtx): Likewise.
12428
12429 * config/i386/i386.md (*movsf1, *movsf1_nointerunit, *movdf_nointeger,
12430 *movdf_integer, *movxf_nointeger, *movtf_nointeger, *movxf_integer,
12431 *movtf_integer): Simplify using new standard_80387_constant_opcode.
12432
12433 2003-02-15 Geoffrey Keating <geoffk@apple.com>
12434
12435 * doc/invoke.texi (Optimize Options): Correct @option syntax.
12436
12437 2003-02-15 Richard Henderson <rth@redhat.com>
12438
12439 * Makefile.in (cfglayout.o): Depend on TARGET_H.
12440 * cfglayout.c: Include target.h.
12441 (cfg_layout_can_duplicate_bb_p): Check targetm.cannot_copy_insn_p.
12442 * target-def.h (TARGET_CANNOT_COPY_INSN_P): New.
12443 * target.h (struct gcc_target): Add cannot_copy_insn_p.
12444
12445 * config/alpha/alpha.c (alpha_cannot_copy_insn_p): New.
12446 (TARGET_CANNOT_COPY_INSN_P): New.
12447 (override_options): Revert 2003-02-08 hack.
12448
12449 2003-02-15 Richard Henderson <rth@redhat.com>
12450
12451 * gcse.c (bypass_block): Use BLOCK_FOR_INSN for resolving LABEL_REFs.
12452 (bypass_conditional_jumps): Accept computed_jump_p insns as well.
12453
12454 2003-02-15 David Edelsohn <edelsohn@gnu.org>
12455
12456 * config/rs6000/rs6000.h (processor_type): Add PPC440.
12457 * config/rs6000/rs6000.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
12458 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
12459 TARGET_SCHED_VARIABLE_ISSUE): Define.
12460 (rs6000_use_dfa_pipeline_interface): New function.
12461 (rs6000_multipass_dfa_lookahead): New Function.
12462 (rs6000_variable_issue): New function.
12463 (rs6000_adjust_cost): Add CMP and DELAYED_CR types.
12464 (rs6000_issue_rate): Add PPC440.
12465 * config/rs6000/rs6000.md (unspec list): Correct typo.
12466 (attr "type"): Add load_ext, load_ext_u, load_ext_ux, load_u,
12467 store_ux, store_u, fpload_ux, fpload_u, fpstore_ux, fpstore_u,
12468 cmp, delayed_cr, mfcr, mtcr.
12469 (automata_option): Set "ndfa".
12470 (extendMMNN2): Update attributes.
12471 (movcc_internal1): Discourage move to non-cr0. Update
12472 attributes.
12473 (movMM_update): Update attributes.
12474 (cmpMM_internal): Update attributes.
12475 (sCC CR materialization): Update attributes.
12476 (branch patterns): Do not discourage non-cr0.
12477 (cr logical patterns): Prefer destructive register allocation.
12478 Update attributes.
12479 (movesi_from_cr): Update attribute.
12480 (mtcrf_operation): Update attribute.
12481 (mtcrfsi): Update attribute.
12482 * config/rs6000/40x.md: New file.
12483 * config/rs6000/603.md: New file.
12484 * config/rs6000/6xx.md: New file.
12485 * config/rs6000/7450.md: New file.
12486 * config/rs6000/7xx.md: New file.
12487 * config/rs6000/mpc.md: New file.
12488 * config/rs6000/power4.md: New file.
12489 * config/rs6000/rios1.md: New file.
12490 * config/rs6000/rios2.md: New file.
12491 * config/rs6000/rs64.md: New file.
12492 [Some DFA descriptions based on work by Michael Hayes]
12493
12494 2003-02-15 Richard Henderson <rth@redhat.com>
12495
12496 * bb-reorder.c (find_traces_1_round): Don't connect easy to copy
12497 successors with multiple predecessors.
12498 (connect_traces): Try harder to copy traces of length 1.
12499
12500 * function.h (struct function): Add computed_goto_common_label,
12501 computed_goto_common_reg.
12502 * function.c (free_after_compilation): Zap them.
12503 * stmt.c (expand_computed_goto): Use them to produce one
12504 indirect branch per function.
12505
12506 2003-02-15 Richard Henderson <rth@redhat.com>
12507
12508 * cfgcleanup.c: Include params.h.
12509 (try_crossjump_bb): Use PARAM_MAX_CROSSJUMP_EDGES. Fix test for
12510 too many outgoing edges from a block.
12511 * Makefile.in (cfgcleanup.o): Depend on PARAMS_H.
12512 * params.def (max-crossjump-edges): New.
12513 * doc/invoke.texi: Document it.
12514
12515 2003-02-15 Richard Henderson <rth@redhat.com>
12516
12517 * recog.c (split_all_insns): Include new blocks in life update;
12518 do a global life update.
12519
12520 2003-02-15 Danny Smith <dannysmith@users.sourceforge.net>
12521
12522 * config/i386/mingw32.h (LIBGCC_SPEC): Add libmingwex.a.
12523 Update copyright.
12524 * config/i386/cygwin.h (LIBGCC_SPEC): Add libmingwex.a for
12525 -mno-cygwin case.
12526
12527 2003-02-14 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
12528
12529 PR optimization/7702
12530 * reload1.c (reload_cse_simplify_set): Honor
12531 CANNOT_CHANGE_MODE_CLASS.
12532
12533 2003-02-14 Alexandre Oliva <aoliva@redhat.com>
12534
12535 * config/mn10300/mn10300.c (mn10300_wide_const_load_uses_clr): New
12536 function.
12537 * config/mn10300/mn10300-protos.h: Declare it.
12538 * config/mn10300/mn10300.md (movdi, movdf): Use it to compute
12539 attribute cc of instructions that may use clr.
12540
12541 2003-02-14 Kazu Hirata <kazu@cs.umass.edu>
12542
12543 * simplify-rtx.c (simplify_binary_operation): Simplify ~y when
12544 (x - (x & y)) is found.
12545
12546 2003-02-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12547
12548 * configure.in: Fix typo.
12549 * configure: Regenerate.
12550
12551 2003-02-14 Kazu Hirata <kazu@cs.umass.edu>
12552
12553 * config/h8300/h8300.md (*iorsi2_and_1_lshiftrt_1): New.
12554
12555 2003-02-13 Adam Nemet <anemet@lnxw.com>
12556
12557 PR opt/2391
12558 * combine.c: Fix spelling in comment.
12559 (cached_nonzero_bits): New function.
12560 (cached_num_sign_bit_copies): New function.
12561 (nonzero_bits_with_known): New macro.
12562 (num_sign_bit_copies_with_known): New macro.
12563 (nonzero_bits1): Rename from nonzero_bits. Add three new
12564 arguments. Change calls from nonzero_bits to
12565 nonzero_bits_with_known.
12566 (num_sign_bit_copies1): Rename from num_sign_bit_copies. Add
12567 three new arguments. Change calls from num_sign_bit_copies to
12568 num_sign_bit_copies_with_known.
12569 (nonzero_bits): New macro.
12570 (num_sign_bit_copies): New macro.
12571 (update_table_tick): Don't traverse identical subexpression more
12572 than once.
12573 (get_last_value_validate): Likewise.
12574
12575 2003-02-13 Zack Weinberg <zack@codesourcery.com>
12576
12577 * emit-rtl.c (init_emit): Use ggc_alloc for regno_reg_rtx.
12578 * function.h (struct emit_status): Length of regno_pointer_align
12579 and x_regno_reg_rtx as seen by gengtype is only x_reg_rtx_no,
12580 not regno_pointer_align_length (i.e. length actually used, not
12581 length as allocated)
12582
12583 * config/i386/i386.c (struct stack_local_entry): New.
12584 (struct machine_function): Replace huge array with alist.
12585 (assign_386_stack_local): Change to match.
12586
12587 2003-02-13 John David Anglin <dave.anglin@nrc-crnc.gc.ca>
12588
12589 * inclhack.def (hpux_long_double): Tighten select and add bypass
12590 regexp.
12591 * fixincl.x: Rebuilt.
12592
12593 2003-02-13 Josef Zlomek <zlomekj@suse.cz>
12594
12595 * cfgcleanup.c (outgoing_edges_match): When there is single outgoing
12596 edge and block ends with a jump insn it must be simple jump.
12597
12598 2003-02-13 Daniel Jacobowitz <drow@mvista.com>
12599
12600 * Makefile.in (PREPROCESSOR_DEFINES): Add
12601 @TARGET_SYSTEM_ROOT_DEFINE@.
12602 * configure.in (PREFIX_INCLUDE_DIR): Don't define if $with_sysroot
12603 is specified or if building a cross compiler.
12604 (TARGET_SYSTEM_ROOT_DEFINE): Add TARGET_SYSTEM_ROOT_RELOCATABLE
12605 if the sysroot is under $exec_prefix.
12606 * configure: Regenerated.
12607 * cppdefault.h: Use native include paths if TARGET_SYSTEM_ROOT is
12608 defined.
12609 (struct default_include): Add add_sysroot field.
12610 (cpp_SYSROOT): Declare.
12611 * cppdefault.c (cpp_include_defaults): Fill in add_sysroot
12612 field.
12613 (cpp_SYSROOT): New variable.
12614 * cppinit.c (cpp_create_reader): Initialize
12615 CPP_OPTION (pfile, sysroot).
12616 (init_standard_includes): Handle add_sysroot. Do not
12617 add unrelocated copies of relocated directories.
12618 (COMMAND_LINE_OPTIONS): Add -isysroot.
12619 (cpp_handle_option): Handle -isysroot.
12620 * cpplib.h (struct cpp_options): Add sysroot member.
12621 * gcc.c (The Specs Language): Update description of %I.
12622 (target_system_root_changed): New variable.
12623 (process_command): Conditionalize make_relative_prefix call
12624 on !VMS and TARGET_SYSTEM_ROOT_RELOCATABLE. Set
12625 target_system_root_changed.
12626 (do_spec_1): Add -isysroot to %I.
12627 * doc/invoke.texi (Spec Files): Update description of %I.
12628 * doc/install.texi (--with-sysroot): Update comment about
12629 relocation.
12630
12631 2003-02-13 Kazu Hirata <kazu@cs.umass.edu>
12632
12633 * config/h8300/h8300.md (a peephole2): New.
12634
12635 2003-02-13 Robert Lipe <robertlipe@usa.net>
12636 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
12637
12638 * doc/install.texi (Specific): Update three SCO-related URLs.
12639
12640 2003-02-13 Andreas Schwab <schwab@suse.de>
12641
12642 * cgraph.c (SET_NPREDECESORS): Add intermediate cast to size_t.
12643 Parenthesize properly.
12644 (NPREDECESORS): Parenthesize properly.
12645
12646 2003-02-13 Gabriel Dos Reis <gdr@integrable-solutions.net>
12647
12648 * timevar.h (POP_TIMEVAR_AND_RETURN): New macro.
12649
12650 2003-02-12 Roger Sayle <roger@eyesopen.com>
12651
12652 * config/i386/i386.md (UNSPEC_FPATAN): New UNSPEC constant.
12653 (atan2sf3, atan2df3, atan2xf3, atan2tf3): New patterns.
12654
12655 * reg-stack.c (subst_stack_regs_pat): Add support for binary
12656 UNSPEC instructions (e.g. "fpatan").
12657
12658 2003-02-12 Mike Stump <mrs@apple.com>
12659
12660 * varray.c (element_size): Remove.
12661 (uses_ggc): Remove.
12662 (element): Add.
12663 (varray_init): Use new interface.
12664 (varray_grow): Use new interface.
12665 (varray_clear): Use new interface.
12666
12667 2003-02-12 Aldy Hernandez <aldyh@redhat.com>
12668
12669 * config/rs6000/spe.h: Add casts to the arguments of the following
12670 macros: evfsabs, evfsnabs, evfsneg, evfsadd, evfssub, evfsmul,
12671 evfsdiv, evfscfui, evfscfsi evfscfuf evfscfsf, evfsctui, evfsctsi,
12672 evfsctuf, evfsctsf, evfsctuiz, evfsctsiz, __ev_get_upper*,
12673 __ev_get_lower*, __ev_get_u32, __ev_get_s32, __ev_get_fs,
12674 __ev_get_u16, __ev_get_s16.
12675
12676 2003-02-12 Kazu Hirata <kazu@cs.umass.edu>
12677
12678 * config/h8300/h8300.md (a peephole2): New.
12679
12680 2003-02-12 Jan Hubicka <jh@suse.cz>
12681
12682 * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-unit-at-a-time
12683 (OBJS): Add callgraph.o
12684 (callgraph.o): New.
12685 * c-decl.c (expand_body_1): Break out from ...
12686 (expand_body): This one; change calling convention
12687 (finish_function): Move some of expand_body logic here.
12688 (c_expand_deferred_function): Update call of expand_body
12689 (c_expand_stmt): Use c_expand_body_1.
12690 * c-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Define.
12691 * c-objc-commin.c (c_objc_common_finish_file): Use callgraph code.
12692 * c-tree.h (c_expand_body): Declare.
12693 * callgraph.c: New file.
12694 * flags.h (flag_unit_at_a_time): Declare.
12695 * langhooks.h (LANG_HOOKS_CALLGRAPH_LOWER_FUNCTION,
12696 LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION,
12697 LANG_HOOKS_CALLGRAPH_INITIALIZER): New macros.
12698 * langhooks.h (struct lang_hooks_for_callgraph): New.
12699 (struct lang_hooks): Add callgraph field.
12700 * toplev.c (flag_unit_at_a_time): New.
12701 (lang_independent_options): Add flag_unit_at_a_time.
12702 (process_options): Disable unit-at-a-time mode for frontends not
12703 supporting callgraph.
12704 * tree-inline.c (typedef struct inline_data): Add "decl"
12705 (expand_call_inline): Update callgraph.
12706 (optimize_inline_calls): Set id.decl.
12707 * tree.h (cgraph_finalize_function, cgraph_finalize_compilation_unit,
12708 cgraph_create_edges, dump_cgraph, cgraph_optimize, cgraph_remove_call
12709 cgraph_calls_p): Declare.
12710 * invoke.texi (-funit-at-a-time): Document
12711
12712 2003-02-12 Aldy Hernandez <aldyh@redhat.com>
12713
12714 * config/rs6000/spe.h: Fix misc formatting.
12715 (__ev_create_ufix32_fs): Cast ev argument.
12716 (__ev_create_sfix32_fs): Same.
12717 (__ev_get_sfix32_fs_internal): Cast arguments to builtins.
12718 (__ev_get_ufix32_fs_internal): Same.
12719
12720 2003-02-12 Ranjit Mathew <rmathew@hotmail.com>
12721
12722 * doc/tm.texi (MODIFY_JNI_METHOD_CALL): Document.
12723 * config/i386/cygwin.h (MODIFY_JNI_METHOD_CALL): New macro.
12724
12725 2003-02-12 Zack Weinberg <zack@codesourcery.com>
12726
12727 * cpplib.c (do_include_common): Move warnings for
12728 #include_next and #import out to callers. Use early-return
12729 instead of nested ifs. Don't do check_eol here.
12730 (parse_include): Do check_eol here with the rest of the
12731 parsing stuff.
12732 (do_include_next, do_import): Now handle warnings.
12733
12734 2003-02-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
12735
12736 * doc/install.texi (Specific): Update AVR- and Darwin-related URLs.
12737
12738 2003-02-12 Jan Hubicka <jh@suse.cz>
12739
12740 * predict.c (estimate_probability): Fix roundoff error.
12741
12742 2003-02-12 Kazu Hirata <kazu@cs.umass.edu>
12743
12744 * config/h8300/h8300.md (a peephole2): Don't handle 65535.
12745 (two peephole2): New.
12746
12747 2003-02-12 Kazu Hirata <kazu@cs.umass.edu>
12748
12749 * config/h8300/h8300.md (several peephole2): Replace
12750 find_regno_note with peep2_reg_dead_p.
12751
12752 2003-02-11 Richard Henderson <rth@redhat.com>
12753
12754 * gcse.c (lookup_set): Remove unused argument PAT. Update
12755 both callers.
12756
12757 2003-02-11 Geoffrey Keating <geoffk@apple.com>
12758
12759 * diagnostic.c (real_abort): New.
12760 (diagnostic_report_diagnostic): Call real_abort on error.
12761 * diagnostic.h (diagnostic_abort_on_error): New.
12762 (struct diagnostic_context): Add abort_on_error field.
12763 * toplev.c (setup_core_dumping): New.
12764 (decode_d_option): Handle 'H' case.
12765 * doc/invoke.texi (Debugging Options): Document -dH.
12766
12767 2003-02-11 Nathanael Nerode <neroden@gcc.gnu.org>
12768
12769 * Makefile.in: Remove pointless setting of CXXFLAGS for dejagnu
12770 which refers to obsolete directories.
12771
12772 2003-02-11 Richard Henderson <rth@redhat.com>
12773
12774 * config/alpha/linux.h (TARGET_C99_FUNCTIONS): New.
12775
12776 2002-10-21 Jan Hubicka <jh@suse.cz>
12777
12778 * i386.c (contains_128bit_aligned_vector_p): New function.
12779 (ix86_function_arg_boundary): Properly align vector modes.
12780
12781 2003-02-11 Bob Wilson <bob.wilson@acm.org>
12782
12783 * config/xtensa/xtensa.md (set_frame_ptr): Change rtl to set reg a7.
12784 * config/xtensa/xtensa.c (xtensa_reorg): Search for UNSPECV_SET_FP
12785 as a SET pattern.
12786
12787 2003-02-11 Roger Sayle <roger@eyesopen.com>
12788
12789 * builtins.c: Fix failure caused by commiting wrong patch.
12790
12791 2003-02-11 Dale Johannesen <dalej@apple.com>
12792 * ra-build.c (compare_and_free_webs): Relax checking.
12793 * config/rs6000/darwin.h (HOT_TEXT_SECTION_NAME): Define.
12794 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Define.
12795
12796 2003-02-11 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
12797
12798 PR optimization/9651
12799 * rtlanal.c (may_trap_p): Handle FIX.
12800
12801 2003-02-11 Dave Jones <davej@codemonkey.org.uk>
12802
12803 * config/i386/i386.c (override_options): Define c3-2 as a 686 with SSE.
12804 * doc/invoke.texi: Extra alias.
12805
12806 2003-02-11 Geoffrey Keating <geoffk@apple.com>
12807
12808 * config/rs6000/host-darwin.c: Fix comment.
12809
12810 2003-02-11 David Edelsohn <edelsohn@gnu.org>
12811
12812 * config/rs6000/rs6000.md (divmodsi4): Use register_operand
12813 predicate for mod result.
12814
12815 2003-02-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12816
12817 * inclhack.def (hpux_long_double, hpux10_ctype_declarations1,
12818 hpux10_ctype_declarations2, hpux_ctype_macros): New hacks.
12819 * fixincl.x: Rebuilt.
12820 * tests/base/stdlib.h: Update.
12821 * tests/base/ctype.h: New file.
12822
12823 2003-02-11 Jan Hubicka <jh@suse.cz>
12824
12825 * emit-rtl.c (emit_copy_of_insn_after): Copy insn recog cache too.
12826
12827 2003-02-11 Richard Henderson <rth@redhat.com>
12828
12829 * config/i386/i386.c (ix86_expand_movstr): Fail if esi or edi
12830 appropriated as globals.
12831 (ix86_expand_clrstr): Similarly.
12832 * config/i386/i386.md (cmpstrsi): Similarly.
12833
12834 2003-02-11 Kazu Hirata <kazu@cs.umass.edu>
12835
12836 * config/h8300/h8300.md (a peephole2): Add a case of 255.
12837
12838 2003-02-11 Roger Sayle <roger@eyesopen.com>
12839
12840 * optabs.h (enum optab_index): Add new OTI_pow and OTI_atan2.
12841 (pow_optab, atan2_optab): Define corresponding macros.
12842 * optabs.c (init_optabs): Initialize pow_optab and atan2_optab.
12843 * genopinit.c (optabs): Implement pow_optab and atan2_optab
12844 using pow?f3 and atan2?f3 patterns.
12845 * builtins.c (expand_errno_check): New function to update errno
12846 if necessary, split out from expand_builtin_mathfn.
12847 (expand_builtin_mathfn): Use expand_errno_check.
12848 (expand_builtin_mathfn_2): New function to handle expanding binary
12849 math functions, reusing the code in expand_errno_check.
12850 (expand_builtin): Handle the pow and atan2 math built-ins,
12851 BUILT_IN_{POW,POWF,POWL,ATAN2,ATAN2F,ATAN2L} via the new function
12852 expand_builtin_mathfn_2.
12853
12854 * doc/md.texi: Document new pow?f3 and atan2?f3 patterns.
12855
12856 2003-02-11 Jan Hubicka <jh@suse.cz>
12857
12858 * combine.c (combine_simplify_rtx): Fix folding of
12859 nested float_truncates.
12860
12861 2003-02-11 Kazu Hirata <kazu@cs.umass.edu>
12862
12863 * config/h8300/h8300.md (a peephole2): Fix a typo.
12864
12865 2003-02-11 Richard Earnshaw <rearnsha@arm.com>
12866
12867 * arm.mc (return_address_mask): Use CC_REGNUM for the condition code
12868 register number.
12869
12870 2003-02-11 Kazu Hirata <kazu@cs.umass.edu>
12871
12872 * config/h8300/h8300-protos.h: Add a prototype for
12873 gtuleu_operator.
12874 * config/h8300/h8300.c (gtuleu_operator): New.
12875 * config/h8300/h8300.h (PREDICATE_CODES): Add gtuleu_operator.
12876 * config/h8300/h8300.md (a peephole2): New.
12877
12878 2003-02-11 Jan Hubicka <jh@suse.cz>
12879
12880 * sched-ebb.c (schedule_ebbs): Do not verify_flow_info.
12881
12882 2003-02-11 Jan Hubicka <jh@suse.cz>
12883
12884 * predict.c (choose_function_section): Choose sections correctly.
12885
12886 2003-02-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12887
12888 * reload1.c (first_label_num): New.
12889 (reload): Index offsets_known_at and offsets_at using difference of
12890 label number and first label number. Don't use offset pointers.
12891 (set_label_offsets, set_initial_label_offsets): Likewise.
12892
12893 2003-02-10 Roger Sayle <roger@eyesopen.com>
12894
12895 * mips-tfile.c (init_file): Add missing initializers in the
12896 "#ifdef __alpha" case.
12897 (file_offset, max_file_offset): Declare as unsigned long.
12898 (write_varray): Cast to "unsigned long" in comparisons against
12899 either file_offset or max_file_offset.
12900 (write_object): Likewise.
12901 (read_seek): Likewise.
12902 (copy_object): Likewise. Declare "ifd" as int to match its use
12903 in add_ext_symbol, and avoid signed/unsigned conditional warning.
12904
12905 2003-02-10 Nick Clifton <nickc@redhat.com>
12906 Aldy Hernandez <aldyh@redhat.com>
12907
12908 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Do not
12909 override options which have been specified on the command line.
12910
12911 2003-02-10 Kazu Hirata <kazu@cs.umass.edu>
12912
12913 * config/h8300/h8300.md (abssf2): New.
12914 (*abssf2_h8300): Likewise.
12915 (*abssf2_h8300hs): Likewise.
12916
12917 2003-02-10 Phil Edwards <pme@gcc.gnu.org>
12918
12919 * tree.c (build_tree_list): Fix parameter names in comment.
12920
12921 2003-02-10 Janis Johnson <janis187@us.ibm.com>
12922
12923 * config/rs6000/ppc64-fp.c: New file.
12924 * config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Add ppc64-fp.c.
12925
12926 2003-02-10 Josef Zlomek <zlomekj@suse.cz>
12927
12928 * Makefile.in (bb-reorder.o): Add dependency on $(FIBHEAP_H).
12929 * bb-reorder.c (make_reorder_chain): Deleted.
12930 (make_reorder_chain_1): Deleted.
12931 (find_traces): New function.
12932 (rotate_loop): New function.
12933 (mark_bb_visited): New function.
12934 (find_traces_1_round): New function.
12935 (copy_bb): New function.
12936 (bb_to_key): New function.
12937 (better_edge_p): New function.
12938 (connect_traces): New function.
12939 (copy_bb_p): New function.
12940 (get_uncond_jump_length): New function.
12941 (reorder_basic_blocks): Use new functions (Software Trace Cache).
12942 * cfgcleanup.c (outgoing_edges_match): Enable crossjumping across loop
12943 boundaries.
12944
12945 2003-02-10 Aldy Hernandez <aldyh@redhat.com>
12946
12947 * config/rs6000/rs6000.c (bdesc_2arg): Change spe_evxor to xorv2si3.
12948
12949 2003-02-09 Dan Nicolaescu <dann@ics.uci.edu>
12950
12951 * tree.h (struct tree_decl): Remove unused live_range_rtl field.
12952 (DECL_LIVE_RANGE_RTL): Remove.
12953
12954 2003-02-10 Nick Clifton <nickc@redhat.com>
12955
12956 * config/arm/aof.h, config/arm/aout.h, config/arm/arm-modes.def,
12957 config/arm/arm-protos.h, config/arm/arm.c, config/arm/arm.h,
12958 config/arm/arm.md, config/arm/cirrus.md, config/arm/coff.h,
12959 config/arm/conix-elf.h, config/arm/ecos-elf.h, config/arm/elf.h,
12960 config/arm/freebsd.h, config/arm/linux-elf.h,
12961 config/arm/linux-gas.h, config/arm/netbsd-elf.h,
12962 config/arm/netbsd.h, config/arm/pe.c, config/arm/pe.h,
12963 config/arm/rtems-elf.h, config/arm/semi.h, config/arm/semiaof.h,
12964 config/arm/strongarm-coff.h, config/arm/strongarm-elf.h,
12965 config/arm/strongarm-pe.h, config/arm/uclinux-elf.h,
12966 config/arm/unknown-elf-oabi.h, config/arm/unknown-elf.h,
12967 config/arm/xscale-elf.h: Replace occurances of "GNU CC" with "GCC"
12968 and reformat as appropriate.
12969
12970 2003-02-10 Kazu Hirata <kazu@cs.umass.edu>
12971
12972 * config/h8300/clzsi2.c: Remove.
12973 * config/h8300/ctzsi2.c: Likewise.
12974 * config/h8300/paritysi2.c: Likewise.
12975 * config/h8300/popcountsi2.c: Likewise.
12976 * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Remove clzsi2,
12977 ctzsi2, paritysi2, and popcountsi2.
12978
12979 2003-02-10 Eric Botcazou <ebotcazou@libertysurf.fr>
12980 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
12981
12982 PR c/7741
12983 * c-decl.c (duplicate_decls): Discard the initializer of the
12984 new decl when the types are conflicting.
12985
12986 2003-02-10 Josef Zlomek <zlomekj@suse.cz>
12987
12988 * Makefile.in (sreal.o): Added.
12989 (predict.o): Depends on sreal.h instead of real.h.
12990 * sreal.c: New file.
12991 * sreal.h: New file.
12992 * predict.c: Use sreal.c instead of real.c.
12993
12994 2003-02-10 Nick Clifton <nickc@redhat.com>
12995
12996 * Contributed support for the Cirrus EP9312 "Maverick"
12997 floating point co-processor. Written by Aldy Hernandez
12998 <aldyh@redhat.com>.
12999 (config/arm/arm.c): Add Cirrus support.
13000 (config/arm/arm.h): Likewise.
13001 (config/arm/aout.h): Likewise.
13002 (config/arm/arm.md): Likewise.
13003 (config/arm/arm-protos.h): Likewise.
13004 (config.gcc): Likewise.
13005 (doc/invoke.texi): Describe new -mcpu value and new
13006 -mcirrus-fix-invalid-insns switch,
13007 (cirrus.md): New file.
13008
13009 2003-02-10 Jan Hubicka <jh@suse.cz>
13010
13011 * combine.c (combine_simplify_rtx): Simplify using
13012 (float_truncate (float x)) is (float x)
13013 (float_extend (float_extend x)) is (float_extend x).
13014
13015 2003-02-10 Alan Modra <amodra@bigpond.net.au>
13016
13017 * calls.c (try_to_integrate): Tidy stack_usage_map access.
13018 (emit_library_call_value_1): Likewise. Formatting.
13019 (store_one_arg): Likewise.
13020
13021 2003-02-09 Nick Clifton <nickc@redhat.com>
13022 Aldy Hernandez <aldyh@redhat.com>
13023
13024 * config/rs6000/spe.md: spe_evlhhesplat, spe_evlhhossplat,
13025 spe_evlhhousplat, spe_evlwhsplat, spe_evlwwsplat, spe_evldd,
13026 spe_evldh, spe_evldw, spe_evlwhe, spe_evlwhos, spe_evlwhou,
13027 spe_evstdd, spe_evstdh, spe_evstdw, spe_evstdwx, spe_evstwhe,
13028 spe_evstwho, spe_evstwwe, spe_evstwwo: Fix syntax to match newest
13029 docs. Add range test for immediate value.
13030
13031 2003-02-09 Aldy Hernandez <aldyh@redhat.com>
13032
13033 Rename spe_evxor to xorv2si3.
13034 (xorv4hi3): New.
13035 (xorv1di3): New.
13036
13037 2003-02-10 Glen Nakamura <glen@imodulo.com>
13038
13039 * doc/extend.texi (C++98 Thread-Local Edits): Add missing @item
13040 tag.
13041
13042 2003-02-10 Jan Hubicka <jh@suse.cz>
13043
13044 * i386.c (vector_move_operand): New predicate.
13045 (ix86_expand_vector_move): Be happy about 0.
13046 * i386.h (PREDICATE_CODES): Add sse-move_operand.
13047 * i386.md (mov*_internal): Add 'C' alternative.
13048
13049 2003-02-09 Jan Hubicka <jh@suse.cz>
13050
13051 * i386.md (floathi*): Deal with SSE.
13052
13053 2003-02-09 Jan Hubicka <jh@suse.cz>
13054
13055 * simplify-rtx.c (simplify_unary_operation,
13056 simplify_binary_operation): Deal with vector modes
13057 (simplify_ternary_operation): Deal with no-op VEC_MERGE.
13058
13059 2003-02-09 Richard Sandiford <rsandifo@redhat.com>
13060
13061 * toplev.c (rest_of_compilation): Recompute register usage after
13062 split_all_insns.
13063
13064 2003-02-09 Richard Henderson <rth@redhat.com>
13065
13066 * libgcc-std.ver (__clztf2): New.
13067 (__ctztf2, __popcounttf2, __paritytf2): New.
13068 * libgcc2.c (__clzSI2, __clzDI2, __ctzSI2, __ctzDI2, __popcountSI2,
13069 __popcountDI2, __paritySI2, __parityDI2): Use UWmode and UDWmode;
13070 adjust code to match the different type sizes.
13071 * libgcc2.h (__clzSI2, __ctzSI2, __popcountSI2, __paritySI2,
13072 __clzDI2, __ctzDI2, __popcountDI2, __parityDI2): New macros.
13073
13074 * optabs.c (init_integral_libfuncs): Don't hard-code SImode and
13075 TImode; select word_mode and twice that.
13076 (init_floating_libfuncs): Don't hard-code SFmode and TFmode;
13077 select the modes from float, double, and long double.
13078 (init_optabs): Remove duplicate initializations.
13079
13080 2003-02-09 Wolfgang Bangerth <bangerth@ticam.utexas.edu>
13081
13082 * doc/install.texi: Squeeze and streamline section on
13083 testing and regression checking.
13084
13085 2003-02-09 Jan Hubicka <jh@suse.cz>
13086
13087 * i386.md (ahi?v*3): Set third operand type to TImode.
13088 * i386.c (ix86_expand_binop_builtin): Extend operand when needed.
13089
13090 * simplify-rtx.c (simplify_subreg): Fix conversion from vector into
13091 integer mode.
13092
13093 * rtl.def (VEC_MERGE, VEC_SELECT, VEC_CONCAT, VEC_DUPLICATE):
13094 Change code so they are arithmetic expressions now.
13095 * simplify-rtx.c (simplify_unary_operation, simplify_binary_operation,
13096 simplify_ternary_operation): Deal with VEC_* expressions.
13097
13098 * i386.md (vmaskcmp, pinsrw, movd patterns): Fix RTL representation.
13099
13100 2003-02-08 Jan Hubicka <jh@suse.cz>
13101
13102 * cfgrtl.c (verify_flow_info): Use control_flow_insn_p.
13103 * reload1.c (fixup_abnormal_edges): Split basic blocks when EH edges
13104 possibly got duplicated.
13105
13106 2003-02-08 Richard Henderson <rth@redhat.com>
13107
13108 * config/alpha/alpha.c (override_options): Turn off explicit
13109 relocs until post-peep2 code duplication resolved.
13110
13111 2003-02-08 Kazu Hirata <kazu@cs.umass.edu>
13112
13113 * optabs.c (expand_unop): Widen clz properly when clz is done
13114 via libcall.
13115
13116 2003-02-08 Kazu Hirata <kazu@cs.umass.edu>
13117
13118 * config/h8300/clzsi2.c: Replace "GNU CC" with "GCC".
13119 * config/h8300/crti.asm: Likewise.
13120 * config/h8300/crtn.asm: Likewise.
13121 * config/h8300/ctzsi2.c: Likewise.
13122 * config/h8300/fixunssfsi.c: Likewise.
13123 * config/h8300/h8300-protos.h: Likewise.
13124 * config/h8300/h8300.c: Likewise.
13125 * config/h8300/h8300.h: Likewise.
13126 * config/h8300/h8300.md: Likewise.
13127 * config/h8300/paritysi2.c: Likewise.
13128 * config/h8300/popcountsi2.c: Likewise.
13129 * config/h8300/rtems.h: Likewise.
13130
13131 2003-02-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
13132
13133 * doc/invoke.texi: Documentation for my previous commit.
13134 * doc/passes.texi: Ditto.
13135
13136 2003-02-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
13137
13138 * cfgloop.h (fix_loop_placement, can_duplicate_loop_p,
13139 duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
13140 Declare.
13141 (DLTHE_FLAG_UPDATE_FREQ): New.
13142 * cfgloopmanip.c (duplicate_loop, duplicate_subloops, copy_loops_to,
13143 loop_redirect_edge, loop_delete_branch_edge, copy_bbs, remove_bbs,
13144 rpe_enum_p, find_branch, alp_enum_p, add_loop, fix_loop_placements,
13145 fix_bb_placement, fix_bb_placements, place_new_loop,
13146 scale_loop_frequencies, scale_bbs_frequencies, record_exit_edges):
13147 New static functions.
13148 (fix_loop_placement, can_duplicate_loop_p,
13149 duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
13150 New functions.
13151
13152 * cfgloop.h (loop_optimizer_init, loop_optimizer_finalize,
13153 unswitch_loops): Declare.
13154 * loop-init.c: New file.
13155 * loop-unswitch.c: New file.
13156 * Makefile.in (loop-init.o, loop-unswitch.o): New.
13157 * params.def (PARAM_MAX_UNSWITCH_INSNS, PARAM_MAX_UNSWITCH_LEVEL): New.
13158 * toplev.c (DFI_loop2): New dump.
13159 (flag_unswitch_loops): New.
13160 (lang_independent_options): Add it.
13161 (rest_of_compilation): Call new loop optimizer.
13162 (parse_options_and_default_flags): Turn flag_unswitch_loops on with -O3.
13163
13164 2003-02-08 Kazu Hirata <kazu@cs.umass.edu>
13165
13166 * config/h8300/clzsi2.c: New.
13167 * config/h8300/ctzsi2.c: Likewise.
13168 * config/h8300/paritysi2.c: Likewise.
13169 * config/h8300/popcountsi2.c: Likewise.
13170 * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Add above files.
13171
13172 2003-02-07 David Edelsohn <edelsohn@gnu.org>
13173
13174 * config/rs6000/rs6000.h (CLZ_DEFINED_VALUE_AT_ZERO): Define.
13175 * config/rs6000/rs6000.md (clzsi2): Rename from cntlzw2.
13176 (ctzsi2): New pattern.
13177 (ffssi2): Use clz instead of unspec.
13178 (clzdi2): Rename from cntlzd2.
13179 (ctzdi2): New pattern.
13180 (ffsdi2): Use clz instead of unspec.
13181
13182 2003-02-07 Loren James Rittle <ljrittle@acm.org>
13183
13184 * config/alpha/freebsd.h (LINK_SPEC): Weaken error to notice.
13185 * config/ia64/freebsd.h (LINK_SPEC): Likewise.
13186 * config/sparc/freebsd.h (LINK_SPEC): Likewise.
13187 * config/i386/freebsd.h (LINK_SPEC): Add clause to mirror other arches.
13188
13189 2003-02-07 Wolfgang Bangerth <bangerth@ticam.utexas.edu>
13190
13191 * doc/trouble.texi: Document pitfalls of two-stage name lookup.
13192
13193 2003-02-07 Richard Henderson <rth@redhat.com>
13194
13195 PR 9226
13196 * gcse.c (local_cprop_find_used_regs): New.
13197 (local_cprop_pass): Use it.
13198
13199 2003-02-07 Fred Fish <fnf@intrinsity.com>
13200
13201 * mips-tfile.c (parse_def): Parenthesize assignments to fix
13202 precedence bugs.
13203
13204 2003-02-07 Segher Boessenkool <segher@koffie.nl>
13205
13206 * genoutput.c (output_get_insn_name): Handle NOOP_MOVE_INSN_CODE.
13207
13208 2003-02-07 Roger Sayle <roger@eyesopen.com>
13209
13210 * builtin-types.def (BT_FN_FLOAT_FLOAT_FLOAT): New built-in type.
13211 (BT_FN_LONG_DOUBLE_LONG_DOUBLE_LONG_DOUBLE): Likewise.
13212 (BT_FN_DOUBLE_DOUBLE_DOUBLE): Likewise.
13213 * builtins.def: Define pow, powf, powl, atan2, atan2f and atan2l
13214 builtin functions (and their __builtin_* variants).
13215 * builtins.c (mathfn_built_in): Handle missing log{,f,l} cases.
13216 (expand_builtin): Don't expand log{,f,l}, pow{,f,l} or atan2{,f,l}
13217 when not optimizing.
13218
13219 * doc/extend.texi: Document new pow and atan2 builtins, and
13220 their float and long double variants. Realphabetize builtins.
13221
13222 2003-02-07 Jan Hubicka <jh@suse.cz>
13223
13224 * i386.md (sse2_nandv2di3): Fix.
13225
13226 2003-03-07 Danny Smith <dannysmith@users.sourceforge.net>
13227
13228 * config/i386/i386.h (MS_AGGREGATE_RETURN): New define.
13229 * config/i386/cygwin.h (MS_AGGREGATE_RETURN): Override default
13230 definition.
13231 * config/i386/i386.h (ix86_return_in_memory): Return aggregate
13232 types of up to 8 bytes via registers if MS_AGGREGATE_RETURN.
13233
13234 2003-02-07 Jan Hubicka <jh@suse.cz>
13235
13236 * i386.md (movdi_rex64_1): Fix mmx<->int move opcode.
13237
13238 2003-02-07 Daniel Berlin <dberlin@dberlin.org>
13239
13240 * cfg.c (dump_flow_info): Add back accidently deleted line.
13241
13242 2003-02-07 Andrey Petrov <petrov@netbsd.org>
13243
13244 * optabs.c (expand_float): Search wider integer modes first.
13245
13246 2003-02-07 Bob Wilson <bob.wilson@acm.org>
13247
13248 * config/xtensa/xtensa.h (LIBGCC2_WORDS_BIG_ENDIAN): Set this
13249 based on preprocessor flag.
13250
13251 2003-02-07 Roger Sayle <roger@eyesopen.com>
13252 Richard Henderson <rth@redhat.com>
13253
13254 * gcse.c (implicit_sets): New.
13255 (compute_hash_table_work): Include them in hash table.
13256 (find_implicit_sets, fis_get_condition): New.
13257 (one_cprop_pass): Allocate and free implicit_sets; call
13258 find_implicit_sets before building hash table.
13259
13260 2003-02-07 Jason Thorpe <thorpej@wasabisystems.com>
13261
13262 * config/t-netbsd (USER_H): Revert previous change.
13263
13264 2003-02-07 Gabor Greif <ggreif@lucent.com>
13265
13266 * doc/c-tree.texi (Namespaces): Fix typo.
13267
13268 2003-02-07 Jan Hubicka <jh@suse.cz>
13269
13270 * regrename.c (do_replace, find_oldest_value_reg,
13271 copyprop_hardreg_forward_1): Update register attributes.
13272
13273 2003-02-06 Vladimir Makarov <vmakarov@redhat.com>
13274
13275 * genautomata.c (VLA_PTR_CREATE, VLA_PTR_EXPAND, VLA_PTR_ADD,
13276 VLA_HWINT_CREATE, VLA_HWINT_EXPAND, VLA_HWINT_ADD): Use temporay
13277 variables starting with underscore.
13278 (struct unit_usage): New structure.
13279 (unit_usages, cycle_alt_unit_usages): New global variables.
13280 (check_unit_distribution_in_reserv): Remove it.
13281 (store_alt_unit_usage): New function.
13282 (check_regexp_units_distribution): Rewrite it.
13283
13284 2003-02-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
13285
13286 * config.gcc (hppa*-*-linux*): Set MASK_NO_SPACE_REGS in
13287 target_cpu_default.
13288 * pa.c (attr_length_call): Add 8 to call length (long indirect PA 1.X)
13289 if not MASK_NO_SPACE_REGS.
13290 (output_call): Adjust return pointer, don't load new space register
13291 into %sr0, and use %sr4 for call if TARGET_NO_SPACE_REGS is true.
13292 (pa_asm_output_mi_thunk): Don't load new space register into %sr0 if
13293 TARGET_NO_SPACE_REGS is true.
13294 * pa.md (return_external_pic): Add TARGET_NO_SPACE_REGS to insn
13295 conditions.
13296 (epilogue): Always use return_internal if TARGET_NO_SPACE_REGS is true.
13297 (interspace_jump): Add new pattern for when TARGET_NO_SPACE_REGS is
13298 true. Use bve when TARGET_64BIT is true.
13299
13300 2003-02-06 Richard Henderson <rth@redhat.com>
13301
13302 * combine.c (nonzero_bits): Fix double break.
13303
13304 2003-02-06 Eric Botcazou <ebotcazou@libertysurf.fr>
13305 Richard Henderson <rth@redhat.com>
13306
13307 PR c/9530
13308 * config/i386/i386.c (ix86_function_ok_for_sibcall): Forbid sibcalls
13309 from functions that return a float to functions that don't.
13310
13311 2003-02-06 Jan Hubicka <jh@suse.cz>
13312
13313 * i386.c (x86_inter_unit_moves): New variable.
13314 (ix86_secondary_memory_needed): Fix 64bit case, honor
13315 TARGET_INTER_UNIT_MOVES
13316 * i386.h (x86_inter_unit_moves): Declare.
13317 (TARGET_INTER_UNIT_MOVES): New macro.
13318 * i386.md (movsi_1): Cleanup constraints; disable
13319 when not doing inter-unit moves.
13320 (movsi_1_nointernunit): New.
13321 (movdi_1_rex64): Fix constraints; deal with SSE->GPR moves.
13322 (movdi_1_rex64_nointerunit): New.
13323 (mivsf_1): disable when not doing inter-unit moves.
13324 (movsf_1_nointerunit): New.
13325
13326 * basic-block.h (inside_basic_block_p): Declare.
13327 * cfgbuild.c (inside_basic_block_p): Make global.
13328 * haifa-sched.c (unlink_other_notes0: Deal with NOT_INSN_BASIC_BLOCK.
13329 * scheudle-ebb.c (schedule_ebb): Return last basic block of trace;
13330 update CFG.
13331 (fix_basic_block_boundaries, add_missing_bbs): New.
13332 (rank): Use profile.
13333 (scheudle_ebbs): Rely on CFG; update coments.
13334
13335 2003-02-05 Geoffrey Keating <geoffk@apple.com>
13336
13337 * Makefile.in (host_hook_obj): New.
13338 (OBJS): Add $(host_hook_obj).
13339 (host_default.o): New rule.
13340 * config.gcc (host_hook_obj): New, default to host-default.o.
13341 (powerpc-*-darwin*): Use host-darwin.o.
13342 (out_host_hook_obj): New.
13343 * configure: Regenerate.
13344 * configure.in: Print information about out_host_hook_obj, substitute
13345 into output files.
13346 * host-default.c: New file.
13347 * hosthooks.h: New file.
13348 * toplev.c (general_init): Call host_hooks.extra_signals.
13349 * config/rs6000/host-darwin.c: New file.
13350 * config/rs6000/x-darwin: New file.
13351 * doc/hostconfig.texi: Add documentation for new host hook.
13352 Rearrange existing documentation.
13353
13354 2003-02-05 Roger Sayle <roger@eyesopen.com>
13355
13356 * dwarf2out.c (mem_loc_descriptor): Replace ASM_SIMPLIFY_DWARF_ADDR
13357 with *targetm.delegitimize_address.
13358 (rtl_for_decl_location): Likewise.
13359 * dwarfout.c (output_mem_loc_descriptor): Likewise. Include target.h.
13360 * Makefile.in (dwarf2out.c, dwarfout.c): Depend upon $(TARGET_H)
13361
13362 * config/i386/i386.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
13363 * config/i386/i386-protos.h (i386_simplify_dwarf_addr): Remove
13364 prototype.
13365 * config/i386/i386.c (ix86_delegitimize_address): Renamed from
13366 i386_simplify_dwarf_addr. Made static. Prototyped.
13367 (TARGET_DELEGITIMIZE_ADDRESS): Update definition from
13368 i386_simplify_dwarf_addr to ix86_delegitimize_address.
13369 (ix86_find_base_term): Likewise.
13370 (maybe_get_pool_constant): Likewise.
13371
13372 * config/s390/s390.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
13373 * config/s390/s390-protos.h (s390_simplify_dwarf_addr): Remove
13374 prototype.
13375 * config/s390/s390.c (s390_delegitimize_address): Renamed from
13376 s390_simplify_dwarf_addr. Made static. Prototyped.
13377 (TARGET_DELEGITIMIZE_ADDRESS): Define as s390_delegitimize_address.
13378
13379 2003-02-05 Richard Henderson <rth@redhat.com>
13380
13381 PR c/8602
13382 * integrate.c (output_inline_function): Reset input_filename
13383 and lineno from the decl before rest_of_compilation.
13384
13385 2003-02-05 Richard Henderson <rth@redhat.com>
13386
13387 * defaults.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
13388 (CTZ_DEFINED_VALUE_AT_ZERO): New.
13389 * doc/rtl.texi, doc/tm.texi: Document them.
13390
13391 * combine.c (nonzero_bits) [CLZ, CTZ]: Handle the definedness
13392 of the value at zero properly.
13393 * fold-const.c (tree_expr_nonnegative_p): Likewise.
13394 * simplify-rtx.c (simplify_unary_operation): Likewise.
13395
13396 * config/alpha/alpha.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
13397 (CTZ_DEFINED_VALUE_AT_ZERO): New.
13398
13399 * config/arm/arm.c (TARGET_INIT_BUILTINS): Remove.
13400 (TARGET_EXPAND_BUILTIN): Remove.
13401 (def_builtin, arm_init_builtins, arm_expand_builtin): Remove.
13402 * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
13403 (enum arm_builtins): Remove.
13404 * config/arm/arm.md (UNSPEC_CLZ): Remove.
13405 (clzsi2): Rename from clz; use clz instead of unspec.
13406 (ctzsi2): New.
13407 * config/arm/arm-protos.h: Update.
13408
13409 2003-02-05 Jan Hubicka <jh@suse.cz>
13410
13411 * i386-protos.h (x86_emit_floatuns): Declare.
13412 * i386.c (x86_emit_floatuns): New global function.
13413 * i386.md (floatunssisf2, floatunsdisf2,
13414 floatunsdidf2): New patterns.
13415
13416 2003-01-25 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
13417
13418 * cfgloopmanip.c (force_single_succ_latches): Fix missindentation.
13419
13420 2003-02-05 Hans Boehm <Hans.Boehm@hp.com>
13421
13422 * config/ia64/unwind-ia64.c: include coretypes.h, tm.h to get
13423 config/ia64/linux.h
13424
13425 2003-02-05 Roger Sayle <roger@eyesopen.com>
13426
13427 * cfgloop.h (flow_bb_inside_loop_p): Correct prototype again.
13428
13429 2003-02-05 Jakub Jelinek <jakub@redhat.com>
13430
13431 PR optimization/8555
13432 * config/i386/i386.md (sse_mov?fcc split): Handle op2 == op3 case
13433 instead of aborting.
13434
13435 2003-02-04 Richard Henderson <rth@redhat.com>
13436
13437 * config/i386/i386.md (UNSPEC_BSF): Remove.
13438 (ffssi2): Split into cmove and no_cmove insns and splitters;
13439 lose pentium float trick for now.
13440 (ffssi_1): Add * to name; use CTZ instead of UNSPEC.
13441 (ctzsi2, clzsi2, bsr): New.
13442
13443 2003-02-04 Richard Henderson <rth@redhat.com>
13444
13445 * config/ia64/ia64.c (rtx_needs_barrier): Handle POPCOUNT,
13446 UNSPEC_GETF_EXP; remove UNSPEC_POPCNT.
13447 * config/ia64/ia64.md (UNSPEC_POPCNT): Remove.
13448 (ffsdi2): Use popcount instead of unspec.
13449 (popcountdi2): Rename from *popcnt.
13450 (ctzdi2, clzdi2, getf_exp_tf): New.
13451
13452 2003-02-04 Kazu Hirata <kazu@cs.umass.edu>
13453
13454 * genconfig.c (main): Generate CC0_P.
13455 * rtl.h (CC0_P): Remove.
13456
13457 2003-02-04 Richard Henderson <rth@redhat.com>
13458
13459 * libgcc2.h, libgcc2.c (__ffsSI2): New.
13460 (__ffsDI2): Rename from __ffsdi2.
13461 * mklibgcc.in (lib2funcs): Add _ffssi2.
13462
13463 2003-02-04 Richard Henderson <rth@redhat.com>
13464
13465 * libgcc2.c (__paritysi2, __paritydi2): Replace last two reduction
13466 rounds with a "bit table" lookup.
13467
13468 2003-02-04 Ulrich Weigand <uweigand@de.ibm.com>
13469
13470 * reload.c (find_reloads): Do not use the mode specified in the insn
13471 pattern as reload mode for address operands. Do not generate optional
13472 reloads for operands where a mandatory reload was already pushed.
13473
13474 2003-02-04 Richard Henderson <rth@redhat.com>
13475
13476 * longlong.h [alpha] (count_leading_zeros, count_trailing_zeros): Use
13477 builtins instead of inline assembly.
13478
13479 2003-02-04 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
13480
13481 PR c/9376
13482 * libgcc2.c (__subvdi3): Fix typo.
13483
13484 2003-02-04 Jan Hubicka <jh@suse.cz>
13485
13486 * i386.md (movti_rex64): Fix constraint.
13487
13488 2003-02-04 Jan Hubicka <jh@suse.cz>
13489
13490 * i386.md (vector push splitters): Fix typo in resolving conflict.
13491
13492 2003-02-04 Rodney Brown <rbrown64@csc.com.au>
13493
13494 * config/i386/i386.c (x86_function_profiler): Fix typo in format.
13495
13496 2003-02-04 Phil Edwards <pme@gcc.gnu.org>
13497
13498 * doc/install.texi (*-*-linux-gnu): Mention glibc requirements
13499 for recent libstdc++. Remove formatting cruft.
13500
13501 2003-02-04 Jakub Jelinek <jakub@redhat.com>
13502
13503 * dwarf2out.c (dwarf2out_finish): Add AT_comp_dir
13504 attribute even if input file name is absolute, but one of the
13505 includes is relative.
13506
13507 2003-02-04 Joseph S. Myers <jsm@polyomino.org.uk>
13508
13509 * doc/gcc.texi, doc/gccint.texi, doc/gcov.texi,
13510 doc/include/fdl.texi, doc/invoke.texi: Update to GFDL 1.2.
13511 * doc/install.texi: Update copyright dates. Update to GFDL 1.2.
13512
13513 2003-02-03 Richard Henderson <rth@redhat.com>
13514
13515 * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
13516 __popcountsi2, __popcountdi2, __paritysi2, __paritydi2): Change
13517 return type to "int". Shuffle declarations and undef int trap.
13518 * libgcc2.h: Remove their declarations.
13519 * optabs.c (expand_unop): Force outmode to int for bitops.
13520
13521 2003-02-03 Bob Wilson <bob.wilson@acm.org>
13522
13523 * config/xtensa/xtensa.c (order_regs_for_local_alloc): Order the
13524 coprocessor registers before floating-point registers.
13525 * config/xtensa/xtensa.h (REG_ALLOC_ORDER): Adjust register numbers
13526 to account for a previously removed register.
13527 (SPEC_REG_FIRST, SPEC_REG_LAST, SPEC_REG_NUM, COUNT_REGISTER_REGNUM):
13528 Delete unused macros.
13529
13530 2003-02-03 Jan Hubicka <jh@suse.cz>
13531
13532 * i386.c (ix86_expand_store_builtin): Always force op1 to register.
13533 (mov*_internal): Fix predicates; require one of operands to not be
13534 memory.
13535 (SSE?MMX move expanders): Fix predicates; force one of operands to
13536 register.
13537 (SSE/MMX push patterns): Reorganize; fix x86-64 code generation.
13538 (movups/movupd/movdqu patterns): Force one of operands to not be
13539 memory.
13540
13541 2003-02-03 Roger Sayle <roger@eyesopen.com>
13542
13543 * hooks.c (hook_rtx_rtx_identity): Generic hook function that
13544 takes a single rtx and returns it unmodified.
13545 * hooks.h (hook_rtx_rtx_identity): Prototype here.
13546 * target.h (struct gcc_target): Add "delegitimize_address"
13547 field to target structure.
13548 * target-def.h (TARGET_DELEGITIMIZE_ADDRESS): Provide default
13549 for delegitimize_address target using hook_rtx_rtx_identity.
13550 (TARGET_INITIALIZER): Initialize delegitimize_address field
13551 using TARGET_DELEGITIMIZE_ADDRESS macro.
13552 * simplify-rtx.c (avoid_constant_pool_reference): Handle float
13553 extensions of constant pool references. Use delegitimize_address
13554 to undo the obfuscation of "-fpic".
13555 * Makefile.in (simplify-rtx.o): Add dependency on target.h.
13556
13557 * config/i386/i386.c (TARGET_DELEGITIMIZE_ADDRESS): Define as
13558 i386_simplify_dwarf_addr.
13559 (ix86_find_base_term): Simplify using i386_simplify_dwarf_addr.
13560 (maybe_get_pool_constant): Likewise.
13561
13562 2003-02-03 Jan Hubicka <jh@suse.cz>
13563
13564 * i386.c (ix86_expand_int_movcc): Fix setcc sign bit case.
13565
13566 2003-02-03 Jan Hubicka <jh@suse.cz>
13567
13568 * regclass.c (cannot_change_mode_set_regs): Correct argument order.
13569
13570 2003-02-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13571
13572 * mips/_tilib.c: Don't include tsystem.h or defaults.h. Don't
13573 define LIBGCC2_WORDS_BIG_ENDIAN. Include coretypes.h and tm.h.
13574
13575 2003-02-02 Andreas Schwab <schwab@suse.de>
13576
13577 * varasm.c (asm_output_aligned_bss): Declare as possibly unused.
13578
13579 2003-02-02 Richard Earnshaw <rearnsha@arm.com>
13580
13581 * arm.md (sibcall_epilogue): Set the "conds" to "clob".
13582 (epilogue_insns): Likewise.
13583
13584 2003-02-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
13585
13586 * doc/install.texi (hppa*-hp-hpux11*): Update installation notes.
13587
13588 2003-02-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
13589
13590 * pa-protos.h (attr_length_millicode_call): Remove second argument.
13591 (attr_length_indirect_call, attr_length_indirect_call,
13592 attr_length_save_restore_dltp): New prototypes.
13593 * pa.c (attr_length_millicode_call): Remove second argument. Check
13594 INSN_ADDRESSES_SET_P in distance calculation.
13595 (output_millicode_call): Check INSN_ADDRESSES_SET_P before using
13596 INSN_ADDRESSES.
13597 (attr_length_call): Check INSN_ADDRESSES_SET_P in distance calculation.
13598 (output_call): Check INSN_ADDRESSES_SET_P before using INSN_ADDRESSES.
13599 Call attr_length_call directly.
13600 (attr_length_indirect_call, output_indirect_call,
13601 attr_length_save_restore_dltp): New functions.
13602 * pa.md (attr_length_millicode_call): Drop second argument from all
13603 patterns.
13604 (return_internal_pic): Delete.
13605 (return_external_pic): Remove use of PIC register and pic operand and
13606 flag checks.
13607 (epilogue): Use return_internal for both normal and pic code.
13608 (call, call_value): Emit new 32-bit pic patterns for symref and
13609 indirect calls. Remove uses for arg pointer and pic register.
13610 (call_symref_pic, call_symref_pic_post_reload, call_reg_pic,
13611 call_reg_pic_post_reload, call_val_symref_pic,
13612 call_val_symref_pic_post_reload, call_val_reg_pic,
13613 call_val_reg_pic_post_reload): New pre and post reload insn patterns.
13614 Implement define_split and define_peephole2 patterns for pre reload
13615 patterns.
13616 (call_symref_64bit, call_internal_reg_64bit, call_value_symref_64bit,
13617 call_value_internal_reg_64bit): Shorten names.
13618 (all call patterns): Explicitly indicate registers used and clobbered.
13619 Use attr_length_indirect_call and attr_length_save_restore_dltp for
13620 attribute length calculation. Move code generation for indirect calls
13621 to output_indirect_call.
13622 (sibcall, sibcall_value): Don't restore PIC register.
13623 (exception_receiver, builtin_setjmp_receiver): Add blockage after PIC
13624 register retore.
13625
13626 2003-02-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
13627
13628 * doc/install.texi (Testing): Simplify and compress instructions
13629 concerning Dejagnu.
13630
13631 2003-02-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
13632
13633 * collect2.c (pexecute_pid): Rename to pid.
13634 (collect_wait, collect_execute, scan_prog_file, scan_libraries): Use
13635 pid.
13636
13637 2003-02-01 Geoffrey Keating <geoffk@apple.com>
13638
13639 * doc/extend.texi (Function Attributes): Remove documentation
13640 for PowerPC Windows NT function attributes..
13641
13642 2003-02-01 Daniel Jacobowitz <drow@mvista.com>
13643
13644 * dwarf2out.c (gen_type_die): Check for typedefs before calling
13645 for TYPE_MAIN_VARIANT.
13646
13647 2003-02-01 Richard Henderson <rth@redhat.com>
13648
13649 * libgcc2.c: Include auto-host.h.
13650 (ATTRIBUTE_HIDDEN): New.
13651 (__clz_tab): Don't declare here for clz and ctz.
13652 (__clzsi2, __clzdi2): Use count_leading_zeros.
13653 (__ctzsi2, __ctzdi2): Use count_trailing_zeros.
13654 (__popcount_tab): Mark ATTRIBUTE_HIDDEN.
13655 (__paritysi2, __paritydi2): Use shifts instead of __popcount_tab.
13656 * longlong.h (__clz_tab): Mark ATTRIBUTE_HIDDEN.
13657
13658 2003-02-01 Richard Henderson <rth@redhat.com>
13659
13660 * config/i386/i386.md (addsi_1_zext splitter): Add TARGET_64BIT
13661 to the conditional.
13662 (ashlsi3_1_zext splitter): Likewise.
13663
13664 2003-02-01 Richard Henderson <rth@redhat.com>
13665
13666 * optabs.c (expand_unop): Use word_mode for outmode of bit scaners.
13667 * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
13668 __popcountsi2, __popcountdi2, __paritysi2 __paritydi2): Change
13669 return type to Wtype.
13670
13671 * libgcc-std.ver (GCC_3.4): Fix inheritance.
13672
13673 * config/i386/i386.md (ffssi2): Use nonimmediate_operand for
13674 expander input constraint.
13675
13676 2003-02-01 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
13677
13678 * optabs.h (optab_index): Add OTI_clz, OTI_ctz, OTI_popcount and
13679 OTI_parity.
13680 (clz_optab, ctz_optab, popcount_optab, parity_optab): New.
13681 * optabs.c (widen_clz, expand_parity): New.
13682 (expand_unop): Handle clz and parity. Hardcode SImode as outmode
13683 for libcalls to clz, ctz, popcount, and parity.
13684 (init_optabs): Init clz_optab, ctz_optab, popcount_optab and
13685 parity_optab, and set up libfunc handlers.
13686 * libgcc2.c (__clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
13687 __popcountsi2, __popcountdi2, __paritysi2 __paritydi2,
13688 __popcount_tab): New.
13689 * libgcc2.h: Declare them.
13690 * libgcc-std.ver (GCC_3.4): Add new functions from libgcc2.c.
13691 * genopinit.c (optabs): Add clz_optab, ctz_optab, popcount_optab
13692 and parity_optab.
13693 * builtin-types.def (BT_FN_INT_LONG, BT_FN_INT_LONGLONG): New.
13694 * builtins.def (BUILT_IN_CLZ, BUILT_IN_CTZ, BUILT_IN_POPCOUNT,
13695 BUILT_IN_PARITY, BUILT_IN_FFSL, BUILT_IN_CLZL, BUILT_IN_CTZL,
13696 BUILT_IN_POPCOUNTL, BUILT_IN_PARITYL, BUILT_IN_FFSLL,
13697 BUILT_IN_CLZLL, BUILT_IN_CTZLL, BUILT_IN_POPCOUNTLL,
13698 BUILT_IN_PARITYLL): New.
13699 * builtins.c (expand_builtin_unop): Rename from expand_builtin_ffs
13700 and add optab argument.
13701 (expand_builtin): Expand BUILT_IN_{FFS,CLZ,POPCOUNT,PARITY}*.
13702 * tree.def (CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR, PARITY_EXPR): New.
13703 * expr.c (expand_expr): Handle them.
13704 * fold-const.c (tree_expr_nonnegative_p): Likewise.
13705 * rtl.def (CLZ, CTZ, POPCOUNT, PARITY): New.
13706 * reload1.c (eliminate_regs): Handle them.
13707 (elimination_effects): Likewise.
13708 * function.c (instantiate_virtual_regs_1): Likewise
13709 * genattrtab.c (check_attr_value): Likewise.
13710 * simplify-rtx.c (simplify_unary_operation): Likewise.
13711 * c-common.c (c_common_truthvalue_conversion): Handle POPCOUNT_EXPR.
13712 * combine.c (combine_simplify_rtx): Handle POPCOUNT and PARITY.
13713 (nonzero_bits): Handle CLZ, CTZ, POPCOUNT and PARITY.
13714 * config/alpha/alpha.md (clzdi2, ctzdi2, popcountdi2): New.
13715 * config/arm/arm.c (arm_init_builtins): Rename __builtin_clz to
13716 __builtin_arm_clz.
13717 * Makefile.in (LIB2FUNCS_1, LIB2FUNCS_2): Move...
13718 * mklibgcc.in (lib2funcs): ...here and merge. Add new members.
13719 * doc/extend.texi (Other Builtins): Add new builtins.
13720 * doc/md.texi (Standard Names): Add new patterns.
13721
13722 2003-02-01 Ulrich Weigand <uweigand@de.ibm.com>
13723
13724 * reload.c: Revert 2003-01-31 change.
13725
13726 2003-02-01 Jan Hubicka <jh@suse.cz>
13727
13728 * combine.c (combine_simplify_rtx): Use reversed_comparison_code_parts.
13729
13730 2003-02-01 Richard Sandiford <rsandifo@redhat.com>
13731
13732 * flags.h (flag_volatile): Remove declaration.
13733 (flag_volatile_global, flag_volatile_static): Likewise.
13734 * c-typeck.c (build_indirect_ref): Don't check flag_volatile.
13735 * toplev.c (flag_volatile): Remove definition.
13736 (flag_volatile_global, flag_volatile_static): Likewise.
13737 (f_options): Remove corresponding entries here.
13738 * varasm.c (make_decl_rtl): Don't check flag_volatile_global
13739 or flag_volatile_static.
13740 * doc/invoke.texi: Remove documentation of -fvolatile,
13741 -fvolatile-global and -fvolatile-static.
13742
13743 2003-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
13744
13745 * pa.c (pa_output_function_prologue, pa_output_function_epilogue): Move
13746 updating of total_code_bytes from prologue to epilogue.
13747
13748 2003-01-31 Ulrich Weigand <uweigand@de.ibm.com>
13749
13750 * reload.c (find_reloads): Do not use the mode specified in the insn
13751 pattern as reload mode for address operands. Do not generate optional
13752 reloads for operands where a mandatory reload was already pushed.
13753 Generate optional reloads only in the final pass though find_reloads.
13754 (have_replacement_p): New function.
13755
13756 2003-01-31 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
13757
13758 * doc/install.texi (Testing): Remove a reference to our obsolete
13759 /testresults web pages and strip redundant information concerning
13760 test results.
13761 (Binaries): Refer to Microsoft Windows instead of listing all
13762 possible variants.
13763
13764 2003-02-01 Jan Hubicka <jh@suse.cz>
13765
13766 * loop.c (emit_prefetch_instructions): Do conversion at right place in
13767 RTL chain.
13768
13769 * combine.c (simplify_set): Reverse order of ragumetns to
13770 REG_CANNOT_CHANGE_MODE_P
13771 * df.c (df_def_record_1): Likewise.
13772 * recog.c (register_operand): Likewise.
13773 * simplify-rtx.c (simplify_subreg): Likewise.
13774 * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): Update use of
13775 CANNOT_CHANGE_MODE_CLASS.
13776 * regclass.c (cannot_change_mode_set_regs, invalid_mode_change_p):
13777 Likewise.
13778 * reload.c (push_reload): Likewise.
13779 * alpha.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
13780 * ia64.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
13781 * mips.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
13782 * mips-protos.h (mips_cannot_change_mode_class): Update prototype.
13783 * mips.c (mips_cannot_change_mode_class): Update.
13784 * pa64-regs.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
13785 * rs6000.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
13786 * s390.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
13787 * sh.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
13788 * sh-protos.h (sh_cannot_change_mode_class): Update prototype.
13789 * sh.c (sh_cannot_change_mode_class): Update.
13790 * i386.h (CANNOT_CHANGE_MODE_CLASS): New.
13791 * tm.texi (CANNOT_CHANGE_MODE_CLASS): Update documentation.
13792
13793 2003-01-31 Geoffrey Keating <geoffk@apple.com>
13794
13795 * config/darwin.h (LINK_COMMAND_SPEC): Update for Nathan's recent
13796 change to LINK_COMMAND_SPEC in gcc.c.
13797
13798 2003-01-31 Jan Hubicka <jh@suse.cz>
13799
13800 PR c/9506
13801 * i386.c (override_options): Use DEFAULT_PCC_STRUCT_RETURN.
13802
13803 2003-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
13804
13805 * pa32-regs.h (REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Delete
13806 duplicated code.
13807
13808 2003-01-31 Nathan Sidwell <nathan@codesourcery.com>
13809
13810 * tree.h (TYPE_BINFO_SIZE, TYPE_BINFO_SIZE_UNIT): Remove.
13811 (BINFO_ELTS): New #define.
13812 * stor-layout.c (finalize_record_size): Don't set them.
13813 * cp/cp-tree.h (BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX,
13814 BINFO_PRIMARY_BASE_OF): Use BINFO_ELTS.
13815 (BINFO_LANG_ELTS): New #define.
13816 * cp/tree.c (make_binfo): Use BINFO_LANG_ELTS.
13817 * java/class.c (make_class): Use BINFO_ELTS.
13818 (set_super_info): Likewse.
13819 (add_interface_do): Likewise.
13820 * objc/objc-act.c (start_class): Use BINFO_ELTS.
13821
13822 2003-01-31 Danny Smith <dannysmith@users.sourceforge.net>
13823
13824 * timevar.c (getrusage): Don't ever declare if not HAVE_GETRUSAGE.
13825 (times): Don't ever declare if not HAVE_TIMES.
13826 (clock): Don't ever declare if not HAVE_CLOCK.
13827
13828 2003-01-30 Richard Henderson <rth@redhat.com>
13829
13830 * flow.c (update_life_info): Zap life info after cleanup_cfg.
13831 (regno_uninitialized): Use correct live at function entry set.
13832 (regno_clobbered_at_setjmp): Likewise.
13833
13834 * expr.c (store_expr): Promote all MEM intermediates to regs.
13835
13836 2003-01-30 Kazu Hirata <kazu@cs.umass.edu>
13837
13838 * config/arm/arm.c: Fix comment typos.
13839 * config/arm/arm.h: Likewise.
13840 * config/arm/netbsd-elf.h: Likewise.
13841 * config/arm/netbsd.h: Likewise.
13842
13843 2003-01-30 Geoffrey Keating <geoffk@apple.com>
13844
13845 * gengtype.c (struct walk_type_data): Add needs_cast_p.
13846 (walk_type): Set needs_cast_p in walk_type_data.
13847 (write_types_process_field): Supply casts when required to suppress
13848 warnings.
13849 (write_root): Cast gt_pch_n_S to suppress warning.
13850 * Makefile.in: Remove -Wno-error from gtype-desc.o and c-decl.o.
13851 * config/rs6000/rs6000.c (print_operand): Mask off high bits only
13852 when they might exist.
13853 * config/rs6000/t-rs6000: Remove -Wno-error from varasm.o,
13854 insn-conditions.o, and rs6000.o.
13855
13856 2003-01-30 Richard Henderson <rth@redhat.com>
13857
13858 * ggc-page.c (G.context_depth_allocations): New.
13859 (G.context_depth_collections): New.
13860 (alloc_page): Set G.context_depth_allocations.
13861 (ggc_collect): Set G.context_depth_collections.
13862 (ggc_push_context): Limit to HOST_BITS_PER_LONG contexts.
13863 (ggc_pop_context): Early exit for no allocations or collections.
13864
13865 2003-01-30 Richard Henderson <rth@redhat.com>
13866
13867 * tree-inline.c (walk_tree): Streamline duplicate hash table lookup.
13868
13869 2003-01-30 Richard Earnshaw <rearnsha@arm.com>
13870
13871 * arm.c (arm_compute_initial_elimination_offset): If optimizing for
13872 size, the link register is always saved if any other register is
13873 saved.
13874
13875 2003-01-30 Kazu Hirata <kazu@cs.umass.edu>
13876
13877 * config/h8300/h8300-protos.h: Update the prototype for
13878 compute_plussi_cc.
13879 (cpp_reader): Declare before it is used.
13880 * config/h8300/h8300.c (compute_plussi_cc): Change the return
13881 type to int.
13882 * config/h8300/h8300.md (monitor_prologue): Call abort() if we
13883 see an unknown H8 variant.
13884
13885 2003-01-30 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
13886
13887 PR target/9316
13888 * config/rs6000/rtems.h: Add CPP_OS_DEFAULT_SPEC.
13889 * config/rs6000/sysv4.h: Add CPP_OS_RTEMS_SPEC.
13890 * config/rs6000/t-rtems: New file. multilib variants to match OS.
13891 * config.gcc (powerpc-*-rtems*): Use rs6000/t-rtems instead of
13892 rs6000/t-ppcgas so we get the desired multilibs.
13893
13894 2003-01-30 Nick Clifton <nickc@redhat.com>
13895
13896 * config/arm/arm.c (arm_output_epilogue): Update stack pointer
13897 when popping saved IP register off the stack.
13898
13899 2003-01-30 Kazu Hirata <kazu@cs.umass.edu>
13900
13901 * config/rs6000/aix43.h: Fix comment typos.
13902 * config/rs6000/aix51.h: Likewise.
13903 * config/rs6000/aix52.h: Likewise.
13904 * config/rs6000/altivec.h: Likewise.
13905 * config/rs6000/rs6000.c: Likewise.
13906 * config/rs6000/rs6000.h: Likewise.
13907 * config/rs6000/rs6000.md: Likewise.
13908 * config/rs6000/spe.md: Likewise.
13909
13910 2003-01-29 Mark Mitchell <mark@codesourcery.com>
13911
13912 * c-common.c (builtin_define_float_constants): Define
13913 __<TYPE>_HAS_INFINITY__ and __<TYPE>_HAS_QUIET_NAN__.
13914
13915 2003-01-30 Kazu Hirata <kazu@cs.umass.edu>
13916
13917 * config/sh/lib1funcs.asm: Fix comment typos.
13918 * config/sh/linux.h: Likewise.
13919 * config/sh/sh.c: Likewise.
13920 * config/sh/sh.md: Likewise.
13921
13922 2003-01-30 Loren James Rittle <ljrittle@acm.org>
13923
13924 * objc/Make-lang.in (objc-parse.y): Find c-parse.in in $(srcdir).
13925
13926 2003-01-30 Alexandre Oliva <aoliva@redhat.com>
13927
13928 * config/fp-bit.h (__make_dp): Declare if TMODES.
13929
13930 2003-01-29 Kazu Hirata <kazu@cs.umass.edu>
13931
13932 * config/h8300/h8300.h (PREDICATE_CODES): Add entries for
13933 general_operand_src and general_operand_dst.
13934
13935 2003-01-29 David Edelsohn <edelsohn@gnu.org>
13936
13937 * config/rs6000/rs6000.c (function_arg_pass_by_reference):
13938 Return true for variable sized types.
13939 (rs6000_va_arg): Handle variable sized types passed by reference
13940 on non-SVR4 ABI.
13941
13942 2003-01-29 Richard Earnshaw <rearnsha@arm.com>
13943
13944 * arm.c (arm_legtimize_address): New function.
13945 * arm-protos.h (arm_legtimize_address): Add prototype.
13946 * arm.h (ARM_LEGITIMIZE_ADDRESS): Use arm_legitimize_address.
13947 (LEGITIMIZE_ADDRESS, THUMB_LEGITIMIZE_ADDRESS): Wrap with
13948 do ... while (0)
13949
13950 2003-01-29 Joel Sherrill <joel@OARcorp.com>
13951
13952 PR bootstrap/9296
13953 * gthr-rtems.h: Define __GTHREAD_MUTEX_INIT. Apparently no code
13954 depended on it being defined until now.
13955
13956 2003-01-29 Joel Sherrill <joel@OARcorp.com>
13957
13958 PR target/9295
13959 * config/mips/rtems.h: Predefine __USE_INIT_FINI__ so generic
13960 RTEMS code knows which C++ initialization style the toolset
13961 configuration is using.
13962
13963 2003-01-29 Joel Sherrill <joel@OARcorp.com>
13964
13965 PR bootstrap/9293
13966 * config/m68k/t-crtstuff: Replace spaces with tabs, add
13967 $(MULTILIB_CFLAGS) as compiler option and multilib crtbegin/end.o.
13968
13969 2003-01-29 Joel Sherrill <joel@OARcorp.com>
13970
13971 PR bootstrap/9292
13972 * config.gcc (hppa1.1-rtems): Did not include t-rtems nor enable
13973 RTEMS threads.
13974 * config/pa/rtems.h (LIB_SPEC): Use -N when linking.
13975
13976 2003-01-29 Nick Clifton <nickc@redhat.com>
13977
13978 * Makefile.in (c-parse.o): Locate source file in $(parsedir)
13979 not $(srcdir).
13980
13981 2003-01-29 Andrew Haley <aph@redhat.com>
13982
13983 * tree-inline.c (walk_tree): Add CHAR_TYPE.
13984
13985 2003-01-29 Jan Hubicka <jh@suse.cz>
13986
13987 * i386.md (subdi3_carry_rex64): Fix typo.
13988
13989 2003-01-28 Stan Shebs <shebs@apple.com>
13990
13991 * coretypes.h (cpp_reader): Forward declare struct.
13992 * c-pragma.h (cpp_reader): Remove forward declaration.
13993 * hashtable.h (cpp_reader): Likewise.
13994 * scan.h (cpp_reader): Likewise.
13995 * tree.h (cpp_reader): Likewise.
13996 * config/darwin-protos.h (cpp_reader): Likewise.
13997 * config/arm/arm-protos.h (cpp_reader): Likewise.
13998 * config/rs6000/rs6000-protos.h: Remove GCC_CPPLIB_H ifdef, use
13999 struct cpp_reader in prototypes.
14000
14001 2003-01-28 Christian Cornelssen <ccorn@cs.tu-berlin.de>
14002
14003 * doc/install.texi: Add documentation for installation into
14004 tooldirs and with DESTDIR.
14005
14006 2003-01-28 Richard Henderson <rth@redhat.com>
14007
14008 * config.gcc (ia64*-*-aix*): Remove.
14009 * config/ia64/aix.h, config/ia64/t-aix: Remove file.
14010 * config/ia64/unwind-aix.c: Remove file.
14011
14012 2003-01-28 Andreas Schwab <schwab@suse.de>
14013
14014 * config/m68k/m68k.md (tablejump+2): Don't sign extend an address
14015 register.
14016 * config/m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Likewise.
14017 * config/m68k/coff.h (ASM_RETURN_CASE_JUMP): Likewise.
14018 * config/m68k/linux.h (ASM_RETURN_CASE_JUMP): Likewise.
14019 * config/m68k/m68kelf.h (ASM_RETURN_CASE_JUMP): Likewise.
14020 * config/m68k/mot3300.h (ASM_RETURN_CASE_JUMP): Likewise.
14021 * config/m68k/netbsd-elf.h (ASM_RETURN_CASE_JUMP): Likewise.
14022 * config/m68k/pbb.h (ASM_RETURN_CASE_JUMP): Likewise.
14023
14024 2003-01-28 Richard Sandiford <rsandifo@redhat.com>
14025
14026 * combine.c (nonzero_bits): Fix check for negative divide operands.
14027
14028 2003-01-28 Richard Henderson <rth@redhat.com>
14029
14030 * config/ia64/ia64.c (ia64_rwreloc_section_type_flags): New.
14031 * config/ia64/hpux.h (TARGET_SECTION_TYPE_FLAGS): New.
14032
14033 2003-01-28 Richard Henderson <rth@redhat.com>
14034
14035 * cse.c (find_best_addr): Kill !ADDRESS_COST code.
14036
14037 * config/cris/cris.c (cris_address_cost): Make static.
14038 (TARGET_RTX_COSTS, TARGET_ADDRESS_COST): New.
14039 * config/cris/cris.h (ADDRESS_COST): Remove.
14040 * config/cris/cris-protos.h: Update.
14041
14042 2003-01-23 Mike Stump <mrs@apple.com>
14043
14044 * regclass.c (init_reg_autoinc): New function.
14045 (regclass): Move initialization of forbidden_inc_dec_class from
14046 here...
14047 (init_regs): to here. Avoids reinitialization for each function,
14048 saving compilation time.
14049
14050 2003-01-28 Jason Merrill <jason@redhat.com>
14051
14052 * cpplib.h (struct cpp_options): Add warn_deprecated field.
14053 * cppinit.c (cpp_create_reader): Turn it on by default.
14054 * c-opts.c (c_common_decode_option): Set it.
14055 * cpplib.c (do_pragma_once): Only complain about #pragma once
14056 if warn_deprecated is set.
14057
14058 2003-01-28 Dale Johannesen <dalej@apple.com>
14059
14060 * emit-rtl.c (const_double_htab_hash): Use mode in the hash.
14061 * loop.c (scan_loop): Move movables on -Os rich-register targets.
14062 * config/rs6000/rs6000.md (sibcall*): Use match_operand for LR.
14063
14064 2003-01-28 Richard Henderson <rth@redhat.com>
14065
14066 * target.h (targetm.address_cost): New.
14067 * target-def.h (TARGET_ADDRESS_COST): New.
14068 (TARGET_RTX_COSTS): Uncomment. Oops.
14069 * cse.c (address_cost): Use new target hook.
14070 (default_address_cost): New.
14071 * output.h (default_address_cost): Declare.
14072 * hooks.c (hook_int_rtx_0): New.
14073 * hooks.h (hook_int_rtx_0): Declare.
14074 * loop.c (combine_givs_p): Remove if 0 code.
14075 * system.h (ADDRESS_COST): Poison.
14076
14077 * config/alpha/alpha.c, config/alpha/alpha.h, config/d30v/d30v.c,
14078 config/d30v/d30v.h, config/ia64/ia64.c, config/ia64/ia64.h,
14079 config/m32r/m32r.c, config/m32r/m32r.h, config/mcore/mcore.c,
14080 config/mcore/mcore.h, config/mmix/mmix.c, config/mmix/mmix.h,
14081 config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/sparc/sparc.c,
14082 config/sparc/sparc.h, config/v850/v850.c, config/v850/v850.h,
14083 config/xtensa/xtensa.c, config/xtensa/xtensa.h
14084 (TARGET_ADDRESS_COST): Define as hook_int_rtx_0.
14085 (ADDRESS_COST): Remove.
14086
14087 * config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
14088 config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
14089 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
14090 config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
14091 config/dsp16xx/dsp16xx.h, config/i386/i386-protos.h,
14092 config/i386/i386.c, config/i386/i386.h, config/i960/i960-protos.h,
14093 config/i960/i960.c, config/i960/i960.h, config/ip2k/ip2k-protos.h,
14094 config/ip2k/ip2k.c, config/ip2k/ip2k.h, config/mips/mips-protos.h,
14095 config/mips/mips.c, config/mips/mips.h,
14096 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
14097 config/m68hc11/m68hc11.h, config/ns32k/ns32k-protos.h,
14098 config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa-protos.h,
14099 config/pa/pa.c, config/pa/pa.h, config/s390/s390-protos.h,
14100 config/s390/s390.c, config/s390/s390.h, config/vax/vax-protos.h,
14101 config/vax/vax.c, config/vax/vax.h
14102 (foo_address_cost): Make static.
14103 (TARGET_ADDRESS_COST): New.
14104 (ADDRESS_COST): Remove.
14105
14106 * config/arm/arm.h, config/arm/arm.c, config/m88k/m88k.h,
14107 config/m88k/m88k.c, config/romp/romp.h, config/romp/romp.c,
14108 config/sh/sh.c, config/sh/sh.h, config/stormy16/stormy16.c,
14109 config/stormy16/stormy16.h
14110 (ADDRESS_COST): Move code ...
14111 (foo_address_cost): ... here.
14112 (TARGET_ADDRESS_COST): New.
14113
14114 * config/m32r/m32r.c (m32r_address_cost): Remove.
14115 * config/m32r/m32r-protos.h: Update.
14116
14117 * config/mmix/mmix.c (mmix_address_cost): Remove.
14118 * config/mmix/mmix-protos.h: Update.
14119
14120 * config/mn10300/mn10300.c (mn10300_address_cost_1): Rename from
14121 mn10300_address_cost; move unsig allocation ...
14122 (mn10300_address_cost): ... here.
14123 (TARGET_ADDRESS_COST): New.
14124 * config/mn10300/mn10300-protos.h: Update.
14125 * config/mn10300/mn10300.h (ADDRESS_COST): Remove.
14126
14127 * doc/tm.texi: Update.
14128
14129 2003-01-28 Vladimir Makarov <vmakarov@redhat.com>
14130
14131 * haifa-sched.c (schedule_insn): Return necessary cycle advance
14132 after issuing the insn.
14133 (rank_for_schedule): Make a insn with /S the highest priority
14134 insn.
14135 (move_insn): Ignore schedule groups. Clear SCHED_GROUP_P.
14136 (choose_ready): Check SCHED_GROUP_P.
14137 (schedule_block): Advance cycle after issuing insn if it is
14138 necessary. Don't reorder insns if there is an insn with /S.
14139 (set_priorities): Ignore schedule groups.
14140
14141 * sched-deps.c (remove_dependence, group_leader): Remove the
14142 functions.
14143 (add_dependence): Ignore schedule groups.
14144 (set_sched_group_p): Don't make copy of dependencies from previous
14145 insn of the schedule group. Add anti-dependency to the previous
14146 insn of the schedule group.
14147 (compute_forward_dependences): Ignore schedule groups.
14148
14149 * sched-ebb.c (init_ready_list): Ignore schedule groups.
14150
14151 * sched-rgn.c (init_ready_list): Ditto.
14152 (can_schedule_ready_p): Ditto.
14153
14154 2003-01-28 Vladimir Makarov <vmakarov@redhat.com>
14155
14156 * config/i386/i386.md (*movsi_1): Use movdqa to move one xmm
14157 register to another one.
14158
14159 2003-01-28 Richard Henderson <rth@redhat.com>
14160
14161 * calls.c (default_must_pass_in_stack): Fix typo in !type case.
14162
14163 2003-01-28 Roger Sayle <roger@eyesopen.com>
14164
14165 * cse.c (cse_insn): Avoid redundant REG_EQUAL notes.
14166
14167 2003-01-28 Richard Sandiford <rsandifo@redhat.com>
14168
14169 * config/sh/sh.h (CLASS_MAX_NREGS): If TARGET_SHMEDIA, and the given
14170 class contains a floating-point register, return the size of the
14171 mode in half words.
14172
14173 2003-01-28 Jan Hubicka <jh@suse.cz>
14174
14175 * i386.c (ix86_carry_flag_operator): New predicate.
14176 (fcmov_operator): Fix whitespace.
14177 (ix86_expand_carry_flag_compare): Deal with floating point.
14178 (ix86_expand_int_movcc): Deal with fp; update insn expansion
14179 (ix86_expand_int_addcc): Likewise.
14180 (ix86_expand_strlensi_unroll_1): likewsie.
14181 * i386.h (PREDICATE_CODES): Add ix86_carry_flag_operator.
14182 * i386.md (add?i_carry_rex64): Use new predicate.
14183 (sub?i3_carry_rex64): Likewise.
14184 (x86_mov?icc_0_m1*): Likewise.
14185
14186 2003-01-28 Andreas Schwab <schwab@suse.de>
14187
14188 * cfgloopmanip.c (create_preheader): Initialize src to avoid
14189 warning.
14190
14191 * expmed.c (emit_store_flag): Fix cast to avoid sign
14192 comparison warning.
14193
14194 * combine.c (force_to_mode): Add cast to fix warning when
14195 STORE_FLAG_VALUE is negative.
14196
14197 2003-01-27 Richard Henderson <rth@redhat.com>
14198
14199 * Makefile.in (cse.o): Depend on TARGET_H.
14200 * cse.c (rtx_cost): Use targetm.rtx_costs.
14201 * system.h (CONST_COSTS RTX_COSTS DEFAULT_RTX_COSTS): Poison.
14202 * doc/tm.texi: Update.
14203
14204 * target.h (targetm.rtx_costs): New.
14205 * target-def.h (TARGET_RTX_COSTS): New.
14206 * hooks.c (hook_bool_rtx_int_int_intp_false): New.
14207 * hooks.h: Update.
14208
14209 * config/alpha/alpha.c (alpha_rtx_cost_data): New.
14210 (alpha_rtx_costs, TARGET_RTX_COSTS): New.
14211 * config/alpha/alpha.h (PROCESSOR_MAX): New.
14212 (CONST_COSTS, RTX_COSTS): Remove.
14213
14214 * config/arc/arc.c, config/arc/arc.h, config/c4x/c4x.c,
14215 config/c4x/c4x.h, config/cris/cris.c, config/cris/cris.h,
14216 config/d30v/d30v.c, config/d30v/d30v.h, config/dsp16xx/dsp16xx.c,
14217 config/dsp16xx/dsp16xx.h, config/frv/frv.c, config/frv/frv.h,
14218 config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
14219 config/i370/i370.h, config/i386/i386.c, config/i386/i386.h,
14220 config/i960/i960.c, config/i960/i960.h, config/ia64/ia64.c,
14221 config/ia64/ia64.h, config/m32r/m32r.c, config/m32r/m32r.h,
14222 config/m68k/m68k.c, config/m68k/m68k.h, config/m88k/m88k.c,
14223 config/m88k/m88k.h, config/mcore/mcore.c, config/mcore/mcore.h,
14224 config/mips/mips.c, config/mips/mips.h, config/mn10200/mn10200.c,
14225 config/mn10200/mn10200.h, config/mn10300/mn10300.c,
14226 config/mn10300/mn10300.h, config/ns32k/ns32k.c, config/ns32k/ns32k.h,
14227 config/pa/pa.c, config/pa/pa.h, config/pdp11/pdp11.c,
14228 config/pdp11/pdp11.h, config/romp/romp.c, config/romp/romp.h,
14229 config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/s390/s390.c,
14230 config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
14231 config/stormy16/stormy16.c, config/stormy16/stormy16.h,
14232 config/v850/v850.c, config/v850/v850.h,
14233 config/xtensa/xtensa.c, config/xtensa/xtensa.h
14234 (CONST_COSTS, RTX_COSTS): Move code ...
14235 (foo_rtx_costs, TARGET_RTX_COSTS): ... here.
14236
14237 * config/arm/arm.c (arm_rtx_costs_1): Rename from arm_rtx_costs.
14238 (arm_rtx_costs, TARGET_RTX_COSTS): New.
14239 * config/arm/arm-protos.h: Update.
14240 * config/arm/arm.h (DEFAULT_RTX_COSTS): Remove.
14241
14242 * config/avr/avr.h (CONST_COSTS): Move code ...
14243 * config/avr/avr.c (avr_rtx_costs): ... here.
14244 (default_rtx_costs): Make static.
14245 * config/avr/avr-protos.h: Update.
14246
14247 * config/h8300/h8300.c (const_costs): Make static.
14248 (h8300_and_costs, h8300_shift_costs): Likewise.
14249 * config/h8300/h8300-protos.h: Update.
14250
14251 * config/ip2k/ip2k.h (DEFAULT_RTX_COSTS): Remove.
14252 (CONST_COSTS): Move code ...
14253 * config/ip2k/ip2k.c (ip2k_rtx_costs): ... here. Rename from
14254 default_rtx_costs; update for signature change.
14255 * config/ip2k/ip2k-protos.h: Update.
14256
14257 * config/m68hc11/m68hc11.h (RTX_COSTS): Remove.
14258 (CONST_COSTS): Move code ...
14259 * config/m68hc11/m68hc11.c (m68hc11_rtx_costs): ... here.
14260 (TARGET_RTX_COSTS): New.
14261 (m68hc11_rtx_costs_1): Rename from m68hc11_rtx_costs; make static.
14262 * config/m68hc11/m68hc11-protos.h: Update.
14263
14264 * config/m68k/m68k.c (const_int_cost): Make static.
14265 * config/m68k/m68k-protos.h: Update.
14266
14267 * config/mcore/mcore.c (mcore_const_costs): Make static.
14268 (mcore_and_cost, mcore_ior_cost): Likewise.
14269 * config/mcore/mcore-protos.h: Update.
14270
14271 * config/mmix/mmix.c (mmix_rtx_costs, TARGET_RTX_COSTS): New.
14272 (mmix_rtx_cost_recalculated): Remove.
14273 * config/mmix/mmix.h (DEFAULT_RTX_COSTS): Remove.
14274 * config/mmix/mmix-protos.h: Update.
14275
14276 * config/sh/sh.c (shiftcosts): Make static.
14277 (addsubcosts, andcosts, multcosts): Likewise.
14278 * config/sh/sh-protos.h: Update.
14279
14280 * config/sparc/sparc.c (TARGET_RTX_COSTS): New.
14281 (sparc_rtx_costs): Make static; update for change in signature.
14282 * config/sparc/sparc.h (RTX_COSTS_CASES, RTX_COSTS): Remove.
14283 * config/sparc/sparc-protos.h: Update.
14284
14285 * config/v850/v850.c (const_costs): Make static.
14286 * config/v850/v850-protos.h: Update.
14287
14288 * config/vax/vax.h (RTX_COSTS): Remove.
14289 (CONST_COSTS): Move code ...
14290 * config/vax/vax.c (vax_rtx_costs_1): ... here; rename
14291 from vax_rtx_cost.
14292 (vax_rtx_costs, TARGET_RTX_COSTS): New.
14293
14294 2003-01-27 Richard Henderson <rth@redhat.com>
14295
14296 * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove. Really.
14297 * config/vax/vax-protos.h: Update. Really.
14298
14299 2003-01-28 Alexandre Oliva <aoliva@redhat.com>
14300
14301 * config/mips/mips.h (UNITS_PER_HWFPVALUE): Renamed from...
14302 (UNITS_PER_FPVALUE): Defined as the width of a long double, or
14303 zero if no hardware floating point.
14304 (LONG_DUBLE_TYPE_SIZE): Set to 128 on N32 and N64.
14305 (MAX_FIXED_MODE_SIZE): Define to LONG_DOUBLE_TYPE_SIZE.
14306 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
14307 (BIGGEST_ALIGNMENT): Same as LONG_DOUBLE_TYPE_SIZE.
14308 (FUNCTION_VALUE_REGNO_P): Set for FP_RETURN+2 on N32 and N64.
14309 * config/mips/mips.c (mips_arg_info): Pass TFmode values in
14310 even FP registers on N32 and N64.
14311 (mips_setup_incoming_varargs): Use UNITS_PER_HWFPVALUE.
14312 (mips_va_start): Adjust alignment of ARG_POINTER_REGNUM.
14313 (mips_va_arg): Use UNITS_PER_HWFPVALUE. Impose additional
14314 even-register-like alignment to 128-bit arguments.
14315 (save_restore_insns): Use UNITS_PER_HWFPVALUE.
14316 (mips_function_value): Likewise. Return TFmode in $f0 and $f2
14317 on N32 or N64.
14318 * config/mips/_tilib.c (__negti2, __ashlti3, __lshrti3): New.
14319 * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Add _tilib.c.
14320 (TPBIT): Set to tp-bit.c.
14321 (tp-bit.c): Create out of fp-bit.c.
14322
14323 2003-01-28 Gabriel Dos Reis <gdr@integrable-solutions.net>
14324
14325 * c-parse.in: Remove '%expect 32' directive in objc mode.
14326
14327 2003-01-27 Nathan Sidwell <nathan@codesourcery.com>
14328
14329 * Makefile.in (LIB2FUNCS_ST): Remove _gcov.
14330 (LIBGCOV): New variable.
14331 (libgcc.mk): Add LIBGCOV.
14332 (LIBGCC_DEPS): Add libgcov.c.
14333 (libgcov.a): New target.
14334 (clean): Remove libgcov.a.
14335 (install-libgcc): Do libgcov too.
14336 (stage1-start, stage2-start, stage3-start, stage4-start): Deal
14337 with libgcov.a.
14338 * libgcc2.c (L_gcov): Move into ...
14339 * libgcov.c: ... here. New file.
14340 * mklibgcc.in: Add libgcov rules.
14341 * gcc.c (LINK_COMMAND_SPEC): Add -lgcov when profiling.
14342
14343 * doc/invoke.texi (profile-arcs, test-coverage): Update and
14344 clarify.
14345
14346 * profile.c (index_counts_file): Remove duplicate check for open file.
14347
14348 2003-01-27 Jerry Quinn <jlquinn@optonline.net>
14349
14350 * gcc/doc/invoke.texi (Optimization Options): Group together
14351 optional and experimental flags. Move trapv and bounds-check
14352 out of this section. Group floating point flags together.
14353 (Code Gen Options): Move trapv and bounds-check to here.
14354
14355 2003-01-27 Josef Zlomek <zlomekj@suse.cz>
14356
14357 * gcse.c (constprop_register): Check NEXT_INSN (insn) != NULL.
14358
14359 2003-01-27 Richard Earnshaw <rearnsha@arm.com>
14360
14361 PR optimization/9090
14362 * function.c (purge_addressof_1): After pushing an addressed register
14363 onto the stack, simplify the result.
14364
14365 2003-01-27 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
14366
14367 * doc/extend.texi: Fix typo.
14368
14369 2003-01-27 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
14370
14371 * doc/cppopts.texi: Fix typo.
14372 * doc/objc.texi: Likewise.
14373 * doc/passes.texi: Likewise.
14374
14375 2003-01-27 Alexandre Oliva <aoliva@redhat.com>
14376
14377 * real.c (ibm_extended_format): Add 53 to minimum exponent.
14378 (encode_ibm_extended): Adjust.
14379
14380 2003-01-26 Gabriel Dos Reis <gdr@soliton.integrable-solutions.net>
14381
14382 * timevar.def (TV_OVERLOAD, TV_TEMPLATE_INSTANTIATION): New
14383 timevar_id enumerations.
14384
14385 2003-01-26 Kazu Hirata <kazu@cs.umass.edu>
14386
14387 * combine.c: Fix formatting.
14388
14389 2003-01-26 Kazu Hirata <kazu@cs.umass.edu>
14390
14391 * doc/gccint.texi: Update the copyright.
14392
14393 2003-01-26 Kazu Hirata <kazu@cs.umass.edu>
14394
14395 * doc/cpp.texi: Fix typos.
14396 * doc/extend.texi: Likewise.
14397 * doc/gty.texi: Likewise.
14398 * doc/install.texi: Likewise.
14399 * doc/passes.texi: Likewise.
14400 * doc/rtl.texi: Likewise.
14401 * doc/tm.texi: Likewise.
14402
14403 2003-01-26 Kazu Hirata <kazu@cs.umass.edu>
14404
14405 * config/ia64/fde-glibc.c: Fix comment typos.
14406 * config/ia64/hpux.h: Likewise.
14407 * config/ia64/ia64.c: Likewise.
14408 * config/ia64/ia64.h: Likewise.
14409 * config/ia64/unwind-ia64.c: Likewise.
14410
14411 2003-01-26 Kazu Hirata <kazu@cs.umass.edu>
14412
14413 * config/i386/i386-modes.def: Fix comment typos.
14414 * config/i386/i386.c: Likewise.
14415 * config/i386/i386.md: Likewise.
14416
14417 2003-01-26 Steven Bosscher <s.bosscher@student.tudelft.nl>
14418
14419 * config/avr/avr.h, config/cris/aout.h, config/elfos.h,
14420 config/i386/freebsd-aout.h, config/mips/iris6.h: Undefine
14421 ASM_FINISH_DECLARE_OBJECT before defining it.
14422 * toplev.c (rest_of_decl_compilation): Don't define
14423 ASM_FINISH_DECLARE_OBJECT. Only use it if it is defined.
14424 (rest_of_type_compilation): Don't ATTRIBUTE_UNUSED function
14425 parameters for DWARF2 targets because they _are_ used.
14426
14427 2003-01-26 Alexandre Oliva <aoliva@redhat.com>
14428
14429 * fp-bit.h: Define macros for TFmode floating-point constants
14430 in IBM-extended TFmode types.
14431 (TMODES): Define if __LDBL_MANT_DIG__ has the newly-supported
14432 widths.
14433 * config/fp-bit.c (pack_d, unpack_d): Support IBM-extended
14434 TFmode type.
14435
14436 * config/fp-bit.h: Define macros for TFmode floating-point
14437 constants in IEEE quad TFmode type. Declare functions according
14438 to L_ macros.
14439 (TMODES): Define if __LDBL_MANT_DIG__ is 113.
14440 (TFtype, TItype, UTItype): Define if TMODES is defined.
14441 (MAX_UDI_INT, MAX_DI_INT, BITS_PER_DI): Likewise.
14442 (F_T_BITOFF, D_T_BITOFF): Define.
14443 (IMPLICIT_1, IMPLICIT_2): Cast constants to types that are
14444 guaranteed to be wide enough.
14445 * config/fp-bit.c: Check for L_ macros for tf functions.
14446 (__thenan_tf): New.
14447 (nan): Adjust.
14448 (pack_d, unpack_d): Support IEEE 854 quad type.
14449 (_fpmul_parts): Support TFmode. Compute exponent adjustment
14450 from FRAC_NBITS, FRAC_BITS and NGARDS.
14451 (usi_to_float): Cast constants to be shifted to fractype
14452 instead of assuming long long is wide enough.
14453 (sf_to_tf, df_to_tf, __make_tp, tf_to_df, tf_to_sf): New.
14454
14455 2003-01-26 Andreas Jaeger <aj@suse.de>
14456
14457 * df.c: Remove prototype of unused function df_regno_rtl_debug.
14458
14459 2003-01-26 Alexandre Oliva <aoliva@redhat.com>
14460
14461 * Makefile.in (FPBIT_FUNCS): Added _sf_to_tf.
14462 (DBBIT_FUNCS): Added _df_to_tf.
14463 (TPBIT_FUNCS): New.
14464 (libgcc.mk): Pass TPBIT and TPBIT_FUNCS down.
14465 (LIBGCC_DEPS): Added TPBIT.
14466 * mklibgcc.in: Support TPBIT and TPBIT_FUNCS.
14467
14468 * optabs.c (expand_binop) <add, sub>: Return xtarget if we haven't
14469 been able to move the result to target.
14470
14471 * expr.c (emit_group_store): Initialize dst with CONST0_RTX
14472 for the appropriate mode.
14473
14474 * calls.c (emit_library_call_value_1): Handle return values
14475 in a PARALLEL.
14476
14477 * rtl.c (get_mode_alignment): Moved to...
14478 * stor-layout.c: ... here.
14479
14480 * print-rtl.c (print_rtx): Don't print MEM details in
14481 GENERATOR_FILEs.
14482
14483 2003-01-26 Michael Hayes <mph@paradise.net.nz>
14484
14485 * df.h: Update comments, tidy formatting.
14486 (DF_FORWARD, DF_REVERSE, DF_UNION, DF_INTERSECTION): Rename from FORWARD,
14487 REVERSE, UNION, INTERSECTION. All uses updated.
14488 (OLD_DF_INTERFACE): Remove.
14489 (struct insn_info): Remove commented out insn field.
14490 * df.c: Update comments, tidy formatting.
14491 (df_def_table_realloc): Remove.
14492
14493
14494 2003-01-26 Alan Modra <amodra@bigpond.net.au>
14495
14496 * calls.c (save_fixed_argument_area): Tidy.
14497 (restore_fixed_argument_area): Tidy. Set alignment of stack_area.
14498 (expand_call): Comment typo fixes. Don't init low_to_save. Start
14499 call chain loop at 1 if !try_tail_call. Formatting.
14500 (emit_library_call_value_1): Don't init low_to_save or high_to_save.
14501 Use save_fixed_argument_area and restore_fixed_argument_area.
14502
14503 2003-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
14504
14505 * df.c (df_uses_record): Handle CC0.
14506
14507 2003-01-25 Ulrich Weigand <uweigand@de.ibm.com>
14508
14509 * reload.c (maybe_memory_address_p): New function.
14510 (find_reloads_address): Use it instead of memory_address_p.
14511
14512 2003-01-25 Kaz Kojima <kkojima@gcc.gnu.org>
14513
14514 * final.c (shorten_branches): Align the address of code label
14515 when computing initial lengths and addresses.
14516
14517 2003-01-25 Kazu Hirata <kazu@cs.umass.edu>
14518
14519 * config/m68hc11/m68hc11.md: Fix a comment typo.
14520
14521 2003-01-25 Andreas Jaeger <aj@suse.de>
14522
14523 * config/i386/i386.c (x86_output_mi_thunk): Correct test for
14524 TARGET_MACHO.
14525
14526 2003-01-25 Roger Sayle <roger@eyesopen.com>
14527
14528 * gcse.c (bypass_last_basic_block): New global variable.
14529 (bypass_block): Use redirect_edge_and_branch_force to redirect
14530 fall-through edges. Use bypass_last_basic_block to determine
14531 which blocks have valid PRE information.
14532 (bypass_conditional_jumps): Initialize bypass_last_basic_block.
14533
14534 2003-01-25 Jan Hubicka <jh@suse.cz>
14535
14536 * gcse.c (local_cprop_pass): Update reg_sets table when needed.
14537
14538 2003-01-25 Jan Hubicka <jh@suse.cz>
14539 Eric Botcazou <ebotcazou@libertysurf.fr>
14540 PR opt/8492
14541 * gcse.c (one_cprop_pass): Delete unreachable blocks.
14542
14543 2003-01-25 Richard Henderson <rth@redhat.com>
14544
14545 * config/ia64/ia64.c (ia64_rwreloc_select_rtx_section): Rename
14546 from ia64_aix_select_rtx_section.
14547 (ia64_rwreloc_select_section): Simlarly; use default*_1 function
14548 instead of saving and restoring flag_pic.
14549 (ia64_rwreloc_unique_section): Similarly.
14550 * config/ia64/aix.h (TARGET_ASM_SELECT_SECTION,
14551 TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Update.
14552 * config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION,
14553 TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): New.
14554
14555 2003-01-25 Kazu Hirata <kazu@cs.umass.edu>
14556
14557 * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Update a
14558 comment.
14559
14560 2003-01-25 Richard Henderson <rth@redhat.com>
14561
14562 * config/m68k/m68k-none.h (ASM_SPEC): Adjust inter-option spacing.
14563
14564 2003-01-25 Kelley Cook <kelleycook@comcast.net>
14565
14566 * ggc-simple.c (debug_ggc_tree): Add PTR cast.
14567
14568 2003-01-25 Segher Boessenkool <segher@koffie.nl>
14569
14570 * bitmap.h (BITMAP_WORD): New typedef: fundamental storage
14571 type for bitmaps. Use unsigned long.
14572 (nBITMAP_WORD_BITS): New macro.
14573 (BITMAP_WORD_BITS): New macro.
14574 (rest of file): Use it.
14575 * bitmap.c: Use it.
14576
14577 2003-01-25 Richard Henderson <rth@redhat.com>
14578
14579 2002-02-19 Robert Lipe <robertlipe@usa.net>
14580 * config/i386/t-sco5gas: (CRTSTUFF_T_CFLAGS_S): Delete -mcoff.
14581
14582 2003-01-25 Roger Sayle <roger@eyesopen.com>
14583
14584 * builtins.c (purge_builtin_constant_p): Scan insn stream
14585 sequentially rather than by basic block.
14586 * function.c (purge_addressof): Simplify test with INSN_P.
14587
14588 2003-01-25 Kazu Hirata <kazu@cs.umass.edu>
14589
14590 * combine.c (simplify_comparison, case AND): Remove a redundant test.
14591
14592 2003-01-25 Roger Sayle <roger@eyesopen.com>
14593
14594 * function.h (struct function): New field calls_constant_p.
14595 (current_function_calls_constant_p): New macro for above.
14596 * function.c (prepare_function_start): Initialize calls_eh_return
14597 and calls_constant_p.
14598 * builtins.c (expand_builtin_constant_p): Set calls_constant_p.
14599 * toplev.c (rest_of_compilation): Only call purge_builtin_constant_p
14600 when the current_function_calls_constant_p.
14601 * integrate.c (expand_inline_function): Set calls_constant_p if
14602 the function being inlined has calls_constant_p set.
14603
14604 2003-01-25 Roger Sayle <roger@eyesopen.com>
14605
14606 * cse.c (fold_rtx): Instantiate CONSTANT_P_RTX to 0 when not
14607 optimizing, even if flag_gcse is true.
14608 * toplev.c (rest_of_compilation): purge_builtin_constant_p
14609 only needs to be called when "optimize > 0 && flag_gcse".
14610
14611 2003-01-25 Roger Sayle <roger@eyesopen.com>
14612
14613 * stmt.c (emit_case_bit_tests): New routine to implement suitable
14614 switch statements using the equivalent of "if ((1<<x) & cst) ... ".
14615 (case_bit_test_cmp): New comparison function for "qsort" to order
14616 case_bit_tests by decreasing number of destination nodes.
14617 (lshift_cheap_p): New function to determine if "1 << x" is cheap.
14618 (expand_end_case_type): Use emit_case_bit_tests to implement
14619 suitable switch statments.
14620 (CASE_USE_BIT_TESTS): New target macro to disable the above.
14621 * Makefile.in (stmt.o): Add dependency on optab.h.
14622 * doc/tm.texi (CASE_USE_BIT_TESTS): Document new target macro.
14623
14624 2003-01-23 Andreas Schwab <schwab@suse.de>
14625
14626 * config/ia64/crtend.asm [HAVE_INITFINI_ARRAY]: Make
14627 __do_global_ctors_aux hidden global and don't put it in
14628 .init_array.
14629 * config/ia64/crtbegin.asm [HAVE_INITFINI_ARRAY]: Put it here
14630 instead so that it comes first.
14631
14632 2003-01-25 Jan Hubicka <jh@suse.cz>
14633
14634 * df.c (read_modify_subreg_p): When osize == UNITS_PER_WORD,
14635 subreg is read/modify.
14636
14637 2003-01-25 Jan Hubicka <jh@suse.cz>
14638
14639 * i386.c (ix86_expand_movstr, ix86_expand_clrstr): Consistently
14640 do libcall for large blocks.
14641 * i386.md (comi patterns): Set type to ssecomi.
14642 (sse2_unpck?pd): Fix mode of vec_select.
14643
14644 * cse.c: Include except.h
14645 (cse_set_around_loop): Do not create new basic blocks.
14646 * Makefile.in (cse.o): Add dependnecy on except.h
14647
14648 2003-01-25 Jan Hubicka <jh@suse.cz>
14649
14650 * builtins.c (fold_trunc_transparent_mathfn): New function.
14651 (fold_builtin): Use it.
14652 * convert.c (convert_to_real): Re-enable code to convert
14653 math functions; add support for floor familly functions.
14654
14655 2003-01-25 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
14656
14657 * Makefile.in (cfgloop.o, cfgloopanal.o, cfgloopmanip.o): Add
14658 dependencies on coretypes.h and $(TM_H).
14659
14660 2003-01-25 Jan Hubicka <jh@suse.cz>
14661
14662 * builtins.c (fold_trunc_transparent_mathfn): Undo accidental commit.
14663
14664 2003-01-24 Stuart Hastings <stuart@apple.com>
14665
14666 * config/i386/i386.c (x86_output_mi_thunk): Add Darwin/x86 support.
14667
14668 2003-01-25 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
14669
14670 * config/c4x/c4x.md (UNSPEC_BU): New constants.
14671 (UNSPEC_RPTS, UNSPEC_LSH, UNSPEC_CMPHI, UNSPEC_RCPF): Likewise.
14672 (UNSPEC_RND, UNSPEC_RPTB_FILL, UNSPEC_LOADHF_INT): Likewise.
14673 (UNSPEC_STOREHF_INT, UNSPEC_RSQRF, UNSPEC_LOADQF_INT): Likewise.
14674 (UNSPEC_STOREQF_INT, UNSPEC_LDIV, UNSPEC_PUSH_ST): Likewise.
14675 (UNSPEC_POP_ST, UNSPEC_PUSH_DP, UNSPEC_POP_DP): Likewise.
14676 (UNSPEC_POPQI, UNSPEC_POPQF, UNSPEC_ANDN_ST): Likewise.
14677 (UNSPEC_RPTB_INIT, UNSPEC_TOIEEE, UNSPEC_FRIEEE): Likewise.
14678
14679 2003-01-24 Jan Hubicka <jh@suse.cz>
14680
14681 * emit-rtl.c (reg_attrs_htab): New static variable.
14682 (reg_attrs_htab_hash, reg_attrs_htab_eq, get_reg_attrs): New static
14683 functions.
14684 (reg_rtx): Do not maintain regno_decl.
14685 (gen_rtx_REG_offset, set_reg_attrs_from_mem, set_delc_rtx,
14686 set_mem_attrs_from_reg): New global function.
14687 (init_emit): Do not initialize regno_decl.
14688 (init_emit_once): initialize reg_attrs_htab.
14689 * final.c (alter_subreg): Do not replace REG by SUBREG.
14690 (gen_mem_expr_from_op): Improve output.
14691 (output_asm_operands): Likewise.
14692 * function.c (assign_params): Do not set REGNO_DECL.
14693 * function.h (struct function): Kill regno_decl.
14694 (REGNO_DECL): Kill.
14695 * gengtype.c (adjust_field_rtx_def): Handle new field of reg.
14696 * print_rtl.c (print_rtx): Output REG information.
14697 * regclass.c (reg_scan_mark_refs): Update attrs.
14698 * reload1.c (alter_reg): Likewise.
14699 * simplify_rtx.c (simplify_subreg): Likewise.
14700 * stmt.c (expand_decl): Likewise.
14701 * rtl.def (REG): Add new field.
14702 * rtl.h (struct reg_attrs): New.
14703 (rtunion_def): At rtreg.
14704 (X0MEMATTR): Add checking.
14705 (X0REGATTR, REG_ATTRS, REG_EXPR, REG_OFFSET): New macro.
14706 (set_reg_attrs_from_mem, set_mem_attrs_from_reg, gen_rtx_REG_offset):
14707 Declare.
14708 * tree.h (SET_DECL_RTL): Call set_decl_rtl.
14709
14710 2003-01-24 Bob Wilson <bob.wilson@acm.org>
14711
14712 * config/xtensa/xtensa.c: Remove unused include of machmode.h.
14713 (xtensa_emit_call, print_operand): Fix printf format strings
14714 to avoid compile warnings.
14715 (xtensa_function_prologue, xtensa_function_epilogue): Change type
14716 of "size" argument to HOST_WIDE_INT to fix compile warnings.
14717 * config/xtensa/xtensa-protos.h
14718 (xtensa_function_prologue, xtensa_function_epilogue): Ditto.
14719
14720 2003-01-24 Jan Hubicka <jh@suse.cz>
14721
14722 * builtins.c (DEF_BUILTIN): Accept 10 arguments.
14723 (implicit_built_in_decls): New global array.
14724 (mathfn_built_in): New global function.
14725 (fold_trunc_transparent_mathfn): New static function
14726 (expand_builtin_strstr, expand_bultin_strchr,
14727 expand_builtin_strpbrk, expand_builtin_strcpy,
14728 expand_builtin_strncpy, expand_bultin_strcmp,
14729 expand_bultin_strncat, expand_builtin_fputs): Use
14730 implicint_built_in_decls.
14731 (fold_builtin): Fold floor/trunc/round/ceil/nearbyint.
14732 * builtins.def: Fix comments.
14733 (DEF_GCC_BUILTIN, DEF_FALLBACK_BUILTIN, DEF_EXT_FALLBACK_BUILTIN,
14734 DEF_LIB_BUILTIN, DEF_LIB_ALWAYS_BUILTIN, DEF_EXT_LIB_BUILTIN,
14735 DEF_C99_BULTIN, DEF_FRONT_END_LIB_BUILTIN,
14736 DEF_EXT_FRONT_END_LIB_BUILTIN): Pass implicit as needed.
14737 (DEF_C99_C90RES_BULTIN): New.
14738 (*f, *l builtins): Update.
14739 * c-common.c (DEF_BUILTIN): Initialize implicit array.
14740 (c_expand_builtin_printf, c_expand_builtin_fprintf): Update.
14741 * convert.c (strip_float_extensions): New global function.
14742 * tree.h (DEF_BUILTIN): Accept 10 arguments.
14743 (implicit_built_in_decls, mathfn_built_in, strip_float_extension):
14744 Declare.
14745 * java/builtins.c (define_builtin): Handle implicit.
14746 (DEF_BUILTIN): Update.
14747 * tm.texi (TARGET_C99_FUNCTIONS): Document.
14748 * defaults.h (TARGET_C99_FUNCTIONS): Default to 0.
14749 * config/linux.h (TARGET_C99_FUNCTIONS): Default to 1
14750 when using glibc2.
14751
14752 2003-01-24 Bob Wilson <bob.wilson@acm.org>
14753
14754 * config.gcc (xtensa-*-elf*): Removed assignments to with_newlib,
14755 extra_parts, and fixincludes. Add xtensa/t-elf tmake_file.
14756 (xtensa-*-linux*): Add xtensa/t-linux tmake_file.
14757 * config/xtensa/crti.asm: New file.
14758 * config/xtensa/crtn.asm: New file.
14759 * config/xtensa/t-elf: New file.
14760 * config/xtensa/t-linux: New file.
14761 * config/xtensa/t-xtensa: Add rules for crti.o and crtn.o.
14762 Move various CFLAGS settings to new t-elf file.
14763
14764 2003-01-24 Richard Henderson <rth@redhat.com>
14765
14766 PR optimization/4382
14767 * tree-inline.c (find_builtin_longjmp_call_1): New.
14768 (find_builtin_longjmp_call): New.
14769 (inlinable_function_p): Use it.
14770
14771 2003-01-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
14772
14773 * config/i386/i386-protos.h (function_arg_pass_by_reference): Declare.
14774 * config/i386/i386.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
14775 * config/i386/i386.c (function_arg_pass_by_reference): New.
14776 (ix86_va_arg): Support arguments passed by reference.
14777
14778 2003-01-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
14779
14780 * cfgloopanal.c: New file.
14781 * cfgloopmanip.c: New file.
14782 * Makefile.in (cfgloopanal.o, cfgloopmanip.o): New.
14783 (toplev.o, loop.o, doloop.o, unroll.o, cfgloop.o, predict.o,
14784 cfglayout.o): Add dependency on cfgloop.h.
14785 (cfgloop.o): Add flags.h dependency.
14786 * basic-block.h (BB_IRREDUCIBLE_LOOP, BB_SUPERBLOCK): New flags.
14787 (VLS_EXPECT_PREHEADERS, VLS_EXPECT_SIMPLE_LATCHES): Removed.
14788 (struct loop, struct loops, flow_loops_find, flow_loops_update,
14789 flow_loops_free, flow_loops_dump, flow_loop_dump,
14790 flow_loop_scan, flow_loop_tree_node_add, flow_loop_tree_node_remove,
14791 LOOP_TREE,,LOOP_PRE_HEADER, LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES,
14792 LOOP_ALL, flow_loop_outside_edge_p, flow_loop_nested_p,
14793 flow_bb_inside_loop_p, get_loop_body, loop_preheader_edge,
14794 loop_latch_edge, add_bb_to_loop, remove_bb_from_loops,
14795 find_common_loop, verify_loop_structure): Declarations moved to ...
14796 * cfgloop.h: New file.
14797 * bb-reorder.c (reorder_basic_blocks): Modified.
14798 * cfglayout.c: Include cfgloop.h.
14799 (cleanup_unconditional_jumps, cfg_layout_redirect_edge,
14800 cfg_layout_duplicate_bb, cfg_layout_initialize): Update loop structure.
14801 (break_superblocks): New static function.
14802 (cfg_layout_finalize): Use it.
14803 (cfg_layout_split_block): New function.
14804 * cfglayout.h (struct reorder_block_def): Add copy and duplicated
14805 fields.
14806 (cfg_layout_initialize, cfg_layout_redirect_edge): Declaration
14807 changed.
14808 (cfg_layout_split_block): Declare.
14809 * cfgloop.c: Include cfgloop.h and flags.h.
14810 (flow_loop_dump, flow_loops_free, flow_loop_exit_edges_find,
14811 get_loop_body): Avoid signed versus unsigned comparison warnings.
14812 (make_forwarder_block, flow_loops_find, loop_preheader_edge,
14813 loop_latch_edge): Modified.
14814 (verify_loop_structure): Modified to use flags stored in loop structure;
14815 check irreducible loops.
14816 (cancel_loop, cancel_loop_tree): New functions.
14817 (estimate_probability): Use loop analysis code for predictions.
14818 (estimate_loops_at_level): Avoid signed versus unsigned comparison
14819 warnings.
14820 * doloop.c: Include cfgloop.h.
14821 * loop.c: Include cfgloop.h.
14822 * predict.c: Include cfgloop.h.
14823 * toplev.c: Include cfgloop.h.
14824 * unroll.c: Include cfgloop.h.
14825 * tracer.c (tracer): Modified.
14826
14827 2003-01-24 Kazu Hirata <kazu@cs.umass.edu>
14828
14829 * config/h8300/h8300.c (get_shift_alg): Fix a typo.
14830
14831 2003-01-24 Ulrich Weigand <uweigand@de.ibm.com>
14832
14833 * configure.in (HAVE_AS_TLS): Add s390-*-* and s390x-*-* cases.
14834 * configure: Regenerate.
14835
14836 * config/s390/s390-protos.h (tls_symbolic_operand): Add prototype.
14837 (tls_symbolic_reference_mentioned_p): Add prototype.
14838 (s390_tls_get_offset): Add prototype.
14839 (emit_pic_move): Remove prototype, replace by ...
14840 (emit_symbolic_move): .. this new prototype.
14841
14842 * config/s390/s390.c (TARGET_HAVE_TLS): Conditionally define.
14843 (tls_model_chars): New global variable.
14844 (s390_encode_section_info): Encode TLS model.
14845 Use targetm.binds_local_p to check for local symbols.
14846 (s390_strip_name_encoding): New function.
14847 (TARGET_STRIP_NAME_ENCODING): Define.
14848
14849 (get_thread_pointer): New function.
14850 (legitimize_tls_address): New function.
14851 (legitimize_address): Call it.
14852 (emit_pic_move): Remove, replace by ...
14853 (emit_symbolic_move): ... this new function.
14854
14855 (larl_operand): Handle TLS operands.
14856 (legitimate_constant_p): Likewise.
14857 (s390_decompose_address): Likewise.
14858 (s390_cannot_force_const_mem): New function.
14859 (TARGET_CANNOT_FORCE_CONST_MEM): Define.
14860
14861 (s390_output_symbolic_const): Handle TLS unspecs.
14862 (print_operand): New code 'J'.
14863 (machine_function): Add struct member 'some_ld_name'.
14864 (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
14865
14866 (enum s390_builtin): New type.
14867 (code_for_builtin_64, code_for_builtin_31): New global variables.
14868 (s390_init_builtins, s390_expand_builtin): New functions.
14869 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
14870
14871 * config/s390/s390.h (TLS_SYMBOLIC_CONST): New macro.
14872 (ASM_OUTPUT_LABELREF): Define.
14873 (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Handle TLS constants.
14874
14875 * config/s390/s390.md: Define TLS UNSPEC constants.
14876 ("movdi", "movsi"): Handle TLS operands.
14877 ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): New insns.
14878 ("*tls_load_64", "*tls_load_31"): New insns.
14879 ("call_value_tls", "call_value_tls_exp"): New expanders.
14880 ("brasl_tls", "bras_tls", "basr_tls_64", "basr_tls_31",
14881 "bas_tls_64", "bas_tls_31"): New insns.
14882
14883 2003-01-24 Nathan Sidwell <nathan@codesourcery.com>
14884
14885 * config/rs6000/rs6000.c (rs6000_parse_abi_options): Make sure
14886 spe ABI is configured, if requested.
14887
14888 2003-01-24 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
14889
14890 * doc/passes.texi: Fix typo.
14891
14892 2003-01-24 Andreas Schwab <schwab@suse.de>
14893
14894 * stor-layout.c (excess_unit_span): Only define if used.
14895
14896 2003-01-24 Jerry Quinn <jlquinn@optonline.net>
14897
14898 * gcc/doc/invoke.texi (Optimization Options): List -O levels
14899 for each optimization flag.
14900
14901 2003-01-24 Kazu Hirata <kazu@cs.umass.edu>
14902
14903 * config/h8300/h8300.md (*andsi3_ashift_n_lower): New.
14904
14905 2003-01-24 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
14906
14907 * doc/bugreport.texi: Use @command instead of @code for commands.
14908 * doc/collect2.texi: Likewise.
14909 * doc/headerdirs.texi: Likewise.
14910 * doc/invoke.texi: Likewise.
14911 * doc/standards.texi: Likewise.
14912 * doc/tm.texi: Likewise.
14913 * doc/trouble.texi: Likewise.
14914
14915 2003-01-24 Nick Clifton <nickc@redhat.com>
14916
14917 * config/arm/arm.c (use_return_insn): Do not use a single return
14918 instruction for interrupt handelrs which have to create a stack
14919 frame.
14920 (arm_expand_prologue): Do not pre-bias the return address of
14921 interrupt handlers which create a stack frame.
14922
14923 2003-01-24 Nick Clifton <nickc@redhat.com>
14924
14925 * Add sh2e support:
14926
14927 2002-08-12 Alexandre Oliva <aoliva@redhat.com>
14928
14929 * config/sh/sh.c (output_branch) [TARGET_SH2E]: Handle
14930 med_cbranches. Fix logic in short_cbranches.
14931
14932 2002-04-03 Alexandre Oliva <aoliva@redhat.com>
14933
14934 * config/sh/sh.md (delay for cbranch): Don't annul delay
14935 slots on SH2e.
14936 * config/sh/sh.c (sh_insn_length_adjustment): Add 2 for
14937 cbranch with unfilled delay slot on SH2e.
14938 (output_branch): Fill with a nop the delay slot of a
14939 branch that required a delay slot but didn't get one.
14940
14941 2002-04-02 Alexandre Oliva <aoliva@redhat.com>
14942
14943 * doc/invoke.texi (SH options): Document -m2e.
14944 * config/sh/crt1.asm: Add __SH2E__ Next to __SH3E__.
14945 * config/sh/lib1funcs.asm: Likewise.
14946 * config/sh/sh.c: Replace all uses of TARGET_SH3E with SH2E.
14947 * config/sh/sh.h (CPP_SPEC): Define __SH2E__ for -m2e, and
14948 not __sh1__.
14949 (CONDITIONAL_REGISTER_USAGE): Don't disable FP regs from
14950 SH2E up.
14951 (SH3E_BIT): Renamed to...
14952 (SH_E_BIT): ... this. Replace all uses.
14953 (TARGET_SH2E): Define from SH_E_BIT and TARGET_SH2.
14954 Replace all uses of TARGET_SH3E with TARGET_SH2E.
14955 (TARGET_SWITCHES): Added 2e.
14956 (OVERRIDE_OPTIONS): Set sh_cpu for SH2E.
14957 (processor_type): Added PROCESSOR_SH2E.
14958 * config/sh/sh.md: Replace all uses of TARGET_SH3E with
14959 TARGET_SH2E, except in sqrtsf2_i.
14960 (attribute cpu): Added sh2e.
14961 * config/sh/t-sh (MULTILIB_OPTIONS): Replace m3e with m2e.
14962 (MULTILIB_MATCHES): Use m2e multilib for m3e.
14963 * config.gcc: Add sh2e target support.
14964
14965 2003-01-24 Phil Edwards <pme@gcc.gnu.org>
14966
14967 Rename -W to -Wextra.
14968 * c-decl.c: Update comments.
14969 * c-typeck.c: Likewise.
14970 * flags.h: Likewise.
14971 * function.c: Likewise.
14972 * stmt.c: Likewise.
14973 * toplev.c: Update comments.
14974 (W_options): Add 'extra'.
14975 (display_help): Remove '-W'.
14976 (decode_W_option): Special warn_uninitialized treatment in the case
14977 of -Wextra.
14978 * doc/invoke.texi: Update with new entries.
14979
14980 2003-01-23 Richard Henderson <rth@redhat.com>
14981
14982 * ifcvt.c (noce_process_if_block): Re-add check vs X being changed
14983 in no-else-block case. Add commentary.
14984
14985 2003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14986
14987 * configure.in: Revert last change.
14988
14989 2003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14990
14991 * configure.in: Don't include ansidecl.h in tconfig.h.
14992 * gcov-io.h (PARAMS, ATTRIBUTE_UNUSED: Define if IN_LIBGCC2.
14993 * unwind-dw2-fde.h (last_fde): Use __attribute__, not
14994 ATTRIBUTE_UNUSED.
14995
14996 * configure: Regenerate.
14997
14998 2003-01-23 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
14999
15000 PR java/6748
15001 * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Don't destroy
15002 regs->nip. Fix rt_sigreturn frame layout. Add support for newer
15003 kernels.
15004
15005 2003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15006
15007 * cpplex.c (cpp_interpret_charconst): Squelch warning with cast.
15008
15009 2003-01-23 Ulrich Weigand <uweigand@de.ibm.com>
15010
15011 * genattrtab.c (write_attr_get): Mark 'insn' paramter
15012 as ATTRIBUTE_UNUSED.
15013
15014 2003-01-23 Richard Earnshaw <rearnsha@arm.com>
15015
15016 * arm.c (thumb_base_register_rtx_p): New function.
15017 (thumb_index_register_rtx_p): New function.
15018 (thumb_legitimate_address_p): New function.
15019 (thumb_legitimate_offset_p): New function.
15020 * arm.h (REG_STRICT_P): Define according to setting of REG_OK_STRICT.
15021 (ARM_GO_IF_LEGITIMATE_ADDRESS): Use REG_STRICT_P to avoid duplicate
15022 definitions.
15023 (THUMB_GO_IF_LEGITIMATE_ADDRESS): Use thumb_legitimate_address_p.
15024 (THUMB_LEGITIMATE_OFFSET): Delte.
15025 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use thumb_legitimate_offset.
15026 * arm-protos.h (thumb_legitimate_address_p): Add prototype.
15027 (thumb_legitimate_offset_p): Likewise.
15028
15029 2003-01-23 Andreas Schwab <schwab@suse.de>
15030
15031 * unwind.h (_Unwind_GetTextRelBase): Mark parameter as unused.
15032
15033 2003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15034
15035 * fixinc/Makefile.in (FL_LIST): Revert last change.
15036
15037 2003-01-23 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
15038
15039 PR other/7341
15040 * invoke.texi (ftest-coverage): Fix broken cross-reference.
15041 Change @code to @command for gcov command.
15042
15043 * gcc.texi: Adjust title of gcov section.
15044 Adjust copyright.
15045 * gcov.texi: Likewise.
15046
15047 2003-01-22 Roger Sayle <roger@eyesopen.com>
15048
15049 PR optimization/8423
15050 * cse.c (fold_rtx): Only eliminate a CONSTANT_P_RTX to 1 when
15051 its argument is constant, or 0 if !flag_gcse.
15052 * simplify-rtx.c (simplify_rtx): Convert CONSTANT_P_RTX to 1
15053 if it's argument is constant.
15054 * gcse.c (want_to_gcse_p): Ignore CONSTANT_P_RTX nodes.
15055 (hash_scan_set): Don't record CONSTANT_P_RTX expressions.
15056 (do_local_cprop): Don't propagate CONSTANT_P_RTX constants.
15057 * builtins.c (purge_builtin_constant_p): New function to force
15058 instantiation of any remaining CONSTANT_P_RTX nodes.
15059 * rtl.h (purge_builtin_constant_p): Prototype here.
15060 * toplev.c (rest_of_compilation): Invoke purge_builtin_constant_p
15061 pass after GCSE and before loop.
15062 (flag_gcse): No longer static.
15063 * flags.h (flag_gcse): Prototype here.
15064
15065 2003-01-22 Ulrich Weigand <uweigand@de.ibm.com>
15066
15067 * config/s390/s390.h (HARD_REGNO_MODE_OK): Fix warning regression
15068 introduced by last change.
15069
15070 2003-01-22 Andreas Schwab <schwab@suse.de>
15071
15072 * ra-rewrite.c (rewrite_program2): Initialize bb to avoid warning.
15073
15074 2003-01-22 Kazu Hirata <kazu@cs.umass.edu>
15075
15076 * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Don't
15077 request a scratch reg on H8S when the shift count is 8.
15078
15079 2003-01-22 Ulrich Weigand <uweigand@de.ibm.com>
15080
15081 * config/s390/s390-protos.h (preferred_la_operand_p):
15082 Remove second parameter.
15083 * config/s390/s390.c (preferred_la_operand_p): Likewise.
15084 * config/s390/s390.h (FRAME_REGNO_P, FRAME_REG_P): New macros.
15085 (HARD_REGNO_MODE_OK): Use FRAME_REGNO_P.
15086 * config/s390/s390.md ("*la_cc_64", "*la_cc_31", splitters): Remove.
15087 Add peepholes to transform ADD to LOAD ADDRESS.
15088
15089 2003-01-22 Richard Earnshaw <rearnsha@arm.com>
15090
15091 * arm.c (arm_address_register_rtx_p): New function.
15092 (arm_legitimate_address_p): New function.
15093 (arm_legitimate_index_p): New function.
15094 (legitimize_pic_address): Use arm_legitimate_index_p.
15095 * arm-protos.h (arm_legtimate_address_p): Add prototype.
15096 * arm.h (ARM_GO_IF_LEGITIMATE_INDEX): Delete.
15097 (ARM_GO_IF_LEGITIMATE_ADDRESS): Call arm_legitimate_address_p.
15098
15099 2003-01-22 Hartmut Penner <hpenner@de.ibm.com>
15100
15101 * config/s390/s390.md (floatdfdi2): Insn has type 'itof'.
15102 * config/s390/2064.md (define_bypass): Correct 'Load' and
15103 'Load-address' bypass values.
15104
15105 2003-01-22 Andreas Schwab <schwab@suse.de>
15106
15107 * config/ia64/t-ia64 (insn-attrtab.o-warn): Define as -Wno-error.
15108
15109 2003-01-21 Zack Weinberg <zack@codesourcery.com>
15110
15111 * genautomata.c (output_internal_insn_latency_func,
15112 output_print_reservation_func): Short circuit when there is no
15113 automaton to generate code for.
15114
15115 2003-01-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15116
15117 * Makefile.in (ssa-ccp.o): Depend on coretypes.h $(TM_H).
15118 (df.o): Delete duplicate dependency on coretypes.h $(TM_H).
15119
15120 2003-01-21 Geoffrey Keating <geoffk@apple.com>
15121
15122 * config/rs6000/rs6000.md: Remove warning.
15123 (builtin_setjmp_receiver): Likewise.
15124 * config/darwin.c (update_stubs): Slightly improve terrible hack
15125 with identifiers. Add comment pointing out problems with it.
15126 (update_non_lazy_ptrs): Likewise.
15127
15128 2003-01-21 Richard Henderson <rth@redhat.com>
15129
15130 * dwarf2out.c (lookup_filename): Fix printf format warning.
15131 * system.h (fread_unlocked, fwrite_unlocked): Undef.
15132
15133 * fixinc/Makefile.in (FL_LIST): Add $($@-warn) hook.
15134 (fixincl.o-warn, gnu-regex.o-warn): New.
15135 * fixinc/fixfixes.c (FIX_PROC_HEAD): Mark parameters unused.
15136 * fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Likewise.
15137 * fixinc/fixincl.c (process): Fix printf format warning.
15138
15139 2003-01-21 Ulrich Weigand <uweigand@de.ibm.com>
15140
15141 * dwarf2out (output_file_names): Don't crash if called
15142 with empty file_table.
15143
15144 2003-01-21 Zack Weinberg <zack@codesourcery.com>
15145
15146 * genautomata.c (output_internal_insn_latency_func): Add
15147 missing break statement to generated code.
15148
15149 2003-01-21 Roger Sayle <roger@eyesopen.com>
15150
15151 * stmt.c (same_case_target_p): New function to determine whether
15152 two case labels branch to the same target. Split out from...
15153 (group_case_nodes): ... here. Use same_case_target_p instead.
15154 (strip_default_case_nodes): Remove explicit case nodes
15155 that branch to the default destination.
15156 (expand_end_case_type): Call strip_default_case_nodes after
15157 group_case_nodes, to simplify the case-list before we count it.
15158 Only generate table_label RTX when actually needed. Try to share
15159 thiscase->exit_label and thiscase->data.case_stmt.default_label
15160 when a switch has no explicit default case. Simplify test for
15161 constant index.
15162
15163 2003-01-21 Kazu Hirata <kazu@cs.umass.edu>
15164
15165 * config/h8300/h8300.md (*negsf2_h8300): Use \\t instead of
15166 \t.
15167 (*negsf2_h8300hs): Likewise.
15168 (*addsi3_lshiftrt_16_zexthi): Likewise.
15169 (*iorhi3_lshiftrt_8): Likewise.
15170
15171 2003-01-21 Ulrich Weigand <uweigand@de.ibm.com>
15172
15173 * dwarf2out.c (fde_table_in_use): Mark GTY.
15174 (dwarf2out_cfi_label_num): New variable, marked GTY.
15175 (dwarf2out_cfi_label): Use it instead of static label_num.
15176 * emit-rtl.c (label_num): Mark GTY.
15177
15178 2003-01-21 Kazu Hirata <kazu@cs.umass.edu>
15179
15180 * config/h8300/h8300.c (output_plussi): Support H8/300.
15181 (compute_plussi_length): Likewise.
15182 (compute_plussi_cc): Likewise.
15183 * config/h8300/h8300.md (addsi_h8300): Use output_plussi to
15184 output assembly instructions.
15185
15186 2003-01-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15187
15188 * calls.c (fix_unsafe_tree): Prototype.
15189
15190 * Makefile.in (GCC_WARN_CFLAGS): Add $(WERROR) $($@-warn)
15191 (gtype-desc.o-warn, c-decl.o-warn, varasm.o-warn, gcc.o-warn,
15192 insn-conditions.o-warn, out_object_file, gengtype-yacc.o-warn,
15193 c-parse.o-warn): Add -Wno-error.
15194 (STAGE2_FLAGS_TO_PASS): Add WERROR="@WERROR@".
15195
15196 * configure.in (--enable-werror): Add new flag.
15197 * doc/install.texi (--enable-werror): Document.
15198 * configure: Regenerate.
15199
15200 * objc/Make-lang.in (objc/objc-parse.o-warn): Add -Wno-error.
15201
15202 2003-01-21 Andreas Schwab <schwab@suse.de>
15203
15204 * genautomata.c (output_internal_insn_latency_func): Fix missing
15205 close paren in output.
15206
15207 2003-01-21 Zack Weinberg <zack@codesourcery.com>
15208
15209 * genautomata.c: Space savings in generated code:
15210 (output_dfa_insn_code_func): Split out the table-enlargement
15211 path to an out-of-line static function, dfa_insn_code_enlarge.
15212 (output_internal_insn_latency_func): Use a lookup table for the
15213 default latencies.
15214 (output_print_reservation_func): Use a lookup table for the
15215 strings.
15216
15217 2003-01-21 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
15218
15219 PR opt/7507
15220 * calls.c (fix_unsafe_tree): Split out from ...
15221 (expand_call): ... here. Use it on the function address too.
15222
15223 2003-01-20 Richard Henderson <rth@redhat.com>
15224
15225 * expr.h (default_must_pass_in_stack): Move decl outside ifdef.
15226
15227 2003-01-20 Richard Henderson <rth@redhat.com>
15228
15229 PR opt/7154
15230 * stmt.c (expand_asm_operands): Validize memory operands.
15231
15232 2003-01-20 Richard Henderson <rth@redhat.com>
15233
15234 PR opt/8848
15235 * ifcvt.c (noce_process_if_block): Correct arguments to
15236 modified_between_p for no-else-block case.
15237
15238 2003-01-20 Kazu Hirata <kazu@cs.umass.edu>
15239
15240 * config/h8300/h8300.c (const_costs): Remove a warning.
15241 (output_plussi): Likewise.
15242 (compute_plussi_length): Likewise.
15243 (compute_plussi_cc): Likewise.
15244
15245 2003-01-20 Kazu Hirata <kazu@cs.umass.edu>
15246
15247 * config/h8300/h8300.md (addsi_h8300): Remove the last
15248 alternative.
15249
15250 2003-01-20 Kazu Hirata <kazu@cs.umass.edu>
15251
15252 * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
15253
15254 2003-01-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15255
15256 * system.h (__NO_STRING_INLINES): Define.
15257
15258 2003-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
15259
15260 * ifcvt.c (noce_emit_store_flag): Don't emit store flag if mode of x
15261 is not a scalar int mode.
15262
15263 2003-01-20 Roger Sayle <roger@eyesopen.com>
15264
15265 * cse.c (cse_insn): Avoid RTL sharing when updating the RETVAL
15266 insn's notes following a substitution inside a libcall.
15267
15268 2003-01-20 Zack Weinberg <zack@codesourcery.com>
15269
15270 * configure.in: Check for system-provided 'uchar' type.
15271 * configure, config.in: Regenerate.
15272 * cpphash.h: Only typedef 'uchar' if the system doesn't.
15273
15274 2003-01-20 Richard Henderson <rth@redhat.com>
15275
15276 * expr.h (MUST_PASS_IN_STACK): Move implementation...
15277 * calls.c (default_must_pass_in_stack): ... here.
15278
15279 2003-01-20 Vladimir Makarov <vmakarov@redhat.com>
15280
15281 * genattrtab.h (INSN_ALTS_FUNC_NAME): Move it from genautomata.c.
15282
15283 * genautomata.c (INSN_ALTS_FUNC_NAME): Move it into genattrtab.h.
15284
15285 * genattr.c (main): Output default definition of AUTOMATON_ALTS.
15286 Wrap up definition of `insn_alts'.
15287
15288 * genattrtab.c (main): Wrap up `insn_alts'.
15289
15290 2003-01-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15291
15292 * collect2.c (ldgetname): Check HAVE_DECL_LDGETNAME before
15293 prototyping.
15294 * configure.in: Check for <ldfcn.h> and ldgetname() prototype.
15295
15296 * config.in, configure: Regenerate.
15297
15298 2003-01-20 Nick Clifton <nickc@redhat.com>
15299
15300 * config/arm/arm.md (sibcall_epilogue): Add an
15301 UNSPEC_PROLOGUE_USE to prevent the link register from being
15302 considered dead.
15303
15304 2003-01-20 Jan Hubicka <jh@suse.cz>
15305
15306 * i386.md (SSE cmov splitter): Handle memory operand in operand 5.
15307
15308 2003-01-20 Andreas Schwab <schwab@suse.de>
15309
15310 * system.h: Don't declare strsignal if the decl test hasn't been
15311 run yet.
15312
15313 2003-01-20 Kazu Hirata <kazu@cs.umass.edu>
15314
15315 * config/h8300/h8300.c (notice_update_cc): Don't assume that
15316 recog_data.operands[0] is always associated with cc0.
15317
15318 2003-01-19 David Edelsohn <edelsohn@gnu.org>
15319
15320 * collect2.c (ldgetname): Expand declaration to prototype.
15321 * read-rtl.c (atoll): Add prototype.
15322 * system.h (strsignal): Also declare if no declaration found.
15323
15324 2003-01-19 Alexandre Oliva <aoliva@redhat.com>
15325
15326 * config.gcc (mips64*-*-linux*): Added.
15327 * config/mips/linux64.h, config/mips/t-linux64: New file.
15328 * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Define.
15329 * config/mips/mips.c (override_options): Use it.
15330 * config/mips/mips.h (TARGET_SWITCHES): Added...
15331 (SUBTARGET_TARGET_SWITCHES): New, empty by default.
15332 * Makefile.in (SPECS): New.
15333 (STAGESTUFF, specs, mostlyclean, install-common): Use it.
15334 * gcc.c (process_command): Move self-spec processing past spec
15335 file loading.
15336 * doc/tm.texi (DRIVER_SELF_SPECS): Document the change.
15337 * doc/fragments.texi (MULTILIB_EXTRA_OPTS): Document need for
15338 CRTSTUFF_T_CFLAGS.
15339 (SPECS): Document.
15340 * doc/invoke.texi (-mabi-fake-default): Document.
15341
15342 2003-01-19 Stephane Carrez <stcarrez@nerim.fr>
15343
15344 * config/m68hc11/m68hc11.c (stack_push_word, stack_pop_word,
15345 z_reg, z_reg_qi): Declare static and GTY().
15346 (da_reg): Remove.
15347 (create_regs_rtx): Don't create da_reg.
15348 ("gt-m68hc11.h"): Include for GTY roots.
15349 * config/m68hc11/m68hc11.h (ix_reg, iy_reg, d_reg): Declare extern
15350 and GTY() here.
15351 (m68hc11_compare_op0, m68hc11_compare_op1): Likewise.
15352 (m68hc11_soft_tmp_reg): Likewise.
15353 * config/m68hc11/m68hc11-protos.h: Remove above declarations.
15354
15355 2003-01-18 Kazu Hirata <kazu@cs.umass.edu>
15356
15357 * basic-block.h: Fix comment formatting.
15358 * calls.c: Likewise.
15359 * combine.c: Likewise.
15360 * convert.c: Likewise.
15361 * gcov.c: Likewise.
15362 * haifa-sched.c: Likewise.
15363 * libgcc2.c: Likewise.
15364 * loop.c: Likewise.
15365 * profile.c: Likewise.
15366 * system.h: Likewise.
15367
15368 2003-01-18 Roger Sayle <roger@eyesopen.com>
15369
15370 * config/pa/pa.md (muldi3): Avoid invalid sharing of SUBREG RTXs.
15371
15372 2003-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15373
15374 * ra-build.c (undef_to_size_word): Avoid `switch' warning.
15375
15376 2003-01-17 Dale Johannesen <dalej@apple.com>
15377
15378 * config/rs6000/rs6000.md (*floatsidf2_internal): Add earlyclobbers.
15379 (*floatunssidf2_internal): Ditto.
15380
15381 2003-01-17 Kazu Hirata <kazu@cs.umass.edu>
15382
15383 * alias.c: Fix comment typos.
15384 * basic-block.h: Likewise.
15385 * c-common.c: Likewise.
15386 * c-common.h: Likewise.
15387 * c-decl.c: Likewise.
15388 * c-opts.c: Likewise.
15389 * c-pragma.c: Likewise.
15390 * c-pretty-print.h: Likewise.
15391 * cfg.c: Likewise.
15392 * cfganal.c: Likewise.
15393 * cfgbuild.c: Likewise.
15394 * cfgcleanup.c: Likewise.
15395 * cfglayout.c: Likewise.
15396 * cfgrtl.c: Likewise.
15397 * convert.c: Likewise.
15398 * cpphash.h: Likewise.
15399 * cpplex.c: Likewise.
15400 * cpplib.h: Likewise.
15401 * df.h: Likewise.
15402 * diagnostic.c: Likewise.
15403 * diagnostic.h: Likewise.
15404 * dwarf2.h: Likewise.
15405
15406 2003-01-17 Stan Shebs <shebs@apple.com>
15407
15408 * config/darwin-protos.h: Forward-declare struct cpp_reader.
15409
15410 2003-01-17 Douglas B Rupp <rupp@gnat.com>
15411
15412 * config/alpha/alpha.c (alpha_need_linkage): Fix obvious
15413 mistake in last checkin.
15414
15415 2003-01-17 Kazu Hirata <kazu@cs.umass.edu>
15416
15417 * et-forest.c: Fix comment typos.
15418 * et-forest.h: Likewise.
15419 * except.c: Likewise.
15420 * expr.c: Likewise.
15421 * flags.h: Likewise.
15422 * flow.c: Likewise.
15423 * gcc.c: Likewise.
15424 * gcse.c: Likewise.
15425 * genattrtab.c: Likewise.
15426 * genautomata.c: Likewise.
15427 * gengtype.c: Likewise.
15428 * genrecog.c: Likewise.
15429 * global.c: Likewise.
15430 * gthr-rtems.h: Likewise.
15431
15432 2003-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15433
15434 * i386.c (x86_function_profiler): Fix format specifier.
15435
15436 2003-01-17 Richard Henderson <rth@redhat.com>
15437
15438 * gengtype.c (walk_type): Allow paramN_is.
15439
15440 2003-01-17 Nick Clifton <nickc@redhat.com>
15441
15442 * config/i960/t-960bare (i960-c.o): Add missing newline escape.
15443
15444 2003-01-16 Richard Henderson <rth@redhat.com>
15445
15446 * config/alpha/linux-elf.h (LIB_SPEC): Adjust inter-option spacing.
15447
15448 2003-01-16 Richard Henderson <rth@redhat.com>
15449
15450 * config/alpha/alpha.c (alpha_sr_alias_set): Mark GTY.
15451 (alpha_next_sequence_number): Likewise.
15452 (alpha_this_literal_sequence_number): Likewise.
15453 (alpha_this_gpdisp_sequence_number): Likewise.
15454 (struct alpha_funcs, alpha_funcs_num): Likewise.
15455 (struct alpha_links): Fix branch merge error.
15456 (alpha_need_linkage, alpha_use_linkage): Use GC for alpha_funcs.
15457
15458 2003-01-17 Alexandre Oliva <aoliva@redhat.com>
15459
15460 * config/mips/mips.h: Don't use #elif. Reported by Kaveh
15461 R. Ghazi.
15462
15463 2003-01-16 Kazu Hirata <kazu@cs.umass.edu>
15464
15465 * ifcvt.c: Fix comment typos.
15466 * lcm.c: Likewise.
15467 * libgcc2.c: Likewise.
15468 * local-alloc.c: Likewise.
15469 * loop.c: Likewise.
15470 * predict.c: Likewise.
15471 * ra-build.c: Likewise.
15472 * ra.c: Likewise.
15473 * ra-colorize.c: Likewise.
15474 * ra.h: Likewise.
15475 * ra-rewrite.c: Likewise.
15476 * regmove.c: Likewise.
15477 * reload.h: Likewise.
15478 * rtlanal.c: Likewise.
15479 * toplev.c: Likewise.
15480 * tree.h: Likewise.
15481 * unwind-dw2-fde-glibc.c: Likewise.
15482 * vmsdbgout.c: Likewise.
15483
15484 2003-01-16 Richard Henderson <rth@redhat.com>
15485
15486 * dwarf2out.c (struct file_table): Remove.
15487 (FILE_TABLE_INCREMENT): Remove.
15488 (file_table): Make a varray; mark for GC. Update all users.
15489 (file_table_last_lookup_index): Extract from struct file_table.
15490 (output_file_names): Fix unsigned compare warnings.
15491 (add_name_attribute): Remove inline marker.
15492 (add_comp_dir_attribute): Split out from gen_compile_unit_die.
15493 (lookup_filename): Don't manage size of file_table.
15494 (init_file_table): Allocate file_table with GC.
15495 (dwarf2out_init): Don't record main_input_filename here.
15496 (dwarf2out_finish): Do it here instead.
15497
15498 2003-01-16 Bruce Korb <bkorb@gnu.org>
15499
15500 * gcc/fixinc/inclhack.def(limits_ifndef): QNX needs a bypass, too.
15501
15502 2003-01-16 Kaz Kojima <kkojima@gcc.gnu.org>
15503
15504 * config/sh/sh.c (sh_initialize_trampoline): Emit rotrdi3_mextr
15505 instead of rotldi3_mextr.
15506
15507 2003-01-16 Vladimir Makarov <vmakarov@redhat.com>
15508
15509 * haifa-sched.c (move_insn): Restore moving all schedule group.
15510 (set_priorities): Restore taking SCHED_GROUP_P into account.
15511
15512 * sched-deps.c (add_dependence): Restore processing the last group
15513 insn.
15514 (remove_dependence, group_leader): Restore the functions.
15515 (set_sched_group_p): Restore adding dependencies from previous insn
15516 in the group.
15517 (compute_forward_dependences): Restore usage of group_leader.
15518
15519 * sched-ebb.c (init_ready_list): Restore taking SCHED_GROUP_P into
15520 account.
15521
15522 * sched-rgn.c (init_ready_list): Restore taking SCHED_GROUP_P into
15523 account.
15524 (can_schedule_ready_p): Ditto.
15525 (add_branch_dependences): Restore skipping over the group insns.
15526
15527 2003-01-16 Stephane Carrez <stcarrez@nerim.fr>
15528
15529 * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling
15530 68HC12 pre/post inc/dec side effects.
15531
15532 2003-01-16 Stephane Carrez <stcarrez@nerim.fr>
15533
15534 * config/m68hc11/m68hc11.h (MASK_M6812): Define.
15535
15536 2003-01-16 J"orn Rennecke <amylaar@onetel.net.uk>
15537
15538 * sh.md (mshflo_w_x): Fix description of operation.
15539
15540 2003-01-16 Zack Weinberg <zack@codesourcery.com>
15541
15542 * config/rs6000/rs6000.h: Mention Altivec registers in
15543 commentary. Fix typo.
15544
15545 2003-01-16 David Edelsohn <edelsohn@gnu.org>
15546
15547 * config/rs6000/rs6000.md (movti_string): Remove clobber.
15548 * config/rs6000/rs6000.c (rs6000_emit_move, TImode): Explicitly
15549 generate PARALLEL with clobber for TARGET_POWER.
15550
15551 2003-01-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15552
15553 * ra-colorize.c (colorize_one_web): Initialize variable.
15554 * regmove.c (fixup_match_1): Likewise.
15555 * reload1.c (reload_as_needed): Likewise.
15556 * sdbout.c (SET_KNOWN_TYPE_TAG): Add cast.
15557
15558 2003-01-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
15559
15560 * cfgloop.c (flow_loops_find): Fix handling of abnormal edges.
15561
15562 2003-01-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15563
15564 * dbxout.c (lastfile, cwd): Fix `unused' warning.
15565 * dwarf2out.c (fde_table_in_use, current_funcdef_fde,
15566 dw_cfi_oprnd1_desc, dw_cfi_oprnd2_desc, next_die_offset,
15567 is_main_source, file_table, decl_die_table_in_use,
15568 abbrev_die_table_in_use, line_info_table_in_use,
15569 separate_line_info_table_in_use, pubname_table_in_use,
15570 arange_table_in_use, ranges_table_in_use,
15571 current_function_has_inlines): Likewise.
15572 * flow.c (life_analysis): Likewise.
15573 * genemit.c (gen_insn): Likewise.
15574 * protoize.c (cplus_suffix): Likewise.
15575
15576 * arm.c (ROUND_UP_WORD): Renamed from ROUND_UP.
15577 * arm.h (ROUND_UP_WORD): Likewise.
15578
15579 * arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned
15580 warning.
15581 * emit-rtl.c (gen_rtx_REG, set_mem_attributes_minus_bitpos,
15582 init_emit_once): Likewise.
15583 * flow.c (mark_regs_live_at_end, calculate_global_regs_live):
15584 Likewise.
15585 * function.c (assign_stack_temp_for_type): Likewise.
15586 * loop.c (loop_invariant_p): Likewise.
15587 * recog.c (push_operand): Likewise.
15588 * regclass.c (init_reg_sets_1): Likewise.
15589 * reload.c (update_auto_inc_notes): Likewise.
15590 * reload1.c (reload_as_needed, emit_input_reload_insns): Likewise.
15591 * stmt.c (expand_asm_operands): Likewise.
15592 * stor-layout.c (start_record_layout): Likewise.
15593
15594 2003-01-16 Herman A.J. ten Brugge <hermantenbrugge@home.nl>
15595
15596 * config/c4x/c4x.md (epilogue): Correct last patch.
15597
15598 2003-01-15 Richard Henderson <rth@redhat.com>
15599
15600 * config/alpha/alpha.c (find_lo_sum_using_gp): Rename from find_lo_sum;
15601 also check that GP is being used.
15602 (alpha_find_lo_sum_using_gp): New.
15603 (alpha_does_function_need_gp): Use get_attr_usegp.
15604 * config/alpha/alpha-protos.h: Update.
15605 * config/alpha/alpha.md (attr usegp): New. Annotate patterns
15606 as needed.
15607
15608 2003-01-15 Roger Sayle <roger@eyesopen.com>
15609
15610 * gcse.c (one_cprop_pass): Change function arguments to take both
15611 cprop_jumps and bypass_jumps flags instead of just alter_jumps.
15612 (gcse_main): Update calls to one_cprop_pass, disabling bypassing.
15613 (bypass_jumps): New function to perform separate jump bypassing pass.
15614 * rtl.h (bypass_jumps): Add function prototype.
15615 * timevar.def (TV_BYPASS): New timing variable.
15616 * toplev.c (enum dump_file_index): Add new entry DFI_bypass.
15617 (dump_file): New entry for the bypass RTL dump file.
15618 (rest_of_compilation): Insert new jump bypassing optimization
15619 pass after loop.
15620 * doc/passes.texi: Document new pass.
15621
15622 2003-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
15623
15624 * som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY,
15625 ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define.
15626 * pa.h (TARGET_SOM_SDEF): Define.
15627 * pa-hpux11.h (TARGET_SOM_SDEF): Define.
15628
15629 2003-01-16 Stephane Carrez <stcarrez@nerim.fr>
15630
15631 * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to
15632 allocate 4-bytes of locals on 68HC11.
15633 (expand_epilogue): Likewise.
15634 (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers.
15635
15636 2003-01-15 Stephane Carrez <stcarrez@nerim.fr>
15637
15638 * config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort
15639 and -mshort-double to the assembler to specify the ABI.
15640 (LINK_SPEC): Likewise.
15641 (CPP_SPEC): Pass HCS12 specific define.
15642 (MASK_M68S12): New define.
15643 (TARGET_M68S12): Likewise.
15644 (TARGET_SWITCHES): New options -m68hcs12 and -m68S12.
15645 (TARGET_VERSION): Update.
15646 * config/m68hc11/m68hc12.h (CPP_SPEC): Pass HCS12 specific define.
15647 (LINK_SPEC): Update.
15648 (ASM_SPEC): Update.
15649 * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Update.
15650 * doc/invoke.texi (M68hc1x Options): Document -m68hcs12.
15651
15652 2003-01-15 Stephane Carrez <stcarrez@nerim.fr>
15653
15654 * config/m68hc11/m68hc11.md ("return"): Use emit_jump_insn to emit
15655 the return code.
15656
15657 2003-01-15 Josef Zlomek <zlomekj@suse.cz>
15658
15659 * cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
15660 flag before setting it.
15661
15662 2003-01-15 Roger Sayle <roger@eyesopen.com>
15663
15664 * c-semantics.c (genrtl_while_stmt): Improve initial RTL generation
15665 when loop condition is known true, i.e. "while (1) { ... }".
15666 (genrtl_for_stmt): Similarly for "for" statements.
15667
15668 2003-01-15 Roger Sayle <roger@eyesopen.com>
15669
15670 * real.c (real_sqrt): Return a bool result indicating whether
15671 a floating point exception or trap should be raised.
15672 * real.h (real_sqrt): Update function prototype.
15673 * builtins.c (fold_builtin): Only fold non-trapping square
15674 roots unless we're ignoring errno and trapping math.
15675
15676 2003-01-15 John David Anglin <dave.anglin@nrc.gc.ca>
15677
15678 * expr.h (emit_conditional_add): Add PARAMS to declaration.
15679 * gengtype-lex.l (malloc, realloc): Move defines after include of
15680 system.h. Remove duplicate include of system.h.
15681
15682 2003-01-15 Roger Sayle <roger@eyesopen.com>
15683
15684 PR middle-end/9009
15685 * optabs.c (expand_unop): When manipulating the FP sign bit
15686 using integer operations, account for targets with different
15687 integer and FP word orders.
15688 (expand_abs): Likewise.
15689
15690 2003-01-15 David Edelsohn <edelsohn@gnu.org>
15691
15692 * config/rs6000/rs6000.c (rs6000_gen_section_name): Do not include
15693 file extension in section name.
15694
15695 2003-01-15 Richard Earnshaw <rearnsha@arm.com>
15696
15697 * flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with
15698 constant offset.
15699
15700 2003-01-15 Richard Earnshaw <rearnsha@arm.com>
15701
15702 * arm.h (HAVE_PRE_MODIFY_DISP, HAVE_PRE_MODIFY_REG): Define.
15703 (HAVE_POST_MODIFY_DISP, HAVE_POST_MODIFY_REG): Define.
15704 (ARM_GO_IF_LEGITIMATE_ADDRESS): Handle pre/post-modify addresses.
15705 (ARM_PRINT_OPERAND_ADDRESS): Likewise.
15706
15707 2003-01-15 Jan Hubicka <jh@suse.cz>
15708
15709 PR f/9258
15710 * global.c (struct allocno): Add no_stack_reg.
15711 (global_conflicts): Set no_stack_reg.
15712 (find_reg): Use it.
15713
15714 * convert.c (convert_to_real): Fold - and abs only when profitable.
15715 * fold-const.c (fold): Fold truncates in - and abs.
15716
15717 2003-01-15 Josef Zlomek <zlomekj@suse.cz>
15718
15719 Segher Boessenkool <segher@koffie.nl>
15720
15721 * predict.c (real_inv_br_prob_base): New variable.
15722 (propagate_freq): Use multiply by reciprocal instead of
15723 division. Don't divide by 1.0 at all.
15724 (estimate_bb_frequencies): Similar.
15725
15726 2003-01-15 Alexandre Oliva <aoliva@redhat.com>
15727
15728 * configure.in (libgcc_visibility): Force disabled on IRIX 6 too.
15729 * configure: Rebuilt.
15730
15731 2003-01-15 Hartmut Penner <hpenner@de.ibm.com>
15732
15733 * config/s390/s390.c (s390_safe_attr_type): New function.
15734 (s390_use_dfa_pipeline_interface): New function, return true for z900.
15735 (s390_issue_rate): New function.
15736 (s390_agen_dep_p): New function.
15737 (addr_generation_dependency_p): Use 's390_safe_attr_type'.
15738 (s390_adjust_cost): Return 'cost' if new DFA is used.
15739 (s390_adjust_priority): Delete function.
15740 * config/s390/s390-protos.h: (s390_agen_dep_p): New prototype.
15741 * config/s390/s390.md (atype attribute): Attribute 'atype' default
15742 determined by 'op_type'.
15743 (type attribute): Added more type attributes.
15744 * config/s390/2064.md: New DFA description for z900 pipeline.
15745
15746 2003-01-15 Alexandre Oliva <aoliva@redhat.com>
15747
15748 * config/i386/i386.c (ix86_expand_vector_move): Validize constant
15749 forced to memory. Fixes PR bootstrap/9036.
15750
15751 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as
15752 to set $gp before the call.
15753
15754 2003-01-14 Richard Henderson <rth@redhat.com>
15755
15756 * config/alpha/alpha.c (alpha_expand_mov): Use correct mode
15757 for force_const_mem.
15758
15759 2003-01-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15760
15761 * genattr.c (main): Rearrange output to avoid prototype warning.
15762 * genautomata.c (transform_3): Fix ambiguous-else warning.
15763 * local-alloc.c (requires_inout): Add parentheses around
15764 assignment used as truth-value.
15765 * timevar.c: Move system includes above local includes. Include
15766 toplev.h
15767 * Makefile.in (timevar.o): Depend on toplev.h.
15768
15769 2003-01-14 Denis Chertykov <denisc@overta.ru>
15770
15771 * config/ip2k/ip2k.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
15772 (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
15773
15774 * config/ip2k/ip2k.c (ip2k_attribute_table): New table of
15775 attributes.
15776 (TARGET_ATTRIBUTE_TABLE): New macro.
15777 (valid_machine_type_attribute): Remove.
15778 (valid_machine_decl_attribute): Remove.
15779 (ip2k_handle_progmem_attribute): New function.
15780 (ip2k_handle_fndecl_attribute): New function.
15781
15782 2003-01-10 Andrew Haley <aph@redhat.com>
15783
15784 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename
15785 registers to be in correct order. Add rip.
15786
15787 2003-01-14 Kazu Hirata <kazu@cs.umass.edu>
15788
15789 * config/h8300/h8300.md (*andsi3_lshiftrt_9_sb): New.
15790 (*iorsi3_and_lshiftrt_9_sb): Likewise.
15791
15792 2003-01-14 Jan Hubicka <jh@suse.cz>
15793
15794 * convert.c (strip_float_extensions): Look for narrowest type handling
15795 FP constants.
15796
15797 * fold-const.c (fold): Fold (double)float1 CMP (double)float2 into
15798 float1 CMP float2.
15799 * convert.c (strip_float_extensions): Make global.
15800 * tree.h (strip_float_extensions): Declare.
15801
15802 2003-01-14 Gabriel Dos Reis <gdr@integrable-solutions.net>
15803
15804 * timevar.def: define TV_NAME_LOOKUP.
15805 * timevar.c (timevar_pop): Be verbose when aborting.
15806
15807 2003-01-13 Andreas Schwab <schwab@suse.de>
15808
15809 * Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to
15810 $(parsedir), just move the temporary file at the end.
15811 ($(parsedir)/gengtype-yacc.c): Likewise.
15812
15813 2003-01-13 Alexandre Oliva <aoliva@redhat.com>
15814
15815 * aclocal.m4 (gcc_AC_PROG_GNAT): Don't try to prepend
15816 ${ac_tool_prefix} to ADAC or CC. Protect them from word
15817 splitting.
15818 * configure: Rebuilt.
15819
15820 2003-01-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15821
15822 * config/sparc/gmon-sol2.c (moncontrol, monstartup, _mcleanup,
15823 internal_mcount): Don't use PARAMS.
15824 (monstartup, _mcleanup, internal_mcount, moncontrol): Convert to
15825 ISO C style.
15826 (internal_mcount): Use __attribute__, not ATTRIBUTE_UNUSED.
15827
15828 2003-01-13 Andreas Schwab <schwab@suse.de>
15829
15830 * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
15831 directive.
15832
15833 2003-01-13 Kazu Hirata <kazu@cs.umass.edu>
15834
15835 * config/h8300/h8300.md (*andsi3_lshift_n_sb): New.
15836 (*iorsi3_and_lshiftrt_n_sb): Likewise.
15837
15838 2003-01-12 Mark Mitchell <mark@codesourcery.com>
15839
15840 PR c++/9264
15841 * c-lex.c (c_lex): Set the token value to error_mark_node for
15842 invalid numeric constants.
15843
15844 2003-01-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15845
15846 * c-pch.c (asm_file_startpos): Change to `long'.
15847 (pch_init): Use ftell, not ftello.
15848 (c_common_write_pch): Use ftell/fseek, not ftello/fseeko.
15849 Use `long' instead of `off_t'.
15850 (c_common_read_pch): Likewise.
15851 * ggc-common.c (gt_pch_save): Use long/ftell instead of
15852 off_t/ftello.
15853
15854 2003-01-12 Alan Modra <amodra@bigpond.net.au>
15855
15856 * expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
15857
15858 2003-01-11 Richard Earnshaw (rearnsha@arm.com)
15859
15860 * arm-protos.h (struct cpp_reader): Add declaration.
15861
15862 2003-01-11 Jan Hubicka <jh@suse.cz>
15863
15864 PR target/9068
15865 * i386.c (output_fp_compare): Fix typo.
15866
15867 2003-01-10 David Edelsohn <edelsohn@gnu.org>
15868
15869 * config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
15870
15871 2003-01-10 Geoffrey Keating <geoffk@apple.com>
15872
15873 * Makefile.in (parsedir): New variable.
15874 (docobjdir): New variable.
15875 (c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o,
15876 gengtype-lex.c, gengtype-yacc.c): Use parsedir.
15877 (info, cpp.info, gcc.info, gccint.info, gccinstall.info,
15878 cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
15879 gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man):
15880 Use docobjdir.
15881 * objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
15882 objc.maintainer-clean): Use parsedir.
15883
15884 * varasm.c (struct constant_descriptor_rtx): Remove unused
15885 `label' field.
15886
15887 * toplev.c (documented_lang_options): Document -Winvalid-pch.
15888
15889 2003-01-10 Richard Henderson <rth@redhat.com>
15890
15891 * config/alpha/alpha.h (NO_PROFILE_COUNTERS): Set.
15892 (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Kill.
15893
15894 2003-01-10 Richard Henderson <rth@redhat.com>
15895
15896 * combine.c (make_compound_operation): Use SCALAR_INT_MODE_P,
15897 not INTEGRAL_MODE_P when widening extensions.
15898
15899 2003-01-10 Richard Henderson <rth@redhat.com>
15900
15901 * config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
15902
15903 2003-01-10 Geoffrey Keating <geoffk@apple.com>
15904
15905 * ggc-page.c (ggc_collect): Avoid overflow computing
15906 min_expand.
15907
15908 * Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
15909 (RANLIB_TEST_FOR_TARGET): Delete. Don't pass down to sub-makes.
15910 Remove calls.
15911 * mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.
15912
15913 2003-01-10 Jan Hubicka <jh@suse.cz>
15914
15915 * ifcvt.c (noce_try_addcc): Do not call emit_conditional_add
15916 with weird operands.
15917
15918 2003-01-10 Dale Johannesen <dalej@apple.com>
15919
15920 * calls.c (load_register_parameters): Add is_sibcall, sibcall_failure
15921 parameters. Call check_sibcall_argument_overlap if indicated.
15922 (check_sibcall_argument_overlap): Add mark_stored_args_map
15923 parameter. Don't mark parameter area as clobbered if not set.
15924 (expand_call): Adjust calls to above.
15925
15926 2003-01-10 Kelley Cook <kelleycook@comcast.net>
15927
15928 * configure.in (linker read-only and read-write section mixing):
15929 Squelch some assembler warnings.
15930 * configure: Likewise.
15931
15932 2003-01-10 Hartmut Penner <hpenner@de.ibm.com>
15933
15934 * doc/invoke.texi: Document -mtune, delete -mcpu
15935 option for S/390 and zSeries.
15936 * config/s390/s390.c (s390_tune_string) New variable.
15937 (s390_cpu_string) Delete variable.
15938 (override_options): Use s390_tune_string instead of
15939 s390_cpu_string.
15940 * config/s390/s390.h: (TARGET_OPTIONS) '-mtune' instead of '-mcpu'.
15941
15942 2003-01-10 Kazu Hirata <kazu@cs.umass.edu>
15943
15944 * config/h8300/h8300.md (*iorsi3_ashift_31): New.
15945
15946 2003-01-10 Josef Zlomek <zlomekj@suse.cz>
15947
15948 * jump.c (next_nonnote_insn_in_loop): New function.
15949 (copy_loop_headers): Use next_nonnote_insn_in_loop instead of
15950 next_nonnote_insn.
15951 (duplicate_loop_exit_test). Likewise.
15952
15953 2003-01-09 Geoffrey Keating <geoffk@apple.com>
15954
15955 Merge from pch-branch:
15956
15957 2003-01-06 Geoffrey Keating <geoffk@apple.com>
15958
15959 * ggc-page.c (ggc_pch_read): Update the statistics after a PCH
15960 load.
15961
15962 2002-12-24 Geoffrey Keating <geoffk@apple.com>
15963
15964 * cpplib.c (count_registered_pragmas): New function.
15965 (save_registered_pragmas): New function.
15966 (_cpp_save_pragma_names): New function.
15967 (restore_registered_pragmas): New function.
15968 (_cpp_restore_pragma_names): New function.
15969 * cpphash.h (_cpp_save_pragma_names): Prototype.
15970 (_cpp_restore_pragma_names): Likewise.
15971 * cpppch.c (struct save_macro_item): Split from save_macro_data.
15972 (struct save_macro_data): New field 'saved_pragmas'.
15973 (save_macros): Update for changes to struct save_macro_data.
15974 (cpp_prepare_state): Call _cpp_save_pragma_names, update
15975 for changes to struct save_macro_data.
15976 (cpp_read_state): Call _cpp_restore_pragma_names, update
15977 for changes to struct save_macro_data.
15978
15979 * cpppch.c (cpp_read_state): Restore the hashtable references
15980 in the cpp_reader.
15981
15982 * tree.h (built_in_decls): Mark for PCH.
15983
15984 * dbxout.c (lastfile): Don't mark for PCH.
15985
15986 * ggc.h: Document PCH calls into memory managers.
15987
15988 2002-12-18 Geoffrey Keating <geoffk@apple.com>
15989
15990 * doc/invoke.texi (Precompiled Headers): Document the
15991 directory form of PCH.
15992 * cppfiles.c (validate_pch): New function.
15993 (open_file_pch): Search suitably-named directories for PCH files.
15994
15995 2002-12-14 Geoffrey Keating <geoffk@apple.com>
15996
15997 * doc/gty.texi (GTY Options): Document chain_next, chain_prev,
15998 reorder options.
15999 (Type Information): Mention that the information is also
16000 used to implement PCH.
16001 * doc/passes.texi (Passes): Improve documentation of
16002 language-specific files.
16003
16004 2002-12-11 Geoffrey Keating <geoffk@apple.com>
16005
16006 * gengtype.c (struct write_types_data): Add reorder_note_routine field.
16007 (struct walk_type_data): Add reorder_fn field.
16008 (walk_type): Process 'reorder' option.
16009 (write_types_process_field): Reorder parameters to gt_pch_note_object,
16010 call reorder_note_routine.
16011 (write_func_for_structure): Reorder parameters to gt_pch_note_object.
16012 (ggc_wtd): Update for change to struct write_types_data.
16013 (pch_wtd): Likewise.
16014 * ggc.h (gt_pch_note_object): Reorder parameters.
16015 (gt_handle_reorder): New definition.
16016 (gt_pch_note_reorder): New prototype.
16017 * ggc-common.c (struct ptr_data): Add reorder_fn.
16018 (gt_pch_note_object): Reorder parameters.
16019 (gt_pch_note_reorder): New.
16020 (gt_pch_save): Call reorder_fn.
16021 * stringpool.c (gt_pch_n_S): Update for change to gt_pch_note_object.
16022
16023 * dbxout.c (cwd): Don't mark for PCH.
16024
16025 2002-12-09 Geoffrey Keating <geoffk@apple.com>
16026
16027 * gengtype.c (finish_root_table): Fix some warnings.
16028 (write_root): Handle TYPE_STRING.
16029 * ggc.h (gt_ggc_m_S): Add prototype.
16030 * stringpool.c (gt_ggc_m_S): New function.
16031
16032 2002-11-30 Geoffrey Keating <geoffk@apple.com>
16033
16034 * dwarf2out.c (dw2_string_counter): New.
16035 (AT_string_form): Use it.
16036 (same_dw_val_p): Update for removal of hashtable.h hash tables.
16037
16038 2002-11-22 Geoffrey Keating <geoffk@apple.com>
16039
16040 * dbxout.c: Include gt-dbxout.h.
16041 (lastfile): Mark for PCH/GGC.
16042 (cwd): Likewise.
16043 (struct typeinfo): Likewise.
16044 (typevec): Likewise.
16045 (typevec_len): Likewise.
16046 (next_type_number): Likewise.
16047 (struct dbx_file): Likewise.
16048 (current_file): Likewise.
16049 (next_file_number): Likewise.
16050 (dbxout_init): Allocate typevec, struct dbx_file with GGC.
16051 (dbxout_start_source_file): Allocate struct dbx_file with GGC.
16052 (dbxout_end_source_file): Don't free struct dbx_file.
16053 (dbxout_type): Use GGC to allocate typevec.
16054 * Makefile.in (dbxout.o): Depend on gt-dbxout.h, $(GGC_H).
16055 (GTFILES): Add dbxout.c.
16056 (gt-dbxout.h): New rule.
16057
16058 * Makefile.in (c-pch.o): Add debug.h as dependency.
16059 * c-pch.c: Include debug.h.
16060 (pch_init): Call start_source_file to keep nesting right.
16061 (c_common_read_pch): Add orig_name parameter. Call
16062 start_source_file debug hook. Call end_source_file debug hook.
16063 * c-common.h (c_common_read_pch): Update prototype.
16064 * cpplib.h (struct cpp_callbacks): Add fourth field to read_pch
16065 callback.
16066 * cppfiles.c (struct include_file): Add new field `header_name'.
16067 (find_or_create_entry): Default it to `name'.
16068 (open_file_pch): Set it to the original header file searched for.
16069 (stack_include_file): Don't stack an empty buffer, just handle
16070 PCH files immediately. Pass header_name field to read_pch callback.
16071
16072 2002-11-19 Geoffrey Keating <geoffk@apple.com>
16073
16074 * function.c (funcdef_no): Mark to be saved in a PCH.
16075
16076 2002-11-15 Geoffrey Keating <geoffk@apple.com>
16077
16078 * ggc-page.c (ggc_pch_read): Remove unused 'bmap_size'.
16079
16080 * cpppch.c (cpp_read_state): Correct size reallocated for 'defn'.
16081
16082 2002-11-14 Geoffrey Keating <geoffk@apple.com>
16083
16084 * optabs.h (code_to_optab): Add GTY marker.
16085
16086 2002-11-13 Geoffrey Keating <geoffk@apple.com>
16087
16088 * Makefile.in (GTFILES): Add cpplib.h.
16089 * c-common.h (struct c_common_identifier): Don't skip 'node' field.
16090 * c-decl.c (build_compound_literal): Don't use var_labelno.
16091 * cpplib.h (struct cpp_hashnode): Use gengtype to mark.
16092 * dwarf2asm.c (dw2_force_const_mem): Don't use const_labelno.
16093 * varasm.c (const_labelno): Use gengtype to mark.
16094 (var_labelno): Likewise.
16095 (in_section): Likewise.
16096 (in_named_name): Likewise.
16097 (struct in_named_entry): Likewise.
16098 (in_named_htab): Likewise.
16099 (set_named_section_flags): Use GGC to allocate struct in_named_entry.
16100 (init_varasm_once): Use GGC to allocate in_named_htab.
16101 * config/darwin.c (current_pic_label_num): Mark for PCH.
16102
16103 2002-11-11 Geoffrey Keating <geoffk@apple.com>
16104
16105 * ggc-simple.c (init_ggc_pch): New stub procedure.
16106 (ggc_pch_count_object): Likewise.
16107 (ggc_pch_total_size): Likewise.
16108 (ggc_pch_this_base): Likewise.
16109 (ggc_pch_alloc_object): Likewise.
16110 (ggc_pch_prepare_write): Likewise.
16111 (ggc_pch_write_object): Likewise
16112 (ggc_pch_finish): Likewise.
16113 (ggc_pch_read): Likewise.
16114
16115 2002-11-08 Geoffrey Keating <geoffk@apple.com>
16116
16117 * c-pch.c (c_common_write_pch): Write the macro definitions after
16118 the GCed data.
16119 (c_common_read_pch): Call cpp_prepare_state. Restore the macro
16120 definitions after the GCed data.
16121 * cpplib.c (save_macros): New.
16122 (reset_ht): New.
16123 (cpp_write_pch_deps): Split out of cpp_write_pch.
16124 (cpp_write_pch_state): Split out of cpp_write_pch.
16125 (cpp_write_pch): Delete.
16126 (struct save_macro_data): Delete.
16127 (cpp_prepare_state): New.
16128 (cpp_read_state): Erase and restore initial macro definitions.
16129 * cpplib.h (struct save_macro_data): Forward-declare.
16130 (cpp_write_pch_deps): Prototype.
16131 (cpp_write_pch_state): Prototype.
16132 (cpp_write_pch): Delete prototype.
16133 (cpp_prepare_state): Prototype.
16134 (cpp_read_state): Add fourth argument.
16135
16136 2002-11-04 Geoffrey Keating <geoffk@apple.com>
16137
16138 * gengtype.c (adjust_field_rtx_def): Don't use skip on valid fields.
16139 (write_array): Remove warning.
16140
16141 * gengtype.c (contains_scalar_p): New.
16142 (finish_root_table): Add the table to all languages, even if it's
16143 empty.
16144 (write_roots): Output gt_pch_scalar_rtab.
16145 * ggc-common.c (gt_pch_save): Write out scalars.
16146 (gt_pch_restore): Read scalars back.
16147
16148 * ggc-page.c (OBJECTS_IN_PAGE): New macro.
16149 (struct page_entry): Delete pch_page field.
16150 (ggc_recalculate_in_use_p): Use OBJECTS_IN_PAGE.
16151 (clear_marks): Likewise.
16152 (sweep_pages): Likewise.
16153 (poison_pages): Likewise.
16154 (ggc_print_statistics): Likewise.
16155 (ggc_pch_read): Don't free objects read from a PCH.
16156 Properly set up in_use_p and page_tails.
16157
16158 2002-10-25 Geoffrey Keating <geoffk@apple.com>
16159
16160 * gengtype.c (struct write_types_data): New.
16161 (struct walk_type_data): Make `cookie' const; add extra
16162 prev_val item; add `orig_s' field.
16163 (walk_type): Update prev_val[3].
16164 (write_types_process_field): New.
16165 (write_func_for_structure): Take write_types_data structure.
16166 (write_types): New.
16167 (ggc_wtd): New.
16168 (pch_wtd): New.
16169 (write_types_local_process_field): New.
16170 (gc_mark_process_field): Delete.
16171 (write_local_func_for_structure): New.
16172 (gc_mark_func_name): Delete.
16173 (write_gc_types): Delete.
16174 (write_local): New.
16175 (finish_root_table): Don't include 'ggc_' in PFX.
16176 (write_root): Rename from write_root. Fill pchw field of structures.
16177 (write_array): New.
16178 (write_roots): Rename from write_gc_roots. Split out to write_array.
16179 Update to changes to other routines. Write gt_pch_cache_rtab table.
16180 (main): Write PCH walking routines.
16181 * ggc-common.c: Include toplev.h, sys/mman.h.
16182 (ggc_mark_roots): For cache hashtables, also mark the hash table
16183 and the array of entries.
16184 (saving_htab): New.
16185 (struct ptr_data): New.
16186 (POINTER_HASH): New.
16187 (gt_pch_note_object): New.
16188 (saving_htab_hash): New.
16189 (saving_htab_eq): New.
16190 (struct traversal_state): New.
16191 (call_count): New.
16192 (call_alloc): New.
16193 (compare_ptr_data): New.
16194 (relocate_ptrs): New.
16195 (write_pch_globals): New.
16196 (struct mmap_info): New.
16197 (gt_pch_save): New.
16198 (gt_pch_restore): New.
16199 * ggc-page.c (ROUND_UP_VALUE): New.
16200 (ROUND_UP): New.
16201 (struct page_entry): Add field `pch_page'.
16202 (init_ggc): Use ROUND_UP.
16203 (struct ggc_pch_data): Declare.
16204 (init_ggc_pch): New.
16205 (ggc_pch_count_object): New.
16206 (ggc_pch_total_size): New.
16207 (ggc_pch_this_base): New.
16208 (ggc_pch_alloc_object): New.
16209 (ggc_pch_prepare_write): New.
16210 (ggc_pch_write_object): New.
16211 (ggc_pch_finish): New.
16212 (ggc_pch_read): New.
16213 * ggc.h (gt_pointer_operator): New.
16214 (gt_note_pointers): New.
16215 (gt_pch_note_object): New prototype.
16216 (gt_pointer_walker): New.
16217 (struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
16218 (LAST_GGC_ROOT_TAB): Update.
16219 (gt_pch_cache_rtab): Declare.
16220 (gt_pch_scalar_rtab): Declare.
16221 (struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
16222 (LAST_GGC_CACHE_TAB): Update.
16223 (gt_pch_save_stringpool): Declare.
16224 (gt_pch_restore_stringpool): Declare.
16225 (gt_pch_p_S): Declare.
16226 (gt_pch_n_S): Declare.
16227 (struct ggc_pch_data): Forward-declare.
16228 (init_ggc_pch): Declare.
16229 (ggc_pch_count_object): Declare.
16230 (ggc_pch_total_size): Declare.
16231 (ggc_pch_this_base): Declare.
16232 (ggc_pch_alloc_object): Declare.
16233 (ggc_pch_prepare_write): Declare.
16234 (ggc_pch_write_object): Declare.
16235 (ggc_pch_finish): Declare.
16236 (ggc_pch_read): Declare.
16237 (gt_pch_save): Declare.
16238 (gt_pch_restore): Declare.
16239 * fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
16240 * emit-rtl.c (init_emit_once): Allocate const_int_htab,
16241 const_double_htab, mem_attrs_htab using GGC.
16242 * c-pch.c: Include ggc.h.
16243 (pch_init): Allow reading PCH file back.
16244 (c_common_write_pch): Call gt_pch_save.
16245 (c_common_read_pch): Call gt_pch_restore.
16246 * c-parse.in (init_reswords): Delete now-untrue comment.
16247 Allocate ridpointers using GGC.
16248 * c-objc-common.c (c_objc_common_finish_file): Write PCH before
16249 calling expand_deferred_fns.
16250 * c-common.h (ridpointers): Mark for GTY machinery.
16251 * Makefile.in (stringpool.o): Update dependencies.
16252 (c-pch.o): Update dependencies.
16253 (ggc-common.o): Update dependencies.
16254 * stringpool.c: Include gt-stringpool.h.
16255 (gt_pch_p_S): New.
16256 (gt_pch_n_S): New.
16257 (struct string_pool_data): New.
16258 (spd): New.
16259 (gt_pch_save_stringpool): New.
16260 (gt_pch_restore_stringpool): New.
16261 * tree.c (init_ttree): Make type_hash_table allocated using GC.
16262
16263 2002-10-04 Geoffrey Keating <geoffk@apple.com>
16264
16265 * gengtype.c (adjust_field_rtx_def): Don't pass size_t to printf.
16266 (output_mangled_typename): Don't pass size_t to printf.
16267
16268 * tree.h (union tree_type_symtab): Add tag to `address' field.
16269 (union tree_decl_u2): Add tag to 'i' field.
16270 * varasm.c (union rtx_const_un): Add tags to all fields.
16271 * gengtype.c (struct walk_type_data): New.
16272 (output_escaped_param): Take struct walk_type_data parameter.
16273 (write_gc_structure_fields): Delete.
16274 (walk_type): New.
16275 (write_gc_marker_routine_for_structure): Delete.
16276 (write_func_for_structure): New.
16277 (gc_mark_process_field): New.
16278 (gc_mark_func_name): New.
16279 (gc_counter): Delete.
16280 (write_gc_types): Use write_func_for_structure.
16281 (write_gc_roots): Use walk_type.
16282
16283 2002-10-02 Geoffrey Keating <geoffk@apple.com>
16284
16285 * ggc-common.c (ggc_mark_roots): Delete 'x'.
16286 (ggc_splay_dont_free): Fix warning about unused 'x'.
16287 (ggc_print_common_statistics): Remove warnings.
16288
16289 2002-10-01 Mike Stump <mrs@apple.com>
16290
16291 * ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
16292 * gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
16293
16294 2002-09-01 Geoffrey Keating <geoffk@redhat.com>
16295 Catherine Moore <clm@redhat.com>
16296
16297 * Makefile (c-pch.o): Update dependencies.
16298 (LIBCPP_OBJS): Add cpppch.o.
16299 (cpppch.o): New.
16300 * c-common.c (c_common_init): Don't call pch_init here.
16301 * c-common.h (c_common_read_pch): Update prototype.
16302 * c-lex.c (c_common_parse_file): Call pch_init here.
16303 * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-pch, -fpch-deps.
16304 (c_common_decode_option): Handle them.
16305 * c-pch.c: Include c-pragma.h.
16306 (save_asm_offset): Delete.
16307 (pch_init): Move contents of save_asm_offset into here, call
16308 cpp_save_state.
16309 (c_common_write_pch): Call cpp_write_pch.
16310 (c_common_valid_pch): Warn only when -Winvalid-pch. Call
16311 cpp_valid_state.
16312 (c_common_read_pch): Add NAME parameter. Call cpp_read_state.
16313 * cppfiles.c (stack_include_file): Update for change to
16314 parameters of cb.read_pch.
16315 * cpphash.h (struct cpp_reader): Add `savedstate' field.
16316 * cpplib.h (struct cpp_options): Add `warn_invalid_pch' and
16317 `restore_pch_deps' fields.
16318 (struct cpp_callbacks): Add NAME parameter to `read_pch'.
16319 (cpp_save_state): Prototype.
16320 (cpp_write_pch): Prototype.
16321 (cpp_valid_state): Prototype.
16322 (cpp_read_state): Prototype.
16323 * cpppch.c: New file.
16324 * flags.h (version_flag): Remove prototype.
16325 * mkdeps.c (deps_save): New.
16326 (deps_restore): New.
16327 * mkdeps.h (deps_save): Prototype.
16328 (deps_restore): Prototype.
16329 * toplev.c (late_init_hook): Delete.
16330 (version_flag): Make static again.
16331 (compile_file): Don't call late_init_hook.
16332 * toplev.h (late_init_hook): Delete.
16333 * doc/cppopts.texi: Document -fpch-deps.
16334 * doc/invoke.texi (Warning Options): Document -Winvalid-pch.
16335
16336 2002-08-27 Geoffrey Keating <geoffk@redhat.com>
16337
16338 * c-pch.c (c_common_write_pch): Rename from c_write_pch, change
16339 callers.
16340 (c_common_valid_pch): Rename from c_valid_pch, change callers.
16341 (c_common_read_pch): Rename from c_read_pch, change callers.
16342
16343 * c-opts.c (COMMAND_LINE_OPTIONS): Allow -output-pch= to have
16344 a space between it and its argument.
16345
16346 2002-08-24 Geoffrey Keating <geoffk@redhat.com>
16347
16348 * c-pch.c: New file.
16349 * toplev.h (late_init_hook): Declare.
16350 * toplev.c (late_init_hook): Define.
16351 (version_flag): Make globally visible.
16352 (compile_file): Call late_init_hook.
16353 (init_asm_output): Make output file seekable.
16354 * gcc.c (default_compilers): Update c-header rule.
16355 * flags.h (version_flag): Declare.
16356 * cpplib.h (struct cpp_callbacks): Add 'valid_pch' and 'read_pch'
16357 fields.
16358 * cppfiles.c (struct include_file): Add 'pch' field.
16359 (INCLUDE_PCH_P): New.
16360 (open_file_pch): New.
16361 (stack_include_file): Handle PCH files specially.
16362 (find_include_file): Call open_file_pch instead of open_file.
16363 (_cpp_read_file): Explain why open_file is used instead of
16364 open_file_pch.
16365 * c-opts.c (c_common_decode_option): Correct OPT__output_pch case.
16366 * c-objc-common.c (c_objc_common_finish_file): Call c_write_pch.
16367 * c-lex.c (init_c_lex): Set valid_pch and read_pch fields
16368 in cpplib callbacks.
16369 * c-common.c (pch_file): Correct comment.
16370 (allow_pch): Define.
16371 (c_common_init): Call pch_init.
16372 * c-common.h (allow_pch): Declare.
16373 (pch_init): Declare.
16374 (c_valid_pch): Declare.
16375 (c_read_pch): Declare.
16376 (c_write_pch): Declare.
16377 * Makefile.in (c-pch.o): New.
16378 (C_AND_OBJC_OBJS): Add c-pch.o.
16379 * doc/invoke.texi (Precompiled Headers): Add index entries,
16380 complete truncated paragraph.
16381
16382 2002-08-17 Geoffrey Keating <geoffk@redhat.com>
16383
16384 * c-common.c: (pch_file): Define.
16385 * c-common.h (pch_file): Declare.
16386 * c-opts.c (COMMAND_LINE_OPTIONS): Add --output-pch=.
16387 (missing_arg): Require --output-pch= to have an argument.
16388 (c_common_decode_option): Handle --output-pch=.
16389 * gcc.c: Document new %V.
16390 (default_compilers): Handle compiling C header files.
16391 (do_spec_1): Implement %V.
16392 (main): Handle "gcc foo.h" without trying to run linker.
16393 * doc/invoke.texi (Invoking GCC): Add new menu item for PCH.
16394 (Overall Options): Document what the driver does with header files,
16395 document new -x option possibilities.
16396 (Invoking G++): More documentation for PCH.
16397 (Precompiled Headers): New.
16398
16399 2002-08-09 Geoffrey Keating <geoffk@redhat.com>
16400
16401 * ggc.h: Don't include varray.h. Rearrange functions to be more
16402 organized.
16403 (ggc_add_root): Delete.
16404 (ggc_mark_rtx): Delete.
16405 (ggc_mark_tree): Delete.
16406 (struct ggc_statistics): Remove contents.
16407 * ggc-common.c: Remove unneeded includes.
16408 (struct ggc_root): Delete.
16409 (roots): Delete.
16410 (ggc_add_root): Delete.
16411 (ggc_mark_roots): Don't mark `roots'. Call ggc_mark_stringpool.
16412 (ggc_print_common_statistics): Remove most of the contents.
16413 * Makefile.in (GGC_H): No longer uses varray.h.
16414 (ggc-common.o): Update dependencies.
16415 (c-parse.o): Add varray.h to dependencies.
16416 (c-common.o): Add varray.h.
16417 * stringpool.c (mark_ident): Use mangled name for tree marker routine.
16418 (mark_ident_hash): Rename to ggc_mark_stringpool.
16419 (init_stringpool): Don't use ggc_add_root.
16420 * c-parse.in: Include varray.h.
16421 * c-common.c: Include varray.h.
16422 * objc/Make-lang.in (objc-act.o): Add varray.h.
16423 * objc/objc-act.c: Include varray.h.
16424
16425 2002-07-25 Geoffrey Keating <geoffk@redhat.com>
16426
16427 * dwarf2out.c (dw_cfi_oprnd2_desc): Fix ISO-only function definition.
16428 (dw_cfi_oprnd1_desc): Likewise.
16429
16430 2002-07-17 Geoffrey Keating <geoffk@redhat.com>
16431
16432 * config/alpha/alpha.c (struct alpha_links): Use gengtype to mark;
16433 move out of ifdef.
16434 (alpha_links): Use gengtype to mark; move out of ifdef.
16435 (mark_alpha_links_node): Delete.
16436 (mark_alpha_links): Delete.
16437 (alpha_need_linkage): Use GGC to allocate splay tree, struct
16438 alpha_links, strings. Don't use ggc_add_root.
16439 * ggc-common.c (ggc_splay_alloc): New.
16440 (ggc_splay_dont_free): New.
16441 * ggc.h (ggc_mark_rtx): Update for changed name mangling.
16442 (ggc_mark_tree): Likewise.
16443 (splay_tree_new_ggc): New.
16444 (ggc_splay_alloc): Declare.
16445 (ggc_splay_dont_free): Declare.
16446 * dwarf2asm.c: Include gt-dwarf2asm.h.
16447 (mark_indirect_pool_entry): Delete.
16448 (mark_indirect_pool): Delete.
16449 (indirect_pool): Use gengtype to mark.
16450 (dw2_force_const_mem): Don't use ggc_add_root.
16451 * Makefile.in (dwarf2asm.o): Depend on gt-dwarf2asm.h.
16452 (GTFILES): Add SPLAY_TREE_H, dwarf2asm.c.
16453 (gt-dwarf2asm.h): Depend on s-gtype.
16454
16455 2002-07-08 Geoffrey Keating <geoffk@redhat.com>
16456
16457 * tree.h (union tree_type_symtab): Mark `die' field.
16458 * Makefile.in (dwarf2out.o): Update dependencies.
16459 * dwarf2out.c: Use GGC to allocate all structures. Convert to htab_t
16460 hash tables.
16461 (dw_cfi_oprnd1_desc): New function.
16462 (dw_cfi_oprnd2_desc): New function.
16463 (indirect_string_alloc): Delete.
16464 (debug_str_do_hash): New function.
16465 (debug_str_eq): New function.
16466 (mark_limbo_die_list): Delete.
16467 (dwarf2out_init): Don't call ggc_add_root.
16468
16469 2003-01-09 Vladimir Makarov <vmakarov@redhat.com>
16470
16471 The following changes are merged from itanium-sched-branch:
16472
16473 2003-01-08 David Edelsohn <edelsohn@gnu.org>
16474
16475 * doc/md.texi: Clarify assignment of units to automata description.
16476
16477 2003-01-08 Vladimir Makarov <vmakarov@redhat.com>
16478
16479 * genautomata.c (unit_decl): Remove members
16480 `the_same_automaton_unit' and
16481 `the_same_automaton_message_reported_p'.
16482 (process_unit_to_form_the_same_automaton_unit_lists,
16483 form_the_same_automaton_unit_lists_from_regexp,
16484 form_the_same_automaton_unit_lists, the_same_automaton_lists):
16485 Remove them.
16486 (annotation_message_reported_p): New global variable.
16487 (check_unit_distribution_in_reserv,
16488 check_regexp_units_distribution): New functions.
16489 (check_unit_distributions_to_automata): Rewrite it.
16490
16491 2003-01-04 Vladimir Makarov <vmakarov@redhat.com>
16492
16493 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
16494 Use continue instead of break if cycle is too big.
16495
16496 2002-12-20 Vladimir Makarov <vmakarov@redhat.com>
16497
16498 * genautomata.c (check_unit_distributions_to_automata): Output at
16499 most one message for a unit.
16500 (process_unit_to_form_the_same_automaton_unit_lists): Check
16501 automaton of units instead of units themself.
16502
16503 * doc/md.texi: Describe the constraint about assigning unit to
16504 automata.
16505
16506 2002-12-20 Jan Hubicka <jH@suse.cz>
16507 Vladimir Makarov <vmakarov@redhat.com>
16508
16509 * genautomata.c (unit_decl): Add new members `min_occ_cycle_num'
16510 and `in_set_p'.
16511 (gen_cpu_unit): Initialize the new members.
16512 (process_regexp_cycles): Calculate minimal finish cycle too. Set
16513 up `min_occ_cycle_num'.
16514 (evaluate_max_reserv_cycles): Change the function call.
16515 (CLEAR_BIT): New macro.
16516 (states_union, state_shift): Use the mask.
16517 (initiate_excl_sets, form_reserv_sets_list): Set up `in_set_p'.
16518 (form_reservs_matter): New function.
16519 (make_automaton): Call the function and use the mask.
16520 (estimate_one_automaton_bound): Take `min_occ_cycle_num' into
16521 account.
16522
16523 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
16524
16525 * config/ia64/itanium2.md (lfetch): Change the insn reservation.
16526
16527 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
16528
16529 * config/ia64/ia64.c (bundling): Try to insert 2 nops for M insn
16530 for Itanium.
16531
16532 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
16533
16534 * config/ia64/ia64.c (ia64_override_options): Make itanium2 as
16535 default cpu.
16536
16537 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
16538 2002-10-31 Dale Johannesen <dalej@apple.com>
16539
16540 * haifa-sched.c (find_set_reg_weight): New function.
16541 (find_insn_reg_weight): Use the new function.
16542 (schedule_block): Do sorting ready queue always
16543 after insn issue.
16544
16545 2002-11-27 Vladimir Makarov <vmakarov@redhat.com>
16546
16547 * config/ia64/ia64.c (bundling): Use MFI template instead of MLX.
16548
16549 2002-11-19 Vladimir Makarov <vmakarov@redhat.com>
16550
16551 * haifa-sched.c (choice_entry): New structure.
16552 (choice_stack, cycle_issued_insns): New variables.
16553 (max_issue): Rewrite it.
16554 (choose_ready): Set up ready_try for unknown insns too.
16555 (schedule_block): Allocate and free choice_stack. Set up
16556 and modify cycle_issued_insns.
16557
16558 * config/ia64/ia64.c (issue_nops_and_insn): Combine insn issue
16559 with and without filling the bundle.
16560 (bundling): Combine calls of issue_nops_and_insn.
16561
16562 2002-10-17 Vladimir Makarov <vmakarov@redhat.com>
16563
16564 * config/ia64/itanium1.md: New file.
16565
16566 * config/ia64/itanium2.md: New file.
16567
16568 * config/ia64/ia64.md: Move DFA descriptions into the new files.
16569 Remove the old pipeline description.
16570
16571 * config/ia64/ia64.c (ia64_override_options): Add aliases of
16572 itanium processor names.
16573
16574 2002-10-16 Vladimir Makarov <vmakarov@redhat.com>
16575
16576 * config/ia64/ia64.c (bundling): Print states for Itanium2 too.
16577 (ia64_reorg): Set up queried unit codes for Itanium2 too.
16578
16579 * config/ia64/ia64.md: Add descriptions for Itanium2.
16580
16581 2002-10-08 Vladimir Makarov <vmakarov@redhat.com>
16582
16583 * config/ia64/ia64.h (processor_type): New enumeration.
16584 (ia64_tune, ia64_tune_string): New external declarations.
16585 (TARGET_OPTIONS): Add option `tune='.
16586
16587 * config/ia64/ia64.c (ia64_tune, ia64_tune_string): New global
16588 variables.
16589 (ia64_override_options): Set up `ia64_tune'.
16590 (ia64_sched_reorder2): Set up `clocks' only for Itanium.
16591 (ia64_dfa_new_cycle): Set up `add_cycles' only for Itanium.
16592 (bundling): Add nops for MM-insns only for Itanium.
16593 (ia64_reorg): Allocate and free `clocks' and `add_cycles' only for
16594 Itanium.
16595
16596 * config/ia64/ia64.md (cpu): New attribute.
16597 (DFA description): Enable it only for Itanium.
16598
16599 2002-10-08 Vladimir Makarov <vmakarov@redhat.com>
16600 Richard Henderson <rth@redhat.com>
16601
16602 * config/ia64/ia64.h (MASK_TUNE_STOP_BITS): Rename it to
16603 MASK_EARLY_STOP_BITS.
16604 (TARGET_TUNE_STOP_BITS): Rename it to TARGET_EARLY_STOP_BITS.
16605 (TARGET_SWITCHES): Rename option `tune-stop-bits' to
16606 `early-stop-bits'.
16607
16608 * config/ia64/ia64.c (ia64_dfa_new_cycle,
16609 final_emit_insn_group_barriers): Use TARGET_EARLY_STOP_BITS
16610 instead of TARGET_TUNE_STOP_BITS.
16611
16612 * doc/invoke.texi: Rename option `-mtune-stop-bits' to
16613 `-mearly-stop-bits'.
16614
16615 * config/ia64/ia64.c (automata_option "v"): Comment it.
16616
16617 2002-10-07 Vladimir Makarov <vmakarov@redhat.com>
16618
16619 * config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
16620 New macros.
16621 (TARGET_SWITCHES): Add entries for the new option.
16622
16623 * config/ia64/ia64.c (dfa_stop_insn, last_scheduled_insn, rtx
16624 dfa_pre_cycle_insn, ia64_nop): Don't make them as roots for GC.
16625 (stops_p, stop_before_p, clocks_length, clocks, add_cycles): New
16626 global variables.
16627 (ia64_sched_reorder2): Set up `clocks'.
16628 (ia64_variable_issue): Set up `stops_p' and reset `stop_before_p'.
16629 (ia64_dfa_new_cycle): Set up add_cycle. Permit sorting ready
16630 queue when TARGET_TUNE_STOP_BITS.
16631 (bundling): Insert additional nops for MM-insns.
16632 (final_emit_insn_group_barriers): Add insertion of stop bits
16633 according `stops_p'.
16634 (ia64_reorg): Initiate the new varibales.
16635
16636 * doc/invoke.texi: Add description of option `-mtune-stop-bits'.
16637
16638 2002-10-02 Vladimir Makarov <vmakarov@redhat.com>
16639
16640 * haifa-sched.c (schedule_block): Modify INSN_TICK of depended
16641 insns at the end of block insn scheduling.
16642
16643 2002-09-30 Vladimir Makarov <vmakarov@redhat.com>
16644
16645 * sched-deps.c (remove_dependence, group_leader): Remove it.
16646 (add_dependence): Add dependence to group leader to.
16647 (set_sched_group_p): Add dependence to the first insn of the
16648 schedule group too.
16649 (sched_analyze_insn): Make dependence to jump as anti-dependence.
16650 Change true dependence by anti-dependence when
16651 `reg_pending_barrier'.
16652
16653 * sched-rgn.c (init_ready_list, can_schedule_ready_p,
16654 add_branch_dependences): Ignore schedule groups.
16655
16656 * sched-ebb.c (init_ready_list): Ditto.
16657
16658 * (move_insn, set_priorities): Ditto.
16659
16660 * config/ia64/ia64.c (ia64_sched_init): Check that schedule group
16661 flag is clear after reload.
16662 (adjust_cost): Change cost only for output dependencies.
16663
16664 * config/ia64/ia64.md: Add more insns into bypass for MM-insns.
16665
16666 2002-09-26 Vladimir Makarov <vmakarov@redhat.com>
16667
16668 * Makefile.in (sched-ebb.o): Add `$(TARGET_H)' to the entry.
16669
16670 * target.h (gcc_target): Add member
16671 `dependencies_evaluation_hook'.
16672
16673 * target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New
16674 macro.
16675 (TARGET_SCHED): Add initiatialization of the new member.
16676
16677 * sched-ebb.c: Include `target.h'.
16678 (schedule_ebb): Call `dependencies_evaluation_hook'.
16679
16680 * sched-rgn.c (schedule_region): Call
16681 `dependencies_evaluation_hook'.
16682
16683 * config/ia64/ia64.c (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
16684 New macro.
16685 (ia64_dependencies_evaluation_hook): New function.
16686
16687 * doc/tm.texi (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
16688 Describe the new hook.
16689
16690 2002-09-25 Vladimir Makarov <vmakarov@redhat.com>
16691
16692 * target.h (gcc_target): Add members
16693 `first_cycle_multipass_dfa_lookahead_guard' and `dfa_new_cycle'.
16694
16695 * target-def.h (TARGET_SCHED_DFA_NEW_CYCLE,
16696 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): New
16697 macros.
16698 (TARGET_SCHED): Add initiatialization of the new members.
16699
16700 * haifa-sched.c (schedule_insn): Update last_clock_var for the 1st
16701 insn scheduling too.
16702 (choose_ready): Use `first_cycle_multipass_dfa_lookahead_guard' to
16703 initialize `ready_try'.
16704 (schedule_block): Use `dfa_new_cycle'. Sort `ready' only unless
16705 `dfa_new_cycle' says not to do it.
16706
16707 * config/ia64/ia64.md: Add DFA Itanium 1 description for insn
16708 bundling.
16709
16710 * config/ia64/ia64.h (CPU_UNITS_QUERY): New macro.
16711
16712 * config/ia64/ia64.c: Include `hashtab.h'.
16713 (ia64_first_cycle_multipass_dfa_lookahead_guard,
16714 ia64_dfa_new_cycle, final_emit_insn_group_barriers,
16715 ia64_dfa_sched_reorder, get_free_bundle_state, free_bundle_state,
16716 initiate_bundle_states, finish_bundle_states, bundle_state_hash,
16717 bundle_state_eq_p, insert_bundle_state,
16718 initiate_bundle_state_table, finish_bundle_state_table,
16719 try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
16720 get_template, get_next_important_insn, bundling): New functions.
16721 (ia64_internal_sched_reorder): Remove it.
16722 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
16723 TARGET_SCHED_DFA_NEW_CYCLE): New macros.
16724 (ia64_safe_itanium_requires_unit0): Remove it.
16725 (group_barrier_needed_p): Place group barrier right before a real
16726 insn.
16727 (bundle, ia64_packet, NR_PACKETS, type_names, packets, packets):
16728 Remove them.
16729 (bundle_name): New variable.
16730 (_0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_, _0mbb_, _0mib_, _0mmb_,
16731 _0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_, _1mmf_, _1bbb_, _1mbb_,
16732 _1mib_, _1mmb_, _1mfb_, _1mlx_, pos_1, pos_2, pos_3, pos_4, pos_5,
16733 pos_6, dfa_stop_insn, last_scheduled_insn, dfa_state_size,
16734 temp_dfa_state, prev_cycle_state): New global variables.
16735 (insn_matches_slot, maybe_rotate, finish_last_head,
16736 rotate_one_bundle, rotate_one_bundles, nop_cycles_until,
16737 cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
16738 find_best_packet, itanium_reorder, dump_current_packet,
16739 schedule_stop, gen_nop_type, ia64_emit_nops): Remove them.
16740 (sched_data, sched_ready, sched_types): Remove them.
16741 (ia64_sched_init): Initiate only `last_scheduled_insn' and call
16742 `init_insn_group_barriers'.
16743 (ia64_sched_reorder, ia64_sched_reorder2): Call
16744 ia64_dfa_sched_reorder.
16745 (ia64_variable_issue): Rewrite it.
16746 (bundle_state): New structure.
16747 (index_to_bundle_states, bundle_states_num,
16748 allocated_bundle_states_chain, free_bundle_state_chain): New
16749 global variables.
16750 (ia64_sched_finish): Add stop bits and call `bundling' after the
16751 2nd insn scheduling.
16752 (ia64_use_dfa_pipeline_interface): Return zero always.
16753 (ia64_first_cycle_multipass_dfa_lookahead): Return 6 for the 2nd
16754 insn scheduling.
16755 (ia64_init_dfa_pre_cycle_insn): Initialize `dfa_state_size',
16756 `temp_dfa_state', `prev_cycle_state', and `dfa_stop_insn'.
16757 (ia64_reorg): Add bundling insns.
16758
16759 * doc/tm.texi
16760 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
16761 TARGET_SCHED_DFA_NEW_CYCLE): Describe the new hooks.
16762
16763 2002-09-23 Vladimir Makarov <vmakarov@redhat.com>
16764
16765 * config/ia64/ia64.md: Add Itanium1 DFA description.
16766 (itanium_class): Add `nop' and `pre_cycle'. Add
16767 define_function_unit for `nop'.
16768 (nop): Change attribute `itanium_class'.
16769 (pre_cycle): New define_insn.
16770
16771 * config/ia64/ia64-protos.h (bundling_p): New external variable.
16772 (ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
16773 ia64_produce_address_p): New function prototypes.
16774
16775 * config/ia64/ia64.c (bundling_p): New global variable.
16776 (ia64_use_dfa_pipeline_interface,
16777 ia64_first_cycle_multipass_dfa_lookahead,
16778 ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn): New
16779 functions.
16780 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
16781 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
16782 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
16783 TARGET_SCHED_DFA_PRE_CYCLE_INSN): New macros.
16784 (ia64_sched_init, ia64_sched_reorder, ia64_sched_reorder2,
16785 ia64_variable_issue, ia64_sched_finish): Do nothing before reload.
16786 (dfa_pre_cycle_insn): New variable.
16787
16788 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
16789
16790 * rtl.def (FINAL_PRESENCE_SET, FINAL_ABSENCE_SET): New
16791 constructions.
16792
16793 * genattrtab.h (gen_final_presence_set, gen_final_absence_set):
16794 New function prototypes.
16795
16796 * genattrtab.c (main): Process the new constructions.
16797
16798 * genautomata.c (gen_presence_absence_set,
16799 process_presence_absence_names, process_presence_absence_patterns,
16800 add_presence_absence, check_absence_pattern_sets): Add parameter
16801 `final_p'.
16802 (unit_decl): Add new members `final_presence_list' and
16803 `final_absence_list'.
16804 (unit_pattern_rel_decl): Add new member `final_p'.
16805 (gen_final_presence_set, gen_final_absence_set): New functions.
16806 (process_decls): Use member `final_p'.
16807 (temp_reserv): New global variable.
16808 (reserv_sets_are_intersected): Add processing `final_presence_set'
16809 and `final_absence_set'.
16810 (initiate_states): Allocate `temp_reserv'.
16811 (unit_final_presence_set_table, unit_final_absence_set_table): New
16812 gloabal variables.
16813 (initiate_presence_absence_pattern_sets): Initiate them.
16814 (NDFA_to_DFA): Fix typo.
16815 (output_description): Output `final_presence_set' and
16816 `final_absence_set'.
16817
16818 * doc/md.texi (final_presence_set, final_absence_set): Describe
16819 them.
16820
16821 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
16822
16823 * genautomata.c (transform_3): Process a missing case (nothing on
16824 unit place).
16825
16826 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
16827
16828 * rtl.def (DEFINE_QUERY_CPU_UNIT, AUTOMATA_OPTION): Change
16829 comments about queried units and the minimization.
16830
16831 * doc/md.texi: Ditto.
16832
16833 * genautomata.c (create_composed_state): Return nonzero if the new
16834 state has been created.
16835 (first_cycle_unit_presence): New function.
16836 (state_is_differed): Add new parameter. Use the new function.
16837 Take queried units into account.
16838 (partition_equiv_class): Pass additional parameter to
16839 `state_is_differed'.
16840 (merge_states): Process composed states too.
16841 (build_automaton, create_automata, output_min_issue_delay_table,
16842 output_tables, output_statistics): Output more information.
16843 (output_reserved_units_table): Use function
16844 `first_cycle_unit_presence'.
16845 (output_tables): Output table of queried units even if the
16846 minimization is switched on.
16847 (write_automata): Output code for querying units even if the
16848 minimization is switched on.
16849
16850 2002-09-19 Vladimir Makarov <vmakarov@redhat.com>
16851
16852 * rtl.def (PRESENCE_SET, ABSENCE_SET): Add comments about extended
16853 syntax of the constructions.
16854
16855 * doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
16856 extended syntax of the constructions.
16857
16858 * genautomata.c (unit_rel_decl): Rename it to
16859 `unit_pattern_rel_decl'.
16860 (pattern_set_el, pattern_reserv): New structures.
16861 (pattern_set_el_t, pattern_reserv_t): New types.
16862 (gen_presence_absence_set): New function.
16863 (process_presence_absence): Remove it.
16864 (process_presence_absence_names,
16865 process_presence_absence_patterns): New functions.
16866 (get_presence_absence_set): Remove it.
16867 (initiate_presence_absence_sets): Rename it on
16868 `initiate_presence_absence_pattern_sets'. Use new function
16869 `form_reserv_sets_list'.
16870 (form_reserv_sets_list, check_presence_pattern_sets,
16871 check_absence_pattern_sets, output_pattern_set_el_list): New
16872 functions.
16873 (unit_decl): Change types of members `presence_list' and
16874 `absence_list'.
16875 (unit_rel_decl): Rename member `names_num' to `all_names_num'.
16876 (decl): Change types of members `excl', `presence', and `absence'.
16877 (get_str_vect): Rename `par_flag' to `paren_p'. Add null element
16878 at the end of the vector.
16879 (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
16880 gen_automaton, gen_regexp_repeat, gen_regexp_allof,
16881 gen_regexp_oneof, gen_regexp_sequence): Use boolean values.
16882 (gen_presence_set, gen_absence_set): Use new function
16883 `gen_presence_absence_set'.
16884 (add_presence_absence): Process `pattern_list' instead of
16885 `source_list'.
16886 (process_decls): USe new functions
16887 `process_presence_absence_names' and
16888 `process_presence_absence_patterns'.
16889 (reserv_sets_are_intersected): Use new function
16890 `check_presence_pattern_sets'.
16891 (presence_set, absence_set): Remove them.
16892 (unit_presence_set_table, unit_absence_set_table): New global
16893 variables.
16894 (output_description): Use new function
16895 `output_pattern_set_el_list'.
16896 (generate): Use `initiate_presence_absence_pattern_sets'.
16897
16898 2002-09-18 Vladimir Makarov <vmakarov@redhat.com>
16899
16900 * genattr.c (main): Add output of prototype of new interface
16901 function `dfa_clean_insn_cache'.
16902
16903 * genautomata.c (output_dfa_clean_insn_cache_func): New function.
16904 (DFA_CLEAN_INSN_CACHE_FUNC_NAME): New macro.
16905 (output_dfa_start_func): Use function `dfa_clean_insn_cache' in
16906 the generated code.
16907 (write_automata): Call the new function.
16908
16909 2003-01-09 Jan Hubicka <jh@suse.cz>
16910
16911 * i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
16912 correctly.
16913
16914 2003-01-09 Paolo Carlini <pcarlini@unitus.it>
16915
16916 * doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
16917
16918 2003-01-09 J"orn Rennecke <joern.rennecke@superh.com>
16919
16920 * defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
16921 (EXTRA_ADDRESS_CONSTRAINT): Likewise.
16922 (CONSTRAINT_LEN): Provide default definition.
16923 (CONST_OK_FOR_CONSTRAINT_P): Likewise.
16924 (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise.
16925 (EXTRA_CONSTRAINT_STR): Likewise.
16926 (REG_CLASS_FROM_CONSTRAINT): Define.
16927 * genoutput.c (check_constraint_len, constraint_len): New functions.
16928 (validate_insn_alternatives): Check CONSTRAINT_LEN for each
16929 constraint / modifier.
16930 (gen_insn): Call check_constraint_len.
16931 * local-alloc.c (block_alloc): Update to use new macros / pass
16932 second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT.
16933 * ra-build.c (handle_asm_insn): Likewise.
16934 * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
16935 (constrain_operands, peep2_find_free_register): Likewise.
16936 * regclass.c (record_operand_costs, record_reg_classes): Likewise.
16937 * regmove.c (find_matches): Likewise.
16938 * reload.c (push_secondary_reload, find_reloads): Likewise.
16939 (alternative_allows_memconst): Likewise.
16940 * reload1.c (maybe_fix_stack_asms): Likewise.
16941 (reload_cse_simplify_operands): Likewise.
16942 * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
16943 * doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document.
16944 (CONST_OK_FOR_CONSTRAINT_P): Likewise.
16945 (CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise.
16946 (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument.
16947 * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise.
16948
16949 * sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
16950
16951 2003-01-09 Kazu Hirata <kazu@cs.umass.edu>
16952
16953 * config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn
16954 length.
16955 (*extzv_1_r_h8300hs): Likewise.
16956 (*extzv_1_r_inv_h8300): Likewise.
16957 (*extzv_1_r_inv_h8300hs): Likewise.
16958
16959 2003-01-09 Kazu Hirata <kazu@cs.umass.edu>
16960
16961 * config/h8300/h8300.h (PREDICATE_CODES): New.
16962
16963 2003-01-09 Kazu Hirata <kazu@cs.umass.edu>
16964
16965 * config/h8300/h8300.md (*addsi3_upper): New.
16966 (*iorsi3_shift): Likewise.
16967 (two splitters): Likewise.
16968 (*addsi3_shift): Likewise.
16969 (two splitters): Likewise.
16970
16971 2003-01-09 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
16972
16973 * Makefile.in (optabs.o): Add dependency on basic-block.h.
16974 * basic-block.h (control_flow_insn_p): Fuction was exported.
16975 * cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
16976 * optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
16977 notes only when the region is contained in a single basic block.
16978
16979 2003-01-09 Eric Botcazou <ebotcazou@libertysurf.fr>
16980
16981 PR inline-asm/8832
16982 * tree.h (expand_asm): New prototype.
16983 * stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
16984 to do so.
16985 * c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
16986 down to expand_asm.
16987 * c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
16988 * rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
16989 (volatile_refs_p) [ASM_INPUT]: Likewise.
16990 (side_effects_p) [ASM_INPUT]: Likewise.
16991
16992 2003-01-09 Jan Hubicka <jh@suse.cz>
16993
16994 * i386.md (*mul*): FIx constraints; remove confused comment; fix
16995 athlon_decode attributes
16996 (imul/k8 optimization peep2s): New.
16997
16998 * athlon.md (athlon_ssecmp*): Handle ssecomi as well.
16999 * i386.md (type attribute): Add ssecomi.
17000 (unit, memory, prefix attributes): Handle ssecomi.
17001 (cvt?2? patterns): Fix athlon_decode attribute
17002 (comi patterns): Set attribute to ssecomi.
17003
17004 PR target/8343
17005 * m68k.md (umulsidi, mulsidi expanders): Use register operand.
17006
17007 2003-01-09 Richard Sandiford <rsandifo@redhat.com>
17008
17009 * config/mips/mips.h (PREDICATE_CODES): Add ADDRESSOF for predicates
17010 that match register_operands.
17011 * config/mips/mips.c (reg_or_0_operand, true_reg_or_0_operand): Make
17012 register_operand the default case.
17013
17014 2003-01-09 Eric Botcazou <ebotcazou@libertysurf.fr>
17015
17016 PR c/8032
17017 * c-typeck.c (process_init_element) [RECORD_TYPE]: For
17018 an empty element, do not advance the pointer to unfilled
17019 fields if there are pending initializers.
17020
17021 2003-01-09 Christian Cornelssen <ccorn@cs.tu-berlin.de>
17022
17023 * Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
17024 (install-gcc-tooldir, install-cpp, installdirs,
17025 install-common, install-driver, install-info, install-man,
17026 install-headers, install-include-dir, install-headers-tar,
17027 install-headers-cpio, install-headers-cp, install-mkheaders,
17028 install-collect2, uninstall): Prepend $(DESTDIR) to
17029 destination paths in all (un)installation commands.
17030 (install-driver): Rewrite $(LN) commands to support DESTDIR
17031 with "ln" as well as with "ln -s".
17032 (installdirs): Simply use mkinstalldirs.
17033 (install-libgcc, install-multilib): Also pass DESTDIR.
17034 * mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
17035 installation destination variable ldir.
17036 * config/alpha/t-osf4, config/arm/t-netbsd,
17037 config/ia64/t-hpux, config/mips/t-iris5-6,
17038 config/pa/t-hpux-shlib, config/rs6000/t-aix43,
17039 config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
17040 config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
17041 in the definition of SHLIB_INSTALL.
17042 * config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
17043 $(libsubdir) in the installation commands.
17044
17045 2003-01-08 Kaz Kojima <kkojima@gcc.gnu.org>
17046
17047 * config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a
17048 non-optimizing compile.
17049 (ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing
17050 compile.
17051
17052 2003-01-08 Douglas B Rupp <rupp@gnat.com>
17053
17054 * config/i386/i386.c (ix86_attribute_table): Add new attributes
17055 ms_struct and gcc_struct.
17056 (ix86_handle_struct_attribute): New function.
17057 (ix86_ms_bitfield_layout_p): Update to take new attributes
17058 into account.
17059 * doc/extend.texi: Document new attributes.
17060 * testsuite/gcc.dg/bf-ms-attrib.c: New test.
17061
17062 2003-01-08 Danny Smith <dannysmith@users.sourceforge.net>
17063
17064 PR optimization/8750
17065 * config/i386/i386.c (ix86_expand_prologue): Don't allow
17066 scheduling pass to move insns across __alloca call.
17067
17068 2003-01-08 Dale Johannesen <dalej@apple.com>
17069
17070 * config/rs6000/rs6000.md: Replace *store_multiple_string
17071 with *stmsi[3-8].
17072
17073 2003-01-08 Jeff Sturm <jsturm@one-point.com>
17074
17075 PR target/9210
17076 * config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
17077 Set SYMBOL_REF_FLAG on local data sym_ref.
17078
17079 2003-01-08 Dale Johannesen <dalej@apple.com>
17080
17081 * function.c (assign_parms): Don't set pretend_args_size if
17082 REG_PARM_STACK_SPACE.
17083 config/rs6000/rs6000.c (setup_incoming_varargs): Don't set
17084 pretend_args_size.
17085
17086 2003-01-08 Nathanael Nerode <neroden@gcc.gnu.org>
17087
17088 * gcc.hlp: Delete.
17089
17090 2003-01-09 Jan Hubicka <jh@suse.cz>
17091
17092 * i386.c (ix86_expand_int_addcc): Fix thinko.
17093
17094 2003-01-08 David Edelsohn <edelsohn@gnu.org>
17095
17096 * config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
17097 * config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
17098 as hook_bool_tree_hwi_hwi_tree_true.
17099 (rs6000_emit_allocate_stack): Use TARGET_32BIT.
17100 (rs6000_emit_epilogue): Same.
17101 (rs6000_output_mi_thunk): Re-implement as RTL.
17102 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
17103 xcoffout_declare_function if any debugging enabled.
17104
17105 2003-01-08 Chris Demetriou <cgd@broadcom.com>
17106
17107 * config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
17108 targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
17109 * config/mips/mips.h (enum processor_type): Rename
17110 PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
17111 PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
17112 Add PROCESSOR_M4K.
17113 (TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
17114 (ISA_MIPS32R2): New define.
17115 (GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
17116 (ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
17117 (ISA_HAS_PREFETCH): Add support for MIPS32R2.
17118 (MIPS_ISA_DEFAULT): Likewise. Also, fix indentation.
17119 (TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2. Add new
17120 predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
17121 (ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
17122 compiling MIPS16 code.
17123 (ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
17124 comment.
17125 (ISA_HAS_SEB_SEH): New define.
17126 (ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
17127 * config/mips/mips.c (mips_cpu_info_table): Adjust for enum
17128 processor_type value renaming. Add support for MIPS32R2.
17129 Clean up comments, and move "sb1" entry with other MIPS64 CPU
17130 entries.
17131 (override_options): Reimplement -mipsN option handling so that
17132 it will work correctly for -mips32r2. Avoid branch-likely
17133 instructions on MIPS32R2.
17134 * config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
17135 (extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
17136 (extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
17137 (extendhisi2_hw, extendqisi2_hw): New.
17138 * config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
17139 for MIPS32R2. Add new predefine __mips_isa_rev for MIPS32,
17140 MIPS32R2, and MIPS64.
17141 (LINK_SPEC): Pass -mips32r2 to linker.
17142 * config/mips/t-isa3264: Built -mips32r2 multilibs.
17143 * doc/invoke.texi (MIPS Options): Add -mips32r2, add support
17144 for mips32r2 in the -march description. Alphabetically sort
17145 CPU names in the -march description. Add long-missed -mips32
17146 and -mips64 to MIPS option summary.
17147
17148 * config.gcc: Update copyright years to include 2003.
17149 * config/mips/mips.c: Likewise.
17150 * config/mips/mips.h: Likewise.
17151 * config/mips/mips.md: Likewise.
17152 * config/mips/netbsd.h: Likewise.
17153 * doc/invoke.texi: Likewise.
17154
17155 2003-01-08 Andreas Schwab <schwab@suse.de>
17156
17157 * aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
17158 variable.
17159 * configure: Regenerated.
17160
17161 2003-01-08 Kazu Hirata <kazu@cs.umass.edu>
17162
17163 * config/h8300/h8300.c (output_logical_op): Replace byte/word
17164 extraction of det with b0, b1, w0, w2, etc.
17165 (compute_logical_op_length): Likewise.
17166 (compute_logical_op_cc): Likewise.
17167
17168 2003-01-08 Kazu Hirata <kazu@cs.umass.edu>
17169
17170 * config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
17171 HIGH on all variants.
17172
17173 2003-01-08 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
17174
17175 * Makefile.in (PARTITION_H): New.
17176 (BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
17177 * basic-block.h: Include hard-reg-set.h.
17178
17179 2003-01-08 Richard Earnshaw <rearnsha@arm.com>
17180
17181 * arm.h (ENABLE_XF_PATTERNS): Delete.
17182 * arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
17183 (sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
17184 (extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
17185 (cmpxf_trap): Delete.
17186 (movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
17187
17188 2003-01-08 Jan Hubicka <jh@suse.cz>
17189
17190 * i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
17191 (addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
17192 (add??cc): New expanders.
17193 * i386.c (expand_int_addcc): New function.
17194 * i386-protos.h (expand_int_addcc): Declare.
17195
17196 * alias.c (memory_modified_1): New static function.
17197 (memory_modified): New static varaible.
17198 (memory_modified_in_insn_p): New global function.
17199 * rtl.h (memory_modified_in_insn_p): Declare.
17200 * rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
17201 references.
17202
17203 * expr.h (emit_conditional_add): Declare.
17204
17205 2003-01-07 Janis Johnson <janis187@us.ibm.com>
17206
17207 PR other/8947
17208 * doc/invoke.texi (-malign-double): Explain that the option breaks
17209 binary compatibility.
17210
17211 2003-01-08 Andreas Schwab <schwab@suse.de>
17212
17213 * config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
17214 should come from the generic *-*-linux* entry.
17215
17216 2003-01-07 Jan Hubicka <jh@suse.cz>
17217
17218 * cselib.c (cselib_current_insn_in_libcall): New static variable.
17219 (new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
17220 we are inside libcall.
17221 * cselib.h (elt_loc_list): Add in_libcall.
17222 * gcse.c (do_local_cprop): Do not copy propagate using insns
17223 in libcalls.
17224
17225 2003-01-07 David Edelsohn <edelsohn@gnu.org>
17226
17227 * doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
17228 not normally affect to issue rate.
17229
17230 2003-01-07 Jan Hubicka <jh@suse.cz>
17231
17232 * genopinit.c (optabs): Add addc_optab.
17233 * ifcvt.c (noce_try_store_flag): Rename to ...
17234 (noce_try_addcc): ... this one; handle generic conditional increment.
17235 (noce_process_if_block): Update noce_try_addcc call.
17236 * optabs.c (emit_conditional_add): New.
17237 (init_obtabs): Initialize addc_optab.
17238 * optabs.h (optab_index): Add OTI_addcc.
17239 (addcc_optab): New macro.
17240 * md.texi: Document addMcc
17241
17242 PR target/8322
17243 * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
17244 * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
17245 * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
17246
17247 * reload1.c (delete_output_reload): Avoid repeated attempts
17248 to delete insn.
17249
17250 2003-01-07 Andreas Schwab <schwab@suse.de>
17251
17252 * configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
17253 Move --enable-initfini-array check ...
17254 * aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here. Define
17255 HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
17256 Don't AC_SUBST gcc_cv_initfinit_array. Use AC_TRY_RUN.
17257 * configure: Rebuild.
17258
17259 2003-01-07 Richard Henderson <rth@redhat.com>
17260
17261 * alias.c (find_base_value): Only use new_reg_base_value shortcut
17262 if the register is set once.
17263
17264 2003-01-07 Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
17265
17266 * config/i386/i386.c (ix86_init_mmx_sse_builtins):
17267 __builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
17268 * config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
17269
17270 2003-01-07 Benjamin Kosnik <bkoz@redhat.com>
17271 Sunil Davasam <sunil.k.davasam@intel.com>
17272
17273 PR libstdc++/9076
17274 * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
17275 DW_CFA_same_value, read next and ignore.
17276
17277 2003-01-07 Richard Henderson <rth@redhat.com>
17278
17279 * cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
17280
17281 2003-01-07 Daniel Berlin <dberlin@dberlin.org>
17282
17283 * cfg.c: Include alloc-pool.h
17284 (edge_pool): New pool.
17285 (bb_pool): New pool.
17286 (first_deleted_edge): Remove.
17287 (first_deleted_block): Remove.
17288 (init_flow): Alloc/free the pools.
17289 (free_edge): Use pools.
17290 (alloc_block): Ditto.
17291 (expunge_block): Ditto.
17292 (cached_make_edge): Ditto.
17293
17294 * Makefile.in (cfg.o): Add alloc-pool.h dependency.
17295
17296 2003-01-07 Daniel Berlin <dberlin@dberlin.org>
17297
17298 * et-forest.c: Include alloc-pool.h.
17299 (struct et_forest): Add node_pool and occur_pool.
17300 (et_forest_create): Create the new pools.
17301 (et_forest_delete): Delete them.
17302 (et_forest_add_node): Allocate and free using pools.
17303 (et_forest_add_edge): Ditto.
17304 (et_forest_remove_node): Ditto.
17305 (et_forest_remove_edge): Ditto.
17306
17307 * Makefile.in (et-forest.o): Add alloc-pool.h dependency.
17308
17309 2003-01-07 Kazu Hirata <kazu@cs.umass.edu>
17310
17311 * config/h8300/h8300.c (output_logical_op): Simplify and
17312 optimize the handling of SImode.
17313 * config/h8300/h8300.c (compute_logical_op_length): Update
17314 accordingly.
17315 * config/h8300/h8300.c (compute_logical_op_cc): Likewise.
17316
17317 2003-01-07 Richard Sandiford <rsandifo@redhat.com>
17318
17319 * config/mips/mips.c (mips_va_arg): In the EABI code, apply the
17320 big-endian correction to indirect arguments too.
17321
17322 2003-01-06 Aldy Hernandez <aldyh@redhat.com>
17323
17324 Segher Boessenkool <segher@koffie.nl>
17325
17326 * config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
17327 (alt_reg_names): Ditto, fix formatting.
17328 * config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
17329
17330 2003-01-06 Kazu Hirata <kazu@cs.umass.edu>
17331
17332 * config/h8300/h8300.c (final_prescan_insn): Constify uid.
17333 (output_logical_op): Constify intval and det.
17334 (compute_logical_length): Likewise.
17335 (compute_logical_cc): Likewise.
17336 (output_a_shift): Constify mask.
17337 (h8300_encode_label): Constify len.
17338
17339 2003-01-06 Kazu Hirata <kazu@cs.umass.edu>
17340
17341 * config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
17342 (h8300_expand_epilogue): Likewise.
17343
17344 2003-01-06 Aldy Hernandez <aldyh@redhat.com>
17345
17346 Segher Boessenkool <segher@koffie.nl>
17347
17348 * config/rs6000/altivec.md: Remove spaces from assembler
17349 instruction argument lists.
17350
17351 2003-01-07 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
17352
17353 * config/c4x/c4x.c (c4x_naked_function_p): Rename from
17354 c4x_assembler_function_p.
17355 (c4x_null_epilogue_p): Complement return value, all uses updated.
17356 (c4x_insert_attributes): Add naked.
17357 * config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
17358 * doc/extend.texi: Update C4x function attributes.
17359
17360 2003-01-06 Richard Henderson <rth@redhat.com>
17361
17362 * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
17363 properly when changing "local-ness".
17364 * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
17365
17366 2003-01-06 Dale Johannesen <dalej@apple.com>
17367
17368 * config/darwin-protos.h: Add prototypes for new section functions.
17369
17370 2003-01-06 Chris Demetriou <cgd@broadcom.com>
17371
17372 * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
17373 to EABI.
17374
17375 2003-01-06 Zack Weinberg <zack@codesourcery.com>
17376
17377 * hwint.h: If the current compiler has no 64-bit type at all,
17378 make HOST_WIDEST_INT 32 bits.
17379
17380 2003-01-06 Eric Christopher <echristo@redhat.com>
17381
17382 * config/mips/mips.md (movdf_internal2): Fix constraints.
17383
17384 2003-01-06 Kazu Hirata <kazu@cs.umass.edu>
17385
17386 * config/h8300/h8300.md (*twoshifts_l16_r1): New.
17387
17388 2003-01-06 Richard Sandiford <rsandifo@redhat.com>
17389
17390 * config/mips/mips.md (leadi): Use dla rather than la.
17391
17392 2003-01-06 Svein E. Seldal <Svein.Seldal@solidas.com>
17393
17394 * config/c4x/c4x.h: Updated specs for new gas format. Fixed bug
17395 in C33_FLAG. Added proper C33 support in ASM_FILE_START macro.
17396
17397 2003-01-06 Herman A.J. ten Brugge <hermantenbrugge@home.nl>
17398
17399 * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
17400 redefinition.
17401
17402 2003-01-05 Kazu Hirata <kazu@cs.umass.edu>
17403
17404 * config/h8300/h8300.md (*extzv_8_23): New.
17405
17406 2003-01-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
17407
17408 * pa64-hpux.h (JCR_SECTION_NAME): Define.
17409 (PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
17410 USE_EH_FRAME_REGISTRY when defining.
17411
17412 2003-01-05 Kazu Hirata <kazu@cs.umass.edu>
17413
17414 * config/h8300/h8300.c (output_a_shift): Do not output a
17415 variable shift.
17416 * config/h8300/h8300.md (two splitters): New.
17417
17418 2003-01-05 Richard Sandiford <rsandifo@redhat.com>
17419
17420 * config/mips/mips.md: Disable the movstrsi define_split.
17421
17422 2003-01-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17423
17424 * alloc-pool.c: Don't include "libiberty.h".
17425 * config/sparc/gmon-sol2.c: Include <fcntl.h>.
17426 * convert.c (convert_to_real): Hide unused variable.
17427
17428 2003-01-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17429
17430 * Makefile.in (gtyp-gen.h): Const-ify.
17431 * gcov-dump.c (tag_table): Likewise.
17432
17433 2003-01-04 Bruce Korb <bkorb@gnu.org>
17434
17435 * fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
17436 of *both* the file name and the fix name.
17437
17438 2003-01-04 John David Anglin <dave.anglin@nrc.ca>
17439
17440 * config.gcc (hppa*64*-*-hpux11*): Define extra_parts. Don't use
17441 collect2.
17442 * pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
17443 (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
17444 * pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
17445 GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
17446 GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
17447 (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
17448 elfos.h.
17449 (EH_FRAME_IN_DATA_SECTION): Delete define.
17450 (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
17451 (STARTFILE_SPEC): Use crtbegin.o.
17452 (ENDFILE_SPEC): Use crtend.o.
17453 (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
17454 SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
17455 PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
17456 DTOR_LIST_BEGIN): Define.
17457 * pa.c (TARGET_ASM_CONSTRUCTOR): Define.
17458 (pa_asm_out_constructor, pa_asm_out_destructor): New functions.
17459 * som.h (SUPPORTS_INIT_PRIORITY): Delete define.
17460
17461 2002-12-31 Larin Hennessy <larin@science.oregonstate.edu>
17462
17463 * fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
17464 * fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
17465 m88k-*-sysv3*, Sony NewsOS. Remove references to i860.
17466 Cleanup handling of replacement text.
17467 * fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
17468
17469 2003-01-04 Bruce Korb <bkorb@gnu.org>
17470
17471 * fixinc/tests/base/math.h: removed obsolete results
17472 * fixinc/tests/base/stdlib.h: ditto
17473 * fixinc/tests/base/sys/param.h: ditto
17474 * fixinc/tests/base/sys/stat.h: ditto
17475 * fixinc/tests/base/time.h: ditto
17476 * fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
17477 * fixinc/tests/base/sys/byteorder.h: ditto
17478 * fixinc/inclhack.def: Remove superfluous backslashes
17479
17480 2003-01-04 Kazu Hirata <kazu@cs.umass.edu>
17481
17482 * config/h8300/h8300-protos.h: Add prototypes for
17483 the new functions defined below.
17484 * config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
17485 define.
17486 (dosize): Emit RTL instead of assembly code.
17487 (push): Likewise.
17488 (pop): Likewise.
17489 (h8300_output_function_prologue): Remove.
17490 (h8300_expand_prologue): New.
17491 (h8300_expand_epilogue): New.
17492 (h8300_output_function_epilogue): Do only the reset of
17493 pragma_saveall.
17494 * config/h8300/h8300.md (push_h8300): New.
17495 (push_h8300hs): Likewise.
17496 (pop_h8300): Likewise.
17497 (pop_h8300hs): Likewise.
17498 (*stm_h8300s_2): Change the name to stm_h8300s_2.
17499 (*stm_h8300s_3): Change the name to stm_h8300s_3.
17500 (*stm_h8300s_4): Change the name to stm_h8300s_4.
17501 (*ldm_h8300s_2): New.
17502 (*ldm_h8300s_3): Likewise.
17503 (*ldm_h8300s_4): Likewise.
17504 (return): Likewise.
17505 (*return_1): Likewise.
17506 (prologue): Likewise.
17507 (epilogue): Likewise.
17508 (monitor_prologue): Likewise.
17509
17510 2003-01-03 Dale Johannesen <dalej@apple.com>
17511
17512 * config/darwin.h: (EXTRA_SECTIONS): Add machopic_symbol_stub1,
17513 machopic_picsymbol_stub1.
17514 (EXTRA_SECTION_FUNCTIONS): Ditto.
17515 * rs6000/rs6000.c: Update copyright.
17516 (machopic_output_stub): Use them. Remove an insn from stub code.
17517
17518 2003-01-02 Jason Merrill <jason@redhat.com>
17519
17520 * fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
17521
17522 * integrate.c (copy_decl_for_inlining): Don't clear the rtl for
17523 static/external decls.
17524
17525 * c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
17526 outermost scope.
17527 * c-decl.c (c_make_fname_decl): Push the decls there, too.
17528
17529 2003-01-03 Kazu Hirata <kazu@cs.umass.edu>
17530
17531 * config/h8300/h8300-protos.h: Add a prototype for
17532 h8300_current_function_interrupt_function_p.
17533 * config/h8300/h8300.c (interrupt_handler): Remove.
17534 (os_task): Likewise.
17535 (monitor): Likewise.
17536 (pragma_interrupt): New.
17537 (WORD_REG_USED): Use
17538 h8300_current_function_interrupt_function_p.
17539 (dosize): Likewise.
17540 (h8300_output_function_prologue): Likewise.
17541 Do not set interrupt_handler, os_task, monitor.
17542 (h8300_output_function_prologue): Use
17543 h8300_current_function_interrupt_function_p.
17544 Do not set interrupt_handler, os_task, monitor.
17545 (h8300_current_function_interrupt_function_p): New.
17546 (h8300_pr_interrupt): Set pragma_interrupt.
17547 (h8300_insert_attributes): Reset pragma_interrupt.
17548
17549 2003-01-03 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
17550
17551 * doc/install.texi (Configuration): Fix markup for reference to
17552 gcc/config.gcc.
17553
17554 2003-01-02 Kazu Hirata <kazu@cs.umass.edu>
17555
17556 * config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
17557 (*iorhi3_two_qi): Likewise.
17558 (*iorsi3_zexthi): Likewise.
17559 (*xorhi3_zextqi): Likewise.
17560 (*xorsi3_zexthi): Likewise.
17561 (*xorsi3_zextqi): Likewise.
17562
17563 2003-01-02 Kazu Hirata <kazu@cs.umass.edu>
17564
17565 * config/h8300/h8300.c (stack_pointer_operand): New.
17566 (const_int_gt_2_operand): Likewise.
17567 (const_int_ge_8_operand): Likewise.
17568 * config/h8300/h8300.md (a splitter): Likewise.
17569 (a peephole2): Likewise.
17570 * config/h8300/h8300-protos.h: Add prototypes for the new
17571 functions above.
17572
17573 2003-01-02 Steven Bosscher <s.bosscher@student.tudelft.nl>
17574
17575 * objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
17576 objc/objc-act.h: Fix copyright years.
17577
17578 2003-01-02 Steven Bosscher <s.bosscher@student.tudelft.nl>
17579
17580 * doc/passes.texi: Fix documentation for -fssa-ccp
17581
17582 2003-01-02 Neil Booth <neil@daikokuya.co.uk>
17583
17584 * gccbug.in: Update for new categories.
17585
17586 2003-01-01 Kazu Hirata <kazu@cs.umass.edu>
17587
17588 * config/h8300/h8300.md: Reorder some patterns.
17589
17590 2003-01-01 Kazu Hirata <kazu@cs.umass.edu>
17591
17592 * config/h8300/h8300.c (output_logical_op): Fix a warning.
17593
17594 2003-01-01 Neil Booth <neil@daikokuya.co.uk>
17595
17596 * config/darwin-protos.h, config/c4x/c4x-protos.h,
17597 config/cris/cris-protos.h, config/i370/i370-protos.h,
17598 config/i960/i960-protos.h, config/ia64/ia64-protos.h,
17599 config/v850/v850-protos.h: Use struct, and don't conditionally
17600 compile on GCC_C_PRAGMA_H.
17601
17602 2003-01-01 Kazu Hirata <kazu@cs.umass.edu>
17603
17604 * config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
17605 * config/h8300/h8300-protos.h: Likewise.
17606 * config/sh/sh-protos.h: Likewise.
17607
17608 2003-01-01 Kazu Hirata <kazu@cs.umass.edu>
17609
17610 * config/arm/arm-protos.h: Use struct cpp_reader instead of
17611 cpp_reader.
17612 * config/h8300/h8300-protos.h: Likewise.
17613 * config/sh/sh-protos.h: Likewise.
17614
17615 2003-01-01 Neil Booth <neil@daikokuya.co.uk>
17616
17617 * config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
17618 arm_pr_long_calls_off): Use struct.
17619 * config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
17620 : Similarly.
17621 Don't include cpplib.h.
17622 * config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
17623 sh_pr_nosave_low_regs): Similarly.
17624
17625 2003-01-01 Kazu Hirata <kazu@cs.umass.edu>
17626
17627 * config/h8300/h8300.c: Include cpplib.h.
17628
17629 2003-01-01 Steven Bosscher <s.bosscher@student.tudelft.nl>
17630
17631 * objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
17632 objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
17633 objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
17634 "GCC" in the copyright header.
17635
17636 2003-01-01 Neil Booth <neil@daikokuya.co.uk>
17637
17638 * c-pragma.c (c_register_pragma): New.
17639 (init_pragma): Use it.
17640 * c-pragma.h (cpp_register_pragma): Don't declare.
17641 (c_register_pragma): New.
17642 * cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
17643 * config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
17644 * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
17645 * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
17646 * config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
17647 * config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
17648 * config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
17649 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
17650 * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
17651 * config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
17652 * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
17653 * doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
17654
17655 See ChangeLog.8 for earlier changes.
This page took 0.693969 seconds and 6 git commands to generate.