4ae02b3849e38f09f55be11d64ca8275e3e8556c
[gcc.git] / gcc / ChangeLog
1 2003-06-07 Magnus Kreth <magnus.kreth@gmx.de>
2 Thibaud Gaillard <thibaud.gaillard@nto.atmel.com>
3
4 * Makefile.in (install-common): Remove GCOV_INSTALL_NAME instead of
5 gcov.
6
7 2003-06-07 Kelley Cook <kelleycook@wideopenwest.com>
8
9 * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Remove quotes in
10 section names.
11 * configure: Regenerate.
12
13 2003-06-07 Alan Modra <amodra@bigpond.net.au>
14
15 * config/rs6000/linux64.h (CRT_CALL_STATIC_FUNCTION): Define.
16
17 2003-06-06 James E Wilson <wilson@tuliptree.org>
18
19 PR inline-asm/10890
20 * reload1.c (merge_assigned_reloads): Abort only if two reloads have
21 different in fields.
22
23 2003-06-06 Nathanael Nerode <neroden@gcc.gnu.org>
24
25 * configure.in: Make $(target_subdir) correspond with top level usage.
26 * Makefile.in: Likewise.
27 * configure: Regenerate.
28
29 2003-06-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
30
31 * pa.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_COMMON,
32 ASM_OUTPUT_ALIGNED_LOCAL): Cast `SIZE' and `ALIGNED' parameters to
33 unsigned HOST_WIDE_INT.
34 * pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMOM, ASM_OUTPUT_ALIGNED_LOCAL):
35 Likewise.
36 * pa64-hpux.h (ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL):
37 Likewise.
38
39 2003-06-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
40
41 * doc/install.texi (Prerequisites): New section documenting
42 tools and packages necessary prior to building and/or
43 modifying GCC.
44 * doc/install.texi2html: Also generate prerequisites.html.
45
46 2003-06-06 Richard Earnshaw <rearnsha@arm.com>
47
48 PR target/11052
49 * ifcvt.c (noce_process_if_block): Fail if the destination has
50 side-effects.
51
52 2003-06-06 Jason Merrill <jason@redhat.com>
53
54 * stmt.c (resolve_asm_operand_names): Rename from
55 resolve_operand_names. No longer static. Avoid needless copying.
56 Don't build array of constraints.
57 (expand_asm_operands): Build it here.
58 * tree.h: Declare resolve_asm_operand_names.
59
60 * stmt.c (expand_decl): Put artificial vars into registers even
61 when not optimizing, and don't mark the regs as user vars.
62
63 2003-06-06 J"orn Rennecke <joern.rennecke@superh.com>
64
65 * sh.h (FUNCTION_ARG_1): Consistently use NEW_MODE for the mode
66 of the generated register.
67
68 2003-06-06 Daniel Jacobowitz <drow@mvista.com>
69
70 * config.gcc: Add a missing sparc64 case.
71
72 2003-06-06 Jakub Jelinek <jakub@redhat.com>
73
74 * mklibgcc.in: Propagate .note.GNU-stack section if needed into
75 the .hidden assembly stubs.
76
77 2003-06-06 H.J. Lu <hongjiu.lu@intel.com>
78
79 * config.gcc (extra_headers): Add emmintrin.h for i[34567]86-*-*
80 and x86_64-*-*.
81
82 * config/i386/mmintrin.h: Update version and add alternate
83 intrinsic names.
84 * config/i386/xmmintrin.h: Likewise.
85
86 * config/i386/xmmintrin.h: Include <emmintrin.h>. Move SSE2
87 intrinsics to ...
88 * config/i386/emmintrin.h: Here. New file.
89
90 2003-06-06 Roger Sayle <roger@eyesopen.com>
91
92 * fold-const.c (fold <ABS_EXPR>): Re-fold the result of folding
93 fabs(-x) into fabs(x). Use tree_expr_nonnegative_p to determine
94 when the ABS_EXPR (fabs or abs) is not required.
95 (tree_expr_nonnegative_p): Move the logic that sqrt and exp are
96 always nonnegative from fold to here. Additionally, cabs and fabs
97 are always non-negative, and pow and atan are non-negative if
98 their first argument is non-negative.
99
100 * builtins.c (fold_builtin_cabs): New function to fold cabs{,f,l}.
101 Evaluate cabs of a constant at compile-time. Convert cabs of a
102 non-complex argument into fabs. Convert cabs(z) into
103 sqrt(z.r*z.r + z.i*z.i) at the tree-level with -ffast-math or
104 -funsafe-math-optimizations or -ffast-math.
105 (fold_builtin): Convert BUILT_IN_FABS{,F,L} into an ABS_EXPR.
106 Fold BUILT_IN_CABS{,F,L} using fold_builtin_cabs.
107
108 Thu Jun 5 20:51:09 CEST 2003 Jan Hubicka <jh@suse.cz>
109
110 * sourcebuild.texi (Front End Directory): Document new hooks.
111
112 Fri Jun 6 11:02:35 CEST 2003 Jan Hubicka <jh@suse.cz>
113
114 * function.c (FLOOR_ROUND, CEIL_ROUND): Fix.
115 * i386.md (gen_pro_epilogue_adjust_stack): Deal with gigantic
116 stack frames.
117 (pro_epilogue_adjust_stack_rex64_2): New pattern
118
119 Fri Jun 6 11:03:14 CEST 2003 Jan Hubicka <jh@suse.cz>
120 Pop Sebastian
121 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
122
123 * cfghooks.h, cfghooks.c: New files.
124 * Makefile.in (BASIC_BLOCK_H): Depends on cfghooks.h.
125 (OBJS): Add cfghooks.o.
126 (cfghooks.o): New rule.
127 * basic-block.h (split_edge): Rename to rtl_split_edge.
128 (verify_flow_info): Rename to rtl_verify_flow_info.
129 (cfghooks.h): Included here.
130 * cfgrtl.c (split_edge): Renamed rtl_split_edge.
131 (verify_flow_info): Renamed rtl_verify_flow_info.
132 * toplev.c (rest_of_compilation): Call rtl_register_cfg_hooks.
133
134 * basic-block.h (split_block, split_edge, flow_delete_block,
135 redirect_edge_and_branch, redirect_edge_and_branch_force): Delete.
136 (flow_delete_block_noexpunge): Return void.
137 * cfg.c (verify_flow_info): New function.
138 * cfgcleanup.c (try_simplify_condjump, outgoing_edges_match,
139 try_crossjump_to_edge, try_optimize_cfg, delete_unreachable_blocks):
140 Use delete_block.
141 * cfglayout.c (function_footer): Rename to...
142 (cfg_layout_function_footer): ... this variable
143 (unlink_insn_chain): Make global.
144 (fixup_reorder_chain, record_effective_endpoints): Update.
145 (cleanup_unconditional_jumps): Use delete_block.
146 (cfg_layout_redirect_edge, cfg_layout_split_block): Move to cfgrtl.c
147 (cfg_layout_duplicate_bb): Use redirect_edge_and_branch_force.
148 (cfg_layout_initialize, cfg_layout_finalize): Update hooks.
149 * cfglayout.h (cfg_layout_redirect_edge, cfg_layout_split_block): Delete.
150 (cfg_layout_function_footer): Declare.
151 * cfgloopmanip (split_loop_bb): Do not update RBI.
152 (remove_bbs): Use delete_block.
153 (loop_reidrect_edge, loop_delete_branch_edge): Use
154 redirect_edge_and_branch.
155 (create_preheader): Use split_block and redirect_edge_and_branch_force.
156 (split_edge_with): Likewise.
157 * cfgrtl.c: Include cfglayout.h
158 (split_edge): Rename to ...
159 (rtl_split_edge) ... this one; make local.
160 (redirect_edge_and_branch): Rename to ...
161 (rtl_redirect_edge_and_branch) ... this one; make local.
162 (redirect_edge_and_branch_force): Rename to ...
163 (rtl_redirect_edge_and_branch_force) ... this one; make local.
164 (cfg_layout_delete_block, cfg_layout_delete_edge_and_branch_force): New.
165 (cfg_layout_redirect_edge_and_branch, cfg_layout_split_block): Move here from
166 cfglayout.c; update to directly call RTL counterparts.
167 (rtl_cfg_hooks, cfg_layout_rtl_cfg_hooks): New functions.
168 * ifcvt.c (find_cond_trap): Use delete_block.
169 (find_if_case_1): Use delete_block.
170 (find_if_case_2): Use delete_block.
171 * rtl.h (unlink_insn_chain): Declare.
172 * toplev.c (rtl_reigster_cfg_hooks): New.
173
174 2003-06-05 Richard Henderson <rth@redhat.com>
175
176 * recog.c (peephole2_optimize): Revert last change.
177
178 2003-06-05 Richard Henderson <rth@redhat.com>
179
180 * recog.c (peephole2_optimize): Don't split block unless
181 can_throw_internal.
182
183 2003-06-06 Kazu Hirata <kazu@cs.umass.edu>
184
185 * config/h8300/h8300.c (get_shift_alg): Correct the syntax of rotxl.
186 * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): Likewise.
187
188 2003-06-05 Kelley Cook <kelleycook@wideopenwest.com>
189
190 PR optimization/4490
191 * config/i386/i386.md: Don't use XFMode if TARGET_128BIT_LONG_DOUBLE.
192 * doc/invoke.texi (m96bit-long-double, m128bit-long-double): Reword
193 documentation to accurately reflect what these options do.
194
195 2003-06-06 Kaz Kojima <kkojima@gcc.gnu.org>
196
197 * config/sh/linux.h (STARTFILE_SPEC): Handle -pie. Simplify.
198 (ENDFILE_SPEC): Redefine to handle -pie.
199
200 2003-06-05 Phil Edwards <phil@jaj.com>
201
202 * Makefile.in (qmtest-g++): Use target_alias, not target.
203
204 2003-06-05 Per Bothner <pbothner@apple.com>
205
206 * toplev.c (push_srcloc): Simplify behavior to save current location
207 and set current location to parameters.
208 (pop_srcloc): Simplify semantics.
209 (lang_dependent_init): Remove now-useless initial push_srcloc.
210
211 2003-05-06 Richard Henderson <rth@redhat.com>
212
213 * dwarf2out.c (loc_descriptor_from_tree): Return 0 for
214 language-specific tree codes.
215
216 2003-06-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
217
218 PR middle-end/9986
219 * pa.c (pa_init_builtins): Also set implicit_built_in_decls for
220 BUILT_IN_FPUTC_UNLOCKED to NULL_TREE.
221
222 Thu Jun 5 18:32:46 CEST 2003 Jan Hubicka <jh@suse.cz>
223
224 * install.tex: Document profiledbootstrap.
225
226 * configure.in: Add support for lang.stageprofile and
227 lang.stagefeedback
228 * Makefile.in (clean, distclean): Kill new stages
229 (POSTSTAGE1_FLAGS_TO_PASS): Break from ...
230 (STAGE2_FLAGS_TO_PASS): ... this one.
231 (STAGEPROFILE_FLAGS_TO_PASS, STAGEFEEDBACK_FLAGS_TO_PASS): New.
232 (stage[2-4]_build): Add POSTSTAGE1_FLAGS_TO_PASS.
233 (stageprofile_build, stageprofile_copy, stagefeedback_build,
234 stagefeedback_copy): New.
235 (restageprofile, restagefeedback, stageprofile-start,
236 stageprofile, stagefeedback-start): Likewise.
237
238 2003-06-05 David Miller <davem@redhat.com>
239 Richard Henderson <rth@redhat.com>
240
241 * optabs.c (HAVE_conditional_trap): Provide default.
242 (gen_conditional_trap): Likewise.
243 (init_optabs): Merge init_traps.
244 (gen_cond_trap): Use prepare_operand. Restructure and avoid ifdef.
245
246 Thu Jun 5 14:59:44 CEST 2003 Jan Hubicka <jh@suse.cz>
247
248 * combine.c (simplify_if_then_else): (IF_THEN_ELSE (NE REG 0) (0) (8))
249 is REG for nonzero_bits (REG) == 8.
250
251 Thu Jun 5 13:23:51 CEST 2003 Jan Hubicka <jh@suse.cz>
252
253 * i386.md (align): Fix warning; clarify what to do when no p2align
254 is available.
255
256 2003-06-05 Nick Clifton <nickc@redhat.com>
257
258 * config.gcc (m32r-elf): Revert previous delta.
259 * config/m32r/t-m32r (crtinit.o): Fix rule to work with
260 multilibs. Remove m32rx specific version.
261 (crtfini.o): Likewise.
262 (EXTRA_MULTILIB_PARTS): Define.
263
264 2003-06-05 Eric Botcazou <ebotcazou@libertysurf.fr>
265
266 * doc/md.texi (Machine Constraints): Correct the meaning of
267 constraints related to floating-point registers on SPARC.
268
269 2003-06-05 Eric Botcazou <ebotcazou@libertysurf.fr>
270 Paolo Bonzini <bonzini@gnu.org>
271
272 PR target/10663
273 * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Redirect
274 assembler and linker output to /dev/null.
275 Use a 'sed' construct instead of 'grep -A1'.
276 * configure: Regenerate.
277
278 2003-06-04 Richard Henderson <rth@redhat.com>
279
280 * config/i386/i386.c (struct ix86_address): Add seg.
281 (no_seg_address_operand): New.
282 (ix86_decompose_address): Restructure PLUS loop. Accept one
283 UNSPEC_TP if TARGET_TLS_DIRECT_SEG_REFS. Adjust ESP swap test
284 to test for a regnum, not stack_pointer_rtx.
285 (ix86_address_cost): Reduce cost if non-default segment.
286 (legitimate_address_p): Remove UNSPEC_TP check.
287 (get_thread_pointer): Add to_reg argument. Don't represent
288 the thread pointer as a memory load.
289 (legitimize_tls_address): Split out of ...
290 (legitimize_address): ... here.
291 (print_operand_address): Handle parts.seg.
292 (ix86_expand_move): Use legitimize_tls_address.
293 (ix86_rtx_costs): Handle UNSPEC_TP.
294 * config/i386/i386.h (MASK_TLS_DIRECT_SEG_REFS): New.
295 (TARGET_TLS_DIRECT_SEG_REFS): New.
296 (TARGET_SWITCHES): Add tls-direct-seg-refs.
297 (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): Default.
298 (PREDICATE_CODES): Add no_seg_address_operand.
299 * config/i386/i386.md (lea_1): Use it.
300 (lea_1_rex64, lea_1_zext, lea_2_rex64): Likewise.
301 (load_tp_si, add_tp_si, load_tp_di, add_tp_di): New.
302 * config/i386/linux.h (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): New.
303 * config/i386/linux64.h (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): New.
304 * doc/invoke.texi: Add -mtls-direct-seg-refs.
305
306 2003-06-04 Mark Mitchell <mark@codesourcery.com>
307
308 * Makefile.in (QMTESTRUNFLAGS): Set for DejaGNU emulation.
309 (QMTEST_GPP_TESTS): Use "g++" by default.
310 (stamp-qmtest): Tweak database creation.
311 (QMTEST_DIR/context): Update context file format.
312 (qmtest-g++): Tweak command-line.
313
314 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
315
316 * Makefile.in (varasm.o): Don't set -Wno-error.
317 * rs6000/t-rs6000 (varasm.o, out_object_file): Don't clear.
318
319 2003-06-04 Zack Weinberg <zack@codesourcery.com>
320
321 PR bootstrap/3163
322 * aclocal.m4 (AC_FUNC_MMAP_ANYWHERE, AC_FUNC_MMAP_FILE): Delete.
323 (gcc_AC_FUNC_MMAP_BLACKLIST): New.
324 * configure.in: Check for sys/mman.h and mmap in AC_CHECK_HEADERS
325 and AC_CHECK_FUNCS lists, respectively. Use
326 gcc_AC_FUNC_MMAP_BLACKLIST, not AC_FUNC_MMAP_ANYWHERE nor
327 AC_FUNC_MMAP_FILE.
328 * configure, config.in: Regenerate.
329
330 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
331
332 * arm/aout.h (ASM_OUTPUT_SKIP): Fix cast for format specifier warning.
333 * arm.c (arm_output_function_prologue): Fix format specifiers.
334 * arm.h (ARM_PRINT_OPERAND_ADDRESS): Likewise.
335 * m68k.c (m68k_output_mi_thunk): Use more readable %wd instead of
336 HOST_WIDE_INT_PRINT_DEC.
337 * vax.c (vax_output_function_prologue): Fix format specifiers.
338
339 2003-06-04 Richard Henderson <rth@redhat.com>
340
341 * cse.c (find_best_addr): Consider binary operators even if second
342 argument is not CONST_INT.
343
344 2003-06-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
345
346 * doc/invoke.texi (max-cse-path-length): Document.
347
348 2003-06-04 Richard Henderson <rth@redhat.com>
349
350 * config/i386/i386.md (align): Use ASM_OUTPUT_*ALIGN macros.
351
352 2003-06-04 Andrew Pinski <pinskia@physics.uc.edu>
353
354 * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME):
355 Remove semi-colon at the end of the expression.
356
357 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
358
359 * i370.c (mvs_function_name_length): Fix signed/unsigned warnings.
360 * i370.h (mvs_function_name_length): Likewise.
361 * i960.h (CONSTANT_ALIGNMENT): Likewise.
362 * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
363 * pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
364 * pa.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
365 * rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Delete unused
366 variable.
367
368 2003-06-04 Daniel Jacobowitz <drow@mvista.com>
369
370 * config.gcc: Reorganize --with-cpu logic. Set
371 configure_default_options according to the default CPU, --with-cpu,
372 --with-arch, --with-tune, --with-schedule, --with-abi, and
373 --with-float. Check for legal values of various options.
374 * configure.in: Define configure_default_options in configargs.h.
375 * configure: Regenerated.
376 * config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
377 (TARGET_DEFAULT_FLOAT_P): New macros.
378 * gcc.c (do_option_spec): New function.
379 (struct default_spec, option_default_specs): New.
380 (main): Call do_option_spec.
381 * config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
382 config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
383 config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.
384
385 * doc/install.texi: Update --with-cpu documentation. Mention
386 --with-arch, --with-schedule, --with-tune, --with-abi, and
387 --with-float.
388 * doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.
389
390 2003-06-04 Daniel Jacobowitz <drow@mvista.com>
391
392 * config.gcc: Only process --with-cpu logic in the third pass.
393
394 2003-06-04 Daniel Jacobowitz <drow@mvista.com>
395
396 * config.gcc: Reorganize --with-cpu section. Remove an
397 obsolete comment about the default CPU for x86-64. Fix
398 a typo for the ep9312. Update the list of supported PowerPC
399 CPUs. Support a limited set of new --with-cpu options
400 for i386.
401
402 2003-06-04 Aldy Hernandez <aldyh@redhat.com>
403
404 * config/rs6000/rs6000.c (rs6000_complex_function_value): Unpack
405 complex numbers <= 32 bits into two registers.
406
407 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
408
409 * alpha.c (print_operand_address): Fix format specifier warnings.
410 * alpha/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
411 * alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
412 * arm/aof.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
413 * arm/pe.h (ASM_OUTPUT_COMMON): Likewise.
414 * avr.h (ASM_OUTPUT_COMMON, ASM_GENERATE_INTERNAL_LABEL,
415 ASM_OUTPUT_SKIP): Likewise.
416 * c4x.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
417 * dsp16xx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
418 * h8300.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_COMMON):
419 Likewise.
420 * i370.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
421 * i386/cygming.h (ASM_OUTPUT_COMMON): Likewise.
422 * i386/darwin.h (ASM_OUTPUT_COMMON): Likewise.
423 * i960.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
424 * m68k/hp320.h (PRINT_OPERAND_ADDRESS): Likewise.
425 * mcore.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
426 * pdp11.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
427 * ptx4.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
428 * sparc/freebsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
429 * svr3.h (ASM_OUTPUT_COMMON): Likewise.
430
431 2003-06-04 J"orn Rennecke <joern.rennecke@superh.com>
432
433 * c-decl.c (c_init_decl_processing): Clear input_file_name
434 while building common nodes.
435 * dwarf2out.c (gen_compile_unit_die, dwarf2out_finish):
436 Don't add working directory for strings like <built-in> .
437
438 2003-06-04 David Edelsohn <edelsohn@gnu.org>
439
440 * doc/install.texi (*-ibm-aix*): Native as and ld required
441 to bootstrap on AIX 5L.
442
443 2003-06-04 Richard Henderson <rth@redhat.com>
444
445 * c-common.c (handle_cleanup_attribute): New.
446 (c_common_attributes): Add it.
447 * c-decl.c (finish_decl): Honor the cleanup attribute.
448 * doc/extend.texi (Variable Attributes): Document it.
449
450 * unwind-c.c: New file.
451 * Makefile.in (LIB2ADDEH): Add it.
452 * config/t-darwin, config/t-linux, config/t-linux-gnulibc1,
453 config/ia64/t-ia64: Likewise.
454
455 2003-06-04 Jakub Jelinek <jakub@redhat.com>
456
457 * function.c (trampolines_created): New variable.
458 (expand_function_end): Set it when doing INITIALIZE_TRAMPOLINE.
459 * function.h (trampolines_created): Add.
460 * config/s390/linux.h (ASM_FILE_END): Define.
461 * config/alpha/linux-elf.h (ASM_FILE_END): Define.
462 * config/m68k/linux.h (ASM_FILE_END): Define.
463 * config/rs6000/linux.h (ASM_FILE_END): Define.
464 * config/rs6000/linux64.h (ASM_FILE_END): Define.
465 * config/rs6000/ppc-asm.h: Add .note.GNU-stack on powerpc-linux.
466 * config/sparc/linux.h (ASM_FILE_END): Define.
467 * config/sparc/linux64.h (ASM_FILE_END): Define.
468 * config/i386/i386.c (ix86_asm_file_end): Use SUBTARGET_FILE_END.
469 * config/i386/linux.h (SUBTARGET_FILE_END): Define.
470 * config/i386/linux64.h (SUBTARGET_FILE_END): Define.
471
472 Wed Jun 4 18:39:33 CEST 2003 Jan Hubicka <jh@suse.cz>
473
474 * i386.c (min_insn_size, k8_avoid_jump_misspredicts): New functions
475 (ix86_reorg): Use it.
476 * i386.md (align): New insn pattern.
477
478 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
479
480 * toplev.c (rest_of_type_compilation): Fix typo.
481
482 2003-06-04 Jakub Jelinek <jakub@redhat.com>
483 Alan Modra <amodra@bigpond.net.au>
484
485 * config/i386/linux.h (NO_PROFILE_COUNTERS): Define to 1.
486 * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
487 * config/i386/netbsd-elf.h (NO_PROFILE_COUNTERS): Likewise.
488 * config/xtensa/xtensa.h (NO_PROFILE_COUTNERS): Likewise.
489 * config/darwin.h (NO_PROFILE_COUNTERS): Likewise.
490 * final.c (NO_PROFILE_COUNTERS): Define to 0 if not defined.
491 (profile_function): Allow NO_PROFILE_COUNTERS to be non-constant.
492 * config/rs6000/rs6000.c (output_profile_hook): Likewise.
493
494 * configure.in (powerpc*-*, s390*-*): Set tls_as_opt.
495 Pass it to $gcc_cv_as.
496 * configure: Rebuilt.
497
498 * config/rs6000/rs6000.c (rs6000_abi_name): Remove initializer.
499 (print_operand): Allow TARGET_AIX to be non-constant.
500 (rs6000_aix_emit_builtin_unwind_init, rs6000_emit_eh_toc_restore):
501 Define unconditionally.
502 (rs6000_elf_declare_function_name): New function.
503 * config/rs6000/rs6000.md (eh_return): Allow TARGET_AIX to be
504 non-constant.
505 * config/rs6000/linux64.h [!RS6000_BI_ARCH] (TARGET_64BIT): Define
506 to 1.
507 (DEFAULT_ARCH64_P, RS6000_BI_ARCH_P): Define.
508 [IN_LIBGCC2] (TARGET_64BIT): Define based on whether __powerpc64__
509 is defined.
510 (TARGET_AIX): Define to 1 if TARGET_64BIT.
511 (PROCESSOR_DEFAULT): Remove.
512 (TARGET_RELOCATABLE, RS6000_ABI_NAME, INVALID_64BIT,
513 INVALID_32BIT, SUBSUBTARGET_OVERRIDE_OPTIONS): Define.
514 [RS6000_BI_ARCH] (OVERRIDE_OPTIONS, ASM_FILE_START): Define.
515 (ASM_DEFAULT_SPEC, ASM_SPEC, LINK_OS_LINUX_SPEC): Define for both
516 -m32 and -m64.
517 (MULTILIB_DEFAULTS): Define.
518 (SUBSUBTARGET_EXTRA_SPECS): Define.
519 (ASM_SPEC32, ASM_SPEC64, ASM_SPEC_COMMON): Define.
520 (TARGET_TOC): Define only if !RS6000_BI_ARCH.
521 (TARGET_NO_TOC): Remove.
522 [!RS6000_BI_ARCH] (TARGET_RELOCATABLE, TARGET_EABI,
523 TARGET_PROTOTYPE): Define to 0.
524 (NO_PROFILE_COUNTERS): Define to TARGET_64BIT.
525 (PROFILE_HOOK): Only call output_profile_hook if TARGET_64BIT.
526 (ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Adjust to work properly
527 if !TARGET_64BIT.
528 (USER_LABEL_PREFIX): Remove.
529 (JUMP_TABLES_IN_TEXT_SECTION): Define to TARGET_64BIT.
530 (SETUP_FRAME_ADDRESSES): Only call rs6000_aix_emit_builtin_unwind_init
531 if TARGET_64BIT.
532 (TARGET_OS_CPP_BUILTINS): Handle both -m32 and -m64.
533 (LINK_OS_LINUX_SPEC32, LINK_OS_LINUX_SPEC64): Define.
534 (STARTFILE_LINUX_SPEC, ENDFILE_LINUX_SPEC): Remove.
535 (TOC_SECTION_ASM_OP): Define depending on TARGET_64BIT.
536 (MINIMAL_TOC_SECTION_ASM_OP): Likewise.
537 (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE): Define depending on
538 TARGET_64BIT.
539 (RS6000_CALL_GLUE): Likewise.
540 (SAVE_FP_PREFIX, SAVE_FP_SUFFIX, RESTORE_FP_PREFIX,
541 RESTORE_FP_SUFFIX): Likewise.
542 (ASM_DECLARE_FUNCTION_NAME): Remove.
543 (ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_SOURCE_LINE,
544 DBX_OUTPUT_BRAC, DBX_OUTPUT_NFUN): Only output dot before function
545 name if TARGET_64BIT.
546 (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Handle both TARGET_64BIT and
547 !TARGET_64BIT.
548 (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Remove undefs.
549 (ASM_PREFERRED_EH_DATA_FORMAT): Take TARGET_64BIT into account.
550 (DRAFT_V4_STRUCT_RET): Define.
551 (SIGNAL_FRAMESIZE): New enum value.
552 (MD_FALLBACK_FRAME_STATE_FOR): Define.
553 * config/rs6000/default64.h: New file.
554 * config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -m32 and -m64
555 options.
556 (SUBTARGET_OVERRIDE_OPTIONS): If rs6000_abi_name is NULL, set it
557 to RS6000_ABI_NAME. Only disallow mixing of -fPIC with -mcall-aixdesc
558 if !TARGET_64BIT.
559 [!RS6000_BI_ARCH] (SUBSUBTARGET_OVERRIDE_OPTIONS): Define.
560 (ASM_DECLARE_FUNCTION_NAME): Use rs6000_elf_declare_function_name
561 function.
562 (TARGET_OS_SYSV_CPP_BUILTINS): Define.
563 (TARGET_OS_CPP_BUILTINS): Use it.
564 (CPP_SYSV_SPEC): Remove.
565 (CPP_SPEC): Remove cpp_sysv.
566 (SUBTARGET_EXTRA_SPECS): Remove cpp_sysv.
567 Add SUBSUBTARGET_EXTRA_SPECS.
568 (SUBSUBTARGET_EXTRA_SPECS): Define.
569 * config/rs6000/biarch64.h: New file.
570 * config/rs6000/rs6000-protos.h (rs6000_elf_declare_function_name):
571 New prototype.
572 * config/rs6000/x-linux64: New file.
573 * config/rs6000/t-linux64: Build -m64, -m32 and -m32 -msoft-float
574 multilibs.
575 * config/rs6000/eabi-ci.asm: Protect with #ifndef __powerpc64__.
576 * config/rs6000/eabi-cn.asm: Likewise.
577 * config/rs6000/tramp.asm: Likewise.
578 * config/rs6000/sol-ci.asm: Likewise.
579 * config/rs6000/sol-cn.asm: Likewise.
580 * config/rs6000/linux.h (TARGET_64BIT): Define to 0.
581 (TARGET_OS_CPP_BUILTINS): Use TARGET_OS_SYSV_CPP_BUILTINS.
582 * config/rs6000/ppc-asm.h: Move __powerpc64__ section before
583 _CALL_AIXDESC section.
584 * config.gcc (powerpc64-*-linux*): Configure a bi-arch compiler,
585 defaulting to -m64 unless --with-cpu= is one of the 32-bit CPUs
586 or default32.
587
588 2003-06-04 Daniel Jacobowitz <drow@mvista.com>
589
590 * config.gcc: Revert accidentally committed ARM changes.
591
592 2003-06-04 Roger Sayle <roger@eyesopen.com>
593
594 * builtins.c (dconstpi, dconste): New mathematical constants.
595 (init_builtin_dconsts): New function to initialize dconstpi
596 and dconste.
597 (fold_builtin): Optimize exp(1.0) = e. Evaluate exp(x) at
598 compile time with -ffast-math when x is an integer constant.
599 Optimize tan(0.0) = 0.0. Optimize atan(0.0) = 0.0,
600 atan(1.0) = pi/4 and tan(atan(x)) = x with -ffast-math.
601
602 2003-06-04 Roger Sayle <roger@eyesopen.com>
603
604 * calls.c (expand_call): Avoid calling pure or const functions
605 when the result is ignored (or void) and none of the arguments
606 are volatile. Move warning diagnostic earlier in function.
607
608 2003-06-04 Andreas Jaeger <aj@suse.de>
609
610 * system.h: Do not poison TDESC_SECTION_ASM_OP,
611 RDATA_SECTION_ASM_OP and SUBTARGET_PROLOGUE.
612
613 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
614
615 * final.c (asm_fprintf): Update comments, accept "-+ #0" flags,
616 optimize '%' case, handle %c, don't accept %p, %e, %f or %g,
617 handle %ll, optimize regular character case.
618
619 2003-06-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
620
621 * Makefile.in (cse.o): Add params.h dependency.
622 * cse.c: Include params.h.
623 (PATHLENGTH): Removed.
624 (struct cse_basic_block_data): Make path array dynamic.
625 (cse_end_of_basic_block): Use PARAM_MAX_CSE_PATH_LENGTH instead
626 of PATHLENGTH.
627 (cse_main, cse_basic_block): Allocate path array.
628 * params.def (PARAM_MAX_CSE_PATH_LENGTH): New.
629
630 Wed Jun 4 09:49:21 CEST 2003 Jan Hubicka <jh@suse.cz>
631
632 * i386.c (ix86_reorg): Replace the jump instead of adding nop.
633 * i386.md (UNSPEC_REP): New constant.
634 (return_internal_long): New pattern.
635
636 2003-06-04 Eric Botcazou <ebotcazou@libertysurf.fr>
637
638 PR optimization/11018
639 * config/sparc/sparc.c (sparc_v8plus_shift): Use which_alternative
640 consistently to decide whether the scratch register is really
641 required.
642
643 2003-06-04 Eric Botcazou <ebotcazou@libertysurf.fr>
644
645 PR optimization/10876
646 * config/sparc/sparc.h (CONST_OK_FOR_LETTER): Add
647 new 'O' constraint for constant 4096.
648 (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
649 * config/sparc/sparc.md (adddi3 expander): Canonicalize pattern.
650 Do not transform into MINUS insn for constant 4096.
651 (*adddi3_sp64 insn): Canonicalize pattern. Add new alternative
652 for constant 4096 as third operand.
653 (addsi3 expander): Remove.
654 (*addsi3 insn): Rename into 'addsi3'. Canonicalize pattern. Add
655 new alternative for constant 4096 as third operand.
656 (subdi3 expander): Do not transform into PLUS insn for constant 4096.
657 (*subdi3_sp64 insn): Add new alternative for constant 4096 as third
658 operand.
659 (subsi3 expander): Remove.
660 (*subsi3 insn): Rename into 'subsi3'. Add new alternative for
661 constant 4096 as third operand.
662 * doc/md.texi (Machine Constraints): Document new 'O' constraint for
663 the SPARC port.
664
665 2003-06-03 Chris Demetriou <cgd@broadcom.com>
666
667 * config/mips/t-linux64 (CRTSTUFF_T_CFLAGS_S): Define.
668
669 2003-06-04 Andreas Jaeger <aj@suse.de>
670
671 * config/i386/uwin.h: Remove SUBTARGET_PROLOGUE.
672
673 * config/i386/i386.c (ix86_expand_prologue): Do not use
674 SUBTARGET_PROLOGUE.
675
676 * system.h: Poision SUBTARGET_PROLOGUE.
677
678 * config/arm/arm-protos.h: Remove unused rdate_section prototype.
679
680 * output.h: Remove TDESC_SECTION_ASM_OP and RDATA_SECTION_ASM_OP
681 dependend code.
682
683 * system.h: Poison TDESC_SECTION_ASM_OP and RDATA_SECTION_ASM_OP.
684
685 * system.h: Poison INSN_CACHE_DEPTH, INSN_CACHE_SIZE and
686 INSN_CACHE_LINE_WIDTH.
687
688 * libgcc2.c (INSN_CACHE_PLANE_SIZE): Removed.
689 (__clear_cache): Remove code dependend on INSN_CACHE_DEPTH,
690 INSN_CACHE_SIZE and INSN_CACHE_LINE_WIDTH.
691
692 * doc/tm.texi (Trampolines): Remove INSN_CACHE_DEPTH,
693 INSN_CACHE_SIZE and INSN_CACHE_LINE_WIDTH.
694
695 * dbxout.c (dbxout_type): Remove usage of DBX_OUTPUT_ENUM.
696 (dbxout_symbol): Remove usage of DBX_OUTPUT_CONSTANT_SYMBOL.
697 (dbxout_block): Remove usage of DBX_OUTPUT_CATCH.
698 (dbxout_block): Remove usage of DBX_LBRAC_FIRST.
699 (dbxout_source_file): Remove usage of DBX_OUTPUT_SOURCE_FILENAME.
700 (dbxout_init): Remove test for DBX_WORKING_DIRECTORY.
701
702 * doc/tm.texi (DBX Options): Do not document DBX_LBRAC_FIRST,
703 DBX_OUTPUT_SOURCE_FILENAME and DBX_OUTPUT_ENUM and
704 DBX_WORKING_DIRECTORY.
705
706 * system.h: Poison DBX_LBRAC_FIRST, DBX_OUTPUT_ENUM,
707 DBX_OUTPUT_SOURCE_FILENAME and DBX_WORKING_DIRECTORY.
708
709 * config/frv/frv-protos.h: Remove unused const_section
710 declaration.
711 * config/vax/vax-protos.h: Likewise.
712
713 * output.h: Remove CONST_SECTION_ASM_OP usage.
714
715 * system.h: Poison CONST_SECTION_ASM_OP.
716
717 * crtstuff.c (__do_global_dtors_aux): Remove usage of
718 CRT_GET_RFIB_TEXT.
719 (frame_dummy): Likewise.
720 * unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Likewise.
721 * system.h: Poison CRT_GET_RFIB_TEXT.
722
723 * collect2.c (is_ctor_dtor): Remove CFRONT_LOSSAGE dependend code.
724
725 * fix-header.c: Remove ADD_MISSING_EXTERN_C dependend variables.
726 (write_lbrac): Remove ADD_MISSING_EXTERN_C dependend code.
727 (recognized_function): Likewise.
728 (read_scan_file): Likewise.
729
730 2003-06-03 Roger Sayle <roger@eyesopen.com>
731
732 * optabs.c (expand_binop): Optimize complex multiplication for
733 the case of squaring a complex argument.
734
735 2003-06-03 Roger Sayle <roger@eyesopen.com>
736
737 * optabs.c (expand_binop): Attempt to reuse pseudos for duplicate
738 non-volatile operands of binary operations.
739 (prepare_cmp_insn): Likewise.
740
741 2003-06-03 Roger Sayle <roger@eyesopen.com>
742
743 * varasm.c (force_const_mem): Handle alignment of constants not
744 representable as a type in the front-end language.
745
746 2003-06-03 Kazu Hirata <kazu@cs.umass.edu>
747
748 * flow.c (initialize_uninitialized_subregs): Use
749 emit_move_insn instead of emitting a hardcoded move.
750
751 2003-06-03 Richard Henderson <rth@redhat.com>
752
753 * optabs.c (expand_abs_nojump): Split out from ...
754 (expand_abs): ... here.
755 * optabs.h (expand_abs_nojump): Declare.
756 * ifcvt.c: (noce_try_abs): Use expand_abs_nojump.
757 * Makefile.in (ifcvt.o): Depend on optabs.h.
758
759 2003-06-03 Alan Modra <amodra@bigpond.net.au>
760
761 * dwarf2out.c (DEBUG_STR_SECTION_FLAGS): Heed flag_merge_constants.
762
763 2003-06-03 Jason Thorpe <thorpej@wasabisystems.com>
764
765 * config.gcc (default_use_cxa_atexit): New variable, defaults to no.
766 (*-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*): Set default_use_cxa_atexit
767 to yes.
768 * configure.in: Allow default_use_cxa_atexit to determine the
769 value of DEFAULT_USE_CXA_ATEXIT if not explicitly enabled or
770 disabled.
771 * configure: Regenerate.
772
773 2003-06-03 Douglas B Rupp <rupp@gnat.com>
774
775 * Makefile.in (TEXI_GCC_FILES): Remove vms.texi entry.
776 * doc/gcc.texi: Remove vms.texi section.
777 * doc/vms.texi: Remove obsolete file.
778
779 2003-05-23 J"orn Rennecke <joern.rennecke@superh.com>
780
781 * configure.in (inhibit_libc): Don't define when configuring
782 with --with-newlib --with-headers.
783 * configure: Regenerate.
784
785 * t-sh: Remove LIB2FUNCS_EXTRA and embed-bb.c rules.
786
787 2003-06-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
788
789 * configure.in (gcc_cv_as_hidden): Disable .hidden completely on
790 IRIX 6 without GNU ld.
791 * configure: Regenerate.
792
793 2003-06-03 Roger Sayle <roger@eyesopen.com>
794
795 * expr.c (emit_move_insn_1): Use emit_move_insn to move the parts
796 of a complex number rather than invoke mov_optab directly.
797
798 2003-06-03 Kazu Hirata <kazu@cs.umass.edu>
799
800 * combine.c (simplify_set): Don't move a subreg in SET_SRC to
801 SET_DEST if WORD_REGISTER_OPERATIONS is not defined.
802
803 2003-06-03 Nathanael Nerode <neroden@gcc.gnu.org>
804
805 * config/i386/x86-64.h: Remove two target-independent comments;
806 replace "GNU CC" with "GCC".
807
808 2003-06-03 Anthony Green <green@redhat.com>
809
810 * config/frv/t-frv (EXTRA_HEADERS): Remove media.h
811
812 2003-06-03 Roger Sayle <roger@eyesopen.com>
813
814 * builtins.def (BUILT_IN_CABS, BUILT_IN_CABSF, BUILT_IN_CABSL):
815 New builtins representing ISO C99's cabs, cabsf and cabsl.
816 * builtins.c (expand_builtin_fabs): New function.
817 (expand_builtin_cabs): New function.
818 (expand_builtin): Expand BUILT_IN_FABS{,F,L} and BUILT_IN_CABS{,F,L}
819 using expand_builtin_fabs and expand_builtin_cabs respectively.
820
821 * doc/extend.texi: Document new cabs, cabsf and cabsl builtins.
822
823 2003-06-03 Aldy Hernandez <aldyh@redhat.com>
824
825 * function.c (assign_parms): Split complex arguments.
826
827 * doc/tm.texi (SPLIT_COMPLEX_ARGS): Document.
828
829 * expr.h (SPLIT_COMPLEX_ARGS): Define.
830 (split_complex_types): Protoize.
831 (split_complex_values): Protoize.
832
833 * calls.c (expand_call): Split complex arguments on architectures
834 that require it.
835 (split_complex_values): New.
836 (split_complex_types): New.
837
838 * config/rs6000/rs6000.c (rs6000_libcall_value): New.
839 (rs6000_function_value): Handle complex values on AIX.
840 (rs6000_complex_function_value): New.
841
842 * config/rs6000/rs6000-protos.h (rs6000_libcall_value): Protoize.
843
844 * config/rs6000/rs6000.h (LIBCALL_VALUE): Call function.
845 (SPLIT_COMPLEX_ARGS): New.
846
847 2003-06-03 Jakub Jelinek <jakub@redhat.com>
848
849 * configure.in (HAVE_LD_PIE): Check for ld -pie.
850 * config.in: Rebuilt.
851 * configure: Rebuilt.
852 * toplev.c (flag_pie, flag_shlib): New variables.
853 (f_options): Add -fpie and -fPIE.
854 (parse_options_and_default_flags): Set flag_pic if -fpie/-fPIE.
855 Set flag_shlib if flag_pic and not -fpie/-fPIE.
856 * flags.h (flag_pic, flag_shlib): Add.
857 * varasm.c (default_binds_local_p): Use flag_shlib instead of
858 flag_pic.
859 * gcc.c (LINK_PIE_SPEC): Define.
860 (LINK_COMMAND_SPEC): Use LINK_PIE_SPEC.
861 (option_map): Add --pie -> -pie mapping.
862 * config/sol2.h (ASM_SPEC): Handle -fpie the same way as -fpic
863 and -fPIE the same way as -fPIC.
864 * config/openbsd.h (ASM_SPEC): Likewise.
865 * config/frv/frv.h (ASM_SPEC): Likewise.
866 * config/arm/linux-gas.h (SUBTARGET_CPP_SPEC): Likewise.
867 * config/arm/semi.h (ASM_SPEC): Likewise.
868 * config/arm/netbsd-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
869 * config/freebsd-spec.h (FBSD_CPP_SPEC): Likewise.
870 * config/i386/beos-elf.h (CC1_SPEC): Likewise.
871 * config/i386/freebsd-aout.h (ASM_SPEC): Likewise.
872 * config/m68k/linux.h (CPP_SPEC): Likewise.
873 * config/m68k/netbsd.h (ASM_SPEC): Likewise.
874 * config/m68k/openbsd.h (ASM_SPEC): Likewise.
875 * config/m68k/netbsd-elf.h (ASM_SPEC): Likewise.
876 * config/mips/linux.h (SUBTARGET_CPP_SPEC): Likewise.
877 * config/mips/openbsd.h (SUBTARGET_ASM_SPEC): Likewise.
878 * config/pa/pa-linux.h (CPP_SPEC): Likewise.
879 * config/netbsd-aout.h (ASM_SPEC): Likewise.
880 * config/rs6000/sysv4.h (ASM_SPEC, CPP_SYSV_SPEC): Likewise.
881 * config/rs6000/vxworks.h (CPP_SPEC): Likewise.
882 * config/sparc/linux.h (CPP_SUBTARGET_SPEC, ASM_SPEC): Likewise.
883 * config/sparc/linux64.h (CPP_SUBTARGET_SPEC, ASM_SPEC): Likewise.
884 * config/sparc/sparc.h (ASM_SPEC): Likewise.
885 * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
886 * config/sparc/sysv4.h (ASM_SPEC): Likewise.
887 * config/sparc/netbsd-elf.h (ASM_SPEC): Likewise.
888 * config/sparc/openbsd64.h (ASM_SPEC): Likewise.
889 * config/cris/linux.h (CRIS_ASM_SUBTARGET_SPEC): Likewise.
890 * config/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Handle -pie.
891 Simplify.
892 * config/alpha/elf.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
893 * config/i386/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
894 * config/ia64/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
895 * config/rs6000/sysv4.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
896 * config/rs6000/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
897 * config/sparc/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
898 * config/sparc/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
899 * doc/invoke.texi: Document -pie, -fpie and -fPIE options.
900
901 2003-06-03 Jakub Jelinek <jakub@redhat.com>
902
903 * builtins.c (expand_builtin_memcpy): Remove endp argument and endp
904 != 0 handling. Pass 0 to store_by_pieces.
905 (expand_builtin_mempcpy): Add endp argument. Don't call
906 expand_builtin_memcpy, call store_by_pieces resp. move_by_pieces
907 directly. If ignoring result, only do expand_call.
908 (expand_builtin_stpcpy): Likewise. Call expand_builtin_mempcpy
909 otherwise.
910 (expand_builtin_strncpy, expand_builtin_memset): Adjust
911 store_by_pices callers.
912 (expand_builtin): Adjust expand_builtin_memcpy and
913 expand_builtin_mempcpy callers.
914 * expr.c (can_move_by_pieces): New function.
915 (move_by_pieces): Add endp argument, return to resp. memory at end
916 or one byte earlier depending on endp.
917 (store_by_pieces): Likewise.
918 (emit_block_move): Adjust call to move_by_pieces.
919 (emit_push_insn): Adjust move_by_pieces caller.
920 * expr.h (can_move_by_pieces): New prototype.
921 (store_by_pieces): Adjust prototypes.
922 * rtl.h (move_by_pieces): Adjust prototype.
923 * config/mips/mips.c (expand_block_move): Adjust move_by_pieces
924 caller.
925
926 2003-06-03 Ben Elliston <bje@wasabisystems.com>
927
928 * doc/md.texi (Processor pipeline description): Improve wording.
929
930 2003-06-03 Neil Booth <neil@daikokuya.co.uk>
931
932 * c-opts.c (c_common_handle_option): New, pulled out of
933 c_common_decode_option. Substitute uses of argv.
934 (c_common_decode_option): Broken into two.
935
936 2003-06-02 Roger Sayle <roger@eyesopen.com>
937 Zack Weinberg <zack@codesourcery.com>
938
939 * emit-rtl.c (gen_complex_constant_part): Remove unnecessary
940 test of TREE_CONSTANT_POOL_ADDRESS_P.
941
942 2003-06-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
943
944 * mips.c: Don't include output.h twice.
945 * stormy16.c: Likewise.
946 * xtensa.c: Likewise.
947 * output.h: Protect against multiple inclusion.
948
949 2003-06-02 J"orn Rennecke <joern.rennecke@superh.com>
950
951 * sh.h (OLD_ARG_MODE): New macro.
952 (FUNCTION_ARG_ADVANCE, FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
953 (FUNCTION_ARG_1): Break out of:
954 (FUNCTION_ARG). Use OLD_ARG_MODE.
955
956 2003-06-02 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
957
958 * gcc/config.gcc Add support multilib parts for m32rx processor.
959
960 2003-06-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
961
962 * Makefile.in (c-options.c): Pass in $(AWK) to opts.sh.
963 (mostlyclean): Delete c-options.c and c-options.h.
964
965 2003-06-02 Neil Booth <neil@daikokuya.co.uk>
966
967 * c-opts.c (CL_REJECT_NEGATIVE): New.
968 (c_common_decode_option): Update to use it.
969 * c.opt: Update documentation; use RejectNegative.
970 * opts.sh: Handle RejectNegative.
971
972 2003-06-01 Zack Weinberg <zack@codesourcery.com>
973
974 * ggc-page.c (init_ggc): Give better diagnostics on failure to
975 open /dev/zero.
976 * toplev.c (crash_signal): Reset handling for received signal
977 to SIG_DFL.
978
979 2003-06-02 Ben Elliston <bje@wasabisystems.com>
980
981 * config/arm/arm.c (arm_use_dfa_pipeline_interface): Declare.
982 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define if not already.
983 (arm_use_dfa_pipeline_interface): Implement.
984 * config/arm/arm.md (arm): New automaton.
985 (write_buf): Remove function units; new cpu unit.
986 (write_blockage): Remove function units; new cpu unit.
987 (core): Remove function units; new cpu unit.
988 (r_mem_f_wbuf): New instruction reservation.
989 (store1_wbuf, store2_wbuf, store3_wbuf, store4_wbuf): Likewise.
990 (store1_ldsched, store2, store3, store4): Likewise.
991 (load_ldsched, load_ldsched_xscale, load_or_store): Likewise.
992 (mult, mult_ldsched, mult_ldsched_strongarm): Likewise.
993 (multi_cycle, single_cycle): Likewise.
994 * config/arm/fpa.md (armfp): New automaton.
995 (fpa): Remove function units; new cpu unit.
996 (fpa_mem): Remove function unit; new cpu unit.
997 (fdivx, fdivd, fdivs, fmul, ffmul, farith, ffarith): New reservations.
998 (r_2_f, f_2_r, f_load, f_store, r_mem_f, f_mem_r): Likewise.
999
1000 2003-06-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1001
1002 * builtin-attrs.def (ATTR_ASM_FPRINTF): New.
1003 * c-format.c (enum format_type): Add asm_fprintf_format_type.
1004 (NOARGUMENTS, asm_fprintf_length_specs, asm_fprintf_flag_specs,
1005 asm_fprintf_flag_pairs, asm_fprintf_char_table): New.
1006 (format_types_orig): Renamed from format_types. Add new data.
1007 (format_types): Declare as pointer.
1008 (handle_format_attribute): Move later in file so we have all
1009 necessary declarations. Add section to capture HOST_WIDE_INT.
1010 * output.h (ATTRIBUTE_ASM_FPRINTF, __gcc_host_wide_int__): New.
1011 (asm_fprintf): Mark with ATTRIBUTE_ASM_FPRINTF.
1012
1013 2003-06-01 Andreas Jaeger <aj@suse.de>
1014
1015 * doc/tm.texi (Storage Layout): Remove ROUND_TYPE_SIZE and
1016 ROUND_TYPE_SIZE_UNIT.
1017
1018 * stor-layout.c (finalize_record_size): Remove usages of
1019 ROUND_TYPE_SIZE and ROUND_TYPE_SIZE_UNIT.
1020 (finalize_type_size): Likewise.
1021 (layout_type): Likewise.
1022
1023 * system.h: Poison ROUND_TYPE_SIZE and ROUND_TYPE_SIZE_UNIT.
1024
1025 * loop.c (check_insn_for_givs): Remove DONT_REDUCE_ADDR macro.
1026
1027 * config/d30v/d30v.h: Remove text copied from the manual.
1028
1029 2003-06-01 Roger Sayle <roger@eyesopen.com>
1030 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1031 Geoffrey Keating <geoffk@apple.com>
1032
1033 * emit-rtl.c (gen_lowpart_common): Handle interpreting integer
1034 constants as condition code values.
1035
1036 2003-06-01 DJ Delorie <dj@redhat.com>
1037
1038 * cppmacro.c (warn_of_redefinition): Handle cases where the two
1039 definitions have different numbers of tokens.
1040
1041 2003-06-01 Andreas Jaeger <aj@suse.de>
1042
1043 * gen-protos.c (main): Readd unused attribute for argc.
1044
1045 2003-06-01 Neil Booth <neil@daikokuya.co.uk>
1046
1047 * Makefile.in (c-options.c, c-options.h): Parallel make safe.
1048 * c.opt: End in blank line.
1049 * opts.sh: Take AWK from environment if available; use C locale.
1050
1051 2003-06-01 Andreas Schwab <schwab@suse.de>
1052
1053 * config/m68k/linux.h: Remove code protected by USE_GNULIBC_1.
1054
1055 2003-06-01 Andreas Jaeger <aj@suse.de>
1056
1057 * gen-protos.c (main): Revert patch to check for argument.
1058
1059 2003-06-01 Eric Botcazou <ebotcazou@libertysurf.fr>
1060
1061 PR target/11044
1062 * config/i386/i386.md (length attribute): Set length to 4
1063 for instructions of type "fcmp".
1064
1065 2003-06-01 Andreas Jaeger <aj@suse.de>
1066
1067 * toplev.c: Use ISO C90 prototypes.
1068
1069 * toplev.h: Use ISO C90 prototypes.
1070
1071 * genrecog.c: Use ISO C90 prototypes.
1072 (nodes_identical): Correct declaration to match prototype.
1073 (maybe_both_true): Likewise.
1074 (merge_trees): Likewise.
1075
1076 * genpeep.c (gen_peephole): Remove #if 0 code.
1077 Use ISO C90 prototypes.
1078
1079 * genattrtab.c (copy_rtx_unchanging): Remove #if 0'ed code.
1080 Remove #if 0'ed function simplify_by_alternatives.
1081 (optimize_attrs): Remove #if 0'ed code.
1082 Remove ^L.
1083 Use ISO C90 prototypes.
1084 (make_canonical): Remove #if 0'ed code.
1085 (convert_const_symbol_ref): Remove #if 0'ed function.
1086
1087 * gen-protos.c (main): Check for argument.
1088
1089 * rtl.h: Use ISO C90 prototypes for functions from lists.c.
1090
1091 * params.h: Use ISO C90 prototypes.
1092 * params.c: Likewise.
1093 * intl.c: Likewise.
1094 * intl.h: Likewise.
1095 * lists.c: Likewise.
1096 * errors.c: Likewise.
1097 * errors.h: Likewise.
1098 * gencodes.c: Likewise.
1099 * genpreds.c: Likewise.
1100 * genattr.c: Likewise.
1101 * gen-protos.c: Likewise.
1102 * genflags.c: Likewise
1103 * genconditions.c: Likewise.
1104 * genautomata.c: Likewise.
1105 * gencheck.c: Likewise.
1106 * genconfig.c: Likewise.
1107 * genconstants.c: Likewise.
1108 * genemit.c: Likewise.
1109 * genextract.c: Likewise.
1110 * gengenrtl.c: Likewise.
1111 * gengtype.c: Likewise.
1112 * gengtype.h: Likewise.
1113 * genopinit.c: Likewise.
1114 * genoutput.c: Likewise.
1115 * gensupport.c: Likewise.
1116 * gensupport.h: Likewise.
1117
1118 * sdbout.h: Use ISO C90 prototypes.
1119
1120 * sdbout.c (CONTIN): Removed empty macro.
1121 (sdbout_one_type): Remove CONTIN usages.
1122 Remove ^Ls.
1123 (tag_of_ru_type): Remove #if 0'ed function.
1124 (sdbout_symbol): Remove #if 0'ed code.
1125 (sdbout_one_type): Remove a #if 1.
1126 (sdbout_one_type): Remove #if 0'ed code.
1127 (sdbout_init): Remove RMS_QUICK_HACK_1 code.
1128 Remove PARAMS, use ISO C90 prototypes for all functions.
1129
1130 2003-06-01 Josef Zlomek <zlomekj@suse.cz>
1131
1132 * rtl.def (CONST_DOUBLE): Update comment.
1133
1134 2003-06-01 Neil Booth <neil@daikokuya.co.uk>
1135
1136 * opts.sh: Remove path from sort.
1137
1138 2003-06-01 Aldy Hernandez <aldyh@redhat.com>
1139
1140 PR/9680
1141 * config/rs6000/rs6000.h (CANNOT_CHANGE_MODE_CLASS): Require
1142 TARGET_SPE for SPE_VECTOR_MODE.
1143
1144 2003-05-31 Aldy Hernandez <aldyh@redhat.com>
1145
1146 * toplev.c (botch): Remove.
1147 (do_abort): Remove.
1148 (set_Wunused): Comment.
1149 (set_Wextra): Comment.
1150 Remove ^L's.
1151 (rest_of_compilation): Factor out common code into functions.
1152 (rest_of_handle_inlining): New.
1153 (rest_of_handle_ssa): New.
1154 (rest_of_handle_cse): New.
1155 (rest_of_handle_gcse): New.
1156 (rest_of_handle_loop_optimize): New.
1157 (rest_of_handle_jump_bypass): New.
1158 (rest_of_handle_sibling_calls): New.
1159 (rest_of_handle_null_pointer): New.
1160 (rest_of_handle_addresof): New.
1161 (rest_of_handle_flow): New.
1162 (rest_of_handle_branch_prob): New.
1163 (rest_of_handle_if_conversion): New.
1164 (rest_of_handle_tracer): New.
1165 (rest_of_handle_loop2): New.
1166 (rest_of_handle_cse2): New.
1167 (rest_of_handle_life): New.
1168 (rest_of_handle_combine): New.
1169 (rest_of_handle_if_after_combine): New.
1170 (rest_of_handle_regmove): New.
1171 (rest_of_handle_sched): New.
1172 (rest_of_handle_old_regalloc): New.
1173 (rest_of_handle_new_regalloc): New.
1174 (rest_of_handle_regrename): New.
1175 (rest_of_handle_reorder_blocks): New.
1176 (rest_of_handle_sched2): New.
1177 (rest_of_handle_new_regalloc): New.
1178 (rest_of_handle_old_regalloc): New.
1179 (rest_of_handle_regrename): New.
1180 (rest_of_handle_reorder_blocks): New.
1181 (rest_of_handle_stack_regs): New.
1182 (rest_of_handle_machine_reorg): New.
1183 (rest_of_handle_delay_slots): New.
1184 (rest_of_handle_final): New.
1185
1186 * toplev.h (botch): Remove prototype.
1187 (do_abort): Same.
1188
1189 2003-05-31 Neil Booth <neil@daikokuya.co.uk>
1190
1191 * Makefile.in (c-opts.o, c-options.h): Update dependencies.
1192 * c-opts.c: Include c-options.h and c-options.c.
1193 (CL_C_ONLY, CL_OBJC_ONLY, CL_CXX_ONLY, CL_OBJCXX_ONLY):
1194 Rename CL_C, CL_OBJC, CL_CXX, CL_OBJCXX.
1195 (CL_ARG, CL_ALL, COMMAND_LINE_OPTIONS, struct cl_option,
1196 OPT, opt_comp): Remove.
1197 (missing_arg, c_common_init_options, c_common_decode_option,
1198 write_langs): Update for macro redefinitions and enumeration
1199 name changes.
1200 * c.opt, opts.sh: New files.
1201 * doc/passes.texi: Update.
1202
1203 2003-05-31 Andreas Jaeger <aj@suse.de>
1204
1205 * function.c (trampoline_address): Remove ALLOCATE_TRAMPOLINE
1206 usage.
1207
1208 * doc/tm.texi (Trampolines): Remove ALLOCATE_TRAMPOLINE.
1209
1210 * config/d30v/d30v.h: Remove traces of ALLOCATE_TRAMPOLINE.
1211
1212 * system.h: Poison ALLOCATE_TRAMPOLINE.
1213
1214 * doc/tm.texi (Misc): Remove HANDLE_PRAGMA.
1215 * system.h: Poison HANDLE_PRAGMA.
1216
1217 2003-05-31 Kazu Hirata <kazu@cs.umass.edu>
1218
1219 * doc/invoke.texi: Update dump file names.
1220
1221 2003-05-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1222
1223 * c-format.c (format_length_info, format_char_info,
1224 format_flag_spec, format_flag_pair, format_kind_info):
1225 De-const-ify structure members.
1226
1227 2003-05-31 Roger Sayle <roger@eyesopen.com>
1228
1229 * flags.h (flag_wrapv): New flag controlling overflow semantics.
1230 * toplev.c (flag_wrapv): Declare the variable with default false.
1231 (lang_independent_options): New option "-fwrapv" to set the above.
1232
1233 * fold-const.c (extract_muldiv_1): Disable optimization of (2*x)/2
1234 as x, when signed arithmetic overflow wraps around.
1235 (fold): Optimize "-A - B" as "-B - A" if overflow wraps around.
1236 * loop.c (basic_induction_var): Ignore BIVs that rely on undefined
1237 overflow when flag_wrapv is true.
1238
1239 * doc/invoke.texi: Document new -fwrapv command line option.
1240 * doc/c-tree.texi: Mention that the overflow semantics of
1241 NEGATE_EXPR, PLUS_EXPR, MINUS_EXPR and MULT_EXPR is dependent
1242 upon both flag_wrapv and flag_trapv.
1243
1244 2003-05-31 Eric Botcazou <ebotcazou@libertysurf.fr>
1245
1246 * doc/install.texi (mips-sgi-irix5): Add missing
1247 HTML <hr> marker.
1248
1249 2003-05-31 Eric Botcazou <ebotcazou@libertysurf.fr>
1250
1251 * doc/md.texi (Machine Constraints): Document
1252 missing SPARC constraints.
1253
1254 2003-05-31 Eric Botcazou <ebotcazou@libertysurf.fr>
1255
1256 * doc/md.texi (Automaton pipeline description): Use
1257 "type" instead of "cpu" as the attribute in the examples.
1258
1259 2003-05-30 Stan Shebs <shebs@apple.com>
1260
1261 * system.h: Poison OBJC_PROLOGUE.
1262
1263 2003-05-30 Roger Sayle <roger@eyesopen.com>
1264
1265 * emit-rtl.c (gen_complex_constant_part): New function for getting
1266 the constant real or imaginary part of a complex constant.
1267 (gen_realpart): Use it.
1268 (gen_imagpart): Likewise.
1269
1270 2003-05-30 Kazu Hirata <kazu@cs.umass.edu>
1271
1272 * doc/invoke.texi: Fix typos.
1273 * doc/rtl.texi: Likewise.
1274
1275 2003-05-30 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
1276
1277 * config/h8300/crti.asm: Use .h8300hn and .h8300sn for normal
1278 mode.
1279 * config/h8300/crtn.asm: Likewise.
1280 * config/h8300/lib1funcs.asm: Likewise.
1281 * config/h8300/h8300.c (asm_file_start): Likewise.
1282 * config/h8300/elf.h (LINK_SPEC): Use h8300hnelf and
1283 h8300snelf emulations for normal mode.
1284 * config/h8300/h8300.h (LINK_SPEC): Use h8300hn and h8300sn
1285 emulations for normal mode.
1286
1287 2003-05-30 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
1288
1289 * config/h8300/h8300.c (h8300_tiny_constant_address_p): Return
1290 true if TARGET_NORMAL_MODE.
1291
1292 2003-05-30 Roger Sayle <roger@eyesopen.com>
1293
1294 * cse.c (cse_insn): Simplify REG_EQUAL note on libcalls when
1295 making a substitution.
1296 (dead_libcall_p): If directly replacing a libcall with a
1297 constant value produces an invalid instruction, also try forcing
1298 the constant into the constant pool.
1299 * expr.c (emit_move_insn): Add a REG_EQUAL note when it is not
1300 obvious that the source is a constant.
1301 (compress_float_constant): Use set_unique_reg_note to place
1302 REG_EQUAL notes on instructions.
1303
1304 2003-05-30 Eric Christopher <echristo@redhat.com>
1305
1306 * config/mips/mips.c (extern_list): Add GTY marker.
1307 (extern_head): Separate out definition. Add marker.
1308 (mips_output_external): Use ggc_alloc for extern_list
1309 allocation.
1310 (mips_output_external_libcall): Ditto.
1311
1312 2003-05-30 Florian Weimer <fw@deneb.enyo.de>
1313
1314 * doc/install.texi: Ada-enabled bootstrap requires GNAT 3.14 or
1315 later.
1316
1317 2003-05-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1318
1319 * vax.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier
1320 warnings.
1321 (PRINT_OPERAND): Likewise.
1322
1323 2003-05-30 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1324
1325 * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Move
1326 -mdebug/-no-mdebug switches ...
1327 (MDEBUG_ASM_SPEC): ... here.
1328 Use only with gas.
1329 (EXTRA_SPECS): Initialize mdebug_asm_spec.
1330
1331 2003-05-29 Matt Kraai <kraai@alumni.cmu.edu>
1332
1333 * gthr-gnat.c: Remove #undef UNUSED.
1334 (__gnat_default_lock, __gnat_default_unlock): Prototype.
1335 (__gnat_task_lock, __gnat_task_unlock): Make declarations
1336 prototypes.
1337 (__gnat_install_locks): Convert declaration to ISO C90, make
1338 parameter declarations prototypes, and remove blank line.
1339 * gthr-gnat.h (__gnat_install_locks): Make parameter
1340 declarations prototypes.
1341
1342 2003-05-29 Jason Merrill <jason@redhat.com>
1343
1344 * Makefile.in (unstrap): Remove stage_last after make unstage1.
1345
1346 2003-05-29 Roger Sayle <roger@eyesopen.com>
1347
1348 * mips-tfile.c (PAGE_SIZE): Increase page size to 32K.
1349
1350 2003-05-29 Roger Sayle <roger@eyesopen.com>
1351 Kaveh Ghazi <ghazi@caip.rutgers.edu>
1352
1353 PR bootstrap/10169
1354 * mips-tfile.c (main): Use getopt_long instead of getopt.
1355 Add new command line option --version to display version.
1356 Treat --verbose like -v to report a single line version.
1357 (options): New global variable for getopt_long.
1358 * mips-tdump.c (main): Use getopt_long instead of getopt.
1359 New command line options -v, --version and -verbose to display
1360 the program version number (to match mips-tfile's behavior).
1361 (options): New global variable for getopt_long.
1362
1363 * gcov.c (options): Zero-terminate getopt_long array.
1364 * gcov-dump.c (options): Likewise.
1365
1366 * Makefile.in (mips-tdump.o): Add dependency on version.h.
1367
1368 2003-05-29 Stan Shebs <shebs@apple.com>
1369
1370 Remove OBJC_PROLOGUE everywhere.
1371 * objc/objc-act.c (finish_objc): Remove use of OBJC_PROLOGUE.
1372 * config/avr/avr.h: Remove no-op ref to OBJC_PROLOGUE.
1373 * config/d30v/d30v.h: Similarly.
1374 * config/ip2k/ip2k.h: Similarly.
1375 * doc/tm.texi: Remove doc of OBJC_PROLOGUE.
1376
1377 2003-05-29 Roger Sayle <roger@eyesopen.com>
1378
1379 * c-semantics.c (genrtl_do_stmt_1): New function split out from...
1380 (gen_rtl_do_stmt): ... here. Call genrtl_do_stmt_1.
1381 (expand_unreachable_stmt): Expand unreachable while statements
1382 using genrtl_do_stmt_1.
1383
1384 2003-05-29 Richard Sandiford <rsandifo@redhat.com>
1385
1386 * config/mips/mips-protos.h (mips_output_load_label): Declare.
1387 * config/mips/mips.c (mips_output_load_label): New function.
1388 (mips_output_conditional_branch): Use it.
1389 * config/mips/mips.md (jump): And here.
1390
1391 2003-05-28 Bob Wilson <bob.wilson@acm.org>
1392
1393 * config/xtensa/xtensa-protos.h (smalloffset_double_mem_p): Delete.
1394 (xtensa_split_operand_pair): New proto.
1395 * config/xtensa/xtensa.c (move_operand): Handle DFmode and DImode.
1396 (smalloffset_double_mem_p): Delete.
1397 (gen_float_relational, printx, print_operand, xtensa_va_arg):
1398 Fix whitespace.
1399 (xtensa_split_operand_pair): New.
1400 (xtensa_dbx_register_number): Fix formatting.
1401 * config/xtensa/xtensa.h (EXTRA_CONSTRAINT): Remove 'S' constraint.
1402 * config/xtensa/xtensa.md (movdi, movdf): Force constants to memory
1403 instead of splitting them into single-word moves. Remove unnecessary
1404 checks for reload_in_progress and reload_completed.
1405 (movdi_internal, movdf_internal): Change to post-reload split patterns.
1406 Add constraints to allow constant operands.
1407 (movsf_internal): Allow CONST_INT operands.
1408
1409 2003-05-27 Danny Smith <dannysmith@users.sourceforge.net>
1410
1411 * config.gcc (i[34567]86-*-mingw32*): Add host makefile
1412 fragment i386/x-mingw32.
1413 * config/i386/x-mingw32: New file. Make local_includedir
1414 relative to EXEC_PREFIX.
1415
1416 2003-05-27 Aaron W. LaFramboise <awlaframboise@aol.com>
1417
1418 * config/i386/mingw32.h (STANDARD_INCLUDE_DIR): Update.
1419 (MD_STARTFILE_PREFIX): Define.
1420
1421 2003-05-27 Denis Chertykov <denisc@overta.ru>
1422
1423 * cselib.c (cselib_invalidate_regno): Abort if hardreg have a
1424 VOIDmode.
1425 * cselib.c (cselib_process_insn): Pass reg_raw_mode for hardreg in
1426 call of cselib_invalidate_regno.
1427
1428 2003-05-28 Daniel Jacobowitz <drow@mvista.com>
1429
1430 * config/mips/linux.h (LIB_SPEC): Add missing -lc and correct
1431 -lthread to -lpthread.
1432
1433 2003-05-28 Eric Botcazou <ebotcazou@libertysurf.fr>
1434 Bruce Korb <bkorb@gnu.org>
1435 Arno Klaassen <arno@heho.snv.jussieu.fr>
1436
1437 * fixinc/inclhack.def: Add missing declaration of getpagesize()
1438 to unistd.h on Solaris 2.5.1.
1439 Fix prototype of recv() and send() in sys/socket.h on
1440 Solaris 2.5.1 and 2.6.
1441 * fixinc/tests/base/unistd.h: Add solaris_unistd fix test.
1442 * fixinc/tests/base/sys/socket.h: Add solaris_socket test.
1443 * fixinc/check.tpl: Use 'diff -c', not 'diff -u'.
1444 * fixinc/fixincl.x: Regenerate.
1445
1446 2003-05-27 Jason Merrill <jason@redhat.com>
1447
1448 * tree.c (expr_first, expr_length): New fns.
1449 * tree.h: Declare them.
1450
1451 * tree.c (iterative_hash_expr): Hash commutative expressions
1452 consistently.
1453
1454 2003-05-27 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1455
1456 * tree.h (contains_placeholder_p): Now returns bool.
1457 (CONTAINS_PLACEHOLDER_P): New macro.
1458 (type_contains_placeholder_p): New function.
1459 * tree.c (save_expr): Remove code avoiding folding COMPONENT_REF.
1460 (contains_placeholder_p): Now returns bool.
1461 Rework to use CONTAINS_PLACEHOLDER_P macro.
1462 (type_contains_placeholder_p): New function.
1463 * fold-const.c (fold, case COMPONENT_REF): Don't fold if
1464 type_contains_placeholder_p.
1465 (fold_range_test, fold_mathfn_compare, fold_inf_compare, fold):
1466 Use CONTAINS_PLACEHOLDER_P macro.
1467 * builtins.c (fold_builtin): Likewise.
1468 * calls.c (initialize_argument_information): Likewise.
1469 * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
1470 * explow.c (expr_size): Likewise.
1471 * expr.c (store_constructor, get_inner_reference): Likewise.
1472 * function.c (assign_parms): Likewise.
1473 * stor-layout.c (variable_size): Likewise.
1474
1475 2003-05-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
1476
1477 * diagnostic.h (output_verbatim, verbatim): Remove printf
1478 attribute.
1479
1480 2003-05-25 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1481
1482 * doc/contrib.texi (Contributors): Update Kean Johnston.
1483
1484 2003-05-24 David Edelsohn <edelsohn@gnu.org>
1485
1486 * config/rs6000/rs6000.md (save_fpregs_{si,di}): Add length attribute.
1487
1488 2003-05-24 Nathanael Nerode <neroden@gcc.gnu.org>
1489
1490 * config/rs6000/440.md, config/stormy16/stormy16protos.h,
1491 config/stormy16/stormy16.c, config/stormy16/stormy16.md:
1492 Replace "GNU CC" with "GCC".
1493
1494 2003-05-24 Matt Kraai <kraai@alumni.cmu.edu>
1495
1496 * builtins.c (expand_builtin_memcpy): Use mode of dest_addr for
1497 intermediate computation.
1498
1499 2003-05-23 Eric Christopher <echristo@redhat.com>
1500
1501 * config/mips/mips.md (clzsi, clzdi): New patterns.
1502
1503 2003-05-23 Geoffrey Keating <geoffk@apple.com>
1504
1505 * gcc.c (default_compilers): Use -o to specify preprocessor's output
1506 file. Make -no-integrated-cpp work when building PCH files.
1507 * objc/lang-specs.h: Likewise.
1508
1509 2003-05-23 Nathanael Nerode <neroden@gcc.gnu.org>
1510
1511 * fixinc/Makefile.in: Correct description.
1512 * fixinc/Makefile.in, fixinc/fixfixes.c, fixinc/fixincl.c,
1513 fixinc/fixlib.c, fixinc/fixlib.h, fixinc/fixtests.c,
1514 fixinc/genfixes: Replace "GNU CC" with "GCC".
1515
1516 2003-05-23 Roger Sayle <roger@eyesopen.com>
1517
1518 * builtins.def: Define atan, atanf, atanl, tan, tanf and tanl
1519 builtin functions (and their __builtin_* variants).
1520 * builtins.c (mathfn_built_in): Handle tan{,f,l} and atan{,f,l}.
1521 (expand_builtin): Don't expand tan{,f,l} or atan{,f,l} when not
1522 optimizing.
1523
1524 * doc/extend.texi: Document new tan and atan builtins, and
1525 their float and long double variants.
1526
1527 2003-05-23 Jason Thorpe <thorpej@wasabisystems.com>
1528
1529 * config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define
1530 __sparcv9 in the TARGET_ARCH64 case.
1531
1532 Fri May 23 22:17:32 CEST 2003 Jan Hubicka <jh@suse.cz>
1533
1534 * i386.c (ix86_reorg): Calls are also jumps.
1535
1536 2003-05-23 J"orn Rennecke <joern.rennecke@superh.com>
1537
1538 * cse.c (count_reg_usage): When processing an INSNs REG_EQUAL
1539 note containing an EXPR_LIST, process all the arguments.
1540
1541 Fri May 23 21:19:31 CEST 2003 Jan Hubicka <jh@suse.cz>
1542 Andreas Jaeger <aj@suse.de>
1543
1544 * i386.h (TARGET_CPU_CPP_BUILTINS): Define __amd64 and __amd64__;
1545 do not use assertion.
1546
1547 2003-05-23 Mike Stump <mrs@apple.com>
1548
1549 * tlink.c (scan_linker_output): Add support for darwin linker, as it
1550 emits unresolved symbols one per line, consuming the entire line.
1551
1552 2003-05-23 Larin Hennessy <larin@science.oregonstate.edu>
1553 Zack Weinberg <zack@codesourcery.com>
1554
1555 * explow.c (allocate_dynamic_stack_space): Remove call to gen_probe.
1556 * config/m68k/m68k.c (m68k_output_function_prologue):
1557 Remove code under #if NEED_PROBE.
1558 * config/m68k/m68k.h: Don't define NEED_PROBE.
1559 * config/m68k/m68k.md: Remove "probe" insn.
1560 * doc/md.texi: Remove documentation of "probe" pattern.
1561
1562 2003-05-23 Dorit Naishlos <gcchaifa@il.ibm.com>
1563
1564 * config/rs6000/rs6000.md (save_fpregs_{si,di}): Add branch attribute.
1565
1566 2003-05-23 Eric Botcazou <ebotcazou@libertysurf.fr>
1567
1568 * doc/install.texi: Remove sparc64-*-*. Add sparc64-*-solaris2*.
1569 Document sparcv9-*-solaris2* as a synonym for sparc64-*-solaris2*.
1570
1571 2003-05-22 Roger Sayle <roger@eyesopen.com>
1572
1573 * real.c (real_maxval): New function to return the largest finite
1574 value representable in a given mode (i.e. FLT_MAX and DBL_MAX).
1575 * real.h (real_maxval): Prototype here.
1576 * fold-const.c (fold_inf_compare): Transform comparisons against
1577 +-Infinity into comparisons against DBL_MAX (or equivalent).
1578
1579 2003-05-22 Mike Stump <mrs@apple.com>
1580
1581 * config.gcc (*-*-darwin*): Remove use_collect2=no, as it is the
1582 default.
1583
1584 2003-05-22 DJ Delorie <dj@redhat.com>
1585
1586 * calls.c (expand_call): If the arg block is going to grow
1587 downward, we need argblock to point to the top of the block,
1588 not the bottom.
1589
1590 2003-05-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1591
1592 * c-decl.c (duplicate_decls): Test DECL for ERROR_MARK.
1593
1594 * expr.c (expand_expr, case CONSTRUCTOR): Put into memory if
1595 constant and EXPAND_CONST_ADDRESS, not just EXPAND_INITIALIZER.
1596
1597 2003-05-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1598
1599 * m68hc11.c: Don't use the `0' flag for asm_fprintf specifiers.
1600 * m68k.c: Likewise.
1601 * m68k.h: Likewise.
1602
1603 2003-05-22 Zack Weinberg <zack@codesourcery.com>
1604
1605 PR other/2873
1606 * fixinc/inclhack.def (avoid_wchar_t_type): Add bypass
1607 expressions to prevent triggering on recent curses.h,
1608 linux/nls.h, or X11/Xlib.h.
1609 (stdio_va_list): Add _G_va_list to bypass pattern.
1610 (strict_ansi_not): Add bypass pattern for __SCO_VERSION__.
1611 * fixinc/fixincl.x: Regenerate.
1612
1613 2003-05-22 Rekha Bhintade <rekhad@kpitcummins.com>
1614
1615 * gcc/config/sh/sh.h (TARGET_SWITCHES): Display all the target
1616 switches when --target-help option is specified.
1617
1618 2003-05-22 Eric Botcazou <ebotcazou@libertysurf.fr>
1619
1620 PR bootstrap/10805
1621 * doc/install.texi (sparc-sun-solaris2.7): Document bootstrap
1622 failure with Sun assembler 5.0 Alpha 03/27/98.
1623
1624 2003-05-21 Loren James Rittle <ljrittle@acm.org>
1625
1626 * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Add -D__sparcv9
1627 to match system compiler convention.
1628
1629 2003-05-21 Danny Smith <dannysmith@users.sourceforge.net>
1630
1631 * gthr-win32.h (__GTHREAD_HIDE_WIN32API): Test for non-zero
1632 value, not just if defined.
1633 Update copyright year.
1634
1635 2003-05-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1636
1637 PR target/6428
1638 * pa-hpux10.h (LINK_SPEC, LIB_SPEC): Move -L options for profiling
1639 directories from LIB_SPEC to LINK_SPEC. Emit warning if `-p' or `-pg'
1640 option is used without `-static'.
1641 * pa-hpux11.h (LINK_SPEC, LIB_SPEC): Likewise.
1642 * pa64-hpux.h (LINK_SPEC, LIB_SPEC): Likewise.
1643
1644 2003-05-21 Bob Wilson <bob.wilson@acm.org>
1645
1646 * config/xtensa/xtensa.h (MASK_SERIALIZE_VOLATILE,
1647 TARGET_SERIALIZE_VOLATILE): Delete.
1648 (MASK_CONST16, MASK_ABS, MASK_ADDX): Renumber flag bits.
1649 (TARGET_DEFAULT): Remove MASK_SERIALIZE_VOLATILE.
1650 (TARGET_SWITCHES): Remove "-mserialize-volatile" and
1651 "-mno-serialize-volatile".
1652 * config/xtensa/xtensa.c (print_operand): Remove checks of
1653 TARGET_SERIALIZE_VOLATILE.
1654 * config/xtensa/xtensa.md (*lsiu, *ssiu): Likewise.
1655 * doc/invoke.texi (Option Summary, Xtensa Options): Remove
1656 "-mserialize-volatile" and "-mno-serialize-volatile" options.
1657
1658 2003-05-21 Nathan Sidwell <nathan@codesourcery.com>
1659
1660 * c-parse.in (fndef): Set DECL_SOURCE_LINE and FILE earlier.
1661 (nested_function): Likewise.
1662 (notype_nested_function): Likewise.
1663
1664 2003-05-21 Nick Clifton <nickc@redhat.com>
1665
1666 * config/stormy16/stormy-abi: Update overflow type for
1667 R_XSTORMY16_16 reloc.
1668
1669 2003-05-21 Nathan Sidwell <nathan@codesourcery.com>
1670
1671 * c-common.h (enum rid): Remove RID_BOUNDED, RID_UNBOUNDED.
1672 * c-parse.in (reswords): Remove __bounded__ and __unbounded__.
1673 (rid_to_yy): Remove RID_BOUNDED, RID_UNBOUNDED slots.
1674 * print-tree.c (print_node): Remove ambient-boundedness.
1675 * tree.h (tree_common): Remove bounded_flag.
1676 (BOUNDED_INDIRECT_YPE_P, BOUNDED_POINTER_TYPE_P,
1677 BOUNDED_REFERENCE_TYPE_P, MAYBE_BOUNDED_INDIRECT_TYPE_P,
1678 MAYBE_BOUNDED_POINTER_TYPE_P, MAYBE_BOUNDED_REFERENCE_TYPE_P,
1679 TREE_BOUNDED, TYPE_MAIN_VARIANTS_PHYSICALLY_EQUAL_P,
1680 TYPE_MAIN_PHYSICAL_VARIANT, TYPE_BOUNDED, TYPE_QUAL_BOUNDED):
1681 Remove.
1682 (TYPE_QUALS): Remove BOUNDED.
1683 (TREE_EXPR_QUALS, TREE_FUNC_QUALS): Remove.
1684 (TYPE_BOUNDED_VALUE, TYPE_BOUNDED_BASE, TYPE_BOUNDED_EXTENT,
1685 TYPE_BOUNDED_SUBTYPE, TYPE_UNBOUNDED_VARIANT, TYPE_POINTER_DEPTH,
1686 TYPE_AMBIENT_BOUNDEDNESS, MAX_POINTER_DEPT,
1687 VA_LIST_POINTER_DEPTH): Remove.
1688 (struct tree_type): Remove pointer_depth.
1689
1690 2003-05-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1691
1692 * c-pretty-print.c (pp_c_integer_literal): Use
1693 HOST_WIDE_INT_PRINT_DOUBLE_HEX.
1694
1695 2003-05-20 Roger Sayle <roger@eyesopen.com>
1696 Kazu Hirata <kazu@cs.umass.edu>
1697 Joern Rennecke <joern.rennecke@superh.com>
1698
1699 * gcse.c (cprop_jump): Make use of REG_EQUAL notes on both
1700 setcc and jump, if they exist. If substituted instruction
1701 fails to validate, store current effort in a REG_EQUAL note.
1702 (cprop_insn): Don't attempt further substitutions if the
1703 current instruction has been deleted.
1704 (local_cprop_pass): Likewise.
1705
1706 * jump.c (redirect_jump): Also update REG_EQUAL note, if
1707 one is attached to the jump instruction.
1708 (invert_jump): Delete REG_EQUAL note on jump, if one exists.
1709
1710 2003-05-21 Danny Smith <dannysmith@users.sourceforge.net>
1711
1712 PR c++/9738
1713 * config/i386/winnt.c (i386_pe_encode_section_info): Enable
1714 even if not first.
1715
1716 2003-05-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1717
1718 * genautomata.c (output_description, output_automaton_units,
1719 output_state_arcs): Add missing specifiers.
1720
1721 2003-05-20 Bob Wilson <bob.wilson@acm.org>
1722
1723 * config/xtensa/lib1funcs.asm: Avoid use of .Lfe* in .size directives.
1724 (do_abs, do_addx2, do_addx4, do_addx8): New assembler macros.
1725 (__mulsi3): Use do_addx* instead of ADDX* instructions. Formatting.
1726 (nsau): Rename to do_nsau. Provide alternate version for use when
1727 the NSAU instruction is available.
1728 (__udivsi3, __divsi3, __umodsi3, __modsi3): Use do_nsau macro.
1729 (__divsi3, __modsi3): Use do_abs macro instead of ABS instruction.
1730 * config/xtensa/xtensa-config.h: Update comments to match binutils.
1731 (XCHAL_HAVE_ABS, XCHAL_HAVE_ADDX): Define.
1732 * config/xtensa/xtensa.h (MASK_ABS, MASK_ADDX): Define.
1733 (TARGET_ABS, TARGET_ADDX): Define.
1734 (TARGET_DEFAULT): Conditionally add MASK_ABS and MASK_ADDX.
1735 (TARGET_SWITCHES): Add "abs", "no-abs", "addx", and "no-addx".
1736 * config/xtensa/xtensa.md (*addx2, *addx4, *addx8, *subx2, *subx4,
1737 *subx8): Set predicate condition to TARGET_ADDX.
1738 (abssi2): Set predicate condition to TARGET_ABS.
1739 * doc/invoke.texi (Option Summary): Document new "-mabs", "-mno-abs",
1740 "-maddx", and "-mno-addx" options.
1741 (Xtensa Options): Likewise. Also tag some opcode names with @code.
1742
1743 2003-05-20 Kevin Ryde <user42@zip.com.au>
1744 Wolfgang Bangerth <bangerth@dealii.org>
1745
1746 PR/10355
1747 * doc/extend.texi: Put a warning into the documentation
1748 of attribute regparm.
1749
1750 2003-05-20 Jason Merrill <jason@redhat.com>
1751
1752 * tree.c (expr_last): New fn.
1753 * tree.h: Declare it.
1754 * objc/objc-act (expr_last): Rename to objc_expr_last.
1755
1756 2003-05-20 J"orn Rennecke <joern.rennecke@superh.com>
1757
1758 * sh.c (sh_register_move_cost): Add clase for moving between
1759 FP registers and MAC registers.
1760
1761 2003-05-19 John David Anglin <dave.anglin@nrc-gnrc.gc.ca>
1762
1763 * pa/milli64.S ($$mulI): Fix typo.
1764
1765 2003-05-19 Matt Kraai <kraai@alumni.cmu.edu>
1766
1767 * alias.c (nonlocal_mentioned_p, nonlocal_referenced_p)
1768 (nonlocal_set_p): Remove initial blank line.
1769 * dwarf2out.c (simple_type_size_in_bits): Likewise.
1770 * et-forest.c (et_forest_create): Likewise.
1771 * explow.c (stabilize): Likewise.
1772 * fix-header.c (write_lbrac): Likewise.
1773 * graph.c (start_fct, node_data): Likewise.
1774 * jump.c (only_sets_cc0_p, sets_cc0_p): Likewise.
1775 * rtlanal.c (global_reg_mentioned_p): Likewise.
1776 * tree.c (bit_position): Likewise.
1777
1778 2003-05-19 Alexandre Oliva <aoliva@redhat.com>
1779
1780 * config/mips/linux64.h (LIB_SPEC): Add missing -lc and correct
1781 -lthread to -lpthread.
1782
1783 2003-05-19 Neil Booth <neil@daikokuya.co.uk>
1784
1785 * c-opts.c (c_common_decode_option): Don't accept dollars
1786 as identifier characters in assembly.
1787 * doc/cpp.texi: Document this.
1788
1789 2003-05-19 Seth Arnold <sarnold@wirex.com>
1790 Aldy Hernandez <aldyh@redhat.com>
1791
1792 * config/rs6000/rs6000.c (rs6000_stack_info): Do not add
1793 vrsave_size twice.
1794
1795 2003-05-19 Aldy Hernandez <aldyh@redhat.com>
1796
1797 * doc/tm.texi (function_arg): Fix typo.
1798
1799 2003-05-19 Matt Austern <austern@apple.com>
1800
1801 * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-offsetof option.
1802 * c-common.h (warn_invalid_offsetof): Declare.
1803 * c-common.c (warn_invalid_offsetof): Define.
1804 * doc/invoke.texi: Document -Winvalid-offsetof.
1805 * testsuite/g++.dg/other/offsetof3.C: New.
1806 * testsuite/g++.dg/other/offsetof4.C: New.
1807
1808 2003-05-19 Kevin B. Hendricks <kevin.hendricks@sympatico.ca>
1809 David Edelsohn <edelsohn@gnu.org>
1810
1811 * config/rs6000/rs6000.c (rs6000_alignment_string,
1812 rs6000_alignment_flags): New variables.
1813 (rs6000_parse_alignment_option): New function.
1814 (rs6000_override_options): Call it.
1815 * config/rs6000/rs6000.h (TARGET_OPTIONS): Add -malign-XXX option.
1816 (MASK_ALIGN_POWER, MASK_ALIGN_NATURAL, TARGET_ALIGN_NATURAL): New
1817 macros.
1818 * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Always use COMPUTED
1819 natural alignment if TARGET_NATURAL_ALIGNMENT
1820 (ROUND_TYPE_ALIGN): Always use default record alignment if
1821 TAGET_NATURAL_ALIGNMENT.
1822 * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Same
1823 (ROUND_TYPE_ALIGN): Same.
1824 * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Same
1825 (ROUND_TYPE_ALIGN): Same.
1826 * doc/invoke.texi (Option Summary, PowerPC Options): Document
1827 new options.
1828
1829 2003-05-19 J"orn Rennecke <joern.rennecke@superh.com>
1830
1831 * c-decl.c (finish_decl): When setting the DECL_ASSEMBLER_NAME
1832 of a function using ASMSPEC, prepend a star.
1833
1834 2003-05-19 Jason Merrill <jason@redhat.com>
1835
1836 * tree-inline.c (copy_body_r): Avoid generating &* during inline
1837 substitution.
1838
1839 2003-05-19 Andrew Macleod <amacleod@redhat.com>
1840
1841 * config/stormy16/stormy16.c (xstormy16_expand_prologue): Do
1842 not mark assignments to the hard frame pointer as being stack
1843 frame related.
1844 (xstormy16_expand_epilogue): Mark adjustments to the stack
1845 pointer as being stack frame related.
1846
1847 2003-05-19 Richard Sandiford <rsandifo@redhat.com>
1848
1849 * config/mips/mips.h (ISA_HAS_LOAD_DELAY, ISA_HAS_XFER_DELAY,
1850 ISA_HAS_FCMP_DELAY, ISA_HAS_HILO_INTERLOCKS): New macros.
1851 (PREDICATE_CODES): Add hilo_operand.
1852 * config/mips/mips.c (hilo_operand): New predicate.
1853 (mips_adjust_insn_length): Account for the number nops that might
1854 be needed to avoid hardware hazards.
1855 * config/mips/mips.md (dslot): Remove attribute.
1856 (hazard): New attribute.
1857 (can_delay): Use it. Check for calls, branches & jumps.
1858 (muldi3): Use the standard dmult pattern for mips16 code.
1859 (muldi3_internal, muldi3_internal2): Adjust conditions accordingly.
1860
1861 2003-05-19 Richard Sandiford <rsandifo@redhat.com>
1862
1863 * config/mips/mips-protos.h (final_prescan_insn,
1864 mips_count_memory_refs, mips_fill_delay_slot): Remove.
1865 * config/mips/mips.h (delay_type, dslots_load_total,
1866 dslots_load_filled, dslots_jump_total, dslots_jump_filled,
1867 dslots_number_nops, num_refs, mips_load_reg, mips_load_reg2,
1868 mips_load_reg3, mips_load_reg4): Remove.
1869 (MASK_STATS): Remove.
1870 (MASK_EXPLICIT_RELOCS): Reuse its value.
1871 (TARGET_STATS): Remove.
1872 (TARGET_SWITCHES): Turn -mstats and -mno-stats into no-ops.
1873 Warn that -mstats is now ignored.
1874 (FINAL_PRESCAN_INSN): Undefine.
1875 (DBR_OUTPUT_SEQEND): Remove handling of dslot statistics.
1876 (ASM_OUTPUT_REG_POP): Likewise.
1877 * config/mips/mips.c (dslots_load_total, dslots_load_filled,
1878 dslots_jump_total, dslots_jump_filled, dslots_number_nops, num_refs,
1879 mips_load_reg, mips_load_reg2, mips_load_reg3, mips_load_reg4,
1880 mips_fill_delay_slot, mips_count_memory_refs,
1881 final_prescan_insn): Remove.
1882 (output_block_move): Remove calls to mips_count_memory_refs.
1883 (print_operand): Remove printing of #nop for TARGET_STATS.
1884 (mips_output_function_epilogue): Remove TARGET_STATS code.
1885 Reorganize setting of fnnmae.
1886 * config/mips/mips.md: Remove handling of dslot statistics
1887 throughout file. Change all fcmp patterns into normal asm
1888 templates, removing calls to mips_fill_delay_slot.
1889 * doc/invoke.texi: Remove documentation of -mstats.
1890
1891 2003-05-19 Richard Sandiford <rsandifo@redhat.com>
1892
1893 * config/mips/mips.c (mips_class_max_nregs): Return the number of
1894 words in the mode.
1895
1896 2003-05-19 Richard Sandiford <rsandifo@redhat.com>
1897
1898 * config/mips/mips.c (override_options): Disable explicit
1899 relocs for old ABIs unless using gas.
1900
1901 2003-05-18 Eric Christopher <echristo@redhat.com>
1902
1903 * config/mips/mips.h: Remove definition of g_switch_value.
1904
1905 2003-05-18 Matt Kraai <kraai@alumni.cmu.edu>
1906
1907 * flags.h (g_switch_value): Change to an unsigned
1908 HOST_WIDE_INT.
1909 * toplev.c (g_switch_value): Likewise.
1910
1911 * config/alpha/alpha.c (small_symbolic_operand): Remove
1912 g_switch_value cast.
1913 (alpha_in_small_data_p): Cast size to an unsigned
1914 HOST_WIDE_INT.
1915
1916 * config/frv/frv.c (frv_in_small_data_p): Cast size to an
1917 unsigned HOST_WIDE_INT.
1918 * config/frv/frv.h (g_switch_value, g_switch_set): Remove.
1919 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Declare g_switch_set.
1920
1921 * config/m32r/m32r.c (m32r_in_small_data_p): Cast size to an
1922 unsigned HOST_WIDE_INT.
1923 (m32r_asm_file_start): Use HOST_WIDE_INT_PRINT_UNSIGNED.
1924 * config/m32r/m32r.h (g_switch_value, g_switch_set): Remove.
1925 (ASM_OUTPUT_ALIGNED_COMMON): Declare g_switch_value.
1926
1927 * config/rs6000/rs6000.c (rs6000_file_start): Use
1928 HOST_WIDE_INT_PRINT_UNSIGNED.
1929 (small_data_operand): Cast summand to unsigned HOST_WIDE_INT.
1930 (rs6000_elf_in_small_data_p): Cast size to unsigned
1931 HOST_WIDE_INT.
1932 * config/rs6000/sysv4.h (g_switch_value, g_switch_set):
1933 Remove.
1934 (SUBTARGET_OVERRIDE_OPTIONS): Declare g_switch_value and
1935 g_switch_set.
1936 (ASM_OUTPUT_ALIGNED_LOCAL): Declare g_switch_value and remove
1937 g_switch_value cast.
1938
1939 2003-05-18 Roger Sayle <roger@eyesopen.com>
1940 Zack Weinberg <zack@codesourcery.com>
1941
1942 PR middle-end/10472
1943 * builtins.c (expand_builtin_memcpy): Call force_operand on
1944 expressions and use simplify_gen_binary to create the addition.
1945
1946 2003-05-18 Andreas Schwab <schwab@suse.de>
1947
1948 * config/m68k/m68k.md: Use define_constants for unspec numbers.
1949
1950 2003-05-18 Neil Booth <neil@daikokuya.co.uk>
1951
1952 * config/sparc/sparc.h: Define sparc for now.
1953 2003-05-18 Nathanael Nerode <neroden@gcc.gnu.org>
1954
1955 * config.gcc: Clear xm_file, md_file at the beginning of each pass.
1956
1957 * config/stormy16/stormy16.h: Remove about 3000 lines of
1958 target-independent comments. Update copyright notice.
1959
1960 * doc/collect2.texi: GNU CC -> GCC.
1961 * doc/headerdirs.texi: GNU CC -> GCC.
1962
1963 2003-05-18 Gabriel Dos Reis <gdr@integrable-solutions.net>
1964
1965 * hashtable.h (struct ht_identifier): Add data member "hash_value".
1966 * hashtable.c (ht_lookup): Use it when searching, remember.
1967 (ht_expand): Do not recompute.
1968 * tree.h (IDENTIFIER_HASH_VALUE): New macro.
1969
1970 2003-05-18 Nathan Sidwell <nathan@codesourcery.com>
1971
1972 * gcov-io.c (gcov_read_bytes): Fix fread thinko.
1973
1974 2003-05-18 Neil Booth <neil@daikokuya.co.uk>
1975
1976 * c-cppbuiltin.c (TARGET_OS_CPP_BUILTINS, TARGET_OBJFMT_CPP_BUILTINS):
1977 Default here.
1978 (c_cpp_builtins): Invoke TARGET_OBJFMT_CPP_BUILTINS().
1979 * defaults.h: Don't default TARGET_OS_CPP_BUILTINS here.
1980 * config/elfos.h (TARGET_OBJFMT_CPP_BUILTINS): Define __ELF__.
1981 * config/freebsd-spec.h, config/netbsd-elf.h, config/alpha/gnu.h,
1982 config/arm/linux-elf.h, config/arm/rtems-elf.h,
1983 config/arm/unknown-elf.h, config/cris/cris.h, config/cris/linux.h,
1984 config/h8300/elf.h, config/i370/linux.h, config/i386/beos-elf.h,
1985 config/i386/gnu.h, config/i386/linux.h, config/i386/linux64.h,
1986 config/i386/moss.h, config/i386/rtemself.h, config/ia64/ia64.h,
1987 config/m68k/rtemself.h, config/mcore/mcore-elf.h, config/mips/linux.h,
1988 config/pa/pa-linux.h, config/rs6000/linux.h, config/rs6000/linux64.h,
1989 config/rs6000/sysv4.h, config/rs6000/vxworks.h, config/s390/linux.h,
1990 config/sh/coff.h, config/sh/elf.h, config/sh/rtemself.h,
1991 config/sh/sh.h, config/sparc/linux.h, config/sparc/linux64.h,
1992 config/sparc/openbsd64.h, config/sparc/sp64-elf.h,
1993 config/sparc/sp86x-elf.h, config/xtensa/elf.h, config/xtensa/linux.h:
1994 Don't define __ELF__.
1995 * config/alpha.h, config/m68k/linux.h (TARGET_OBJFMT_CPP_BUILTINS):
1996 Define __ELF__.
1997 * doc/cpp.texi: Document __ELF__.
1998 * doc/tm.texi: Document TARGET_OBJFMT_CPP_BUILTINS. *
1999
2000 2003-05-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2001
2002 * builtins.c (validate_arglist): Eliminate libiberty VA_ macros,
2003 always use stdarg.
2004 * c-errors.c (pedwarn_c99): Likewise.
2005 * c-format.c (status_warning): Likewise.
2006 * c-semantics.c (build_stmt): Likewise.
2007 * calls.c (emit_library_call, emit_library_call_value): Likewise.
2008 * collect2.c (notice, fatal_perror, fatal, error): Likewise.
2009 * cpperror.c (cpp_error, cpp_error_with_line): Likewise.
2010 * diagnostic.c (build_message_string, output_printf,
2011 output_verbatim, verbatim, inform, warning, pedwarn, error, sorry,
2012 fatal_error, internal_error, warning_with_decl, pedwarn_with_decl,
2013 error_with_decl, fnotice): Likewise.
2014 * dwarf2asm.c (dw2_asm_output_data, dw2_asm_output_delta,
2015 dw2_asm_output_offset, dw2_asm_output_pcrel, dw2_asm_output_addr,
2016 dw2_asm_output_addr_rtx, dw2_asm_output_nstring,
2017 dw2_asm_output_data_uleb128, dw2_asm_output_data_sleb128,
2018 dw2_asm_output_delta_uleb128, dw2_asm_output_delta_sleb128,
2019 dw2_asm_output_encoded_addr_rtx): Likewise.
2020 * emit-rtl.c (gen_rtx, gen_rtvec): Likewise.
2021 * errors.c (warning, error, fatal, internal_error): Likewise.
2022 * final.c (output_operand_lossage, asm_fprintf): Likewise.
2023 * fix-header.c (fatal): Likewise.
2024 * gcc.c (fatal, error, notice): Likewise.
2025 * gcov.c (fnotice): Likewise.
2026 * genattrtab.c (attr_rtx, attr_printf): Likewise.
2027 * gengtype.c (error_at_line, xasprintf, oprintf): Likewise.
2028 * gensupport.c (message_with_line): Likewise.
2029 * mips-tfile.c (fatal, error): Likewise.
2030 * protoize.c (notice): Likewise.
2031 * ra-debug.c (ra_debug_msg): Likewise.
2032 * read-rtl.c (fatal_with_file_and_line): Likewise.
2033 * rtl-error.c (error_for_asm, warning_for_asm): Likewise.
2034 * tree.c (build, build_nt, build_function_type_list): Likewise.
2035
2036 2003-05-17 Neil Booth <neil@daikokuya.co.uk>
2037
2038 * defaults.h (TARGET_CPU_CPP_BUILTINS, CPP_PREDEFINES): Remove.
2039 * gcc.c (cpp_predefines): Remove.
2040 (cpp_unique_options, do_spec_1): Remove handling of CPP_PREDEFINES.
2041 (static_specs): Remove predefines.
2042 * system.h: Poison CPP_PREDEFINES.
2043 * config/freebsd.h, config/openbsd.h, config/ptx4.h, config/svr3.h,
2044 config/svr4.h, doc/tm.texi: Remove references to CPP_PREDEFINES.
2045
2046 2003-05-17 Neil Booth <neil@daikokuya.co.uk>
2047
2048 * config/m68k/hp320.h, config/m68k/linux.h, config/m68k/m68k-none.h,
2049 config/m68k/m68k.h, config/m68k/m68kemb.h, config/m68k/m68kv4.h,
2050 config/m68k/openbsd.h, config/m68k/rtemself.h: Remove CPP_PREDEFINES,
2051 use TARGET_OS_CPP_BUILTINS and TARGET_CPU_CPP_BUILTINS instead.
2052
2053 2003-05-17 Neil Booth <neil@daikokuya.co.uk>
2054
2055 PR c/9209
2056 * c-common.c, c-common.h (dollars_in_ident): Remove.
2057 * c-opts.c (DOLLARS_IN_IDENTIFIERS): Default to true.
2058 (c_common_init_options, c_common_decode_option): Set dollars_in_ident.
2059 * cpphash.h (warned_dollar): Rename warn_dollars.
2060 * cppinit.c (struct lang_flags, lang_defaults, cpp_set_lang)
2061 Permit dollars regardless of -std=.
2062 (post_options): Set warn_dollars.
2063 * cpplex.c (forms_identifier_p): Use warn_dollars.
2064 * config/darwin.h, config/alpha/vms.h, config/m68hc11/m68hc11.h:
2065 Remove redundant definitions of DOLLARS_IN_IDENTIFIERS.
2066 * doc/cpp.texi, doc/cppopts.texi, doc/invoke.texi, doc/tm.texi:
2067 Update documentation.
2068
2069 2003-05-17 Andreas Schwab <schwab@suse.de>
2070
2071 * config/m68k/m68k.c (m68k_output_function_prologue): Use
2072 HOST_WIDE_INT_PRINT_DEC for fprintf and %wd for asm_fprintf when
2073 formatting a HOST_WIDE_INT.
2074 (m68k_output_function_epilogue): Likewise.
2075
2076 2003-05-17 Zack Weinberg <zack@codesourcery.com>
2077
2078 * doc/install.texi: Remove information about desupported targets.
2079
2080 2003-05-17 Andreas Schwab <schwab@suse.de>
2081
2082 * config/m68k/coff.h: Remove support for Sun FPA and Sun SKY board.
2083 * config/m68k/linux.h: Likewise.
2084 * config/m68k/m68k-none.h: Likewise.
2085 * config/m68k/netbsd-elf.h: Likewise.
2086 * config/m68k/sgs.h: Likewise.
2087 * config/m68k/m68k.h: Likewise.
2088 * config/m68k/m68k.md: Likewise.
2089 * config/m68k/m68k.c: Likewise.
2090 * doc/md.texi (Machine Constraints): Remove Sun FPA specific
2091 constraints.
2092 * doc/invoke.texi (Option Summary): Remove -mfpa.
2093 (M680x0 Options): Likewise.
2094
2095 2003-05-17 David Edelsohn <edelsohn@gnu.org>
2096
2097 * rs6000.c (rs6000_function_value): Simplify REAL_TYPE logic.
2098
2099 2003-05-17 Neil Booth <neil@daikokuya.co.uk>
2100
2101 * config/sol2.h: Add TARGET_SUB_OS_CPP_BUILTINS.
2102 * config/sparc/liteelf.h, config/sparc/openbsd64.h,
2103 config/sparc/rtemself.h, config/sparc/sol2-64.h,
2104 config/sparc/sp64-elf.h, config/sparc/sp86x-elf.h:
2105 Update for use of TARGET_SUB_OS_CPP_BUILTINS.
2106
2107 2003-05-17 Neil Booth <neil@daikokuya.co.uk>
2108
2109 * i960/i960.h, i960/rtems.h: Use TARGET_OS_CPP_BUILTINS and
2110 TARGET_CPU_CPP_BUILTINS in preference to CPP_PREDEFINES.
2111
2112 2003-05-17 Neil Booth <neil@daikokuya.co.uk>
2113
2114 * config.gcc (sparc-*-sysv4*): Add sparc/sysv4-only.h.
2115 * sparc/aout.h, sparc/elf.h, sparc/freebsd.h, sparc/linux.h,
2116 sparc/linux64.h, sparc/lite.h, sparc/litecoff.h, sparc/liteelf.h,
2117 sparc/netbsd-elf.h, sparc/openbsd.h, sparc/openbsd64.h,
2118 sparc/pbd.h, sparc/rtemself.h, sparc/sol2-64.h, sparc/sol2-bi.h,
2119 sparc/sol2.h, sparc/sp64-elf.h, sparc/sp86-elf.h, sparc/sparc.h,
2120 sparc/sysv4.h,
2121 * sparc/sysv4-only.h: New.
2122
2123 2003-05-17 Alan Modra <amodra@bigpond.net.au>
2124
2125 * function.c (assign_parms): Check for zero size args.
2126
2127 2003-05-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2128
2129 * cfgloopanal.c (test_for_iteration): Use string concatentation on
2130 HOST_WIDE_INT_PRINT_* format specifier to collapse multiple
2131 function calls into one.
2132 * dbxout.c (dbxout_symbol): Likewise.
2133 * defaults.h (ASM_OUTPUT_SIZE_DIRECTIVE): Likewise.
2134 * dwarf2asm.c (dw2_asm_output_data_uleb128,
2135 dw2_asm_output_data_sleb128): Likewise.
2136 * genrecog.c (debug_decision_2): Likewise.
2137 * loop.c (emit_prefetch_instructions): Likewise.
2138 * print-rtl.c (print_rtx): Likewise.
2139 * print-tree.c (print_node_brief, print_node): Likewise.
2140 * ra-debug.c (dump_igraph, dump_graph_cost,
2141 dump_static_insn_cost): Likewise.
2142 * ra-rewrite.c (dump_cost): Likewise.
2143 * sdbout.c (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
2144 * sreal.c (dump_sreal): Likewise.
2145 * unroll.c (unroll_loop, precondition_loop_p): Likewise.
2146 * varasm.c (assemble_vtable_entry): Likewise.
2147
2148 * avr.c (avr_output_function_prologue,
2149 avr_output_function_epilogue, print_operand): Fix format specifier
2150 warnings.
2151 (init_cumulative_args): Mark parameter with ATTRIBUTE_UNUSED.
2152 * avr.h (FUNCTION_VALUE_REGNO_P): Fix signed/unsigned warnings.
2153
2154 2003-05-16 Geoffrey Keating <geoffk@apple.com>
2155
2156 * config/rs6000/rs6000.c (expand_block_move): Unify the TARGET_STRING
2157 and ! TARGET_STRING cases.
2158
2159 * doc/cppopts.texi (-undef): Fix texinfo warning.
2160
2161 * doc/cppopts.texi (-H): Document that -H works for PCH files too.
2162 * cppfiles.c (validate_pch): When -H is used, print some information
2163 about PCH files found.
2164
2165 2003-05-16 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2166
2167 * config/mips/t-elf: Remove obsolete rules adding dependencies on tm.h.
2168 * config/mips/t-isa3264, config/mips/t-r3900: Likewise.
2169 * config/mips/t-sr71k: Likewise.
2170
2171 2003-05-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2172
2173 * arc.c (arc_output_function_prologue,
2174 arc_output_function_epilogue): Fix format specifier warnings.
2175 * arc.h (LARGE_INT): Fix signed/unsigned warnings.
2176
2177 * v850.c (print_operand): Fix format specifier warnings.
2178
2179 * ns32k.c (ADJSP, ns32k_output_function_prologue): Fix format
2180 specifier warnings.
2181
2182 * mcore.c (mcore_print_operand_address, mcore_print_operand): Fix
2183 format specifier warnings.
2184
2185 * ip2k.c (function_prologue, function_epilogue, print_operand):
2186 Fix format specifier warnings.
2187 * ip2k.md: Likewise.
2188
2189 * i960.c (i960_output_function_prologue, i960_print_operand,
2190 i960_print_operand_addr): Fix format specifier warnings.
2191
2192 * i370.c (ascebc, ebcasc): Wrap in macros controlling usage.
2193 (i370_output_function_prologue): Fix format specifier warnings.
2194 * i370.h (PRINT_OPERAND): Likewise.
2195
2196 * fr30.c (fr30_print_operand): Fix format specifier warnings.
2197
2198 * dsp16xx.c (print_operand_address): Fix format specifier warning.
2199 * dsp16xx.h (INCLUDE_DEFAULTS): Add missing initializers.
2200
2201 * c4x.c (c4x_print_operand, c4x_print_operand_address): Fix format
2202 specifier warnings.
2203
2204 * alpha.c (print_operand_address, alpha_start_function,
2205 unicosmk_output_ssib): Use string concatentation on
2206 HOST_WIDE_INT_PRINT_* format specifier to collapse multiple
2207 function calls into one.
2208 * arm.c (arm_print_operand): Likewise.
2209 * cris.c (cris_asm_output_mi_thunk): Likewise.
2210 * frv.c (frv_asm_output_mi_thunk): Likewise.
2211 * ia64.c (ia64_print_operand, process_set): Likewise.
2212 * m68k.c (m68k_output_function_epilogue, m68k_output_mi_thunk):
2213 Likewise.
2214 * mips/iris5gas.h (PUT_SDB_SIZE): Likewise.
2215 * mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
2216 * pa.c (output_div_insn, pa_asm_output_mi_thunk): Likewise.
2217 * pa.h (PRINT_OPERAND_ADDRESS): Likewise.
2218 * rs6000.c (rs6000_va_start, print_operand_address): Likewise.
2219 * s390.c (s390_assemble_integer): Likewise.
2220 * sparc.c (sparc_flat_function_prologue,
2221 sparc_flat_function_epilogue): Likewise.
2222 * stormy16.c (xstormy16_print_operand_address, xstormy16_print_operand): Likewise.
2223 * vax.c (vax_output_mi_thunk): Likewise.
2224
2225 * frv.c (frv_print_operand_memory_reference): Fix format specifier
2226 warning.
2227 (frv_rtx_costs): Mark parameter with ATTRIBUTE_UNUSED.
2228
2229 * m68k.c (m68k_output_function_epilogue): Fix format specifier
2230 warnings.
2231
2232 * stormy16-protos.h (xs_hi_general_operand,
2233 xs_hi_nonmemory_operand): Prototype.
2234 * stormy16.c (xstormy16_output_shift): Fix format specifier
2235 warnings.
2236
2237 * cris.c: Fix format specifier warnings.
2238
2239 2003-05-16 Nick Clifton <nickc@redhat.com>
2240
2241 * config/arm/lib1funcs.asm: Fix typo: LSM instead of LSYM.
2242
2243 2003-05-16 Wolfgang Bangerth <bangerth@dealii.org>
2244
2245 * doc/bugreport.texi: Remove most of the of the preface of the
2246 bugs section.
2247
2248 2003-05-16 Jakub Jelinek <jakub@redhat.com>
2249
2250 * config/ia64/unwind-ia64.c (uw_update_reg_address): Handle
2251 .save XX, r0.
2252
2253 2003-05-15 Roger Sayle <roger@eyesopen.com>
2254
2255 * config/alpha/alpha.h (ASM_OUTPUT_SKIP): Fix typo.
2256
2257 2003-05-15 Eric Christopher <echristo@redhat.com>
2258
2259 * cfgcleanup.c (merge_blocks): Fix return value.
2260
2261 2003-05-15 Eric Christopher <echristo@redhat.com>
2262
2263 * combine.c (expand_compound_operation): Make sure
2264 that zero_extend operation is profitable.
2265
2266 2003-05-15 Richard Henderson <rth@redhat.com>
2267
2268 * config/alpha/linux.h, config/alpha/linux-elf.h: Remove
2269 code protected by USE_GNULIBC_1.
2270
2271 2003-05-15 Zack Weinberg <zack@codesourcery.com>
2272
2273 * config.gcc: Purge all targets obsoleted in GCC 3.3. Also
2274 remove hppa*-*-mpeix* which could not be built, and prune
2275 files from tmake_file= or tm_file= lists that don't exist.
2276
2277 * config/alpha/alpha-interix.h, config/alpha/alpha32.h
2278 * config/alpha/t-interix, config/arm/conix-elf.h
2279 * config/arm/t-arm-aout, config/arm/t-strongarm-coff
2280 * config/arm/unknown-elf-oabi.h, config/i386/win32.h
2281 * config/m68k/3b1.h, config/m68k/3b1g.h, config/m68k/amix.h
2282 * config/m68k/atari.h, config/m68k/ccur-GAS.h, config/m68k/crds.h
2283 * config/m68k/hp2bsd.h, config/m68k/hp3bsd.h
2284 * config/m68k/hp3bsd44.h, config/m68k/linux-aout.h
2285 * config/m68k/m68k-psos.h, config/m68k/mot3300.h
2286 * config/m68k/pbb.h, config/m68k/plexus.h, config/m68k/sun2.h
2287 * config/m68k/sun2o4.h, config/m68k/sun3.h, config/m68k/sun3mach.h
2288 * config/m68k/sun3n.h, config/m68k/sun3n3.h, config/m68k/sun3o3.h
2289 * config/m68k/t-mot3300, config/m68k/t-mot3300-gald
2290 * config/m68k/t-mot3300-gas, config/m68k/t-mot3300-gld
2291 * config/m68k/tower-as.h, config/m68k/tower.h
2292 * config/m88k/aout-dbx.h, config/m88k/m88k-aout.h
2293 * config/m88k/m88k-modes.def, config/m88k/m88k-move.sh
2294 * config/m88k/m88k-protos.h, config/m88k/m88k.c
2295 * config/m88k/m88k.h, config/m88k/m88k.md, config/m88k/openbsd.h
2296 * config/m88k/sysv4.h, config/m88k/t-luna, config/m88k/t-luna-gas
2297 * config/m88k/t-m88k, config/m88k/t-sysv4, config/mcore/gfloat.h
2298 * config/mips/rtems64.h, config/mips/sni-gas.h
2299 * config/mips/sni-svr4.h, config/mips/t-ecoff
2300 * config/mn10200/lib1funcs.asm, config/mn10200/mn10200-protos.h
2301 * config/mn10200/mn10200.c, config/mn10200/mn10200.h
2302 * config/mn10200/mn10200.md, config/mn10200/t-mn10200
2303 * config/pa/pa-hiux.h, config/pa/pa-hpux7.h, config/pa/pa-hpux9.h
2304 * config/pa/pa-oldas.h, config/pa/t-mpeix, config/psos.h
2305 * config/romp/romp-protos.h, config/romp/romp.c
2306 * config/romp/romp.h, config/romp/romp.md, config/rs6000/aix31.h
2307 * config/rs6000/aix3newas.h, config/rs6000/mach.h
2308 * config/sparc/bsd.h, config/sparc/hal.h
2309 * config/sparc/linux-aout.h, config/sparc/lynx-ng.h
2310 * config/sparc/lynx.h, config/sparc/netbsd.h
2311 * config/sparc/sp86x-aout.h, config/sparc/splet.h
2312 * config/sparc/sun4gas.h, config/sparc/sun4o3.h
2313 * config/sparc/sunos4.h, config/sparc/t-chorus-elf
2314 * config/sparc/t-halos, config/sparc/t-sparcbare
2315 * config/sparc/t-splet, config/sparc/t-sunos41
2316 * config/v850/rtems.h: Delete file.
2317
2318 2003-05-15 Aldy Hernandez <aldyh@redhat.com>
2319
2320 * config/rs6000/rs6000-protos.h (function_value): Protoize.
2321
2322 * config/rs6000/rs6000.h (FUNCTION_VALUE): Call function.
2323
2324 * config/rs6000/rs6000.c (rs6000_function_value): New.
2325
2326 2003-05-15 Philip Blundell <philb@gnu.org>
2327
2328 * config/arm/arm.c (arm_is_xscale): Rename to arm_arch_xscale.
2329 All uses updated.
2330 (arm_tune_xscale): New variable.
2331 (arm_override_options): Set it.
2332 (arm_adjust_cost): Use it in place of arm_arch_xscale.
2333 (arm_gen_load_multiple): Likewise.
2334 (arm_gen_store_multiple): Likewise.
2335 * config/arm/arm.md (is_xscale): Likewise.
2336 * config/arm/arm.h (arm_tune_xscale): Declare.
2337
2338 2003-05-15 Philip Blundell <philb@gnu.org>
2339
2340 PR target/10730
2341 * config/arm/arm.c (adjacent_mem_locations): Reject offsets
2342 involving invalid constants.
2343
2344 2003-05-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2345
2346 * pa.c (hppa_expand_prologue): Remove blockage.
2347
2348 2003-05-15 Wolfgang Bangerth <bangerth@dealii.org>
2349
2350 * doc/bugreport.texi: Remove most of the bug reporting
2351 instructions and merge them into bugs.html.
2352
2353 2003-05-14 Matt Kraai <kraai@alumni.cmu.edu>
2354
2355 * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Cast
2356 g_switch_value to unsigned HOST_WIDE_INT.
2357
2358 2003-05-14 Eric Christopher <echristo@redhat.com>
2359
2360 * combine.c: Fix header comments.
2361 (distribute_notes): Remove usage of elim_i1, elim_i2. Propagate
2362 to all calls and prototype.
2363
2364 2003-05-14 Roger Sayle <roger@eyesopen.com>
2365
2366 PR optimization/10764
2367 * config/i386/i386.md (atan2df3, atan2sf3, atan2xf3, atan2tf3):
2368 Add an explicit clobber to show that UNSPEC_FPATAN clobbers st(1).
2369 (*fyl2x_sfxf3, *fyl2x_dfxf3, *fyl2x_xf3, *fyl2x_tfxf3): Likewise,
2370 add an explicit clobber to show that UNSPEC_FYL2X clobbers st(1).
2371 (logsf2, logdf2, logxf2, logtf2): Update expander patterns to match
2372 the corresponding *fyl2x_?fxf3 instructions.
2373
2374 2003-05-14 Bob Wilson <bob.wilson@acm.org>
2375
2376 * config/xtensa/lib2funcs.S (TRAMPOLINE_SIZE): Change from 49 to 59.
2377 * config/xtensa/xtensa-config.h (XCHAL_HAVE_CONST16,
2378 XCHAL_HAVE_L32R): New.
2379 * config/xtensa/xtensa-protos.h (non_const_move_operand,
2380 xtensa_load_constant, xtensa_function_prologue,
2381 xtensa_function_epilogue): Delete prototypes.
2382 (xtensa_expand_prologue): New.
2383 * config/xtensa/xtensa.c (frame_size_const,
2384 TARGET_ASM_FUNCTION_PROLOGUE, TARGET_MACHINE_DEPENDENT_REORG,
2385 non_const_move_operand, xtensa_load_constant, xtensa_reorg,
2386 xtensa_function_prologue): Delete.
2387 (add_operand, xtensa_mem_offset): Formatting.
2388 (move_operand): If the const16 option is available, allow any SFmode
2389 and SImode constants.
2390 (xtensa_emit_move_sequence): Inline the former contents of
2391 xtensa_load_constant with modifications to handle the const16 option.
2392 (override_options): Add xtensa_char_to_class['W'] and set it to
2393 the general register class only if the const16 option is enabled.
2394 Fix formatting. Disallow PIC when using the const16 option.
2395 (print_operand): Reorganize to switch on "letter" instead of the
2396 RTL code. Add output_operand_lossage calls for invalid cases.
2397 Add support for 't' and 'b' letters.
2398 (xtensa_expand_prologue): New function to replace
2399 xtensa_function_prologue and xtensa_reorg.
2400 (xtensa_function_epilogue): Declare this as static. Delete code
2401 to print the retw.n or retw instruction.
2402 (xtensa_return_addr): Use A0_REG instead of 0.
2403 (xtensa_rtx_costs): Add costs for using the const16 option.
2404 * config/xtensa/xtensa.h (MASK_CONST16, TARGET_CONST16): New.
2405 (TARGET_DEFAULT): Add CONST16 if L32R instructions not available.
2406 (TARGET_SWITCHES): Add "const16" and "no-const16".
2407 (REG_CLASS_FROM_LETTER): Add comment about new 'W' letter.
2408 (EXTRA_CONSTRAINT): Change 'T' constraint to only apply when not
2409 using the const16 option.
2410 (TRAMPOLINE_TEMPLATE): Rewrite to avoid hardwired use of l32r insn.
2411 (TRAMPOLINE_SIZE): Change from 49 to 59.
2412 (INITIALIZE_TRAMPOLINE): Adjust offsets to match new trampoline.
2413 (GO_IF_LEGITIMATE_ADDRESS): Do not allow constant pool addresses
2414 when using the const16 option.
2415 (PREDICATE_CODES): Delete non_const_move_operand.
2416 * config/xtensa/xtensa.md (define_constants): Add A1_REG, A8_REG, and
2417 UNSPECV_ENTRY.
2418 (movdi, movdf): If the source is a constant, always expand to a
2419 sequence of movsi insns.
2420 (movdi_internal, movdf_internal): Remove alternative using l32r insns.
2421 (movsi_internal, movsf_internal): Add alternative using const16 insns.
2422 (movsf): Add const16 support.
2423 (entry, prologue, epilogue): New.
2424 (set_frame_ptr): Add missing mode for unspec_volatile operation.
2425 Likewise for subsequent split pattern.
2426 * doc/invoke.texi (Option Summary, Xtensa Options): Document new
2427 "-mconst16" and "-mno-const16" options.
2428
2429 2003-05-14 Richard Henderson <rth@redhat.com>
2430
2431 * config/ia64/ia64.c (ia64_expand_load_address): Force destination
2432 to be DImode register. Merge load_symptr.
2433 * config/ia64/ia64.md (load_symptr): Remove.
2434
2435 2003-05-14 Richard Henderson <rth@redhat.com>
2436
2437 * rtl.h (TREE_CONSTANT_POOL_ADDRESS_P): Rename from
2438 DEFERRED_CONSTANT_P.
2439 * integrate.c (copy_rtx_and_substitute): Update use.
2440 * varasm.c (build_constant_desc): Set SYMBOL_REF_DECL
2441 to the copy generated.
2442 (maybe_output_constant_def_contents): Examine TREE_ASM_WRITTEN
2443 of the constant to see if we should emit.
2444 (mark_constant): Similarly.
2445 (output_constant_def_contents): Set TREE_ASM_WRITTEN.
2446
2447 2003-05-14 David Edelsohn <edelsohn@gnu.org>
2448
2449 * config/rs6000/rs6000.md (movsi_internal2): Use compare for self
2450 move record condition.
2451 (movdi_internal2): Same.
2452
2453 2003-05-14 Nathan Sidwell <nathan@codesourcery.com>
2454
2455 * gcov-io.h (gcov_write_bytes, gcov_read_bytes): Remove here.
2456 (GCOV_TAG_*) Force type to gcov_unsigned_t.
2457 (GCOV_CHECK, GCOV_CHECK_READING, GCOV_CHECK_WRITING): New.
2458 (struct gcov_var): Remove modified. Add start, length, offset,
2459 overread. Have buffer array for libgcov.
2460 (gcov_sync, gcov_seek): Definitions moved to gcov-io.c.
2461 (gcov_position, gcov_rewrite, gcov_is_eof): Adjust.
2462 * gcov-io.c (gcov_open): Set mode, do not read anything.
2463 (gcov_close): Write final block.
2464 (gcov_write_block, gcov_allocate): New.
2465 (gcov_write_bytes): Make static. Write or allocate buffer.
2466 (gcov_write_unsigned, gcov_write_counter): Buffer can never be
2467 null.
2468 (gcov_write_string): Adjust.
2469 (gcov_write_tag)
2470 (gcov_write_length): Adjust. Flush the block.
2471 (gcov_write_tag_length): Buffer can never be null.
2472 (gcov_read_bytes): Make static. Read in block.
2473 (gcov_sync): Moved here. Adjust.
2474 (gcov_seek): Moved here. Adjust.
2475 * coverage.c (read_counts_file): Adjust.
2476 * gcov-dump.c (print_prefix): Add position parameter.
2477 (flag_dump_positions): New flag.
2478 (options, main, print_usage): Add it.
2479 (dump_file, tag_blocks, tag_arcs, tag_lines, tag_counters,
2480 tag_summary): Adjust.
2481 * gcov.c (read_graph_file, read_count_file): Adjust.
2482 * libgcov.c (gcov_exit): Adjust.
2483
2484 * Makefile.in (LIBGCC_DEPS): Use $(srcdir) on gcov files
2485 (libgcov.a): Depend on libgcc.a.
2486 (gcov.o, gcov-dump.o): Add gcov-io.c.
2487 * mklibgcc.in (libgcov_c_dep): Use $(srcdir).
2488
2489 * loop.c (check_dbra_loop): Factor common test.
2490
2491 2003-05-14 Ben Elliston <bje@wasabisystems.com>
2492
2493 * doc/md.texi (Automaton pipeline description): Grammar fixes.
2494
2495 2003-05-14 Richard Sandiford <rsandifo@redhat.com>
2496
2497 * target-def.h (TARGET_MACHINE_DEPENDENT_REORG): Define.
2498 (TARGET_INITIALIZER): Include it.
2499 * target.h (struct gcc_target): Add machine_dependent_reorg field.
2500 * toplev.c (rest_of_compilation): Use targetm.machine_dependent_reorg.
2501 * system.h: Poison MACHINE_DEPENDENT_REORG.
2502
2503 * config/alpha/alpha-protos.h (alpha_reorg): Remove declaration.
2504 * config/alpha/alpha.h (MACHINE_DEPENDENT_REORG): Remove.
2505 * config/alpha/alpha.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2506 (alpha_handle_trap_shadows): Remove "first insn" parameter.
2507 (alpha_align_insns): Likewise.
2508 (alpha_reorg): Likewise. Make static. Update calls to above
2509 functions.
2510
2511 * config/arm/arm-protos.h (arm_reorg): Remove declaration.
2512 * config/arm/arm.h (MACHINE_DEPENDENT_REORG): Remove.
2513 * config/arm/arm.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2514 (arm_reorg): Remove parameter. Make static.
2515
2516 * config/avr/avr-protos.h (machine_dependent_reorg): Remove.
2517 * config/avr/avr.h (MACHINE_DEPENDENT_REORG): Remove.
2518 * config/avr/avr.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2519 (avr_reorg): Renamed from machine_dependent_reorg. Make static.
2520 Remove parameter.
2521
2522 * config/c4x/c4x-protos.h (c4x_process_after_reload): Remove.
2523 * config/c4x/c4x.h (MACHINE_DEPENDENT_REORG): Remove.
2524 * config/c4x/c4x.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2525 (c4x_reorg): Renamed from c4x_process_after_reload. Make static.
2526 Remove parameter.
2527
2528 * config/d30v/d30v-protos.h (d30v_machine_dependent_reorg): Remove.
2529 * config/d30v/d30v.h (MACHINE_DEPENDENT_REORG): Remove.
2530 * config/d30v/d30v.c (d30v_machine_dependent_reorg): Remove.
2531
2532 * config/frv/frv-protos.h (frv_machine_dependent_reorg): Remove.
2533 * config/frv/frv.c: Remove orphaned comment.
2534
2535 * config/i386/i386-protos.h (x86_machine_dependent_reorg): Remove.
2536 * config/i386/i386.h (MACHINE_DEPENDENT_REORG): Remove.
2537 * config/i386/i386.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2538 (ix86_reorg): Renamed from x86_machine_dependent_reorg. Make static.
2539 Remove parameter.
2540
2541 * config/ia64/ia64-protos.h (ia64_reorg): Remove declaration.
2542 * config/ia64/ia64.h (MACHINE_DEPENDENT_REORG): Remove.
2543 * config/ia64/ia64.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2544 (emit_insn_group_barriers): Remove "first insn" parameter.
2545 (emit_all_insn_group_barriers): Likewise.
2546 (ia64_reorg): Likewise. Make static. Update calls to above functions.
2547 (ia64_output_mi_thunk): Update call to emit_all_insn_group_barriers.
2548
2549 * config/ip2k/ip2k-protos.h (machine_dependent_reorg): Remove.
2550 * config/ip2k/ip2k.h (MACHINE_DEPENDENT_REORG): Remove.
2551 * config/ip2k/ip2k.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2552 (ip2k_reorg): Renamed from machine_dependent_reorg. Make static.
2553 Remove parameter.
2554
2555 * config/m68hc11/m68hc11-protos.h (m68hc11_reorg): Remove declaration.
2556 * config/m68hc11/m68hc11.h (MACHINE_DEPENDENT_REORG): Remove.
2557 * config/m68hc11/m68hc11.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2558 (m68hc11_reorg): Make static. Remove parameter.
2559
2560 * config/mcore/mcore-protos.h (mcore_dependent_reorg): Remove.
2561 * config/mcore/mcore.h (MACHINE_DEPENDENT_REORG): Remove.
2562 * config/mcore/mcore.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2563 (conditionalize_optimization): Remove parameter.
2564 (mcore_reorg): Renamed from mcore_dependent_reorg. Remove parameter.
2565 Make static. Update call to conditionalize_optimization.
2566
2567 * config/mips/mips-protos.h (machine_dependent_reorg): Remove.
2568 * config/mips/mips.h (MACHINE_DEPENDENT_REORG): Remove.
2569 * config/mips/mips.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2570 (mips_reorg): Renamed from machine_dependent_reorg. Remove parameter.
2571 Make static.
2572
2573 * config/mmix/mmix-protos.h (mmix_machine_dependent_reorg): Remove.
2574 * config/mmix/mmix.h (MACHINE_DEPENDENT_REORG): Remove.
2575 * config/mmix/mmix.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2576 (mmix_reorg): Renamed from mmix_machine_dependent_reorg. Make static.
2577 Remove parameter.
2578
2579 * config/pa/pa-protos.h (pa_reorg): Remove declaration.
2580 * config/pa/pa.h (MACHINE_DEPENDENT_REORG): Remove.
2581 * config/pa/pa.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2582 (pa_combine_instructions): Remove "first insn" parameter.
2583 (remove_useless_addtr_insns): Likewise.
2584 (pa_reorg): Likewise. Make static. Update calls to above functions.
2585
2586 * config/rs6000/rs6000.h (MACHINE_DEPENDENT_REORG): Remove
2587 commented-out definition.
2588
2589 * config/s390/s390-protos.h (s390_machine_dependent_reorg): Remove.
2590 * config/s390/s390.h (MACHINE_DEPENDENT_REORG): Remove.
2591 * config/s390/s390.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2592 (s390_reorg): Renamed from s390_machine_dependent_reorg. Make static.
2593 Remove parameter.
2594
2595 * config/sh/sh-protos.h (machine_dependent_reorg): Remove.
2596 * config/sh/sh.h (MACHINE_DEPENDENT_REORG): Remove.
2597 * config/sh/sh.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2598 (sh_reorg): Renamed from machine_dependent_reorg. Make static.
2599 Remove parameter.
2600 (sh_output_mi_thunk): Call sh_reorg directly.
2601 * config/sh/sh.md: Update comment.
2602
2603 * config/stormy16/stormy16.h (MACHINE_DEPENDENT_REORG): Remove
2604 commented-out definition.
2605
2606 * config/v850/v850-protos.h (v850_reorg): Remove declaration.
2607 * config/v850/v850.h (MACHINE_DEPENDENT_REORG): Remove.
2608 * config/v850/v850.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2609 (v850_reorg): Make static. Remove parameter.
2610
2611 * config/xtensa/xtensa-protos.h (xtensa_reorg): Remove declaration.
2612 * config/xtensa/xtensa.h (MACHINE_DEPENDENT_REORG): Remove.
2613 * config/xtensa/xtensa.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2614 (xtensa_reorg): Make static. Remove parameter.
2615
2616 * doc/tm.texi (MACHINE_DEPENDENT_REORG): Remove.
2617 (TARGET_MACHINE_DEPENDENT_REORG): Document.
2618
2619 2003-05-13 Richard Henderson <rth@redhat.com>
2620
2621 * c-decl.c (duplicate_decls): Re-invoke make_decl_rtl if
2622 the old decl had instantiated DECL_RTL.
2623
2624 2003-05-13 Mike Stump <mrs@apple.com>
2625
2626 * doc/invoke.texi (Option Summary): Kill off documentation for -$.
2627
2628 2003-05-13 Janis Johnson <janis187@us.ibm.com>
2629
2630 * config/rs6000/sysv4.h (OUTPUT_ASM_ALIGNED_LOCAL): Expect
2631 HOST_WIDE_INT argument.
2632
2633 2003-05-13 Jason Merrill <jason@redhat.com>
2634
2635 * tree.h (STRIP_MAIN_TYPE_NOPS): New macro.
2636
2637 * tree.c (iterative_hash_expr): New fn.
2638
2639 * c-semantics.c (emit_local_var): Don't mess with temp slots if
2640 there's no initializer.
2641
2642 2003-05-13 Richard Sandiford <rsandifo@redhat.com>
2643
2644 * final.c (final_scan_insn): Apply the effects of frame-related
2645 delay slot insns before emitting a delayed branch.
2646
2647 2003-05-13 Nick Clifton <nickc@redhat.com>
2648
2649 * config/mcore/mcore.md (jump): Use emit_jump_insn.
2650
2651 2003-05-13 Ulrich Weigand <uweigand@de.ibm.com>
2652
2653 * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Second
2654 parameter of ASM_OUTPUT_SKIP must have type unsigned HOST_WIDE_INT.
2655
2656 2003-05-12 DJ Delorie <dj@redhat.com>
2657
2658 * expr.c (move_by_pieces): Honor the alignment of TO and FROM.
2659 (emit_push_insn): Don't use push when the source alignment is less
2660 than the stack's push rounding.
2661
2662 2003-05-13 Zack Weinberg <zack@codesourcery.com>
2663
2664 * diagnostic.c (output_format): Add support for %m.
2665 (output_printf, output_verbatim, diagnostic_set_info,
2666 verbatim): Set err_no field of the text_info structure being
2667 initialized.
2668 (fatal_io_error): Delete function.
2669 * diagnostic.h (text_info): Add err_no field.
2670 * toplev.h (fatal_io_error): Delete prototype.
2671
2672 * c-opts.c, c-pch.c, dwarfout.c, ggc-common.c, ggc-page.c, graph.c
2673 * toplev.c, config/mips/mips.c, config/rs6000/host-darwin.c
2674 * objc/objc-act.c: Replace all calls to fatal_io_error with
2675 calls to fatal_error; add ": %m" to the end of all the affected
2676 error messages.
2677
2678 2003-05-13 Zack Weinberg <zack@codesourcery.com>
2679
2680 * varasm.c (notice_rtl_inlining_of_deferred_constant): New function.
2681 * rtl.h: Prototype it.
2682 * integrate.c (copy_rtx_and_substitute <SYMBOL_REF>): Call it
2683 when appropriate.
2684
2685 2003-05-13 Ulrich Weigand <uweigand@de.ibm.com>
2686
2687 * config/s390/s390.md ("*iordi3_oi"): Do not mark commutative.
2688 ("*iorsi3_oi"): Likewise.
2689
2690 2003-05-13 Richard Earnshaw <rearnsha@arm.com>
2691
2692 * arm.md (compare_scc): Use shorter sequence for EQ case.
2693 (ior_scc_scc_cmp, and_scc_scc_cmp): New insn-and-split patterns.
2694 (and_scc_scc): Ensure split only applies when there is a dominance
2695 of the comparisons.
2696 (and_scc_scc_nodom): New insn-and-split pattern.
2697
2698 2003-05-13 Richard Sandiford <rsandifo@redhat.com>
2699
2700 * unwind-dw2.c (uw_init_context_1): Don't pass &outer_cfa directly
2701 to _Unwind_SetGRPtr().
2702
2703 2003-05-13 Michael Eager <eager@mvista.com>
2704
2705 * Makefile.in: Initialize program_transform_cross_name from
2706 @program_transform_name@ instead of target_alias.
2707
2708 2003-05-12 Janis Johnson <janis187@us.ibm.com>
2709 Alan Modra <amodra@bigpond.net.au>
2710 Jakub Jelinek <jakub@redhat.com>
2711
2712 * configure.in (HAVE_AS_TLS): Add powerpc and powerpc64 tests.
2713 * configure: Rebuild.
2714 * config/rs6000/rs6000-protos.h: Update.
2715 * config/rs6000/rs6000.c (rs6000_tls_size): New.
2716 (rs6000_tls_size_string): New.
2717 (rs6000_parse_tls_size_option): New.
2718 (rs6000_legitimize_tls_address): New.
2719 (rs6000_tls_get_addr): New.
2720 (rs6000_got_sym): New.
2721 (rs6000_tls_symbol_ref): New.
2722 (rs6000_tls_symbol_ref_1): New.
2723 (rs6000_get_some_local_dynamic_name): New.
2724 (rs6000_get_some_local_dynamic_name_1): New.
2725 (TARGET_HAVE_TLS): New.
2726 (TARGET_CANNOT_FORCE_CONST_MEM): New.
2727 (rs6000_override_options): Handle -mtls-size option.
2728 (constant_pool_expr_1): Handle TLS symbols.
2729 (rs6000_legitimize_address): Handle TLS symbols.
2730 (rs6000_tls_referenced_p): New.
2731 (rs6000_legitimate_address): Handle TLS symbols.
2732 (rs6000_emit_move): Handle TLS symbols.
2733 (print_operand): Handle TLS symbols.
2734 (uses_TOC): Handle TLS symbols.
2735 (rs6000_emit_prologue): Use symbol for unspec constant.
2736 * config/rs6000/rs6000.h (HAVE_AS_TLS): New.
2737 (some_ld_name): New.
2738 (LEGITIMATE_CONSTANT_P): Handle TLS symbols.
2739 (PRINT_OPERAND_PUNCT_VALID_P): Handle TLS symbols.
2740 (PREDICATE_CODES): Add rs6000_tls_symbol_ref.
2741 * config/rs6000/rs6000.md (load_toc_v4_PIC_1, load_toc_v4_PIC_1b):
2742 Support TLS.
2743 (tls_gd_32, tls_gd_64, tls_ld_32, tls_ld_64, tls_dtprel_32,
2744 tls_dtprel_64, tls_dtprel_ha_32, tls_dtprel_ha_64, tls_dtprel_lo_32,
2745 tls_dtprel_lo_64, tls_got_dtprel_32, tls_got_dtprel_64, tls_tprel_32,
2746 tls_tprel_64, tls_tprel_ha_32, tls_tprel_ha_64, tls_tprel_lo_32,
2747 tls_tprel_lo_64, tls_got_tprel_32, tls_got_tprel_64, tls_tls_32,
2748 tls_tls_64): New.
2749 * config/rs6000/sysv4.h (SUBTARGET_OPTIONS): Add tls_size.
2750
2751 2003-05-12 Neil Booth <neil@cat.daikokuya.co.uk>
2752
2753 * Makefile.in (stage2_build, stage3_build, stage4_build):
2754 Set BUILD_CC to the same as CC.
2755
2756 2003-05-12 Neil Booth <neil@daikokuya.co.uk>
2757
2758 * alloc-pool.c (last_id): Put in ENABLE_CHECKING guards.
2759
2760 2003-05-12 Andreas Schwab <schwab@suse.de>
2761
2762 * config/ia64/ia64.c (ia64_function_ok_for_sibcall): Mark 'exp'
2763 as unused.
2764 (bundling): Initialize 'pos'.
2765 (ia64_expand_builtin): Initialize 'rmode'.
2766
2767 2003-05-12 David Edelsohn <edelsohn@gnu.org>
2768
2769 * config/rs6000/xcoff.h (ASM_OUTPUT_SKIP): Accept HOST_WIDE_INT.
2770 (ASM_OUTPUT_ALIGNED_COMMON): Same.
2771 (ASM_OUTPUT_LOCAL): Same.
2772
2773 Mon May 12 21:53:29 CEST 2003 Jan Hubicka <jh@suse.cz>
2774
2775 * varasm.c (output_constant): Fix underflow.
2776
2777 2003-05-12 Mark Mitchell <mark@codesourcery.com>
2778
2779 PR other/10745
2780 * configure.in: Correct detection of GNU ld version number.
2781 * configure: Regenerated.
2782
2783 2003-05-12 Zack Weinberg <zack@codesourcery.com>
2784
2785 * diagnostic.c (diagnostic_for_decl): Take a
2786 diagnostic_context argument. Restructure to be consistent
2787 with diagnostic_report_diagnostic.
2788 (diagnostic_count_diagnostic): Now static. Take a
2789 diagnostic_info argument, not just a diagnostic_t. Some code
2790 moved here from internal_error. Move a case label for
2791 clarity.
2792 (diagnostic_action_after_output): New function. Code moved
2793 here from internal_error and fatal_error.
2794 (bug_report_request): New #define so that this text appears in
2795 only one place.
2796 (diagnostic_report_diagnostic): Update to match changes to
2797 diagnostic_count_diagnostic. Call diagnostic_action_after_output.
2798 (diagnostic_set_info): Call gettext here.
2799
2800 (pedwarn): Update comment. Don't call gettext here.
2801 (sorry): Use report_diagnostic. Don't call gettext here.
2802 (fatal_error): Remove final fnotice and exit, but call
2803 real_abort to prevent warnings about noreturn function returning.
2804 (internal_error): Likewise. Don't do ICE suppression here nor
2805 call context->internal_error.
2806 (warning_with_decl): Suppress for decls in system headers.
2807 Adjust call to diagnostic_for_decl.
2808 (pedwarn_with_decl): Likewise.
2809 (error_with_decl): Adjust call to diagnostic_for_decl.
2810 (error_recursion): Use bug_report_request.
2811
2812 * diagnostic.h: Remove prototype of diagnostic_count_diagnostic.
2813 * objc/objc-act.c (error_with_ivar, warn_with_method): Don't call
2814 diagnostic_count_diagnostic.
2815
2816 2003-05-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2817
2818 * pa64-hpux.h (ASM_OUTPUT_ALIGNED_COMMON): Correct last patch.
2819
2820 Mon May 12 15:57:54 CEST 2003 Jan Hubicka <jh@suse.cz>
2821
2822 * rs6000/darwin.h (ASM_OUTPUT_COMMON): Accept HOST_WIDE_INT
2823 * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Fix warning.
2824 * mips/mips.h (ASM_OUTPUT_SKIP): Fix typo in the previous patch.
2825
2826 2003-05-12 Roger Sayle <roger@eyesopen.com>
2827
2828 * doc/rtl.texi: Document zero_extract as a valid destination
2829 of a set insn.
2830
2831 2003-05-12 Richard Earnshaw <rearnsha@arm.com>
2832
2833 * arm/lib1funcs.asm (LSYM): Define -- on ELF prefix a local symbol with
2834 '.'. Change all local symbol definitions and references to use LSYM.
2835
2836 Mon May 12 11:32:53 CEST 2003 Jan Hubicka <jh@suse.cz>
2837
2838 * expr.h (assemble_static_space): Update prototype.
2839 * output.h (assemble_zeros, output_constant): Likewise.
2840 * elfos.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON): Make it 64bit clean
2841 * alpha.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASK_OUTPUT_LOCAL): Make
2842 it 64bit clean.
2843 * elf.h (ASM_OTUPUT_SKIP): Likewise.
2844 * unicosmk.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMM): Likewise.
2845 * arm.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
2846 Expect HOST_WIDE_INT operand.
2847 * aout.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
2848 Expect HOST_WIDE_INT operand.
2849 * unknown-elf.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
2850 Expect HOST_WIDE_INT operand.
2851 * avr.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_SKIP): Expect
2852 HOST_WIDE_INT operand.
2853 * c4x.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP,
2854 ASM_OUTPUT_BSS): Expect HOST_WIDE_INT operand.
2855 * aout.h (ASM_OTUPUT_SKIP): Likewise.
2856 * cris.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
2857 * darwin.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_COMMON): Likewise.
2858 * dsp16xx.h (ASM_OTUPUT_SKIP): Likewise.
2859 * frv.h (ASM_OTUPUT_SKIP): Likewise.
2860 * h8300.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_LOCAL): Likewise.
2861 * 370.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
2862 Make it 64bit
2863 clean.
2864 * att.h (ASM_OUTPUT_SKIP): Expect HOST_WIDE_INT operand.
2865 * bsd.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
2866 Make it 64bit clean.
2867 * darwin.h (ASM_OUTPUT_SKIP): Make it 64bit clean..
2868 * sco5.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Expect
2869 HOST_WIDE_INT operand
2870 * svr3gas.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
2871 Expect HOST_WIDE_INT operand
2872 * sysv3.h (ASM_OUTPUT_SKIP): Expect HOST_WIDE_INT operand
2873 * i960.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON,
2874 ASM_OUTPUT_ALIGNED_LOCAL): Expect HOST_WIDE_INT operand
2875 * ip2k.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
2876 Likewise.
2877 * m32r.h (ASM_OUTPUT_COMMON): Likewise.
2878 * 3b1.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
2879 Likewise.
2880 * amix.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
2881 * crds.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
2882 * hp320.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
2883 ASM_OUTPUT_SKIP): Likewise.
2884 * m68k.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
2885 Likewise.
2886 * m68kelf.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
2887 ASM_OUTPUT_SKIP): Likewise.
2888 * m68kv4.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
2889 ASM_OUTPUT_SKIP): Likewise.
2890 * mot3300.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP): Likewise.
2891 * netbsd-elf.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON,
2892 ASM_OUTPUT_SKIP): Likewise.
2893 * sgs.h (ASM_OUTPUT_SKIP): Likewise.
2894 * tower-as.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON,
2895 ASM_OUTPUT_SKIP): Likewise.
2896 * m88k.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON, ASM_OUTPUT_SKIP):
2897 Likewise.
2898 * mcore.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_BSS, ASM_OUTPUT_SKIP): Likewise.
2899 * iris.h (ASM_OUTPUT_LOCAL): Likewise.
2900 * mips.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP): Likewise.
2901 * ns32k.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
2902 ASM_OUTPUT_SKIP): Make it 64bit clean.
2903 * pa-pro-end.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_ALIGNED_LOCAL):
2904 Make it 64bit clean.
2905 * pa.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_ALIGNED_LOCAL,
2906 ASM_OUTPUT_SKIP): Make it 64bit clean.
2907 * hpux.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_ALIGNED_LOCAL): Make it
2908 64bit clean.
2909 * romp.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON): Expect
2910 HOST_WIDE_INT argument
2911 * s390.h (ASM_OUTPUT_SKIP): Expect HOST_WIDE_INT argument.
2912 * sh.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON): Expect
2913 HOST_WIDE_INT argument
2914 * sol2.h (ASM_OUTPUT_SKIP): HOST_WIDE_INT argument
2915 * sparc.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON): HOST_WIDE_INT argument
2916 * svr3.h (ASM_OUTPUT_SKIP): HOST_WIDE_INT argument
2917 * vax.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
2918 HOST_WIDE_INT argument
2919 * vaxv.h (ASM_OUTPUT_LOCAL): HOST_WIDE_INT argument
2920 * xtensa.h (ASM_OUTPUT_LOCAL): HOST_WIDE_INT argument
2921 * varasm.c (asm_output_bss, asm_output_aligned_bss,
2922 asm_emit_uninitialized, assemble_zeros, assemble_static_space):
2923 HOST_WIDE_INT argument
2924
2925 2003-05-10 Steven Bosscher <steven@gcc.gnu.org>
2926
2927 * cgraphunit.c (cgraph_create_edges): Drop walk_tree in
2928 favor of walk_tree_without_duplicates. Add comments.
2929
2930 2003-05-12 Josef Zlomek <zlomekj@suse.cz>
2931
2932 * alloc-pool.h (ALLOC_POOL_ID_TYPE): New type.
2933 (struct alloc_pool_def): New element 'id'.
2934 * alloc-pool.c (fancy_abort): Extern function prototype.
2935 (abort): Macro which uses fancy_abort.
2936 (struct allocation_object_def): New structure.
2937 (ALLOCATION_OBJECT_PTR_FROM_USER_PTR): New macro.
2938 (USER_PTR_FROM_ALLOCATION_OBJECT_PTR): New macro.
2939 (last_id): New variable.
2940 (create_alloc_pool): Add the offset of u.data to size of element,
2941 increase and use last_id.
2942 (free_alloc_pool): Do the checking only when ENABLE_CHECKING.
2943 (pool_alloc): Likewise. Set ID for elements.
2944 (pool_free): Check whether the PTR was allocated from POOL.
2945
2946 2003-05-11 Richard Henderson <rth@redhat.com>
2947
2948 PR c/10675
2949 * c-decl.c: Include hashtab.h.
2950 (detect_field_duplicates): New.
2951 (finish_struct): Use it.
2952 * Makefile.in (c-decl.o): Update.
2953 * c-parse.in (structsp_attr): Nreverse component_decl_list results.
2954 (component_decl_list, component_decl_list2,
2955 components, components_notype): Build list in reverse order.
2956 (enumlist): Clarify docs. Use TREE_CHAIN not chainon.
2957
2958 * tree.c (chainon): Special case op2 null as well.
2959 Reorg for clarity.
2960
2961 2003-05-11 Roger Sayle <roger@eyesopen.com>
2962
2963 * config/i386/i386.md (logsf2, logdf2, logxf2, logdf2): New patterns
2964 to implement log, logf and logl built-ins as inline x87 intrinsics.
2965 (UNSPEC_FYL2X): New unspec to represent x87's "fyl2x" instruction.
2966 (*fyl2x_sfxf3, *fyl2x_dfxf3, *fyl2x_xf3, *fyl2x_tfxf3): New insn
2967 patterns for x87's "fyl2x" instruction, used by log?f2 patterns.
2968
2969 * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FYL2X like
2970 UNSPEC_FPATAN, i.e. replaces two stack operands with single result.
2971
2972 2003-05-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2973
2974 * Makefile.in (out_object_file): Don't set -Wno-error for ${cpu}.o.
2975
2976 * sparc.c (print_operand): Fix uninitialized warning.
2977
2978 2003-05-12 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2979
2980 * cfgloopanal.c (num_loop_insns, average_num_loop_insns): Count only
2981 real insns.
2982 * loop-unroll.c (unroll_loop_runtime_iterations): Remove superfluous
2983 condition.
2984
2985 2003-05-11 Neil Booth <neil@cat.daikokuya.co.uk>
2986
2987 * doc/cpp.texi: Fix typos.
2988
2989 2003-05-11 Ulrich Weigand <uweigand@de.ibm.com>
2990
2991 * config/s390/s390.c (s390_function_arg_float): New function.
2992 (s390_function_arg_pass_by_reference): Use it.
2993 (s390_function_arg_advance): Likewise.
2994 (s390_function_arg): Likewise.
2995 (s390_va_arg): Likewise
2996
2997 2003-05-11 Nathan Sidwell <nathan@codesourcery.com>
2998
2999 * coverage.h (coverage_counter_alloc): New function.
3000 * function.h (struct function): Remove arc_profile flag.
3001 * coverage.c (fn_ident): Remove.
3002 (fn_b_ctrs, no_coverage): New.
3003 (get_coverage_counts): Use current_function_funcdef_no.
3004 (coverage_counter_alloc): New.
3005 (coverage_counter_ref): Adjust.
3006 (coverage_begin_output): Check no_coverage. Use
3007 current_function_funcdef_no.
3008 (coverage_end_function): Likewise.
3009 (create_coverage): Set no_coverage. Set DECL_UNINLINEABLE rather
3010 than clearing flag_inline_functions. Do not clear arc_profile
3011 flag.
3012 * function.c (prepare_function_start): Do not set arc_profile
3013 flag.
3014 * profile.c (instrument_edges): Return number of instrumented
3015 edges. Use a for loop.
3016 (branch_prob): Call coverage_counter_alloc. Make BB_TO_GCOV_INDEX
3017 local to here and simplify. Use profile_arc_flag not arc_profile
3018 flag.
3019 (find_spanning_tree): Reformat.
3020 * toplev.c (rest_of_compilation): Use profile_arc_flags and
3021 flag_test_coverage rather than arc_profile flag.
3022
3023 2003-05-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
3024
3025 * doc/invoke.texi (Wctor-dtor-privacy): Update documentation.
3026
3027 2003-05-11 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3028
3029 * varasm.c (copy_constant, case VIEW_CONVERT_EXPR): New case.
3030
3031 2003-05-11 Bruno Haible <bruno@clisp.org>
3032
3033 * cppfiles.c (find_or_create_entry): Preserve errno.
3034
3035 2003-05-11 Neil Booth <neil@cat.daikokuya.co.uk>
3036
3037 * c-cppbuiltin.c (c_cpp_builtins): Move __STDC_HOSTED__ into
3038 cpplib as it's a Standard Predefined Macro.
3039 * c-opts.c (finish_options): Pass flag_hosted to cpp_init_builtins.
3040 * cppinit.c (_cpp_init_builtins): Take HOSTED. Define
3041 __STDC_HOSTED__ appropriately.
3042 * cpplib.h (_cpp_init_builtins): Update.
3043 * fix-header.c (read_scan_file): Update.
3044 * doc/cpp.texi, doc/cppopts.texi: Update documentation.
3045
3046 2003-05-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
3047
3048 PR C++/689
3049 PR C++/9257
3050 * c-opts.c (c_common_decode_option): Don't set
3051 warn_ctor_dtor_privacy wen -Wall.
3052 * c-common.c (warn_ctor_dtor_privacy): Don't turn on by default.
3053
3054 2003-05-10 Alexandre Oliva <aoliva@redhat.com>
3055
3056 * reload1.c (reload_cse_move2add): Revert part of my 2003-05-09's
3057 patch.
3058
3059 2003-05-10 Zack Weinberg <zack@codesourcery.com>
3060
3061 * diagnostic.c: Reorder functions for clarity, putting all the
3062 functions in the "error" family next to each other, and
3063 likewise all the functions in the "error_with_decl" family.
3064 Some other routines were moved too. Add comments.
3065 (vbuild_message_string): Fold into sole caller.
3066
3067
3068 2003-05-11 Ulrich Weigand <uweigand@de.ibm.com>
3069
3070 * except.c (EH_RETURN_STACKADJ_RTX): Do not define.
3071 (EH_RETURN_HANDLER_RTX): Likewise.
3072 (expand_builtin_eh_return): Do not copy stack adjustment
3073 if EH_RETURN_STACKADJ_RTX is not defined.
3074 (expand_eh_return): Likewise. Also, do not pass stack
3075 adjustment as argument to the eh_return pattern.
3076 * except.h (MUST_USE_SJLJ_EXCEPTIONS): Do not define just
3077 because EH_RETURN_STACKADJ_RTX is not defined.
3078 * unwind-dw.c (uw_update_context_1): If EH_RETURN_STACKADJ_RTX
3079 is not defined, treat stack pointer like a regular register.
3080 (uw_init_context_1): Set up fake initial stack pointer register.
3081 (uw_install_context_1): Do not compute stack adjustment if
3082 EH_RETURN_STACKADJ_RTX is not defined.
3083
3084 * config/i386/i386.md ("eh_return"): Remove first argument.
3085 * config/mips/mips.md ("eh_return"): Likewise.
3086 * config/rs6000/rs6000.md ("eh_return"): Likewise.
3087 * config/sh/sh.md ("eh_return"): Likewise.
3088
3089 * config/s390/s390.h (EH_RETURN_STACKADJ_RTX): Remove.
3090
3091 2003-05-10 Alexander Aganichev <aaganichev@yandex.ru>
3092
3093 * config/i386/i386.h (MODES_TIEABLE_P): Fix typo.
3094
3095 2003-05-10 Nathan Sidwell <nathan@codesourcery.com>
3096
3097 * defaults.h (GCOV_TYPE_SIZE): Remove.
3098 * gcov-io.h (gcov_type): Set to specific mode int on target.
3099 (gcov_unsigned_t, gcov_position_t): New.
3100 (GCOV_TYPE_NODE): New.
3101 (GCOV_TAG_SUMMARY_LENGTH): Adjust.
3102 (GCOV_COUNTERS_SUMMABLE): New.
3103 (gcov_ctr_summary, gcov_sumary, gcov_fn_info, gcov_merge_fn,
3104 gcov_ctr_info, gcov_info): Adjust types.
3105 (gcov_var): Adjust types.
3106 (gcov_write_unsigned, gcov_write_tag,
3107 gcov_write_length, gcov_write_tag_length, gcov_write_summary,
3108 gcov_read_unsigned, gcov_read_summary): Adjust gcov types.
3109 (gcov_position, gcov_sync, gcov_seek): Adjust gcov types.
3110 * gcov-io.c (gcov_write_unsigned, gcov_write_tag,
3111 gcov_write_length, gcov_write_tag_length, gcov_write_summary,
3112 gcov_read_unsigned, gcov_read_summary): Adjust gcov types.
3113 * libgcov.c (gcov_crc32, gcov_version_mismatch, gcov_exit,
3114 __gcov_init, __gcov_merge_add): Adjust gcov types.
3115 * coverage.c (ctr_merge_functions): Constify.
3116 (ctr_names): New.
3117 (read_counts_file): Adjust gcov types. Only summarize & merge
3118 summable counters.
3119 (coverage_counter_ref): Use GCOV_TYPE_NODE.
3120 (build_fn_info_type, build_fn_info_value, build_ctr_info_type,
3121 build_ctr_info_value, build_gcov_info): Adjust types.
3122 * profile.c (branch_prob): Adjust gcov types.
3123 * gcov_dump (dump_file): Adjust gcov types.
3124
3125 2003-05-10 Richard Earnshaw <rearnsha@arm.com>
3126
3127 * arm.md (DOM_CC_X_AND_Y, DOM_CC_NX_OR_Y, DOM_CC_X_OR_Y): New
3128 constants.
3129 (ior_scc_scc, and_scc_scc): New insn_and_split patterns.
3130 * arm.c (arm_select_dominance_cc_mode): Renamed from
3131 select_dominance_cc_mode, no-longer static. Use DOM_CC... constants.
3132 Callers updated.
3133 * arm-protos.h (arm_select_dominance_cc_mode): Add prototype.
3134
3135 2003-05-09 Roger Sayle <roger@eyesopen.com>
3136
3137 * config/alpha/alpha.c (alpha_start_function): Declare frame_size
3138 as unsigned to avoid signed/unsigned comparison warnings.
3139
3140 2003-05-09 Bob Wilson <bob.wilson@acm.org>
3141
3142 * config/xtensa/xtensa.c (xtensa_emit_loop_end): Only use "nop.n"
3143 instruction if the Xtensa density option is enabled.
3144
3145 2003-05-09 Matt Kraai <kraai@alumni.cmu.edu>
3146
3147 * mklibgcc.in: Remove extra quotes.
3148
3149 2003-05-09 Mark Mitchell <mark@codesourcery.com>
3150
3151 * config/rs6000/rs6000.c (spe_init_builtins): Fix typo in creation
3152 of int_ftype_void.
3153
3154 2003-05-09 Alexandre Oliva <aoliva@redhat.com>
3155
3156 * reload1.c (reload_cse_move2add): Don't turn an implicit
3157 truncation into a self-set in the narrow mode.
3158
3159 2003-05-09 Richard Earnshaw <rearnsha@arm.com>
3160
3161 * arm.md (clzsi2): The CLZ instruction is predicable.
3162
3163 2003-05-09 Bob Wilson <bob.wilson@acm.org>
3164
3165 * config/xtensa/xtensa.c: Formatting.
3166
3167 2003-05-09 Diego Novillo <dnovillo@redhat.com>
3168
3169 * tree-dump.c (dequeue_and_dump): Use CONSTRUCTOR_ELTS,
3170 instead of TREE_OPERAND to access the operand of a
3171 CONSTRUCTOR node.
3172
3173 2003-05-09 Diego Novillo <dnovillo@redhat.com>
3174
3175 * tree-dump.c (dequeue_and_dump): CONSTRUCTOR nodes contain only
3176 one operand.
3177
3178 2003-05-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
3179
3180 * toplev.h (warning_with_file_and_line): Don't declare.
3181 (error_with_file_and_line): Likewise.
3182 * diagnostic.c (error_with_file_and_line): Remove.
3183 (warning_with_file_and_line): Likewise.
3184
3185 2003-05-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
3186
3187 * c-parse.in (if_stmt_locus): New object.
3188 (if_prefix rule): Use it. Don't use warning_with_file_and_line.
3189 (select_or_iter_stmt rule): Likewise.
3190 (if_stmt_file): Remove.
3191 (if_stmt_line): Likewise.
3192 * jump.c: include "diagnostic.h"
3193 (never_reached_warning): Don't use warning_with_file_and_line.
3194 * Makefile.in (jump.o): Add dependce on diagnostic.h
3195
3196 2003-05-09 Alan Modra <amodra@bigpond.net.au>
3197
3198 * expr.c (move_block_from_reg): Remove "size" parm. Localize vars.
3199 Move code handling pieces not larger than a word to..
3200 * function.c (assign_parms): ..here, but use change_address instead
3201 of adjust_address and operand_subword, and expand_binop instead of
3202 expand_shift. Adjust calls to move_block_from_reg.
3203 * expr.h (move_block_from_reg): Update declaration.
3204 (copy_blkmode_from_reg): Formatting.
3205 * Makefile.in (function.o): Add $(OPTABS_H) to deps.
3206 * config/alpha/alpha.c (alpha_setup_incoming_varargs): Adjust
3207 move_block_from_reg calls.
3208 * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
3209 * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
3210 * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
3211 * config/m88k/m88k.c (m88k_builtin_saveregsk): Likewise.
3212 * config/mips/mips.c (mips_setup_incoming_varargs): Likewise.
3213 * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
3214 * config/romp/romp.h (SETUP_INCOMING_VARARGS): Likewise.
3215 * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
3216 * config/sh/sh.c (sh_builtin_saveregs): Likewise.
3217
3218 2003-05-08 DJ Delorie <dj@redhat.com>
3219
3220 * config/stormy16/stormy16.c (xstormy16_expand_builtin_va_arg): Fix
3221 to handle arguments for which MUST_PASS_IN_STACK is true (e.g.,
3222 variable-sized types).
3223 (xstormy16_function_arg): New. Pass them that way too.
3224 * config/stormy16/stormy16-protos.h (xstormy16_function_arg): New.
3225 * config/stormy16/stormy16.h (FUNCTION_ARG): Call it.
3226
3227 2003-05-08 Aldy Hernandez <aldyh@redhat.com>
3228
3229 * mklibgcc.in: Use mkinstalldirs when installing multilib
3230 directories.
3231
3232 2003-05-08 J"orn Rennecke <joern.rennecke@superh.com>
3233
3234 * sh.c (gen_block_redirect, split_branches): Use CODE_FOR_jump_compact
3235 instead of CODE_FOR_jump
3236
3237 2003-05-08 Gabriel Dos Reis <gdr@integrable-solutions.net>
3238
3239 * objc/objc-act.c (error_with_ivar): Don't use
3240 error_with_file_and_line.
3241 (warn_with_method): Don't use warning_with_file_and_line.
3242
3243 2003-05-08 Gabriel Dos Reis <gdr@integrable-solutions.net>
3244
3245 * stmt.c (emit_locus): New macro.
3246 (emit_filename): Remove.
3247 (emit_lineno): Likewise.
3248 (struct stmt_status): Replace members x_emit_filename and
3249 x_emit_lineno with x_emit_locus.
3250 (set_file_and_line_for_stmt): Adjust.
3251 (expand_expr_stmt_value): Don't use warning_with_file_and_line.
3252 (warn_if_unused_value): Likewise.
3253 (check_seenlabel): Likewise.
3254
3255 2003-05-08 Gabriel Dos Reis <gdr@integrable-solutions.net>
3256
3257 * c-decl.c (define_label): Tidy. Don't use any of
3258 error_with_file_and_line or warning_with_file_and_file.
3259 (pending_xref_error): Likewise.
3260 (store_parm_decls): Likewise.
3261 (current_function_prototype_locus): New object. Package from
3262 current_function_prototype_file and current_function_prototype_line.
3263 (start_function): Use it.
3264 (current_function_prototype_file): Remove.
3265 (current_function_prototype_line): Remove;
3266
3267 2003-05-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3268
3269 * builtins.c (readonly_data_expr): New function.
3270 (expand_builtin_memmove): Optimize any rodata source, not just
3271 strings.
3272
3273 2003-05-07 David Mosberger <davidm@hpl.hp.com>
3274
3275 * unwind-libunwind.c (_Unwind_FindEnclosingFunction): New.
3276
3277 2003-05-07 Richard Henderson <rth@redhat.com>
3278
3279 * config/i386/i386.c (ix86_split_long_move): Fix base register
3280 mode for XFmode splits for TARGET_64BIT.
3281
3282 2003-05-07 Richard Henderson <rth@redhat.com>
3283
3284 * sched-ebb.c (schedule_ebb): Supply the correct starting
3285 block number to save_line_notes.
3286
3287 2003-05-07 Richard Henderson <rth@redhat.com>
3288
3289 * toplev.c (enum dump_file_index): Swap DFI_ce3, DFI_bbro.
3290 (dump_file): Likewise.
3291
3292 2003-05-07 David Mosberger <davidm@hpl.hp.com>
3293
3294 * config/ia64/crtbegin.asm (__do_jv_register_classes): Don't
3295 forget to preserve gp.
3296 * config/ia64/crtend.asm (__do_global_ctors_au): Ditto.
3297
3298 * config/ia64/crtbegin.asm (__do_jv_register_classes): Add missing
3299 .prologue directive.
3300 Use .skip instead of data8 for .bss section to make Intel
3301 Assembler (ias) happy. Minor whitespace fixups. Make "nop 0"
3302 explicit in the .mib bundles and remove the unnecessary stop
3303 bits. Replace local labels with normal labels, to make ias
3304 happy. Don't register __do_global_ctors_aux here, do it in
3305 crtend.asm instead.
3306
3307 * config/ia64/crtend.asm [HAVE_INIT_FINI_ARRAY]: Register
3308 __do_global_ctors_aux in .init_array section instead of
3309 declaring it as a hidden global. Replace local labels with
3310 ordinary labels to make ias happy.
3311
3312 2003-05-07 Richard Henderson <rth@redhat.com>
3313
3314 PR c++/10570
3315 * except.c: Revert 04-01 and 04-02 forced-unwind changes.
3316 * flags.h, toplev.c, doc/invoke.texi: Likewise.
3317
3318 * unwind-dw2.c (_Unwind_GetCFA): Fix ptr->int conversion warning.
3319 * unwind.inc (_Unwind_DeleteException): Check for null
3320 exception_cleanup.
3321
3322 * unwind-sjlj.c (_Unwind_SjLj_Resume_or_Rethrow): New.
3323 * unwind.inc (_Unwind_Resume_or_Rethrow): New.
3324 * unwind.h: Declare them.
3325 * libgcc-std.ver (GCC_3.3): Export them.
3326
3327 2003-05-07 Richard Henderson <rth@redhat.com>
3328
3329 * unwind-dw2.c (_Unwind_GetCFA): Cast pointer to _Unwind_Ptr,
3330 not _Unwind_Word.
3331
3332 2003-05-07 Zack Weinberg <zack@codesourcery.com>
3333
3334 * stmt.c (force_label_rtx): New function, based on logic
3335 formerly found in expand_expr.
3336 * expr.h: Prototype it.
3337 * expr.c (expand_expr <LABEL_DECL>): Use force_label_rtx if
3338 appropriate.
3339 * varasm.c (decode_addr_const <LABEL_DECL>): Use force_label_rtx.
3340
3341 * print-tree.c (debug_tree): Free the table after we're done
3342 with it. Use putc.
3343
3344 2003-05-07 Aldy Hernandez <aldyh@redhat.com>
3345
3346 * config/rs6000/spe.h: Reverse arguments for __ev_subfw.
3347 Unreverse arguments for __ev_subw.
3348
3349 * config/rs6000/spe.md (evsubfw): Reverse arguments of assembly.
3350
3351 2003-05-07 Nick Clifton <nickc@redhat.com>
3352
3353 * config/stormy16/stormy-abi: Update to include
3354 R_XSTORMY16_FPTR16, R_XSTORMY16_LO16, R_XSTORMY16_HI16 and
3355 R_XSTORMY16_12 relocs.
3356
3357 2003-05-07 Alan Modra <amodra@bigpond.net.au>
3358
3359 * function.c (assign_parms): Correct reversed reg_parm_stack_space
3360 test. Add partial in-regs size to stack_args_size.
3361
3362 2003-05-07 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3363
3364 * doc/invoke.texi (Warning Options): Mark -Wmissing-declarations
3365 as a C only option.
3366
3367 2003-05-07 Nathan Sidwell <nathan@codesourcery.com>
3368
3369 * gcov-io.h (GCOV_LOCKED): New #define.
3370 (GCOV_LINKAGE): Make sure it is #defined.
3371 (gcov_write_string, gcov_write_tag, gcov_write_length,
3372 gcov_read_string, gcov_time): Poison in libgcov.
3373 (gcov_seek_end): Remove.
3374 (gcov_write_tag_length, gcov_sync, gcov_rewrite): New.
3375 (GCOV_TAG_FUNCTION_LENGTH, GCOV_TAG_BLOCKS_LENGTH,
3376 GCOV_TAG_ARCS_LENGTH, GCOV_TAG_COUNTER_LENGTH,
3377 GCOV_TAG_SUMMARY_LENGTH): New #defines.
3378 (gcov_write_tag, gcov_write_length): Not in libgcov.
3379 * gcov-io.c (gcov_open): Use GCOV_LOCKED.
3380 (gcov_write_tag, gcov_write_length): Not in libgcov.
3381 (gcov_write_tag_length): New.
3382 (gcov_write_summary): Use gcov_write_tag_length.
3383 * libgcov.c: Always #include gcov-io.h.
3384 (IN_LIBGCOV): -1 for inhibit_libc, +1 otherwise.
3385 (GCOV_LINKAGE): Define to nothing for L_gcov.
3386 (gcov_exit): Replace gcov_write_tag, gcov_write_length with
3387 gcov_write_tag_length. Use gcov_rewrite & gcov_seek.
3388 * gcov.c (read_graph_file): Replace gcov_seek by gcov_sync.
3389 (read_count_file): Likewise.
3390 * gcov-dump.c (dump_file): Likewise.
3391 * coverag.c (read_counts_file): Likewise.
3392
3393 2003-05-06 Mark Mitchell <mark@codesourcery.com>
3394
3395 PR other/10658
3396 * gcc.c (process_command): Update copyright date.
3397
3398 2003-05-06 Phil Edwards <pme@gcc.gnu.org>
3399
3400 * doc/install.texi (mips-*-*): Add note about libstdc++.
3401
3402 2003-05-06 DJ Delorie <dj@redhat.com>
3403
3404 * config/stormy16/stormy16.c (xstormy16_function_profiler): New.
3405 * config/stormy16/stormy16.h (FUNCTION_PROFILER): Call it.
3406 * config/stormy16/stormy16-protos.h (xstormy16_function_profiler): New.
3407
3408 2003-05-06 <neil@cat.daikokuya.co.uk>
3409
3410 * c-opts.c (COMMAND_LINE_OPTIONS): Reject -Wmissing-prototypes
3411 and -Wstrict-prototypes if C++.
3412
3413 2003-05-06 Aldy Hernandez <aldyh@redhat.com>
3414
3415 * config/rs6000/linuxspe.h: New file.
3416
3417 * config.gcc: Add powerpc-*-linux-gnuspe* target.
3418
3419 2003-05-06 Richard Henderson <rth@redhat.com>
3420
3421 * unwind-dw2.c (uw_update_context_1): Only set cfa as sp if
3422 previous frame didn't save sp. Clear sp for next frame.
3423 (uw_install_context_1): Honor saved sp from frame.
3424
3425 2003-05-06 Richard Sandiford <rsandifo@redhat.com>
3426
3427 * config/mips/mips-protos.h (mips_subword, mips_output_move): Declare.
3428 (mips_move_1word, mips_move_2words): Remove declaration.
3429 (mips_split_64bit_move_p, mips_split_64bit_move): Declare.
3430 (mips_restore_gp): Remove insn argument.
3431 * config/mips/mips.h (FP_REG_RTX_P): New macro.
3432 * config/mips/mips.c (volatile_buffer): Remove.
3433 (mips_subword, mips_split_64bit_move_p, mips_split_64bit_move): New.
3434 (mips_move_1word, mips_move_2words): Remove, replacing with...
3435 (mips_output_move): ...this new function.
3436 (mips_restore_gp): Remove insn argument. Adjust for above changes.
3437 (print_operand): Make '%h' print %hi(op) for HIGH operands. Remove
3438 handling of floating-point constants. Handle zero CONST_DOUBLE
3439 arguments.
3440 (mips_annotate_frame_insn): Replace with...
3441 (mips_set_frame_expr): ...this, which just takes one argument.
3442 (mips_frame_set): Change the register argument to an rtx.
3443 (mips_emit_frame_related_store): Use mips_split_64bit_move_p to
3444 check whether moves should be split. Use mips_split_64bit_move
3445 to split them. Use mips_subword to generate the high and low
3446 parts of a paired FPR. Adjust calls to frame_set and
3447 mips_set_frame_expr.
3448 (mips_expand_prologue): Simplify due to above changes.
3449 * config/mips/mips.md: Add splitters for 64-bit moves on 32-bit
3450 targets, replacing xisting register-only versions.
3451 (UNSPEC_STORE_DF_HIGH): New unspec.
3452 (UNSPEC_LOAD_DF_LOW, UNSPEC_LOAD_DF_HIGH): New unspecs.
3453 (mulsi3_r4000, muldi3_internal2): Avoid use of mips_move_1word.
3454 (*paradoxical_extendhidi2): Remove.
3455 (movdi_internal, movdi_internal2): Use mips_output_move.
3456 (*movdi_internal2_mips16, movsi_internal, movcc): Likewise.
3457 (movsf_internal1, movsf_internal2): Likewise.
3458 (movdf_internal1a): Likewise. Fix length and type of f <- G case.
3459 (movdf_internal1b): Use mips_output_move. Fix type of f <- G case.
3460 (movdf_internal2): Use mips_output_move. Fix lengths of FPR moves.
3461 Add m <- G alternative.
3462 (load_df_low, load_df_high, store_df_low): New patterns.
3463 (movhi_internal): Use @ template instead of calling a function.
3464 Remove unnecessary 'z' alternatives.
3465 (movqi_internal): Likewise.
3466 (exception_receiver): Update call to mips_restore_gp.
3467
3468 2003-05-06 Richard Sandiford <rsandifo@redhat.com>
3469
3470 * config/mips/mips-protos.h (mips_simplify_dwarf_addr): Remove.
3471 (mips_delegitimize_address): Declare.
3472 * config/mips/mips.h (ASM_SIMPLIFY_DWARF_ADDR): Undefine.
3473 (FIND_BASE_TERM): Define.
3474 * config/mips/mips.c (TARGET_DELEGITIMIZE_ADDRESS): Define.
3475 (mips_delegitimize_address): Renamed from mips_simplify_dwarf_addr.
3476 Handle small-data addresses.
3477
3478 2003-05-05 Roger Sayle <roger@eyesopen.com>
3479
3480 * real.c (real_powi): New function to calculate the value of
3481 a real raised to an integer power, i.e. pow(x,n) for int n.
3482 (real_sqrt): Convert to using the faster do_add, do_multiply
3483 and do_divide API for consistency with the rest of real.c.
3484 * real.h (real_powi): Prototype here.
3485 * builtins.c (fold_builtin): Avoid local variable mode when
3486 evaluating sqrt at compile time. Attempt to evaluate pow at
3487 compile-time, by checking for an integral exponent.
3488
3489 2003-05-05 Richard Henderson <rth@redhat.com>
3490
3491 * doc/extend.texi (Variable Attributes): Re-sort table and tidy.
3492
3493 2003-05-05 David O'Brien <obrien@FreeBSD.org>
3494
3495 * config/rs6000/sysv4.h (CPP_OS_FREEBSD_SPEC): Add __ELF__ to mirror
3496 other FreeBSD ports.
3497 (LINK_OS_FREEBSD_SPEC): Mirror conventions on other FreeBSD ports.
3498 (_LITTLE_ENDIAN): Use __LITTLE_ENDIAN__ instead.
3499
3500 2003-05-05 Janis Johnson <janis187@us.ibm.com>
3501
3502 * Makefile.in: (site.exp): Add ALT_CC_UNDER_TEST, add quotes around
3503 expanded variables.
3504 * doc/sourcebuild.texi (C tests): Describe gcc.dg/compat tests.
3505
3506 2003-05-05 Zack Weinberg <zack@codesourcery.com>
3507
3508 * rtl.h (STRING_POOL_ADDRESS_P): Rename to DEFERRED_CONSTANT_P.
3509 * varasm.c (struct varasm_status): Add deferred_constants field.
3510 (n_deferred_strings): Delete variable.
3511 (n_deferred_constants): New #define.
3512 (struct constant_descriptor_tree): Kill next and label fields.
3513 (const_hash_table, MAX_HASH_TABLE): Delete.
3514 (const_desc_htab): New static variable.
3515 (const_hash): Rename const_desc_hash, and make it fit the
3516 hashtab.h interface.
3517 (const_desc_eq): New.
3518 (const_hash_1, compare_constant): Const-ify arguments.
3519 (build_constant_desc): Set DEFERRED_CONSTANT_P on all new
3520 SYMBOL_REFs. Clarify comments. Don't set desc->label.
3521 (output_constant_def): Do the lookup/insert using the
3522 hashtab.h interface. Don't muck with n_deferred_constants or
3523 DEFERRED_CONSTANT_P here.
3524 Always call maybe_output_constant_def_contents.
3525 (maybe_output_constant_def_contents): Take a pointer to the
3526 descriptor, not the EXP and RTL separately. Return
3527 immediately if this constant is not deferred. Defer output of
3528 everything, except writable string constants. Update
3529 n_deferred_constants here.
3530 (output_constant_def_contents): Now takes just one argument,
3531 an rtx. Clear DEFERRED_CONSTANT_P here.
3532 (mark_constant_pool): Update for rename of n_deferred_strings.
3533 (mark_constant): Don't clear DEFERRED_CONSTANT_P here.
3534
3535 (init_varasm_status): Clear p->deferred_constants.
3536 (init_varasm_once): Call htab_create_ggc for const_desc_htab.
3537
3538 2003-05-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3539
3540 * builtins.c (expand_builtin_stpcpy): Only expand when the length
3541 of the source string can be evaluated at compile-time.
3542
3543 2003-05-05 Aldy Hernandez <aldyh@redhat.com>
3544
3545 * testsuite/gcc.c-torture/compile/simd-6.c: New.
3546
3547 * c-typeck.c (digest_init): Handle arrays of vector constants.
3548
3549 2003-05-05 Jakub Jelinek <jakub@redhat.com>
3550
3551 * builtins.c (expand_builtin_mempcpy): New function.
3552 (expand_builtin_stpcpy): Optimize stpcpy whose return value is
3553 ignored into strcpy no matter what arguments it has.
3554 (expand_builtin) <case BUILT_IN_MEMPCPY>: Call
3555 expand_builtin_mempcpy.
3556
3557 2003-05-05 Aldy Hernandez <aldyh@redhat.com>
3558
3559 * testsuite/gcc.dg/20030505.c: New.
3560
3561 * c-typeck.c (convert_for_assignment): Opaque pointers can
3562 interconvert.
3563
3564 * config/rs6000/rs6000.c: New global opaque_p_V2SI_type_node.
3565 (rs6000_init_builtins): Initialize opaque_p_V2SI_type_node.
3566 (spe_init_builtins): Rename all pv2si_type_node to
3567 opaque_p_V2SI_type_node.
3568 Remove declaration of pv2si_type_node.
3569 (is_ev64_opaque_type): Accept opaque pointers.
3570
3571 2003-05-05 Geoffrey Keating <geoffk@apple.com>
3572
3573 * config/rs6000/rs6000.c (validate_condition_mode): Use
3574 flag_finite_math_only.
3575 (rs6000_reverse_condition): Never return UNKNOWN; use
3576 flag_finite_math_only.
3577 (rs6000_generate_compare): Use flag_finite_math_only.
3578 (rs6000_emit_cmove): Handle UNLE. Support UNEQ under -ffast-math.
3579 Use HONOR_* rather than flag_unsafe_math_optimizations. Correct
3580 UNGE and GT cases. Handle UNEQ and LTGT when ! HONOR_NANS.
3581
3582 * toplev.c (check_global_declarations): Suppress not-used warning
3583 for volatile variables.
3584
3585 2003-05-05 Olivier Hainque <hainque@act-europe.fr>
3586
3587 * expr.c (expand_expr, case BIT_FIELD_REF): Refine the test forcing
3588 usage of bitfield instructions for mode1 != BLKmode, only ignoring
3589 SLOW_UNALIGNED_ACCESS if the field is not byte aligned.
3590 (store_field): Likewise.
3591
3592 2003-05-05 Aldy Hernandez <aldyh@redhat.com>
3593
3594 * config/rs6000/rs6000.c (rs6000_expand_binop_builtin): Add
3595 evsubifw to builtins accepting 5-bit unsigned constants.
3596 (easy_vector_constant): Return if V1DImode. Fix typo.
3597
3598 2003-05-05 Aldy Hernandez <aldyh@redhat.com>
3599
3600 * config/rs6000/spe.h: Revert licensing change from last patch.
3601
3602 2003-05-05 DJ Delorie <dj@redhat.com>
3603
3604 * config/stormy16/stormy16.md (negsi2): Allocate the pseudos
3605 before reload, but defer the split until after.
3606 * config/stormy16/stormy16.c (xstormy16_expand_arith): Modify
3607 to match.
3608
3609 2003-05-05 David Edelsohn <edelsohn@gnu.org>
3610
3611 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add 440 support.
3612 * config/rs6000/vxworks.h (CC1_SPEC): Use -mcpu=440 for t440.
3613
3614 2003-05-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3615
3616 * libgcov.c (__gcov_merge_add): Do not use gcov_type when inhibit_libc
3617 is defined.
3618
3619 2003-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3620
3621 * builtin-attrs.def (ATTR_NOTHROW_NONNULL_1,
3622 ATTR_NOTHROW_NONNULL_2, ATTR_NOTHROW_NONNULL_3): Renamed from
3623 ATTR_NONNULL_1, ATTR_NONNULL_2 and ATTR_NONNULL_3.
3624
3625 (ATTR_NOTHROW_NONNULL_1_2, ATTR_NOTHROW_NONNULL_1_4,
3626 ATTR_CONST_NOTHROW_NONNULL_1, ATTR_PURE_NOTHROW_NONNULL_1,
3627 ATTR_PURE_NOTHROW_NONNULL_1_2, ATTR_MALLOC_NOTHROW_NONNULL_1):
3628 New.
3629
3630 * builtins.def (DEF_EXT_FALLBACK_BUILTIN): Accept ATTRS argument.
3631 (BUILT_IN_BZERO, BUILT_IN_BCOPY, BUILT_IN_BCMP): Update comment
3632
3633 (BUILT_IN_INDEX, BUILT_IN_RINDEX, BUILT_IN_MEMCPY,
3634 BUILT_IN_MEMMOVE, BUILT_IN_MEMCMP, BUILT_IN_MEMSET,
3635 BUILT_IN_MEMPCPY, BUILT_IN_STRCAT, BUILT_IN_STRNCAT,
3636 BUILT_IN_STPCPY, BUILT_IN_STRCPY, BUILT_IN_STRNCPY,
3637 BUILT_IN_STRCMP, BUILT_IN_STRNCMP, BUILT_IN_STRLEN,
3638 BUILT_IN_STRSTR, BUILT_IN_STRPBRK, BUILT_IN_STRSPN,
3639 BUILT_IN_STRCSPN, BUILT_IN_STRCHR, BUILT_IN_STRRCHR, BUILT_IN_NAN,
3640 BUILT_IN_NANF, BUILT_IN_NANL, BUILT_IN_NANS, BUILT_IN_NANSF,
3641 BUILT_IN_NANSL, BUILT_IN_PUTS, BUILT_IN_FPUTC, BUILT_IN_FPUTS,
3642 BUILT_IN_FWRITE, BUILT_IN_PUTS_UNLOCKED, BUILT_IN_FPUTC_UNLOCKED,
3643 BUILT_IN_FPUTS_UNLOCKED, BUILT_IN_FWRITE_UNLOCKED,
3644 BUILT_IN_STRDUP): Add "nonnull" attribute.
3645
3646 2003-05-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3647
3648 * expr.c (store_field): Don't clobber TEMP in shift: it might be
3649 a variable.
3650 (get_inner_reference): Don't go through a VIEW_CONVERT_EXPR
3651 whose purpose is to step up the alignment.
3652 (expand_expr, case ADDR_EXPR): Force LO_SUM into memory, just like REG.
3653
3654 * stor-layout.c (compute_record_mode): Relax restriction
3655 on fields crossing word boundaries forcing BLKmode.
3656
3657 2003-05-04 Neil Booth <neil@daikokuya.co.uk>
3658
3659 * cppinit.c (cpp_create_reader, post_options): Warn about
3660 trigraphs unless explicity set or -trigraphs.
3661 * cpplex.c (warn_in_comment): New.
3662 (_cpp_process_line_notes): Better handling of -Wtrigraphs.
3663 (_cpp_skip_block_comment): Add call to _cpp_process_line_notes.
3664 * doc/cppopts.texi, doc/cpp.texi: Update.
3665
3666 2003-05-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3667
3668 * Makefile.in (LIBGCOV): Add _gcov_merge_add.
3669 * gcov-io.h: Make GCOV_LINKAGE extern in libgcov and prevent resulting
3670 namespace clash.
3671 (GCOV_MERGE_FUNCTIONS): New.
3672 (gcov_merge_fn): Declare.
3673 (struct gcov_ctr_info): New field "merge".
3674 (__gcov_merge_add): Declare.
3675 * coverage.c (ctr_merge_functions): New.
3676 (build_ctr_info_type, build_ctr_info_value): Initialize merge field
3677 of gcov_ctr_info type.
3678 * libgcov.c (__gcov_merge_add): New.
3679 (gcov_exit): Call a hook to merge values of counters.
3680
3681 2003-05-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
3682
3683 * toplev.h (pedwarn_with_file_and_line): Don't declare.
3684 * diagnostic.c (pedwarn_with_file_and_line): Remove.
3685
3686 2003-05-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
3687
3688 * varasm.c (assemble_variable): Don't use error_with_file_and_line.
3689
3690 2003-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3691
3692 * builtins.c (expand_builtin_constant_p, expand_builtin_strlen,
3693 expand_builtin_frame_address): Update prototypes.
3694 (expand_builtin_constant_p, expand_builtin_strlen,
3695 expand_builtin_strcpy, expand_builtin_memset,
3696 expand_builtin_bzero, expand_builtin_args_info,
3697 expand_builtin_frame_address): Pass in just the argument(s)
3698 needed, not the entire expression `exp'.
3699 (expand_builtin): Update all calls to these functions.
3700
3701 2003-05-03 Richard Henderson <rth@redhat.com>
3702
3703 * builtins.c (expand_builtin) <BUILT_IN_DWARF_FP_REGNUM>: Remove.
3704 <BUILT_IN_DWARF_SP_COLUMN>: New.
3705 * builtins.def (BUILT_IN_DWARF_FP_REGNUM): Remove.
3706 (BUILT_IN_DWARF_SP_COLUMN): New.
3707 * dwarf2out.c (expand_builtin_dwarf_fp_regnum): Remove.
3708 (expand_builtin_dwarf_sp_column): New.
3709 * except.h: Update to match.
3710 * unwind-dw2.c (execute_stack_op): Correct stack push typo.
3711 (execute_cfa_program): Record location expression address
3712 before extracting length.
3713 (uw_update_context_1): Install old CFA into stack pointer column.
3714 (uw_init_context_1): Set cfa_reg to stack pointer column.
3715
3716 2003-05-03 Richard Henderson <rth@redhat.com>
3717
3718 * config/rs6000/rs6000.c (constant_pool_expr_p): Make static and
3719 return bool.
3720 (toc_relative_expr_p): Likewise.
3721 (SPE_CONST_OFFSET_OK): Move from rs6000.h.
3722 (legitimate_constant_pool_address_p): Move from rs6000.h, change
3723 into a function, downcase all users.
3724 (legitimate_small_data_p): Likewise.
3725 (legitimate_offset_address_p): Likewise.
3726 (legitimate_indexed_address_p): Likewise.
3727 (legitimate_indirect_address_p): Likewise.
3728 (legitimate_lo_sum_address_p): Likewise.
3729 (rs6000_mode_dependent_address): Likewise.
3730 * rs6000.h (CONSTANT_POOL_EXPR_P, TOC_RELATIVE_EXPR_P): Remove.
3731 (SPE_CONST_OFFSET_OK, LEGITIMATE_CONSTANT_POOL_ADDRESS_P,
3732 LEGITIMATE_SMALL_DATA_P, LEGITIMATE_OFFSET_ADDRESS_P,
3733 LEGITIMATE_INDEXED_ADDRESS_P, LEGITIMATE_INDIRECT_ADDRESS_P,
3734 LEGITIMATE_LO_SUM_ADDRESS_P): Move into rs6000.c.
3735 (LEGITIMATE_ADDRESS_INTEGER_P): Remove.
3736 (GO_IF_MODE_DEPENDENT_ADDRESS): Use rs6000_mode_dependent_address.
3737 * config/rs6000/rs6000-protos.h: Update.
3738
3739 2003-05-03 Geoffrey Keating <geoffk@apple.com>
3740
3741 * config/rs6000/rs6000.h (REVERSIBLE_CC_MODE): Define.
3742 (REVERSE_CONDITION): Define.
3743
3744 * config/rs6000/rs6000.c (scc_comparison_operator): Make equivalent
3745 to branch_positive_comparison_operator.
3746 (ccr_bit): Check that sCOND conditions are actually a positive bit.
3747 (print_operand): Remove %D substitution.
3748 (rs6000_emit_sCOND): Generate complement operation to ensure that
3749 sCOND input is a positive bit.
3750 * config/rs6000/rs6000.md: Rearrange sCOND templates to be in the
3751 same order as bCOND, and add the missing ones. Remove the %D
3752 substitutions from the scc patterns.
3753
3754 * simplify-rtx.c (simplify_relational_operation): Add case for
3755 ! (fabs(x) < 0.0).
3756
3757 2003-05-03 Bruce Korb <bkorb@gnu.org>
3758
3759 * gcc/fixinc/fixincl.tpl(dne): restore this to force merge conflicts
3760 in fixincl.x
3761 * gcc/fixinc/inclhack.def(bsd_stdio_attrs_conflict): fix placement
3762
3763 2003-05-03 Aldy Hernandez <aldyh@redhat.com>
3764
3765 * config/rs6000/spe.h: Remove unecessary casts. Misc cleanups.
3766
3767 2003-05-03 Zack Weinberg <zack@codesourcery.com>
3768
3769 PR c/10604
3770 * c-common.c (warn_sign_compare): Initialize to -1.
3771 * c-opts.c (c_common_init_options): Don't set warn_sign_compare here.
3772 (c_common_decode_option <OPT_Wall>): Set warn_sign_compare
3773 for C++ only.
3774 (c_common_post_options): Set warn_sign_compare from extra_warnings
3775 if it's still -1 at this point.
3776
3777 * toplev.c (maybe_warn_unused_parameter): New static variable.
3778 (set_Wextra): New static function.
3779 (W_options): Remove "extra".
3780 (decode_W_option): Call set_Wextra.
3781 (independent_decode_option): Likewise.
3782 (set_Wunused): Cooperate with set_Wextra in setting
3783 warn_unused_parameter.
3784 (rest_of_compilation): No need to check extra_warnings as
3785 well as warn_uninitialized.
3786
3787 * c-typeck.c (build_binary_op, build_conditional_expr):
3788 No need to check extra_warnings as well as warn_sign_compare.
3789 (internal_build_compound_expr): No need to check extra_warnings
3790 as well as warn_unused_value.
3791 * function.c (expand_function_end): No need to check extra_warnings
3792 as well as warn_unused_parameter.
3793 * stmt.c (expand_expr_stmt_value): No need to check extra_warnings
3794 as well as warn_unused_value.
3795
3796 * doc/invoke.texi: Clarify documentation of -Wsign-compare.
3797
3798 * Makefile.in: Disable -Werror for gengtype-lex.o.
3799
3800 2003-05-03 Olivier Hainque <hainque@act-europe.fr>
3801
3802 * emit-rtl.c (last_call_insn, add_function_usage_to): New functions.
3803 * rtl.h (last_call_insn, add_function_usage_to): New prototypes.
3804 * builtins.c (expand_builtin_apply): Use the new emit-rtl functions.
3805 * calls.c (emit_call_1): Likewise.
3806 (expand_call): For calls initializing constant memory, replace
3807 emission of standalone mem /u clobber with function usage entry.
3808 * expr.c (emit_block_move_via_libcall): Likewise.
3809 * cse.c (count_reg_usage, case EXPR_LIST): New case.
3810 * flow.c (propagate_one_insn): Pass entire operand of
3811 CALL_INSN_FUNCTION_USAGE to mark_used_regs.
3812 * integrate.c (try_constants): For CALL_INSNs, substitute constants
3813 within the FUNCTION_USAGE also.
3814 * loop.c (prescan_loop): Note clobbers of const mem mentioned in
3815 FUNCTION_USAGE lists.
3816 * reload1.c (replace_pseudos_in): Renamed.
3817 (reload): Use it for clobbers surviving until the end of the reload.
3818
3819 2003-05-03 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3820
3821 * expr.c (expand_expr, case VIEW_CONVERT_EXPR): Don't use
3822 gen_lowpart on non-integer modes.
3823
3824 * stor-layout.c (place_field): When adjusting offset_align, use
3825 desired_align, not DECL_ALIGN.
3826
3827 2003-05-03 Nathan Sidwell <nathan@codesourcery.com>
3828
3829 * c-decl.c (pending_invalid_xref_file): Remove.
3830 (pending_invalid_xref_line): Remove.
3831 (pending_invalid_xref_location): New.
3832 (lookup_label): Use location_t and input_location directly.
3833 (lookup_tag): Likewise.
3834 (pending_xref_error): Likewise.
3835 (c_expand_body_1): Likewise.
3836 * c-common.c (x_expand_start_cond): Likewise.
3837 * c-semantics.c (genrtl_for_stmt): Likewise.
3838 (find_reachable_label): Likewise.
3839 * expr.c (expand_expr): Likewise.
3840 * integrate.c (output_inline_function): Likewise.
3841 * tree-inline.c (find_alloca_call): Likewise.
3842 (find_builtin_longjmp_call): Likewise.
3843 * gcc.c (input_filename): Make static.
3844
3845 2003-05-03 Richard Sandiford <rsandifo@redhat.com>
3846
3847 * config/mips/mips.md: Fix comment typo.
3848
3849 * config/mips/mips.c (mips_integer_op): New structure.
3850 (MIPS_MAX_INTEGER_OPS): Define.
3851 (mips_const_insns): Use mips_build_integer to determine the number
3852 of instructions needed to load a CONST_INT.
3853 (move_operand): Reject compound CONST_INTs.
3854 (mips_build_shift, mips_build_lower, mips_build_integer): New fns.
3855 (mips_move_integer): New fn.
3856 (mips_legitimize_const_move): Pass CONST_INTs to mips_move_integer.
3857 (mips_legitimize_move): Only legitimize constants when moving
3858 word or subword values.
3859
3860 2003-05-02 Matt Kraai <kraai@alumni.cmu.edu>
3861
3862 * Makefile.in (gcov-iov.h): Use move-if-change and a stamp.
3863
3864 2003-05-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3865
3866 * builtins.c (expand_builtin_stpcpy): Copy `arglist' before
3867 modifying it.
3868
3869 2003-05-03 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
3870 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3871
3872 * doc/contrib.texi (Contributors): Add Zdenek Dvorak, Aldy
3873 Hernandez, and Kazu Hirata. Update Richard Henderson.
3874
3875 2003-05-02 Geoffrey Keating <geoffk@apple.com>
3876
3877 * config/rs6000/rs6000.c (rs6000_attribute_table): Add 'extern'
3878 to tentative declaration.
3879
3880 * config/rs6000/sysv4.h (SYMBOL_FLAG_SMALL_V4): Delete.
3881 (SYMBOL_FLAG_SMALL_V4): Delete.
3882 * config/rs6000/rs6000.c (small_data_operand): Use SYMBOL_REF_SMALL_P.
3883 (rs6000_elf_encode_section_info): Don't set SYMBOL_FLAG_SMALL_V4.
3884 (rs6000_elf_in_small_data_p): Add extra section names. Add
3885 comment about TREE_PUBLIC test.
3886
3887 * c-semantics.c (genrtl_switch_stmt, genrtl_if_stmt): Call
3888 expand_stmt on result of expand_unreachable_stmt.
3889
3890 2003-05-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3891
3892 * doc/contrib.texi (Contributors): Add Daniel Berlin.
3893
3894 2003-05-02 David Edelsohn <edelsohn@gnu.org>
3895
3896 * config/rs6000/{603.md,6xx.md,7450.md,7xx.md,rs64.md}: Decrease
3897 number of automata.
3898
3899 * config/rs6000/rs6000.c (symbol_ref_operand): Check
3900 SYMBOL_REF_FUNCTION_P on AIX.
3901 (current_file_function_operand): Same.
3902 * config/rs6000/rs6000.md (call,call_value): Force non-function
3903 symbol_ref into register on AIX.
3904
3905 2003-05-02 Alan Modra <amodra@bigpond.net.au>
3906
3907 * calls.c (struct arg_data): Move offset, slot_offset, size and
3908 alignment_pad to struct locate_and_pad_arg_data. Update all refs.
3909 (initialize_argument_information): Adjust call to locate_and_pad_parm.
3910 Delete alignment_pad var. Don't calculate slot_offset here.
3911 (emit_library_call_value_1): Delete alignment_pad, offset and size
3912 vars. Use struct locate_and_pad_arg_data instead. Adjust refs.
3913 Adjust call to locate_and_pad_parm. Don't tweak arg size for
3914 partial in-regs here. Formatting fixes.
3915 * expr.h (struct locate_and_pad_arg_data): New struct.
3916 (locate_and_pad_parm): Adjust declaration.
3917 * function.c (assign_parms): Localize vars. Use "locate" instead of
3918 other arg location vars. Don't invoke FUNCTION_ARG or
3919 FUNCTION_INCOMING_ARG unless pretend_named is different from
3920 named_arg. Heed MUST_PASS_IN_STACK and set up "partial" before
3921 calling locate_and_pad_parm. Adjust locate_and_pad_parm call.
3922 Use slot_offset for stack home of reg parms. Correct test for
3923 parm passed in memory. Formatting fixes.
3924 (locate_and_pad_parm): Add "partial" to params. Replace offset_ptr
3925 arg_size_ptr and alignment pad with "locate". Set slot_offset here.
3926 Correct initial_offset_ptr handling. Localize vars. Always pad
3927 locate->offset even when in_regs.
3928
3929 2003-05-02 Nathan Sidwell <nathan@codesourcery.com>
3930
3931 * Makefile.in (TREE_H): Replace location.h with input.h.
3932 (GTFILES) Remove location.h
3933 (gt-lists.h): Replace gt-location.h with gt-input.h
3934 * input.h (input_filename, input_line): Remove variables.
3935 (location_s, location_t): Move from location.h.
3936 (input_location): New.
3937 (input_filename, input_line): New #defines.
3938 * location.h: Remove.
3939 * tree.h: Replace location.h with input.h.
3940 (input_filename, input_line): Remove.
3941 * diagnostic.h: Replace location.h with input.h.
3942 * gcc.h (input_filename, input_filename_length): Remove declarations.
3943 * toplev.c (input_filename, input_line): Remove.
3944 (input_location): Define.
3945 (push_srcloc, pop_srcloc): Adjust.
3946 * diagnostic.c (diagnostic_report_current_module): Adjust.
3947
3948 2003-05-02 Nick Clifton <nickc@redhat.com>
3949
3950 * configure.in: Add xstormy16 to list of targets that has a nop
3951 instruction and hence which can be tested to see if the
3952 assembler supports the --gdwarf2 switch.
3953 * configure: Regenerate.
3954
3955 2003-05-01 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
3956
3957 PR target/8257
3958 * config/alpha/alpha.c (alpha_sa_mask, alpha_expand_prologue,
3959 alpha_start_function, alpha_expand_epilogue, unicosmk_gen_dsib):
3960 Avoid undefined shifts by making the shift operand unsigned.
3961
3962 2003-05-01 DJ Delorie <dj@redhat.com>
3963
3964 * reload.c (find_reloads): Also check that all of a multi-reg
3965 value is in the class.
3966
3967 2003-05-01 Nathan Sidwell <nathan@codesourcery.com>
3968
3969 * scan.h (lineno): Revert the rename here.
3970
3971 2003-05-01 Stan Shebs <shebs@apple.com>
3972
3973 * config/darwin.c (darwin_encode_section_info): Call
3974 default_encode_section_info.
3975
3976 2003-05-01 David Edelsohn <edelsohn@gnu.org>
3977
3978 * config/rs6000/rs6000.md (define_attr "type"): Add mfjmpr.
3979 (movsi_internal1): Use new mfjmpr attribute.
3980 (movhi_internal): Same.
3981 (movqi_internal): Same.
3982 (movcc_internal1): Same.
3983 (movdi_internal64): Same.
3984 * config/rs6000/{40x.md,603.md,6xx.md,7450.md,7xx.md,mpc.md,
3985 power4.md,rios1.md,rios2.md,rs64.md}: Add mfjmpr.
3986 * config/rs6000/40x.md: Add fpu_405.
3987 * config/rs6000/power4.md: Merge power4lsu and power4disp automata
3988 into power4misc automata. Remove extraneous parentheses.
3989 * config/rs6000/440.md: New file.
3990 * config/rs6000/rs6000.c (processor_target_table): Add 440,
3991 440fp. Rename 405f to 405fp.
3992 (function_arg_padding): Correct formatting.
3993 (rs6000_rtx_costs): Add PROCESSOR_PPC440 cases.
3994
3995 2003-05-01 Nathan Sidwell <nathan@codesourcery.com>
3996
3997 * input.h (lineno): Rename to ...
3998 (input_line): ... here.
3999 * tree.h (lineno): Rename to ...
4000 (input_line): ... here.
4001 * scan.h (lineno): Rename to ...
4002 (input_line): ... here.
4003 * toplev.c (lineno): Rename to ...
4004 (input_line): ... here.
4005 (push_srcloc, pop_srcloc): Rename lineno to input_line.
4006 * c-common.c (c_expand_start_cond, fname_decl): Likewise.
4007 * c-decl.c (poplevel, pop_label_level, lookup_label, lookup_tag,
4008 store_parm_decls, c_expand_body_1): Likewise.
4009 * c-errors.c (pedwarn_c99): Likewise.
4010 * c-format.c (status_warning): Likewise.
4011 * c-lex.c (fe_file_change, cb_def_pragma, c_lex): Likewise.
4012 * c-opts.c (c_common_post_options, c_common_parse_file): Likewise.
4013 * c-parse.in (save_filename, maybe_type_qual, ifc): Likwise.
4014 * c-semantics.c (finish_stmt_tree, build_stmt, emit_local_var,
4015 gentrtl_goto_stmt, genrtl_expr_stmt_value, genrtl_decl_stmt,
4016 genrtl_if_stmt, genrtl_while_stmt, genrtl_do_stmt,
4017 genrtl_return_stmt, genrtl_for_stmt, build_break_stmt,
4018 build_continue_stmt, genrtl_switch_stmt, genrtl_asm_stmt,
4019 prep_stmt, find_reachable_label, expand_unreachable_stmt): Likewise.
4020 * coverage.c (create_coverage): Likewise.
4021 * diagnostic.c (pedwarn, sorry, error, fatal_error,
4022 internal_error, warning, diagnostic_report_current_module,
4023 inform): Likewise.
4024 * expr.c (expand_expr): Likewise.
4025 * integrate.c (expand_inline_function,
4026 output_inline_function): Likewise.
4027 * rtl-error.c (file_and_line_for_asm): Likewise.
4028 * tree-inline.c (find_alloca_call, find_builtin_longjmp_call,
4029 walk_tree): Likewise.
4030 * tree.c (make_node): Likewise.
4031 * ada, cp, f, java, objc, treelang: Likewise.
4032 * objc/objc-act.c (objc_init): Rename lineno to input_line.
4033 (build_module_descriptor, build_selector_translation_table,
4034 build_protocol_template, build_method_prototype_list_template,
4035 build_category_template, build_selector_table,
4036 build_class_template, build_super_template, build_ivar_template,
4037 build_ivar_list_template, build_method_list_template,
4038 build_method_template, add_instance_variable): Likewise.
4039
4040 * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Change parameter
4041 name from input_filename.
4042
4043 2003-04-30 Eric Christopher <echristo@redhat.com>
4044 Richard Sandiford <rsandifo@redhat.com>
4045
4046 * configure: Regenerate from patches below.
4047 * combine.c (gen_lowpart_for_combine): Fix comment and add tests
4048 for all symbolic operands.
4049 * config/mips/mips.c: Migrate RTX_COSTS and CONST_COSTS
4050 to function.
4051 * config/mips/linux.h: Fix typo.
4052 * Merge from mips-3_4-rewrite branch:
4053
4054 2003-04-07 Richard Sandiford <rsandifo@redhat.com>
4055
4056 * config/mips/mips.c (mips_classify_symbol): Add catch-all case for
4057 handling local labels when TARGET_ABICALLS.
4058
4059 2003-04-04 Richard Sandiford <rsandifo@redhat.com>
4060
4061 * config/mips/mips-protos.h (mips_expand_epilogue): Add an
4062 integer argument.
4063 (mips_expand_call): Likewise.
4064 * config/mips/mips.h (TARGET_SIBCALLS): New macro.
4065 (FIXED_REGISTERS): Clear $31 entry.
4066 (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTER): Likewise.
4067 (EPILOGUE_USES): Define.
4068 * config/mips/mips.c (mips_function_ok_for_sibcall): New function.
4069 (TARGET_FUNCTION_OK_FOR_SIBCALL): Use it.
4070 (override_options): Add a 'j' register class.
4071 (mips_expand_call): Handle sibcalls
4072 (mips_expand_epilogue): Handle epilogues for sibcalls.
4073 * config/mips/mips.md (epilogue): Adjust call to mips_expand_epilogue.
4074 (sibcall_epilogue): New pattern.
4075 (call, call_value): Adjust calls to mips_expand_call.
4076 (sibcall, sibcall_value): New expanders.
4077 (sibcall_internal, sibcall_value_internal): New patterns.
4078 (sibcall_value_multiple_internal): New pattern.
4079
4080 2003-03-25 Richard Sandiford <rsandifo@redhat.com>
4081
4082 * config/mips/mips.md (extended_mips16): New attribute.
4083 (define_attr length): Default to 8 if extended_mips16 == yes.
4084 (truncdisi2): Set extended_mips16 to yes for the sll alternative.
4085 (truncdihi2, truncdiqi2, *extendsidi2): Likewise.
4086 (call_internal): Set extended_mips16 to yes for direct jumps.
4087 Remove redundant mode attribute.
4088 (call_value_internal, call_value_multiple_internal): Likewise.
4089 (call_split): Remove redundant mode attribute.
4090 (call_value_split, call_value_multiple_split): Likewise.
4091
4092 * config/mips/mips.c (mips_symbol_insns): Rework. Fix handling
4093 of unaligned offsets.
4094
4095 * config/mips/mips.c (mips_splittable_symbol_p): Fix handling
4096 of SYMBOL_GENERAL.
4097
4098 2003-03-22 Richard Sandiford <rsandifo@redhat.com>
4099
4100 * config/mips/mips.h (TARGET_EXPLICIT_RELOCS): Add commentary.
4101 * config/mips/mips.c (override_options): Disable -mexplicit-relocs
4102 for mips16 code.
4103
4104 2003-03-22 Richard Sandiford <rsandifo@redhat.com>
4105
4106 * config/mips/mips.h (ADDRESS_COST): Define.
4107
4108 2003-03-20 Richard Sandiford <rsandifo@redhat.com>
4109
4110 * config/mips/mips.h (EXTRA_CONSTRAINT): Give existing meaning of
4111 'R' to 'U'. Make 'R' mean a single-instruction memory reference.
4112 * config/mips/mips.md: Replace 'R' constraints with 'U'.
4113
4114 2003-03-18 Richard Sandiford <rsandifo@redhat.com>
4115
4116 * config/mips/mips.md (truncdisi2): Add commentary. Use sll instead
4117 of a two-instruction sequence. Add register->memory alternative.
4118 (truncdihi2, truncdiqi2): Likewise.
4119 Rework shift/truncate instructions so that they only handle right
4120 shifts of 32 (or more, in the case of arithmetic shifts).
4121 Add patterns for truncate/sign-extend.
4122
4123 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
4124
4125 * configure.in (mips*-*-*): Check for explicit relocation support.
4126 * configure: Regenerate.
4127
4128 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
4129
4130 * config/mips/mips.h (TARGET_SWITCHES): Add -mexplicit-relocs
4131 and -mno-explicit-relocs.
4132 (MASK_EXPLICIT_RELOCS): Define.
4133 (TARGET_EXPLICIT_RELOCS): Use it.
4134 (mips_split_addresses): Remove declaration.
4135 * config/mips/mips.c (override_options): Update comment for
4136 mips_split_addresses. Clear MASK_EXPLICIT_RELOCS for non-PIC n64.
4137
4138 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
4139
4140 * combine.c (gen_lowpart_for_combine): Treat the lowpart Pmode of
4141 a CONST as identity. Check the return value of gen_lowpart_common.
4142
4143 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
4144
4145 * config/mips/mips.c (mips_legitimize_symbol): Handle small data
4146 references for TARGET_EXPLICIT_RELOCS.
4147 (mips_reloc_string): Return "%gp_rel(" for RELOC_GPREL16 if
4148 !TARGET_MIPS16.
4149
4150 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
4151
4152 * config/mips/mips.md: Replace 'IQ' mips16 constraints with just 'Q'.
4153 (addsi3): Remove redundant constraints.
4154 (addsi3_internal): Use separate register & constant alternatives.
4155 Use a 'Q' constraint and "addiu" insn for the latter.
4156 (adddi3_internal_3, addsi3_internal_2): Likewise.
4157
4158 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
4159
4160 * config/mips/mips-protos.h (mips_expand_unaligned_load): Declare.
4161 (mips_expand_unaligned_store): Declare.
4162 * config/mips/mips.c (mips_get_unaligned_mem): New fn.
4163 (mips_expand_unaligned_load, mips_expand_unaligned_store): New fns.
4164 * config/mips/mips.md (UNSPEC_ULW, UNSPEC_USW): Remove.
4165 (UNSPEC_ULD, UNSPEC_USD): Remove.
4166 (UNSPEC_LWL, UNSPEC_LWR, UNSPEC_SWL, UNSPEC_SWR): New.
4167 (UNSPEC_LDL, UNSPEC_LDR, UNSPEC_SDL, UNSPEC_SDR): New.
4168 (extv, extzv): Use mips_expand_unaligned_load.
4169 (insv): Use mips_expand_unaligned_store. Use a reg_or_0_operand
4170 predicate for operand 3.
4171 (movsi_ulw, movsi_usw): Replace with...
4172 (mov_lwl, mov_lwr, mov_swl, move_swr): ...these new insns.
4173 (movdi_uld, movdi_usd): Likewise replace with...
4174 (mov_ldl, mov_ldr, mov_sdl, move_sdr): ...these insns.
4175
4176 2003-02-26 Richard Sandiford <rsandifo@redhat.com>
4177
4178 * config/mips/mips-protos.h (mips_global_pic_constant_p): Declare.
4179 * config/mips/mips.h (LEA_REGS): New register class.
4180 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add entries for it.
4181 (GR_REG_CLASS_P): Include LEA_REGS.
4182 (DANGEROUS_FOR_LA25_P): New macro.
4183 (EXTRA_CONSTRAINT): Add !DANGEROUS_FOR_LA25_P to R's condition.
4184 Add a T constraint for the DANGEROUS_FOR_LA25_P case.
4185 * config/mips/mips.c (mips_regno_to_class): Change GR_REGS
4186 entries to LEA_REGS.
4187 (mips_global_pic_constant_p): New function.
4188 (override_options): Add 'e' register constraint.
4189 (mips_secondary_reload_class): Return LEA_REGS when reloading
4190 a dangerous constant into a class containing $25.
4191 * config/mips/mips.md (movdi_internal2): Add an e <- T alternative.
4192 (movsi_internal): Likewise.
4193
4194 2003-02-23 Richard Sandiford <rsandifo@redhat.com>
4195
4196 * config/mips/mips.h (TARGET_SPLIT_CALLS): New macro.
4197 * config/mips/mips.md (call_split): New insn.
4198 (call_value_split, call_value_multiple_split): New insns.
4199 (call_internal): Turn into a define_insn_and_split. Split the
4200 instruction into a call and $gp load if TARGET_SPLIT_CALLS.
4201 (call_value_internal, call_value_multiple_internal): Likewise.
4202
4203 2003-02-23 Richard Sandiford <rsandifo@redhat.com>
4204
4205 * config/mips/mips.c (mips_reloc_string): Return "%got(" for
4206 RELOC_GOT_PAGE and RELOC_GOT_DISP if !TARGET_NEWABI.
4207 (mips_encode_section_info): Don't take symbol visibility into
4208 account if TARGET_ABICALLS. Add more commentary.
4209 * config/mips/mips.md: Add commentary above reloc constants.
4210
4211 2003-02-12 Richard Sandiford <rsandifo@redhat.com>
4212
4213 * config/mips/mips.c (mips_legitimize_const_move): New, extracted
4214 from mips_legitimize_move. Legitimize constant pool references.
4215 (mips_legitimize_move): Call mips_legitimize_const_move. Attach
4216 a REG_EQUAL note to the last instruction.
4217
4218 2003-02-11 Richard Sandiford <rsandifo@redhat.com>
4219
4220 * config/mips/mips-protos.h (mips_simplify_dwarf_addr): Declare.
4221 * config/mips/mips.h (TARGET_EXPLICIT_RELOCS, TARGET_NEWABI): New.
4222 (ASM_SIMPLIFY_DWARF_ADDR): Define to mips_simplify_dwarf_addr.
4223 (EXTRA_CONSTRAINT): Allow symbolic call addresses for TARGET_ABICALLS.
4224 * config/mips/mips.md (UNSPEC_HIGH): New constant.
4225 (UNSPEC_RELOC_GPREL16): Rename to...
4226 (RELOC_GPREL16): ...this.
4227 (RELOC_GOT_HI, RELOC_GOT_LO, RELOC_GOT_PAGE, RELOC_GOT_DISP): New.
4228 (RELOC_CALL16, RELOC_CALL_HI, RELOC_CALL_LO): New.
4229 (macro_calls): New attribute.
4230 (length): Use it to set the default length of calls. Don't allow
4231 calls to have delay slots if macro_calls is "yes".
4232 (luisi, luidi): New patterns.
4233 (lowsi, lowdi): Use '%R' to print the relocation.
4234 (lowdi_extend): Remove.
4235 (loadgp): Remove mode from operand 0. Use '%0' instead of '%a0'.
4236 (call_internal): Merge alternatives. Always use "jal".
4237 (call_value_internal, call_value_multiple_internal): Likewise.
4238 (reloc_gprel16): Remove.
4239 * config/mips/mips.c (mips_got_alias_set): New variable.
4240 (mips_classify_constant): Handle the new relocation constants.
4241 (mips_classify_symbol): Reverse the sense of SYMBOL_REF_FLAG for PIC.
4242 (mips_symbolic_address_p): Return false if generating explicit relocs.
4243 Otherwise allow local PIC symbols to have an offset.
4244 (mips_splittable_symbol_p): New function.
4245 (mips_classify_address): Use it to check whether a LO_SUM is valid.
4246 (mips_const_insns): Always accept HIGH.
4247 (call_insn_operand): Don't accept global symbols if using explicit
4248 relocs.
4249 (move_operand): Don't accept HIGH when generating PIC.
4250 (mips_reloc, mips_lui_reloc): New functions.
4251 (mips_force_temporary): Remove MODE argument. Expect VALUE to
4252 be a valid right-hand-side for a SET pattern.
4253 (mips_load_got, mips_load_got16, mips_load_got32): New functions.
4254 (mips_emit_high): New function.
4255 (mips_legitimize_symbol): Use mips_reloc for the mips16 gp-relative
4256 case. Use mips_splittable_symbol_p to check whether a LO_SUM
4257 address should be used. Use mips_emit_high to generate the
4258 high part of such an address. Adjust the global symbol + offset
4259 case to match the change to mips_force_temprorary.
4260 (mips_legitimize_move): Shuffle call to mips_legitimize_symbol.
4261 If generating explicit-reloc PIC, load the address of global
4262 symbols from the GOT. Use mips_emit_high to emit the high part
4263 of an address.
4264 (mips_simplify_dwarf_addr): New function.
4265 (mips_move_1word): Use lwc1 instead of l.s and swc1 instead of s.s.
4266 (mips_move_2words): Likewise ldc1/l.d and sdc1/s.d if TARGET_64BIT.
4267 (mips_expand_call): Load the addresses of global functions using
4268 %call* relocs if generating explicit-reloc PIC. Don't generate
4269 an exception_receiver pattern.
4270 (override_options): Initialize mips_got_alias_set.
4271 (print_relocation): Remove in favour of...
4272 (mips_reloc_string): ...this new function.
4273 (print_operand): Handle '%R'. Use mips_reloc_string.
4274 (print_operand_address): Use print_operand to print the symbolic
4275 part of a LO_SUM address.
4276 (mips_output_function_prologue): Use .cprestore, reverting last patch.
4277 (mips_encode_section_info): Factor out DECL_RTL accesses. Reverse
4278 sense of SYMBOL_REF_FLAG for PIC, using binds_local_p to check
4279 for local symbols.
4280
4281 2003-02-02 Eric Christopher <echristo@redhat.com>
4282
4283 * config/mips/mips.c (mips_sign_extend): Remove.
4284 * config/mips/mips-protos.h: Ditto.
4285 * config/mips/mips.md (movdi_internal2_extend): Remove.
4286 (extendsidi2): Fix mode of convert_memory_address.
4287
4288 2003-01-24 Eric Christopher <echristo@redhat.com>
4289
4290 * config/mips/mips.md: Rewrite zero_extend* and extend*
4291 patterns. Use explicit instructions and split after reload
4292 for register extensions.
4293 (ashlsi3_internal1_extend): New combiner pattern for
4294 shift and extend combinations.
4295 * config/mips/mips.h: Change Pmode back to ptr_mode
4296 for performance enhancement.
4297 * combine.c (expand_compound_operation): Make sure
4298 that zero_extend operation is profitable.
4299
4300 2003-01-14 Richard Sandiford <rsandifo@redhat.com>
4301
4302 * config/mips/mips.h (TRAMPOLINE_TEMPLATE): Make size of stored
4303 addresses depend on ptr_mode rather than Pmode.
4304 (TRAMPOLINE_SIZE, TRAMPOLINE_ALIGNMENT): Update acoordingly.
4305 (INITIALIZE_TRAMPOLINE): Rework to handle Pmode != ptr_mode.
4306 (CASE_VECTOR_MODE): Use ptr_mode for !TARGET_MIPS16.
4307 (ASM_OUTPUT_ADDR_VEC_ELT): Update accordingly.
4308 * config/mips/mips.md (tablejump): Likewise. Remove Pmode
4309 condition for selecting cpaddsi or cpadddi: use cpadd instead.
4310 (tablejump_internal1): Remove condition.
4311 (tablejump_internal2): Change condition to TARGET_64BIT.
4312 (cpaddsi): Rename to...
4313 (cpadd): ...this.
4314 (cpadddi): Remove.
4315
4316 2003-01-09 Richard Sandiford <rsandifo@redhat.com>
4317
4318 * config/mips/mips-protos.h (mips16_constant_after_function_p,
4319 mips_address_cost, mips_check_split, double_memory_operand,
4320 mips16_gp_offset, mips16_gp_offset_p, mips16_constant,
4321 pic_address_needs_scratch, symbolic_operand): Remove declarations.
4322 (mips_legitimate_address_p): Return bool.
4323 (mips_address_insns, mips_fetch_insns, mips_const_insns,
4324 mips_legitimize_address, mips_legitimize_move,
4325 mips_expand_call): Declare.
4326 (mips_return_addr): Move outside #ifdef RTX_CODE.
4327
4328 * config/mips/mips.h (ABI_HAS_64BIT_SYMBOLS): New macro.
4329 (PIC_FN_ADDR_REG): New reg_class.
4330 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add corresponding entries.
4331 (GR_REG_CLASS_P): True for PIC_FN_ADDR_REG.
4332 (SMALL_OPERAND, SMALL_OPERAND_UNSIGNED, LUI_OPERAND,
4333 CONST_HIGH_PART, CONST_LOW_PART, LUI_INT): New macros.
4334 (SMALL_INT, SMALL_INT_UNSIGNED, CONST_OK_FOR_LETTER_P): Use new macros.
4335 (EXTRA_CONSTRAINTS): Give new meanings to Q, R and S.
4336 (CONSTANT_ADDRESS_P): Use mips_legitimate_address_p.
4337 (LEGITIMATE_PIC_OPERAND): Undefine.
4338 (LEGITIMATE_CONSTANT_P): Use mips_const_insns.
4339 (LEGITIMIZE_ADDRESS): Use mips_legitimize_address.
4340 (CONSTANT_AFTER_FUNCTION_P): Remove definition in #if 0 block.
4341 (FUNCTION_MODE): Change to SImode.
4342 (CONST_COSTS): Use mips_const_insns to calculate the cost of
4343 most constants. Treat const_artih_operands specially if they
4344 occur in a PLUS or MINUS.
4345 (CONSTANT_POOL_COST): New macro.
4346 (RTX_COSTS): Use mips_address_insns for MEMs, with a base cost of 2.
4347 Add LO_SUM handling.
4348 (ADDRESS_COST): Undefine.
4349 (PREDICATE_CODES): Add symbolic_operand and const_arith_operand.
4350 Add CONST to the list of codes for arith_operand. Add LABEL_REF
4351 to call_insn_operand and remove CONST_INT.
4352
4353 * config/mips/mips.c: Include integrate.h.
4354 (SINGLE_WORD_MODE_P): New macro.
4355 (mips_constant_type, mips_symbol_type, mips_address_type): New enums.
4356 (mips_constant_info, mips_address_info): New structs.
4357 (mips_regno_to_class): Map $25 to PIC_FN_ADDR_REG.
4358 (mips_classify_constant, mips_classify_symbol,
4359 mips_valid_base_register_p, mips_symbolic_address_p,
4360 mips_classify_address, mips_symbol_insns,
4361 mips16_unextended_reference_p, mips_address_insns, mips_const_insns,
4362 mips_fetch_insns, mips_force_temporary, mips_add_offset,
4363 mips_legitimize_symbol, mips_legitimize_address, mips_legitimize_move,
4364 mips_print_relocation): New functions.
4365 (const_arith_operand): New operand predicate.
4366 (arith_operand): Use it.
4367 (mips_const_double_ok, mips16_simple_memory_operand,
4368 simple_memory_operand, double_memory_operand, mips_check_split,
4369 mips_address_cost, pic_address_needs_scratch, mips16_gp_offset,
4370 mips16_gp_offset_p, mips16_output_gp_offset,
4371 mips16_constant_after_function_p, mips16_constant): Remove.
4372 (call_insn_operand): Be more fussy about symbolic constants.
4373 Use register_operand.
4374 (move_operand): Use mips_symbolic_address_p to check symbolic
4375 operands and general_operand to check the rest.
4376 (symbolic_operand): Use mips_classify_constant.
4377 (mips_legitimate_address_p): Use mips_classify_address.
4378 (mips_move_1word): Combine handling of symbolic addresses.
4379 Remove special treatment of gp-relative loads for TARGET_MIPS16.
4380 (move_move_2words): Likewise. Assume addresses are offsettable
4381 if they need to refer to more than one word. Add HIGH handling.
4382 (mips_restore_gp): Use ptr_mode for the GP save slot.
4383 (mips_expand_call): New function, combining the old mips.md
4384 call and call_internal define_expands. If the address isn't
4385 a call_insn_operand, force it into a register. For SVR4 PIC,
4386 emit an exception_receiver instruction after the call.
4387 (override_options): Only override flag_pic for TARGET_ABICALLS
4388 if it is currently zero. Allow mips_split_addresses when
4389 Pmode == DImode too, except when ABI_HAS_64BIT_SYMBOLS.
4390 Add new register class letter, 'c'.
4391 (print_operand): Use mips_classify_constant for constant operands.
4392 (print_operand_address): Use mips_classify_address.
4393 (mips_output_function_prologue): Don't use .cprestore.
4394 (mips_expand_epilogue): For TARGET_MIPS16, only adjust the stack
4395 via the frame pointer if current_function_calls_eh_return.
4396 (mips_encode_section_info): For TARGET_ABICALLS, use SYMBOL_REF_FLAG
4397 to mark whether a symbol is local or global.
4398 (build_mips16_call_stub): Expect the address of the function rather
4399 than a MEM reference to it. Update call generation sequences.
4400 (mips16_optimize_gp): Remove Pmode checks. Temporarily disable
4401 small-data adjustments.
4402
4403 * config/mips/mips.md: Remove 'R'/'m' memory distinction. Use default
4404 length for loads and stores.
4405 (UNSPEC_CPADD, UNSPEC_RELOC_GPREL16): New constants.
4406 (define_attr type): Add const and prefetch.
4407 (define_attr length): Use mips_const_insns for const instructions.
4408 Use mips_fetch_insns for load and store instructions.
4409 (define_attr single_insn): New.
4410 (define_attr can_delay): Use it.
4411 (define_attr abicalls): Remove.
4412 (define_delay): Use can_delay. Always allow calls to have delay slots.
4413 (addsi3_internal_2): Add 'Q' constraint.
4414 (movsi_ulw, movsi_usw, movdi_uld, movdi_usd): Set length to 8.
4415 (high): Remove.
4416 (lowsi): Renamed from low.
4417 (lowdi): New pattern.
4418 (movdi, movsi): Use mips_legitimize_move. Remove define_split.
4419 (lwxc1, ldxc1, swxc1, sdxc1): Set length to 4.
4420 (loadgp): Change operand 0 to an immediate_operand.
4421 (tablejump): Use the same patterns for SVR4 PIC but emit a cpadd
4422 beforehand.
4423 (cpaddsi, cpadddi): New patterns.
4424 (tablejump_internal3, tablejump_internal4): Remove define_expands
4425 and associated define_splits.
4426 (call, call_value): Use mips_expand_call.
4427 (call_internal): New, replacing all existing call_internal* insns.
4428 (call_value_internal): Likewise call_value_internal*.
4429 (call_value_multiple_internal): Likewise call_value_multiple_internal*.
4430 (untyped_call): Remove if (operands[0]) magic.
4431 (prefetch_si_address, prefetch_si): Change type to "prefetch".
4432 (prefetch_di_address, prefetch_di): Likewise.
4433 (leasi, leadi): Remove.
4434 (reloc_gprel16): New.
4435
4436 * config/mips/5400.md (ir_vr54_hilo): Include const type.
4437 * config/mips/5500.md (ir_vr55_hilo): Likewise.
4438 * config/mips/sr71k.md (ir_sr70_hilo): Likewise.
4439
4440 2003-01-08 Eric Christopher <echristo@redhat.com>
4441
4442 * config.gcc (mipsisa32*): Change ABI_MEABI to ABI_EABI.
4443 * config/mips/elf.h (STARTFILE_SPEC): Remove ABI_MEABI references and
4444 configure check for libgloss.
4445 * config/mips/elf64.h: Ditto.
4446 * config/mips/mips.c: Remove ABI_MEABI.
4447 * config/mips/mips.h: Ditto.
4448
4449 2002-11-05 Richard Sandiford <rsandifo@redhat.com>
4450
4451 Fix merge fallout.
4452 * config/mips/mips.md (mul_acc_si): Reapply 2002-10-16 change.
4453 (muldi3_internal): Remove outdated comment.
4454 (*muls_di, *umuls_di): Fix comment and 64-bitness.
4455 (*smsac_di, *umsac_di): Likewise. Reformat.
4456 (umulsi3_highpart): Minor formatting tweaks.
4457 (umulsi3_highpart_internal): Use only if !ISA_HAS_MULHI. Remove
4458 redundant scratch operand. Minor formatting tweak.
4459 (umulsi3_highpart_mulhi_internal): Use for !TARGET_64BIT as well.
4460 (umulsi3_highpart_neg_mulhi_internal): Likewise. Fix asm template.
4461 (smulsi3_highpart): As for the unsigned version.
4462 (smulsi3_highpart_internal): Likewise.
4463 (smulsi3_highpart_mulhi_internal): Likewise.
4464 (smulsi3_highpart_neg_mulhi_internal): Likewise.
4465 (smuldi3_highpart, umuldi3_highpart): Minor formatting tweaks.
4466 (*smul_acc_di): Remove duplicated pattern.
4467 (*umul_acc_di, *smul_acc_di): Reapply 2002-10-16 change.
4468 (anddi3) [unnamed mips16 pattern]: Remove reintroduced length.
4469 (zero_extendsidi2_internal2): Remove new, but commented-out pattern.
4470
4471 2002-10-22 Eric Christopher <echristo@redhat.com>
4472
4473 * config/mips/mips-protos.h (mips_return_addr): New.
4474 * config/mips/mips.c (mips_return_addr): New.
4475 (movdi_operand): Remove.
4476 (se_register_operand): Ditto.
4477 (se_reg_or_0_operand): Ditto.
4478 (se_uns_arith_operand): Ditto.
4479 (se_arith_operand): Ditto.
4480 (se_nonmemory_operand): Ditto.
4481 (extend_operator): Ditto.
4482 (highpart_shift_operator): Ditto.
4483 (mips_initial_elimination_offset): Remove return address pointer
4484 elimination.
4485 (mips_reg_names): Remove $ra.
4486 (mips_regno_to_class): Ditto.
4487 * config/mips/mips.h (POINTER_SIZE): Define based on TARGET_LONG64
4488 and TARGET_64BIT.
4489 (POINTER_BOUNDARY): Remove.
4490 (POINTERS_EXTEND_UNSIGNED): Define to 0.
4491 (PROMOTE_MODE): Promote to Pmode.
4492 (SHORT_IMMEDIATES_SIGN_EXTEND): Define.
4493 (Pmode): Define to TARGET_64BIT.
4494 (FUNCTION_MODE): Define as Pmode.
4495 (mips_args): Remove deleted functions.
4496 (SIZE_TYPE): Depend on POINTER_SIZE.
4497 (PTRDIFF_TYPE): Ditto.
4498 (FIXED_REGISTERS): Fix extra registers.
4499 (CALL_USED_REGISTERS): Ditto.
4500 (CALL_REALLY_USED_REGISTERS): Ditto.
4501 (RAP_REG_NUM): Remove.
4502 (RETURN_ADDRESS_POINTER_REGNUM): Ditto.
4503 (RETURN_ADDR_RTX): Define to mips_return_addr.
4504 (ELIMINABLE_REGS): Remove RETURN_ADDRESS_POINTER_REGNUM.
4505 (CAN_ELIMINATE): Ditto.
4506 * config/mips/mips.md: For DImode patterns, take into account
4507 deletions above. Split mulsidi patterns into sign_extend and
4508 zero_extend.
4509
4510 2002-10-16 Richard Sandiford <rsandifo@redhat.com>
4511 Michael Meissner <meissner@redhat.com>
4512
4513 * config/mips/mips.h (ISA_HAS_MACC): True for normal-mode vr4120 code.
4514 * config/mips/mips.md (mulsi3_mult3): Add a define_peephole2 to
4515 mop up unnecessarly moves through LO.
4516 (*mul_acc_si): Remove vr5400 and vr5500 handling from here.
4517 (*macc): New pattern for ISA_HAS_MACC. Add define_peephole2s to
4518 change mtlo/macc sequences into mul/add sequences when a three-
4519 address mul is available.
4520 (*macc2): New pattern. Add a define_peephole2 to generate it.
4521 (*mul_sub_si): Fix contraint for operand 5.
4522 (*muls): Use in 32-bit code as well.
4523 (*msac): Likewise. Use msub instead of msac in vr5500 code
4524 if the destination is LO. Remove duplicate define_split.
4525 (*muls_di): Use only in 32-bit code. Adjust rtl accordingly.
4526 (*msac_di): Likewise. Fix formatting.
4527 (smulsi3_highpart, umulsi3_highpart): Use mulhi in 32-bit code too.
4528 (*xmulsi3_highpart_internal): Use only if !ISA_HAS_MULHI.
4529 (*xmulsi3_highpart_mulhi): Use even if !TARGET_64BIT.
4530 (*xmulsi3_neg_highpart_mulhi): Likewise.
4531 (*mul_acc_64bit_di): Remove.
4532 (*mul_acc_di): Use only in 32-bit code. Handle ISA_HAS_MACC as well.
4533
4534 2002-10-14 Richard Sandiford <rsandifo@redhat.com>
4535
4536 * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
4537 * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
4538 (MULTILIB_DIRNAMES): Remove long32.
4539 (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
4540 (MULTILIB_REDUNDANT_DIRS): Remove.
4541
4542 2002-10-14 Richard Sandiford <rsandifo@redhat.com>
4543
4544 * doc/tm.texi (DRIVER_SELF_SPECS): Document.
4545 * gcc.c (driver_self_specs): New variable.
4546 (do_self_spec): New function.
4547 (main): Use it to process driver_self_specs.
4548
4549 2002-10-09 Richard Sandiford <rsandifo@redhat.com>
4550
4551 * config/mips/mips.md (one_cmpldi2): Use only if TARGET_64BIT.
4552 Remove DImode define_split for !TARGET_64BIT.
4553 (anddi3): Remove !TARGET_64BIT support from here as well.
4554 Change operand 2's predicate to se_uns_arith_operand.
4555 Add constant alternatives to define_insn.
4556 (iordi3, xordi3, *nordi3): Likewise.
4557 (anddi3_internal1, xordi3_immed): Remove.
4558
4559 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
4560
4561 * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
4562 (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
4563 * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
4564 * config/mips/mips.md: Apply same renaming here.
4565
4566 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
4567
4568 * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
4569 (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
4570 * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
4571 * config/mips/mips.md (define_attr cpu): Remove r4320.
4572 Remove vr4320 scheduler and uses of TARGET_MIPS4320.
4573
4574 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
4575
4576 * config/mips/mips.c (mips16_strings): New variable.
4577 (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
4578 symbol in mips16_strings. Free the list.
4579 (mips_encode_section_info): Keep track of local strings.
4580
4581 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
4582
4583 * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
4584 (sordered_df, sordered_sf): Remove.
4585 * config/mips/mips.c (get_float_compare_codes): New fn.
4586 (gen_int_relational, gen_conditional_move): Use it.
4587
4588 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
4589
4590 * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
4591 * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
4592 * config/mips/mips.c (fcc_register_operand): New function.
4593 (mips_emit_fcc_reload): New function, extracted from reload_incc.
4594 (override_options): Allow TFmode values in float registers
4595 if ISA_HAS_8CC.
4596 * cnfig/mips/mips.md (reload_incc): Change destination prediate
4597 to fcc_register_operand. Remove misleading source constraint.
4598 Use mips_emit_fcc_reload.
4599 (reload_outcc): Duplicate reload_incc.
4600
4601
4602 2003-04-30 Diego Novillo <dnovillo@redhat.com>
4603
4604 * builtins.def (BUILTIN_CONSTANT_P): Mark as constant.
4605
4606 2003-04-30 Geoffrey Keating <geoffk@apple.com>
4607
4608 * tree-inline.c (inlinable_function_p): Back out last change, it's
4609 unnecessary.
4610
4611 2003-04-30 Steven Bosscher <steven@gcc.gnu.org>
4612
4613 * ggc-page.c (TREE_EXP_SIZE): Define.
4614 (extra_order_size_table): New entry for expr trees with
4615 two operands.
4616
4617 2003-04-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
4618
4619 * c-common.c (if_elt): Use location_t in lieu of "file, line" pair.
4620 (c_expand_start_cond): Adjust.
4621 (c_expand_end_cond): Don't use warning_with_file_and_file.
4622 (shadow_warning): Likewise.
4623
4624 2003-04-30 Nathan Sidwell <nathan@codesourcery.com>
4625
4626 * tree.h (DECL_POINTER_DEPTH): Remove.
4627 (struct tree_decl): Remove pointer_depth.
4628
4629 2003-04-30 Janis Johnson <janis187@us.ibm.com>
4630
4631 * config/rs6000/linux64.h (ASM_OUTPUT_LABELREF): Remove.
4632 * config/rs6000/rs6000.c (rs6000_elf_strip_name_encoding): Remove.
4633 (rs6000_xcoff_encode_section_info): Remove.
4634 (current_file_function_operand): Use SYMBOL_REF_FLAGS; fix latent bug.
4635 (rs6000_output_mi_thunk): Remove dead code; use SYMBOL_REF_FLAGS.
4636 (small_data_operand, rs6000_emit_move, rs6000_elf_in_small_data_p,):
4637 Use SYMBOL_REF_FLAGS.
4638 (rs6000_elf_encode_section_info): Call default_encode_section_info for
4639 generic flags, use SYMBOL_REF_FLAGS; code cleanups.
4640 * sysv4.h (TARGET_STRIP_NAME_ENCODING, ASM_OUTPUT_LABELREF): Remove.
4641 (SYMBOL_FLAG_SMALL_V4, SYMBOL_REF_SMALL_V4_P): New.
4642 * xcoff.h (TARGET_ENCODE_SECTION_INFO): Remove.
4643 (ASM_DECLARE_FUNCTION_NAME): Remove setting of SYMBOL_REF_FLAG.
4644
4645 2003-04-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
4646
4647 * diagnostic.c (output_pointer): Use HOST_PTR_PRINTF.
4648
4649 2003-04-30 Andreas Schwab <schwab@suse.de>
4650
4651 * doc/extend.texi (Other Builtins): Enclose multiple word data
4652 type in braces for @deftypefn.
4653
4654 2003-04-30 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4655
4656 * stor-layout.c (mode_for_size_tree): Use BLKmode if SIZE overflows.
4657
4658 * doc/install.texi (--enable-threads): Document "gnat" option.
4659
4660 2003-04-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
4661
4662 * diagnostic.h (output_formatted_scalar): Tweak.
4663 * diagnostic.c (output_long_decimal): Likewise.
4664 (output_unsigned_decimal): Likewise.
4665 (output_long_unsigned_decimal): Likewise.
4666 (output_octal): Likewise.
4667 (output_long_octal): Likewise.
4668 (output_hexadecimal): Likewise.
4669 (output_long_hexadecimal): Likewise.
4670 (output_pointer): New function.
4671 (output_format): Use it. Recognize "%p" format specifier.
4672
4673 2003-04-30 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4674
4675 * function.c (purge_addressof_1): Postpone insn in fewer cases.
4676
4677 2003-04-29 Geoffrey Keating <geoffk@apple.com>
4678
4679 * config/rs6000/host-darwin.c (segv_handler): When -dH is used,
4680 call abort() after running out of stack space.
4681
4682 * c-typeck.c (function_types_compatible_p): Ignore incompatible
4683 'volatile' qualifiers on a function's return type in GNU mode.
4684
4685 2003-04-29 Aldy Hernandez <aldyh@redhat.com>
4686
4687 * expr.c (emit_group_load): Dump parallels of simd types to
4688 memory.
4689
4690 2003-04-29 Vladimir Makarov <vmakarov@redhat.com>
4691
4692 * genautomata.c (add_vect): Check undefined value for range type
4693 too.
4694
4695 2003-04-29 Phil Edwards <pme@gcc.gnu.org>
4696
4697 * configure.in: More general test for cmp --ignore-initial.
4698 * configure: Regenerate.
4699
4700 2003-04-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4701
4702 * stor-layout.c (mode_for_size_tree): Use tree_low_cst.
4703 (layout_decl, place_field): Likewise.
4704 Also make minor type and whitespace changes.
4705
4706 * tree.c (save_expr): Don't fold a COMPONENT_REF.
4707
4708 2003-04-29 Olivier Hainque <hainque@act-europe.fr>
4709
4710 * calls.c (expand_call): When modes of target and valreg match, force
4711 sibcall failure when target is a MEM.
4712
4713 2003-04-29 Geoffrey Keating <geoffk@apple.com>
4714
4715 * tree-inline.c (inlinable_function_p): Don't support inlining
4716 functions using varargs.
4717
4718 * doc/invoke.texi (Overall Options): Mention -x objective-c-header.
4719
4720 * dwarf2out.c (output_call_frame_info): No need to output EH
4721 unwind information if all_throwers_are_sibcalls.
4722
4723 * c-semantics.c (expand_unreachable_stmt): Return a tree.
4724 (expand_stmt): Update for change to expand_unreachable_stmt.
4725 (expand_unreachable_if_stmt): Likewise.
4726
4727 * Makefile.in (quickstrap): Pass BOOT_CFLAGS to submake.
4728
4729 2003-04-29 Jason Merrill <jason@redhat.com>
4730
4731 PR middle-end/10336
4732 * jump.c (never_reached_warning): Really stop looking if we reach
4733 the beginning of the function.
4734
4735 2003-04-29 Bob Wilson <bob.wilson@acm.org>
4736
4737 * config/xtensa/elf.h (SIZE_TYPE, PTRDIFF_TYPE, USER_LABEL_PREFIX):
4738 Remove redundant macros.
4739 (WCHAR_TYPE, WCHAR_TYPE_SIZE): Change to "short unsigned int".
4740 (LOCAL_LABEL_PREFIX): Define unconditionally.
4741 (NO_DOT_IN_LABEL): Clarify comment.
4742 * config/xtensa/linux.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Add explicit
4743 definition to "long int".
4744
4745 2003-04-29 Alexander Kabaev <kan@FreeBSD.ORG>
4746
4747 bootstrap/10452
4748 * gengtype-yacc.y: Improve portability.
4749
4750 2003-04-29 Zack Weinberg <zack@codesourcery.com>
4751
4752 * config.gcc: Install obsolete target list for GCC 3.3.
4753 * doc/install.texi: Mention in specific-target instructions
4754 that certain configurations are deprecated.
4755
4756 2003-04-29 Zack Weinberg <zack@codesourcery.com>
4757
4758 * tree.h: Delete no-checking definition of CST_OR_CONSTRUCTOR_CHECK.
4759
4760 2003-04-29 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
4761
4762 * c-pragma.c (maybe_apply_renaming_pragma): Fix typo.
4763 * gcc.c (display_help): Likewise.
4764 * toplev.c (f_options): Likewise.
4765 * params.def (PARAM_MAX_INLINE_SCOPE): Likewise.
4766 * config/c4x/c4x.h (TARGET_SWITCHES): Likewise.
4767 * config/mcore/mcore.h (TARGET_SWITCHES): Likewise.
4768 * config/s390/s390.h (TARGET_SWITCHES): Likewise.
4769 * config/v850/v850.h (TARGET_SWITCHES): Likewise.
4770
4771 2003-04-29 J"orn Rennecke <joern.rennecke@superh.com>
4772
4773 * varasm.c (default_assemble_visibility): Use assemble_name.
4774
4775 2003-04-29 David O'Brien <obrien@FreeBSD.org>
4776
4777 * config/i386/freebsd64.h (LINK_SPEC): Mirror FreeBSD linker.
4778 * config/rs6000/freebsd.h (LINK_SHLIB_SPEC): New macro.
4779 (SIZE_TYPE): New macro.
4780 * config/i386/freebsd-aout.h (NO_PROFILE_COUNTERS): New macro.
4781 (SET_ASM_OP): New macro.
4782 (HANDLE_SYSV_PRAGMA): New macro.
4783 (ASM_WEAKEN_LABEL): New macro.
4784
4785 2003-04-28 Mark Mitchell <mark@codesourcery.com>
4786
4787 PR c++/10180
4788 * tree-inline.c (expand_call_inline): Call push_srcloc when
4789 encountering EXPR_WITH_FILE_LOCATION. Honor warn_inline.
4790
4791 2003-04-28 Mike Stump <mrs@apple.com>
4792
4793 * gdbinit.in: Update to reflect new identifier structure.
4794
4795 2003-04-28 Zack Weinberg <zack@codesourcery.com>
4796
4797 * tree.h (TREE_CST_RTL, CST_OR_CONSTRUCTOR_CHECK): Delete.
4798 (struct tree_int_cst, struct tree_real_cst, struct tree_string,
4799 struct tree_complex, struct tree_vector): Remove RTL field.
4800 (CONSTRUCTOR_ELTS): Use elt 0.
4801 * tree.def (CONSTRUCTOR): Delete first of its two operands.
4802 * varasm.c (output_constant_def): Remove early exit if
4803 TREE_CST_RTL is set. Don't set TREE_CST_RTL.
4804 (decode_addr_const): Don't mention TREE_CST_RTL in comment.
4805 * target.h (select_section): Don't mention TREE_CST_RTL in comment.
4806 * doc/tm.texi (encode_section_info): Don't talk about TREE_CST_RTL.
4807
4808 2003-04-28 Jakub Jelinek <jakub@redhat.com>
4809
4810 * c-decl.c (finish_decl): When prototype with asmspec is found
4811 for built-in, adjust built_in_decls as well as expr.c decls.
4812 * expr.c (init_block_move_fn, init_block_clear_fn): New functions.
4813 (emit_block_move_libcall_fn, clear_storage_libcall_fn): Use it.
4814 * expr.c (init_block_move_fn, init_block_clear_fn): New prototypes.
4815
4816 2003-04-28 Richard Henderson <rth@redhat.com>
4817
4818 * config/sparc/sparc.c (print_operand): Add 's' to sign-extend.
4819 * config/sparc/sparc.md (const_mulsidi3_v8plus): Fix mode of
4820 integral constant mult operand.
4821 (const_mulsidi3_sp32, const_mulsidi3_sp64): Likewise.
4822 (const_smulsi3_highpart_v8plus): Likewise.
4823 (const_smulsi3_highpart): Likewise.
4824 (const_umulsidi3_sp32): Likewise; sign-extend it in the output.
4825 (const_umulsidi3_sp64, const_umulsidi3_v8plus): Likewise.
4826 (const_umulsi3_highpart_v8plus): Likewise.
4827 (const_umulsi3_highpart): Likewise.
4828
4829 2003-04-28 David O'Brien <obrien@FreeBSD.org>
4830
4831 * config/i386/x86-64.h (NO_PROFILE_COUNTERS, HAVE_AS_DWARF2_DEBUG_LINE):
4832 Define as 1.
4833
4834 2003-04-28 David O'Brien <obrien@FreeBSD.org>
4835
4836 * config/i386/i386.h (builtin_define): Add __amd64 and __amd64__.
4837
4838 2003-04-28 Jakub Jelinek <jakub@redhat.com>
4839
4840 * builtins.def (BUILT_IN_BCOPY, BUILT_IN_MEMMOVE): New.
4841 * builtin-types.def (BT_FN_VOID_CONST_PTR_PTR_SIZE): New.
4842 * builtins.c (expand_builtin_memmove, expand_builtin_bcopy): New
4843 functions.
4844 (expand_builtin): Handle BUILT_IN_BCOPY and BUILT_IN_MEMMOVE.
4845
4846 2003-04-28 Nick Clifton <nickc@redhat.com>
4847
4848 * config/arm/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Remove definition.
4849
4850 2003-04-27 Zack Weinberg <zack@codesourcery.com>
4851
4852 * expr.c (expand_expr <COMPLEX_CST, STRING_CST>): Always call
4853 output_constant_def, use its result instead of TREE_CST_RTL (exp).
4854 Can assume it has the form (mem (symbol_ref ".LCxxx")).
4855 (expand_expr <COMPONENT_REF>): Can always just extract the
4856 relevant field of a CONSTRUCTOR.
4857 (expand_expr <ARRAY_REF, COMPONENT_REF, BIT_FIELD_REF,
4858 ARRAY_RANGE_REF>): Make control flow explicit.
4859 * varasm.c (output_constant_def): Can look at TREE_CST_RTL of
4860 an INTEGER_CST.
4861
4862 2003-04-27 Kazu Hirata <kazu@cs.umass.edu>
4863
4864 * reload1.c (reg_set_luid): Fix a comment typo.
4865
4866 2003-04-27 Zack Weinberg <zack@codesourcery.com>
4867
4868 * varasm.c (const_str_htab_hash, const_str_htab_eq, STRHASH,
4869 struct deferred_string, const_str_htab): Kill.
4870 (n_deferred_strings): New static variable.
4871 (build_constant_desc): Set SYMBOL_REF_DECL of the new
4872 symbol_ref to point to the constant.
4873 (output_constant_def): When a deferred string is forced out,
4874 just clear STRING_POOL_ADDRESS_P and decrement n_deferred_strings.
4875 (mark_constant): Likewise.
4876 (maybe_output_constant_def_contents): When deferring a string
4877 constant, just set STRING_POOL_ADDRESS_P and increment
4878 n_deferred_strings.
4879 (mark_constant_pool): Check n_deferred_strings, not the size
4880 of const_str_htab.
4881 (init_varasm_once): No need to create const_str_htab.
4882
4883 * rtl.def, rtl.h, doc/rtl.texi: Document possibility that
4884 SYMBOL_REF_DECL points to a constant.
4885
4886 2003-04-26 Zack Weinberg <zack@codesourcery.com>
4887
4888 * varasm.c (output_constant_def): Split out two new static
4889 functions, build_constant_desc and maybe_output_constant_def_contents.
4890 Restructure for comprehensibility. Don't call
4891 output_addressed_constants. Treat defstr being non-NULL for
4892 STRING_POOL_ADDRESS_P constants as an invariant.
4893 (struct deferred_string): Remove labelno field.
4894 (output_constant_def_contents): Kill labelno argument. Call
4895 output_addressed_constants here. Use ASM_OUTPUT_LABEL, not
4896 asm_out.internal_label.
4897 (mark_constant): Update call to output_constant_def_contents.
4898 Treat defstr being non-NULL for STRING_POOL_ADDRESS_P
4899 constants as an invariant.
4900
4901 2003-04-26 Richard Henderson <rth@redhat.com>
4902
4903 * config/i386/i386.c (output_pic_addr_const): Use SYMBOL_REF_LOCAL_P.
4904 (ix86_expand_call, ix86_rtx_consts): Likewise.
4905
4906 2003-04-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4907
4908 * doc/md.texi (cmpstr): Document additional restrictions.
4909
4910 2003-04-26 Neil Booth <neil@daikokuya.co.uk>
4911
4912 * flags.h (time_report): Remove.
4913 * timevar.c (timevar_enable): New.
4914 (TIMEVAR_ENABLE): Remove, use timevar_enable.
4915 (timevar_init): Rename from init_timevar.
4916 * timevar.h (timevar_init): Rename from init_timevar.
4917 * toplev.c (time_report): Make static.
4918 (do_compile): Conditionally call init_timevar first.
4919 (preprocess_options): Move some code to do_compile.
4920
4921 2003-04-26 Stephane Carrez <stcarrez@nerim.fr>
4922
4923 * doc/install.texi (Binaries): Mention binaries for HC11/HC12.
4924
4925 2003-04-26 Neil Booth <neil@daikokuya.co.uk>
4926
4927 * _cpp_lex_direct: Remove pointless code.
4928
4929 2003-04-26 Stephane Carrez <stcarrez@nerim.fr>
4930
4931 * doc/extend.texi (Function Attributes): Document "near" and "far"
4932 for 68HC11 and 68HC12.
4933
4934 2003-04-25 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4935
4936 * expr.c (store_field): When making temporary for store, don't
4937 make it TYPE_QUAL_CONST.
4938
4939 2003-04-25 Phil Edwards <pme@gcc.gnu.org>
4940
4941 * toplev.c (read_integral_parameter): Use "argument" in error
4942 message to distinguish it from actual invalid options.
4943
4944 2003-04-25 Bob Wilson <bob.wilson@acm.org>
4945
4946 * config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Back out previous
4947 addition of __PIC__ and __pic__ macros.
4948 * config/xtensa/xtensa.h: Clean up indentation.
4949
4950 2003-04-25 Bob Wilson <bob.wilson@acm.org>
4951
4952 * config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Remove definition of
4953 _GNU_SOURCE. Add definitions of __PIC__ and __pic__.
4954 (SUBTARGET_CPP_SPEC): Define.
4955 (LIB_SPEC): Delete.
4956 * config/xtensa/xtensa-protos.h (xtensa_declare_object): Delete.
4957 * config/xtensa/xtensa.c (xtensa_declare_object): Delete.
4958 * config/xtensa/xtensa.h (CPP_SPEC, SUBTARGET_CPP_SPEC, EXTRA_SPECS):
4959 Define.
4960 (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Delete.
4961 (ASM_OUTPUT_ALIGNED_BSS, BSS_SECTION_ASM_OP): Define.
4962
4963 2003-04-25 H.J. Lu <hjl@gnu.org>
4964
4965 * config/ia64/ia64.c (ia64_expand_compare_and_swap): Add rmode
4966 for return mode.
4967 (ia64_expand_builtin): Set rmode to SImode for
4968 IA64_BUILTIN_BOOL_COMPARE_AND_SWAP_SI,
4969 IA64_BUILTIN_VAL_COMPARE_AND_SWAP_SI and
4970 IA64_BUILTIN_BOOL_COMPARE_AND_SWAP_DI. Set remode to DImode
4971 for IA64_BUILTIN_VAL_COMPARE_AND_SWAP_DI.
4972
4973 2003-04-25 Phil Edwards <pme@gcc.gnu.org>
4974
4975 * configure.in (make_compare_target): Test for GNU cmp and set this
4976 variable appropriately.
4977 * Makefile.in (compare, compare3, compare4, compare-lean, compare3-lean,
4978 compare4-lean): Rename actual targets to slowcompare*. New compare*
4979 targets depend on names based on make_compare_target.
4980 * configure: Regenerated.
4981
4982 2003-04-25 Richard Henderson <rth@redhat.com>
4983
4984 * config/ia64/ia64.c (ia64_compute_frame_size): Allow inline asm
4985 to clobber ar.pfs and ar.unat.
4986 (ia64_expand_prologue): Force alloc instruction if ar.pfs saved;
4987 fix test for spilling ar.pfs to the stack.
4988
4989 2003-04-25 Richard Henderson <rth@redhat.com>
4990
4991 PR opt/10315
4992 * config/rs6000/rs6000.c (rs6000_emit_move): Only elide proper
4993 checks during reload; use validize_mem instead of adjust_address.
4994
4995 2003-04-26 Ben Elliston <bje@wasabisystems.com>
4996
4997 * config/arm/arm.c (arm_adjust_cost): Correct logic that tests the
4998 return values from recog_memoized().
4999
5000 2003-04-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5001
5002 PR opt/8705
5003 * gcse.c (try_replace_reg): On a successful substitution of a constant
5004 into a single set, try to simplify the source of the set.
5005 * loop.c (scan_loop): Don't try to optimize a MODE_CC set with a
5006 constant source.
5007
5008 2003-04-24 Neil Booth <neil@daikokuya.co.uk>
5009
5010 * cpplex.c (cpp_token_len): Tighten up.
5011 (cpp_token_as_text): Need extra byte now.
5012 * cpplib.c (glue_header_name): Need extra 2 bytes.
5013 * cppmacro.c (cpp_macro_definition): Need extra byte.
5014
5015 2003-04-24 Alexander Kabaev <kan@FreeBSD.ORG>
5016
5017 * config/sparc/sparc.md (umulsidi3, mulsidi3): Avoid using
5018 const_umulsidi3_sp32 and const_mulsidi3_sp32 on 64bit targets
5019 where they might be not present. Use their _sp64 equivalent
5020 instead.
5021
5022 Thu Apr 24 20:42:12 CEST 2003 Jan Hubicka <jh@suse.cz>
5023
5024 * i386.md (cvtsi2sdq): Fix typo in previous patch.
5025
5026 2003-04-24 Krister Walfridsson <cato@df.lth.se>
5027
5028 * configure.in: Check whether mbstowcs works.
5029 * configure, config.in: Regenerate.
5030 * intl.c: Use HAVE_WORKING_MBSTOWCS.
5031
5032 2003-04-24 H.J. Lu <hjl@gnu.org>
5033
5034 * config/ia64/ia64.c (ia64_init_builtins): Add si_ftype_pdi_di_di
5035 for __sync_bool_compare_and_swap_di for int return type.
5036
5037 * config/ia64/ia64intrin.h (__sync_bool_compare_and_swap_di):
5038 Change return type to int.
5039 (__sync_bool_compare_and_swap): Likewise.
5040
5041 Thu Apr 24 16:55:26 CEST 2003 Jan Hubicka <jh@suse.cz>
5042
5043 * cfgbuild.c (make_edges): Do not use next_nonnote_insn when
5044 looking for fallthru edge.
5045
5046 * athlon.md (athlon-agu, athlon-store, athlon-fany, athlon-faddmul):
5047 Fix.
5048 (athlon-load2, athlon-store2, athlon-fpsched, athlon-fpload,
5049 athlon-fvector): New.
5050 (athlon_*): Revisit to match new optimization guide.
5051 * i386.c (ix86_adjust_cost): Fix memory operand costs on Athlon/k8
5052 * i386.md (cvt??2?? patterns): Fix modes.
5053 (fistp patterns): Set modes.
5054
5055 Accidentaly commited with my earlier reload patch:
5056 PR c/10308
5057 * reload.c (find_reloads_address_1): Reload plus at the place of
5058 index register.
5059
5060 2003-04-24 Nathan Sidwell <nathan@codesourcery.com>
5061
5062 New GCOV_TAG_FUNCTION layout
5063 * coverage.c (struct function_list): Replace name with ident.
5064 (struct counts_entry): Likewise.
5065 (fn_ident): New.
5066 (htab_counts_entry_hash, htab_counts_entry_eq,
5067 htab_counts_entry_del): Adjust.
5068 (reads_count_file, get_coverage_counts,
5069 coverage_begin_output, coverage_end_function): Adjust.
5070 (build_fn_info_type, build_fn_info_value): Likewise.
5071 * gcov-dump.c (tag_function): Adjust.
5072 * gcov-io.c (gcov_write_string, gcov_read_string): Not in LIBGCOV.
5073 * gcov-io.h (gcov_write_string, gcov_read_string): Not in LIBGCOV.
5074 * gcov.c (struct function_info): Add ident.
5075 (read_graph_file, read_count_file): Adjust.
5076 * libgcov.c (gcov_exit): Adjust.
5077
5078 2003-04-23 Richard Henderson <rth@redhat.com>
5079
5080 PR opt/8300
5081 * toplev.c (rest_of_compilation): Delay no_new_pseudos until
5082 after initialize_uninitialized_subregs; update reg info assuming
5083 new pseudos were created.
5084
5085 2003-04-23 Neil Booth <neil@daikokuya.co.uk>
5086
5087 * Makefile.in (c-lex.o, LIBCPP_OBJS, cpplex.o): Update.
5088 * c-lex.c (MULTIBYTE_CHARS): Remove conditionals.
5089 (lex_string): Take cpp_string with full spelling.
5090 (cb_ident): Update.
5091 (c_lex): Update diagnostics.
5092 * cpplex.c (SPELL_NUMBER, SPELL_STRING): Combine into SPELL_LITERAL.
5093 (create_literal): New.
5094 (lex_string): Unterminated literals have type CPP_OTHER.
5095 (_cpp_lex_direct): Update calls to lex_string. Use create_literal
5096 for CPP_OTHER.
5097 (cpp_token_len, cpp_spell_token, cpp_output_token): Simplify.
5098 (_cpp_equiv_tokens, cpp_interpret_charconst): Update.
5099 * cpplib.c (parse_include, do_line, do_linemarker,
5100 destringize_and_run): Update for token storing full spelling.
5101 * cpplib.h: Update token spelling types.
5102 * cppmacro.c (stringify_arg, check_trad_stringification):
5103 Update for token storing full spelling.
5104
5105 2003-04-23 Ulrich Weigand <uweigand@de.ibm.com>
5106
5107 * config/s390/s390.c (s390_expand_cmpstr): Disable CLC loop.
5108
5109 2003-04-23 Richard Earnshaw <rearnsha@arm.com>
5110
5111 * arm.h (TARGET_OPTIONS): Add value field.
5112
5113 2003-04-23 Mark Mitchell <mark@codesourcery.com>
5114
5115 * doc/extend.texi: Remove duplicate 2003 copyright date.
5116
5117 2003-04-23 Nathan Sidwell <nathan@codesourcery.com>
5118
5119 * Makefile.in (LIBGCC_DEPS): Add gcov headers.
5120 (libgcov.a): Depends on LIBGCC_DEPS.
5121 * basic-block.h (profile_info): Moved here from coverage.h. Made
5122 a pointer.
5123 * coverage.c (struct function_list): Fixed array of counter types.
5124 (struct counts_entry): Keyed by counter type, contains summary.
5125 (profile_info): Moved to profile.c.
5126 (prg_ctr_mask, prg_n_ctrs, fn_ctr_mask, fn_n_ctrs): New global
5127 vars.
5128 (profiler_label): Remove.
5129 (ctr_labels): New.
5130 (set_purpose, label_for_tag, build_counter_section_fields,
5131 build_counter_section_value, build_counter_section_data_fields,
5132 build_counter_section_data_values, build_function_info_fields,
5133 build_function_info_value, gcov_info_fields, gcov_info_value): Remove.
5134 (build_fn_info_type, build_fn_info_value, build_ctr_info_type,
5135 build_ctr_info_value, build_gcov_info): New.
5136 (htab_counts_entry_hash, htab_counts_entry_eq): Adjust.
5137 (reads_counts_file): Adjust.
5138 (get_coverage_counts): Takes counter number. Add summary
5139 parameter. Adjust.
5140 (coverage_counter_ref): Tkaes counter number. Adjust. Lazily
5141 create counter array labels.
5142 (coverage_end_function): Adjust.
5143 (create_coverage): Adjust.
5144 (find_counters_section): Remove.
5145 * coverage.h (MAX_COUNTER_SECTIONS): Remove.
5146 (struct section_info, struct profile_info): Remove.
5147 (profile_info): Moved to basic-block.h.
5148 (coverage_counter_ref): Takes a counter number.
5149 (get_coverage_counts): Takes a counter number. Added summary
5150 parameter.
5151 (find_counters_section): Remove.
5152 * gcov-dump.c (tag_arc_counts): Rename to ...
5153 (tag_counters): ... here. Adjust.
5154 (tag_table): Move tag_counters to 3rd entry. Remove
5155 PROGRAM_PLACEHOLDER and PROGRAM_INCORRECT entries.
5156 (dump_file): Check for counter tag values here.
5157 (tag_summary): Adjust.
5158 * gcov-io.c (gcov_write_summary, gcov_read_summary): Adjust.
5159 * gcov-io.h (GCOV_LOCKED): New.
5160 (GCOV_TAG_ARC_COUNTS): Rename to ...
5161 (GCOV_TAG_COUNTS_BASE): ... here.
5162 (GCOV_TAG_PLACEHOLDER_SUMMARY, GCOV_TAG_INCORRECT_SUMMARY):
5163 Remove.
5164 (GCOV_COUNTER_ARCS, GCOV_COUNTERS, GCOV_NAMES): New.
5165 (GCOV_TAG_FOR_COUNTER, GCOV_COUNTER_FOR_TAG,
5166 GCOV_TAG_IS_COUNTER): New.
5167 (struct gcov_ctr_summary): New.
5168 (struct gcov_summary): Adjust.
5169 (struct gcov_counter_section): Remove.
5170 struct gcov_counter_section_data): Remove.
5171 (struct gcov_function_info): Rename to ...
5172 (struct gcov_fn_info): ... here. Adjust.
5173 (struct gcov_ctr_info): New.
5174 (struct gcov_info): Adjust.
5175 * gcov.c (read_count_file): Adjust.
5176 (output_lines): Adjust.
5177 * libgcov.c (gcov_exit): Adjust.
5178 (__gcov_flush): Adjust.
5179 * mklibgcc.in (libgcc2_c_dep): Add gcov headers.
5180 * predict.c (maybe_hot_bb_p, probably_cold_bb_p,
5181 probably_never_executed_bb_p, compute_frequency_function): Adjust
5182 profile_info use.
5183 * profile.c (struct counts_entry): Remove.
5184 (profile_info): Define here.
5185 (get_exec_counts): Adjust get_coverage_counts call.
5186 (compute_branch_probablilities): Remove find_counters_section
5187 call.
5188 (gen_edge_profiler): Adjust coverage_counter_ref call.
5189 * tracer.c (tail_duplicate): Adjust profile_info use.
5190
5191 2003-04-23 Roger Sayle <roger@eyesopen.com>
5192
5193 PR optimization/10339
5194 * builtins.c (expand_builtin_strcmp): Try to emit cmpstrsi insn
5195 directly instead of unsafely transforming call into a memcmp.
5196 (expand_builtin_strncmp): Likewise.
5197
5198 2003-04-22 Roger Sayle <roger@eyesopen.com>
5199
5200 * alias.c (mark_constant_function): Check for constancy and
5201 purity even of void functions. Update both the function decl
5202 and the cgraph RTL info with the results.
5203
5204 2003-04-22 Roger Sayle <roger@eyesopen.com>
5205
5206 * real.c (do_add): Change to return a bool indicating that the
5207 result of the operation may be inexact due to loss of precision.
5208 (do_multiply): Likewise.
5209 (do_divide): Likewise.
5210
5211 2003-04-22 Geoffrey Keating <geoffk@apple.com>
5212 Loren James Rittle <ljrittle@acm.org>
5213
5214 * dwarf2out.c (fde_table_allocated): Mark with GTY.
5215 (decl_die_table_allocated): Likewise.
5216 (abbrev_die_table_allocated): Likewise.
5217 (line_info_table_allocated): Likewise.
5218 (separate_line_info_table_allocated): Likewise.
5219 (pubname_table_allocated): Likewise.
5220 (arange_table_allocated): Likewise.
5221 (ranges_table_allocated): Likewise.
5222 (decl_die_table_in_use): Unconditionalize; mark with GTY.
5223 (abbrev_die_table_in_use): Likewise.
5224 (line_info_table_in_use): Likewise.
5225 (separate_line_info_table_in_use): Likewise.
5226 (pubname_table_in_use): Likewise.
5227 (arange_table_in_use): Likewise.
5228 (ranges_table_in_use): Likewise.
5229 (have_location_lists): Likewise.
5230 (emitcount): New GTY-marked static, moved...
5231 (maybe_emit_file): ...from here.
5232 (label_num): New GTY-marked static, moved...
5233 (gen_internal_sym): ...from here.
5234
5235 2003-04-22 Richard Henderson <rth@redhat.com>
5236
5237 PR 8866
5238 * rtl.h (MEM_NOTRAP_P): New.
5239 (MEM_COPY_ATTRIBUTES): Copy it.
5240 * rtlanal.c (may_trap_p): Check it.
5241 * expr.c (do_tablejump): Set it.
5242 * doc/rtl.texi (Flags): Document it.
5243
5244 * cfgrtl.c (try_redirect_by_replacing_jump): Revert last three changes.
5245
5246 2003-04-22 Olivier Hainque <hainque@act-europe.fr>
5247
5248 * config/alpha/alpha.c (alpha_expand_prologue [OPEN_VMS_ABI]): Don't
5249 set FRP on stack adjustment for outgoing args if frame_pointer_needed.
5250
5251 2003-04-22 Vincent Celier <celier@gnat.com>
5252
5253 * gthr-gnat.h, gthr-gnat.c: new sources for implementation of
5254 --enable-threads=gnat.
5255 * Makefile.in: Add gthr-gnat.c to LIB2ADDEH.
5256 * configure.in: Add gnat to the list of thread packages
5257 * configure: Rebuild.
5258 * config/t-linux: Add gthr-gnat.c to LIB2ADDEH and LIB2ADDEHDEP
5259
5260 2003-04-22 Neil Booth <neil@daikokuya.co.uk>
5261
5262 * cpplex.c (_cpp_get_fresh_line): Pop the buffer if return_at_eof.
5263
5264 2003-04-22 Devang Patel <dpatel@apple.com>
5265
5266 * cpptrad.c (_cpp_replacement_text_len): Add check for macro
5267 parameter count.
5268 (_cpp_copy_replacement_text): Same.
5269
5270 2003-04-22 Neil Booth <neil@daikokuya.co.uk>
5271
5272 * c-lex.c (c_lex): Handle CPP_OTHER differently.
5273 * cppexp.c (_cpp_parse_expr): Similarly.
5274 * cpplex.c (SPELL_CHAR): Remove.
5275 (_cpp_lex_direct): Stray chars are saved as byte strings.
5276 (cpp_spell_token, cpp_output_token, _cpp_equiv_token): Don't
5277 handle SPELL_CHAR.
5278 (cpp_avoid_paste): Update handling of CPP_OTHER.
5279 * cpplib.h: Spell CPP_OTHER like a number.
5280 (struct cpp_token): Remove member c.
5281 * cppmacro.c (stringify_arg): Update handling of CPP_OTHER.
5282
5283 2003-04-22 David Turner <novalis@gnu.org>
5284
5285 * gbl-ctors.h: Add special license exception.
5286 * libgcc2.h: Likewise.
5287 * tsystem.h: Likewise.
5288 * gcov-io.h: Likewise.
5289
5290 2003-04-22 David Edelsohn <edelsohn@gnu.org>
5291
5292 * fold-const.c (fold_range_test): Use RANGE_TEST_NON_SHORT_CIRCUIT
5293 macro defaulting to original BRANCH_COST heuristic.
5294 * doc/tm.texi (RANGE_TEST_NON_SHORT_CIRCUIT): Document.
5295
5296 * config/rs6000/rs6000.h (RANGE_TEST_NON_SHORT_CIRCUIT): Define.
5297
5298 2003-04-22 Aldy Hernandez <aldyh@redhat.com>
5299
5300 * config/rs6000/t-spe: Merge in t-fprules into file.
5301
5302 * config.gcc: Add t-spe to powerpc-eabispe.
5303
5304 2003-04-22 Kean Johnston <jkj@sco.com>
5305
5306 * tlink.c (recompile_files): Add missing '=' to putenv calls
5307
5308 2003-04-22 Nathan Sidwell <nathan@codesourcery.com>
5309
5310 * ginclude/stddef.h: Provide C++ safe offsetof.
5311
5312 2003-04-22 J"orn Rennecke <joern.rennecke@superh.com>
5313
5314 * function.c (purge_addressof_1): In (mem (addressof (reg))) case
5315 for reg notes, if there are no substitutions, just use a SUBREG.
5316
5317 2003-04-21 Mark Mitchell <mark@codesourcery.com>
5318
5319 * Makefile.in (calls.o): Depend on except.h.
5320 * calls.c: Include except.h.
5321 (emit_call_1): Call note_eh_region_may_contain_throw if
5322 appropriate.
5323 * except.c (eh_region): Add may_contain_throw.
5324 (expand_eh_region_end_cleanup): Do not include handler code when
5325 it cannot be reached.
5326 (note_eh_region_may_contain_throw): New function.
5327 * except.h (note_eh_region_may_contain_throw): New function.
5328
5329 2003-04-21 Mark Mitchell <mark@codesourcery.com>
5330
5331 * config/i386/winnt.c (i386_pe_mark_dllimport): Revert previous
5332 changes.
5333
5334 2003-04-21 Aldy Hernandez <aldyh@redhat.com>
5335
5336 * config/rs6000/rs6000.c (rs6000_override_options): No SPE means
5337 64-bit long doubles.
5338
5339 2003-04-21 Olivier Hainque <hainque@act-europe.fr>
5340
5341 * fold-const.c (fold, case PLUS_EXPR and case MULT_EXPR): Restore
5342 a number of conversions required for type consistency and previously
5343 stripped off by STRIP_NOPS.
5344
5345 * calls.c (expand_call): Prevent sibcall optimization for calls to
5346 nested subprograms.
5347
5348 * expmed.c (extract_bit_field): Reverse operands of && condition to
5349 prevent a potential division by zero in the previously first branch.
5350 * config/pa/pa.md (extv, extzv): FAIL if the bitfield length is zero.
5351
5352 2003-04-21 Joel Brobecker <brobecker@gnat.com>
5353
5354 * dwarf2out.c (is_ada, is_ada_subrange_type): New functions.
5355 (subrange_type_die): Likewise.
5356 (modified_type_die): Emit a subrange_type DIE for Ada subrange types.
5357 (is_c_family, is_cxx, is_java, is_fortran): Return bool and clean up.
5358
5359 2003-04-21 Nathan Sidwell <nathan@codesourcery.com>
5360
5361 Break out coverage routines to new file.
5362 * Makefile.in (COVERAGE_H): New variable
5363 (C_OBJS): Add coverage.o
5364 (coverage.o): New target.
5365 (profile.o, loop-init.o, sched-ebb.o, predict.o, tracer.o): Adjust
5366 dependencies.
5367 (GTFILES): Adjust.
5368 (gt-coverage.h): New target.
5369 (gt-profile.h): Remove.
5370 * profile.h: Remove. Move to ...
5371 * coverage.h: ... here. New. #include gcov-io.h.
5372 * gcov-io.h: Move function definitions to ...
5373 * gcov-io.c: ... here. New.
5374 * profile.c: Move coverage routines to coverage.c.
5375 (instrument_edges, get_exec_counts, branch_prob, init_branch_prob,
5376 end_branch_prob): Adjust.
5377 * coverage.c: New. Coverage routines from profile.c
5378 (coverage_counter_ref, coverage_init, coverage_finish,
5379 coverage_end_function, coverage_begin_output,
5380 coverage_counter_ref, get_coverage_counts): Define.
5381 * gcov-dump.c, gcov.c: #include gcov-io.c.
5382 * libgcov.c: Likewise. Adjust.
5383 * loop-init.c: Don't #include profile.h
5384 * tracer.c, predict.c, sched-ebb.c: Adjust #includes.
5385 * rtl.h: Add coverage prototypes.
5386 * toplev.c (compile_file): Init coverage, not branch_prob.
5387 Always call coverage_finish.
5388 (rest_of_compilation): Call coverage_end_function.
5389
5390 2003-04-21 Matt Kraai <kraai@alumni.cmu.edu>
5391
5392 * config/rs6000/rs6000.md (*movsf_softfloat): Add "h" <- "0" case.
5393
5394 2003-04-21 Neil Booth <neil@daikokuya.co.uk>
5395
5396 * c-ppoutput.c (cb_include): Don't take a cpp_token.
5397 * cppfiles.c: Don't undef strcmp.
5398 (find_include_file): Don't take a cpp_token. Check for empty
5399 file names.
5400 (_cpp_execute_include, _cpp_compare_file_date): Don't take a cpp_token.
5401 (cpp_push_include): Simplify.
5402 * cpphash.h (_cpp_execute_include, _cpp_compare_file_date): Update.
5403 * cpplib.c (glue_header_name): Return the file name, not a cpp_token.
5404 (parse_include): Similary. Don't check for zero-length filenames.
5405 (do_include_common, do_pragma_dependency): Update accordingly.
5406 * cpplib.h (struct cpp_callbacks): Change prototype of include.
5407
5408 2003-04-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5409
5410 * doc/rtl.texi (RTX_UNCHANGING_P): Point to true_dependence for
5411 details of conflict handling.
5412
5413 * fold-const.c (extract_muldiv, case CONVERT_EXPR): Detect case
5414 when conversion overflows.
5415
5416 * stor-layout.c (layout_decl): Don't set DECL_SIZE_UNIT if already set.
5417
5418 * expr.c (store_constructor): Set RTX_UNCHANGING_P if readonly_field_p
5419 before clearing.
5420
5421 2003-04-21 Mark Mitchell <mark@codesourcery.com>
5422
5423 * config/i386/winnt.c (i386_pe_mark_dllimport): Make the new RTL
5424 have the same form as the old RTL.
5425
5426 2003-04-21 Andreas Jaeger <aj@suse.de>
5427
5428 * cppcharset.c (_cpp_valid_ucn): Cast field precision to int.
5429
5430 2003-04-20 Chris Lattner <sabre@nondot.org>
5431 Zack Weinberg <zack@codesourcery.com>
5432
5433 * c-common.h, c-semantics.c: Rename genrtl_decl_cleanup to
5434 genrtl_cleanup_stmt. Correct comment at head of
5435 genrtl_cleanup_stmt (no such thing as a DECL_CLEANUP).
5436
5437 * stmt.c (struct nesting): Kill n_function_calls.
5438 (expand_start_bindings): Don't set
5439 thisblock->data.block.n_function_calls.
5440 (expand_end_bindings): Compare function_call_count against 0.
5441 (expand_cleanups): Kill DONT_DO argument; all callers passed
5442 NULL_TREE. All callers updated to match.
5443
5444 2003-04-20 Zack Weinberg <zack@codesourcery.com>
5445
5446 * varasm.c (struct deferred_constant, defer_addressed_constants_flag)
5447 (defer_addressed_constants, output_deferred_addressed_constants): Kill.
5448 (output_constant_def): Remove code predicated on
5449 defer_addressed_constants_flag.
5450
5451 * output.h: Remove prototypes of deleted functions.
5452 * c-typeck.c (constructor_subconstants_deferred): Kill.
5453 (struct initializer_stack): Remove 'deferred' field.
5454 (start_init): Remove all references to the above.
5455 (finish_init): Likewise. Also remove never-executed call to
5456 output_deferred_addressed_constants. Pull assignment to
5457 defstr out of if expression.
5458
5459 2003-04-20 Neil Booth <neil@daikokuya.co.uk>
5460
5461 * cpphash.h (NOTE_ESC_NL, NOTE_ESC_SPACE_NL, NOTE_TRIGRAPH,
5462 NOTE_NEWLINE): Remove.
5463 * cpplex.c (_cpp_clean_line, _cpp_process_line_notes): Update
5464 to handle new form of line note type.
5465
5466 2003-04-20 Zack Weinberg <zack@codesourcery.com>
5467
5468 * target.h (encode_section_info): Add new argument carrying
5469 the RTL to be modified by the hook.
5470
5471 * varasm.c (make_decl_rtl, output_constant_def): Update calls
5472 to encode_section_info.
5473 (default_encode_section_info): Take and use RTL argument,
5474 don't use TREE_CST_RTL or DECL_RTL.
5475 * output.h: Update prototype of default_encode_section_info.
5476 * config/darwin.h (ASM_DECLARE_OBJECT_NAME)
5477 (ASM_DECLARE_FUNCTION_NAME, ASM_OUTPUT_ALIGNED_DECL_LOCAL):
5478 Update calls to encode_section_info.
5479
5480 * config/darwin.c, config/arm/arm.c, config/arm/pe.c
5481 * config/h8300/h8300.c, config/i386/winnt.c, config/m32r/m32r.c
5482 * config/m68hc11/m68hc11.c, config/m88k/m88k.c, config/mcore/mcore.c
5483 * config/mips/mips.c, config/mmix/mmix.c, config/pa/pa.c
5484 * config/romp/romp.c, config/rs6000/rs6000.c, config/s390/s390.c
5485 * config/v850/v850.c (TARGET_ENCODE_SECTION_INFO definitions):
5486 Take and use RTL argument, don't use TREE_CST_RTL or DECL_RTL,
5487 except for PE dllimport/dllexport. Update calls to
5488 default_encode_section_info.
5489
5490 * config/darwin-protos.h, config/arm/arm-protos.h, config/i386-protos.h:
5491 Update prototypes.
5492
5493 * doc/tm.texi (TARGET_ENCODE_SECTION_INFO): Update.
5494
5495 2003-04-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5496
5497 PR/8705
5498 * pa.md (movccfp): New expander.
5499 (setccfp0, setccfp1): Rename to movccfp0 and movccfp1, respectively.
5500 Reverse fcmp conditions.
5501
5502 2003-04-20 Marek Michalkiewicz <marekm@amelek.gda.pl>
5503
5504 * config/avr/avr.md (*cmpqi_sign_extend): Handle negative values
5505 of operand 1 correctly.
5506
5507 2003-04-20 Nathan Sidwell <nathan@codesourcery.com>
5508
5509 * cpplex.c (_cpp_lex_direct): Set BOL for CPP_EOF tokens.
5510 * gcov.c (output_lines): Don't be so fussy about going past EOF.
5511
5512 2003-04-20 Neil Booth <neil@daikokuya.co.uk>
5513
5514 * Makefile.in (LIBCPP_OBJS): Add cppcharset.o.
5515 (cppcharset.o): New target.
5516 * c-lex.c (is_extended_char): Move to cppcharset.c.
5517 (utf8_extend_token): Delete.
5518 * cppcharset.c: New file.
5519 * cpphash.h (_cpp_valid_ucn): New.
5520 * cpplex.c (lex_identifier): Update prototype.
5521 (continues_identifier_p): Rename forms_identifier_p. Handle UCN
5522 escapes.
5523 (maybe_read_ucs): Rename maybe_read_ucn. Update to use code
5524 in cppcharset.c.
5525 (lex_number, lex_identifier, cpp_parse_escape): Update.
5526 (_cpp_lex_direct): Update to handle UCNs.
5527 (cpp_avoid_paste): Don't paste to form a UCN.
5528
5529 2003-04-19 Roger Sayle <roger@eyesopen.com>
5530
5531 * builtins.c (expand_builtin): Don't expand a pure or const
5532 built-in function if the result will be ignored and none of
5533 its arguments are volatile.
5534
5535 2003-04-19 Kean Johnston <jkj@sco.com>
5536
5537 * unwind-dw2.c (_Unwind_GetCFA): cast return to avoid warning
5538 * config.gcc: make SCO use dbxelf.h and elfos.h; only use one
5539 target fragment now: t-sco5; dont compile crti.o.
5540 * config/i386/sco5.h: major overhaul to remove all COFF remnants
5541 and to use elfos.h for most definitions.
5542 (BSS_SECTION_ASM_OP): set correct segment attributes.
5543 (PREFERED_DEBUGGING_TYPE): set to DWARF-2.
5544 (DWARF2_UNWIND_INFO): Always set to 1.
5545 (MD_STARTFILE_PREFIX): Make /usr/gnu/lib the default.
5546 (MD_STARTFILE_PREFIX_1): Define.
5547 (MD_EXEC_PREFIX): Adjust to /usr/gnu/bin if using GAS.
5548 (DEFAULT_LINKER): Define if not specified to configure.
5549 (CTORS_SECTION_ASM_OP): Remove COFF crud.
5550 (DTORS_SECTION_ASM_OP): Remove COFF crud.
5551 (WINT_TYPE): Define.
5552 (SDB_DEBUGGING_INFO): Remove.
5553 (EXTRA_SECTIONS): Likewise.
5554 (EXTRA_SECTION_FUNCTIONS): Likewise.
5555 (CTOR_LIST_BEGIN): Likewise.
5556 (CTOR_LIST_END): Likewise.
5557 (INIT_SECTION_FUNCTION): Likewise.
5558 (FINI_SECTION_FUNCTION): Likewise.
5559 (SUBTARGET_FRAME_POINTER_REQUIRED): Likewise.
5560 (LOCAL_LABEL_PREFIX): Likewise.
5561 (NON_SAVING_SETJMP): Likewise.
5562 (RETURN_POPS_ARGS): Likewise.
5563 (ASM_OUTPUT_SKIP): Likewise.
5564 (TARGET_ASM_NAMED_SECTION): Likewise.
5565 (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
5566 (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
5567 (ASM_OUTPUT_IDENT): Likewise.
5568 (ASM_OUTPUT_CASE_LABEL): Likewise.
5569 (ASM_OUTPUT_ASCII): Likewise.
5570 (ASM_OUTPUT_LIMITED_STRING): Likewise.
5571 (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
5572 (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
5573 (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5574 (ASM_FINISH_DECLARE_OBJECT): Likewise.
5575 (ASM_DECLARE_OBJECT_NAME): Likewise.
5576 (ASM_DECLARE_FUNCTION_SIZE): Likewise.
5577 (ASM_DECLARE_FUNCTION_NAME): Likewise.
5578 (ASM_DECLARE_RESULT): Likewise.
5579 (ASM_WEAKEN_LABEL): Likewise.
5580 (SUPPORTS_WEAK): Likewise.
5581 (APPLY_RESULT_SIZE): Likewise.
5582 (LPREFIX): Likewise.
5583 (ALIGN_ASM_OP): Likewise.
5584 (ASCII_DATA_ASM_OP): Likewise.
5585 (IDENT_ASM_OP): Likewise.
5586 (ASM_SHORT): Likewise.
5587 (ASM_LONG): Likewise.
5588 (TYPE_ASM_OP): Likewise.
5589 (SIZE_ASM_OP): Likewise.
5590 (STRING_ASM_OP): Likewise.
5591 (SKIP_ASM_OP): Likewise.
5592 (EH_FRAME_SECTION_ASM_OP): Likewise.
5593 (READONLY_DATA_SECTION_ASM_OP): Likewise.
5594 (INIT_SECTION_ASM_OP): Likewise.
5595 (FINI_SECTION_ASM_OP): Likewise.
5596 (TEXT_SECTION_ASM_OP): Likewise.
5597 (DATA_SECTION_ASM_OP): Likewise.
5598 (TYPE_OPERANT_FORMAT): Likewise.
5599 (ASM_SPEC): Remove COFF code.
5600 (STARTFILE_SPEC): Likewise. Always use crti.o; add -p and -pp support;
5601 cause -pg to emit an error; use pcrt1elf.o with -pp
5602 (ENDFILE_SPEC): Likewise.
5603 (TARGET_OS_CPP_BUILTINS): Add _SCO_DS_LL.
5604 (CPP_SPEC): Remove COFF crud; always look in /usr/gnu/include first.
5605 (LINK_SPEC): Remove COFF crud; use -E for environment switch not -R;
5606 add -z alt_resolve to support weak symbols the way GCC wants them.
5607 (LIB_SPEC): Use the profiler libraries in -p or -pp mode.
5608 (LIBGCC_SPEC): Dont use -lgcc in -G mode.
5609 (ASM_PREFERED_EH_DATA_FORMAT): Remove.
5610 * config/i386/t-sco5 (TARGET_LIBGCC2_CFLAGS): Remove.
5611 (CRTSTUFF_T_CFLAGS_S): Define.
5612 (MULTILIB_OPTIONS): Likewise.
5613 (MULTILIB_DIRNAMES): Likewise.
5614 (MULTILIB_MATCHES): Likewise.
5615 (MULTILIB_EXTRA_OPTS): Likewise.
5616 (LIBGCC): Likewise.
5617 (INSTALL_LIBGCC): Likewise.
5618 (crti.o): Remove.
5619 * config/i386/t-sco5gas: Remove.
5620 * doc/install.texi: Updated for new OpenServer instructions.
5621 * testsuite/gcc.dg/nest.c: Allow failure on SCO (-pg not supported)
5622
5623 2003-04-19 Kean Johnston <jkj@sco.com>
5624
5625 * fixinc/check.tpl: Allow user to over-ride diff program.
5626 * fixinc/inclhack.def: Removed extraneous #ifndef SVR5.
5627 (sco_math): Added test for SCO math header files.
5628 (sco_regset): Added check for conflicts with ieeefp.h.
5629 (svr4_disable_opt): Removed extraneous #ifdef SVR4.
5630 * fixinc/fixincl.x: Regenerated
5631 * fixinc/tests/base/math.h: Added sco_math tests.
5632 * fixinc/tests/base/string.h: New file.
5633 * fixinc/tests/base/sys/regset.h: New file.
5634
5635 2003-04-19 Neil Booth <neil@daikokuya.co.uk>
5636
5637 * cpphash.h (struct cpp_buffer): Remove backup_to.
5638 * cpplex.c (BACKUP, get_effective_char): Die.
5639 (_cpp_skip_block_comment): Assume '*' is location on entry.
5640 (continues_identifier_p): Respect -fno-dollars-in-identifiers.
5641 (IF_NEXT_IS): Update.
5642 (_cpp_lex_direct): Don't use backup_to; look ahead directly.
5643
5644 2003-04-19 Matt Kraai <kraai@alumni.cmu.edu>
5645
5646 * README.Portability: Move to a new section and obsolete K+R
5647 portability issues.
5648
5649 Sat Apr 19 14:56:17 CEST 2003 Jan Hubicka <jh@suse.cz>
5650
5651 * rtlanal.c (subreg_offset_representable_p): Fix call of
5652 subreg_lowpart.
5653
5654 2003-04-19 Neil Booth <neil@daikokuya.co.uk>
5655
5656 * cpphash.h (struct cpp_reader): New member warned_dollar.
5657 * cpplex.c (continues_identifier_p): New function.
5658 (parse_identifier, parse_number, parse_string): Rename lex_identifer,
5659 lex_number and lex_string, and simplify.
5660 (parse_slow, unescaped_terminator_p): Die.
5661 (_cpp_lex_direct): Update.
5662
5663 2003-04-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5664
5665 * calls.c (expand_call): Provide init for old_stack_pointer_delta.
5666
5667 2003-04-19 Nathan Sidwell <nathan@codesourcery.com>
5668
5669 * doc/invoke.texi (-fprofile-arcs): Mention -lgcov, locking and
5670 fork behaviour.
5671
5672 2003-04-19 Neil Booth <neil@daikokuya.co.uk>
5673
5674 * cppexp.c (eval_token): Permit true and false even if pedantic.
5675
5676 2003-04-19 Neil Booth <neil@daikokuya.co.uk>
5677
5678 * cpplex.c (skip_whitespace): Rearrange to avoid stage1 ICE.
5679
5680 2003-04-19 Neil Booth <neil@daikokuya.co.uk>
5681
5682 * cppfiles.c (ENABLE_VALGRIND_CHECKING, VALGRIND_DISCARD,
5683 MMAP_THRESHOLD, TEST_THRESHOLD, SHOULD_MMAP): Remove.
5684 (struct include_file): Remove fefcnt, mapped members.
5685 (open_file, stack_include_file, _cpp_pop_file_buffer): Disable caching.
5686 (read_include_file): Don't use mmap, terminate buffers in '\r'.
5687 (purge_cache): Don't use munmap.
5688 * cpphash.h (CPP_BUF_COLUMN): Update.
5689 (lexer_state): Remove lexing_comment.
5690 (struct _cpp_line_note): New.
5691 (struct cpp_buffer): New members cur_note, notes_used, notes_cap,
5692 next_line and need_line. Remove col_adjust and saved_flags.
5693 (_cpp_process_line_notes, _cpp_clean_line, _cpp_get_fresh_line,
5694 _cpp_skip_block_comment, scan_out_logical_line): New.
5695 (_cpp_init_mbchar): Remove.
5696 * cppinit.c (init_library): Remove call to _cpp_init_mbchar.
5697 (cpp_read_main_file): Set line to 1 earlier.
5698 (post_options): -traditional-cpp doesn't want trigraphs.
5699 * cpplex.c (MULTIBYTE_CHARS): Remove code predicated on this.
5700 (add_line_note, _cpp_clean_line, _cpp_process_line_notes,
5701 _cpp_get_fresh_line): New.
5702 (handle_newline, skip_escaped_newlines, trigraph_p,
5703 continue_after_nul, _cpp_init_mbchar): Remove.
5704 (get_effective_char): Update.
5705 (_cpp_skip_block_comment): Rename from skip_block_comment, simplify.
5706 (skip_line_comment): Simplify.
5707 (skip_whitespace, parse_identifier, parse_slow, parse_number,
5708 parse_string): Update.
5709 (cpp_lex_direct): Use clean lines and process line notes. Update.
5710 (cpp_interpret_charconst): No MULTIBYTE_CHARS.
5711 * cpplib.c (prepare_directive_trad): Call scan_out_logical_line
5712 directly.
5713 (_cpp_handle_directive): Don't set saved_flags.
5714 (run_directive, destringize_and_run, cpp_define, cpp_define_builtin,
5715 cpp_undef, handle_assertion, cpp_push_buffer): Update.
5716 (_cpp_pop_buffer): Free notes.
5717 * cppmacro.c (builtin_macro, paste_tokens): \n terminate buffer.
5718 * cpppch.c (cpp_read_state): \n terminate buffer.
5719 * cpptrad.c (skip_escaped_newlines, handle_newline): Remove.
5720 (copy_comment): Use _cpp_skip_block_comment.
5721 (skip_whitespace, lex_identifier, _cpp_read_logical_line_trad):
5722 Simplify.
5723 (_cpp_overlay_buffer, _cpp_remove_overlay, push_replacement_text,
5724 save_replacement_text): Update.
5725 (scan_out_logical_line): Update to use clean lines and process
5726 line notes.
5727 * fix-header.c (read_scan_file): Update.
5728
5729 2003-04-18 Douglas B Rupp <rupp@gnat.com>
5730
5731 * unwind-dw2-fde.c (__register_frame_info_bases): Check for
5732 null begin parameter (as well as pointer to null).
5733 (__deregister_frame_info_bases): Likewise.
5734
5735 2003-04-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5736
5737 * function.c (purge_addressof_1): For ADDRESSOF, see if SUB is a
5738 hard or virtual register and copy into pseudo if replacement fails.
5739
5740 * cfgcleanup.c (flow_find_cross_jump): Use INSN_P, not active_insn_p.
5741
5742 * expmed.c (mask_rtx): Avoid undefined shifts for BITSIZE of 0.
5743
5744 2003-04-18 Olivier Hainque <hainque@act-europe.fr>
5745
5746 * calls.c (expand_call): Move special case for constructor calls
5747 to right place. Ensures constructor calls used to initialize
5748 arguments get a clean outgoing argument block for themselves.
5749 Move check for stack deallocation completeness until after last
5750 deallocation. Add stack_pointer_delta to set of state
5751 variables saved and restored along with current stack_level.
5752
5753 * integrate.c (expand_inline_function): Ensure non-const actuals
5754 don't end up const in the caller's flow after conversion to possibly
5755 const formal type.
5756
5757 2003-04-18 Vincent Celier <celier@gnat.com>
5758
5759 * dwarf2out.c (loc_descriptor_from_tree): Treat all *_MOD_EXPR
5760 and *_DIV_EXPR as TRUNC_*_EXPR.
5761
5762 2003-04-18 Mark Mitchell <mark@codesourcery.com>
5763
5764 * cfgrtl.c (try_redirect_by_replacing_jump): Create a basic block
5765 for orphaned jump tables.
5766
5767 2003-04-18 Kazu Hirata <kazu@cs.umass.edu>
5768
5769 * reload1.c: Revert my previous patch on 2002-04-17.
5770
5771 2003-04-18 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5772
5773 * doc/contrib.texi (Contributors): Prefer "bug fix" over "bugfix".
5774 Add Segher Boessenkool.
5775
5776 2003-04-18 Alexander Sotirov <sluncho@mirizma.org>
5777
5778 PR c/9177
5779 * c-decl.c (c_expand_body): Don't garbage collect the function
5780 body if we are going to dump it later.
5781
5782 2003-04-18 Richard Henderson <rth@redhat.com>
5783
5784 * config/alpha/alpha.c (SYMBOL_FLAG_NEAR, SYMBOL_FLAG_SAMEGP): Remove.
5785 (alpha_end_function): Don't set them.
5786 (decl_in_text_section): Remove.
5787 (alpha_encode_section_info): Remove.
5788 (samegp_function_operand): Use SYMBOL_REF LOCAL_P and EXTERNAL_P.
5789 (direct_call_operand): Use SYMBOL_REF_DECL and compare actual
5790 sections, rather than decl_in_text_section results.
5791
5792 2003-04-18 Roger Sayle <roger@eyesopen.com>
5793
5794 * rtlanal.c (reg_overlap_mentioned_p): Handle ZERO_EXTRACT
5795 and SIGN_EXTRACT.
5796
5797 2003-04-18 Eric Botcazou <ebotcazou@libertysurf.fr>
5798
5799 PR optimization/7675
5800 * c-typeck.c (build_external_ref): Set the DECL_NONLOCAL flag
5801 on VAR_DECL, PARM_DECL and FUNCTION_DECL from within
5802 nested functions if they refer to declarations from parent functions.
5803 * stmt.c (expand_decl): Don't put automatic variables in registers
5804 if the DECL_NONLOCAL flag is set.
5805
5806 2003-04-18 Hans-Peter Nilsson <hp@bitrange.com>
5807
5808 * gcse.c (compute_ld_motion_mems): For MEM destinations, only
5809 consider those to be movable where the source matches
5810 want_to_gcse_p.
5811 (update_ld_motion_stores): In comment, refer to
5812 compute_ld_motion_mems for validity of replacement.
5813
5814 Fri Apr 18 01:28:51 CEST 2003 Jan Hubicka <jh@suse.cz>
5815
5816 * gcov-dump.c (tag_summary): Remove max_sum
5817 * gcov-io.h (gcov_summary, gcov_write_summary,
5818 gcov_read_summary): Kill max_sum.
5819 * libgcov.c (gcov_exit): Do one pass over the data. Make error
5820 message more verbose.
5821
5822 * emit-rtl.c (subreg_hard_regno): Check that register is
5823 representable.
5824
5825 * reload.c (reload_inner_reg_of_subreg): When register is not
5826 representable, reload the whole thing.
5827 (find_reloads): Likewsie.
5828 * rtlanal.c (subreg_representable_p): New function.
5829
5830 * profile.c (compute_branch_probabilities): Cleanup sanity checking;
5831 allow negative probabilities for edges from the call to exit.
5832 (branch_prob): Do not add fake edges for functions that may return
5833 twice.
5834
5835 2003-04-17 DJ Delorie <dj@redhat.com>
5836
5837 * toplev.c (target_options): Add value field.
5838 (set_target_switch): Handle target options with values.
5839 * doc/tm.texi: Document how fixed vs variable target
5840 options work.
5841 * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
5842 config/c4x/c4x.h, config/cris/aout.h, config/cris/cris.h,
5843 config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
5844 config/frv/frv.h, config/i386/i386.h, config/ia64/ia64.h,
5845 config/m32r/m32r.h, config/m68hc11/m68hc11.h,
5846 config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
5847 config/mips/mips.h, config/mmix/mmix.h, config/pa/pa.h,
5848 config/rs6000/rs6000.h, config/rs6000/sysv4.h,
5849 config/s390/s390.h, config/sparc/sparc.h, config/v850/v850.h:
5850 Add value initializer to target options.
5851
5852 2003-04-07 Loren James Rittle <ljrittle@acm.org>
5853
5854 * cpppch.c (cpp_valid_state): Unconditionally initialize nl.
5855
5856 2003-04-17 Kazu Hirata <kazu@cs.umass.edu>
5857
5858 * reload1.c (move2add_last_cc0): New.
5859 (reload_cse_move2add): Detect implicit sets.
5860 (move2add_note_store): Notice a store into cc0.
5861
5862 2003-04-17 Roger Sayle <roger@eyesopen.com>
5863
5864 PR c/10375
5865 * c-decl.c (duplicate_decls): Preserve "const" and "noreturn"
5866 function attributes.
5867
5868 2003-04-17 Janis Johnson <janis187@us.ibm.com>
5869
5870 * doc/sourcebuild.texi (Test Suites): Document support for testing
5871 binary compatibility (moved from testsuite/README.compat).
5872
5873 2003-04-17 Richard Henderson <rth@redhat.com>
5874
5875 * config/ia64/ia64.c (ia64_in_small_data_p): Disallow strings.
5876
5877 2003-04-17 Simon Law <sfllaw@engmail.uwaterloo.ca>
5878
5879 * doc/include/gpl.texi: Fix double-spacing after "MA" to match
5880 the one provided by the FSF.
5881
5882 2003-04-17 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5883
5884 * doc/install.texi (Binaries): Update URL and list of platforms
5885 provided by ftp.thewrittenword.com.
5886
5887 2003-04-17 Richard Henderson <rth@redhat.com>
5888
5889 * config/xtensa/xtensa.c (xtensa_encode_section_info): Remove.
5890 (call_insn_operand): Use SYMBOL_REF_LOCAL_P.
5891 * config/xtensa/xtensa.md (call, call_value): Likewise.
5892
5893 2003-04-17 Richard Henderson <rth@redhat.com>
5894
5895 * config/v850/v850.c (print_operand): Use SYMBOL_REF_[ZST]DA.
5896 (print_operand_address): Likewise.
5897 (ep_memory_operand): Likewise.
5898 (special_symbolref_operand): Likewise.
5899 (v850_encode_data_area): Use SYMBOL_REF_FLAGS.
5900 (v850_encode_section_info): Call default_encode_section_info.
5901 (v850_strip_name_encoding): Remove.
5902 * config/v850/v850.h (EXTRA_CONSTRAINT): Use SYMBOL_REF_[ZST]DA.
5903 (ASM_OUTPUT_LABELREF): Remove.
5904 (ZDA_NAME_FLAG_CHAR, ZDA_NAME_P): Remove.
5905 (SDA_NAME_FLAG_CHAR, SDA_NAME_P): Remove.
5906 (TDA_NAME_FLAG_CHAR, TDA_NAME_P): Remove.
5907 (ENCODED_NAME_P): Remove.
5908 (SYMBOL_FLAG_ZDA, SYMBOL_REF_ZDA_P): New.
5909 (SYMBOL_FLAG_SDA, SYMBOL_REF_SDA_P): New.
5910 (SYMBOL_FLAG_TDA, SYMBOL_REF_TDA_P): New.
5911
5912 2003-04-17 Richard Henderson <rth@redhat.com>
5913
5914 * config/stormy16/stormy16.c (xstormy16_encode_section_info): Kill.
5915 * config/stormy16/stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use
5916 SYMBOL_REF_FUNCTION_P.
5917
5918 2003-04-17 Richard Henderson <rth@redhat.com>
5919
5920 * config/sparc/sparc.c (sparc_encode_section_info): Remove.
5921 (data_segment_operand): Use SYMBOL_REF_FUNCTION_P.
5922 (text_segment_operand): Likewise.
5923
5924 2003-04-17 Richard Henderson <rth@redhat.com>
5925
5926 * config/sh/sh.c (gen_datalabel_ref): Don't add SH_DATALABEL_ENCODING.
5927 (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
5928 (legitimize_pic_address): Use SYMBOL_REF_LOCAL_P.
5929 (sh_encode_section_info): Remove.
5930 (sh_strip_name_encoding): Remove.
5931 * config/sh/sh.h (SH_DATALABEL_ENCODING): Remove.
5932 (DATALABEL_SYMNAME_P, STRIP_DATALABEL_ENCODING): Remove.
5933 (SH_TLS_ENCODING, TLS_SYMNAME_P, STRIP_TLS_ENCODING): Remove.
5934 (ASM_OUTPUT_LABELREF): Remove.
5935 (ASM_OUTPUT_SYMBOL_REF): Use SYMBOL_REF_FUNCTION_P.
5936 * config/sh/sh.md (*): Use SYMBOL_REF_LOCAL_P.
5937
5938 2003-04-17 Richard Henderson <rth@redhat.com>
5939
5940 * config/s390/s390.c (SYMBOL_FLAG_ALIGN1): New.
5941 (tls_model_chars): Remove.
5942 (larl_operand): Use SYMBOL_REF_FLAGS.
5943 (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
5944 (legitimize_pic_address): Use SYMBOL_REF_LOCAL_P.
5945 (s390_output_mi_thunk): Likewise.
5946 (s390_emit_prologue): Set SYMBOL_FLAG_LOCAL as needed.
5947 (s390_function_profiler): Likewise.
5948 (s390_encode_section_info): Use default_encode_section_info
5949 and SYMBOL_FLAG_ALIGN1.
5950 (s390_strip_name_encoding): Remove.
5951 * config/s390/s390.h (ASM_OUTPUT_LABELREF): Remove.
5952 * config/s390/s390.md (call, call_value): Use SYMBOL_REF_LOCAL_P.
5953 (builtin_setjmp_receiver): Set SYMBOL_FLAG_LOCAL as needed.
5954
5955 2003-04-17 Richard Henderson <rth@redhat.com>
5956
5957 * config/ns32k/ns32k.c (ns32k_encode_section_info): Remove.
5958 (global_symbolic_reference_mentioned_p): Use SYMBOL_REF_LOCAL_P.
5959 (print_operand_address): Likewise.
5960
5961 * config/ns32k/ns32k.h (CANNOT_CHANGE_MODE_CLASS): Add CLASS argument.
5962 * config/ns32k/ns32k.c (expand_block_move): Don't check
5963 flag_unroll_loops.
5964
5965 2003-04-17 Richard Henderson <rth@redhat.com>
5966
5967 * config/mcore/mcore.c (mcore_encode_section_info): Don't set
5968 SYMBOL_REF_FLAG.
5969
5970 2003-04-17 Richard Henderson <rth@redhat.com>
5971
5972 * rtl.h (SYMBOL_FLAG_MACH_DEP_SHIFT): New.
5973
5974 * config/m32r/m32r.c (SYMBOL_FLAG_MODEL_SHIFT): New.
5975 (SYMBOL_REF_MODEL): New.
5976 (LIT_NAME_P): Move from m32r.h.
5977 (m32r_select_section): Remove.
5978 (m32r_encode_section_info): Use SYMBOL_REF_FLAGS.
5979 (m32r_strip_name_encoding): Remove.
5980 (m32r_in_small_data_p): New.
5981 (small_data_operand): Use SYMBOL_REF_SMALL_P.
5982 (addr24_operand): Use SYMBOL_REF_MODEL.
5983 (call26_operand): Likewise.
5984 (addr32_operand): Tidy.
5985 (m32r_print_operand): Use HOST_WIDE_INT_PRINT_HEX.
5986 * config/m32r/m32r.h (RODATA_SECTION_ASM_OP): Remove.
5987 (SDATA_SECTION_ASM_OP, SBSS_SECTION_ASM_OP): Remove.
5988 (READONLY_DATA_SECTION_ASM_OP): Remove.
5989 (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
5990 (SDATA_SECTION_FUNCTION, SBSS_SECTION_FUNCTION): Remove.
5991 (TARGET_ASM_SELECT_SECTION): Remove.
5992 (SDATA_FLAG_CHAR, MEDIUM_FLAG_CHAR, LARGE_FLAG_CHAR): Remove.
5993 (SDATA_NAME_P, SMALL_NAME_P, MEDIUM_NAME_P): Remove.
5994 (LARGE_NAME_P, ENCODED_NAME_P): Remove.
5995 (ASM_OUTPUT_LABELREF): Remove.
5996
5997 2003-04-17 Richard Henderson <rth@redhat.com>
5998
5999 * config/ip2k/ip2k.c (is_regfile_address): Use SYMBOL_REF_FUNCTION_P.
6000 (encode_section_info): Remove.
6001 * config/ip2k/ip2k-protos.h: Update.
6002
6003 2003-04-17 Richard Henderson <rth@redhat.com>
6004
6005 * varasm.c (default_encode_section_info): Don't set
6006 SYMBOL_FLAG_EXTERNAL if not TREE_PUBLIC.
6007 * config/i370/i370.c (i370_encode_section_info): Remove.
6008 * config/i370/i370.h (CONSTANT_ADDRESS_P): Use SYMBOL_REF_EXTERNAL_P.
6009 (PRINT_OPERAND, PRINT_OPERAND_ADDRESS): Likewise.
6010 * config/i370/i370.md (movsi): Likewise.
6011
6012 * config/i370/t-i370: Add missing backslash.
6013
6014 2003-04-17 Eric Botcazou <ebotcazou@libertysurf.fr>
6015
6016 * doc/invoke.texi (inline-limit): Fix pasto.
6017
6018 2003-04-17 Richard Henderson <rth@redhat.com>
6019
6020 * config/h8300/h8300.c (SYMBOL_FLAG_FUNCVEC_FUNCTION): New.
6021 (small_call_insn_operand): Use it.
6022 (SYMBOL_FLAG_EIGHTBIT_DATA): New.
6023 (h8300_eightbit_constant_address_p): Use it.
6024 (SYMBOL_FLAG_TINY_DATA): New.
6025 (h8300_tiny_constant_address_p): Use it.
6026 (h8300_encode_label, h8300_strip_name_encoding): Remove.
6027 (h8300_encode_section_info): Set SYMBOL_REF_FLAGS.
6028 * config/h8300/h8300.h (TINY_DATA_NAME_P): Remove.
6029 (ASM_OUTPUT_LABELREF): Remove.
6030
6031 2003-04-16 Richard Henderson <rth@redhat.com>
6032
6033 * config/frv/frv.c (symbol_ref_small_data_p): Remove. Replace
6034 all users with SYMBOL_REF_SMALL_P.
6035 (const_small_data_p): Use SYMBOL_REF_SMALL_P.
6036 (frv_encode_section_info): Remove.
6037 (frv_strip_name_encoding): Remove.
6038 (frv_in_small_data_p): Merge tests from encode_section_info.
6039 (frv_print_operand): Use '@' not SDATA_FLAG_CHAR.
6040 * config/frv/frv.h (SDATA_FLAG_CHAR): Remove.
6041 (SDATA_NAME_P): Remove.
6042 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use SIZE not SDATA_NAME_P.
6043 (ASM_OUTPUT_LABELREF): Remove.
6044 (PRINT_OPERAND_PUNCT_VALID_P): Use '@' not SDATA_FLAG_CHAR.
6045
6046 * config/frv/frv.c (frv_asm_out_constructor): New.
6047 (frv_asm_out_destructor): New.
6048 * config/frv/frv.h (CTORS_SECTION_ASM_OP): New.
6049 (DTORS_SECTION_ASM_OP): New.
6050 (ASM_OUTPUT_CONSTRUCTOR): Remove.
6051 (ASM_OUTPUT_DESTRUCTOR): Remove.
6052
6053 2003-04-16 Richard Henderson <rth@redhat.com>
6054
6055 * config/cris/cris.c (cris_gotless_symbol, cris_got_symbol): Use
6056 SYMBOL_REF_LOCAL_P; abort if not pic.
6057 (cris_encode_section_info): Remove.
6058
6059 2003-04-16 Richard Henderson <rth@redhat.com>
6060
6061 * config/c4x/c4x.c (c4x_encode_section_info): Remove.
6062 (c4x_T_constraint): Use SYMBOL_REF_FUNCTION_P.
6063
6064 * config/c4x/c4x.h (TARGET_CPU_CPP_BUILTINS): Declare
6065 flag_inline_trees.
6066
6067 2003-04-16 Richard Henderson <rth@redhat.com>
6068
6069 * config/avr/avr.c (avr_encode_section_info): Remove.
6070 (avr_insert_attributes): New.
6071 (print_operand_address): Use SYMBOL_REF_FUNCTION_P.
6072 (avr_assemble_integer): Likewise.
6073
6074 2003-04-16 Richard Henderson <rth@redhat.com>
6075
6076 * arc.c (arc_encode_section_info): Remove.
6077 (arc_assemble_integer): Use SYMBOL_REF_FUNCTION_P.
6078 (arc_print_operand, arc_print_operand_address): Likewise.
6079 * arc.h (EXTRA_CONSTRAINT): Likewise.
6080
6081 2003-04-16 Roger Sayle <roger@eyesopen.com>
6082
6083 * c-semantics.c (find_reachable_label): New function to find a
6084 potentially reachable label in an expression.
6085 (expand_unreachable_if_stmt): Similar to expand_if_stmt but
6086 assumes the start of the IF_STMT is unreachable (dead) code.
6087 (expand_unreachable_stmt): Similar to expand_stmt but assumes
6088 the start of the statement list is unreachable (dead) code.
6089 (genrtl_if_stmt): If the controlling expression of the IF
6090 is constant, use expand_unreachable_stmt for the THEN or ELSE
6091 clause as appropriate.
6092 (genrtl_switch_stmt): Use expand_unreachable_stmt to expand
6093 the body of a SWITCH statement.
6094 (expand_stmt): The code immediately following a "return",
6095 "break", "continue" or "goto" is unreachable.
6096 * Makefile.in (c-semantics.o): Depend upon tree-inline.h.
6097
6098 2003-04-16 Richard Henderson <rth@redhat.com>
6099
6100 * rtl.h (MEM_ALIAS_SET): Update documentation.
6101 * doc/rtl.texi (Special Accessors): New node.
6102 (SYMBOL_REF_FLAG): Note relationship with SYMBOL_REF_FLAGS.
6103
6104 2003-04-16 Alexandre Oliva <aoliva@redhat.com>
6105
6106 * reload1.c (reload_cse_noop_set_p): Return false if mode of
6107 SET_DEST is not the same as that returned by...
6108 * cselib.h (cselib_reg_set_mode): ... new function.
6109 * cselib.c (cselib_reg_set_mode): Define it.
6110 (REG_VALUES): Document semantics of first element as set mode.
6111 (cselib_subst_to_values): Skip first element if ELT is NULL.
6112 (cselib_lookup): Likewise. Insert past the first element.
6113 (cselib_invalidate_regno): NULLify first element.
6114 (cselib_record_set): Set first element.
6115
6116 2003-04-16 Olivier Hainque <hainque@act-europe.fr>
6117
6118 * tree.c (skip_simple_arithmetics_at, saved_expr_p): New functions.
6119 (save_expr): Replace loop by call to skip_simple_arithmetics_at.
6120 * tree.h: Add prototypes for the two new functions.
6121 * fold-const.c (fold_binary_op_with_conditional_arg): Replace test
6122 updates introduced in the previous revision by call to saved_expr_p.
6123 * stor-layout.c (put_pending_size): Use skip_simple_arithmetics_at.
6124
6125 * expr.c (store_field): Force usage of bitfield instructions when
6126 the field position requires it, whatever SLOW_UNALIGNED_ACCESS.
6127 (expand_expr, case BIT_FIELD_REF): likewise.
6128
6129 2003-04-16 Mark Mitchell <mark@codesourcery.com>
6130
6131 PR middle-end/8866
6132 * cfgtrl.c (try_redirect_by_replacing_jump): Do not delete
6133 jumptables.
6134
6135 2003-04-16 Richard Henderson <rth@redhat.com>
6136
6137 * config/ia64/ia64.c (sdata_symbolic_operand): Use
6138 SYMBOL_REF_SMALL_P and SYMBOL_REF_LOCAL_P.
6139 (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
6140 (function_operand): Use SYMBOL_REF_FUNCTION_P.
6141 (ia64_expand_load_address): Likewise.
6142 (ia64_assemble_integer): Likewise.
6143 (ia64_encode_section_info): Remove.
6144 (ia64_strip_name_encoding): Remove.
6145 * config/ia64/ia64.h (ENCODE_SECTION_INFO_CHAR): Remove.
6146 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't strip it.
6147
6148 2003-04-16 Richard Henderson <rth@redhat.com>
6149
6150 * config/alpha/alpha.c (SYMBOL_FLAG_NEAR, SYMBOL_FLAG_SAMEGP): New.
6151 (samegp_function_operand): Use SYMBOL_FLAG_SAMEGP.
6152 (direct_call_operand): Use SYMBOL_FLAG_NEAR.
6153 (local_symbolic_operand): Use SYMBOL_REF_LOCAL_P.
6154 (small_symbolic_operand): Use SYMBOL_REF_SMALL_P.
6155 (global_symbolic_operand): Similarly.
6156 (tls_symbolic_operand_1): Use SYMBOL_REF_TLS_MODEL.
6157 (tls_symbolic_operand_type): Likewise.
6158 (alpha_encode_section_info): Use default_encode_section_info.
6159 (alpha_strip_name_encoding): Remove.
6160 (get_tls_get_addr): Split out from ...
6161 (alpha_legitimize_address): ... here.
6162 (alpha_emit_xfloating_libcall): Use init_one_libfunc.
6163 (get_some_local_dynamic_name_1): Use SYMBOL_REF_TLS_MODEL.
6164 (alpha_initialize_trampoline): Use init_one_libfunc.
6165 (alpha_setup_incoming_varargs): Mark unused parameters.
6166 (alpha_initial_elimination_offset): Likewise.
6167 (alpha_end_function): Use SYMBOL_FLAG_NEAR, SYMBOL_FLAG_SAMEGP.
6168 (unicosmk_unique_section): Use default_strip_name_encoding.
6169 (unicosmk_ssib_name, unicosmk_output_externs): Likewise.
6170
6171 2003-04-16 Aldy Hernandez <aldyh@redhat.com>
6172
6173 * config.gcc: Add t-spe for eabispe.
6174
6175 * config/rs6000/t-spe: New.
6176
6177 2003-04-16 J"orn Rennecke <joern.rennecke@superh.com>
6178
6179 Re-apply this patch:
6180
6181 2002-05-16 Dale Johannesen <dalej@apple.com>
6182 * combine.c (cant_combine_insn_p): Reenable combinations
6183 involving hard regs unless CLASS_LIKELY_SPILLED_P.
6184
6185 2003-04-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6186
6187 PR/10271
6188 * pa-protos.h (function_arg): Remove last argument.
6189 * pa.c (function_arg): Likewise. Use CUMULATIVE_ARGS struct instead.
6190 * pa.h (struct hppa_args): Add member incoming.
6191 (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Initialize
6192 member incoming.
6193 (FUNCTION_ARG): Revise call to function_arg.
6194 (FUNCTION_INCOMING_ARG): Delete.
6195
6196 2003-04-15 Zack Weinberg <zack@codesourcery.com>
6197
6198 * configure.in: Unify the code which creates symlinks to a
6199 just-built as, ld, objdump, and nm with the code that detects
6200 their presence for purposes of feature tests.
6201 * configure: Regenerate.
6202
6203 2003-04-15 Zack Weinberg <zack@codesourcery.com>
6204
6205 * varasm.c (output_constant_def): Do not consult
6206 CONSTANT_AFTER_FUNCTION_P. Remove all code predicated on it.
6207 (after_function_constants, output_after_function_constants): Delete.
6208 * doc/tm.texi: Delete documentation of CONSTANT_AFTER_FUNCTION_P.
6209 * config/mips/mips-protos.h, config/mips/mips.c
6210 (mips16_constant_after_function_p): Delete.
6211 * config/mips/mips.h: Delete #if-0-ed definition of
6212 CONSTANT_AFTER_FUNCTION_P.
6213 * config/d30v/d30v.h, config/stormy16/stormy16.h: Remove
6214 mention of CONSTANT_AFTER_FUNCTION_P in comment.
6215
6216 2003-04-15 Geoffrey Keating <geoffk@apple.com>
6217
6218 * tree.c (next_decl_uid): Mark with GTY.
6219 (next_type_uid): Likewise.
6220
6221 2003-04-15 J"orn Rennecke <joern.rennecke@superh.com>
6222
6223 PR target/9594:
6224 * sh.c (barrier_align): Also recognize stuff_delay_slot as
6225 an indicator that a barrier was created by branch splitting.
6226
6227 2003-04-15 Mark Mitchell <mark@codesourcery.com>
6228
6229 * c-decl.c (implicitly_declare): Copy declarations that are going
6230 to be placed in a local scope.
6231
6232 2003-04-15 James A. Morrison <ja2morri@uwaterloo.ca>
6233
6234 * invoke.texi (Spec Files): Wrap if-exists-else example.
6235 (MCore): Remove duplicate @itemx entries and @opindex entries.
6236
6237 2003-04-15 Ulrich Weigand <uweigand@de.ibm.com>
6238
6239 * unwind.inc (_Unwind_Backtrace): New function.
6240 * unwind.h (_Unwind_Backtrace): Declare it.
6241 * libgcc-std.ver (_Unwind_Backtrace): Export it.
6242
6243 2003-04-14 Jason Merrill <jason@redhat.com>
6244
6245 PR middle-end/10336, c++/10401
6246 * jump.c (never_reached_warning): Also stop looking if we reach the
6247 beginning of the function.
6248
6249 2003-04-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6250
6251 PR target/10338
6252 PR bootstrap/10198
6253 PR bootstrap/10140
6254 * fixinc/gnu-regex.c (regerror): Use mempcpy not __mempcpy.
6255
6256 2003-04-15 J"orn Rennecke <joern.rennecke@superh.com>
6257
6258 * i386.md (abssf2_if+1): Make condition agree with abssf2_1 .
6259
6260 2003-04-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6261
6262 * optabs.c (expand_binop): In multi-word add cases, ensure
6263 XTARGET is copied to TARGET if they are different.
6264
6265 2003-04-15 Olivier Hainque <hainque@act-europe.fr>
6266
6267 * except.c (resolve_fixup_regions): Avoid dereferencing null pointer
6268 to region, possible after integration of function with unreachable
6269 regions that were optimized away.
6270
6271 2003-04-15 Jakub Jelinek <jakub@redhat.com>
6272
6273 * config/rs6000/rs6000.h (EPILOGUE_USES): Use register 2,
6274 instead of TOC_REGISTER in epilogue in
6275 current_function_calls_eh_return functions.
6276
6277 2003-04-14 Mark Mitchell <mark@codesourcery.com>
6278
6279 * doc/extend.texi (Empty Structures): Correct description of G++'s
6280 handling of these structures.
6281
6282 * c-decl.c (grokdeclarator): Reject extern redeclarations of
6283 static variables.
6284
6285 2003-04-14 Janis Johnson <janis287@us.ibm.com>
6286
6287 * config/rs6000/rs6000.md (define_constants): Define constants for
6288 all UNSPEC usage, including new values for TLS support.
6289 (aux_truncdfsf2, fctiwz, movsi_got, movsi_got_internal,
6290 load_toc_aix_si, load_toc_aix_di, load_toc_v4_pic_si,
6291 load_toc_v4_PIC_1, load_toc_v4_PIC_1b, load_macho_picbase,
6292 macho_correct_pic, blockage, move_from_CR_ov_bit, movesi_from_cr,
6293 stack_tie, movsi_to_cr_one, movsi_to_cr, mtcrfsi, eh_set_lr_si,
6294 eh_set_lr_di): Use them.
6295 * rs6000.c: (mtcrf_operation, uses_TOC, rs6000_emit_prologue,
6296 rs6000_emit_epilogue) Use them.
6297
6298 * rtl.h (SYMBOL_REF_TLS_MODEL): Fix mask value.
6299
6300 2003-04-14 Neil Booth <neil@daikokuya.co.uk>
6301
6302 * Makefile.in (c-opts.o): Use custom action.
6303
6304 2003-04-14 Douglas B Rupp <rupp@gnat.com>
6305
6306 * ifcvt.c (noce_process_if_block): Fail on BLKmode move.
6307
6308 2003-04-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6309
6310 * stor-layout.c (layout_type, case ARRAY_TYPE): Add missing code to
6311 handle "superflat arrays" in Ada.
6312
6313 * integrate.c (expand_inline_function): Don't inline if would
6314 lose /u on a BLKmode TARGET.
6315
6316 2003-04-14 Joel Brobecker <brobecker@gnat.com>
6317
6318 * dbxout.c (print_int_cst_bounds_in_octal_p): New function,
6319 extracted from dbxout_type.
6320 (dbxout_range_type): print large bounds in octal format.
6321 (dbxout_type): Replace extracted code by call to
6322 print_int_cst_bounds_in_octal_p.
6323
6324 * dwarf2out.c (gen_compile_unit_die): Emit DW_LANG_Ada95 instead
6325 of DW_LANG_Ada83 for Ada units.
6326
6327 2003-04-14 Olivier Hainque <hainque@act-europe.fr>
6328
6329 * explow.c (round_push): Use HOST_WIDE_INT instead of int for the
6330 temporary used to round CONST_INT sizes.
6331
6332 * tree.c (int_fits_type_p): Extract generic checks from the case
6333 of constant type bounds. Refine the checks against constant type
6334 bounds to allow for possible decisions against each of these bounds
6335 without requiring both bounds to be constant.
6336 (tree_int_cst_msb): Put back.
6337 * tree.h (tree_int_cst_msb): Likewise.
6338
6339 * global.c (global_conflicts): Prevent allocation of call clobbered
6340 hard regs to pseudos live across abnormal edges, as later passes are
6341 not ready to handle them.
6342
6343 * fold-const.c (fold): Reorder tests for conditional expressions.
6344
6345 * expr.c (highest_pow2_factor): Return unsigned.
6346 * expr.h (offset_address): Likewise.
6347 * emit-rtl.c (offset_address): POW2 argument now unsigned.
6348
6349 2003-04-14 Roger Sayle <roger@eyesopen.com>
6350
6351 * builtins.c (expand_builtin_strlen): Evaluate the lengths of
6352 string literals at compile-time.
6353
6354 2003-04-14 Roger Sayle <roger@eyesopen.com>
6355
6356 * fold-const.c (fold): Transform (c1 - x) cmp c2, where cmp is a
6357 comparison operation and c1/c2 are floating point constants into
6358 x swap(cmp) (c1 - c2).
6359
6360 2003-04-14 Vladimir Makarov <vmakarov@redhat.com>
6361
6362 * genautomata.c (output_translate_vect): Fix a typo in loop
6363 condition.
6364
6365 2003-04-14 Hans-Peter Nilsson <hp@axis.com>
6366
6367 PR target/10377
6368 * config/cris/cris.md ("*mov_sideqi", "*mov_sidehi")
6369 ("*mov_sidesi", "*mov_sideqi_mem", "*mov_sidehi_mem")
6370 ("*mov_sidesi_mem", "*clear_sidesi", "*clear_sidehi")
6371 ("*clear_sideqi", "*ext_sideqihi", "*ext_sideqisi")
6372 ("*ext_sidehisi", "*op_sideqi", "*op_sidehi", "*op_sidesi")
6373 ("*op_swap_sideqi", "*op_swap_sidehi", "*op_swap_sidesi")
6374 ("*extopqihi_side", "*extopqisi_side", "*extophisi_side")
6375 ("*extopqihi_swap_side", "*extopqisi_swap_side")
6376 ("*extophisi_swap_side", 8th, 9th, 10th, 11th, 14th peepholes):
6377 When next to constraint R, replace constraint i with n.
6378
6379 Mon Apr 14 16:18:37 CEST 2003 Jan Hubicka <jh@suse.cz>
6380
6381 PR opt/10024
6382 * cfgrtl.c (force_nonfallthru_and_redirect): Use unchecked_make_edge.
6383
6384 2003-04-14 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
6385
6386 * doc/contrib.texi (Contributors): Correct my entry.
6387
6388 2003-04-13 Roger Sayle <roger@eyesopen.com>
6389
6390 * tree.h (DECL_BUILT_IN_NONANSI): Remove.
6391 * c-common.c (builtin_function_2): Don't set DECL_BUILT_IN_NONANSI.
6392 * c-decl.c (duplicate_decls): Use invariant DECL_BUILT_IN_NONANSI
6393 implies DECL_BUILT_IN to simplify logic.
6394 * print-tree.c (print_node): Don't dump DECL_BUILT_IN_NONANSI.
6395
6396 2003-04-13 Roger Sayle <roger@eyesopen.com>
6397
6398 * builtin-types.def (BT_FN_STRING_CONST_STRING): New builtin type.
6399 (BT_FN_PTR_SIZE_SIZE): Likewise.
6400 * builtins.def (BUILT_IN_MALLOC, BUILT_IN_CALLOC, BUILT_IN_STRDUP):
6401 New built-in functions for malloc, calloc and strdup respectively.
6402 * calls.c (special_function_p): No need to handle malloc-like
6403 functions any longer. ECF_MALLOC is set via built-in attributes.
6404
6405 * c-decl.c (duplicate_decls): Preserve pure and malloc attributes.
6406
6407 * doc/extend.texi: Document these new built-in functions.
6408
6409 2003-04-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6410
6411 * builtins.c (expand_builtin_memcpy): Add `endp' argument, use it.
6412 (expand_builtin_stpcpy): New.
6413 (expand_builtin): Add BUILT_IN_MEMPCPY & BUILT_IN_STPCPY.
6414 * builtins.def: Add mempcpy & stpcpy support.
6415 * doc/extend.texi (mempcpy, stpcpy): Document new builtins.
6416
6417 2003-04-13 Nick Clifton <nickc@redhat.com>
6418
6419 * config/rs6000/rs6000.c: Replace occurrences of "GNU CC" with
6420 "GCC".
6421 * config/rs6000/40x.md, config/rs6000/603.md,
6422 config/rs6000/6xx.md, config/rs6000/7450.md, config/rs6000/7xx.md,
6423 config/rs6000/8540.md, config/rs6000/aix.h, config/rs6000/aix31.h,
6424 config/rs6000/aix3newas.h, config/rs6000/aix41.h,
6425 config/rs6000/aix43.h, config/rs6000/aix51.h,
6426 config/rs6000/aix52.h, config/rs6000/altivec-defs.h,
6427 config/rs6000/altivec.h, config/rs6000/altivec.md,
6428 config/rs6000/beos.h, config/rs6000/darwin.h,
6429 config/rs6000/eabi.h, config/rs6000/eabialtivec.h,
6430 config/rs6000/eabisim.h, config/rs6000/eabispe.h,
6431 config/rs6000/freebsd.h, config/rs6000/gnu.h,
6432 config/rs6000/host-darwin.c, config/rs6000/linux.h,
6433 config/rs6000/linux64.h, config/rs6000/linuxaltivec.h,
6434 config/rs6000/lynx.h, config/rs6000/mach.h, config/rs6000/mpc.md,
6435 config/rs6000/netbsd.h, config/rs6000/power4.md,
6436 config/rs6000/rios1.md, config/rs6000/rios2.md,
6437 config/rs6000/rs6000-c.c, config/rs6000/rs6000-modes.def,
6438 config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
6439 config/rs6000/rs6000.h, config/rs6000/rs6000.md,
6440 config/rs6000/rs64.md, config/rs6000/rtems.h, config/rs6000/spe.h,
6441 config/rs6000/spe.md, config/rs6000/sysv4.h,
6442 config/rs6000/sysv4le.h, config/rs6000/vxworks.h,
6443 config/rs6000/windiss.h, config/rs6000/xcoff.h: Likewise.
6444
6445 2003-04-13 Nick Clifton <nickc@redhat.com>
6446
6447 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Delete
6448 support for -mcall-aix switch.
6449 * config/rs6000/eabiaix.h: Delete.
6450 * config/rs6000/rs6000.h (rs6000_abi): Remove ABI_AIX_NODESC.
6451 (RS6000_REG_SAVE, RS6000_SAVE_AREA, FP_ARGS_MAX_REG,
6452 RETURN_ADDRESS_OFFSET): Remove use of ABI_AIX_NODESC.
6453 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Likewise.
6454 * config/rs6000/rs6000.c (print_operand, rs6000_stack_info,
6455 debug_stack_info, output_function_profiler,
6456 rs6000_trampoline_size, rs6000_initialise_trampoline): Likewise.
6457 * config/rs6000/rs6000.md (call, call_value, call_nonlocal_sysv,
6458 call_indirect_nonlocal_sysv, call_value_indirect_nonlocal_sysv,
6459 call_value_nonlocal_sysv, sibcall_value_nonlocal_sysv,
6460 sibcall_nonlocal_sysv, sibcall_value_local64): Likewise.
6461 * config/rs6000/t-ppcgas (MULTILIB_OPTIONS): Remove mcall-aix
6462 multilibs.
6463 (MULTILIB_DIRNAMES): Remove mcall-aix directories.
6464 (MULTILIB_EXCEPTIONS): Delete.
6465 (MULTILIB_MATCHES): Remove mcall-aix matches.
6466
6467 * doc/fragments.texi: Replace -mcall-aix example with an ARM
6468 one.
6469 * doc/install.texi: Delete powerpc-*-eabiaix target.
6470 * doc/invoke.texi: Remove documentation of mcall-aix switch.
6471 * doc/tm.texi: Remove mcall-aix from example CPP_SPEC.
6472 * config.gcc: Delete powerpc-*-eabiaix target.
6473
6474 2003-04-13 Kazu Hirata <kazu@cs.umass.edu>
6475
6476 * doc/invoke.texi: Fix typos.
6477 * doc/tm.texi: Likewise.
6478
6479 2003-04-12 Zack Weinberg <zack@codesourcery.com>
6480
6481 * c-typeck.c (digest_init, push_init_level): Use CONSTRUCTOR_ELTS.
6482
6483 2003-04-12 Zack Weinberg <zack@codesourcery.com>
6484
6485 * tree.c (build_constructor): New function.
6486 * tree.h: Prototype it.
6487
6488 * c-typeck.c (build_c_cast, pop_init_level)
6489 * profile.c (build_function_info_value, build_gcov_info_value)
6490 (create_profiler):
6491 Use build_constructor.
6492
6493 * builtins.c (expand_builtin_args_info): Remove #if 0 blocks.
6494
6495 * objc/objc-act.c (build_constructor):
6496 Rename objc_build_constructor. Use build_constructor.
6497 (build_objc_string_object, objc_add_static_instance)
6498 (init_def_list, init_objc_symtab, init_module_descriptor)
6499 (generate_static_references, build_selector_translation_table)
6500 (build_descriptor_table_initializer, generate_descriptor_table)
6501 (build_protocol_initializer, build_ivar_list_initializer)
6502 (generate_ivars_list, build_dispatch_table_initializer)
6503 (generate_dispatch_table, generate_protocol_list)
6504 (build_category_initializer, build_shared_structure_initializer):
6505 Update to match.
6506
6507 2003-04-12 Zack Weinberg <zack@codesourcery.com>
6508
6509 * intl.h: #define gcc_gettext_width to strlen when !ENABLE_NLS.
6510
6511 2003-04-12 Stephane Carrez <stcarrez@nerim.fr>
6512
6513 * config/m68hc11/m68hc11-protos.h
6514 (m68hc11_eq_compare_operator): Declare
6515 * config/m68hc11/m68hc11.h (PREDICATE_CODES): Register new predicate.
6516 * config/m68hc11/m68hc11.c (m68hc11_eq_compare_operator): New predicate
6517 (d_register_operand): Check the operand mode.
6518 (hard_addr_reg_operand): Likewise.
6519
6520 2003-04-12 Stephane Carrez <stcarrez@nerim.fr>
6521
6522 * config/m68hc11/m68hc11.md ("decrement_and_branch_until_zero"): New
6523 pattern for dbcc/ibcc generation for 68HC12.
6524 ("doloop_end"): New pattern.
6525 ("m68hc12_dbcc_dec_hi"): New pattern for dbeq/dbne.
6526 ("m68hc12_dbcc_inc_hi"): New pattern for ibeq/ibne.
6527 ("m68hc12_dbcc_dec_qi"): New pattern.
6528 ("m68hc12_dbcc_inc_qi"): New pattern.
6529 (split): Add split for the above when we can't use dbcc/ibcc due to
6530 reloading.
6531 (peephole2): Add peephole2 to generate the above when possible.
6532
6533 2003-04-12 Stephane Carrez <stcarrez@nerim.fr>
6534
6535 * config/m68hc11/m68hc11.md ("bitcmpqi" split): No need to test the
6536 mode of operand 0.
6537 (peephole2 optimize const load): Likewise for operand 2.
6538 ("*rotlhi3_with_carry"): Change pattern to a const 1 rotate which
6539 clobbers CC_REGNUM.
6540 ("*rotrhi3_with_carry"): Likewise.
6541 (ashift:DI 1 split): Update pattern to create the above rotate.
6542 (lshiftrt:DI 1 split): Likewise.
6543
6544 2003-04-12 Stephane Carrez <stcarrez@nerim.fr>
6545
6546 * config/m68hc11/m68hc11.md (SOFT_Z_REGNUM): New constant.
6547 ("tstqi_z_used" split): Use it.
6548 ("cmphi_z_used"): Likewise.
6549 ("bitcmpqi_z_used"): Likewise; also use SP_REGNUM constant.
6550 ("cmpqi_z_used"): Likewise.
6551
6552 2003-04-12 Mark Mitchell <mark@codesourcery.com>
6553
6554 PR c++/7910
6555 * config/i386/winnt.c (i386_pe_mark_dllimport): Fix thinko.
6556
6557 2003-04-12 Zack Weinberg <zack@codesourcery.com>
6558
6559 * configure.in: Check for wchar.h, mbstowcs, and wcswidth.
6560 * configure, config.in: Regenerate.
6561 * intl.c (gcc_gettext_width): New function.
6562 * intl.h: Prototype it.
6563
6564 2003-04-12 Stephane Carrez <stcarrez@nerim.fr>
6565
6566 * config/m68hc11/m68hc11.h (TARGET_SWITCHES): Fix -mnominmax option;
6567 recognize -mnorelax.
6568 (reg_class): Add Z_OR_S_REGS to represent soft registers with Z
6569 (REG_CLASS_NAMES): Add its name.
6570 (REG_CLASS_CONTENTS): Define its content.
6571
6572 2003-04-12 Stephane Carrez <stcarrez@nerim.fr>
6573
6574 * config/m68hc11/larith.asm (memcpy): Use ARG macro to access stack
6575 parameters so that offsets are valid for far definition.
6576 (__mulsi3): Likewise and use ret to return.
6577 (___adddi3, ___subdi3, ___notdi2, ): Don't use it to save the result.
6578
6579 2003-04-12 David Edelsohn <edelsohn@gnu.org>
6580
6581 * config/rs6000/rs6000.c (rs6000_hash_constant): Skip '0' fields.
6582
6583 2003-04-12 Alexandre Oliva <aoliva@redhat.com>
6584
6585 * mklibgcc.in (libgcc-stage-start): For every multilib directory
6586 containing a libgcc.a, move lib* to the corresponding stage dir.
6587
6588 * Makefile.in (stage1-start, stage2-start, stage3-start,
6589 stage4-start): Move $(SPECS) to specs in stage dir.
6590 (unstage1 unstage2 unstage3 unstage4): Move specs in stage dir
6591 back as $(SPECS).
6592
6593 * mklibgcc.in (libgcc-stage-start): Move into the stage directory
6594 object files from the non-libgcc/ multilib directories as well.
6595
6596 2003-04-11 Geoffrey Keating <geoffk@apple.com>
6597
6598 * profile.c (read_counts_file): Initialise 'checksum'.
6599
6600 * emit-rtl.c (gen_rtx): Really correct typo.
6601
6602 PR c++/9393
6603 * doc/invoke.texi (Debugging Options): Document -frandom-seed.
6604 * configure.in: Check for gettimeofday.
6605 * tree.c (flag_random_seed): Define.
6606 (default_flag_random_seed): New.
6607 (append_random_chars): Use flag_random_seed rather than trying
6608 to acquire randomness here.
6609 * tree.h (default_flag_random_seed): Declare.
6610 * toplev.c (display_help): Add -frandom-seed and -fstack-limit-*
6611 descriptions.
6612 (decode_f_option): Handle -frandom-seed.
6613 (print_switch_values): Call default_flag_random_seed.
6614 * flags.h (flag_random_seed): Declare.
6615 * configure: Regenerate.
6616 * config.in: Regenerate.
6617 * config/alpha/t-crtfm: Use -frandom-seed.
6618
6619 * doc/extend.texi (Empty Structures): New.
6620
6621 * c-pch.c: Include flags.h. Add comments to routines.
6622 (struct c_pch_validity): New.
6623 (get_ident): Update PCH file version number.
6624 (pch_init): Output current debugging type.
6625 (c_common_valid_pch): Check debugging type.
6626 * Makefile.in (c-pch.o): Update dependencies.
6627 * flags.h (debug_type_names): Declare.
6628 * toplev.c (debug_type_names): Move out of decode_g_option.
6629
6630 2003-04-11 Eric Christopher <echristo@redhat.com>
6631
6632 * emit-rtl.c (gen_rtx): Fix typos.
6633
6634 2003-04-11 Richard Henderson <rth@redhat.com>
6635
6636 * emit-rtl.c (gen_rtx): Zero '0' fields.
6637
6638 2003-04-11 Richard Henderson <rth@redhat.com>
6639
6640 PR c++/10202
6641 * expr.c (expand_expr): Use COMPLETE_OR_UNBOUND_ARRAY_TYPE_P
6642 not COMPLETE_TYPE_P for re-invoking layout_decl.
6643
6644 2003-04-11 Simon Law <sfllaw@engmail.uwaterloo.ca>
6645
6646 * doc/bugreport.texi: Fix paragraph breaking between sections
6647 in preparation for TeXinfo's paragraph indentation fixes.
6648 * doc/extend.texi: Ditto.
6649 * doc/invoke.texi: Ditto.
6650 * doc/objc.texi: Ditto.
6651 * doc/gcov.texi: Wrap 'gcov' in @command{}.
6652 * doc/invoke.texi (Darwin Options): Add a preamble.
6653
6654 2003-04-11 Richard Henderson <rth@redhat.com>
6655
6656 * config/i386/i386.c (tls_model_chars): Remove.
6657 (ix86_encode_section_info, ix86_strip_name_encoding): Remove.
6658 (local_symbolic_operand): Use SYMBOL_REF_LOCAL_P.
6659 (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
6660 (tls_symbolic_operand_1): Likewise.
6661 (legitimate_pic_address_disp_p): Use SYMBOL_REF_LOCAL_P.
6662 * config/i386/i386.h (TARGET_ENCODE_SECTION_INFO): Remove.
6663 (TARGET_STRIP_NAME_ENCODING, ASM_OUTPUT_LABELREF): Remove.
6664 * config/i386/winnt.c (i386_pe_encode_section_info): Replace
6665 bits "copied from i386.h" with default_encode_section_info.
6666
6667 2003-04-11 Richard Henderson <rth@redhat.com>
6668
6669 * rtl.def (SYMBOL_REF): Add two 0 fields.
6670 * gengtype.c (adjust_field_rtx_def): Handle them.
6671 * print-rtl.c (print_rtx): Print them.
6672 * rtl.h (SYMBOL_REF_DECL, SYMBOL_REF_FLAGS): New.
6673 (SYMBOL_FLAG_FUNCTION, SYMBOL_REF_FUNCTION_P): New.
6674 (SYMBOL_FLAG_LOCAL, SYMBOL_REF_LOCAL_P): New.
6675 (SYMBOL_FLAG_SMALL, SYMBOL_REF_SMALL_P): New.
6676 (SYMBOL_FLAG_TLS_SHIFT, SYMBOL_REF_TLS_MODEL): New.
6677 (SYMBOL_FLAG_EXTERNAL, SYMBOL_REF_EXTERNAL_P): New.
6678 (SYMBOL_FLAG_MACH_DEP): New.
6679 * optabs.c (init_one_libfunc): Zap fake SYMBOL_REF_DECL.
6680 * varasm.c (make_decl_rtl): Set SYMBOL_REF_DECL.
6681 (assemble_static_space): Set SYMBOL_REF_FLAGS.
6682 (assemble_trampoline_template): Likewise.
6683 (output_constant_def, force_const_mem): Likewise.
6684 (default_encode_section_info): New.
6685 * output.h: Declare it.
6686 * target-def.h (TARGET_ENCODE_SECTION_INFO): Use it.
6687
6688 2003-04-11 Richard Henderson <rth@redhat.com>
6689
6690 * libfuncs.h (LTI_setbits, LTI_gcov_flush, LTI_gcov_init): New.
6691 (setbits_libfunc, gcov_flush_libfunc, gcov_init_libfunc): New.
6692 * optabs.c (init_optabs): Initialize them.
6693 (init_libfuncs): Use init_one_libfunc.
6694 * calls.c (expand_call): Use gcov_flush_libfunc.
6695 * expr.c (store_constructor): Use setbits_libfunc.
6696 * function.c (expand_main_function): Use init_one_libfunc.
6697 * profile.c (create_profiler): Use gcov_init_libfunc and DECL_RTL.
6698
6699 2003-04-11 Mark Mitchell <mark@codesourcery.com>
6700
6701 * doc/c-tree.texi (Functions): Remove DECL_REAL_CONTEXT
6702 documentation; add DECL_FRIEND_CONTEXT.
6703
6704 2003-04-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6705
6706 * doc/install.texi (hppa): Update links for HP-UX patches. Revise
6707 notes on linker selection and configuration for 64-bit HP-UX port.
6708 * doc/invoke.texi (hppa): Remove hppa text from description for
6709 -ffunction-sections and -fdata-sections. Document -static, -nolibdld
6710 and -threads options.
6711
6712 * pa-hpux10.h (LIB_SPEC): Add link options to resolve dependency of
6713 libc.a on libdld.sl when -static is specified and -nolibdld is not
6714 specified.
6715 * pa64-hpux.h (LIB_SPEC): Likewise.
6716 * pa-hpux11.h (LIB_SPEC): Likewise.
6717 (LINK_SPEC): Add __gcc_plt_call as an undefined symbol when -shared
6718 is not specified.
6719
6720 2003-04-11 Zack Weinberg <zack@codesourcery.com>
6721
6722 * config/darwin-c.c (darwin_pragma_unused): Use lookup_name,
6723 not IDENTIFIER_LOCAL_VALUE.
6724
6725 2003-04-11 Richard Henderson <rth@redhat.com>
6726
6727 PR c/10201
6728 * expr.c (expand_expr): Move DECL_RTL frobbing ...
6729 * stor-layout.c (layout_decl): ... here.
6730
6731 2003-04-11 James A. Morrison <ja2morri@uwaterloo.ca>
6732
6733 * doc/invoke.texi: Eliminate extra white-space caused by
6734 @gccoptlist{ on its own line.
6735 * doc/invoke.texi: Ensured there are two spaces between each option.
6736 * doc/invoke.texi: Re-wrapped option lines that were too wide.
6737 Added @gol to options that didn't have them.
6738
6739 2003-04-11 Nathan Sidwell <nathan@codesourcery.com>
6740
6741 * Makefile.in (loop-init.o): Do not depend on gcov-io.h,
6742 gcov-iov.h.
6743
6744 Simplify interface to gcov reading and writing.
6745 * gcov-io.h (gcov_file, gcov_position, gcov_length, gcov_buffer,
6746 gcov_alloc, gcov_modified, gcov_errored): Move into ...
6747 (struct gcov_var gcov_var): ... this static structure.
6748 (gcov_write_unsigned, gcov_write_counter, gcov_write_string):
6749 Return void.
6750 (gcov_read_unsigned, gcov_read_couter, gcov_read_string): Return
6751 read object.
6752 (gcov_read_bytes, gcov_write_bytes): Set error flag on error.
6753 (gcov_reserve_length): Remove.
6754 (gcov_write_tag): New.
6755 (gcov_write_length): Adjust.
6756 (gcov_read_summary, gcov_write_summary): Adjust.
6757 (gcov_eof, gcov_ok): Rename to ...
6758 (gcov_is_eof, gcov_is_error): ... here. Return error code.
6759 (gcov_save_position, gcov_resync): Rename to ...
6760 (gcov_position, gcov_seek): ... here.
6761 (gcov_skip, gcov_skip_string): Remove.
6762 (gcov_error): Remove.
6763 (gcov_open, gcov_close): Adjust.
6764 * gcov.c (find_source): Take const char *, copy it on allocation.
6765 (read_graph_file): Adjust.
6766 (read_count_file): Adjust.
6767 * libgcov.c (gcov_exit): Adjust.
6768 * gcov-dump.c (tag_function, tag_blocks, tag_arcs, tag_lines,
6769 tag_arc_counts, tag_summary): Return void. Adjust.
6770 (struct tag_format): Adjust proc member.
6771 (dump_file): Adjust gcov calls.
6772
6773 2003-04-11 Alexandre Oliva <aoliva@redhat.com>
6774
6775 * Makefile.in (fixinc.sh): Pass BUILD_LIBERTY as LIBERTY to
6776 mkfixinc.sh.
6777 * fixinc/mkfixinc.sh (defs): Add LIBERTY.
6778 * configure.in (STMP_FIXINC, STMP_FIXPROTO): Don't disable on
6779 build != host sysrooted builds.
6780 * configure.in (SYSTEM_HEADER_DIR): Make sure it contains
6781 TARGET_SYSTEM_ROOT even on sysrooted natives.
6782 * configure: Rebuilt.
6783
6784 2003-04-10 Zack Weinberg <zack@codesourcery.com>
6785
6786 * c-decl.c (struct binding_level): Add shadowed_tags and
6787 function_body; remove this_block, tag_transparent, and
6788 subblocks_tag_transparent; update comments.
6789 (clear_binding_level, lookup_tag_reverse): Kill.
6790 (make_binding_level): Use ggc_alloc_cleared or memset.
6791 (lookup_tag): Remove struct binding_level* parameter. All
6792 callers changed. Just look at IDENTIFIER_TAG_VALUE, and
6793 current_binding_level->tags if asked for thislevel_only or if
6794 we might have to diagnose "struct foo; union foo;"
6795 (pushlevel): Ignore argument. Do not push another binding
6796 level on the transition from the parameters to the top level
6797 of the function body; just tweak the flags and proceed.
6798 (poplevel): Overhaul. Clear IDENTIFIER_TAG_VALUEs; on exiting
6799 a function body, separate the parameter list from the
6800 top-level local variables.
6801 (set_block): Do nothing.
6802 (pushtag): Set IDENTIFIER_TAG_VALUE and add an entry to
6803 shadowed_tags if necessary.
6804 (warn_if_shadowing): Nuke the special case for local shadowing
6805 parameter.
6806 (pushdecl): Do not create a shadow entry if we are replacing
6807 an older decl in the same binding level.
6808 (pushdecl_function_level): Tweak for new way of indicating
6809 function scope.
6810 (shadow_tag_warned): Use TYPE_NAME, not lookup_tag_reverse.
6811 (start_function): Don't set subblocks_tag_transparent.
6812 (finish_function): Fix up the binding_level stack for totally
6813 empty functions. Otherwise, don't call poplevel.
6814
6815 * c-common.c (shadow_warning): MANDATORY argument is no longer
6816 necessary. Always use plain warning.
6817 * c-common.h: Update to match.
6818
6819 * cfglayout.c (scope_to_insns_initialize): Clear block when we
6820 hit the FUNCTION_DECL.
6821 * function.c: Do not create cyclic tree structure.
6822
6823 2003-04-10 Zack Weinberg <zack@codesourcery.com>
6824
6825 * c-tree.h (struct lang_identifier): Replace global_value,
6826 local_value members with symbol_value, tag_value. Kill
6827 implicit_decl and limbo_value.
6828 (IDENTIFIER_GLOBAL_VALUE, IDENTIFIER_LOCAL_VALUE,
6829 IDENTIFIER_LIMBO_VALUE, IDENTIFIER_IMPLICIT_DECL,
6830 C_MISSING_PROTOTYPE_WARNED): Kill.
6831 (IDENTIFIER_SYMBOL_VALUE, IDENTIFIER_TAG_VALUE,
6832 C_DECL_IMPLICIT, C_DECL_ISNT_PROTOTYPE): New.
6833 (C_DECL_ANTICIPATED): Rename to C_DECL_INVISIBLE.
6834 (implicit_decl_warning, lookup_name_current_level,
6835 record_function_scope_shadow): Don't prototype.
6836 (pushdecl_function_level): Prototype.
6837
6838 * c-decl.c (truly_local_externals): New variable.
6839 (struct binding_level): Adjust commentary.
6840 (get_function_binding_level, clear_limbo_values,
6841 record_function_scope_shadow): Kill.
6842 (lookup_name_current_level, implicit_decl_warning): Are now static.
6843 (any_external_decl, record_external_decl): New static functions.
6844 (clone_underlying type): Split out of pushdecl.
6845 (c_print_identifier): Update to match changes to struct
6846 lang_identifier.
6847 (poplevel): Delete #if 0 block. Make externals invisible
6848 instead of clearing their IDENTIFIER_SYMBOL_VALUEs. Don't
6849 call clear_limbo_values. Refer to IDENTIFIER_SYMBOL_VALUE not
6850 IDENTIFIER_GLOBAL_VALUE or IDENTIFIER_LOCAL_VALUE.
6851 (duplicate-decls): For real parm decl after a forward decl,
6852 set TREE_ASM_WRITTEN here. Allow void foo(...) followed by
6853 foo(...) { } with only a warning. Say whether a previous
6854 declaration was implicit.
6855 (warn_if_shadowing): Now handles all shadowing, not just
6856 local-over-local. Clarify comments.
6857 (pushdecl): Rewritten. There is no longer a distinction
6858 between global and local symbol values; they're all
6859 IDENTIFIER_SYMBOL_VALUE. Call record_external_decl on all
6860 DECL_EXTERNAL decls, and use any_external_decl to check
6861 against previous externals. Kill #if 0 blocks. Don't
6862 tolerate error_mark_node being NULL.
6863 (pushdecl_top_level): Handle only those cases which
6864 Objective C (the only user) needs.
6865 (pushdecl_function_level): New function.
6866 (implicitly_declare): Create ordinary decls with
6867 C_DECL_IMPLICIT set. Recycle old decls, however they got
6868 created.
6869 (lookup_name): It's always IDENTIFIER_SYMBOL_VALUE. Return 0
6870 for C_DECL_INVISIBLE symbols.
6871 (lookup_name_current_level): Likewise. Use chain_member.
6872 (c_make_fname_decl): Don't muck with DECL_CONTEXT.
6873 Use pushdecl_function_level.
6874 (builtin_function): Use C_DECL_INVISIBLE.
6875 (start_function): Don't muck with IDENTIFIER_IMPLICIT_DECL.
6876 Use C_DECL_ISNT_PROTOTYPE and C_DECL_IMPLICIT.
6877 (store_parm_decls): It's IDENTIFIER_SYMBOL_VALUE now.
6878 (identifier_global_value): Same. Must scan
6879 global_binding_level in extremis.
6880
6881 * c-typeck.c (undeclared_variable): New static function, split
6882 from build_external_ref.
6883 (build_external_ref): Use DECL_CONTEXT, not
6884 IDENTIFIER_LOCAL_VALUE, to decide whether a local hides
6885 an instance variable. Restructure for clarity.
6886 * objc/objc-act.c: Use identifier_global_value, not
6887 IDENTIFIER_GLOBAL_VALUE.
6888
6889 2003-04-08 Jonathan Wakely <redi@gcc.gnu.org>
6890
6891 * doc/extend.texi (Template Instantiation): Refer to ISO standard,
6892 not Working Paper.
6893 * doc/invoke.texi (C++ Dialect Options): Same.
6894
6895 2003-04-10 Zack Weinberg <zack@codesourcery.com>
6896
6897 * tree.c (tree_operand_check_failed): New function.
6898 * tree.h (TREE_OPERAND_CHECK, TREE_OPERAND_CHECK_CODE,
6899 TREE_RTL_OPERAND_CHECK): New checking macros.
6900 (TREE_OPERAND, SAVE_EXPR_CONTEXT, SAVE_EXPR_RTL,
6901 RTL_EXPR_SEQUENCE, RTL_EXPR_RTL, WITH_CLEANUP_EXPR_RTL,
6902 CONSTRUCTOR_ELTS, LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY,
6903 EXIT_BLOCK_RETURN, LOOP_EXPR_BODY, EXPR_WFL_NODE,
6904 EXPR_WFL_FILENAME_NODE, EXPR_WFL_FILENAME, TARGET_EXPR_SLOT,
6905 TARGET_EXPR_INITIAL, TARGET_EXPR_CLEANUP): Use the new
6906 checking macros.
6907
6908 Thu Apr 10 23:52:30 CEST 2003 Jan Hubicka <jh@suse.cz>
6909
6910 PR inline-asm/8803
6911 * function.c (instantate_virtual_regs): Verify that all ASM statements
6912 match after the virutal regs instantiation.
6913
6914 2003-04-10 Steve Ellcey <sje@cup.hp.com>
6915
6916 * ia64-protos.h (addp4_optimize_ok): New.
6917 * ia64.c (addp4_optimize_ok): New.
6918 * ia64.md (*ptr_extend_plus_1): Use addp4_optimize_ok.
6919 (*ptr_extend_plus_2): Ditto.
6920
6921 2003-04-10 Steve Ellcey <sje@cup.hp.com>
6922
6923 * expr.c (expand_assignment): Extend offset_rtx with convert_to_mode
6924 not with convert_memory_address.
6925 (store_constructor): Ditto, and same for copy_size_rtx.
6926 (expand_expr): Ditto.
6927
6928 2003-04-10 Douglas B Rupp <rupp@gnat.com>
6929
6930 * config/i386/i386.c (ix86_ms_bitfield_layout_p): Fix formatting.
6931
6932 2003-04-10 Bob Wilson <bob.wilson@acm.org>
6933
6934 * config/xtensa/lib2funcs.S (__xtensa_sync_caches): Flush data cache
6935 even if it is configured to be write-through.
6936
6937 2003-04-10 Ulrich Weigand <uweigand@de.ibm.com>
6938
6939 * config/s390/s390.c (larl_operand): Do not allow symbols
6940 marked with '@'.
6941 (s390_encode_section_info): Mark symbols with forced 1-byte
6942 alignment with '@'.
6943 (s390_strip_name_encoding): Strip '@'.
6944 (legitimize_pic_address): Handle symbols that are not valid
6945 LARL operands in 64-bit mode.
6946
6947 2003-04-10 Andrew Haley <aph@redhat.com>
6948
6949 * tree-inline.c (inlinable_function_p): Disable inlining for
6950 synchronized methods.
6951
6952 2003-04-09 Steven Bosscher <steven@gcc.gnu.org>
6953
6954 * c-common.h (lang_statement_code_p): Remove declaration.
6955 (statement_code_p): Ditto.
6956 (c_common_stmt_codes): Define; list of c-common statement codes.
6957 (statement_code_p): New extern declaration.
6958 (STATEMENT_CODE_P): Define.
6959 (INIT_STATEMENT_CODES): Define.
6960 * c-common.c (statement_code_p): Kill the function, declare
6961 as an array of bools instead.
6962 (lang_statement_code_p): Remove.
6963 (walk_stmt_tree): Use STATEMENT_CODE_P not statement_code_p.
6964 (c_safe_from_p): Ditto.
6965 * c-objc-common.c (c_objc_common_init): Use INIT_STATEMENT_CODES
6966 to initialize the statement_code_p array.
6967 * tree-inline.c (walk_tree): Use STATEMENT_CODE_P instead of
6968 statement_code_p.
6969 (copy_tree_r): Ditto.
6970 * cp/cp-tree.h (cp_stmt_codes): Define; list of C++ specific
6971 statement tree codes.
6972 * cp/lex.c (cxx_init): Add missing print line break. Use
6973 INIT_STATEMENT_CODES to initialize the statement_code_p array.
6974 * cp/parser.c (cp_parser_statement): Use STATEMENT_CODE_P
6975 instead of statement_code_p.
6976 * cp/pt.c (tsubst_expr): Ditto.
6977 * cp/tree.c (verify_stmt_tree_r): Ditto.
6978 (cp_statement_code_p): Remove.
6979 (init_tree): Don't set lang_statement_code_p, it's gone.
6980
6981 2003-04-09 Dan Nicolaescu <dann@ics.uci.edu>
6982 Zack Weinberg <zack@codesourcery.com>
6983
6984 * regrename.c (struct du_chain): Use a bitfield for reg_class.
6985 * cse.c (struct qty_table_elem, struct table_elt, struct set):
6986 Use bitfields for fields holding enum rtx_code or
6987 enum machine_mode values. Add comments explaining size choices.
6988
6989 2003-04-09 Alexandre Oliva <aoliva@redhat.com>
6990
6991 * config/fp-bit.c (unpack_d): Handle pair of doubles with
6992 different signs correctly.
6993
6994 2003-04-09 Vladimir Makarov <vmakarov@redhat.com>
6995
6996 * sched-deps.c (reg_pending_barrier_mode): New enumeration.
6997 (reg_pending_barrier): Make it of the enumeration type.
6998 (sched_analyze_2): Define the barrier as MOVE_BARRIER or
6999 TRUE_BARRIER.
7000 (sched_analyze): Ditto.
7001 (sched_analyze_insn): Ditto. Use anti-dependencies for
7002 MOVE_BARRIER and true-dependencies as TRUE_BARRIER.
7003 (init_deps_global): Initialize the barrier as NO_BARRIER.
7004
7005 2003-04-09 Vladimir Makarov <vmakarov@redhat.com>
7006
7007 * config/ia64/ia64.c (issue_nops_and_insn): Add new parameter.
7008 Check that asm insn starts on a new cycle. Add nops after asm
7009 insn to end bundle.
7010 (bundling): Move insn type evaluation from the loop. Call
7011 issue_nops_and_insn with the new parameter. Ignore changing
7012 position for nops after asm insn.
7013
7014 2003-04-09 Alexandre Oliva <aoliva@redhat.com>
7015
7016 * optabs.c: Comment that gen_add2_insn and others may actually
7017 return emitted insns, if the gen functions turn out to return
7018 emitted insns.
7019 * reload1.c (reload_cse_move2add): Cope with emitted insns from
7020 gen_add2_insn.
7021
7022 2003-04-09 Richard Henderson <rth@redhat.com>
7023
7024 * config/ia64/ia64.c (move_operand): Allow symbolic_operand,
7025 but not tls_symbolic_operand.
7026 (ia64_expand_load_address): Remove scratch operand.
7027 (ia64_expand_tls_address): Split out from ia64_expand_move.
7028 (ia64_expand_move): Split symbolics only after reload.
7029 (ia64_emit_cond_move): New.
7030 * config/ia64/ia64-protos.h: Update.
7031 * config/ia64/ia64.md (movsi_symbolic, movdi_symbolic): Remove.
7032 (symbolic splitter): Accept SImode operands too.
7033 (cmove splitter): Use ia64_emit_cond_move.
7034
7035 2003-04-09 Nick Clifton <nickc@redhat.com>
7036
7037 * doc/install.texi: Note that ARM toolchains need binutils 2.13 or
7038 newer.
7039 * config/arm/elf.h (SUBTARGET_ASM_FLOAT_SPEC): Pass -mfpu=softfpa
7040 instead of -mno-fpu.
7041 * config/arm/semi.h (ASM_SPEC): Likewise.
7042 * config/arm/xscale-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise,
7043 but only if -msoft-float is specified pass. Otherwise pass
7044 -mfpu=softvfp.
7045
7046 2003-04-09 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7047
7048 * function.c (purge_addressof): Use free_INSN_LIST_node instead of
7049 free_EXPR_LIST_node.
7050
7051 2003-04-08 Roger Sayle <roger@eyesopen.com>
7052
7053 * fold-const.c (fold): Use "fold" following build in more places.
7054 Optimize sqrt(x)*sqrt(x) as x, pow(x,y)*pow(z,y) as pow(x*z,y),
7055 pow(x,y)*pow(x,z) as pow(x,y+z) and x/pow(y,z) as x*pow(y,-z).
7056
7057 2003-04-08 Roger Sayle <roger@eyesopen.com>
7058
7059 * builtins.c (fold_builtin): Constant fold expressions as x*0.5
7060 instead of x/2.0. Optimize sqrt(pow(x,y)) as pow(x,y*0.5),
7061 log(pow(x,y)) as y*log(x), pow(exp(x),y) as exp(x*y),
7062 pow(sqrt(x),y) as pow(x,y*0.5) and pow(pow(x,y),z) as pow(x,y*z).
7063 Delete function scope "fcode" variable to avoid shadowing.
7064
7065 2003-04-08 Kevin Buettner <kevinb@redhat.com>
7066
7067 * dwarf2out.c (DWARF_ARANGES_HEADER_SIZE, DWARF_ARANGES_PAD_SIZE):
7068 Take into account DWARF_INITIAL_LENGTH_SIZE.
7069
7070 2003-04-08 Hans-Peter Nilsson <hp@axis.com>
7071
7072 * reorg.c (fill_slots_from_thread): When considering changing the
7073 insn following a reg-to-reg copy insn to use the source reg of the
7074 copy, bail out if there's overlap between the registers.
7075
7076 2003-04-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7077
7078 * function.c (postponed_insns): New.
7079 (purge_addressof_1): Postpone processing of insns if addressofs
7080 are not put into stack.
7081 (purge_addressof): Process postponed insns.
7082
7083 2003-04-08 J"orn Rennecke <joern.rennecke@superh.com>
7084
7085 * sh.h (NORMAL_MODE): If interrupt handler and TARGET_FMOVD,
7086 this is FP_MODE_DOUBLE .
7087 * sh.c (ra.h): #include.
7088 (push_regs): Add second parameter. Changed all callers.
7089 If necessary, set fpscr before saving floating point registers.
7090 (calc_live_regs): If interrupt handler and TARGET_FMOVD, always
7091 do saves / restores with SZ == 1.
7092 (sh_expand_prologue): If interrupt handler, don't use gen_toggle_sz.
7093 (sh_expand_epilogue): Likewise. For TARGET_FMOVD, if floating point
7094 registers are being restored, restore FPSCR only after restoring them.
7095
7096 2003-04-08 Aldy Hernandez <aldyh@redhat.com>
7097
7098 * config/rs6000/rs6000.c (rs6000_init_builtins): Set opaque types
7099 regardless of architecture.
7100 (spe_init_builtins): Change V2SI and V2SF types to opaque types.
7101
7102 2003-04-08 J"orn Rennecke <joern.rennecke@superh.com>
7103
7104 * sh.c (push_regs, calc_live_regs): Return int. Take single
7105 HARD_REG_SET * parameter. Changed all callers.
7106
7107 Tue Apr 8 11:12:07 CEST 2003 Jan Hubicka <jh@suse.cz>
7108
7109 * i386.c (legitimate_pic_address_disp_p): Do not accept PLUS in the
7110 GOTOFF operand.
7111 (legitimize_pic_address): Move plus outside the unspec.
7112 * i386.c (legitimate_constant_p): Check (CONST (PLUS (UNSPEC ...
7113 for validity.
7114
7115 2003-04-08 Nathan Sidwell <nathan@codesourcery.com>
7116
7117 * gcov-io.h (gcov_save_position): Remove __inline__ from
7118 declaration.
7119
7120 2003-04-07 Matt Kraai <kraai@alumni.cmu.edu>
7121
7122 * doc/install.texi: Use @command and @samp for single- and
7123 multi-word commands respectively.
7124 * doc/makefile.texi: Likewise.
7125 * doc/sourcebuild.texi: Likewise.
7126
7127 2003-04-07 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
7128 Richard Henderson <rth@redhat.com>
7129
7130 PR c/9516
7131 * expr.c (safe_from_p): Rearrange to avoid deep recursion in
7132 favour of looping and tail recursion for TREE_LIST and binops.
7133
7134 2003-04-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7135
7136 * loop.h (REGNO_FIRST_LUID, REGNO_LAST_LUID): Provide defaults
7137 for insns without luid.
7138
7139 2003-04-07 Glen Nakamura <glen@imodulo.com>
7140
7141 PR opt/8634
7142 * explow.c (maybe_set_unchanging): Don't flag non-static const
7143 aggregate type initializers with RTX_UNCHANGING_P.
7144
7145 2003-04-07 Richard Henderson <rth@redhat.com>
7146
7147 PR opt/8634
7148 * function.c (purge_addressof_1): Don't try arithmetics for
7149 unchanging memories.
7150
7151 2003-04-07 Janis Johnson <janis187@us.ibm.com>
7152
7153 * doc/sourcebuild.texi (Test Suites): Document testing support for
7154 gcov and profile-directed optimizations; describe gcc.misc-tests.
7155
7156 Mon Apr 7 22:19:59 CEST 2003 Jan Hubicka <jh@suse.cz>
7157
7158 PR target/10077
7159 * i386.md (movsi_1, movsi_nointerunit_1): Fix SSEMOV alternative.
7160
7161 2003-04-07 Eric Botcazou <ebotcazou@libertysurf.fr>
7162
7163 * doc/rtl.texi (Comparison operations): Update to
7164 record the allowed comparison modes.
7165
7166 2003-04-07 Aldy Hernandez <aldyh@redhat.com>
7167
7168 * config/rs6000/rs6000.c (rs6000_common_init_builtins): Rename all
7169 V2SI_type_node to opaque_V2SI_type_node. Rename all
7170 V2SF_type_node to opaque_V2SF_type_node.
7171 (rs6000_init_builtins): Define opaque_V2SI_type_node and
7172 opaque_V2SF_type_node.
7173 (is_ev64_opaque_type): The types opaque_V2SI_type_node and
7174 opaque_V2SF_type_node are opaque types.
7175
7176 2003-04-07 J"orn Rennecke <joern.rennecke@superh.com>
7177
7178 * gcse.c (replace_store_insn): Use single_set.
7179
7180 2003-04-07 Nathan Sidwell <nathan@codesourcery.com>
7181
7182 Change gcov file interface to single file at a time.
7183 * gcov-io.h: Replace IN_LIBGCC1 with IN_LIBGCOV. Use IN_GCOV.
7184 Convert to C89 prototypes.
7185 (gcov_file, gcov_length, gcov_position, gcov_buffer, gcov_alloc,
7186 gcov_error, gcov_modified): New static variables.
7187 (gcov_open, gcov_close, gcov_read_bytes, gcov_write_bytes): New
7188 functions.
7189 (gcov_write_unsigned, gcov_write_counter, gcov_write_string,
7190 gcov_read_unsigned, gcov_read_counter, gcov_read_string): Adjust.
7191 (gcov_read_summary, gcov_write_summary): Adjust.
7192 (gcov_save_position, gcov_reserve_length, gcov_write_length):
7193 Adjust.
7194 (gcov_resync, gcov_skip, gcov_skip_string): Adjust.
7195 (da_file_open, da_file_close, da_file_eof, da_file_error): Remove.
7196 (da_file_position, da_file_seek, da_file_write, da_file_read):
7197 Remove.
7198 (gcov_error, gcov_eof, gcov_ok, gcov_time): New functions.
7199 * gcov.c (gcov_type): Don't typedef here.
7200 (IN_GCOV): #define
7201 (read_graph_file, read_count_file): Adjust.
7202 * gcov-dump.c (gcov_type): Don't typedef here.
7203 (IN_GCOV): #define.
7204 (tag_function, tag_blocks, tag_arcs, tag_lines, tag_arc_counts):
7205 Remove FILE parameter, adjust.
7206 (struct tag_format): Adjust proc member.
7207 (dump_file): Adjust.
7208 * libgcov.c (IN_LIBGCOV): #define.
7209 (gcov_exit): Adjust.
7210 * loop-init.c: Don't #include gcov-io.h
7211 * profile.c (struct counts_entry): New structure to hold counter
7212 values.
7213 (struct section_reference, struct da_index_entry): Remove.
7214 (bbg_file, da_file): Remove.
7215 (htab_counts_index_hash, htab_counts_index_eq,
7216 htab_counts_index_del): Replace with ...
7217 (htab_counts_entry_hash, htab_counts_entry_eq,
7218 htab_counts_entry_del): ... these.
7219 (cleanup_counts_index, index_counts_file): Remove.
7220 (read_counts_file): New function.
7221 (get_exec_counts): Adjust.
7222 (compute_branch_probabilities): Don't free the exec counts here.
7223 (branch_prob): Adjust.
7224 (init_branch_prob): Adjust.
7225 (end_branch_prob): Adjust.
7226
7227 2003-04-07 Aldy Hernandez <aldyh@redhat.com>
7228
7229 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
7230 -mfloat-gprs.
7231
7232 * config/rs6000/rs6000.c: Delete rs6000_fprs.
7233 Declare rs6000_float_gprs.
7234 Declare rs6000_float_gprs_string.
7235 (rs6000_parse_float_gprs_option): New.
7236 (rs6000_override_options): Genericize rs6000_parse_* calls to use
7237 rs6000_parse_yes_no_option.
7238 Change check for cpu=8540, to use TARGET_E500.
7239 (rs6000_parse_isel_option): Delete.
7240 (rs6000_parse_spe_option): Delete.
7241 (rs6000_parse_vrsave_option): Delete.
7242
7243 * config/rs6000/rs6000.h: Rename rs6000_fprs to rs6000_float_gprs.
7244 Define rs6000_float_gprs_string.
7245 (TARGET_OPTIONS): Add rs6000_float_gprs option.
7246
7247 * config/rs6000/eabi.h (TARGET_FPRS): Change to use rs6000_float_gprs.
7248
7249 * config/rs6000/eabispe.h: Set rs6000_float_gprs.
7250
7251 Mon Apr 7 14:36:24 CEST 2003 Jan Hubicka <jh@suse.cz>
7252
7253 PR opt/10024
7254 * cfglayout.c (cfg_layout_redirect_edge):
7255 Redirect any branch edges unified with the fallthru one.
7256 * cfgrtl.c (force_nonfallthru_and_redirect): Do not special
7257 case fallthru edges when called via cfglayout.c
7258
7259 2003-04-07 J"orn Rennecke <joern.rennecke@superh.com>
7260
7261 * c-typeck.c (output_init_element): Check for type == error_mark_node.
7262
7263 2003-04-07 Kazu Hirata <kazu@cs.umass.edu>
7264
7265 * config/h8300/h8300.md (*zero_extendqisi2_h8300hs): Always
7266 split.
7267 (a splitter): Do zero-extension via HImode.
7268
7269 2003-04-07 James A. Morrison <ja2morri@uwaterloo.ca>
7270
7271 * doc/invoke.texi: Eliminate extra white-space caused by
7272 @gccoptlist{ on its own line.
7273 * doc/invoke.texi: Ensured there are two spaces between each option.
7274 * doc/invoke.texi: Re-wrapped option lines that were too wide.
7275 Added @gol to options that didn't have them.
7276
7277 2003-04-07 James A Morrison <ja2morri@student.math.uwaterloo.ca>
7278
7279 * doc/extend.texi (Darwin Pragmas): Fix spelling of Mac OS.
7280
7281 2003-04-06 Zack Weinberg <zack@codesourcery.com>
7282
7283 * tree.c (tree_size): For all 'c' and 'x' nodes, look directly
7284 at the sizes of the relevant structures, rather than relying
7285 on TREE_CODE_LENGTH. Call lang_hooks.tree_size to get the
7286 sizes of any such we don't know about. Use
7287 lang_hooks.identifier_size for IDENTIFIER_NODE.
7288
7289 (initializer_zerop): Use CONSTRUCTOR_ELTS.
7290 * tree.def: Update commentary. Make fourth element of
7291 the definition for all 'c' and 'x' nodes zero.
7292
7293 * langhooks.h: New hook, tree_size / LANG_HOOKS_TREE_SIZE.
7294 * langhooks-def.h: Update to match.
7295 * langhooks.c: New default, lhd_tree_size.
7296
7297 * c-common.def (SRCLOC): Kill.
7298 * c-pretty-print.c (pp_c_postfix_expression [case SRCLOC]):
7299 Remove entirely - was already #if-ed out.
7300
7301
7302 2003-04-06 Zack Weinberg <zack@codesourcery.com>
7303
7304 * mklibgcc.in: Use a here document to avoid running afoul of
7305 shells that generate control-A from "echo \1".
7306
7307 2003-04-06 Aldy Hernandez <aldyh@redhat.com>
7308
7309 * doc/invoke.texi (RS/6000 and PowerPC Options): Document -mspe
7310 option.
7311
7312 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Set
7313 rs6000_spe.
7314
7315 * config/rs6000/eabi.h (TARGET_E500): Define.
7316
7317 * config/rs6000/rs6000.h (TARGET_E500): Define.
7318 (TARGET_OPTIONS): Add spe= option.
7319 Declare rs6000_spe and rs6000_spe_string extern.
7320
7321 * config/rs6000/rs6000.c (branch_positive_comparison_operator):
7322 Change TARGET_SPE to TARGET_E500.
7323 (ccr_bit): Change TARGET_SPE to TARGET_E500. Check for
7324 !TARGET_FPRS.
7325 (print_operand): Same.
7326 (rs6000_generate_compare): Same.
7327 (output_cbranch): Same.
7328 (rs6000_spe): Declare.
7329 (rs6000_spe_string): Declare.
7330 (rs6000_override_options): Call rs6000_parse_spe_option.
7331 (rs6000_parse_spe_option): New.
7332
7333 2003-04-06 Steven Bosscher <steven@gcc.gnu.org>
7334
7335 * hashtable.c (gcc_obstack_init): Delete this function
7336 and everything related to it.
7337 * hashtable.h: Remove prototype.
7338 * bitmap.c (bitmap_element_allocate): Cleanup redundant
7339 defines. Cleanup some unnecessary whitespace.
7340 * defaults.h (obstack_chunk_alloc): Redefine with
7341 appropriate casts for libiberty obstacks.
7342 (obstack_chunk_free): Ditto.
7343 (OBSTACK_CHUNK_SIZE): Define, default to 0.
7344 (gcc_obstack_init): Define as a call to _obstack_begin.
7345 * tree.c (print_obstack_statistics): Delete this unused
7346 function.
7347 * tree.h (obstack): Don't forward-declare.
7348 (print_obstack_statistics): Delete prototype.
7349 (print_obstack_name): Ditto.
7350 (gcc_obstack_init): Ditto.
7351 * rtl.h (gcc_obstack_init): Ditto.
7352 * java/jv-scan.c (gcc_obstack_init): Delete this
7353 function, its prototype and related defines.
7354 * java/jvgenmain.c (gcc_obstack_init): Delete this
7355 function, and related defines.
7356 * java/parse-scan.y (obstack_chunk_alloc): Don't define.
7357 (obstack_chunk_free): Ditto
7358
7359 2003-04-06 Geoffrey Keating <geoffk@apple.com>
7360
7361 * dbxout.c (dbxout_handle_pch): Move prototype out from
7362 #if defined DBX_DEBUGGING_INFO.
7363
7364 2003-04-05 Nathan Sidwell <nathan@codesourcery.com>
7365
7366 * gcov.c (struct arc_info): Replace local_span with cycle.
7367 (struct block_info): Replace u.span with u.cycle. Add is_call_return.
7368 (solve_flow_graph): Set is_call_return.
7369 (add_line_counts): Adjust. In block mode, blocks attach to last line.
7370 (accumulate_line_counts): Find graph cycles, not spanning tree.
7371 (output_branch_count): Adjust.
7372 (output_lines): Adjust.
7373 * doc/gcov.texi: Update.
7374
7375 2003-04-06 Kazu Hirata <kazu@cs.umass.edu>
7376
7377 * config/h8300/h8300.md (*zero_extendqisi2_h8300hs): Change
7378 the second alternative to "#".
7379
7380 2003-04-05 Kazu Hirata <kazu@cs.umass.edu>
7381
7382 * config/h8300/h8300.c (single_one_operand): Use GET_MODE_MASK.
7383 (single_zero_operand): Likewise.
7384
7385 2003-04-05 Daniel Berlin <dberlin@dberlin.org>
7386
7387 * Makefile.in (df.o): Depend on alloc-pool.h, not obstack.h.
7388 * df.c: Include alloc-pool.h, not obstack.h.
7389 (df_ref_obstack): Remove.
7390 (df_ref_pool, df_link_pool): Add pools.
7391 (df_alloc): Init the new pools.
7392 (df_free): And free them.
7393 (df_link_create): Use the pools.
7394 (df_ref_create): Ditto.
7395
7396 2003-04-05 Kazu Hirata <kazu@cs.umass.edu>
7397
7398 * simplify-rtx.c: Fix formatting.
7399
7400 2003-04-05 Andrew Pinski <apinski@apple.com>
7401
7402 * config/rs6000/rs6000.c (addrs_ok_for_quad_peep): Allow addr2
7403 reg with reg1 == reg2 and offset1 = -8.
7404
7405 2003-04-05 David Edelsohn <edelsohn@gnu.org>
7406
7407 * config/rs6000/rs6000.c (rs6000_rtx_costs): Halve Power4
7408 multiply costs. Correct Power4 divide costs.
7409 * config/rs6000/power4.md: Restore multiply and FP latency.
7410
7411 2003-04-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7412
7413 * alias.c (find_base_term): Export.
7414 * rtl.h (find_base_term): Declare.
7415 * gcse.c (find_moveable_store): Test for flag_non_call_exceptions
7416 instead of flag_exceptions. Move test for parameter passing ...
7417 (store_killed_in_insn): ... here.
7418
7419 2003-04-05 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
7420
7421 PR bootstrap/10267
7422 * doc/install.texi (*-*-solaris2): /bin/ksh is not just recommended
7423 for configuring.
7424
7425 2003-04-04 Geoffrey Keating <geoffk@apple.com>
7426
7427 * dbxout.c (scope_labelno): Add GTY.
7428 (have_used_extensions): Add GTY.
7429 (source_label_number): Add GTY.
7430 (lastfile): Add GTY.
7431 (lastfile_is_base): New.
7432 (base_input_file): New.
7433 (dbxout_handle_pch): New.
7434 (dbx_debug_hooks): Add handle_pch.
7435 (xcoff_debug_hooks): Likewise.
7436 (dbxout_function_end): Remove scope_labelno.
7437 (dbxout_init): Set base_input_file.
7438 (dbxout_handle_pch): New.
7439 (dbxout_source_file): Honour lastfile_is_base.
7440 * dwarfout.c (dwarf_debug_hooks): Add dummy handle_pch.
7441 * sdbout.c (sdb_debug_hooks): Add dummy handle_pch.
7442 * vmsdbgout.c (vmsdbg_debug_hooks): Add dummy handle_pch.
7443 * dwarf2out.c (dwarf2_debug_hooks): Add dummy handle_pch.
7444 * debug.c (do_nothing_debug_hooks): Add dummy handle_pch.
7445 * debug.h (struct gcc_debug_hooks): Add handle_pch.
7446 * c-pch.c (pch_init): Don't call start_source_file, but do call
7447 handle_pch.
7448 (c_common_write_pch): Call handle_pch.
7449 (c_common_read_pch): Don't call start_source_file,
7450 or end_source_file.
7451
7452 Fri Apr 4 17:43:52 2003 Olivier Hainque <hainque@act-europe.fr>
7453
7454 * emit-rtl.c (get_mem_attrs): Adjust alignment tests determining
7455 use of default attributes to agree MEM_ALIGN macro.
7456
7457 Fri Apr 4 17:33:24 2003 Joel Brobecker <brobecker@gnat.com>
7458
7459 * dbxout.c (dbxout_type): When printing type index of range type
7460 whose bounds are printed in octal format, print type of parent type if
7461 it exists so enumerated type descriptions are not transformed
7462 into unsigned types.
7463
7464 2003-04-04 Kazu Hirata <kazu@cs.umass.edu>
7465
7466 * config/h8300/h8300-protos.h: Add a prototype for
7467 compute_a_shift_cc.
7468 * config/h8300/h8300.c (shift_one): Update the CC status.
7469 (shift_two): Likewise.
7470 (output_a_shift_cc): Set cc_inline and cc_special.
7471 (compute_a_shift_cc): New.
7472 * config/h8300/h8300.md (shift insns): Use compute_a_shift_cc.
7473
7474 2003-04-04 Richard Henderson <rth@redhat.com>
7475
7476 * cse.c (fold_rtx): Fix 03-30 change; do check insn non-null.
7477
7478 2003-04-04 Loren James Rittle <ljrittle@acm.org>
7479
7480 * fixinc/inclhack.def (bsd_stdio_attrs_conflict): New.
7481 * fixinc/fixincl.x: Rebuilt.
7482 * fixinc/tests/base/stdio.h: Regenerated.
7483
7484 2003-04-04 Nathan Sidwell <nathan@codesourcery.com>
7485
7486 * gcov.c (accumulate_line_counts): Fix span tree merge bug.
7487
7488 Fri Apr 4 15:58:52 2003 J"orn Rennecke <joern.rennecke@superh.com>
7489
7490 * sh.h (ACTUAL_NORMAL_MODE): New macro, broken out of
7491 (NORMAL_MODE).
7492 * sh.c (fpscr_set_from_mem): Use ACTUAL_NORMAL_MODE.
7493
7494 2003-04-04 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
7495
7496 * doc/contrib.texi (Contributors): Add entries for Wolfgang
7497 Bangerth, DJ Delorie, Christian Ehrhardt, Christopher Faylor,
7498 Nathanael Nerode, Diego Novillo, Hartmut Penner, Volker Reichelt,
7499 Danny Smith, and Ulrich Weigand.
7500 Update Kriang Lerdsuwanakij and fix a typo in Janis Johnson's
7501 entry.
7502
7503 2003-04-04 Nick Clifton <nickc@redhat.com>
7504
7505 * config/sparc/sol2-bi.h: Revert previous delta.
7506 * config/sparc/sol2-gas-bi.h (AS_SPARC64_FLAG): Prepend -TSO
7507
7508 2003-04-04 Nick Clifton <nickc@redhat.com>
7509
7510 * config/v850/v850.c (expand_prologue): Only use register save
7511 helper functions if long calls are not being used.
7512 Add a clobber of r11 id using long calls.
7513 (pattern_is_ok_for_prologue): Account for the extra clobber.
7514 (construct_save_jarl): Likewise.
7515 * config/v850/v850.md (prolog pattern): Do not use this pattern
7516 for v850e's.
7517
7518 2003-04-04 Andreas Schwab <schwab@suse.de>
7519
7520 * stor-layout.c (layout_decl): Avoid syntax error in last change
7521 when PCC_BITFIELD_TYPE_MATTERS is defined but not
7522 EMPTY_FIELD_BOUNDARY.
7523
7524 2003-04-03 Jason Merrill <jason@redhat.com>
7525
7526 PR c/10175
7527 * jump.c (never_reached_warning): Revert patch of 2002-11-02.
7528 Look backwards for a line note.
7529
7530 2003-04-03 Neil Booth <neil@daikokuya.co.uk>
7531
7532 * fix-header.c (read_scan_file): Defer switch processing.
7533
7534 2003-04-03 Matt Austern <austern@apple.com>
7535
7536 * cpppch.c (reset_ht): Remove.
7537 (cpp_read_state): Remove loop to reset hashtable identifiers.
7538 * ggc-common.c (gt_pch_save): Add call to gt_pch_fixup_stringpool
7539 after pch file is written.
7540 * ggc.h (gt_pch_fixup_stringpool): Declare.
7541 * stringpool.c (ht_copy_and_clear): Define. Callback. Copy
7542 hashnode's value to another hashtable, then clear the original.
7543 (saved_ident_hash): Define.
7544 (gt_pch_save_stringpool): Create saved_ident_hash, use it to
7545 store definitions in ident_hash, and clear ident_hash.
7546 (gt_pch_fixup_stringpool): Define. Restore definitions from
7547 saved_ident_hash to ident_hash, then destroy saved_ident_hash.
7548
7549 Thu Apr 3 22:27:40 CEST 2003 Jan Hubicka <jh@suse.cz>
7550
7551 * cfgrtl.c (update_bb_for_insn): Do not set block for barriers.
7552
7553 2003-04-03 Eric Botcazou <ebotcazou@libertysurf.fr>
7554
7555 PR optimization/10157
7556 * gcse.c (can_copy_p): Rename it to can_copy.
7557 (can_copy_init_p): Remove.
7558 (compute_can_copy): Use can_copy instead of can_copy_p.
7559 (can_copy_p): New exported function. Call compute_can_copy.
7560 (hash_scan_set): Use it.
7561 (gcse_main): Don't call compute_can_copy.
7562 (bypass_jumps): Don't call compute_can_copy.
7563 * rtl.h (can_copy_p): Declare.
7564 * loop.c (scan_loop): Don't move the source and add a reg-to-reg
7565 copy if the mode doesn't support copy operations.
7566
7567 2003-04-03 Jason Merrill <jason@redhat.com>
7568
7569 * Makefile.in (unstrap): Also remove stage_last.
7570
7571 * dwarf2out.c (lookup_filename): Don't check for "<internal>".
7572 (dwarf2out_source_line): Don't do anything if line==0.
7573
7574 * stor-layout.c (do_type_align): New fn, split out from...
7575 (layout_decl): ...here. Do all alignment calculations for
7576 FIELD_DECLs here.
7577 (update_alignment_for_field): Not here.
7578 (start_record_layout, debug_rli): Remove unpadded_align.
7579 * tree.h (struct record_layout_info_s): Remove unpadded_align.
7580 * c-decl.c (finish_enum): Don't set DECL_SIZE, DECL_ALIGN
7581 or DECL_MODE on the CONST_DECLs.
7582 (finish_struct): Don't mess with DECL_ALIGN.
7583
7584 Thu Apr 3 18:57:19 CEST 2003 Jan Hubicka <jh@suse.cz>
7585
7586 * i386.c (print_operand): Do not bypass output_addr_const at flag_pic.
7587
7588 Thu Apr 3 17:08:09 2003 J"orn Rennecke <joern.rennecke@superh.com>
7589
7590 * sh.c (sh_function_ok_for_sibcall): Return 0 if the current
7591 function is an interrupt handler.
7592
7593 * sh.c (sh_expand_epilogue): Avoid clash of temp register for
7594 restoring target registers with EH_RETURN_STACKADJ_RTX; use
7595 multiple registers in round-robin fashion.
7596
7597 2003-04-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7598
7599 * gengtype-lex.l (IWORD): Add CHAR_BITFIELD.
7600 * system.h (CHAR_BITFIELD): New.
7601
7602 2003-04-03 Kazu Hirata <kazu@cs.umass.edu>
7603
7604 * config/h8300/h8300.md (a peephole2): Generalize to accept GT
7605 and LE.
7606 (another peephole2): Likewise.
7607
7608 2003-04-03 Nick Clifton <nickc@redhat.com>
7609
7610 * config/sparc/sol2-bi.h (ASM_CPU64_DEFAULT_SPEC): Add -TSO.
7611 (DEF_ARCH64_SPEC): Likewise.
7612
7613 Thu Apr 3 09:53:40 CEST 2003 Jan Hubicka <jh@suse.cz>
7614
7615 * i386.c (constant_address_p): Use legitimate_constant_p.
7616 (legitimate_address_p): Do not use CONSTANT_ADDRESS_P.
7617
7618 2003-04-02 Kazu Hirata <kazu@cs.umass.edu>
7619
7620 * config/h8300/h8300-protos.h: Add a prototype for
7621 gtle_operator.
7622 * config/h8300/h8300.c (gtle_operator): New.
7623 * config/h8300/h8300.h (PREDICATE_CODES): Add an entry for
7624 gtle_operator.
7625 * config/h8300/h8300.md (a peephole2): Generalize to accept GT
7626 and LE.
7627
7628 2003-04-02 Richard Henderson <rth@redhat.com>
7629
7630 * libgcc-std.ver (_Unwind_GetCFA): New.
7631 * unwind-dw2.c (_Unwind_GetCFA): New.
7632 * unwind-libunwind.c (_Unwind_GetCFA): New.
7633 * unwind-sjlj.c (_Unwind_GetCFA): New.
7634 * unwind.h: Declare it.
7635
7636 Thu Apr 3 00:31:21 CEST 2003 Jan Hubicka <jh@suse.cz>
7637
7638 PR inline-asm/8088
7639 * i386.c (ix86_hard_regno_mode_ok): Return 0 for MMX/SSE registers
7640 when MMX/SSE is not available.
7641
7642 2003-04-02 Mike Stump <mrs@apple.com>
7643
7644 * doc/install.texi (Specific): Update pointers to apple.com.
7645
7646 Thu Apr 3 00:18:49 CEST 2003 Jan Hubicka <jh@suse.cz>
7647
7648 * i386.c (override_options): Disable red zone by default on i386.
7649 (compute_frame_layout, ix86_force_to_memory, ix86_free_from_memory):
7650 Do not test TARGET_64BIT together with TARGET_RED_ZONE
7651
7652 2003-04-02 Kazu Hirata <kazu@cs.umass.edu>
7653
7654 * config/h8300/h8300.md (a peephole2): Tighten the condition.
7655
7656 2003-04-02 Richard Henderson <rth@redhat.com>
7657
7658 * longlong.h (umul_ppmm) [alpha]: Use __builtin_alpha_umulh.
7659
7660 2003-04-02 Kazu Hirata <kazu@cs.umass.edu>
7661
7662 * config/h8300/h8300.md (a peephole2): New.
7663
7664 2003-04-02 Richard Henderson <rth@redhat.com>
7665
7666 * except.c (sjlj_find_directly_reachable_regions): Recognize when
7667 must-not-throw region has been deleted.
7668
7669 2003-04-02 Richard Henderson <rth@redhat.com>
7670
7671 * dwarf2out.c (output_call_frame_info): Ignore fde->nothrow as an
7672 optimization when flag_exceptions not enabled.
7673
7674 2003-04-02 Vladimir Makarov <vmakarov@redhat.com>
7675
7676 * config/rs6000/rs6000.c
7677 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Redefine the
7678 macros.
7679 (rs6000_issue_rate): Add case for 8540.
7680 (rs6000_use_sched_lookahead): New function.
7681
7682 * config/rs6000/8540.md: Rename SIU units into SU ones and MIU
7683 units into MU ones.
7684 (ppc8540_branch, ppc8540_cr_logical): Add one cycle in the
7685 reservation before retirement.
7686 (ppc8540_multiply, ppc8540_load, ppc8540_store,
7687 ppc8540_simple_float, ppc8540_vector_load, ppc8540_vector_store):
7688 Remove additional cycle in the reservation before retirement.
7689 (ppc8540_mfcr, ppc8540_mtcrf, ppc8540_mtjmpr): Add missed
7690 reservation of ppc8540_issue.
7691
7692 2003-04-02 Andreas Schwab <schwab@suse.de>
7693
7694 * real.c (decode_ieee_single): Fix decoding of SNaN bit.
7695
7696 2003-04-01 Richard Henderson <rth@redhat.com>
7697
7698 * except.c (convert_from_eh_region_ranges_1): Smash REG_EH_REGION
7699 notes for nothrow calls if flag_forced_unwind_exceptions.
7700 (build_post_landing_pads): Mind flag_forced_unwind_exceptions.
7701 (sjlj_find_directly_reachable_regions): Likewise.
7702 (reachable_handlers): Likewise.
7703 (can_throw_external): Likewise.
7704 (collect_one_action_chain): Record cleanups after catch-all and
7705 must-not-throw if flag_forced_unwind_exceptions.
7706 * flags.h (flag_forced_unwind_exceptions): Declare.
7707 * toplev.c (flag_forced_unwind_exceptions): New.
7708 (lang_independent_options): Add it.
7709 * doc/invoke.text: Add it.
7710
7711 2003-04-01 David Mosberger <davidm@hpl.hp.com>
7712
7713 * config/ia64/crti.asm: Clean up trailing whitespace.
7714 Remove trailing hashes (#) from identifiers.
7715
7716 * config/ia64/crtn.asm: Ditto.
7717
7718 * config/ia64/crtend.asm: Remove trailing hashes (#) from
7719 identifiers.
7720 (__do_global_ctors_aux): Align to 32-byte boundary. Add unwind
7721 directives. Drop explicit bundling---it just makes the code
7722 harder to read. Don't save/restore gp needlessly.
7723
7724 * config/ia64/crtbegin.asm: Remove trailing hashes (#) from
7725 identifiers (they're only needed if the identifier would clash
7726 with a register name otherwise).
7727 (__do_global_dtors_aux): Align to 32-byte boundary. Add unwind
7728 directives. Drop explicit bundling---it just makes the code
7729 harder to read.
7730 (__do_jv_register_classes): Ditto.
7731 (.fini_array): Remove "progbits" (newer
7732 assemblers don't like wrong section-types).
7733 (.init_array): Ditto.
7734
7735 2003-04-01 Roger Sayle <roger@eyesopen.com>
7736
7737 PR fortran/9974
7738 * gcse.c (reg_killed_on_edge): New function to test whether the
7739 given reg is overwritten by any instruction queued on an edge.
7740 (bypass_block): Ignore substitutions killed on incoming edges.
7741 Don't bypass outgoing edges that have queued instructions.
7742
7743 2003-04-01 Alexandre Oliva <aoliva@redhat.com>
7744
7745 * real.h (EXP_BITS): Make room for...
7746 (struct real_value): ... added canonical bit.
7747 (struct real_format): Added pnan.
7748 (mips_single_format, mips_double_format, mips_extended_format,
7749 mips_quad_format): New.
7750 * real.c: Copy p to pnan in all formats.
7751 (get_canonical_qnan, get_canonical_snan): Set canonical bit.
7752 (real_nan): Use pnan to compute significand's shift.
7753 (real_identical): Disregard significand in canonical
7754 NaNs.
7755 (real_hash): Likewise. Take signalling into account.
7756 (encode_ieee_single, encode_ieee_double, encode_ieee_quad):
7757 Disregard significand bits in canonical NaNs. Set all bits of
7758 canonical NaN if !qnan_msb_set.
7759 (encode_ibm_extended, decode_ibm_extended): Likewise. Use
7760 qnan_msb_set to tell the base double format.
7761 (ibm_extended_format): Use 53 as pnan.
7762 (mips_single_format, mips_double_format, mips_extended_format,
7763 mips_quad_format): Copied from the corresponding ieee/ibm
7764 formats, with qnan_msb_set false.
7765 * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Use mips_extended_format.
7766 * config/mips/linux64.h (MIPS_TFMODE_FORMAT): Use mips_quad_format.
7767 * config/mips/mips.c (override_options): Use mips_single_format
7768 and mips_double_format. Default TFmode to mips_quad_format.
7769 * config/mips/t-linux64 (tp-bit.c): Define QUIET_NAN_NEGATED.
7770 * config/mips/t-irix6: Likewise.
7771 * config/mips/t-mips (fp-bit.c, dp-bit.c): Likewise.
7772 * config/fp-bit.c (pack_d, unpack_d): Obey it.
7773
7774 2003-04-01 Geoffrey Keating <geoffk@apple.com>
7775
7776 * unwind-dw2-fde-darwin.c (DESTRUCTOR_MAY_BE_CALLED_LIVE): New.
7777 (live_image_destructor): Reset image to initial state.
7778 (examine_objects): Set DESTRUCTOR_MAY_BE_CALLED_LIVE.
7779
7780 2003-04-01 Eric Botcazou <ebotcazou@libertysurf.fr>
7781
7782 * config/sparc/sparc.c (input_operand): Accept bare
7783 CONSTANT_P_RTX operands.
7784
7785 2003-04-01 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7786
7787 * gcse.c (struct ls_expr): Added pattern_regs field.
7788 (ldst_entry): Initialize it.
7789 (extract_mentioned_regs, extract_mentioned_regs_helper): New.
7790 (store_ops_ok): Use regs precomputed by them.
7791 (find_loads, store_killed_in_insn, load_kills_store): Change return
7792 type to bool.
7793 (store_killed_before, store_killed_after): Take position of register
7794 set in account.
7795 (reg_set_info): Store position of the setter.
7796 (gcse_main): Enable store motion.
7797 (mems_conflict_for_gcse_p): Enable load motion of non-symbol mems.
7798 (pre_insert_copy_insn, update_ld_motion_stores, insert_store): Prevent rtl
7799 sharing.
7800 (simple_mem): Enable store motion of non-symbol mems.
7801 (regvec): Type changed.
7802 (LAST_AVAIL_CHECK_FAILURE): New.
7803 (compute_store_table_current_insn): New.
7804 (build_store_vectors): Computation of availability and anticipatability
7805 moved ...
7806 (compute_store_table, find_moveable_store): ... here.
7807 (delete_store): Remove senseless comment.
7808 (store_motion): Reorganize.
7809
7810 2003-04-01 Kevin Buettner <kevinb@redhat.com>
7811
7812 * config/mips/mips.c (override_options): Provide mappings for
7813 HI_REGNUM and LO_REGNUM.
7814 * config/mips/mips.h (MD_DBX_FIRST): Define.
7815
7816 2003-04-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
7817
7818 * combine.c (merge_outer_ops): Fix typo.
7819
7820 * varasm.c (make_decl_one_only): Revert 2003-03-09 patch.
7821
7822 2003-04-01 David Edelsohn <edelsohn@gnu.org>
7823
7824 * config/rs6000/{40x.md,603.md,6xx.md,7450.md,7xx.md,mpc.md,
7825 power4.md,rios1.md,rios2.md,rs64.md}: Change mult_compare to
7826 imul_compare. Add lmul_compare.
7827 * config/rs6000/power4.md: Bump some latencies. Model extra cycle
7828 in second pair of dispatch slots. Model stores more accurately.
7829 Tweak multiply model. Add bypasses for CR instructions dependent
7830 on complicated compares.
7831 * config/rs6000/rs6000.md (mulsi3): Name imul_compare patterns.
7832 (muldi3): Add lmul_compare patterns.
7833 * config/rs6000/rs6000.c (rs6000_variable_issue): Move FPLOAD_UX
7834 and FPSTORE_UX to split instructions and add COMPARE,
7835 DELAYED_COMPARE, IMUL_COMPARE, LMUL_COMPARE, IDIV, LDIV.
7836 (rs6000_adjust_cost): Add IMUL_COMPARE and LMUL_COMPARE.
7837 (rs6000_rtx_costs): Separate POWER4 multiply case.
7838
7839 2003-04-01 Ulrich Weigand <uweigand@de.ibm.com>
7840
7841 * config/s390/s390.c (s390_fixup_clobbered_return_reg):
7842 Do nothing if __builtin_return_address was not used.
7843
7844 Tue Apr 1 18:18:23 CEST 2003 Jan Hubicka <jh@suse.cz>
7845
7846 * i386.md (test patterns): Allow memory operand in operand1.
7847
7848 2003-02-31 Aldy Hernandez <aldyh@redhat.com>
7849
7850 * testsuite/gcc.c-torture/execute/simd-3.c: New.
7851
7852 * expr.c (expand_expr): Handle VECTOR_CST.
7853 (const_vector_from_tree): New.
7854
7855 * varasm.c (output_constant): Handle VECTOR_CST.
7856
7857 * c-typeck.c (digest_init): Build a vector constant from a
7858 VECTOR_TYPE.
7859
7860 * config/rs6000/rs6000.c: Remove prototype for
7861 easy_vector_constant.
7862 (easy_vector_constant): Add mode parameter. Rewrite to handle
7863 more easy constants.
7864 (rs6000_emit_move): Pass mode to easy_vector_constant.
7865 Call emit_easy_vector_insn for SPE V2SI vector constant moves.
7866 (emit_easy_vector_insn): New.
7867 (easy_vector_same): New.
7868 (EASY_VECTOR_15): New macro.
7869 (EASY_VECTOR_15_ADD_SELF): New macro.
7870 (bdesc_2arg): Rename to xorv2si3.
7871 (easy_vector_constant_add_self): New.
7872 (input_operand): Allow vector constants.
7873
7874 * config/rs6000/rs6000.h (PREDICATE_CODES): Add
7875 easy_vector_constant, easy_vector_constant_add_self.
7876 (EXTRA_CONSTRAINT): Add 'W'.
7877
7878 * config/rs6000/rs6000-protos.h: Add prototype for
7879 easy_vector_constant, emit_easy_vector_insn.
7880
7881 * config/rs6000/altivec.md (xorv8hi3): New.
7882 (xorv16qi3): New.
7883 Remove all _const0 patterns.
7884 (movv4si_internal): Rewrite to use code. Add vector constant to
7885 vector alternative. Add splitter.
7886 (movv8hi_internal): Same.
7887 (movv16qi_internal): Same.
7888 (movv4sf_internal): Same.
7889 Change the unspecs for vspltis* to use constants.
7890
7891 * config/rs6000/spe.md ("xorv4hi3"): New.
7892 ("spe_evxor"): Rename to xorv2si3.
7893 ("xorv1di3"): New.
7894 Remove all _const0 patterns.
7895 (movv2si_internal): Rewrite to use code. Add vector constant to
7896 alternatives. Add splitter.
7897 (movv4hi_internal): Add vector constant to alternatives.
7898 (movv1di_internal): Same.
7899 (movv2sf_internal): Same.
7900
7901 2003-03-31 Mark Mitchell <mark@codesourcery.com>
7902
7903 PR c/9936
7904 * c-decl.c (grokdeclarator): Clear SAVE_EXPR_CONTEXT for
7905 variably-sized arrays in parameters.
7906 (set_save_expr_context): New function.
7907 (c_expand_body): Use it, via walk_tree.
7908
7909 2003-03-31 Eric Christopher <echristo@redhat.com>
7910
7911 * combine.c (can_combine_p): Allow ZERO_EXTRACT and STRICT_LOW_PART.
7912 (combinable_i3pat): Remove call to expand_field_assignment and
7913 #if 0'd code.
7914
7915 2003-03-31 Mark Mitchell <mark@codesourcery.com>
7916
7917 PR c++/10278
7918 * c-common.c (finish_label_address_expr): Handle the
7919 error_mark_node.
7920
7921 2003-03-31 Richard Henderson <rth@redhat.com>
7922
7923 * real.c (real_identical): Reorg so as to not compare
7924 signalling for normals.
7925
7926 2003-03-31 Stephane Carrez <stcarrez@nerim.fr>
7927
7928 * config/m68hc11/m68hc11.c (hard_reg_operand): Check the mode.
7929
7930 2003-03-31 Stephane Carrez <stcarrez@nerim.fr>
7931
7932 * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Don't rely on REG_WAS_0
7933 notes as they are boggus.
7934 (m68hc11_gen_movqi): Likewise.
7935
7936 2003-03-31 Stephane Carrez <stcarrez@nerim.fr>
7937
7938 * config/m68hc11/m68hc11.c (expand_prologue): For an interrupt handler
7939 save the soft registers after the frame pointer so that gdb can unwind
7940 the frame more easily.
7941 (expand_epilogue): Likewise in opposite order; allow to use X register
7942 as scratch if the return value is by reference.
7943
7944 2003-03-31 Jason Merrill <jason@redhat.com>
7945
7946 PR java/10145
7947 * stor-layout.c (update_alignment_for_field): Respect
7948 DECL_USER_ALIGN for zero-length bitfields, too.
7949 * c-decl.c (finish_struct): Don't set DECL_ALIGN for normal
7950 fields.
7951
7952 2003-03-31 Matt Austern <austern@apple.com>
7953
7954 * cpppch.c (struct cpp_savedstate): Add defs and n_defs members.
7955 (count_defs): Keep track of number of defs as well as total size.
7956 (write_defs): Put every definition in cpp_savedstate's defs array.
7957 (comp_hashnode): Define. Comparison function for qsort.
7958 (cpp_write_pch_deps): Sort definitions before writing them.
7959 (struct ht_node_list): Define. Like cpp_savedstate but simpler.
7960 (collect_ht_nodes): Define.
7961 (cpp_valid_state): When verifying that undefined identifiers in
7962 the pch file are still undefined, read a sorted list of undefined
7963 identifiers, collect all defined identifiers into a sorted list,
7964 and walk through both lists to make sure there's no match.
7965
7966 2003-03-31 Kazu Hirata <kazu@cs.umass.edu>
7967
7968 * config/h8300/h8300.md (a peephole2): New.
7969
7970 2003-03-31 Michael Matz <matz@suse.de>
7971
7972 * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Change 1 into 0.
7973
7974 2003-03-31 Segher Boessenkool <segher@koffie.nl>
7975
7976 PR target/10177
7977 * config/rs6000/rs6000.h (HARD_REGNO_RENAME_OK): New.
7978 * config/rs6000/rs6000.c (compute_vrsave_mask): Don't mark
7979 all call-clobbered registers as used.
7980
7981 2003-03-31 Michael Matz <matz@suse.de>
7982
7983 * cppexp.c (cpp_classify_number): Accept '.' after "0x".
7984 * testsuite/gcc.dg/cpp/c99-hexfloat-3.c: New file.
7985
7986 2003-03-31 Nathan Sidwell <nathan@codesourcery.com>
7987
7988 * gcov.c: Add -a & -u options.
7989 (struct arc_info): Add local_span, is_call_non_return,
7990 is_nonlocal_return, is_unconditional flags, remove is_call flag.
7991 (struct block_info): Add flags, is_call_site, is_nonlocal_return
7992 members. Make encodings a union with span member.
7993 (struct function_info): Add blocks_executed, line, src, line_next
7994 members.
7995 (struct coverage_info): Make branches a union with blocks member.
7996 (struct source_info): Add functions member.
7997 (object_summary, program_count): New global variables.
7998 (flag_all_blocks, flag_unconditional): New flags.
7999 (find_source, output_branch_count): New functions.
8000 (print_usage): Adjust.
8001 (options): Adjust.
8002 (process_args): Adjust.
8003 (read_graph_file) <GCOV_TAG_FUNCTION>: Adjust.
8004 <GCOV_TAG_BLOCKS>: Read flags.
8005 <GCOV_TAG_LINES>: Adjust.
8006 (read_count_file): Process SUMMARY tags.
8007 (solve_flow_graph): Set is_unconditional and clear is_call_site
8008 appropriately.
8009 (add_branch_counts): Adjust. Don't count unconditional branches.
8010 (add_line_counts): Deal with all-blocks mode, accumulate block
8011 coverage.
8012 (accumulate_line_counts): Adjust, generate local spanning tree for
8013 all-blocks mode.
8014 (output_lines): Adjust.
8015 * profile.c (branch_prob): Alter GCOV_FUNCTION_TAG record.
8016 * doc/gcov.texi: Document.
8017
8018 2003-03-31 Kazu Hirata <kazu@cs.umass.edu>
8019
8020 * config/h8300/h8300.md: Organize peephole2's that transform
8021 (compare (reg:HI) (const_int)).
8022
8023 2003-03-31 Roger Sayle <roger@eyesopen.com>
8024
8025 * emit-rtl.c (dconstm2, dconsthalf): New real constants.
8026 (init_emit_once): Initialize dconstm2 and dconsthalf here.
8027 * real.h (dconstm2, dconsthalf): Add prototypes here.
8028 * real.c (real_sqrt): Use dconsthalf rather than local copy.
8029 * builtins.c (fold_builtin): When optimizing sqrt(exp(x)) as
8030 exp(x/2.0) remember to fold the division if possible.
8031 Fold sin(0.0) as 0.0, cos(0.0) as 1.0, pow(x,1.0) as x,
8032 pow(x,-1.0) as 1.0/x, pow(x,2.0) as x*x, pow(x,-2.0) as
8033 1.0/(x*x) and pow(x,0.5) as sqrt(x).
8034
8035 2003-03-31 Kazu Hirata <kazu@cs.umass.edu>
8036
8037 * config/h8300/h8300.md (a new peephole2): New.
8038
8039 2003-03-31 Richard Sandiford <rsandifo@redhat.com>
8040
8041 * gcse.c (simple_mem): Return false for floating-point accesses
8042 if flag_float_store is true.
8043
8044 2003-03-30 Roger Sayle <roger@eyesopen.com>
8045
8046 * gcse.c (gcse_constant_p): New function to identify constants
8047 suitable for constant propagation, including COMPARE with two
8048 integer constant arguments.
8049 (hash_scan_set): Use gcse_constant_p.
8050 (find_avail_set): Likewise.
8051 (cprop_insn): Likewise.
8052 (do_local_cprop): Likewise.
8053 (find_implicit_sets): Likewise.
8054 (find_bypass_set): Likewise.
8055
8056 2003-03-30 Matt Kraai <kraai@alumni.cmu.edu>
8057
8058 * except.h: Remove definition of varray_type.
8059
8060 2003-03-30 Richard Henderson <rth@redhat.com>
8061
8062 PR opt/10011, opt/10252:
8063 * toplev.c (rest_of_compilation): Run purge_builtin_constant_p
8064 before post-gcse cse pass.
8065
8066 2003-03-30 Roger Sayle <roger@eyesopen.com>
8067
8068 * dojump.c (do_jump): Copy SUBREGs into a pseudo for comparison.
8069
8070 2003-03-30 DJ Delorie <dj@redhat.com>
8071
8072 * profile.c (instrument_edges): Make sure any newly created
8073 jump insns have correct jump label info.
8074
8075 2003-03-30 Richard Henderson <rth@redhat.com>
8076
8077 * cfgbuild.c (make_edges): Use tablejump_p.
8078 * cfgcleanup.c (label_is_jump_target_p): Likewise.
8079 * cfglayout.c (cfg_layout_can_duplicate_bb_p): Likewise.
8080 * cfgrtl.c (flow_delete_block_noexpunge): Likewise.
8081 (try_redirect_by_replacing_jump): Likewise.
8082 (redirect_edge_and_branch): Likewise.
8083 * cse.c (fold_rtx): Likewise.
8084 * jump.c (delete_related_insns): Likewise.
8085 * rtlanal.c (get_jump_table_offset): Likewise.
8086 * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): Likewise.
8087
8088 2003-03-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
8089
8090 * Makefile.in (STRICT_WARN): Don't warn for ISO C constructs.
8091 (STRICT2_WARN): Likewise.
8092
8093 2003-03-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8094
8095 PR other/6955
8096 * collect2.c (collect_wait): Use WCOREDUMP and fix output message.
8097 * system.h (WCOREDUMP, WCOREFLG): Define if necessary.
8098
8099 2003-03-30 Richard Henderson <rth@redhat.com>
8100
8101 PR c/10083
8102 * config/alpha/alpha.md (umuldi3_highpart): Change to expander;
8103 don't zero_extend const inputs.
8104
8105 2003-03-30 Kazu Hirata <kazu@cs.umass.edu>
8106
8107 * reload1.c (reload_cse_move2add): Fix a comment typo.
8108
8109 2003-03-30 Kazu Hirata <kazu@cs.umass.edu>
8110
8111 * config/h8300/h8300.md (a peephole2): Remove useless code.
8112
8113 2003-03-29 Kazu Hirata <kazu@cs.umass.edu>
8114
8115 * config/h8300/h8300.md (*iorsi3_and_ashift): New.
8116 (*iorsi3_and_lshiftrt): Likewise.
8117 (*iorsi3_zero_extract): Likewise.
8118
8119 2003-03-29 Kazu Hirata <kazu@cs.umass.edu>
8120
8121 * config/h8300/h8300.md (*insv_si_8_8): New.
8122 (*insv_si_8_8_lshiftrt_8): Likewise.
8123 (a peephole2): Likewise.
8124
8125 2003-03-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
8126
8127 * doc/contrib.texi: Add Eric Botcazou and Roger Sayle.
8128 Uniformly use bugfix instead of bug fix.
8129
8130 2003-03-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
8131
8132 PR doc/895
8133 * ONEWS: Remove those items that already appear in the EGCS
8134 release notes on our web pages.
8135
8136 2003-03-29 Alan Modra <amodra@bigpond.net.au>
8137
8138 * config/rs6000/rs6000.h (FUNCTION_VALUE_REGNO_P): Respect
8139 TARGET_HARD_FLOAT. Reformat.
8140 (FUNCTION_ARG_REGNO_P): Likewise, and remove unneeded casts.
8141
8142 2003-03-28 Albert Chin-A-Young <china@thewrittenword.com>
8143
8144 * gcc/fixinc/inclhack.def: Update solaris_mutex_init_1 to
8145 work on Solaris 2.5.1.
8146
8147 2003-03-28 Kazu Hirata <kazu@cs.umass.edu>
8148
8149 * config/h8300/h8300.md (*addsi3_and_r_1): Put under plus:SI
8150 section of h8300.md
8151 (*addsi3_and_nor_r_1): Likewise.
8152
8153 2003-03-29 Ulrich Weigand <uweigand@de.ibm.com>
8154
8155 * config/s390/s390.c (s390_emit_prologoue): Make sure backchain is
8156 set up before any trapping memory access if flag_non_call_exceptions.
8157
8158 2003-03-29 Alan Modra <amodra@bigpond.net.au>
8159
8160 * reload1.c (reload_as_needed): Allow a USE in asm reloads.
8161
8162 * loop.c: (find_mem_in_note_1, find_mem_in_note): Comment.
8163
8164 2003-03-28 Nathanael Nerode <neroden@gcc.gnu.org>
8165
8166 * configure.in: Clarify comments.
8167 * configure: Regenerate.
8168
8169 2003-03-28 Ulrich Weigand <uweigand@de.ibm.com>
8170
8171 * config/s390/s390.md ("literal_pool_31"): Output pool anchor
8172 label even if pool empty when generating PIC.
8173 ("literal_pool_31", "literal_pool_64"): Coding style cleanup.
8174
8175 2003-03-28 Kazu Hirata <kazu@cs.umass.edu>,
8176 Dhananjay Deshpande <dhananjayd@kpit.com>
8177
8178 PR target/10205
8179 * config/h8300/h8300.c (h8300_initial_elimination_offset):
8180 Correct the offset computation when TARGET_NORMAL.
8181
8182 2003-03-28 Eric Botcazou <ebotcazou@libertysurf.fr>
8183
8184 PR target/10067
8185 * config/sparc/sparc.md (jump pattern): Correct order
8186 when issuing the annuling marker.
8187
8188 2003-03-28 Eric Botcazou <ebotcazou@libertysurf.fr>
8189
8190 PR c/8281
8191 * config/sparc/sparc.md (movdi_insn_sp32_v9): Remove 'f-f' alternative.
8192 (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
8193
8194 2003-03-28 Alan Modra <amodra@bigpond.net.au>
8195
8196 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): Remove unnecessary
8197 globalize_label.
8198 * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
8199 * config/i960/i960.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
8200 * config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
8201 * config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
8202 * config/mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
8203 * config/sparc/sparc.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
8204 * config/v850/v850.c (v850_output_aligned_bss): Likewise.
8205
8206 2003-03-28 Alan Modra <amodra@bigpond.net.au>
8207
8208 * loop.c: (find_mem_in_note_1, find_mem_in_note): New functions.
8209 (replace_loop_mems): Add "written" param. Remove invalid REG_EQUAL
8210 notes after hoisting.
8211 (load_mems): Adjust replace_loop_mems call.
8212
8213 2003-03-28 Eric Botcazou <ebotcazou@libertysurf.fr>
8214 Richard Henderson <rth@redhat.com>
8215
8216 PR target/10114 and PR target/10084
8217 * dwarf2out.c (mem_loc_descriptor): Handle LO_SUM.
8218
8219 2003-03-27 Richard Henderson <rth@redhat.com>
8220
8221 * config/alpha/alpha.md (adddi_er_high_l): Valid only after reload.
8222
8223 2003-03-27 Roger Sayle <roger@eyesopen.com>
8224
8225 * fold-const.c (fold_inf_compare): New function to simplify FP
8226 comparisons against +Infinity or -Infinity.
8227 (fold): Optimize floating point comparisons against Infs and NaNs.
8228
8229 2003-03-27 Janis Johnson <janis187@us.ibm.com>
8230
8231 * libgcov.c: Provide only dummy functions if libc is not available.
8232
8233 2003-03-27 Richard Henderson <rth@redhat.com>
8234
8235 * real.h (struct real_value): Add signalling.
8236 (EXP_BITS): Decrement.
8237 * real.c (get_canonical_qnan): Don't set MSB-1.
8238 (get_canonical_snan): Likewise. Set signalling.
8239 (real_identical): Compare signalling.
8240 (round_for_format): Remove force-one-bit on code.
8241 (real_nan): Likewise. Set signalling.
8242 (encode_ieee_single): Add force-one-bit code; honor signalling.
8243 (encode_ieee_double, encode_ieee_extended, encode_ieee_quad): Likewise.
8244 (decode_ieee_single): Set signalling.
8245 (decode_ieee_double, decode_ieee_extended, decode_ieee_quad): Likewise.
8246
8247 2003-03-27 Olivier Hainque <hainque@act-europe.fr>
8248
8249 PR ada/9953
8250 * ada/Makefile.in (gnatlib configuration for HPUX): Split
8251 the general section for HPUX into specific sections for
8252 HPUX 10 and HPUX 11. Fix the setting of TGT_LIB in the HPUX
8253 11 case.
8254
8255 2003-03-27 Glen Nakamura <glen@imodulo.com>
8256
8257 PR opt/10087
8258 * loop.c (loop_givs_reduce): Skip bivs with duplicate locations
8259 while incrementing giv.
8260 (record_biv): Check for duplicate biv locations and
8261 set (struct induction *) v->same if found.
8262
8263 2003-03-27 David Mosberger <davidm@hpl.hp.com>
8264
8265 * unwind-libunwind.c (uw_frame_state_for): Adjust for libunwind
8266 v0.9 API change: replace read of UNW_REG_HANDLER with
8267 unw_get_proc_info().
8268 (_Unwind_GetLanguageSpecificData): Replace read of UNW_REG_LSDA
8269 with unw_get_proc_info().
8270 (_Unwind_GetRegionStart): Replace UNW_REG_PROC_START with
8271 unw_get_proc_info().
8272
8273 2003-03-27 Vladimir Makarov <vmakarov@redhat.com>
8274
8275 * config/rs6000/8540.md: Use presence_set instead of absence_set.
8276
8277 2003-03-26 Richard Henderson <rth@redhat.com>
8278
8279 * c-decl.c (finish_function): Always defer if DECL_DECLARED_INLINE_P.
8280
8281 2003-03-26 Roger Sayle <roger@eyesopen.com>
8282
8283 PR bootstrap/10051, PR bootstrap/10169.
8284 * mips-tfile.c (init_file): Don't provide a static initializer.
8285 (initialize_init_file): Initialize the contents of init_file.
8286 (add_file): Call initialize_init_file if not already initialized.
8287
8288 2003-03-26 Ulrich Weigand <uweigand@de.ibm.com>
8289
8290 * config/s390/s390.c (s390_optimize_prolog): Do not save/restore
8291 registers used for global asm variables.
8292 (s390_frame_info, s390_arg_frame_offset): Likewise.
8293 (s390_emit_prologue, s390_emit_epilogue): Likewise.
8294
8295 2003-03-26 Vladimir Makarov <vmakarov@redhat.com>
8296
8297 * config/rs6000/8540.md: New file.
8298
8299 * config/rs6000/{40x.md, 603.md, 6xx.md, 7450.md, 7xx.md, mpc.md,
8300 power4.md, rios1.md, rios2.md, rs64.md}: Add mult_compare to
8301 reservations for imul.
8302
8303 * config/rs6000/rs6000.md: Include 8540.md. Change
8304 delayed_compare onto mult_compare for insns generating
8305 multiplication.
8306 (mult_compare, fpsimple, brinc, vecdiv, veccmpsimple, vecfdiv):
8307 New type attribute values.
8308
8309 * config/rs6000/spe.md (*negsf2_gp, *abssf2_gpr): Use type
8310 fpsimple instead of fp.
8311 (*divsf3_gpr): Use type vecfdiv instead of fp.
8312 (spe_evfsabs, spe_evfsnabs, spe_evfsneg): Use type vecsimple
8313 instead of vecfloat.
8314 (spe_evfsdive): Use type vecfdiv instead of vecfloat.
8315 (spe_brinc): Use type brinc instead of veccomplex.
8316 (spe_evaddw, spe_evaddiw): Use type vecsimple instead of
8317 veccomplex.
8318 (spe_evdivws, spe_evdivwu): Use type vecdiv instead of veccomplex.
8319 (*movv2si_internal, *movv1di_internal, *movv4hi_internal,
8320 *movv2sf_internal): Define type attribute values for all
8321 alternatives.
8322 (cmpsfeq_gpr, cmpsfgt_gpr, cmpsflt_gpr): Use type veccmp instead
8323 of fpcompare.
8324 (tstsfeq_gpr, tstsfgt_gpr, tstsflt_gpr): Use type veccmpsimple
8325 instead of fpcompare.
8326
8327 2003-03-26 David Edelsohn <edelsohn@gnu.org>
8328
8329 * config/rs6000/power4.md: Allow delay between dispatch and
8330 function units for simple instructions. Correct store units.
8331 Allow branch to occupy as many dispatch slots as necessary.
8332
8333 2003-03-26 Jakub Jelinek <jakub@redhat.com>
8334
8335 * config/ia64/ia64.c (ia64_expand_op_and_fetch): Fix comment.
8336 (ia64_expand_compare_and_swap): Use always DImode ar.ccv,
8337 zero extend old to it.
8338 * config/ia64/ia64.md (cmpxchg_acq_si): Remove mode from ccv
8339 operand.
8340
8341 2003-03-26 Eric Botcazou <ebotcazou@libertysurf.fr>
8342
8343 PR target/7784
8344 * reload.c (find_reloads_address): Handle
8345 (PLUS (PLUS (REG) (REG)) (CONST_INT)) form for
8346 all base registers.
8347
8348 2003-03-25 Marcelo Abreu <mmabreu@inf.ufrgs.br>
8349
8350 PR other/10203
8351 * version.c: Reference the GCC web site in the URL.
8352
8353 2003-03-26 Alan Modra <amodra@bigpond.net.au>
8354
8355 * c-incpath.c (add_standard_paths): Add both "translated" and
8356 non-translated header paths.
8357
8358 2003-03-25 Loren James Rittle <ljrittle@acm.org>
8359
8360 * doc/install.texi (*-*-freebsd*): Update with known status.
8361
8362 2003-03-21 Jason Merrill <jason@redhat.com>
8363
8364 PR optimization/10171
8365 * unroll.c (unroll_loop): Don't delete the jump at the end unless
8366 we also delete a jump at the beginning.
8367
8368 2003-03-25 Stephane Carrez <stcarrez@nerim.fr>
8369
8370 * doc/contrib.texi (Contributors): Mention self as 68HC11/68HC12
8371 contributor.
8372
8373 Tue Mar 25 20:35:51 CET 2003 Jan Hubicka <jh@suse.cz>
8374
8375 * i386.c (ix86_rtx_costs): For -fpic and x86-64 local symbolic
8376 constants are not expensive.
8377
8378 Mon Mar 24 20:03:03 CET 2003 Jan Hubicka <jh@suse.cz>
8379
8380 PR opt/10056
8381 * cfglayout.c (fixup_reorder_chain): Fix dealing with the conditional
8382 jump jumping to the next instruction.
8383 * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
8384
8385 2003-03-25 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
8386
8387 * doc/passes.texi (Passes): Properly document that we do not
8388 perform jump2 any longer; remove command-line option -dJ.
8389
8390 2003-03-25 Eric Botcazou <ebotcazou@libertysurf.fr>
8391
8392 PR optimization/8746
8393 * config/i386/i386.md (and promoting splitters): Disable HImode to
8394 SImode promoting when the sign bit matters and is not preserved, or
8395 when TARGET_FAST_PREFIX is true. Disable promoting when optimizing
8396 for size.
8397
8398 2003-03-24 Kazu Hirata <kazu@cs.umass.edu>
8399
8400 * config/h8300/h8300.md (a peephole2): Extend to support loads
8401 in QImode and HImode.
8402
8403 2003-03-24 Stephane Carrez <stcarrez@nerim.fr>
8404
8405 * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Add _call_far and
8406 _return_far
8407 (MULTILIB_OPTIONS): Don't multilib on -mlong-calls.
8408 (MULTILIB_EXCEPTIONS): Likewise.
8409 * config/m68hc11/m68hc11.md ("call"): Support far calls for 68HC11
8410 by calling some board support routine.
8411 ("call_value"): Likewise.
8412 ("*return_void"): Likewise for return.
8413 ("*return_16bit"): Likewise.
8414 ("*return_32bit"): Likewise.
8415 * config/m68hc11/m68hc11.h (ASM_DECLARE_FUNCTION_NAME): Generate .far
8416 for 68HC11 too.
8417 (DWARF2_ADDR_SIZE): Use 4 so that addresses can
8418 * config/m68hc11/m68hc11.c (m68hc11_override_options): Accept
8419 -mlong-calls for 68HC11.
8420 * config/m68hc11/larith.asm (declare_near): New macro.
8421 (__premain, ___negsi2, ___one_cmplsi2, ___ashlsi3): Use it.
8422 (___ashrsi3, ___lshrsi3, ___lshrhi3, ___lshlhi3): Likewise.
8423 (___rotrhi3, ___rotlhi3, ___ashrhi3, ___ashrqi3): Likewise.
8424 (___lshlqi3, __divmodhi4, ___mulqi3, ___mulhi3): Likewise.
8425 (__mulhi32): Likewise.
8426 (ret): Update macro for 68HC11.
8427 (__far_trampoline): Implement for 68HC11.
8428 (__call_a16, __call_a32, __return_void, __return_16): New support
8429 routines for 68HC11 memory bank switching calling support.
8430 (__return_32): Likewise.
8431
8432 2003-03-24 Neil Booth <neil@daikokuya.co.uk>
8433
8434 * toplev.c (independent_decode_option): Don't skip a 'Y' prefix.
8435
8436 2003-03-24 Janis Johnson <janis187@us.ibm.com>
8437
8438 * doc/install.texi (Testing): Mention test result links from build
8439 status pages.
8440
8441 2003-03-24 Mark Mitchell <mark@codesourcery.com>
8442
8443 * function.c (put_var_into_stack): Change bool parameter to int.
8444 (gen_mem_addressof): Likewise.
8445 * rtl.h (gen_mem_addressof): Likewise.
8446 * tree.h (put_var_into_stack): Likewise.
8447 * config/alpha/alpha.c (alpha_gp_save_rtx): Adjust call to
8448 gen_mem_addressof or put_var_into_stack.
8449 * config/c4x/c4x.c (c4x_expand_builtin): Likewise.
8450 * config/ia64/ia64.c (spill_tfmode_operand): Likewise.
8451
8452 2003-03-24 Kazu Hirata <kazu@cs.umass.edu>
8453
8454 * config/h8300/h8300.md (a peephole2): New.
8455
8456 2003-03-24 Jakub Jelinek <jakub@redhat.com>
8457
8458 * dojump.c (do_jump): Handle UNSAVE_EXPR specially.
8459
8460 2003-03-24 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
8461
8462 * doc/contrib.texi (Contributors): Update Janis Johnson.
8463
8464 2003-03-23 Eric Botcazou <ebotcazou@libertysurf.fr>
8465
8466 PR target/10072
8467 * combine.c (simplify_if_then_else): Check that the mode
8468 has MODE_INT class before applying the (OP Z (mult COND C2))
8469 transformation.
8470
8471 2003-03-23 Eric Botcazou <ebotcazou@libertysurf.fr>
8472
8473 PR optimization/9414
8474 * config/sparc/sparc.md (widening peepholes): Use
8475 widen_memory_access instead of change_address.
8476
8477 2003-03-23 Mark Mitchell <mark@codesourcery.com>
8478
8479 PR c++/7086
8480 * c-typeck.c (c_mark_addressable): Adjust calls to
8481 put_var_into_stack.
8482 * expr.c (expand_expr): Likewise.
8483 * function.c (put_var_into_stack): Add rescan parameter. Do not
8484 call fixup_var_refs when rescan is false.
8485 (gen_mem_addressof): Likewise.
8486 (assign_parms): Adjust calls to put_var_into_stack.
8487 (setjmp_protect): Likewise.
8488 (setjmp_protect_args): Likewise.
8489 * rtl.h (gen_mem_addressof): Change prototype.
8490 * stmt.c (expand_decl): Adjust calls to put_var_into_stack.
8491 * tree.h (put_var_into_stack): Change prototype.
8492
8493 2003-03-23 Arpad Beszedes <beszedes@cc.u-szeged.hu>
8494
8495 PR middle-end/9967
8496 * builtins.c (expand_builtin_fputs): When optimizing for size,
8497 don't transform fputs into fwrite.
8498
8499 2003-03-23 Glen Nakamura <glen@imodulo.com>
8500
8501 PR c/8224
8502 * fold-const.c (extract_muldiv_1): Don't pass through type conversions
8503 when signedness changes for division or modulus.
8504
8505 2003-03-24 Alan Modra <amodra@bigpond.net.au>
8506
8507 * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Remove unnecessary
8508 globalize_label.
8509
8510 2003-03-23 Roger Sayle <roger@eyesopen.com>
8511
8512 PR c/10178
8513 * stmt.c (expand_end_case_type): Check for overflow in range when
8514 determining whether to use a bit-test implementation.
8515
8516 2003-03-23 Richard Henderson <rth@redhat.com>
8517
8518 * cfgcleanup.c (try_optimize_cfg): Allow merging of tablejumps
8519 before flow2.
8520 * cfgrtl.c (try_redirect_by_replacing_jump): Similarly.
8521
8522 2003-03-23 Richard Henderson <rth@redhat.com>
8523
8524 PR opt/10116
8525 * ifcvt.c (find_if_block): Disallow tablejump insns outgoing
8526 from then_bb or else_bb after flow2.
8527
8528 2003-03-23 Zack Weinberg <zack@codesourcery.com>
8529
8530 * configure.in: Check whether it is necessary to link against
8531 libm to use ldexp.
8532 * configure: Regenerate.
8533 * Makefile.in: Add LDEXP_LIB substitution variable.
8534
8535 2003-03-23 Kazu Hirata <kazu@cs.umass.edu>
8536
8537 * config/h8300/h8300.md: Fix comment typos.
8538
8539 2003-03-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8540
8541 * pa.c (output_cbranch): Fix typo in comment.
8542
8543 2003-03-22 Richard Henderson <rth@redhat.com>
8544
8545 * cfgcleanup.c (insns_match_p): Do not do EQUIV substitution
8546 after reload.
8547
8548 2003-03-22 DJ Delorie <dj at redhat dot com>,
8549 Bruce Korb <bkorb at gnu dot org>
8550
8551 * fixinc/inclhack.def (solaris_mutex_init_1): New; Fix
8552 buggy Solaris 2.6 mutex/cond initializers.
8553 (solaris_mutex_init): Rename to solaris_mutex_init_2.
8554 * fixinc/fixincl.x: Regenerate.
8555 * fixinc/tests/base/pthread.h: Update.
8556 * fixinc/fixincl.c(initialize): be explicit about the default case
8557 and indicate verbose level when being very, very verbose.
8558 * fixinc/check.tpl(VERBOSE): provide a means for passing the value in
8559
8560 2003-03-22 Andreas Jaeger <aj@suse.de>
8561
8562 * config/i386/i386.c (ix86_init_machine_status): Return value.
8563
8564 2003-03-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8565
8566 * pa.c (output_cbranch, output_bb, output_bvb): Output nop for
8567 conditional branch to the following instruction. Use next_real_insn
8568 instead of next_active_insn.
8569 (output_dbra, output_movb, jump_in_call_delay): Use next_real_insn
8570 instead of next_active_insn.
8571
8572 2003-03-22 Ulrich Weigand <uweigand@de.ibm.com>
8573
8574 * config/s390/s390.md ("movti", "*movdi_31", "*movdf_31"): Use 'o'
8575 instead of 'm' constraint in forced-split alternatives.
8576 ("*adddi3_31", "*subdi3_31"): Likewise. Also, pass 0 instead of 1 as
8577 VALIDATE_ADDRESS parameter to operand_subword.
8578
8579 2003-03-22 Kazu Hirata <kazu@cs.umass.edu>
8580
8581 * config/h8300/h8300.c (notice_update_cc): Correctly handle
8582 the case where the set destination is STRICT_LOW_PART.
8583
8584 2003-03-22 Svein E. Seldal <Svein.Seldal@solidas.com>
8585
8586 * config/c4x/t-c4x (INSTALL_LIBGCC): Make gcc recognize a c33 as a
8587 c30 instead of a c40 processor.
8588
8589 2003-03-22 Alan Modra <amodra@bigpond.net.au>
8590
8591 * combine.c (simplify_comparison <AND>): Use gen_int_mode. Tidy.
8592
8593 2003-03-21 Zack Weinberg <zack@codesourcery.com>
8594
8595 * c-common.c: Include intl.h.
8596 (shadow_warning): Rewrite to allow better diagnostic translations.
8597 * c-common.h: Update prototype of shadow_warning. Declare sw_kind enum.
8598 * c-decl.c (warn_if_shadowing): Update calls to shadow_warning;
8599 use it throughout.
8600 * Makefile.in (c-common.o): Add intl.h.
8601
8602 2003-03-21 Nathanael Nerode <neroden@gcc.gnu.org>
8603
8604 * config.gcc: Remove 'float_format'.
8605
8606 * fixproto: Define NULL and size_t in generated stdlib.h and
8607 unistd.h. Kill unused required_stdlib_h, required_unistd_h.
8608 Rearrange file generation loop for readability. Generate time.h,
8609 string.h if missing.
8610 * tsystem.h: Include <string.h>, <time.h> unconditionally.
8611 * config.gcc: Blow away POSIX defines.
8612
8613 2003-03-22 Stephane Carrez <stcarrez@nerim.fr>
8614
8615 * config/m68hc11/m68hc11.md ("call_value"): Fix trap check.
8616
8617 2003-03-22 Stephane Carrez <stcarrez@nerim.fr>
8618
8619 * config/m68hc11/m68hc11.h (ASM_DECLARE_FUNCTION_NAME): Fix typo in
8620 writing .interrupt command.
8621 * config/m68hc11/m68hc11.md ("call"): Look at the symbol to see
8622 if it's a far or near function.
8623 ("call_value"): Likewise.
8624 * config/m68hc11/m68hc11.c (m68hc11_attribute_table): Add far and
8625 near attributes.
8626 (m68hc11_handle_fntype_attribute): Accept attributes on methods.
8627 (m68hc11_override_options): Ignore -mlong-calls for 68HC11.
8628 (m68hc11_initial_elimination_offset): Set current_function_far
8629 according to attributes.
8630 (expand_prologue): Likewise.
8631 (trap_handler_symbol): New global to keep track of trap handlers.
8632 (m68hc11_encode_section_info): Mark symbol as far if needed; set
8633 trap symbol.
8634 (m68hc11_is_far_symbol): New function.
8635 (m68hc11_is_trap_symbol): New function.
8636 * config/m68hc11/m68hc11-protos.h (m68hc11_is_far_symbol): Declare.
8637 (m68hc11_is_trap_symbol): Declare.
8638
8639 2003-03-21 Jan Hubicka <jh@suse.cz>
8640
8641 * i386.c (ix86_compute_frame_layout): Recompute fast prologues
8642 only when amount of saved regs changed.
8643 (ix86_init_machine_status): Initialize use_fast_prologue_epilgoue_nregs.
8644 * i386.h (machine_function): New fields use_fast_prologue_epilgoue_nregs.
8645
8646 2003-03-21 Jan Hubicka <jh@suse.cz>
8647
8648 PR inline-asm/7916
8649 * function.c (instantiate_virtual_regs_lossage): New function.
8650 (instantiate_virtual_regs_1): Use it.
8651 (instantiate_virtual_regs): Do not continue in substition when insn has
8652 been deleted.
8653
8654 2003-03-21 Kazu Hirata <kazu@cs.umass.edu>
8655
8656 * combine.c (make_field_assignment): Fix a warning.
8657
8658 2003-03-21 Kazu Hirata <kazu@cs.umass.edu>
8659
8660 * config/h8300/h8300.md (*insv_si_1_n_lshiftrt_16): New.
8661
8662 2003-03-21 Dale Johannesen <dalej@apple.com>
8663
8664 * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Increase
8665 priority for R2 on Darwin.
8666 (HARD_REGNO_MODE_OK): Don't accept R31 for DFmode.
8667
8668 2003-03-21 Kazu Hirata <kazu@cs.umass.edu>
8669
8670 * combine.c (make_field_assignment): Remove unnecessary AND
8671 when storing into zero_extract.
8672
8673 2003-03-21 Zack Weinberg <zack@codesourcery.com>
8674
8675 * aclocal.m4 (gcc_AC_EXAMINE_OBJECT, gcc_AC_C_FLOAT_FORMAT): Delete.
8676 * configure.in: Don't call gcc_AC_C_FLOAT_FORMAT.
8677 * defaults.h: Remove reference to HOST_FLOAT_WORDS_BIG_ENDIAN
8678 in comment.
8679
8680 2003-03-21 DJ Delorie <dj@redhat.com>
8681
8682 * optabs.c (init_integral_libfuncs): Make sure we init at least up
8683 to "long long" size words.
8684
8685 2003-03-21 Ulrich Weigand <uweigand@de.ibm.com>
8686
8687 * config/s390/s390.h: Do not include fixdfdi.h on s390x.
8688 (TARGET_64BIT): Define as compile-time constant when IN_LIBGCC2.
8689 (MIN_UNITS_PER_WORD): Do not define when IN_LIBGCC2.
8690
8691 2003-03-21 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
8692
8693 PR doc-bug/9813
8694 * doc/extend.texi: Move misplaced paragraph about underscores in
8695 variables in macros.
8696
8697 2003-03-21 Eric Botcazou <ebotcazou@libertysurf.fr>
8698 Richard Henderson <rth@redhat.com>
8699
8700 PR optimization/8366
8701 * config/sparc/sparc.h: (SYMBOLIC_CONST): New macro.
8702 (GO_IF_LEGITIMATE_ADDRESS): Use it. Reject the form
8703 PIC+SYMBOLIC_CONST in other modes than Pmode.
8704 (GO_IF_MODE_DEPENDENT_ADDRESS): Use it. Mark
8705 the form PIC+SYMBOLIC_CONST as mode dependent.
8706
8707 2003-03-21 DJ Delorie <dj@redhat.com>
8708
8709 * config/stormy16/stormy16.c (xstormy16_expand_arith): Make
8710 sure we always emit at least one insn.
8711
8712 2003-03-21 Christopher Faylor <cgf@redhat.com>
8713
8714 * config.gcc (i[34567]86-*-cygwin*): Use new common makefile
8715 stub t-cygming. Use common target header cygming.h. Add extra
8716 c_target_obj and cxx_target_obj file. Default cygwin to posix
8717 threading. Enforce i386 as float format.
8718 (i[34567]86-*-mingw*): Use new common makefile stub t-cygming.
8719 Remove cygwin.h as target header. Use common target header
8720 cygming.h Enforce i386 as float format. Correct typo.
8721 * config/i386/cygming.h: New file, containing definitions
8722 common to mingw32 and cygwin.
8723 * config/i386/cygwin.h: Remove definitions common to cygwin and
8724 mingw. Simplify special spec logic. Define "wrappers" around
8725 certain include path defines to accommodate -mno-cygwin.
8726 Remove some #if 0'ed code.
8727 (STANDARD_INCLUDE_DIR) Always define when not cross-compiling.
8728 (LINK_SPEC): Don't use cyg search prefix when -mno-cygwin.
8729 (GCC_DRIVER_HOST_INITIALIZATION): Define as call to mingw_scan.
8730 * config/i386/mingw32.h: Remove definitions common to cygwin and
8731 mingw.
8732 (EXTRA_OS_CPP_BUILTINS): Adjust.
8733 (TARGET_VERSION): Define.
8734 * config/i386/crtdll.h (EXTRA_OS_CPP_BUILTINS): Override
8735 mingw32.h definitions.
8736 (LIBGCC_SPEC): Add libmingwex.a as in mingw32.h.
8737 * config/i386/t-cygwin (EXTRA_GCC_OBJS): Define as cygwin1.o.
8738 Add compilation rules for cygwin1.o cygwin2.o.
8739 * config/i386/cygwin1.c: New file.
8740 * config/i386/cygwin2.c: New file.
8741 * config/i386/t-cygming: New makefile stub.
8742
8743 2003-03-20 Richard Henderson <rth@redhat.com>
8744
8745 * fold-const.c (extract_muldiv_1): Revert changing order of
8746 operands in case MULT_EXPR of 2003-02-16 patch.
8747
8748 2003-03-20 Daniel Berlin <dberlin@dberlin.org>
8749 Merge changes from new-regalloc-branch
8750
8751 From Michael Matz <matz@suse.de>
8752 * df.c (df_ref_record_1): Move init of loc to safe point.
8753 Only recurse on interesting things in parallels.
8754 Handle CLASS_CANNOT_CHANGE_MODE smarter.
8755 (df_uses_record): Ditto.
8756
8757 * df.h (DF_REF_MEM_OK): New enum member, used to mark ref's which
8758 it's already okay to use memory operands in (IE doesn't require
8759 adding another insn or anything).
8760
8761 2003-03-20 Richard Henderson <rth@redhat.com>
8762
8763 PR middle-end/6348
8764 * explow.c (allocate_dynamic_stack_space): Handle STACK_SIZE_MODE
8765 different from word_mode.
8766
8767 2003-03-20 Kazu Hirata <kazu@cs.umass.edu>
8768
8769 * config/h8300/h8300.md (*insv_si_1_n_lshiftrt): Restrict the
8770 source operand to those that can be extracted with bld.
8771
8772 2003-03-20 Richard Earnshaw <rearnsha@arm.com>
8773
8774 PR 10066
8775 * arm.md (UNSPEC_PIC_BASE): New constant.
8776 (pic_add_dot_plus_four): Wrap with unspec.
8777 (pic_add_dot_plus_eight): Likewise.
8778
8779 2003-03-20 Kazu Hirata <kazu@cs.umass.edu>
8780
8781 * config/h8300/h8300.md (*insv_si_1_n): New.
8782 (*insv_si_1_n_lshiftrt): Likewise.
8783
8784 2003-03-20 Roger Sayle <roger@eyesopen.com>
8785
8786 * fold-const.c (fold_mathfn_compare): New function to simplify
8787 comparisons against built-in math functions. Fold comparisons
8788 of sqrt against constants.
8789 (fold): Call fold_mathfn_compare when appropriate.
8790
8791 2003-03-20 Richard Earnshaw <rearnsha@arm.com>
8792
8793 * ifcvt.c (find_if_case_1): If we add a new bb, update the dominance
8794 information.
8795
8796 2003-03-20 Per Bothner <pbothner@apple.com>
8797
8798 Various cleanups to help compile server.
8799
8800 * cppinit.c (cpp_create_reader): Take extra hash_table* argument,
8801 and pass that to _cpp_init_hashtable.
8802 (cpp_read_main_file): Drop hash_table* argument; don't call
8803 _cpp_init_hashtable.
8804 * cpplib.h: Update declarations to match.
8805 * c-opts.c (c_common_init_options): Pass ident_hash to
8806 cpp_create_reader.
8807 (c_common_post_options): Don't pass ident_hash to cpp_read_main_file.
8808 * fix-header.c (read_scan_file): Likewise pass NULL table to
8809 cpp_create_reader rather than cpp_read_main_file.
8810
8811 * cppfiles.c (cpp_rename_file): Generalized and renamed
8812 to cpp_change_file.
8813 * cpplib.h: Update declaration to match.
8814 * c-opts.c (push_command_line_line, finish_options): Change
8815 cpp_rename_file calls to cpp_change_file.
8816
8817 * line-map.c (add_line_map): Allow leaving the outermost file.
8818 Allowing entering an outermost-file after the initial time.
8819
8820 * toplev.c (pop_srcloc): Allow popping from initial file.
8821
8822 2003-03-20 Kazu Hirata <kazu at cs dot umass dot edu>
8823
8824 * fold-const.c (fold): Fold A - (A & B) into ~B & A.
8825
8826 2003-03-20 Kazu Hirata <kazu@cs.umass.edu>
8827
8828 * config/h8300/h8300.md (a peephole2): New.
8829
8830 2003-03-20 Kazu Hirata <kazu@cs.umass.edu>
8831
8832 * config/h8300/h8300.md (*addsi3_and_r_1): New.
8833 (*addsi3_and_not_r_1): Likewise.
8834
8835 2003-03-19 Loren James Rittle <ljrittle@acm.org>
8836
8837 * Makefile.in (STRICT2_WARN): Add @WERROR@.
8838 (GCC_WARN_CFLAGS): Remove $(WERROR).
8839 (fixinc.sh-warn): New.
8840 * ada/Make-lang.in (ada-warn): Add $(WERROR).
8841 * cp/Make-lang.in (cp-warn): Add $(WERROR).
8842 * f/Make-lang.in (f-warn): Add $(WERROR).
8843 * java/Make-lang.in (java-warn): Add $(WERROR).
8844 * treelang/Make-lang.in (treelang-warn): Add $(WERROR).
8845
8846 2003-03-19 Nathanael Nerode <neroden@gcc.gnu.org>
8847
8848 * c-common.h (c_dump_tree), c-dump.c (c_dump_tree),
8849 langhooks-def.h (lhd_tree_dump_dump_tree),
8850 langhooks.c (lhd_tree_dump_dump_tree), langhooks.h (*dump_tree):
8851 Change return type from 'int' to 'bool'. Replace 0 and 1 with
8852 true and false in return statements.
8853
8854 2003-03-19 Kevin Buettner <kevinb@redhat.com>
8855
8856 * dwarf2out.c (DWARF_INITIAL_LENGTH_SIZE): Define.
8857 (DWARF_COMPILE_UNIT_HEADER_SIZE): Take into account
8858 DWARF_INITIAL_LENGTH_SIZE.
8859 (output_compilation_unit_header, output_pubnames, output_aranges)
8860 (output_line_info): Output 0xffffffff escape value for 64-bit
8861 DWARF extension.
8862 * config/mips/iris6.h (DWARF_INITIAL_LENGTH_SIZE): Define.
8863
8864 2003-03-19 Ulrich Weigand <uweigand@de.ibm.com>
8865
8866 * config/s390/s390.c (s390_preferred_reload_class): Do not
8867 force constants to the pool unless necessary.
8868 (s390_decompose_address): Prefer to use pointer as base,
8869 not index register.
8870 * config/s390/s390.md ("*tsthiCCT_only"): Remove '?' from
8871 Q alternative.
8872 ("*movdi_64", "*movsi", "movhi", "movqi_64", "movqi",
8873 "*movdf_64", "*movsf"): Add '?' to Q->Q alternatives.
8874 ("*extractqi", "*extracthi", "*zero_extendhisi2_31",
8875 "*zero_extendqisi2_31", "*zero_extendqihi2_31",
8876 "*adddi3_31", "*subdi3_31"): Do not set "type" attribute.
8877
8878 2003-03-19 Jan Hubicka <jh@suse.cz>
8879
8880 * i386.h (machine_function): New fields use_fast_prologue_epilogue.
8881 * i386.c (use_fast_prologue_epilogue): Remove.
8882 (ix86_frame): New field save_regs-using_mov;
8883 (ix86_compute_frame_layout): Decide on fast prologues;
8884 allocate saved registers in red zone.
8885 (ix86_expand_epilogue, ix86_expand_prolgoues): Obey new parameters.
8886
8887 2003-03-19 Nick Clifton <nickc@redhat.com>
8888
8889 * config/mcore/mcore.h (CPP_SPEC): Remove trailing semi-colon.
8890
8891 2003-03-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8892
8893 PR 10062
8894 * config/pa/pa-hpux.h (TARGET_HPUX_UNWIND_LIBRARY): Redefine.
8895 * pa-protos.h (output_lbranch): New prototype.
8896 * pa.c (compute_frame_size): Change size of the frame marker on the
8897 64-bit ports to 48 bytes.
8898 (pa_output_function_prologue): Document why SAVE_SP is set.
8899 (hppa_expand_prologue): Save previous stack pointer into frame marker
8900 on targets which use the hpux unwind library.
8901 (output_cbranch): Use output_lbranch.
8902 (output_lbranch): New function to output long unconditional branches.
8903 * pa.h (TARGET_HPUX_UNWIND_LIBRARY): Define.
8904 (STACK_POINTER_OFFSET): Update offset for 48-byte frame marker on
8905 64-bit ports.
8906 * pa.md (jump): Use output_lbranch.
8907 (allocate_stack): New expander for dynamic stack allocation.
8908
8909 2003-03-19 Alan Modra <amodra@bigpond.net.au>
8910
8911 * config/rs6000/rs6000.c (rs6000_stack_info): Only require a frame
8912 when debugging on XCOFF targets. Delete "abi" temp.
8913
8914 PR target/10073
8915 * combine.c (force_to_mode <NOT>): Use gen_int_mode.
8916
8917 2003-03-18 Jakub Jelinek <jakub@redhat.com>
8918
8919 * config/s390/s390.c (s390_output_dwarf_dtprel): New.
8920 * config/s390/s390-protos.h (s390_output_dwarf_dtprel): New proto.
8921 * config/s390/s390.h (ASM_OUTPUT_DWARF_DTPREL): Define.
8922
8923 * config/ia64/ia64.c (ia64_output_dwarf_dtprel): New.
8924 * config/ia64/ia64-protos.h (ia64_output_dwarf_dtprel): New proto.
8925 * config/ia64/ia64.h (ASM_OUTPUT_DWARF_DTPREL): Define.
8926
8927 2003-03-18 Geoffrey Keating <geoffk@apple.com>
8928
8929 * config/rs6000/rs6000.c (rs6000_emit_prologue): Don't clone
8930 the result of machopic_function_base_name.
8931 * config/darwin.c (machopic_function_base_name): Use a gc-allocated
8932 string rather than a static array.
8933
8934 * Makefile.in (emit-rtl.o): Add gt-emit-rtl.h to dependencies.
8935
8936 * gengtype.c: Include rtl.h.
8937 (enum rtx_code): Don't define.
8938 (rtx_format): Make declaration match rtl.h.
8939 (rtx_next_new): Rename from rtx_next to avoid conflict. Change all
8940 users.
8941 (adjust_field_rtx_def): Describe strings in NOTE_LINE_NUMBER notes.
8942 * Makefile.in (gengtype.o): Update dependencies.
8943
8944 2003-03-18 Andreas Schwab <schwab@suse.de>
8945
8946 * config/m68k/m68k.md (iordi3): Fix setting low half to -1. From
8947 martin@blom.org.
8948
8949 2003-03-18 Geoffrey Keating <geoffk@apple.com>
8950
8951 * function.c (next_block_index): Mark with GTY.
8952
8953 * config/rs6000/rs6000.md (macho_correct_pic): Correct pattern.
8954
8955 2003-03-18 Richard Henderson <rth@redhat.com>
8956
8957 * config/ia64/ia64.md (UNSPECV_SETJMP_RECEIVER): New.
8958 (builtin_setjmp_receiver): Delay call to ia64_reload_gp
8959 until after reload.
8960
8961 2003-03-18 Richard Henderson <rth@redhat.com>
8962
8963 * builtins.c (expand_builtin_unop): New target_mode operand;
8964 use it to convert the result to the correct mode.
8965 (expand_builtin): Update all callers.
8966
8967 2003-03-18 Ulrich Weigand <uweigand@de.ibm.com>
8968
8969 * config/s390/s390.md ("movti", "movhi", "movqi"): Add "type" attribute.
8970
8971 2003-03-18 Jan Hubicka <jh@suse.cz>
8972
8973 * i386.md: Fix previous commit that mistakely applied the patch
8974 twice.
8975
8976 * alias.c (rtx_equal_for_memref_p): Assume that X and Y has been
8977 canonicalized.
8978 (memrefs_conflict_p): Likewise.
8979 (addr_side_effect_eval): Canonicalize the constructed address.
8980
8981 2003-03-18 Jan Hubicka <jh@suse.cz>
8982
8983 * i386.md (cvtts?2si peep2): New.
8984
8985 2003-03-18 Kazu Hirata <kazu@cs.umass.edu>
8986
8987 * config/h8300/h8300.md (*iorsi3_two_qi_zext): New.
8988
8989 2003-03-18 Andreas Schwab <schwab@suse.de>
8990
8991 * dwarf2out.c (output_file_names): Cast size_t to unsigned long
8992 for format.
8993
8994 2003-03-17 Jason Merrill <jason@redhat.com>
8995
8996 PR c++/10091
8997 * expr.c (expand_expr) [ADDR_EXPR]: Disallow taking the address of
8998 an unaligned member of TREE_ADDRESSABLE type.
8999
9000 2003-03-18 Alan Modra <amodra@bigpond.net.au>
9001
9002 * config/rs6000/linux64.h (MASK_PROFILE_KERNEL): Define.
9003 (TARGET_PROFILE_KERNEL): Define.
9004 (SUBTARGET_SWITCHES): Handle -mprofile-kernel.
9005 (PROFILE_BEFORE_PROLOGUE): Don't define.
9006 (PROFILE_KERNEL): Remove hacks.
9007 * config/rs6000/rs6000.c (TARGET_PROFILE_KERNEL): Define default.
9008 (rs6000_stack_info): No need to save lr if just for profiling when
9009 TARGET_PROFILE_KERNEL.
9010 (output_profile_hook): Output nothing when TARGET_PROFILE_KERNEL.
9011 (output_function_profiler): Localize label generation. Emit code
9012 for kernel profiling.
9013
9014 2003-03-17 Kazu Hirata <kazu@cs.umass.edu>
9015
9016 * config/h8300/h8300-protos.h: Add a prototype for
9017 byte_accesses_mergeable_p.
9018 * config/h8300/h8300.c (byte_accesses_mergeable_p): New.
9019 * config/h8300/h8300.md (*iorhi3_two_qi_mem): Likewise.
9020 (a splitter): Likewise.
9021 (*iorsi3_ashift_16_ashift_24): Likewise.
9022 (*iorsi3_ashift_16_ashift_24_mem): Likewise.
9023
9024 2003-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9025
9026 * dwarf2asm.h: Delete obsolete comment.
9027 (dw2_asm_output_data, dw2_asm_output_delta, dw2_asm_output_offset,
9028 dw2_asm_output_pcrel, dw2_asm_output_addr,
9029 dw2_asm_output_addr_rtx, dw2_asm_output_encoded_addr_rtx,
9030 dw2_asm_output_nstring, dw2_asm_output_data_uleb128,
9031 dw2_asm_output_data_sleb128, dw2_asm_output_delta_uleb128,
9032 dw2_asm_output_delta_sleb128): Add ATTRIBUTE_NULL_PRINTF.
9033
9034 2003-03-17 Zack Weinberg <zack@codesourcery.com>
9035
9036 * c-tree.h (struct lang_identifier): Remove error_locus field.
9037 (IDENTIFIER_ERROR_LOCUS): Kill.
9038 (record_function_scope_shadow): New prototype.
9039 * c-typeck.c (build_external_ref): Don't complain if
9040 decl is error_mark_node. When not at file scope, bind the
9041 decl's local value to error_mark_node to suppress further
9042 warnings, instead of setting IDENTIFIER_ERROR_LOCUS.
9043
9044 * c-decl.c (get_function_binding_level): New static function.
9045 (record_function_scope_shadow): New exported function.
9046 (c_make_fname_decl): Use get_function_binding_level.
9047
9048 2003-03-17 Steve Ellcey <sje@cup.hp.com>
9049
9050 * stmt.c (tail_recursion_args): Call promote_mode to set
9051 unsignedp flag correctly before calling convert_move.
9052
9053 2003-03-17 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9054
9055 * loop-unroll.c (decide_peel_completely,
9056 decide_unroll_constant_iterations, decide_unroll_stupid,
9057 decide_unroll_runtime_iterations, decide_peel_simple): Set
9058 loop->has_desc.
9059
9060 2003-03-17 Jan Hubicka <jh@suse.cz>
9061
9062 * ggc-common.c (ggc_mark_roots): Use htab_traverse_noresize.
9063
9064 2003-03-17 Olivier Hainque <hainque@act-europe.fr>
9065
9066 * function.c (assign_parms): For a struct value address passed as
9067 first argument, delay the function's result RTL setup code until
9068 after the emission of parameter conversions.
9069
9070 2003-03-17 Dave Love <fx@gnu.org>
9071 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9072
9073 * config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Define __digital__,
9074 __arch64__ to match Compaq cc.
9075
9076 2003-03-17 Neil Booth <neil@daikokuya.co.uk>
9077
9078 * c-opts.c: Default TARGET_EBCDIC to 0 if not defined.
9079 (c_common_init): Set EBCDIC in cpp options.
9080 * cpplex.c (maybe_read_ucs, cpp_parse_escape): Use EBCDIC option,
9081 not conditional compilation.
9082 * cpplib.h (struct cpp_options): New entry EBCDIC.
9083
9084 2003-03-17 Neil Booth <neil@daikokuya.co.uk>
9085
9086 * fix-header.c (read_scan_file): Need to malloc arguments to add_path.
9087
9088 2003-03-17 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
9089
9090 * function.c (thread_prologue_and_epilogue_insns): Set delete_unused
9091 argument to 0 for redirect_jump.
9092
9093 2003-03-16 Mark Mitchell <mark@codesourcery.com>
9094
9095 PR c++/8805
9096 * except.c (eh_region_u_cleanup): Add prev_try.
9097 (expand_eh_region_end_cleanup): Set it.
9098 (reachable_handlers): Use it to skip over cleanup blocks.
9099
9100 2003-03-17 Andreas Jaeger <aj@suse.de>
9101
9102 * Makefile.in (TAGS): Remove obsolete handling of =*.[chy].
9103
9104 2003-03-17 Alan Modra <amodra@bigpond.net.au>
9105
9106 * config/rs6000/linux64.h (TARGET_64BIT): Redefine.
9107 (TARGET_RELOCATABLE, TARGET_EABI, TARGET_PROTOTYPE): Likewise.
9108 (SUBTARGET_SWITCHES, SUBTARGET_OPTIONS): Likewise.
9109 (SUBTARGET_OVERRIDE_OPTIONS, CPP_SYSV_SPEC): Likewise.
9110
9111 2003-03-16 Richard Henderson <rth@redhat.com>
9112
9113 * simplify-rtx (simplify_binary_operation): Don't abort for
9114 SS_PLUS, US_PLUS, SS_MINUS, US_MINUS.
9115
9116 2003-03-16 Richard Henderson <rth@redhat.com>
9117
9118 * config/i386/i386.md (movstrictqi, movstrictqi_1): Check
9119 optimize_size as well.
9120
9121 2003-03-16 Stephane Carrez <stcarrez@nerim.fr>
9122
9123 * config/m68hc11/m68hc11.c (print_operand): Handle 'b' modifier
9124 for D register to specify the low part of it, aka B.
9125 (m68hc11_gen_movhi): Use REG_WAS_0 note and increment or decrement
9126 the register if we are loading 1 or -1 to it; avoid using temp
9127 register when moving X/Y to Y/X.
9128 (m68hc11_gen_movqi): Likewise.
9129 (m68hc11_check_z_replacement): Fix last insn setting for compare case.
9130
9131 2003-03-14 Mark Mitchell <mark@codesourcery.com>
9132
9133 PR optimization/9016
9134 * config/i386/i386.c (ix86_expand_move): Force more CONST_DOUBLEs
9135 into the constant pool.
9136
9137 2003-03-16 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
9138
9139 PR target/9164
9140 * tree.c (get_narrower): For extensions with unchanged bit number,
9141 return the unsignedness of the outer mode.
9142
9143 2003-03-16 Roger Sayle <roger@eyesopen.com>
9144
9145 * c-typeck.c (build_component_ref): Turn "for" into "do .. while"
9146 to avoid "may be used uninitialized" warning on ia64-hpux.
9147 * config/ia64/ia64-c.c: Include "tm_p.h" for function prototypes.
9148
9149 2003-03-16 Andreas Jaeger <aj@suse.de>
9150
9151 * configure.in: Improve check for memcheck.h.
9152 * configure: Regenerated.
9153
9154 2003-03-16 Neil Booth <neil@daikokuya.co.uk>
9155
9156 * doc/cppopts.texi: Remove documentation of -A-.
9157
9158 2003-03-15 Zack Weinberg <zack@codesourcery.com>
9159
9160 * doc/libgcc.texi: Remove @tie.
9161
9162 2003-03-15 Josef Zlomek <zlomekj@suse.cz>
9163
9164 * rtl.h (subrtx_p): Renamed to rtx_referenced_p.
9165 (rtx_pair): Added new element update_label_nuses, renamed to
9166 replace_label_data.
9167 * cfgcleanup.c (outgoing_edges_match, try_crossjump_to_edge): Use
9168 replace_label_data instead of rtx_pair.
9169 * loop.c (load_mems): Likewise.
9170 * rtlanal.c (replace_label): Replace label in pool constants and in
9171 INSN_LIST (in REG_LABEL note).
9172 (subrtx_p): Renamed to rtx_referenced_p.
9173 (subrtx_p_1): Renamed to rtx_referenced_p_1, compare the interior of
9174 LABEL_REF with CODE_LABEL, traverse constants from pool.
9175
9176 2003-03-15 Aldy Hernandez <aldyh@redhat.com>
9177 Zack Weinberg <zack@codesourcery.com>
9178
9179 * Makefile.in (TEXI_GCCINT_FILES): Add libgcc.texi.
9180 * doc/libgcc.texi: New file.
9181 * doc/interface.texi: Delete paragraph about libgcc interface.
9182 * doc/gccint.texi: Add libgcc menu entry and @include libgcc.texi.
9183
9184 2003-03-15 Jason Merrill <jason@redhat.com>
9185
9186 PR debug/9039
9187 * dwarf2out.c (gen_decl_die): Ignore frontend tree codes.
9188
9189 PR debug/6387
9190 * dwarf2out.c (dwarf2out_decl): If we're at -g1, just stick nested
9191 function DIEs at toplevel.
9192 (decls_for_scope): At -g1, don't descend into subblocks.
9193
9194 2003-03-15 Ulrich Weigand <uweigand@de.ibm.com>
9195
9196 * varasm.c (struct rtx_const): Change type of un.addr member
9197 to struct holding an additional 'symbol' member.
9198 (decode_rtx_const): Re-enable optimization to count SYMBOL_REFs
9199 with equal string addresses as equal.
9200 (simplify_subtraction): Adapt to struct rtx_const change.
9201
9202 2003-03-15 Neil Booth <neil@daikokuya.co.uk>
9203
9204 * fix-header.c (read_scan_file): Read main file before handling -D.
9205
9206 2003-03-15 Roger Sayle <roger@eyesopen.com>
9207
9208 * c-cppbuiltin.c (builtin_define_with_value_n): Fix whitespace.
9209 * c-typeck.c (c_tree_expr_nonnegative_p): Likewise.
9210 * cfgbuild.c (find_many_sub_basic_blocks): Likewise.
9211 (find_sub_basic_blocks): Likewise.
9212 * cgraphunit.c (cgraph_expand_functions): Likewise.
9213 * dwarf2out.c (prune_unused_types): Likewise.
9214 * expr.c (store_field): Likewise.
9215 * genextract.c (print_path): Likewise.
9216 * haifa-sched.c (schedule_insn): Likewise.
9217 * lcm.c (compute_antinout_edge): Likewise.
9218 * loop-unroll.c (decide_peel_once_rolling): Likewise.
9219 * ra-colorize.c (ra_colorize_free_all): Likewise.
9220 * ra-debug.c (dump_igraph): Likewise.
9221 (debug_hard_reg_set): Likewise.
9222 * reg-stack.c (reg_to_stack): Likewise.
9223 * rtlanal.c (refers_to_regno_p): Likewise.
9224 * tracer.c (layout_superblocks): Likewise.
9225
9226 2003-03-15 Neil Booth <neil@daikokuya.co.uk>
9227
9228 * fix-header.c (read_scan_file): Fix thinko.
9229
9230 2003-03-15 Glen Nakamura <glen@imodulo.com>
9231
9232 * reload1.c (choose_reload_regs): Use && instead of ||
9233 with REG_CANNOT_CHANGE_MODE_P condition.
9234
9235 2003-03-15 Neil Booth <neil@daikokuya.co.uk>
9236
9237 * Makefile.in: Update.
9238 * c-common.h (cb_register_builtins): Rename c_cpp_builtins.
9239 * c-lex.c (init_c_lex): Register builtins hook is dead.
9240 * c-opts.c (COMMAND_LINE_OPTIONS, missing_arg): Handle -A, -D and -U.
9241 (c_common_decode_option): Don't call cpp_handle_option.
9242 Handle -A, -D and -U.
9243 (handle_deferred_opts): Simplify.
9244 (finish_options): Define builtins and command line macros.
9245 * c-ppoutput.c (init_pp_output): Register builtins hook is dead.
9246 * cppinit.c: Don't include intl.h.
9247 (init_builtins): Rename cpp_init_builtins. No hook to call.
9248 (init_library): Don't need to sort options.
9249 (cpp_create_reader): Don't set pending.
9250 (cpp_destroy): Don't free pending.
9251 (struct pending_option, cl_directive_handler, struct cpp_pending,
9252 APPEND, free_chain, new_pending_directive, parse_option, opt_comp,
9253 cpp_finish_options, COMMAND_LINE_OPTIONS, DEF_OPT, struct cl_option,
9254 cl_options, cpp_handle_option): Remove.
9255 * cpplib.h (struct cpp_pending, register_builtins, cpp_handle_option,
9256 cpp_finish_options): Remove.
9257 (cpp_init_builtins): New.
9258 * fix-header.c (read_scan_file): Update to handle -D. Fix
9259 handling of -I. Replace call to cpp_finish_options.
9260
9261 2003-03-15 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
9262
9263 PR optimization/9387
9264 * function.c (thread_prologue_and_epilogue_insns): Use redirect_jump
9265 for conditional returns.
9266
9267 2003-03-14 Jason Merrill <jason@redhat.com>
9268
9269 PR optimization/6871
9270 * varasm.c (assemble_variable): Leave constant zeroes in .rodata.
9271
9272 2003-03-14 Neil Booth <neil@daikokuya.co.uk>
9273
9274 * c-opts.c (finish_options): New.
9275 (COMMAND_LINE_OPTIONS, c_common_decode_option): Add -imacros.
9276 (missing_arg): Handle OPT_include and OPT_imacros.
9277 (c_common_init, c_common_parse_file): Use finish_options.
9278 (handle_deferred_opts): Update.
9279 * cppinit.c (struct cpp_pending): Remove imacros_head and imacros_tail.
9280 (cpp_finish_options): Don't handle -imacros here.
9281 (no_fil): Remove.
9282 (COMMAND_LINE_OPTIONS, cpp_handle_option): Don't handle -imacros.
9283
9284 2003-03-14 Jakub Jelinek <jakub@redhat.com>
9285
9286 * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Don't call
9287 rs6000_maybe_dead if !fromprolog.
9288
9289 2003-03-14 Neil Booth <neil@daikokuya.co.uk>
9290
9291 * Makefile.in: Update.
9292 * c-common.h (fe_file_change, pp_file_change): New.
9293 * c-lex.c (init_c_lex): Don't set cb_file_change.
9294 (c_common_parse_file): Move to c-opts.c.
9295 (cb_file_change): Rename fe_file_change.
9296 * c-opts.c: Include debug.h.
9297 (warn_unused_macros, include_cursor): New.
9298 (push_command_line_include, cb_file_change): New.
9299 (COMMAND_LINE_OPTIONS): Handle -include.
9300 (c_common_decode_option): Use local warn_unused_macros.
9301 Handle OPT_include.
9302 (c_common_post_options): Set file change callback.
9303 (handle_deferred_opts): Skip -include. Don't free the array.
9304 (c_common_init): Call cpp_finish_options here, and push an
9305 initial -include file.
9306 * c-ppoutput.c (cb_file_change): Rename pp_file_change.
9307 (preprocess_file): Don't call cpp_finish_options.
9308 (init_pp_output): Don't set the file change callback.
9309 (pp_file_change): Return if no line commands or no output.
9310 * cpphash.h (next_include_file, first_unused_line): Remove.
9311 * cppinit.c (include_head, include_tail): Remove.
9312 (cpp_destroy): Don't free -include chain.
9313 (cpp_finish_options): Don't handle -include, or worry about
9314 -Wunused-macros.
9315 (_cpp_maybe_push_include_file): Remove.
9316 (COMMAND_LINE_OPTIONS, cpp_handle_option): Don't handle -include.
9317 * cpplib.c (_cpp_pop_buffer): Don't handle -include.
9318 * cppmacro.c (_cpp_warn_if_unused_macro, _cpp_create_definition):
9319 Used flag is set based upon the state of the warn_unused_macros
9320 flag, and so use of first_unused_line is unnecessary.
9321
9322 2003-03-13 Jan Hubicka <jh@suse.cz>
9323
9324 * cselib.c (clear_table): Do not take argument; always clear just
9325 used slots.
9326 (cselib_process_insn): Update call of clear_table
9327 (cselib_init): Do not call clear_table.
9328 (cselib_finish): Clear table.
9329
9330 * cse.c (count_reg_usage): Do not check side_effects_p.
9331 * rtlanal.c (set_noop_p): Check side_effects_p only when set looks
9332 like noop.
9333 (find_reg_equal_equiv_note): Do not use find_reg_note.
9334
9335 2003-03-14 Richard Henderson <rth@redhat.com>
9336
9337 PR target/9700
9338 * config/alpha/alpha.c (alpha_va_start): Account for
9339 current_function_pretend_args_size in the AP offset.
9340
9341 * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Move out of line.
9342 (INITIAL_ELIMINATION_OFFSET): Move out of line.
9343 * config/alpha/alpha.c (alpha_setup_incoming_varargs): New.
9344 (alpha_initial_elimination_offset) New.
9345 * config/alpha/alpha-protos.h: Update.
9346
9347 2003-03-14 Jakub Jelinek <jakub@redhat.com>
9348
9349 * stmt.c (expand_start_case): Call emit_queue ().
9350
9351 2003-03-14 Chris Demetriou <cgd@broadcom.com>
9352 Alexandre Oliva <aoliva@redhat.com>
9353
9354 * config/mips/mips.h (FUNCTION_PROFILER): _mcount() doesn't pop 2
9355 words in new abis.
9356
9357 2003-03-14 Eric Botcazou <ebotcazou@libertysurf.fr>
9358
9359 PR optimization/8396
9360 * tree-inline.c (initialize_inlined_parameters): Make sure the value
9361 of read-only constant arguments is passed with the right type.
9362
9363 2003-03-14 Steven Bosscher <steven@gcc.gnu.org>
9364
9365 * doc/extend.texi (Function Names): Make the example compilable.
9366
9367 2003-03-13 David Edelsohn <edelsohn@gnu.org>
9368
9369 * config/rs6000/rs6000.c (processor_target_table): Really allow
9370 GP optional instructions on Power4.
9371
9372 2003-03-13 Roger Sayle <roger@eyesopen.com>
9373
9374 * calls.c (flags_from_decl_or_type): Factor and remove redundant
9375 conditional tests.
9376
9377 2003-03-13 Mike Stump <mrs@apple.com>
9378
9379 * ggc-page.c (struct page_entry): Remove varray.h header.
9380 Add index_by_depth field.
9381 Remove save_in_use_p field.
9382 (struct globals): Add depth_in_use, depth_max, by_depth_in_use,
9383 by_depth_max, by_depth, and save_in_use fields.
9384 (INITIAL_PTE_COUNT): Add.
9385 (save_in_use_p_i): Add.
9386 (save_in_use_p): Add.
9387 (adjust_depth): Add.
9388 (move_ptes_to_front): Add.
9389 (push_depth): Add.
9390 (push_by_depth): Add.
9391 (prefetch): Add.
9392 (free_page): Add support for and use faster data structures.
9393 (ggc_alloc): Likewise.
9394 (init_ggc): Likewise.
9395 (ggc_recalculate_in_use_p): Likewise.
9396 (ggc_pop_context): Likewise.
9397 (clear_marks): Likewise.
9398 (ggc_pch_read): Likewise.
9399 * Makefile.in (ggc-page.o): Remove varray.h.
9400
9401 2003-03-13 Nathanael Nerode <neroden@gcc.gnu.org>
9402
9403 * ChangeLog: Rotated last year's entries to...
9404 * ChangeLog.8: New.
9405
9406 * config/ia64/fde-glibc.c, config/ia64/freebsd.h,
9407 config/ia64/hpux.h, config/ia64/hpux_longdouble.h,
9408 config/ia64/ia64-c.c, config/ia64/ia64-modes.def,
9409 config/ia64/ia64-protos.h, config/ia64/ia64.c,
9410 config/ia64/ia64.h, config/ia64/ia64.md,
9411 config/ia64/itanium1.md, config/ia64/itanium2.md,
9412 config/ia64/quadlib.c, config/ia64/unwind-ia64.c,
9413 config/ia64/unwind-ia64.h: It's GCC, not GNU CC.
9414
9415 2003-03-13 Aldy Hernandez <aldyh@redhat.com>
9416
9417 * config/rs6000/rs6000.c (rs6000_dwarf_register_span):
9418 Differentiate endianness.
9419 (s6000_override_options): Use cpu type instead of TARGET_SPE.
9420
9421 2003-03-13 Nick Clifton <nickc@redhat.com>
9422
9423 * config/arm/arm.c (print_multi_reg): Do not generate a type 2
9424 LDM instructions with writeback enabled.
9425 (output_return_instruction): Likewise.
9426
9427 * config/arm/pe.h (FIXED_REGISTERS): Remove definition.
9428 (CALL_USED_REGISTERS): Remove definition.
9429 (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Define.
9430
9431 2003-03-13 Alan Modra <amodra@bigpond.net.au>
9432
9433 * config/rs6000/rs6000.c (rs6000_flag_pic): Delete.
9434 (rs6000_xcoff_encode_section_info): #ifdef TARGET_XCOFF.
9435 (rs6000_binds_local_p, TARGET_BINDS_LOCAL_P): #if TARGET_MACHO.
9436 (rs6000_override_options): Don't clear flag_pic for ABI_AIX.
9437 (rs6000_legitimize_address): Formatting.
9438 (rs6000_emit_move): Likewise.
9439 (rs6000_return_addr): Test ABI_AIX as well as flag_pic.
9440 (rs6000_emit_prologue <save_LR_around_toc_setup>): Likewise.
9441 (rs6000_elf_select_section): Comment reason for shlib being
9442 set for ABI_AIX.
9443 (rs6000_elf_unique_section): Likewise.
9444 (rs6000_elf_encode_section_info): Test !TARGET_AIX as well as ABI_AIX.
9445 * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Test ABI_AIX
9446 as well as flag_pic.
9447 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Likewise.
9448 (MINIMAL_TOC_SECTION_ASM_OP): Likewise.
9449 * config/rs6000/linux64.h (TARGET_ENCODE_SECTION_INFO): Don't define.
9450
9451 2003-03-13 Richard Henderson <rth@redhat.com>
9452
9453 * emit-rtl.c (try_split): Handle 1-1 splits of call insns properly.
9454
9455 * config/ia64/ia64.c (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
9456 (ia64_gp_save_reg): Remove.
9457 (struct ia64_frame_info): Move to the beginning of the file;
9458 add reg_save_gp.
9459 (ia64_expand_call): Rearrange for new call patterns.
9460 (ia64_reload_gp): New.
9461 (ia64_split_call): New.
9462 (ia64_compute_frame_size): Allocate reg_save_gp.
9463 (ia64_expand_prologue): Save reg_save_gp.
9464 (ia64_expand_epilogue): Don't restore gp.
9465 (ia64_hard_regno_rename_ok): Remove R4 hack.
9466 (ia64_function_ok_for_sibcall): New.
9467 (ia64_output_mi_thunk): Set reload_completed, no_new_pseudos;
9468 call try_split on sibcall pattern.
9469 * config/ia64/ia64-protos.h: Update.
9470 * config/ia64/ia64.md (call_nogp, call_value_nogp, sibcall_nogp):
9471 Rename from nopic versions. Confiscate 2nd argument to call as
9472 a marker.
9473 (call_pic, call_value_pic, sibcall_pic): Remove.
9474 (call_gp, call_value_gp, sibcall_gp): New.
9475 (builtin_setjmp_setup): Remove.
9476 (builtin_setjmp_receiver): Call ia64_reload_gp.
9477
9478 2003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
9479
9480 * config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
9481 config/dsp16xx/dsp16xx.h, config/dsp16xx/dsp16xx.md: Replace
9482 "GNU CC" with "GCC".
9483
9484 * config/c4x/c4x-c.c, config/c4x/c4x-modes.def,
9485 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
9486 config/c4x/c4x.md, config/c4x/libgcc.S, config/c4x/rtems.h:
9487 GCC, not GNU CC.
9488
9489 * genattrtab.h, hosthooks-def.h, hosthooks.h, langhooks-def.h,
9490 langhooks.h, tree-inline.h: Replace "GNU CC" with "GCC".
9491
9492 * c-pch.c, dummy-conditions.c, genautomata.c, genconditions.c,
9493 langhooks.c, tree-inline.c, unwind-dw2-fde-darwin.c,
9494 unwind-dw2-fde-glibc.c, unwind-libunwind.c, vmsdbgout.c: Replace
9495 "GNU CC" with "GCC".
9496
9497 * config/v850/lib1funcs.asm, config/v850/rtems.h,
9498 config/v850/v850-c.c, config/v850/v850-protos.h,
9499 config/v850/v850.c, config/v850/v850.h, config/v850/v850.md:
9500 GCC, not GNU CC.
9501
9502 * config/vax/bsd.h, config/vax/elf.h, config/vax/netbsd-elf.h,
9503 config/vax/netbsd.h, config/vax/openbsd.h, config/vax/openbsd1.h,
9504 config/vax/ultrix.h, config/vax/vax-protos.h, config/vax/vax.c,
9505 config/vax/vax.h, config/vax/vax.md, config/vax/vaxv.h: GCC, not
9506 GNU CC.
9507
9508 2003-03-12 Benjamin Kosnik <bkoz@redhat.com>
9509
9510 * cpppch.c (cpp_valid_state): Use DL_WARNING_SYSHDR, not DL_WARNING.
9511
9512 2003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
9513
9514 * fixinc/fixinc.interix: Remove dead code (most of it).
9515 * fixinc/fixinc.dgux: Remove.
9516
9517 * ginclude/float.h, ginclude/iso646.h, ginclude/stdarg.h,
9518 ginclude/stdbool.h, ginclude/stddef.h: GCC, not GNU CC.
9519
9520 2003-03-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9521
9522 * pa.c (pa_init_builtins): Fix warning.
9523
9524 2003-03-12 Steve Ellcey <sje@cup.hp.com>
9525
9526 * config/ia64/ia64.h (ASM_OUTPUT_XDATA_CHAR): Remove.
9527 (ASM_OUTPUT_XDATA_SHORT): Remove.
9528 (ASM_OUTPUT_XDATA_INT): Remove.
9529 (ASM_OUTPUT_XDATA_DOUBLE_INT): Remove.
9530 (ASM_OUTPUT_ADDR_DIFF_ELT): Handled 32 bit address diffs.
9531 (ASM_PREFERRED_EH_DATA_FORMAT): Handle 32 bit EH pointers.
9532 (CASE_VECTOR_MODE): Handle 32 bit pointers in case statement.
9533
9534 2003-03-12 Andrew Lewycky <andrew@mxc.ca>
9535
9536 PR c++/7050
9537 * expr.c (store_expr): Don't attempt to store void-typed trees,
9538 just evaluate them for side effects.
9539
9540 2003-03-12 Neil Booth <neil@daikokuya.co.uk>
9541
9542 * cppfiles.c (cpp_rename_file, cpp_push_include): New.
9543 * cppinit.c (push_include): Move with changes to cppfiles.c.
9544 (cpp_read_main_file): Mark named operators here...
9545 (cpp_finish_options): ...not here. Update.
9546 (_cpp_maybe_push_include_file): Update.
9547 * cpplib.h (cpp_push_include, cpp_rename_file): New.
9548
9549 2003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
9550
9551 * aclocal.m4: Introduce gcc_GAS_VERSION_GTE_IFELSE,
9552 _gcc_COMPUTE_GAS_VERSION.
9553 * configure.in: Use them.
9554 * configure: Regenerate.
9555
9556 2003-03-12 Bob Wilson <bob.wilson@acm.org>
9557
9558 * config/xtensa/xtensa.md (adddi3): Don't clobber source operand used
9559 to detect carry.
9560 (subdi3): Reorder emitted instructions.
9561
9562 2003-03-12 Andreas Jaeger <aj@suse.de>
9563
9564 * config/i386/netbsd64.h (TARGET_OS_CPP_BUILTINS): Remove call to
9565 NETBSD_OS_CPP_BUILTINS_LP64.
9566
9567 2003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
9568
9569 * Makefile.in: Eliminate all.indirect. Update and clean up comments.
9570 Rearrange. Reorganize.
9571 * configure.in: Rearrange.
9572 * configure: Regenerate.
9573
9574 2003-03-12 Andreas Jaeger <aj@suse.de>
9575
9576 * c-cppbuiltin.c (cb_register_builtins): Define LP64 builtins for
9577 LP64 targets.
9578
9579 * doc/cpp.texi (Common Predefined Macros): Document __LP64__ and
9580 _LP64.
9581
9582 * config/ia64/ia64.h (TARGET_CPU_CPP_BUILTINS): Do not define
9583 _LP64 macros here.
9584 * config/pa/pa.h (TARGET_CPU_CPP_BUILTINS): Likewise.
9585
9586 * config/alpha/netbsd.h (TARGET_OS_CPP_BUILTINS): Remove call to
9587 NETBSD_OS_CPP_BUILTINS_LP64.
9588 * config/sh/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Likewise.
9589 * config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Likewise.
9590
9591 * config/netbsd.h (NETBSD_OS_CPP_BUILTINS_LP64): Remove.
9592
9593 2003-03-12 Jan Hubicka <jh@suse.cz>
9594
9595 * i386.c (ix86_setup_incoming_varargs): Set stack_alignment_needed to 128.
9596
9597 2003-03-12 Daniel Jacobowitz <drow@mvista.com>
9598
9599 Fix PR target/9797 and PR c/9853.
9600 * stmt.c (expand_decl_init): Call push_temp_slots () and
9601 pop_temp_slots ().
9602
9603 2003-03-12 J"orn Rennecke <joern.rennecke@superh.com>
9604
9605 * sh.c: Include basic-block.h.
9606 (sh_output_mi_thunk, emit_load_ptr): New functions.
9607 (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine.
9608
9609 2003-03-12 Nick Clifton <nickc@redhat.com>
9610
9611 * config/arm/pe.h (FIXED_REGISTERS): Add Maverick registers.
9612 (CALL_USED_REGISTERS): Likewise.
9613 * config/arm/arm.h (FIRST_PSEUDO_REGISTER): Update comment
9614 describing how this value is calculated.
9615
9616 2003-03-12 Hans-Peter Nilsson <hp@bitrange.com>
9617
9618 * configure.in (rlim_t): Define to long if no valid definition
9619 found in sys/resource.h.
9620 * config.in, configure: Regenerate.
9621
9622 2003-03-12 Neil Booth <neil@daikokuya.co.uk>
9623
9624 * config/mcore/mcore-elf.h (CPP_PREDEFINES): Replace with
9625 TARGET_OS_CPP_BUILTINS.
9626 * config/mcore/mcore-pe.h: Similarly.
9627 * config/mcore/mcore.h: Replace CPP_PREDEFINES and part of
9628 CPP_SPEC with TARGET_CPU_CPP_BUILTINS.
9629
9630 2003-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
9631
9632 PR c/9928
9633 * c-decl.c (duplicate_decls): Discard the initializer of the new decl
9634 only if it is a VAR_DECL.
9635
9636 2003-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
9637
9638 PR optimization/9888
9639 * config/i386/i386.md (jcc_1): Fix range.
9640 (jcc_2): Likewise.
9641 (jump): LIkewise.
9642 (doloop_end_internal): Likewise.
9643
9644 2003-03-12 Danny Smith <dannysmith@users.sourceforge.net>
9645
9646 * config/i386/winnt.c (DLL_IMPORT_PREFIX): New define.
9647 Use throughout instead of DLL_IMPORT_EXPORT_PREFIX and "e."
9648 (DLL_EXPORT_PREFIX): New define. Use throughout instead of
9649 DLL_IMPORT_EXPORT_PREFIX and "i."
9650 (i386_pe_dllexport_name_p): Here.
9651 (i386_pe_dllimport_name_p): Here.
9652 (i386_pe_mark_dllexport): Here. Remove DLL_IMPORT_PREFIX,
9653 not 9 chars when getting identifier name.
9654 (i386_pe_mark_dllimport): Here.
9655 (i386_pe_encode_section_info): Here. Remove DLL_IMPORT_PREFIX,
9656 not 9 chars when getting identifier name. Correct comment.
9657 (i386_pe_strip_name_encoding): Here. Add comments for different
9658 cases.
9659 (gen_fastcall_suffix): Break down xmalloc() argument to
9660 components.
9661 (gen_stdcall_suffix): Likewise.
9662 Update copyright year.
9663
9664 2003-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
9665
9666 PR optimization/9888
9667 * config/i386/i386.md (movsi_1): Remove special alternatives
9668 for %eax register.
9669 (movsi_1_nointernunit): Likewise.
9670 (movhi_1): Likewise.
9671 * config/i386/i386.c (memory_address_length): Do not use
9672 short displacement when there is no base.
9673 (ix86_attr_length_address_default): Handle LEA instructions.
9674
9675 2003-03-12 Neil Booth <neil@daikokuya.co.uk>
9676
9677 * c-cppbuiltin.c (builtin_define_std): Make non-static.
9678
9679 2003-03-11 Loren James Rittle <ljrittle@acm.org>
9680
9681 * config/freebsd-spec.h (FBSD_CPP_PREDEFINES): Remove.
9682 (FBSD_TARGET_OS_CPP_BUILTINS): New port-specific macro.
9683 (FBSD_TARGET_CPU_CPP_BUILTINS): New port-specific macro.
9684 * config/freebsd.h (CPP_PREDEFINES): Remove.
9685 (TARGET_OS_CPP_BUILTINS): New.
9686 * config/alpha/freebsd.h: Use overridden FBSD_TARGET_CPU_CPP_BUILTINS
9687 instead of TARGET_OS_CPP_BUILTINS.
9688 * config/sparc/freebsd.h (CPP_PREDEFINES): Remove.
9689
9690 2003-03-11 Geoffrey Keating <geoffk@apple.com>
9691
9692 * c-cppbuiltin.c (builtin_define_std): Add ATTRIBUTE_UNUSED.
9693
9694 2003-03-11 Aldy Hernandez <aldyh@redhat.com>
9695
9696 * config/rs6000/rs6000.c (rs6000_stack_info): Remove
9697 insn_chain_scanned. Use insn_chain_scanned_p in machine_function.
9698
9699 * config/rs6000/rs6000.h (machine_function): Add insn_chain_scanned_p.
9700
9701 2003-03-11 Alexandre Oliva <aoliva@redhat.com>
9702
9703 * toplev.c (independent_decode_option): Return success for --help,
9704 --target-help and --version.
9705
9706 2003-03-11 Alexandre Oliva <aoliva@redhat.com>
9707
9708 * config/mips/linux64.h (DRIVER_SELF_SPECS): Add endian_spec.
9709 Default to -mips3 on -mabi=64. Don't add -mips* flag if -march is
9710 specified.
9711 (SUBTARGET_ASM_SPEC): Remove -mips*-adding code obviated by
9712 DRIVER_SELF_SPECS.
9713 (LINK_SPEC): Let endian options affect the linker emulation name.
9714
9715 2003-03-11 J"orn Rennecke <joern.rennecke@superh.com>
9716
9717 * sh.md (reload_inqi): Fix mode for source in second set.
9718
9719 2003-03-11 Jan Hubicka <jh@suse.cz>
9720
9721 * cselib.c (cselib_invalidate_mem_1): Move too ...
9722 (cselib_invalidate_mem): ... here; use new list
9723 (dummy_val, first_containing_mem): New static variables.
9724 (clear_table): Initialize first_containing_mem.
9725 (discard_useless_values): Compact the containing_mem list.
9726 (add_mem_for_addr): Add to the list.
9727 * cselib.h (cselib_val): Add next_containing_mem.
9728
9729 2003-03-11 Aldy Hernandez <aldyh@redhat.com>
9730
9731 * config/rs6000/rs6000.c (rs6000_override_options): Disable string
9732 instructions for e500.
9733
9734 2003-03-11 Neil Booth <neil@daikokuya.co.uk>
9735
9736 * Makefile.in: Update.
9737 * c-cppbuiltin.c: Include tm_p.h.
9738
9739 2003-03-11 Aldy Hernandez <aldyh@redhat.com>
9740
9741 * doc/tm.texi (Frame Registers): Document DWARF_REG_TO_UNWIND_COLUMN.
9742
9743 * unwind-dw2.c (DWARF_REG_TO_UNWIND_COLUMN): Define.
9744 (_Unwind_GetGR): Use DWARF_REG_TO_UNWIND_COLUMN.
9745 (_Unwind_SetGR): Same.
9746 (_Unwind_GetGRPtr): New.
9747 (_Unwind_SetGRPtr): New.
9748 (uw_update_context_1): Use accesor functions instead of accessing
9749 context->reg[] directly.
9750 (uw_install_context_1): Same.
9751 (execute_cfa_program): Same.
9752 (__frame_state_for): Same.
9753
9754 * config/rs6000/rs6000.c (spe_synthesize_frame_save): Use 1200 as
9755 the synthetic register offset.
9756
9757 * config/rs6000/rs6000.h (DWARF_REG_TO_UNWIND_COLUMN): New.
9758
9759 2003-03-11 Hans-Peter Nilsson <hp@axis.com>
9760
9761 * config/cris/cris.md: Remove lingering EGCS reference.
9762 ("*extopqihi_side_biap"): For HI operation, match
9763 cris_additive_operand_extend_operator, not
9764 cris_operand_extend_operator. Adjust condition.
9765 ("*extopqihi_side", "*extopqihi"): Ditto.
9766 ("*extopqisi_side_biap"): Correct operand numbers in condition.
9767 ("*extophisi_side_biap", "*extopqisi_swap_side_biap"): Ditto.
9768 ("*extophisi_swap_side_biap", "*extopqisi_swap"): Ditto.
9769 ("*extophisi_swap"): Ditto.
9770 ("*extopqihi_swap_side_biap"): For HI operation, match a simple
9771 PLUS, not cris_operand_extend_operator. Adjust condition and
9772 output template.
9773 ("*extopqihi_swap_side", "*extopqihi_swap"): Ditto.
9774 * config/cris/cris.h (PREDICATE_CODES): Add
9775 cris_additive_operand_extend_operator.
9776 * config/cris/cris.c (cris_additive_operand_extend_operator):
9777 New predicate.
9778
9779 2003-03-11 Hartmut Penner <hpenner@de.ibm.com>
9780
9781 * df.c (read_modify_subreg_p): Change from static to global.
9782 * df.h (read_modify_subreg_p): Add prototype.
9783 * sched-deps.c (sched_analyze_1): Generate true dependency for
9784 strict_low_part, certain subregs and zero/sign_extract.
9785
9786 2003-03-11 Neil Booth <neil@daikokuya.co.uk>
9787
9788 * Makefile.in: Update.
9789 * c-common.c: Don't include real.h or except.h.
9790 (REGISTER_PREFIX): Remove.
9791 (builtin_define_std, builtin_define_with_value,
9792 builtin_define_with_int_value, builtin_define_with_hex_fp_value,
9793 builtin_define_type_max, builtin_define_type_precision,
9794 builtin_define_float_constants): Move to c-cppbuiltin.c.
9795 (c_stddef_cpp_builtins): New.
9796 * c-common.h (builtin_define_with_value, c_stddef_cpp_builtins): New.
9797 * c-cppbuiltin.c: New, extracted from c-common.c.
9798 (define__GNUC__): New.
9799 * cppspec.c (lang_specific_driver): Remove support of -no-gcc.
9800 * gcc.c: Remove support of %v1, %v2 and %v3 specs.
9801 (cpp_unique_options): Don't support no-gcc.
9802 (do_spec_1): Remove support of version specs.
9803 * doc/invoke.texi: Remove documentation of %v1, %v2 and %v3.
9804 * doc/passes.texi: Update.
9805 * doc/tm.texi: Update.
9806
9807 2003-03-10 Aldy Hernandez <aldyh@redhat.com>
9808
9809 * dwarf2out.c (multiple_reg_loc_descriptor): Fix thinko.
9810
9811 2003-03-10 Andrew Pinski <apinski@apple.com>
9812
9813 * config/darwin.c (machopic_function_base_name): If dynamic-no-pic
9814 is on should not get here.
9815 (machopic_indirect_data_reference): If dynamic-no-pic is on just
9816 generate high/low parts of the address.
9817 (machopic_legitimize_pic_address): Change MACHOPIC_PURE to
9818 MACHOPIC_INDIRECT. Dynamic-no-pic uses 0 as the pic base. Generate
9819 symbol and labels with a new reg. Dynamic-no-pic does not have a
9820 pic_offset_table_rtx.
9821 (machopic_select_section): Change references of flag_pic to
9822 MACHOPIC_INDIRECT.
9823 (machopic_asm_out_destructor): Likewise.
9824 * config/darwin.h (ASM_DECLARE_UNRESOLVED_REFERENCE): Change
9825 reference of flag_pic to MACHOPIC_INDIRECT.
9826 (MACHO_DYNAMIC_NO_PIC_P): Define as TARGET_DYNAMIC_NO_PIC.
9827 (MACHOPIC_INDIRECT): Is also true when dynamic-no-pic is on.
9828 (MACHOPIC_JUST_INDIRECT): Is also true when dynamic-no-pic is on.
9829 (MACHOPIC_PURE): Is not pure when dynamic-no-pic is on.
9830 * config/i386/darwin.h (MASK_MACHO_DYNAMIC_NO_PIC): Define as
9831 0 for right now as dynamic-no-pic is not implemented on Darwin/ia32.
9832 * config/rs6000/darwin.h (MASK_MACHO_DYNAMIC_NO_PIC): Define.
9833 (TARGET_DYNAMIC_NO_PIC): Define.
9834 (SUBTARGET_SWITCHES): Define, have sub-target switches for
9835 dynamic-no-pic.
9836 (SUBTARGET_OVERRIDE_OPTIONS): Move check for -fpic from
9837 rs6000_override_options to here. Dynamic-no-pic overrides
9838 pic.
9839 (CC1_SPEC): Change from not static then pic to not static and not
9840 dynamic-no-pic then pic.
9841 * config/rs6000/rs6000.c (rs6000_override_options): Move the
9842 check for -fpic and DARWIN_ABI to config/rs6000/darwin.h
9843 (rs6000_legitimize_reload_address): Add case for loading floating in
9844 dynamic-no-pic.
9845 (rs6000_emit_move): Add case for dynamic-no-pic. Change reference
9846 of flag_pic to MACHOPIC_INDIRECT.
9847 (secondary_reload_class): Conditional change the reference of
9848 flag_pic to MACHOPIC_INDIRECT.
9849 (rs6000_output_mi_thunk): Change reference of flag_pic to
9850 MACHOPIC_INDIRECT.
9851 (output_profile_hook): Likewise.
9852 (machopic_output_stub): Non-pure (dynamic-no-pic) is now supported.
9853 * config/rs6000/rs6000.md (movdf_low): Add the case for
9854 MACHO_DYNAMIC_NO_PIC_P.
9855 (call): Change references for flag_pic in TARGET_MACHO to
9856 MACHOPIC_INDIRECT.
9857 (SUBTARGET_OVERRIDE_OPTIONS): Add case where -fpic is on and
9858 -mdynamic-no-pic is on. Also move case for -fpic from rs6000.c.
9859 * doc/invoke.texi (-mdynamic-no-pic): Document.
9860
9861 2003-03-10 Devang Patel <dpatel@apple.com>
9862
9863 PR c++/9394
9864 * gcc.c (DEFAULT_SWITCH_TAKES_ARG): Remove.
9865 (DEFAULT_WORD_SWITCH_TAKES_ARG): Remove.
9866 * gcc.h (DEFAULT_SWITCH_TAKES_ARG): Add.
9867 (DEFAULT_WORD_SWITCH_TAKES_ARG): Add.
9868 * cppspec.c (DEFAULT_SWITCH_TAKES_ARG): Remove.
9869 (DEFAULT_WORD_SWITCH_TAKES_ARG): Remove.
9870
9871 2003-03-10 Steven Bosscher <s.bosscher@student.tudelft.nl>
9872
9873 PR optimization/7189
9874 * toplev.c (rest_of_compilation): Move
9875 check_function_return_warnings up to just after
9876 delete_unreachable_blocks.
9877
9878 2003-03-10 Stephane Carrez <stcarrez@nerim.fr>
9879
9880 * config/m68hc11/m68hc11.h (HARD_REGNO_RENAME_OK): Define.
9881 * config/m68hc11/m68hc11-protos.h (m68hc11_hard_regno_rename_ok):
9882 Declare.
9883 * config/m68hc11/m68hc11.c (m68hc11_hard_regno_rename_ok): New function
9884 for reg rename optimization to avoid using Z and Y registers.
9885
9886 2003-03-10 Stephane Carrez <stcarrez@nerim.fr>
9887
9888 * config/m68hc11/m68hc11.md ("*addhi3_68hc12"): Accept any constant
9889 when adding to X and Y since leax/leay are fast.
9890 ("*addhi3"): Accept 'I' constraint when adding to address register.
9891 ("rotlhi3"): Operand 1 must be a register_operand.
9892 (peephole2): New peephole to optimize some adds.
9893 * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_P): Use 'I' constraint
9894 to represent -2 .. 2 small integer range.
9895
9896 2003-03-10 Stephane Carrez <stcarrez@nerim.fr>
9897
9898 * config/m68hc11/m68hc11.c (m68hc11_gen_rotate): Set carry before
9899 each 16-bit rotation.
9900
9901 2003-03-10 Zack Weinberg <zack@codesourcery.com>
9902
9903 * c-opts.c (add_prefixed_path): Don't use concat. When
9904 prefixing with cpp_GCC_INCLUDE_DIR, copy only the first
9905 cpp_GCC_INCLUDE_DIR_len characters.
9906
9907 2003-03-10 Segher Boessenkool <segher@koffie.nl>
9908
9909 * testsuite/gcc.dg/altivec-9.c: New file.
9910
9911 * config/rs6000/rs6000.c (altivec_frame_fixup): Remove.
9912 (rs6000_emit_prologue): Use rs6000_frame_related instead.
9913
9914 2003-03-10 Aldy Hernandez <aldyh@redhat.com>
9915
9916 * config/rs6000/spe.h: Define __ev64_*64__ to use single element
9917 vectors.
9918 (__ev_convert_u64): Remove macro. Define as inline.
9919 (__ev_convert_s64): Same.
9920
9921 2003-03-10 Aldy Hernandez <aldyh@redhat.com>
9922
9923 * config/rs6000/rs6000.h (DWARF_FRAME_REGISTERS): Define.
9924 (rs6000_stack_t): Add spe_64bit_regs_used.
9925
9926 * config/rs6000/rs6000.c (rs6000_stack_info): Calculate
9927 spe_64bit_regs_used, and use it to determine the size of the
9928 frame.
9929 (spe_func_has_64bit_regs_p): New.
9930 (spe_synthesize_frame_save): New.
9931 (rs6000_frame_related): Handle SPE synthetic registers.
9932 (rs6000_emit_prologue): Only save in 64-bits if the function used
9933 any registers in 64-bit mode.
9934 (rs6000_emit_epilogue): Same, but for restore.
9935
9936 2003-03-10 Richard Earnshaw <rearnsha@arm.com>
9937
9938 * arm.h (enum floating_point_type): Delete. Replace with...
9939 (enum fputype): ... new.
9940 (FPUTYPE_DEFAULT): Renamed from FP_DEFAULT. Values reworked.
9941 * linux-elf.h (FPUTYPE_DEFAULT): Likewise.
9942 * arm.md (attr fpu): Reworked for new underlying enum values.
9943 * arm.c (arm_fpu_arch): Now enum fputype.
9944 (arm_fpu_tune): Renamed from arm_fpu. Now enum fputype.
9945 (arm_override_options, arm_output_epilogue, arm_expand_prologue):
9946 Update uses of arm_fpu_arch and arm_fpu_tune.
9947
9948 2003-03-10 Josef Zlomek <zlomekj@suse.cz>
9949
9950 * cfgcleanup.c (outgoing_edges_match): Compare the jump tables.
9951 (try_crossjump_to_edge): Replace refereces to one jump table by
9952 references to identical jump table.
9953 * loop.c (load_mems): Moved setting the JUMP_LABEL to replace_label.
9954 (replace_label): Moved to rtlanal.c.
9955 (struct rtx_pair): Moved to rtl.h.
9956 * rtl.h (struct rtx_pair): Moved from loop.c.
9957 (replace_label): New extern function.
9958 (subrtx_p): New extern function.
9959 (tablejump_p): New extern function.
9960 * rtlanal.c (replace_label): Moved from loop.c.
9961 (subrtx_p_1): New static function.
9962 (subrtx_p): New function.
9963 (tablejump_p): New function.
9964
9965 2003-03-10 Jan Hubicka <jh@suse.cz>
9966
9967 * cfgcleanup.c (try_optimize_cfg): Fix thinko in previous patch.
9968
9969 * cfgcleanup.c (merge_blocks): Return where to iterate next.
9970 (try_optimize_cfg): Use return value of merge_blocks
9971
9972 2003-03-10 Michael Matz <matz@suse.de>
9973
9974 * cfg.c (unchecked_make_edge): New.
9975 (cached_make_edge): Use it.
9976 * basic-block.h (unchecked_make_edge): Declare.
9977 * cfglayout.c (cfg_layout_duplicate_bb): Use it.
9978
9979 2003-03-10 Richard Earnshaw <rearnsha@arm.com>
9980
9981 * fpa.md: New file. Move all patterns relating to FPA co-processor
9982 to here...
9983 * arm.md: ... from here.
9984 (cirrus.md, fpa.md): Include at end of description.
9985 (divsf3, divdf3, modsf3, movdf3, sqrtsf2, sqrtdf2): New expands.
9986 (pic_load_addr_based): Remove register constraint from expander.
9987 (seq, sne, sgt, sle, slt, sge, sgeu, sleu, sgtu, sltu, sunordered)
9988 (sordered, sungt, sunle, sunge, sunlt): Likewise.
9989 (eh_epilogue, tablejump): Likewise.
9990
9991 2003-03-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9992
9993 * tree.c (substitute_in_expr, case 'e'): Only make recursive call
9994 on operands if it has a PLACEHOLDER_EXPR.
9995
9996 2003-03-09 David Edelsohn <edelsohn@gnu.org>
9997 Mostafa Hagog
9998
9999 * config/rs6000/rs6000.md (movsi_update1): Add TARGET_UPDATE final
10000 condition.
10001
10002 2003-03-09 Neil Booth <neil@daikokuya.co.uk>
10003
10004 * config/frv/frv.h: Use TARGET_CPU_CPP_BUILTINS, not CPP_PREDEFINES.
10005 * config/ip2k/ip2k.h: Similarly.
10006 * config/m32r/m32r.h: Similarly.
10007 * config/m68hc11/m68hc11.h: Similarly.
10008 * config/mn10200/mn10200.h: Similarly.
10009 * config/mn10300/mn10300.h: Similarly.
10010 * config/pdp11/pdp11.h: Similarly.
10011 * config/v850/v850.h: Similarly.
10012 * config/rs6000/vxworks.h: Similarly for TARGET_OS_CPP_BUILTINS.
10013 * config/v850/retms.h: Similarly for TARGET_OS_CPP_BUILTINS.
10014 * config/mips/iris3.h: Remove #if 0 block.
10015
10016 2003-03-09 Roger Sayle <roger@eyesopen.com>
10017 Joern Rennecke <joern.rennecke@superh.com>
10018
10019 * gcc.c (do_spec_1) ['{']: Revert 2003-02-24 patch. Don't handle
10020 pending argument upon return from handle_braces here.
10021 (do_spec_2): Instead handle it upon return from do_spec_1 here.
10022
10023 2003-03-09 Roger Sayle <roger@eyesopen.com>
10024 Joern Rennecke <joern.rennecke@superh.com>
10025
10026 * gcc.c (do_spec_1) ['{']: Revert 2003-02-24 patch. Don't handle
10027 pending argument upon return from handle_braces here.
10028 (do_spec_2): Instead handle it upon return from do_spec_1 here.
10029
10030 2003-03-09 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
10031
10032 * varasm.c (make_decl_one_only): Use declare_weak().
10033
10034 2003-03-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10035
10036 PR middle-end/9986
10037 * c-common.c (c_common_nodes_and_builtins): Initialize target builtins
10038 after the common builtins.
10039 * pa-hpux.h (DONT_HAVE_FPUTC_UNLOCKED): Define.
10040 * pa.c (TARGET_INIT_BUILTINS): Define.
10041 (pa_init_builtins): New function.
10042
10043 * pa.md (call, call_value, sibcall, sibcall_value): When sufficient
10044 space has been allocated for the outgoing arguments, set the arg
10045 pointer for a call emitted after virtuals have been instantiated
10046 using the stack pointer offset, otherwise abort.
10047
10048 2003-03-09 DJ Delorie <dj@redhat.com>
10049
10050 * config/stormy16/stormy16.h (DWARF_LINE_MIN_INSTR_LENGTH): Revert.
10051
10052 2003-03-09 Richard Earnshaw <rearnsha@arm.com>
10053
10054 * arm.md (fix_truncsfsi2, fix_truncdfsi2, arm_fix_truncsfsi2)
10055 (arm_fix_truncdfsi2): Add missing fix in floating point mode before
10056 conversion to integer.
10057 * cirrus.md (cirrus_truncsfsi2, cirrus_truncdfsi2): Likewise.
10058
10059 2003-03-09 Roger Sayle <roger@eyesopen.com>
10060
10061 * builtins.def: Fix typo and improve grammar.
10062 * loop-unroll.c (decide_peel_completely): Tidy log message.
10063
10064 2003-03-09 Kazu Hirata <kazu@cs.umass.edu>
10065
10066 * config/h8300/h8300.md (*tstsi_upper_bit): New.
10067 (*iorsi3_e2f): Likewise.
10068
10069 2003-03-08 Kazu Hirata <kazu@cs.umass.edu>
10070
10071 * config/h8300/h8300.c (h8300_and_costs): Return the number of
10072 assembly instructions needed.
10073 (h8300_shift_costs): Likewise.
10074
10075 2003-03-09 Hans-Peter Nilsson <hp@bitrange.com>
10076
10077 * config/cris/aout.h (ENDFILE_SPEC): Undef.
10078
10079 * optabs.c (gen_move_insn): Move logic for synthesizing MODE_CC
10080 moves from here ...
10081 * expr.c (emit_move_insn_1): ... to here.
10082
10083 * config/cris/aout.h (CRIS_CPP_SUBTARGET_SPEC): Move -D__AOUT__ to...
10084 (TARGET_OS_CPP_BUILTINS): New macro.
10085 * config/cris/cris.h (CRIS_CPP_SUBTARGET_SPEC): Move -D__ELF__ to...
10086 (TARGET_OS_CPP_BUILTINS): New macro.
10087 (CPP_PREDEFINES): Don't define. Move old definitions and...
10088 (CPP_SPEC): ...move -D__CRIS_ABI_version=2 to...
10089 (TARGET_CPU_CPP_BUILTINS): New macro.
10090 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Move constant
10091 definitions and the optional __PIC__, __pic__ and
10092 __NO_UNDERSCORES__ definitions to...
10093 (TARGET_OS_CPP_BUILTINS): New macro.
10094
10095 * flags.h (flag_leading_underscore): Declare.
10096
10097 * c-opts.c (c_common_post_options): On fopen failure, return
10098 false, not NULL.
10099
10100 2003-03-08 Hans-Peter Nilsson <hp@bitrange.com>
10101
10102 * config/cris/cris_abi_symbol.c: #include tconfig.h and tm.h, not
10103 config.h.
10104 * config/cris/cris.h (HAVE_GAS_HIDDEN): Don't define here.
10105 * config/cris/aout.h (HAVE_GAS_HIDDEN): Undef.
10106
10107 2003-03-08 Neil Booth <neil@daikokuya.co.uk>
10108
10109 * config/sh/rtemself.h (TARGET_OS_CPP_BUILTINS): Use instead of
10110 CPP_PREDEFINES.
10111 * config/sh/rtems.h (TARGET_OS_CPP_BUILTINS): Use instead of
10112 CPP_PREDEFINES.
10113
10114 2003-03-08 Neil Booth <neil@daikokuya.co.uk>
10115
10116 * c-common.h (c_common_init, c_common_post_options): Update.
10117 * c-objc-common.c (c_objc_common_init): Update for new prototype.
10118 * c-opts.c (saved_lineno): New.
10119 (c_common_post_options, c_common_init): Update prototypes,
10120 move call to cpp_read_main_file from latter to former.
10121 * c-tree.h (c_ojbc_common_init): Update.
10122 * langhooks-def.h (lhd_post_options): New.
10123 (LANG_HOOKS_INIT, LANG_HOOKS_POST_OPTIONS): Update.
10124 * langhooks.c (lhd_post_options): New.
10125 * langhooks.h (struct lang_hooks): Update post_options and init hooks.
10126 * toplev.c (no_backend): New.
10127 (process_options): Call post_options hook and set main_input_filename
10128 and input_filename here.
10129 (lang_dependent_init, do_compile): post_options hook moved to
10130 process_options.
10131 * objc/objc-act.c (objc_init): Update prototype.
10132 * objc/objc-act.h (objc_init): Update prototype.
10133
10134 2003-03-08 Roger Sayle <roger@eyesopen.com>
10135
10136 * emit-rtl.c (gen_lowpart): Don't attempt to load a part of
10137 a complex or vector type, using a load in the original mode.
10138
10139 2003-03-08 Jan Hubicka <jh@suse.cz>
10140
10141 * Makefile.in (cgraph.o): Depend on gt-cgraph.h and varray.h.
10142 * gt-cgraph.h: New GC file.
10143 * cgraph.c (known_fns): New static variable.
10144 (cgraph_node): Add the decl into varray.
10145
10146 2003-03-08 Hans-Peter Nilsson <hp@bitrange.com>
10147
10148 * config/mmix/mmix.md ("*movcc_expanded"): Add missing alternatives.
10149
10150 2003-03-08 Richard Earnshaw <rearnsha@arm.com>
10151
10152 * arm.c (fpa_rhs_operand, fpa_add_operand, const_double_rtx_ok_for_fpa)
10153 (neg_const_double_ok_for_fpa, output_mov_long_double_fpa_from_arm)
10154 (output_mov_long_double_arm_from_fpa, output_mov_double_fpa_from_arm)
10155 (output_mov_double_arm_from_fpa): Renamed to use fpa instead of fpu.
10156 All callers changed.
10157 * arm.md, arm.h, arm-protos.h: Updated.
10158
10159 * arm.h (enum reg_class FPA_REGS): Renamed from FPU_REGS.
10160 (CLASS_MAX_NREGS, REGISTER_MOVE_COST, REG_CLASS_FROM_LETTER): Updated.
10161 * arm.c (arm_regno_class, f_register_operand): Updated.
10162
10163 2003-03-08 Hans-Peter Nilsson <hp@bitrange.com>
10164
10165 * config/cris/cris.h: Remove EGCS references.
10166 (CPP_SPEC): Remove "-$".
10167 (INIT_CUMULATIVE_ARGS): Adjust parameter name to FNDECL.
10168
10169 2003-03-08 Neil Booth <neil@daikokuya.co.uk>
10170
10171 * config/stormy16/stormy16.h (TARGET_CPU_CPP_BUILTINS): Use in
10172 preference to CPP_PREDEFINES.
10173
10174 2003-03-08 Neil Booth <neil@daikokuya.co.uk>
10175
10176 * cppinit.c (cpp_finish_options): Set first_unused_line to -1.
10177
10178 2003-03-08 Kazu Hirata <kazu@cs.umass.edu>
10179
10180 * config/h8300/h8300.md (*extzv_16_8): New.
10181
10182 2003-03-08 Jan Hubicka <jh@suse.cz>
10183
10184 * c-decl.c: (finish_function): Update call of tree_inlinable_function_p.
10185 * cgraph.h: (cgraph_local_info): Add can_inline_once
10186 (cgraph_global_info): Add inline_once.
10187 (cgraph_node): Add previous.
10188 (cgraph_remove_node): New.
10189 * cgraphunit.c (cgraph_mark_functions_to_inline_once): New static
10190 function.
10191 (cgraph_optimize): Call it.
10192 (cgraph_finalize_function): Set inlinable flags.
10193 (cgraph_finalize_compilation_unit): Actually remove the reclaimed nodes.
10194 (cgraph_mark_functions_to_output): Use new inlining heuristics flags.
10195 (cgraph_expand_function): Likewise.
10196 * cgraph.c
10197 (cgraph_node): Put nodes into doubly linked chain.
10198 (cgraph_remove_node): New function.
10199 * flags.h (flag_inline_functions_called_once): Declare.
10200 * tree-inline.c: Include cgraph.h
10201 (inlinable_functions_p): Add extra argument to bypass limits.
10202 (expand_call_inline): Obey cgraph flag.
10203 * tree-inline.h (tree_inlinable_function_p): Update prototype.
10204
10205 2003-03-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10206
10207 * gcse.c (bypass_block, bypass_conditional_jumps): Do not create
10208 irreducible loops.
10209
10210 * loop-unroll.c (unroll_loop_runtime_iterations): Update irreducible
10211 loops info correctly.
10212
10213 2003-03-08 Eric Botcazou <ebotcazou@libertysurf.fr>
10214
10215 PR middle-end/7796
10216 * unroll.c (calculate_giv_inc): Handle constants being
10217 loaded with LSHIFTRT.
10218
10219 2003-03-07 David Edelsohn <edelsohn@gnu.org>
10220
10221 * config/rs6000/rs6000.c (processor_target_table): Do not disable
10222 GP optional instructions on Power3, Power4, 620, and 630.
10223
10224 2003-03-07 Kazu Hirata <kazu@cs.umass.edu>
10225
10226 * calls.c: Fix comment formatting.
10227 * cfgloopanal.c: Likewise.
10228 * cfgloopmanip.c: Likewise.
10229 * combine.c: Likewise.
10230 * dwarf2out.c: Likewise.
10231 * ggc-common.c: Likewise.
10232 * langhooks.c: Likewise.
10233 * loop-unroll.c: Likewise.
10234 * loop.c: Likewise.
10235 * ra-build.c: Likewise.
10236 * sbitmap.c: Likewise.
10237 * toplev.c: Likewise.
10238
10239 2003-03-07 James E Wilson <wilson@tuliptree.org>
10240
10241 * config/sh/sh.h (HARD_REGNO_NREGS): Round up the XD register count.
10242
10243 2003-03-07 Geoffrey Keating <geoffk@apple.com>
10244
10245 * objc/lang-specs.h (objective-c-header): Use .gch not .pch;
10246 support -no-integrated-cpp.
10247
10248 * c-pch.c (get_ident): Use c_language_kind and flag_objc rather
10249 than langhooks.name.
10250
10251 2003-03-07 Michael Matz <matz@suse.de>
10252
10253 * df.h (enum df_ref_flags.DF_REF_STRIPPED): New.
10254 (DF_FOR_REGALLOC): New.
10255 * df.c (df_ref_record): Set DF_REF_STRIPPED.
10256 (read_modify_subreg_p): Simplify.
10257 (df_def_record_1, df_uses_record): Set DF_REF_MODE_CHANGE more often.
10258 Use DF_FOR_REGALLOC.
10259 * ra.h (struct web): New member subreg_stripped.
10260 (invalid_mode_change_regs): Declare.
10261 * ra.c (invalid_mode_change_regs): New.
10262 (init_ra): Initialize it.
10263 * ra-build.c (init_one_web_common, remember_web_was_spilled): Use it.
10264 Use CANNOT_CHANGE_MODE_CLASS as ifdef guard.
10265 (reinit_one_web, parts_to_web_1): Deal with subreg_stripped.
10266 * ra-colorize.c (colorize_one_web): Use invalid_mode_change_regs.
10267 Use CANNOT_CHANGE_MODE_CLASS as ifdef guard.
10268
10269 2003-03-07 Richard Earnshaw <rearnsha@arm.com>
10270
10271 * arm.md (addsf3, adddf3, subsf3, subdf3, mulsf3, muldf3, negsf2)
10272 (negdf2, abssi2, abssf2, absdf2, floatsisf2, floatsidf2)
10273 (fix_truncsfsi2, fix_truncdfsi2, truncdfsf2): Moved back into main
10274 machine description file from ...
10275 * cirrus.md: ... here.
10276
10277 2003-03-06 Kazu Hirata <kazu@cs.umass.edu>
10278
10279 * config/h8300/h8300.md (a peephole2): Don't use
10280 reg_overlap_mentioned_p.
10281
10282 2003-03-06 Geoffrey Keating <geoffk@apple.com>
10283
10284 * c-pch.c: Include langhooks.h.
10285 (IDENT_LENGTH): New.
10286 (get_ident): New.
10287 (pch_ident): Delete.
10288 (pch_init): Use get_ident, IDENT_LENGTH.
10289 (c_common_valid_pch): Likewise. Also, use actual language
10290 in warning message.
10291 * Makefile.in (c-pch.o): Add langhooks.h to dependencies.
10292
10293 * objc/config-lang.in (gtfiles): Add objc-act.c. Remove duplicate
10294 c-parse.in.
10295 * objc/Make-lang.in (objc/objc-act.o): Add dependency on
10296 gt-objc-objc-act.h.
10297 (gt-objc-objc-act.h): New rule.
10298 * objc/lang-specs.h: Support PCH.
10299 * objc/objc-act.c: Include gt-objc-objc-act.h.
10300 (objc_add_static_instance): Move num_static_inst out, mark for PCH.
10301 (build_selector_reference_decl): Move idx out, mark for PCH.
10302 (build_class_reference_decl): Likewise.
10303 (build_objc_string_decl): Move *_idx out, mark for PCH.
10304 (build_tmp_function_decl): Move xxx out, mark for PCH.
10305
10306 2003-03-06 Dale Johannesen <dalej@apple.com>
10307
10308 * config/rs6000/rs6000.c (rs6000_binds_local_p): Consider
10309 global functions for inlining on Darwin.
10310
10311 2003-03-06 Vladimir Makarov <vmakarov@redhat.com>
10312
10313 * haifa-sched.c (schedule_block): Don't call reorder when sorting
10314 is prohibited.
10315
10316 2003-03-06 Neil Booth <neil@daikokuya.co.uk>
10317
10318 * Makefile.in (c-ppoutput.o): Update.
10319 * c-common.h (init_pp_output): New.
10320 (preprocess_file): Update.
10321 * c-lex.c (init_c_lex): Move mbchar initialization to cpplib.
10322 Register builtins.
10323 * c-opts.c (c_common_init): Call init_pp_output if preprocessing.
10324 Make call to cpp_read_main_file common to whether preprocessing
10325 or not. Don't register builtins.
10326 * c-ppoutput.c: Include c-pragma.h.
10327 (setup_callbacks): Rename init_pp_output.
10328 (preprocess_file): No longer setup callbacks or call
10329 cpp_read_main_file.
10330 * cpphash.h (_cpp_init_mbchar): New.
10331 * cppinit.c (init_library): Call _cpp_init_mbchar.
10332 * cpplex.c (_cpp_init_mbchar): New.
10333
10334 2003-03-06 Roger Sayle <roger@eyesopen.com>
10335
10336 * emit-rtl.c (gen_lowpart): When requesting the low-part of a
10337 MEM, try loading the MEM into a register and taking the low-part
10338 of that, to help CSE see the use of the MEM in its true mode.
10339
10340 2003-03-05 Tom Tromey <tromey@redhat.com>
10341
10342 * config/stormy16/stormy16.h (DWARF_LINE_MIN_INSTR_LENGTH):
10343 Define.
10344
10345 2003-03-05 Nick Clifton <nickc@cambridge.redhat.com>
10346
10347 * config/stormy16/stormy16.md ("*eqbranchsi"): Remove '+' on
10348 operand 2.
10349 ("*ineqbranchsi"): Likewise.
10350
10351 2003-03-05 Andrew Haley <aph@cambridge.redhat.com>
10352
10353 * config/stormy16/stormy16.c (xstormy16_expand_prologue): Delete
10354 mem_fake_push_rtx. Instead construct a SEQUENCE to show the
10355 register store followed by a stack increment.
10356
10357 2003-03-05 Chris Moller <cmoller@redhat.com>
10358
10359 * config/stormy16/stormy16.c (REG_NEEDS_SAVE): added a term
10360 to inhibit saving CARRY_REGS.
10361
10362 * config/stormy16/stormy16.c (xs_hi_general_operand):
10363 added predicate to detect and error-out on out-of-range
10364 const_ints for movhi.
10365 * config/stormy16/stormy16.md (movhi): use
10366 xs_hi_general_operand.
10367
10368 * config/stormy16/stormy16.c (xstormy16_expand_prologue):
10369 added a check for local vbl size overflow.
10370 * config/stormy16/stormy16.c (xs_hi_nonmemory_operand):
10371 added predicate to detect and error-out on out-of-range
10372 const_ints for addhi and subhi.
10373 * config/stormy16/stormy16.md (addhi3, addchi4, addchi5,
10374 subhi3, subchi4, subchi5): used xs_hi_nonmemory_operand.
10375
10376 * config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
10377 add a term to accept PRE_MODIFY addresses.
10378 * config/stormy16/stormy16.c (xstormy16_expand_move):
10379 add code to expand PRE_MODIFY addresses to an add followed
10380 by a move.
10381
10382 2003-03-06 Jason Merrill <jason@redhat.com>
10383
10384 * tree-inline.c (inlinable_function_p): Revert earlier change
10385 pending investigation.
10386
10387 2003-03-06 Kazu Hirata <kazu@cs.umass.edu>
10388
10389 * config/h8300/h8300.md (a new peephole2): New.
10390
10391 2003-03-06 Jan Hubicka <jh@suse.cz>
10392
10393 * cgraph.c (cgraph_node): Do not confuse nested functions and methods.
10394
10395 2003-03-06 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10396
10397 * dwarf2out.c (size_of_die): Compute size of external reference to
10398 die correctly.
10399
10400 2003-03-06 Hans-Peter Nilsson <hp@bitrange.com>
10401
10402 * config/mmix/mmix.md ("*movcc_expanded"): New pattern.
10403 ("movcc", "movcc_uns", "movcc_fp", "movcc_fpeq", "movcc_fun"): New
10404 expanders.
10405
10406 2003-03-05 Roger Sayle <roger@eyesopen.com>
10407
10408 * expr.h (lang_expand_expr): Delete obsolete prototype.
10409
10410 2003-03-05 Kazu Hirata <kazu@cs.umass.edu>
10411
10412 * emit-rtl.c (gen_highpart_mode): Fix a comment typo.
10413
10414 2003-03-05 Kazu Hirata <kazu@cs.umass.edu>
10415
10416 * config/h8300/h8300.md (a peephole2): Generalize to
10417 accept a memory operand.
10418
10419 2003-03-05 Olivier Hainque <hainque@act-europe.fr>
10420
10421 * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Add '+'.
10422 * config/alpha/alpha.c (print_operand, case '+'): New.
10423 * config/alpha/alpha.md (call_osf_1_noreturn): Document and use.
10424 (call_value_osf_1_noreturn): Likewise.
10425
10426 2003-03-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10427
10428 * stmt.c (fixup_gotos): Change meaning of DONT_JUMP_IN.
10429 (expand_end_bindings): Likewise.
10430
10431 2003-03-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10432
10433 * pa.md (return_external_pic): Add !TARGET_PA_20 to constraint.
10434 (epilogue): Don't generate return_external_pic when emitting PA 2.0
10435 code.
10436
10437 2003-03-05 Aldy Hernandez <aldyh@redhat.com>
10438
10439 * doc/tm.texi: Document TARGET_DWARF_REGISTER_SPAN.
10440
10441 * config/rs6000/rs6000.c (rs6000_dwarf_register_span): New.
10442
10443 * hooks.c (hook_rtx_rtx_null): New.
10444
10445 * hooks.h (hook_rtx_rtx_null): Protoize.
10446
10447 * target-def.h (TARGET_DWARF_REGISTER_SPAN): New macro.
10448 (TARGET_INITIALIZER): Add TARGET_DWARF_REGISTER_SPAN.
10449
10450 * target.h (struct gcc_target): Add dwarf_register_span.
10451
10452 * dwarf2out.c (multiple_reg_loc_descriptor): New.
10453 (one_reg_loc_descriptor): New.
10454 (reg_loc_descriptor): Add support for values that span more than
10455 one register.
10456
10457 2003-03-05 Jan Hubicka <jh@suse.cz>
10458
10459 * Makefile.in (calls.o, toplev.o alias.o): Depend on cgraph.h
10460 * alias.c: Include cgraph.h
10461 (mark_constant_function): Use cgraph_rtl_info.
10462 * calls.c: Include cgraph.h
10463 (flags_from_decl_or_type): Use cgraph_rtl_info to find pure and const
10464 calls.
10465 (expand_call): Use cgraph_rtl_info to set preferred stack boundary.
10466 * cgraph.c (cgraph_rtl_info): New function.
10467 * cgraph.h (cgraph_rtl_info): Declare
10468 (cgraph_rtl_info): Likewise.
10469 * function.h (struct function): Add recursive_call_emit.
10470 * toplev.c: Include cgraph.h.
10471 (rest_of_compilation): Set preferred_incoming_stack_boundary.
10472
10473 2003-03-05 Kazu Hirata <kazu@cs.umass.edu>
10474
10475 * config/h8300/h8300.c (output_simode_bld): Clear the
10476 destination first if possible.
10477 * config/h8300/h8300.md (extzv_1_r_h8300hs): Add an
10478 alternative.
10479 (extzv_1_r_inv_h8300hs): Likewise.
10480
10481 2003-03-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10482
10483 * basic-block.h (EDGE_IRREDUCIBLE_LOOP, EDGE_ALL_FLAGS): New.
10484 * cfg.c (dump_edge_info): Add EDGE_IRREDUCIBLE_LOOP flag dump.
10485 * cfgloop.c (flow_loop_free): Made global.
10486 (establish_preds): New static function.
10487 (flow_loop_tree_node_add): Handle subloops of added loop correctly.
10488 (get_loop_exit_edges): New.
10489 (verify_loop_structure): Verify EDGE_IRREDUCIBLE_LOOP flags.
10490 * cfgloop.h (flow_loop_free, get_loop_exit_edges, unloop): Declare.
10491 * cfgloopanal.c (mark_irreducible_loops): Mark edges in irreducible
10492 loops.
10493 * cfgloopmanip.c (loop_delete_branch_edge): Allow to test for
10494 removability of an edge.
10495 (fix_irreducible_loops): New static function.
10496 (find_path, remove_path): Add ability to remove enclosing loops.
10497 (unloop): New.
10498 (copy_bbs, duplicate_loop_to_header_edge): Use EDGE_IRREDUCIBLE_LOOP
10499 flags.
10500 * cfgrtl.c (verify_flow_info): Handle EDGE_IRREDUCIBLE_LOOP flag.
10501 * loop-unroll.c (peel_loops_completely): Do not duplicate loop if
10502 not neccessary.
10503 (decide_peel_completely, peel_loops_completely): Allow complete peeling
10504 of non-duplicable once rolling loops.
10505 * loop-unswitch.c (unswitch_loop): Update EDGE_IRREDUCIBLE_LOOP flags.
10506
10507 2003-03-05 J"orn Rennecke <joern.rennecke@superh.com>
10508
10509 * sh.h (OVERRIDE_OPTIONS): For TARGET_SHMEDIA, the minimum value
10510 for align_jumps is 4.
10511
10512 (SECONDARY_INPUT_RELOAD_CLASS): If reloading a PLUS into FPUL,
10513 use GENERAL_REGS.
10514
10515 2003-03-05 Stephane Carrez <stcarrez@nerim.fr>
10516
10517 * config/m68hc11/m68hc11.h (PAD_VARARGS_DOWN): Define and return
10518 according to va_arg type.
10519 (EXPAND_BUILTIN_VA_ARG): Remove.
10520 * config/m68hc11/m68hc11.c (m68hc11_va_arg): Remove.
10521 * config/m68hc11/m68hc11-protos.h (m68hc11_va_arg): Remove.
10522
10523 2003-03-05 David Edelsohn <edelsohn@gnu.org>
10524
10525 * config/rs6000/rs6000.c (rs6000_variable_issue): Remove unnecessary
10526 else clauses.
10527
10528 2003-03-05 Michael Matz <matz@suse.de>
10529
10530 * i386/i386.c (ix86_save_reg): Also test
10531 current_function_uses_const_pool.
10532
10533 2003-03-05 Michael Matz <matz@suse.de>
10534
10535 * unwind.h: Add the GPL exception.
10536 * Makefile.in (USER_H): Add unwind.h.
10537
10538 2003-03-05 Eric Botcazou <ebotcazou@libertysurf.fr>
10539
10540 PR c/9799
10541 * c-typeck.c (push_init_level): Add sanity check.
10542
10543 2003-03-05 Jan Hubicka <jh@suse.cz>
10544
10545 * toplev.c (rest_of_compilation): Deffer RTL compilation only when
10546 RTL inlining is done.
10547
10548 * cgraphunit.c (cgraph_mark_local_functions): New local function.
10549 (cgraph_optimize): Mark local functions.
10550 * i386-protos.h (init_cumulative_args): Update prototype.
10551 * i386.c (init_cumulative_args): Use register passing convention for
10552 local functions.
10553
10554 * cgraph.c (cgraph_global_info_ready): New global variable
10555 (cgraph_local_info, cgraph_global_info): New functions.
10556 * cgraph.h (struct cgraph_local_info, cgraph_global_info): New
10557 structures.
10558 (cgraph_local_info, cgraph_global_info, cgraph_global_info_ready):
10559 Declare.
10560 * cgraphunit.c (cgraph_finalize_function): Set inline_many.
10561 (cgraph_mark_functions_to_output): Use inline_many.
10562 (cgraph_expand_function): Free DECL_SAVED_TREE uncondtionally.
10563 (cgraph_expand_functions): Expand inline functions last.
10564 (cgraph_optimize): Do not emit uneeded functions.
10565
10566 2003-03-04 Steve Ellcey <sje@cup.hp.com>
10567
10568 * expr.c (convert_modes): Check for legal hard register.
10569
10570 2003-03-04 Tom Tromey <tromey@redhat.com>
10571
10572 * doc/sourcebuild.texi (Front End Directory): Document tags.
10573 * configure: Rebuilt.
10574 * configure.in (target_list): Added tags.
10575 * Makefile.in (TAGS): Depend on lang.clean. Include subdirectory
10576 TAGS files by reference.
10577 * objc/Make-lang.in (objc.tags): New target.
10578
10579 2003-03-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10580
10581 * gcov-io.h (gcov_save_position, gcov_reserve_length, gcov_resync,
10582 gcov_skip, gcov_skip_string, gcov_write_unsigned, gcov_write_counter,
10583 gcov_write_string, gcov_read_unsigned, gcov_read_counter,
10584 gcov_read_string, gcov_write_length): Modified to enable reading/
10585 writing of whole .da file just once.
10586 (da_file_open, da_file_close, da_file_eof, da_file_error,
10587 da_file_position, da_file_seek, da_file_write, da_file_read): New
10588 functions.
10589 (actual_da_file, actual_da_file_position, actual_da_file_length,
10590 actual_da_file_buffer, actual_da_file_buffer_size): New static
10591 functions.
10592 * libgcov.c (gcov_exit): Modified to read/write the whole .da file at
10593 just once.
10594
10595
10596 2003-03-04 Andreas Schwab <schwab@suse.de>
10597
10598 * config/m68k/m68k.c (m68k_output_function_prologue): Fix CFA
10599 offset without frame pointer.
10600
10601 2003-03-04 Steve Ellcey <sje@cup.hp.com>
10602
10603 * expr.c (expand_expr): Call promote_mode to set unsignedp.
10604
10605 2003-03-04 Daniel Jacobowitz <drow@mvista.com>
10606
10607 * configure.in: Don't always define TARGET_SYSTEM_ROOT.
10608 * configure: Regenerated.
10609 * gcc.c: Check whether TARGET_SYSTEM_ROOT is defined.
10610
10611 2003-03-04 Andreas Jaeger <aj@suse.de>
10612
10613 * configure.in: Check for <memcheck.h>.
10614 * configure: Regenerated.
10615
10616 * config.in: Define HAVE_MEMCHECK_H.
10617
10618 * ggc-common.c: Use <memcheck.h> if available instead of
10619 <valgrind.h>.
10620 * ggc-page.c: Likewise.
10621 * cppfiles.c: Likewise.
10622
10623 2003-03-04 Kazu Hirata <kazu@cs.umass.edu>
10624
10625 * config/h8300/h8300.md (*extzv_8_8): Fix cc and lengths.
10626
10627 2003-03-04 Eric Botcazou <ebotcazou@libertysurf.fr>
10628
10629 PR c/9262
10630 * c-typeck.c (do_case): Attach the first case label to the SWITCH_BODY.
10631 (c_finish_case): Rechain the next statements to the SWITCH_STMT.
10632
10633 2003-03-04 Jan Hubicka <jh@suse.cz>
10634
10635 * doc/invoke.texi: Document that unit-at-a-time is enabled for -O3
10636 * toplev.c (parse_options_and_default_flags): Enable flag_unit_at_a_time
10637 for -O3.
10638
10639 2003-03-04 Nathanael Nerode <neroden@gcc.gnu.org>
10640
10641 * configure.in: Delete three unused variables. Move a variable
10642 definition closer to its use. Simplify use_collect2 logic. Start to
10643 organize. Simplify tests for in-tree gas and ld.
10644 * configure: Regenerate.
10645
10646 2003-03-04 Neil Booth <neil@daikokuya.co.uk>
10647
10648 * Makefile.in: Update.
10649 * c-common.c (flag_no_line_commands, flag_no_output,
10650 flag_dump_macros, flag_dump_includes): New.
10651 * c-common.h (flag_no_line_commands, flag_no_output,
10652 flag_dump_macros, flag_dump_includes, preprocess_file): New.
10653 (init_c_lex): Update prototype.
10654 * c-lex.c (init_c_lex): Update prototype; move some code to
10655 c_common_init.
10656 * c-opts.c (preprocess_file): Subsume into c_common_init.
10657 (c_common_decode_option): Update flags.
10658 (c_common_init): Move code from preprocess_file and init_c_lex.
10659 (sanitize_cpp_opts): Update.
10660 * c-ppoutput.c: New, cppmain.c almost verbatim.
10661 * cpphash.h (struct printer): Remove.
10662 (struct cpp_reader): Remove print.
10663 * cpplib.h (dump_none, dump_only, dump_names, dump_definitions,
10664 cpp_preprocess_file): Remove.
10665 (struct cpp_options): Remove no_output, no_line_commands, dump_macros
10666 and dump_includes.
10667 * cppmain.c: Remove.
10668 * doc/passes.texi: Update.
10669
10670 2003-03-04 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10671
10672 * function.c (STACK_ALIGNMENT_NEEDED): New macro. Default to 1.
10673 (assign_stack_local_1): Perform overall stack alignment only when
10674 STACK_ALIGNMENT_NEEDED is non-zero.
10675 * doc/tm.texi (STACK_ALIGNMENT_NEEDED): Document.
10676
10677 * pa.c (compute_frame_size): Rename fsize to size. Account for
10678 alignment to a word boundary before general register save block. Only
10679 account for double-word alignment before floating point register save
10680 block if one or more are saved. Don't allocate space for %r3 when
10681 frame pointer is needed.
10682 (hppa_expand_prologue): Include alignment to word boundary in local
10683 frame size.
10684 * pa.h (STARTING_FRAME_OFFSET): Define to 8 on both 32 and 64-bit ports.
10685 (STACK_ALIGNMENT_NEEDED): Define.
10686
10687 2003-03-04 Kevin Buettner <kevinb@redhat.com>
10688
10689 * dwarf2out.c (rtl_for_decl_location): Don't return NULL_RTX for
10690 global register variables.
10691
10692 2003-03-04 Alexandre Oliva <aoliva@redhat.com>
10693
10694 * reload.c (reload_adjust_reg_for_mode): New function.
10695 (subst_reloads): Call it.
10696 (operands_match_p): Adjust registers using HARD_REGNO_NREGS.
10697 * reload.h (reload_adjust_reg_for_mode): Declare.
10698 * reload1.c (emit_input_reload_insns, emit_output_reload_insns):
10699 Call it.
10700
10701 2003-03-03 James E Wilson <wilson@tuliptree.org>
10702
10703 * optabs.c (add_equal_note): Delete SUBREG_REG use.
10704 Fixes PR c/7872.
10705
10706 2003-03-03 Kazu Hirata <kazu@cs.umass.edu>
10707
10708 * config/h8300/h8300.md (*ixorsi3_ashift_16): New.
10709 (*ixorsi3_lshiftrt_16): New.
10710 (*iorsi3_ashift_16): Remove.
10711
10712 2003-03-03 Kazu Hirata <kazu@cs.umass.edu>
10713
10714 * config/h8300/h8300.md (*extzv_8_8): Use '?' to simplify the
10715 pattern.
10716
10717 2003-03-03 Geoffrey Keating <geoffk@apple.com>
10718
10719 * doc/install.texi (Specific): Update entry for powerpc-darwin.
10720
10721 2003-03-03 Richard Henderson <rth@redhat.com>
10722
10723 * config/ia64/ia64.h (HAVE_AS_LTOFFX_LDXMOV_RELOCS): Default to 0.
10724
10725 2003-03-03 David Edelsohn <edelsohn@gnu.org>
10726
10727 * config/rs6000/rs6000.c (rs6000_multipass_dfa_lookahead): Delete.
10728 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Delete.
10729 (rs6000_variable_issue): Do not return negative value.
10730 (rs6000_issue_rate): Uniformly set issue rate to 1 for first
10731 scheduling pass.
10732
10733 2003-03-03 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10734
10735 * dwarf2out.c (dwarf2out_finish): Swap order of break_out_includes and
10736 prune_unused_types calls.
10737
10738 2003-03-03 Jason Merrill <jason@redhat.com>
10739
10740 * tree-inline.c (find_builtin_longjmp_call): Save and restore
10741 lineno and input_filename.
10742 (find_alloca_call): Likewise.
10743 (inlinable_function_p): Run the langhook earlier.
10744
10745 * calls.c (compute_argument_addresses): Give the new MEMs a
10746 minimum alignment of PARM_BOUNDARY.
10747
10748 2003-03-03 J"orn Rennecke <joern.rennecke@superh.com>
10749
10750 * config/sh/sh.h (EXTRA_SPECS): Add subtarget_asm_relax_spec and
10751 subtarget_asm_isa_spec.
10752 (SUBTARGET_ASM_RELAX_SPEC, SUBTARGET_ASM_ISA_SPEC): Define.
10753 (ASM_SPEC): Define as SH_ASM_SPEC.
10754 (SH_ASM_SPEC): New; take the role of ASM_SPEC, but safe from svr4.h.
10755 Use subtarget_asm_relax_spec and subtarget_asm_isa_spec.
10756 * config/sh/elf.h (ASM_SPEC): Use SH_ASM_SPEC.
10757 (SUBTARGET_ASM_ISA_SPEC): Undef / define.
10758
10759 * sh.h (OVERRIDE_OPTIONS): Set default values for align_loops
10760 and align_jumps if not set.
10761 Force align_jumps to be at least 2.
10762 When relaxing, force align_functions to be at least the maximum of
10763 align_loops, align_jumps and 4.
10764 * sh.c (find_barrier, barrier_align): Honour align_jumps_log.
10765 (sh_loop_align): Honour align_loops_log.
10766
10767 * sh.md (length attribute): Use prev_nonnote_insn instead of PREV_INSN
10768 to check for indirect_jump_scratch.
10769 (indirect_jump_scratch): Add second set.
10770 * sh.c (output_far_jump): Use prev_nonnote_insn instead of PREV_INSN
10771 when looking for indirect_jump_scratch.
10772 Extract scratch register taking new structure of indirect_jump_scratch
10773 into account.
10774 (gen_block_redirect): Set INSN_SCOPE for indirect_jump_scratch.
10775
10776 2003-03-03 Jan Hubicka <jh@suse.cz>
10777
10778 * calls.c (rtx_for_function_call): Take the address as an argument
10779 (expand_call): Do not modify the expression.
10780
10781 * toplev.c (rest_of_compilation): Avoid cfg_cleanup calls when not
10782 optimizing.
10783
10784 2003-03-03 Kazu Hirata <kazu@cs.umass.edu>
10785
10786 * config/h8300/h8300.md (*ixorsi3_zext_hi): Restrict to
10787 TARGET_H8300H and TARGET_H8300S.
10788
10789 2003-03-03 Kazu Hirata <kazu@cs.umass.edu>
10790
10791 * config/h8300/h8300.md (a peephole2): New.
10792
10793 2003-03-03 Kazu Hirata <kazu@cs.umass.edu>
10794
10795 * config/h8300/h8300.md (*extzv_8_8): Use shorter code when
10796 operands[0] and operands[1] are different.
10797
10798 2003-03-03 Kazu Hirata <kazu@cs.umass.edu>
10799
10800 * reload1.c (reload_cse_move2add): Remove variable success.
10801
10802 2003-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10803
10804 * ggc-common.c (ggc_rlimit_bound): Cast RLIM_INFINITY to avoid
10805 warnings.
10806
10807 2003-03-02 Richard Henderson <rth@redhat.com>
10808
10809 * configure.in (HAVE_AS_LTOFFX_LDXMOV_RELOCS): New ia64 test.
10810 * config.in, configure: Rebuild.
10811 * config/ia64/ia64.c (ia64_ld_address_bypass_p): Accept lo_sum.
10812 * config/ia64/ia64.md (load_symptr): Use high/lo_sum for the
10813 paired ldtoffx and ldxmov annotations.
10814 (load_symptr_internal1): Remove.
10815 (load_symptr_high, load_symptr_low): New.
10816
10817 2003-03-02 Neil Booth <neil@daikokuya.co.uk>
10818
10819 * c-incpath.c (add_path): Fix sysp assignment.
10820
10821 2003-03-02 Kurt Garloff <garloff@suse.de>
10822
10823 * params.def: Introduce parameter max-inline-insns-rtl for
10824 a separate limit for the RTL inliner.
10825 * params.h: Likewise.
10826 * integrate.c (function_cannot_inline_p): Use it.
10827 * toplev.c (decode_f_option): Set multiple parameters
10828 controlling inlining with -finline-limit.
10829 * params.def: Fix orthographic and typographic errors.
10830 * doc/invoke.texi: Document parameters controlling inlining
10831 and the way -finline-limit sets multiple of them.
10832
10833 * tree.h (struct tree_decl): Introduce inlined_function_flag,
10834 recording whether the function became eligible for inlining
10835 by a compiler flag rather than the declaration.
10836 Provide DID_INLINE_FUNC macro to access it.
10837 * c-decl.c (grokdeclarator): Set DID_INLINE_FUNC.
10838 * cp/decl.c (grokfndecl): Likewise.
10839 * toplev.c (rest_of_compilation): Likewise.
10840 * cp/optimize (maybe_clone_body): Copy DID_INLINE_FUNC.
10841 * print-tree.c (print_node): Report it.
10842 * params.def: Introduce new max-inline-insns-auto limit.
10843 * params.h: Likewise.
10844 * tree-inline.c (inlinable_function_p): Apply it to functions
10845 with DID_INLINE_FUNC set.
10846 * toplev.c (decode_f_option): Initialize it from -finline-limit
10847 value.
10848 * doc/invoke.texi: Document new parameter.
10849
10850 2003-03-02 Geoffrey Keating <geoffk@apple.com>
10851
10852 * fix-header.c (read_scan_file): Don't reference simplify_path.
10853
10854 2003-03-02 Stephane Carrez <stcarrez@nerim.fr>
10855
10856 * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't enable
10857 min/max instructions by default as may result in reload errors.
10858
10859 2003-03-02 Stephane Carrez <stcarrez@nerim.fr>
10860
10861 * config/m68hc11/m68hc11.md ("mulqi3"): Allow address register to
10862 avoid reload problems; define split for it.
10863
10864 2003-03-02 Stephane Carrez <stcarrez@nerim.fr>
10865
10866 * config/m68hc11/m68hc11.c (m68hc11_shift_operator): New function.
10867 * config/m68hc11/m68hc11-protos.h (m68hc11_shift_operator): Declare.
10868 * config/m68hc11/m68hc11.h (PREDICATE_CODES): Register.
10869 * config/m68hc11/m68hc11.md ("rotrhi3", "rotlhi3"): New patterns for
10870 rotatert and rotate.
10871 ("rotrhi3_const", "rotlhi3_const"): Rename of old 'rotrhi3' insns.
10872 ("*rotrhi3", "*rotlhi3"): New insn pattern for non-const rotatert.
10873 ("*rotrhi3_addr"): New split for shift insns on address register.
10874 ("*lshrhi3", "*ashrhi3", "*ashlhi3_2"): Use new split.
10875 * config/m68hc11/larith.asm (___rotlhi3): New asm function.
10876 (___rotrhi3): Likewise.
10877 * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build them.
10878
10879 2003-03-02 Neil Booth <neil@daikokuya.co.uk>
10880
10881 * toplev.c (aux_base_name): Moved from toplev.h.
10882 (filename): Constify.
10883 (lang_dependent_init): Don't duplicate name.
10884 (process_options): Set aux_base_name here, not...
10885 (do_compile): ...here. Change protoype.
10886 (toplev_main): Move some code from do_compile.
10887 * toplev.h: Remove aux_base_name.
10888
10889 2003-03-02 Kazu Hirata <kazu@cs.umass.edu>
10890
10891 * config/h8300/h8300-protos.h: Add a prototype for
10892 iorxor_operator.
10893 * config/h8300/h8300.c (print_operand): Handle 'c'.
10894 (iorxor_operator): New.
10895 * config/h8300/h8300.h (PREDICATE_CODES): Add iorxor_operator.
10896 * config/h8300/h8300.md (*iorhi3_zext): Remove.
10897 (*iorsi3_zexthi): Likewise.
10898 (*iorsi3_zextsi): Likewise.
10899 (*xorhi3_zextqi): Likewise.
10900 (*xorsi3_zexthi): Likewise.
10901 (*xorsi3_zextsi): Likewise.
10902 (*ixorhi3_zext): New.
10903 (*ixorsi3_zext_qi): Likewise.
10904 (*ixorsi3_zext_hi): Likewise.
10905
10906 2003-03-02 Neil Booth <neil@daikokuya.co.uk>
10907
10908 * c-incpath.c (remove_component_p, simplify_path): Move back to
10909 cppfiles.c.
10910 (remove_duplicates): Use cpp_simplify_path.
10911 * c-incpath.h (simplify_path): Remove.
10912 * c-lex.c: Don't include c-incpath.h.
10913 (init_c_lex): Remove simplify_path.
10914 * cppfiles.c (remove_component_p, cpp_simplify_path): Restore.
10915 (find_or_create_entry, validate_pch): Revert.
10916
10917 2003-03-02 Ashif Harji <asharji@uwaterloo.ca>
10918
10919 * gcc.c (default_compilers): Add -no-integrated-cpp flag to invoke
10920 an external cpp during compilation.
10921 (option_map): Likewise.
10922 * objc/lang-specs.h (default_compilers): Similarly.
10923 * doc/invoke.texi: Document -no-integrated-cpp flag.
10924
10925 2003-03-02 Kazu Hirata <kazu@cs.umass.edu>
10926
10927 * config/h8300/h8300.md (zero_extendqisi2): Change to an
10928 expander.
10929 (*zero_extendqisi2_h8300): New.
10930 (*zero_extendqisi2_h8300hs): New.
10931 (two splitters): New.
10932
10933 2003-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10934
10935 * fp-bit.h (float_to_usi): Fix condition wrapping prototype.
10936
10937 2003-03-01 Kazu Hirata <kazu@cs.umass.edu>
10938
10939 * config/h8300/h8300.md (a peephole2): Remove dead code.
10940
10941 2003-03-01 Roger Sayle <roger@eyesopen.com>
10942
10943 PR c++/9367
10944 * builtin-types.def (DEF_FUNCTION_TYPE_VAR_3): New macro.
10945 (BT_FN_INT_CONST_STRING_VALIST_ARG,
10946 BT_FN_INT_STRING_CONST_STRING_VALIST_ARG,
10947 BT_FN_INT_CONST_STRING_CONST_STRING_VALIST_ARG,
10948 BT_FN_INT_STRING_SIZE_CONST_STRING_VALIST_ARG,
10949 BT_FN_INT_STRING_CONST_STRING_VAR,
10950 BT_FN_INT_CONST_STRING_CONST_STRING_VAR,
10951 BT_FN_INT_STRING_SIZE_CONST_STRING_VAR): New built-in types.
10952 * builtin-attrs.def (ATTR_NONNULL_1, ATTR_NONNULL_2,
10953 ATTR_NONNULL_3): Also include the nothrow attribute.
10954 (sprintf, scanf, sscanf, vprintf, vsprintf, snprintf,
10955 vsnprintf, vscanf, vsscanf): Don't define attributes here.
10956 * builtins.def (putchar, puts): Make full C89 built-ins.
10957 (snprintf, sprintf, scanf, sscanf, vprintf, vscanf,
10958 vsscanf, vsnprintf, vsprintf): New built-ins.
10959 * c-common.c (c_common_nodes_and_builtins): Handle new macro
10960 DEF_FUNCTION_TYPE_VAR_3.
10961
10962 * doc/extend.texi: Document these new built-in functions.
10963
10964 2003-03-01 Kazu Hirata <kazu@cs.umass.edu>
10965
10966 * config/h8300/h8300.md (a peephole2): New.
10967
10968 2003-03-01 Richard Earnshaw <rearnsha@arm.com>
10969
10970 * predict.c (estimate_bb_frequencies): Correctly set
10971 real_values_initialized after initialization.
10972
10973 2003-03-01 Neil Booth <neil@daikokuya.co.uk>
10974
10975 * Makefile.in (C_AND_OBJC_OBJS, c-incpath.o, c-lex.o, LIBCPP_OBJS,
10976 cppinit.o, cppdefault.o, fix-header): Update.
10977 * c-incpath.c: New file.
10978 * c-incpath.h: New file.
10979 * c-lex.c: Include c-incpath.h.
10980 (init_c_lex): Register path simplifier.
10981 * c-opts.c: Include cppdefault.h and c-incpath.h.
10982 (TARGET_SYSTEM_ROOT, verbose, iprefix, sysroot, std_inc,
10983 std_cxx_inc, quote_chain_split, add_prefixed_path): New.
10984 (COMMAND_LINE_OPTIONS): Add more options from cpplib.
10985 (missing_arg, c_common_decode_option): Handle them.
10986 (c_common_post_options): Register include chains.
10987 (print_help): Update.
10988 * cppdefault.h (struct default include): Update.
10989 Move some macros to ...
10990 * cppdefault.c: ... here.
10991 (cpp_include_defaults): Add extra field add_sysroot.
10992 * cppfiles.c (include_file, search_from, find_or_create_entry,
10993 cpp_included, find_include_file, remap_filename): Update for
10994 renaming of search_path to cpp_path, and of the chain headers.
10995 (remove_component_p, _cpp_simplify_pathname): Move to c-incpath.c.
10996 * cpphash.h (struct search_path): Move to cpplib.h.
10997 (struct cpp_buffer, struct cpp_reader): Update.
10998 (_cpp_simplify_pathname): Remove.
10999 * cppinit.c: Don't include prefix.h and cppdefault.h.
11000 (INO_T_EQ, INO_T_COPY, path_include, append_include_chain,
11001 remove_dup_dir, remove_dup_nonsys_dirs, remove_dup_dirs,
11002 init_standard_includes, BRACKET, SYSTEM, AFTER, no_dir,
11003 no_pth, cpp_handle_options): Remove.
11004 (struct pending_option): Remove chain members.
11005 (cpp_destroy, cpp_read_main_file, COMMAND_LINE_OPTIONS,
11006 cpp_handle_option): Update.
11007 * cpplib.h (struct cpp_path, cpp_set_include_chains): New.
11008 (struct cpp_options): Remove quote_include, bracket_include,
11009 include_prefix, include_prefix_len, verbose, ignore_srcdir,
11010 no_standard_includes, no_standard_cplusplus_includes.
11011 (struct cpp_callbacks): Add simplify_path.
11012 (cpp_handle_options): Remove.
11013 * fix-header.c: Include c-incpath.h.
11014 (read_scan_file): Update to use c-incpath functionality.
11015 * doc/passes.texi: Update.
11016
11017 2003-03-01 Kazu Hirata <kazu@cs.umass.edu>
11018
11019 * config/h8300/h8300.c (bit_operand): Accept MEM only if it
11020 satisfies EXTRA_CONSTRAINT 'U'.
11021
11022 2003-03-01 Kazu Hirata <kazu@cs.umass.edu>
11023
11024 * config/h8300/h8300.md (*tst_extzv_bitqi_1_n): Take a scratch
11025 register.
11026 (*tst_extzv_memqi_1_n): Change to a splitter.
11027 (a peephole2): Update.
11028
11029 2003-03-01 Richard Earnshaw <rearnsha@arm.com>
11030
11031 * predict.c (estimate_bb_frequencies): Initialize the sreal
11032 constants once per compilation.
11033
11034 2003-02-28 Richard Henderson <rth@redhat.com>
11035
11036 * toplev.c (flag_eliminate_unused_debug_types): Enable by default.
11037
11038 2003-02-28 scott snyder <snyder@fnal.gov>
11039
11040 * flags.h: Add flag_eliminate_unused_debug_types.
11041 * toplev.c: Add flag_eliminate_unused_debug_types.
11042 (f_options): Add -feliminate-unused-debug-types.
11043 * dwarf2out.c (struct file_table): Add emitted member.
11044 (splice_child_die): Fix the parent pointer for the child being
11045 spliced.
11046 (lookup_filename): Maintain file_table.emitted array. Don't
11047 output .file directive here.
11048 (maybe_emit_file): (new)
11049 (init_file_table): Set up file_table.emitted.
11050 (dwarf2out_source_line): Use maybe_emit_file.
11051 (dwarf2out_start_source_file): Use maybe_emit_file.
11052 (dwarf2out_init): Use maybe_emit_file.
11053 (prune_unused_types_walk_attribs): (new)
11054 (prune_unused_types_mark): (new)
11055 (prune_unused_types_walk): (new)
11056 (prune_unused_types_prune): (new)
11057 (prune_unused_types): (new)
11058 (dwarf2out_finish): Call prune_unused_types if
11059 flag_eliminate_unused_debug_types is set.
11060 * doc/invoke.texi (Option Summary): Add
11061 -feliminate-unused-debug-types.
11062 (Debugging Options): Likewise.
11063
11064 2003-02-28 Geoffrey Keating <geoffk@apple.com>
11065
11066 * doc/invoke.texi: Change .pch to .gch.
11067 * cppfiles.c (open_file_pch): Likewise.
11068 * gcc.c (default_compilers): Likewise.
11069
11070 2003-02-28 Aldy Hernandez <aldyh@redhat.com>
11071
11072 * floatlib.c: Remove.
11073
11074 2003-02-28 Jason Merrill <jason@redhat.com>
11075
11076 * stor-layout.c (variable_size): Leave a "minus 1" outside the
11077 SAVE_EXPR.
11078
11079 2003-02-28 David Edelsohn <edelsohn@gnu.org>
11080
11081 * config/rs6000/power4.md: Add compare bypass.
11082
11083 2003-02-28 Jason Thorpe <thorpej@wasabisystems.com>
11084
11085 * config/netbsd.h: Update copyright years.
11086 (NETBSD_CPP_SPEC): Define _REENTRANT and _PTHREADS if
11087 -pthread is specified on the command line.
11088
11089 2003-02-28 Dale Johannesen <dalej@apple.com>
11090
11091 * loop.c (struct movable): Add insert_temp, shrink savemode.
11092 (scan_loop): Accept invariants that require copying; mark as
11093 insert_temp.
11094 (combine_movables): Don't combine insert_temp movables.
11095 (move_movables): Insert copies for insert_temp movables.
11096 Don't record the info based on regno for insert_temp's.
11097
11098 2003-02-28 Joel Sherrill <joel@OARcorp.com>
11099
11100 PR 9638/other
11101 * config/i386/i386.c (DEFAULT_PCC_STRUCT_RETURN): Ensure the
11102 this constant defaults to 1.
11103
11104 2003-02-28 Bob Wilson <bob.wilson@acm.org>
11105
11106 * config.gcc (xtensa-*-linux*): Add t-slibgcc-elf-ver to tmake_file.
11107
11108 2003-02-28 Richard Earnshaw <rearnsha@arm.com>
11109
11110 * arm.md (mulhisi3, mulhisi3addsi, mulhidi3adddi): Enable for any
11111 ARMv5e processor, not just for XScale. Instructions are predicable.
11112 (mulhisi3tb, mulhisi3bt, mulhisi3tt): New patterns for ARMv5e.
11113
11114 2003-02-28 Nick Clifton <nickc@redhat.com>
11115
11116 * config/arm/arm.c (note_invalid_constants): Change parameter type
11117 from bool to int.
11118
11119 2003-02-28 Kazu Hirata <kazu@cs.umass.edu>
11120
11121 * config/h8300/h8300.md (*tst_extzv_bitqi_1_n): Accept the
11122 test of bit 7.
11123 (*tst_extzv_memqi_1_n): Likewise.
11124 (a peephole2): New.
11125
11126 2003-02-28 Richard Sandiford <rsandifo@redhat.com>
11127
11128 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Wrap in
11129 #ifndef __mips16.
11130
11131 2003-02-28 Jan Hubicka <jh@suse.cz>
11132
11133 * combine.c (gen_lowpart_for_combine): Update handling of
11134 subregs_of_mode
11135 * flow.c (life_analysis, mark_used_regs): Likewise.
11136 * regclass.c (subregs_of_mode): Turn into single bitmap.
11137 (cannot_change-mode_set_regs, invalid_mode_change_p): Update
11138 dealing with subregs_of_mode
11139 * regs.h (subregs_of_mode): Update prototype.
11140
11141 2003-02-28 Josef Zlomek <zlomekj@suse.cz>
11142
11143 * emit-rtl.c (set_reg_attrs_for_parm): New function.
11144 * rtl.h (set_reg_attrs_for_parm): New exported function.
11145 * function.c (assign_parms): Use set_reg_attrs_for_parm instead of
11146 set_reg_attrs_from_mem.
11147
11148 2003-02-27 Roger Sayle <roger@eyesopen.com>
11149 Zack Weinberg <zack@codesourcery.com>
11150
11151 * gcc.c (do_spec_1): Treat %U like %u for unique associations.
11152
11153 2003-02-27 Kazu Hirata <kazu@cs.umass.edu>
11154
11155 * reload1.c (sext_for_mode): Remove.
11156 (reload_cse_move2add): Use trunc_int_for_mode instead of
11157 sext_for_mode.
11158 (move2add_note_store): Likewise.
11159 Reset register information if we see a set in non-integer
11160 mode.
11161
11162 2003-02-27 David Edelsohn <edelsohn@gnu.org>
11163
11164 * config/rs6000/aix43.h (ASM_SPEC): Only emit -mppc64 if no -mcpu
11165 option.
11166 (ASM_CPU_SPEC): Use -m620 for Power3, Power4, 620, 630.
11167 * config/rs6000/aix51.h: Same.
11168 * config/rs6000/aix52.h: Same.
11169 * config/rs6000/power4.md: Additional VMX bypasses.
11170
11171 2003-02-27 Geert Bosch <bosch@gnat.com>
11172
11173 * toplev.c (print_version): Add indentation for GGC heuristics and
11174 output after printing version information.
11175
11176 2003-02-27 James E Wilson <wilson@tuliptree.org>
11177
11178 * combine.c (simplify_comparison): Require integral mode when
11179 permuting SUBREG with AND.
11180
11181 2003-02-27 Steve Ellcey <sje@cup.hp.com>
11182
11183 * config/ia64/hpux.h (STARTFILE_PREFIX_SPEC): Remove.
11184
11185 2003-02-27 Nick Clifton <nickc@redhat.com>
11186
11187 * config/arm/arm.md (extendsfdf2): Add pattern accidentally
11188 deleted when cirrus instructions were added.
11189
11190 2003-02-27 Jason Thorpe <thorpej@wasabisystems.com>
11191
11192 * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Enable
11193 POSIX thread support by default.
11194
11195 2003-02-27 Roger Sayle <roger@eyesopen.com>
11196
11197 * config/i386/cygwin.h: Don't include any other files directly.
11198 * config/i386/mingw32.h: Don't include cygwin.h directly.
11199 * config.gcc (cygwin, mingw32, uwin): Instead make these files
11200 explicit in the tm_files variable.
11201
11202 2003-02-27 Alan Modra <amodra@bigpond.net.au>
11203
11204 * config/rs6000/rs6000.md: Add TI constant splitter.
11205
11206 2003-02-26 Alexandre Oliva <aoliva@redhat.com>
11207
11208 * builtins.c (purge_builtin_constant_p): Handle subreg of
11209 constant_p_rtx too.
11210
11211 * function.c (assign_stack_local_1): Truncate constant added to
11212 frame_pointer_rtx or virtual_stack_vars_rtx for Pmode.
11213
11214 2003-02-26 David Edelsohn <edelsohn@gnu.org>
11215
11216 * config.gcc: Add power4 to PowerPC with_cpu list.
11217
11218 2003-02-26 Jan Hubicka <jh@suse.cz>
11219
11220 * objc-act.c: (mark_referenced_methods): Fix compilation problem.
11221
11222 2003-02-26 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11223
11224 * gcov-dump.c (print_prefix): Fix signedness warning.
11225 * gcov-io.h (struct counter_section, struct counter_section_data): New.
11226 (struct function_info): n_arc_counts field removed, n_counter_sections,
11227 counter_sections fields added.
11228 (struct gcov_info): arc_counts, n_arc_counts fields removed,
11229 n_counter_sections, counter_sections fields added.
11230 * libgcov.c (gcov_exit, __gcov_flush): Add support for multiple
11231 profile sections.
11232 * profile.h (MAX_COUNTER_SECTIONS): New.
11233 (struct section_info): New.
11234 (struct profile_info): count_instrumented_edges,
11235 count_edges_instrumented_now fields removed, n_sections, section_info
11236 fields added.
11237 (find_counters_section): Declare.
11238 * profile.c (struct function_list): count_edges field removed,
11239 n_counter_sections, counter_sections fields added.
11240 (set_purpose, label_for_tag, build_counter_section_fields,
11241 build_counter_section_value, build_counter_section_data_fields,
11242 build_counter_section_data_value, build_function_info_fields,
11243 build_function_info_value, build_gcov_info_fields,
11244 build_gcov_info_value): New static functions.
11245 (find_counters_section): New function.
11246 (instrument_edges, get_exec_counts, compute_branch_probabilities,
11247 branch_prob, create_profiler): Modified to support multiple profile
11248 sections.
11249
11250 2003-02-26 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11251
11252 * pa.c (compute_frame_size): Don't assume PREFERRED_STACK_BOUNDARY
11253 is 8 * STACK_BOUNDARY.
11254 * pa.h (PREFERRED_STACK_BOUNDARY): Change to 128 on 64-bit port.
11255
11256 2003-02-26 Michael Matz <matz@suse.de>
11257
11258 * ra-colorize.c (merge_moves): Fix list handling.
11259
11260 2003-02-26 Nick Clifton <nickc@redhat.com>
11261
11262 * config/arm/arm.c (is_load_address): Rename to...
11263 (arm_memory_load_p) ... this and make it check for SUBREGs and
11264 constant loads that will be converted into loads from the
11265 minipool.
11266 (is_cirrus_insn): Rename to ...
11267 (arm_cirrus_insn_p): ... this, for consistency. Replace test
11268 of CIRRUS_NO with CIRRUS_NOT.
11269 (cirrus_reorg): Use renamed functions.
11270 (note_invalid_constants): Change from a void function to bool.
11271 Add an extra parameter, saying whether the fixups should be
11272 pushed. Return true if fixups are needed.
11273 (arm_reorg): Use renamed functions. Use INSN_P. Replace test
11274 of CIRRUS_NO with CIRRUS_NOT.
11275 * config/arm/arm.h (FLOAT_WORDS_BIG_ENDIAN): Mention that
11276 other floating point co-processors can also affect this.
11277 * config/arm/arm.md ("type" attribute): Add mav_farith and
11278 mav_dmult. Replace references to "cirrus_type" attribute with
11279 "type".
11280 * config/arm/cirrus.md ("cirrus_fpu" attribute): Delete.
11281 ("cirrus_type" attribute): Delete - use "type" instead.
11282 ("cirrus" attribute): Replace 'no' with 'not' and 'yes' with
11283 'normal'.
11284
11285 2003-02-25 Jan Hubicka <jh@suse.cz>
11286
11287 * objc-act.c: Include cgraph.h
11288 (mark_referenced_methods): New function.
11289 (objc_init): Call it.
11290 * objc-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Set.
11291
11292 * c-decl.c (finish_function): Honor can_defer_p even in unit-at-a-time
11293 mode.
11294
11295 * optabs.c (expand_fix): Do not widen the input operand.
11296
11297 * expr.c (emit_group_store): Fix crash when converting single
11298 register into complex register.
11299
11300 * Makefile.in (jump.o, regclass.o, alias.o): Add dependency on timevar.h
11301 * alias.c: Include timevar.h
11302 (init_alias_analysis): Set timevar
11303 * jump.c: Include timevar.h
11304 (rebuild_jump_labels): Set timevar
11305 * regcalss.c: Include timevar.h
11306 (reg_scan): Set timevar
11307 * timevar.def (TV_ALIAS_ANALYSIS, TV_REG_SCAN, TV_REBUILD_JUMP): New
11308
11309 2003-02-26 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11310
11311 * cse.c (count_reg_usage): Fix handling of REG_EQUAL notes.
11312
11313 * Makefile.in (loop-unroll.o): New.
11314 * cfgloop.h (UAP_PEEL, UAP_UNROLL, UAP_UNROLL_ALL): New.
11315 (unroll_and_peel_loops): Declare.
11316 * alias.c (init_alias_analysis): Flag_unroll_loops renamed to
11317 flag_old_unroll_loops.
11318 * loop.c (loop_invariant_p): Ditto.
11319 * unroll.c (unroll_loop): Flag_unroll_all_loops renamed to
11320 flag_old_unroll_all_loops.
11321 * flags.h (flag_unroll_loops): Renamed to flag_old_unroll_loops.
11322 (flag_unroll_all_loops): Renamed to flag_old_unroll_all_loops.
11323 * params.def (PARAM_MAX_UNROLLED_INSNS): Default value changed.
11324 (PARAM_MAX_AVERAGE_UNROLLED_INSNS, PARAM_MAX_UNROLL_TIMES,
11325 PARAM_MAX_PEELED_INSNS, PARAM_MAX_PEEL_TIMES,
11326 PARAM_MAX_COMPLETELY_PEELED_INSNS, PARAM_MAX_COMPLETELY_PEEL_TIMES,
11327 PARAM_MAX_ONCE_PEELED_INSNS): New.
11328 * toplev.h (flag_old_unroll_loops, flag_old_unroll_all_loops): New.
11329 (flag_unroll_loops, flag_unroll_all_loops): Used for new unroller
11330 instead of old one.
11331 (flag_peel_loops): New.
11332 (lang_independent_options): The new flags added.
11333 (rest_of_compilation): Call new unroller.
11334 (process_options): Setup flags for coexistence of old and new unroller.
11335 * doc/invoke.texi: Document new options.
11336 * doc/passes.texi: Document new unroller pass.
11337
11338 2003-02-26 David Billinghurst <David.Billinghurst@riotinto.com>
11339
11340 * fixinc/fixincl.x: Regenerate
11341
11342 2003-02-26 Josef Zlomek <zlomekj@suse.cz>
11343
11344 * function.c (assign_parms): Set reg_attrs for parameters passed in
11345 registers.
11346
11347 2003-02-26 Alan Modra <amodra@bigpond.net.au>
11348
11349 PR target/9681
11350 * tlink.c (scan_linker_output): Drop leading '.' from symbol names.
11351
11352 2003-02-25 David Edelsohn <edelsohn@gnu.org>
11353
11354 * config/rs6000/xcoff.h (ASM_FILE_START): Do not emit machine
11355 pseudo-op.
11356
11357 2003-02-25 Roger Sayle <roger@eyesopen.com>
11358
11359 * combine.c (combine_simplify_rtx, simplfy_comparison): Use CC0_P.
11360 * cse.c (invalidate_skipped_set): Likewise.
11361 * integrate.c (subst_constants): Likewise.
11362 * jump.c (reversed_comparison_code_parts): Likewise.
11363 * loop.c (canonicalize_condition): Likewise.
11364 * simplify-rtx.c (simplify_relational_operation): Likewise.
11365
11366 2003-02-25 Roger Sayle <roger@eyesopen.com>
11367
11368 * builtins.def (DEF_LIB_ALWAYS_BUILTIN, DEF_UNUSED_BUILTIN): Delete.
11369 (abs, labs, fabs, fabsf, fabsl, abort, exit, _exit, _Exit): Use
11370 the appropriate macro to define built-in function.
11371 (fmod,fmodf,fmodl): New built-in functions.
11372
11373 * doc/extend.texi (fmod,fmodf,fmodl): Document new built-ins.
11374
11375 2003-02-25 Richard Henderson <rth@redhat.com>
11376
11377 * config/i386/i386.c (function_arg): Pass variable sized
11378 structures correctly on the stack.
11379
11380 2003-02-25 Kazu Hirata <kazu@cs.umass.edu>
11381
11382 * reload1.c (reload_cse_move2add): Use STRICT_LOW_PART if PLUS
11383 does not reduce the cost of SET.
11384
11385 2003-02-25 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
11386
11387 PR target/9732
11388 * config/rs6000/rs6000.c (first_reg_to_save): Handle
11389 PIC_OFFSET_TABLE_REGNUM for -fPIC too.
11390 (rs6000_emit_prologue): Likewise.
11391 (rs6000_emit_epilogue): Likewise.
11392 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Make
11393 PIC_OFFSET_TABLE_REGNUM a fixed register for -fPIC.
11394
11395 2003-02-25 Richard Henderson <rth@redhat.com>
11396
11397 * real.c (real_to_integer2): Force overflow result only for
11398 unsigned overflow.
11399
11400 2003-02-25 Kazu Hirata <kazu@cs.umass.edu>
11401
11402 * gcse.c (cprop_jump): Revert the 2003-02-23 change.
11403
11404 2003-02-25 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
11405 Richard Henderson <rth@redhat.com>
11406
11407 * sched-ebb.c (add_deps_for_risky_insns): Add the dependence when
11408 there is no similar load.
11409
11410 2003-02-25 Vladimir Makarov <vmakarov@redhat.com>
11411 Richard Henderson <rth@redhat.com>
11412
11413 * sched-int.h (INSN_TRAP_CLASS, WORST_CLASS): Move them from
11414 sched-rgn.c.
11415 (add_forward_dependence): New function prototype.
11416
11417 * sched-rgn.c (INSN_TRAP_CLASS, WORST_CLASS): Move them to
11418 sched-init.h.
11419 (CONST_BASED_ADDRESS_P, may_trap_exp, haifa_classify_insn): Move
11420 them to haifa-sched.c.
11421
11422 * haifa-sched.c (CONST_BASED_ADDRESS_P, may_trap_exp,
11423 haifa_classify_insn): Move them from sched-rgn.c.
11424
11425 * sched-deps.c (add_dependence): Return flag of creating a new
11426 entry.
11427 (add_forward_dependence): New function.
11428 (compute_forward_dependences): Use the function.
11429
11430 * sched-ebb.c (earliest_block_with_similiar_load): New function.
11431 (add_deps_for_risky_insns): New function.
11432 (schedule_ebb): Call the function.
11433
11434 2003-02-20 Aldy Hernandez <aldyh@redhat.com>
11435
11436 * doc/tm.texi: Document Rename TARGET_VECTOR_TYPES_COMPATIBLE to
11437 TARGET_VECTOR_OPAQUE_P. Document accordingly.
11438
11439 * testsuite/gcc.dg/20030218-1.c: Check that initialization of
11440 opaque types fail.
11441
11442 * c-typeck.c (comptypes): Change call to vector_types_compatible
11443 to vector_opaque_p.
11444 (convert_for_assignment): Call vector_opaque_p instead of
11445 vector_types_compatible.
11446 (really_start_incremental_init): Disallow initialization of opaque
11447 types.
11448
11449 * target-def.h: Remove TARGET_VECTOR_TYPES_COMPATIBLE.
11450 Define TARGET_VECTOR_OPAQUE_P.
11451 (TARGET_INITIALIZER): Same.
11452
11453 * target.h (struct gcc_target): Remove vector_types_compatible.
11454 Add vector_opaque_p.
11455
11456 * config/rs6000/rs6000.c (rs6000_spe_vector_types_compatible):
11457 Remove.
11458 (is_ev64_opaque_type): Check for TARGET_SPE and make sure type is
11459 a vector type. Change return type to bool.
11460 (TARGET_VECTOR_TYPES_COMPATIBLE): Remove.
11461 (TARGET_VECTOR_OPAQUE_P): Define.
11462
11463 * cp/parser.c (cp_parser_init_declarator): Call vector_opaque_p
11464 target hook.
11465 Include target.h.
11466 (cp_parser_init_declarator): Fix typo in function comments.
11467
11468 2003-02-25 Jan Hubicka <jh@suse.cz>
11469
11470 * Makefile.in (lcm.o): Add dependency on function.h
11471 * lcm.c (function.h): Include.
11472 * i386.c (machine_function, ix86_stack_locals,
11473 * ix86_save_varrargs_registers) : Move to
11474 ...
11475 * i386.h (machine_function, ix86_stack_locals,
11476 ix86_save_varrargs_registers): ... here; add optimize_mode_switching
11477 (ix86_optimize_mode_switching): New.
11478 * i386.md (fix patterns): Set ix86_optimize_mode_switching
11479
11480 2003-02-25 Nick Clifton <nickc@redhat.com>
11481
11482 * config/d30v/d30v.c (d30v_init_cumulative_args): Fix typo. Name
11483 of fourth arg is 'fndecl' not 'indirect'. Update comment
11484 describing the function's parameters.
11485
11486 2003-02-24 Jan Hubicka <jh@suse.cz>
11487
11488 * combine.c (simplify_shift_const): Fix previous patch.
11489
11490 2003-02-24 Jeff Law <law@redhat.com>
11491
11492 * i386.md (testdi_1_rex64): Discourage reload from using the %eax
11493 alternative.
11494 (testsi_1, testhi_1, testqi_1): Likewise.
11495
11496 2003-02-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11497
11498 * config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Rename
11499 __EXTERN_PREFIX to __PRAGMA_EXTERN_PREFIX.
11500 * doc/extend.texi (Tru64 Pragmas): Reflect this.
11501
11502 * fixinc/inclhack.def (alpha___extern_prefix): Indicate #pragma
11503 extern_prefix support for Tru64 UNIX V5 <sys/stat.h>.
11504 * fixinc/fixincl.x: Regenerate.
11505 * fixinc/tests/base/sys/stat.h [ALPHA___EXTERN_PREFIX_CHECK]: New
11506 testcase.
11507 Fixes PR c/5059, c/6126, other/9671.
11508
11509 2003-02-24 Roger Sayle <roger@eyesopen.com>
11510
11511 * gcc.c (do_spec_1) ['{']: Handle pending argument upon return
11512 from handle_braces in "%{...}".
11513
11514 2003-02-24 Kaz Kojima <kkojima@gcc.gnu.org>
11515
11516 * config/sh/sh.c (TARGET_HAVE_TLS): Conditionally define.
11517 (prepare_move_operands): Handle TLS operands.
11518 (tls_symbolic_operand): New.
11519 (nonpic_symbol_mentioned_p): Handle TLS UNSPECs.
11520 (legitimize_pic_address): Do nothing for the TLS symbol.
11521 (sh_encode_section_info): Handle TLS case.
11522 (sh_strip_name_encoding): Drop TLS encoding.
11523 * config/sh/sh-protos.h (tls_symbolic_operand): Add prototype.
11524 * config/sh/sh.h (SH_TLS_ENCODING): Define.
11525 (TLS_SYMNAME_P, STRIP_TLS_ENCODING): Likewise.
11526 (ASM_OUTPUT_LABELREF): Drop TLS encoding.
11527 (OUTPUT_ADDR_CONST_EXTRA): Handle TLS UNSPECs.
11528 * config/sh/sh.md: Define TLS UNSPEC constants.
11529 (type): Add tls_load.
11530 ("tls_global_dynamic", "tls_local_dynamic"): New insns.
11531 ("sym2DTPOFF", "symDTPOFF2reg", "sym2GOTTPOFF"): New expanders.
11532 ("tls_initial_exec"): New insn.
11533 ("sym2TPOFF", "symTPOFF2reg"): New expanders.
11534 ("load_gbr"): New insn.
11535
11536 * configure.in (HAVE_AS_TLS): Add sh-*-* and sh[34]*-*-* cases.
11537 * configure: Regenerate.
11538
11539 2003-02-24 Alan Modra <amodra@bigpond.net.au>
11540
11541 PR 9297, PR 9722
11542 * calls.c (store_one_arg): Revert 1999-02-16 change. Revert
11543 2000-12-17 change. Pass EXPAND_STACK_PARM to expand_expr.
11544 * expr.h (enum expand_modifier): Define EXPAND_STACK_PARM.
11545 (enum block_op_methods): Reorder for better store_expr optimization.
11546 * expr.c (store_expr): Test bit 1 of "want_value" for call param
11547 stores, test bit 0 for original want_value meaning. Pass
11548 BLOCK_OP_CALL_PARM to emit_block_move when bit 1 set. Adjust
11549 recursive calls, and calls to expand_param.
11550 (expand_expr): Handle EXPAND_STACK_PARM modifier. When cse
11551 expected, set target to 0 rather than to subtarget. Formatting.
11552
11553 2003-02-23 Kazu Hirata <kazu@cs.umass.edu>
11554
11555 * gcse.c (cprop_jump): Use the REG_EQUAL note if available.
11556
11557 2003-02-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11558
11559 * doc/invoke.texi (ggc-min-expand, ggc-min-heapsize): Document
11560 new default behavior.
11561 * ggc-common.c: Include sys/resource.h.
11562 (ggc_rlimit_bound): New function.
11563 (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic): Update
11564 defaults to account for rlimits.
11565
11566 2003-02-22 Richard Henderson <rth@redhat.com>
11567
11568 * i386.c, i386.h (TUNEMASK): Rename from CPUMASK.
11569
11570 2003-02-22 Kelley Cook <kelley@dwhoops.info>
11571
11572 * i386.h, i386.c, i386.md (ix86_tune): Rename from ix86_cpu.
11573 (ix86_tune_string): Rename from ix86_cpu_string.
11574
11575 2003-02-22 Kelley Cook <kelleycook@comcast.net>
11576
11577 * config/i386/i386.c: Replace "mcpu" with "mtune".
11578 * config/i386/i386.h (TARGET_OPTIONS): Likewise.
11579 (CC1_CPU_SPEC): Likewise. New warning for "-mcpu".
11580 * doc/invoke.texi (i386 and x86-64 Options): Replace "mcpu"
11581 with "mtune". Note that "mcpu" is a deprecated synonym for "mtune".
11582
11583 2003-02-23 Andreas Schwab <schwab@suse.de>
11584
11585 * config.gcc: Delete references to m68k/t-linux and
11586 m68k/t-linux-aout.
11587 * config/m68k/t-linux, config/m68k/t-linux-aout: Removed.
11588
11589 2003-02-22 Jan Hubicka <jh@suse.cz>
11590
11591 * toplev.c (rest_of_compilation): Apply fotgotten hunk
11592 of track scheduling patch.
11593
11594 2003-02-22 Jan Hubicka <jh@suse.cz>
11595
11596 * config/linux.h (TARGET_HAS_F_SETLKW): Define.
11597 * config/alpha/linux.h (TARGET_HAS_F_SETLKW): Likewise
11598
11599 2003-02-22 Jan Hubicka <jh@suse.cz>
11600
11601 * c-decl.c (c_expand_body_1): Fix.
11602
11603 2003-02-22 Jan Hubicka <jh@suse.cz>
11604
11605 * expmed.c (expand_divmod): Undo sign extensions for unsigned operands
11606
11607 * cfgcleanup.c (try_forward_edges): Don't check loop structures
11608 when not optimizing.
11609 (cleanup_cfg): Do not iterate trought delete_trivially_dead_insns
11610 when not expensive.
11611 * toplev.c (rest_of_compilation): Duplicate loop headers only when
11612 optimizing; Delete trivially dead insns early; fix optimize check.
11613
11614 * Makefile.in (c-decl.o, c-objc-common.o, cgraph.o, tree-inline.o): Add
11615 dependency on cgraph.h
11616 * c-decl.c: Include cgraph.h
11617 (finish_function): Update call of tree_inlinable_function_p.
11618 * c-objc-common.c: Include cgraph.h
11619 * cgraph.h: New file.
11620 * cgraphunit.c: New file.
11621 * cgraph.c (cgraph_node, cgraph_edge): Move into cgraph.h
11622 (cgraph_nodes, cgraph_n_nodes): Globalize.
11623 (cgraph_finalize_function, cgraph_finalize_compilation_unit
11624 cgraph_create_edges, cgraph_optimize, cgraph_mark_needed_node):
11625 Move into cgraphunit.c
11626 * tree-inline.c: Include cgraph.h
11627 * tree-inline.c: Include cgraph.h
11628
11629 2003-02-22 Josef Zlomek <zlomekj@suse.cz>
11630
11631 * config/i386/i386.md: Use gen_lowpart instead of gen_rtx_REG
11632 for copying a register.
11633
11634 2003-02-22 Steven Bosscher <s.bosscher@student.tudelft.nl>
11635
11636 PR other/3782
11637 * toplev.c (process_options): If flag_detailed_statistics is set,
11638 then set time_report as well.
11639
11640 PR c/8828
11641 * jump.c (never_reached_warning): Don't fall through BARRRIER
11642 insns. Update comments to reflect what the function really does.
11643
11644 2003-02-21 Roger Sayle <roger@eyesopen.com>
11645
11646 * fold-const.c (omit_one_operand): No longer static.
11647 * tree.h (omit_one_operand): Prototype here.
11648 (div_and_round_double): Keep fold-const.c prototypes together.
11649 * builtins.c (builtin_mathfn_code): Handle binary built-in
11650 funtions, such as "pow" and "atan2".
11651 (fold_builtin): Optimize both pow(x,0.0) and pow(1.0,y) to 1.0.
11652 Simplify optimizations using "type" the builtin's return type.
11653
11654 2003-02-22 Hans-Peter Nilsson <hp@axis.com>
11655
11656 * config/cris/cris.c (cris_rtx_costs): Blockify dangling else.
11657 Fix functionalization typo.
11658
11659 * regmove.c (optimize_reg_copy_1): Do not replace a hard register
11660 in an asm.
11661
11662 2003-02-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11663
11664 * Makefile.in (ggc-common.o): Depend on $(PARAMS_H)
11665 * doc/invoke.texi (ggc-min-expand, ggc-min-heapsize): Update
11666 documentation.
11667 * ggc-common.c: Include params.h
11668 (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic,
11669 init_ggc_heuristics): New functions.
11670 * ggc.h (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic,
11671 init_ggc_heuristics): Prototype.
11672 * toplev.c (print_version): Output GGC heuristics.
11673 (parse_options_and_default_flags): Call init_ggc_heuristics.
11674
11675 2003-02-22 Jan Hubicka <jh@suse.cz>
11676
11677 * i386.c (def_builtin): Special case 64bit builtins.
11678 (MASK_SSE164, MASK_SSE264): New constants.
11679 (builtin_description): Add 64bit builtins.
11680 (ix86_init_mmx_sse_builtins): Likewise.
11681 * i386.h (enum ix86_builtins): Likewise.
11682 * i386.md (cvtss2siq, cvttss2siq, cvtsd2siq, cvttsd2siq, cvtsi2sdq,
11683 sse2_movq2dq_rex64, sse2_movsq2q_rex64): New.
11684 (sse2_movq2dq, sse2_movsq2q): Disable for 64bit.
11685 * mmintrin.h (_mm_cvtsi64x_si64, _mm_set_pi64x, _mm_cvtsi64_si64x): New.
11686 * xmmintrin.h (_mm_cvtss_si64x, _mm_cvttss_si64x, _mm_cvtsi64x_ss,
11687 _mm_set_epi64x, _mm_set1_epi64x, _mm_cvtsd_si64x, _mm_cvttsd_si64x,
11688 _mm_cvtsi64x_sd, _mm_cvtsi64x_si128, _mm_cvtsi128_si64x): New.
11689
11690 2003-02-22 Jan Hubicka <jh@suse.cz>
11691
11692 * i386.c (builtin_description): Add __builtin_ia32_paddq and
11693 __builtin_ia32_psubq. Fix __builtin_ia32_paddq128
11694 and __builtin_ia32_psubq128.
11695 * i386.h (IX86_BUILTIN_PADDQ, IX86_BUILTIN_PSUBQ): New.
11696 * i386.md (addv*, mmx_ior*, mmx_xoe*, mmx_and*): Add missing '%'.
11697 (mmx_adddi3, mmx_subdi3): New.
11698 * mmintrin.h (_mm_add_si64, _mm_sub_si64): New.
11699 * xmmintrin.h (_mm_movepi64_pi64): New.
11700 (_mm_add_epi64, _mm_sub_epi64): fix.
11701 (_mm_mul_pu16): Rename to...
11702 (_mm_mul_su32): ... this one.
11703
11704 * builtins.c (expand_builtin_expect): Do not predict
11705 flag_guess_branch_prob is not set.
11706 * c-semantics.c (expand_stmt): Likewise.
11707 * predict.c (predict_insn): Likewise.
11708 * stmt.c (expand_continue_loop): Likewise.
11709 * toplev.c (rest_of_compilation): Do not call
11710 note_prediction_to_br_prob and note_prediction_to_br_prob
11711 when not optimizing.
11712
11713 2003-02-21 Jan Hubicka <jh@suse.cz>
11714
11715 * cfgrtl.c (commit_edge_insertions): Call
11716 find_many_sub_basic_block only when some code has been emitted.
11717 (commit_edge_insertions_watch_calls): Bring into sync with
11718 commit_edge_insertions
11719
11720 2003-02-21 J"orn Rennecke <joern.rennecke@superh.com>
11721
11722 * sh.h (OVERRIDE_OPTIONS): Fix code that clears 'e' register class.
11723
11724 * sh.md (binary_sf_op): Use extra constant operand instead of
11725 negating constant operand 4.
11726 * sh.c (sh_expand_binop_v2sf): Supply it.
11727
11728 2003-02-21 Zack Weinberg <zack@codesourcery.com>
11729
11730 * cpphash.h (struct lexer_state): Add directive_wants_padding.
11731 * cpplib.c (_cpp_handle_directive): Set directive_wants_padding
11732 for directives of type INCL.
11733 (glue_header_name, parse_include): Use get_token_no_padding.
11734 * cppmacro.c (replace_args): If directive_wants_padding,
11735 provide padding tokens.
11736
11737 2003-02-21 Kazu Hirata <kazu@cs.umass.edu>
11738
11739 * config/h8300/h8300.md (a peephole2): New.
11740
11741 2003-02-21 Jan Hubicka <jh@suse.cz>
11742
11743 * cfgrtl.c (commit_one_edge_insertion): Only mark BB for splitting.
11744 (commit_edge_insertions): Call find_many_sub_basic_blocks
11745
11746 * reg-stack.c (convert_regs): Cleax aux for blocks.
11747
11748 2003-02-21 Jan Hubicka <jh@suse.cz>
11749
11750 * toplev.c (parse_options_and_default_flags): Undo accidental commit.
11751
11752 2003-02-21 Glen Nakamura <glen@imodulo.com>
11753
11754 PR optimization/8613
11755 * builtins.c (expand_builtin): Emit postincrements before expanding
11756 builtin functions.
11757
11758 2003-02-21 Ben Elliston <bje@redhat.com>
11759
11760 PR other/5634
11761 * doc/install.texi (Configuration): Explain using $HOME instead of
11762 the ~ metacharacter when referring to home directories.
11763
11764 2003-02-20 Alexandre Oliva <aoliva@redhat.com>
11765
11766 * configure.in (TARGET_SYSTEM_ROOT): Set default to
11767 ${exec_prefix}/${target_alias}/sys-root. Match explicit
11768 '${exec_prefix}' (in addition to the expansion thereof) as
11769 relocatable.
11770 * configure: Rebuilt.
11771
11772 2003-02-20 Kazu Hirata <kazu@cs.umass.edu>
11773
11774 * config/h8300/h8300.md (addhi3_incdec): Change the name to
11775 *addhi3_incdec.
11776 (addsi3_incdec): Change the name to *addsi3_incdec.
11777
11778 2003-02-20 Roger Sayle <roger@eyesopen.com>
11779
11780 * explow.c (force_reg): Avoid useless REG_EQUAL notes.
11781
11782 2003-02-20 Toon Moene <toon@moene.indiv.nluug.nl>
11783
11784 PR fortran/9038
11785 * c-opts.c (sanitize_cpp_opts): Add Fortran front end
11786 options to be ignored.
11787 (c_common_decode_option): Ignore them when preprocessing.
11788
11789 2003-02-20 Jan Hubicka <jh@suse.cz>
11790
11791 * toplev.c (flag_sched2_use_superblocks, flag_sched2_use_traces): New
11792 global variables.
11793 (lang_independent_options): Add -fsched2-use-superblocks
11794 -fsced2-use-traces.
11795 (rest_of_compilation): Deal with it.
11796 * invoke.texi (-fsched2-use-traces, fsched2-use-superblocks): Declare.
11797 * flags.h (flag_sched2_use_superblocks, flag_sched2_use_traces):
11798 Declare.
11799 * rtl.h (reg_to_stack): Update prototype.
11800 * reg-stack.c (reg_to_stack): Return when something has changed;
11801 update liveness when executing after superblock scheduling.
11802
11803 * combine.c (simplify_shift_const): Simplify few special cases
11804 into constants.
11805
11806 2003-02-20 David Edelsohn <edelsohn@gnu.org>
11807
11808 * config/rs6000/rs6000.md: (attr "type"): Add fast_compare.
11809 (add.,subf.,neg.): Change attribute to fast_compare.
11810 All DFA descriptions updated.
11811
11812 2003-02-20 Nathan Sidwell <nathan@codesourcery.com>
11813
11814 Change base class access representation.
11815 * tree.h (TREE_VIA_PUBLIC, TREE_VIA_PROTECTED,
11816 TREE_VIA_PRIVATE): Remove.
11817 (BINFO_BASEACCESSES): New binfo elt.
11818 (BINFO_BASEACCESS): New accessor.
11819 (BINFO_ELTS): Increase.
11820 (TI_ACCESS_PUBLIC, TI_ACCESS_PROTECTED, TI_ACCESS_PRIVATE): New.
11821 (access_public_node, access_protected_node,
11822 access_private_node): New global nodes.
11823 * tree.c (build_common_tree_nodes_2): Initialize access nodes.
11824 * dbxout.c (dbxout_type): Adjust.
11825 * dwarf2out.c (gen_inheritance_die): Add access parameter.
11826 (gen_member_die): Adjust.
11827 * dwarfout.c (output_inheritance_die): ARG is array of two trees.
11828 (output_type): Adjust.
11829 * tree-dump.c (dequeue_and_dump): Adjust binfo dumping.
11830
11831 Change base class access representation. Share virtual base
11832 binfos.
11833 * cp/call.c (build_special_member_call): Remove binfo_for_vbase
11834 call.
11835 * cp/class.c (build_base_path): Likewise.
11836 (build_primary_vtable): Adjust BINFO_NEW_VTABLE_MARKED use.
11837 (build_secondary_vtable): Remove FOR_TYPE arg. Adjust.
11838 (make_new_vtable): Adjust.
11839 (force_canonical_binfo_r): Delete.
11840 (force_canonical_binfo): Delete.
11841 (mark_primary_virtual_base): Delete.
11842 (dfs_unshared_virtual_bases): Delete.
11843 (mark_primary_bases): Adjust.
11844 (maybe_warn_about_overly_private_class): Adjust.
11845 (dfs_base_derived_from): Delete.
11846 (base_derived_from): Follow the inheritance chain.
11847 (struct find_final_overrider_data): Add vpath member.
11848 (dfs_find_final_overrider): Adjust.
11849 (dfs_find_final_overrider_q, dfs_find_final_overrider_post): New.
11850 (find_final_overrider): Adjust.
11851 (update_vtable_entry_for_fn): Adjust.
11852 (modify_all_vtables): Adjust.
11853 (walk_subobject_offsets): Adjust.
11854 (layout_nonempty_base_or_field): Adjust.
11855 (layout_empty_base): Remove last parameter. Adjust.
11856 (build_base_field): Adjust.
11857 (build_base_fields): Adjust.
11858 (propagate_binfo_offsets): Remove last parameter. Adjust.
11859 (dfs_set_offset_for_unshared_vbases): Delete.
11860 (layout_virtual_bases): Adjust.
11861 (finish_struct_1): Adjust.
11862 (init_class_processing): Don't init access nodes.
11863 (dfs_get_primary_binfo): Delete.
11864 (get_primary_binfo): Adjust.
11865 (dump_class_hierarchy_r): Remove most derived arg, add IGO
11866 parameter. Adjust.
11867 (dump_class_hierarchy): Adjust.
11868 (finish_vtbls): Adjust.
11869 (get_original_base): Delete.
11870 (build_vtt_inits): Adjust.
11871 (dfs_build_secondary_vptr_vtt_inits): Adjust.
11872 (dfs_ctor_vtable_bases_queue_p): Adjust.
11873 (build_ctor_vtbl_group): Adjust.
11874 (dfs_accumulate_vtbl_inits): Adjust.
11875 (build_vtbl_initializer): Adjust.
11876 (build_vbase_offset_vtbl_entries): Adjust.
11877 (add_vcall_offset_vtbl_entries_1): Adjust.
11878 * cp/cp-tree.h (CPTI_ACCESS_*): Remove.
11879 (access_*_node): Remove.
11880 (CANONICAL_BINFO): Delete.
11881 (BINFO_UNSHARED_MARKED): Remove.
11882 (BINFO_MARKED): Set LANG_FLAG_0 directly.
11883 (SET_BINFO_MARKED, CLEAR_BINFO_MARKED): Delete.
11884 (BINFO_VTABLE_PATH_MARKED): Set LANG_FLAG_3 directly.
11885 (SET_BINFO_VTABLE_PATH_MARKED, CLEAR_BINFO_VTABLE_PATH_MARKED):
11886 Delete.
11887 (BINFO_NEW_VTABLE_MARKED): Set LANG_FLAG_4 directly.
11888 (SET_BINFO_NEW_VTABLE_MARKED): Adjust.
11889 (SET_BINFO_PUSHDECLS_MARKED, CLEAR_BINFO_PUSHDECLS_MARKED):
11890 Delete.
11891 (BINFO_DEPENDENT_BASE_P): New.
11892 (dfs_walk, dfs_walk_real): Queue function takes derived binfo and
11893 index.
11894 (markedp, unmarkedp): Adjust.
11895 (dfs_unmarked_real_bases_queue_p, dfs_marked_real_bases_queue_p,
11896 dfs_skip_vbases, marked_vtable_pathp, unmarked_vtable_pathp,
11897 find_vbase_instance, binfo_for_vbase): Delete.
11898 (copied_binfo, original_binfo): Declare.
11899 (finish_base_specifier): Add virtual_p arg.
11900 (unshare_base_binfos): Delete.
11901 (copy_base_binfos): Declare.
11902 (reverse_path): Delete.
11903 * cp/decl.c (xref_basetypes): Access and virtuality passed
11904 differently. Don't copy direct base binfos here. Call
11905 copy_base_binfos.
11906 * cp/init.c (dfs_initialize_vtbl_ptrs): Adjust.
11907 (initialize_vtbl_ptrs): Adjust.
11908 (expand_member_init): Adjust.
11909 * cp/parser.c (cp_parser_base_specifier): Adjust.
11910 * cp/pt.c (instantiate_class_template): Adjust.
11911 (get_template_base_recursive): Adjust.
11912 * cp/rtti.c (get_pseudo_ti_init): Adjust.
11913 (get_pseudo_ti_desc): Adjust.
11914 * cp/tree.c (unshare_base_binfos): Rename to ...
11915 (copy_base_binfos): ... here, reimplement.
11916 (make_binfo): Set BINFO_DEPENDENT_BASE_P.
11917 (reverse_path): Remove.
11918 * cp/typeck.c (get_delta_difference): Adjust error messages.
11919 * cp/semantics.c (finish_base_specifier): Add virtual arg, adjust.
11920 * cp/search.c (lookup_base_r): Adjust.
11921 (dynamic_cast_base_recurse): Adjust.
11922 (canonical_binfo): Remove.
11923 (dfs_canonical_queue): Remove.
11924 (dfs_assert_unmarked_p): Remove.
11925 (assert_canonical_unmarked): Remove.
11926 (shared_marked_p, shared_unmarked_p): Remove.
11927 (BINFO_ACCESS, SET_BINFO_ACCESS): Use TREE_PUBLIC & TREE_PRIVATE.
11928 (dfs_access_in_type): Adjust.
11929 (access_in_type): Adjust.
11930 (dfs_accessible_queue_p): Adjust.
11931 (dfs_accessible_p): Adjust.
11932 (is_subobject_of_p_1, is_subobject_of_p): Remove.
11933 (struct lookup_field_info): Remove from_dep_base_p field.
11934 (lookup_field_queue_p): Adjust, test BINFO_DEPENDENT_BASE_P.
11935 (lookup_field_r): Remove dependent base code.
11936 (lookup_member): Likewise.
11937 (dfs_walk, dfs_walk_real): Add access arg to queue fn.
11938 (dfs_unmarked_real_bases_queue_p): Remove.
11939 (dfs_marked_real_bases_queue_p): Remove.
11940 (dfs_skip_vbases): Remove.
11941 (dfs_get_pure_virtuals): Adjust.
11942 (markedp, unmarkedp): Adjust.
11943 (marked_vtable_pathp, unmarked_vtable_pathp): Remove.
11944 (marked_pushdecls_p, unmarked_pushdecls_p): Adjust.
11945 (dfs_unmark): Adjust.
11946 (dfs_get_vbase_types):Remove.
11947 (dfs_build_inheritance_graph_order): Remove.
11948 (get_vbase_types): Remove
11949 (dfs_find_vbase_instance): Remove.
11950 (find_vbase_instance): Remove.
11951 (dfs_debug_unmarkedp): Adjust.
11952 (dependent_base_p): Remove.
11953 (dfs_push_type_decls): Adjust.
11954 (dfs_push_decls): Adjust.
11955 (dfs_no_overlap_yet): Adjust.
11956 (copied_binfo): New function.
11957 (original_binfo): New function.
11958 (binfo_for_vbase): Remove.
11959
11960 Change base class access representation.
11961 * java/class.c (set_super_info): Don't set TREE_VIA_PUBLIC.
11962 (add_interface_do): Likewise.
11963
11964 2003-02-20 David Edelsohn <edelsohn@gnu.org>
11965
11966 * config/rs6000/sysv4.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
11967 * config/rs6000/power4.md (power4-store,power4-vecstore): New
11968 insn reservations.
11969 (power4-fpstore): Compact.
11970
11971 2003-02-20 Kazu Hirata <kazu@cs.umass.edu>
11972
11973 * config/h8300/h8300.md (*iorsi3_w): New.
11974
11975 2003-02-20 Josef Zlomek <zlomekj@suse.cz>
11976
11977 * combine.c (distribute_notes): Kill REG_EXEC_COUNT.
11978 * rtl.c (reg_note_name): Likewise.
11979 * rtl.h (enum reg_note): Likewise.
11980 * doc/invoke.texi: Likewise.
11981 * doc/rtl.texi: Likewise.
11982
11983 2003-02-20 Josef Zlomek <zlomekj@suse.cz>
11984
11985 * bb-reorder.c (find_traces_1_round): Fix comment typo.
11986
11987 2003-02-19 Roger Sayle <roger@eyesopen.com>
11988
11989 * fold-const.c (fold_real_zero_addition_p): Don't fold a zero
11990 addition in the presence of signaling NaNs.
11991
11992 2003-02-19 Krister Walfridsson <cato@df.lth.se>
11993
11994 * tm.texi (INIT_CUMULATIVE_ARGS): Fix typo.
11995
11996 2003-02-19 Kazu Hirata <kazu@cs.umass.edu>
11997
11998 * config/h8300/h8300.c (output_logical_op): Optimize or.l when
11999 ORing with 0xffff??00 with the highest bit of the ?? part set.
12000 (compute_logical_op_length): Update.
12001 (compute_logical_op_cc): Likewise.
12002
12003 2003-02-19 Josef Zlomek <zlomekj@suse.cz>
12004
12005 * bb-reorder.c (find_traces_1_round): Fixed condition for small
12006 destination block with multiple predecessors.
12007 (connect_traces): Check whether the block is a start of trace.
12008
12009 2003-02-19 Jan Hubicka <jh@suse.cz>
12010
12011 * calls.c (expand_call): Update call of INIT_CUMULATIVE_ARGS
12012 * function.c (assign_params): Likewise.
12013 * arm-protos.h (arm_init_cumulative_args): Update prototype.
12014 * arm.c (arm_init_cumulative_args): Update function.
12015 * arm.h (INIT_CUMULATIVE_ARGS): Update.
12016 * avr-protos.h (init_cumulative_args): Update prototype.
12017 * avr.c (init_cumulative_args): Update function.
12018 * avr.h (INIT_CUMULATIVE_ARGS): Update.
12019 * d30v-protos.h (d30v_init_cumulative_args): Update prototype.
12020 * d30v.c (d30v_init_cumulative_args): Update function.
12021 * d30v.h (INIT_CUMULATIVE_ARGS): Update.
12022 * frv-protos.h (frv_init_cumulative_args): Update prototype.
12023 * frv.c (frv_init_cumulative_args): Update function.
12024 * frv.h (INIT_CUMULATIVE_ARGS): Update.
12025 * mips.c (mips_expand_prolgue): Update call of INIT_CUMULATIVE_ARGS.
12026 * pa.h (INIT_CUMULATIVE_ARGS): Update.
12027 * sparc-protos.h (init_cumulative_args): Update prototype.
12028 * sparc.c (init_cumulative_args): Update function.
12029 * sparc.h (INIT_CUMULATIVE_ARGS): Update.
12030 * tm.texi (INIT_CUMULATIVE_ARGS): Update documentation.
12031
12032 2003-02-19 Kazu Hirata <kazu@cs.umass.edu>
12033
12034 * config/h8300/h8300.md (*iorsi3_two_qi_sext): New.
12035 (*ashiftsi_sextqi_7): Likewise.
12036
12037 2003-02-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12038
12039 * config/mips/iris6.h (TARGET_OS_CPP_BUILTINS): Define __c99 for
12040 ISO C99 and C++.
12041
12042 * fixinc/inclhack.def (irix___restrict): Don't change __restrict
12043 for C++ on IRIX 6.5.1[89].
12044 * fixinc/tests/base/internal/sgimacros.h: New file.
12045
12046 * fixinc/inclhack.def (irix_wcsftime): Use XPG5 variant for C99.
12047 * fixinc/tests/base/internal/wchar_core.h: New file.
12048
12049 * fixinc/inclhack.def (irix_socklen_t): Fix broken IRIX 6.5.1[78]
12050 socklen_t definition.
12051 * fixinc/fixincl.x: Regenerate.
12052 * fixinc/tests/base/sys/socket.h: New file.
12053 Fixes PR libgcj/9652.
12054
12055 2003-02-19 Jan Hubicka <jh@suse.cz>
12056
12057 * i386.md (movsfcc_1, movdfcc_1): Fix constrains.
12058
12059 2003-02-19 David Edelsohn <edelsohn@gnu.org>
12060
12061 * config/rs6000/rs6000.c (rs6000_override_options): Initialize
12062 align_jumps_max_skip and align_loops_max_skip.
12063
12064 2003-02-19 Thierry Moreau <thierry.moreau@connotech.com>
12065
12066 * config/rs6000/rs6000.c (rs6000_encode_section_info): Do not
12067 test size if named section.
12068
12069 2003-02-19 Daniel Jacobowitz <drow@mvista.com>
12070
12071 * expr.c (expand_expr): Use gen_int_mode for the argument
12072 to gen_rtx_MULT.
12073
12074 2003-02-19 Jan Hubicka <jh@suse.cz>
12075
12076 * i386.md (cosxf2): Fix conditional.
12077
12078 2003-02-19 Kazu Hirata <kazu@cs.umass.edu>
12079
12080 * config/h8300/h8300.md (extendqisi2): Change to an expander.
12081 (*extendqisi2_h8300): New.
12082 (*extendqisi2_h8300hs): Likewise.
12083
12084 2003-02-19 Kazu Hirata <kazu@cs.umass.edu>
12085
12086 * config/h8300/h8300-protos.h: Update the prototype for
12087 split_adds_subs. Remove the prototypes for
12088 const_int_le_2_operand and const_int_le_6_operand.
12089 * config/h8300/h8300.c (split_adds_sub): Don't output inc/dec.
12090 (const_int_le_2_operand): Remove.
12091 (const_int_le_6_operand): Likewise.
12092 * config/h8300/h8300.h (PREDICATE_CODES): Remove the entries
12093 for const_int_le_2_operand and const_int_le_6_operand.
12094 * config/h8300/h8300.md: Update all uses of split_adds_subs.
12095 (a peephole2): New.
12096
12097 2003-02-18 Jan Hubicka <jh@suse.cz>
12098
12099 * cgraph.c (NPREDECESORC, SET_NPREDECESORS): Kill.
12100 (cgraph_expand_function): Rewrite.
12101
12102 2003-02-18 Matt Austern <austern@apple.com>
12103
12104 * toplev.c, langhooks.c, langhooks-def.h: Move
12105 write_global_declarations from toplev.c to langhooks.c.
12106
12107 2003-02-18 Kazu Hirata <kazu@cs.umass.edu>
12108
12109 * config/h8300/h8300.c (general_operand_src): Always check
12110 MODE.
12111 (general_operand_dst): Likewise.
12112
12113 2003-02-18 Roger Sayle <roger@eyesopen.com>
12114
12115 * convert.c (convert_to_real): Also optimize (float)log(x) into
12116 logf(x) where x is a float, i.e. also handle BUILT_IN_LOG{,L}.
12117
12118 2003-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
12119
12120 * config/sh/sh.c (unspec_caller_rtx_p): New.
12121 (sh_cannot_copy_insn_p): New.
12122 (TARGET_CANNOT_COPY_INSN_P): New.
12123
12124 2003-02-18 Richard Henderson <rth@redhat.com>
12125
12126 * c-common.c (handle_used_attribute): Accept static data too.
12127
12128 2003-02-18 Nick Clifton <nickc@redhat.com>
12129 Aldy Hernandez <aldyh@redhat.com>
12130
12131 * testsuite/gcc.dg/20030218-1.c: New.
12132
12133 * doc/tm.texi: Document TARGET_VECTOR_TYPES_COMPATIBLE.
12134
12135 * target-def.h (TARGET_INITIALIZER): Add
12136 TARGET_VECTOR_TYPES_COMPATIBLE.
12137 (TARGET_VECTOR_TYPES_COMPATIBLE): New macro.
12138
12139 * target.h (struct gcc_target): Add field vector_types_compatible.
12140
12141 * c-typeck.c (comptypes): Take into account
12142 TARGET_VECTOR_TYPES_COMPATIBLE.
12143 (convert_for_assignment): Same.
12144
12145 * config/rs6000/rs6000.c (is_ev64_opaque_type): New.
12146 (rs6000_spe_vector_types_compatible): New.
12147 (TARGET_VECTOR_TYPES_COMPATIBLE): Define.
12148
12149 2003-02-19 Andreas Schwab <schwab@suse.de>
12150
12151 * Makefile.in (toplev.o): Depend on $(LANGHOOKS_DEF_H).
12152 * toplev.c: Include langhooks-def.h.
12153
12154 2003-02-18 Chris Demetriou <cgd@broadcom.com>
12155
12156 * config/mips/mips.h (enum processor_type): Sort entries
12157 alphabetically.
12158 * config/mips/mips.md (define_attr cpu): Sync with processor_type
12159 enum values, including adding entries that were missing.
12160
12161 2003-02-18 J"orn Rennecke <joern.rennecke@superh.com>
12162
12163 * sh.c (calc_live_regs): Also check GET_CODE when checking if
12164 initial value for PR_REG is still the PR_REG register.
12165
12166 2003-02-18 Jim Wilson <wilson@redhat.com>
12167
12168 * config/ia64/ia64.md (floatdidf2, floatdisf2): Add %, before second
12169 instruction in output template.
12170 (bsp_value): Change output template from string to C code, add %,
12171 before actual instruction.
12172 (flushrs): Mark as not predicable.
12173
12174 2003-02-18 Krister Walfridsson <cato@df.lth.se>
12175
12176 * inclhack.def (netbsd_bogus_semicolon): New fix.
12177 * fixincl.x: Rebuilt.
12178 * tests/base/ctype.h: Update.
12179
12180 2003-02-18 Roger Sayle <roger@eyesopen.com>
12181
12182 * fold-const.c (negate_expr_p): New function to determine whether
12183 an expression can be negated cheaply.
12184 (fold) [MINUS_EXPR]: Use it to determine whether to transform
12185 -A - B into -B - A for floating point types.
12186
12187 2003-02-18 Roger Sayle <roger@eyesopen.com>
12188
12189 * sbitmap.c (sbitmap_resize): New function.
12190 * sbitmap.h (sbitmap_resize): Prototype here.
12191 * recog.c (split_all_insns): Use sbitmap_resize.
12192
12193 2003-02-18 Kazu Hirata <kazu@cs.umass.edu>
12194
12195 * config/h8300/h8300.md (*zero_extendhisi2_h8300): Fix the
12196 insn length.
12197 (extendqisi2): Likewise.
12198 (*extendhisi2_h8300): Likewise.
12199
12200 2003-02-18 Matt Austern <austern@apple.com>
12201
12202 * langhooks.h, langhooks-def.h: introduce new langhook,
12203 final_write_globals, with write_global_declarations as default.
12204 * toplev.c: Move invocation of wrapup_global_declarations from
12205 compile_file to new function, write_global_declarations. Change
12206 compile_file to use final_write_globals hook. Change
12207 wrapup_global_declarations so writing to DECL_DEFER_OUTPUT is
12208 conditional.
12209
12210 2003-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12211
12212 * pa.md: Correct and enhance comment.
12213
12214 2003-02-18 Geoffrey Keating <geoffk@apple.com>
12215
12216 * gcc.c (validate_switches): Don't scan past closing '}'.
12217
12218 2003-02-18 Ben Elliston <bje@redhat.com>
12219
12220 PR c++/1607
12221 * doc/extend.texi (Function Attributes): Document the effect of
12222 the C++ "this" parameter on the counting of arguments for the
12223 "format" and "format_arg" attributes.
12224
12225 2003-02-17 Aldy Hernandez <aldyh@redhat.com>
12226
12227 * config/rs6000/spe.h (__ev_stdd): Cast 2nd arg.
12228 (__ev_stdw): Same.
12229 (__ev_stdh): Same.
12230
12231 2003-02-17 Jan Hubicka <jh@suse.cz>
12232
12233 * recog.c (split_all_insns): Fix memory overflow.
12234
12235 2003-02-17 Kazu Hirata <kazu@cs.umass.edu>
12236
12237 * config/h8300/h8300.md (cmpqi): Remove mode from compare.
12238 (cmphi): Likewise.
12239 (*cmphi_h8300): Likewise.
12240 (*cmphi_h8300hs): Likewise.
12241 (cmpsi): Likewise.
12242 (7 peephole2): Likewise.
12243
12244 2003-02-16 Jan Hubicka <jh@suse.cz>
12245
12246 * c-typeck.c (build_c_cast): Fold constant variables into
12247 initial values.
12248
12249 2003-02-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
12250
12251 * doc/install.texi (Specific): Fix link for m68k-att-sysv.
12252 (Binaries): Ditto for Sinix/Reliant Unix.
12253
12254 2003-02-16 Richard Earnshaw <rearnsha@arm.com>
12255
12256 * arm.c (arm_reload_in_hi): Ensure that the scratch register does
12257 not overlap the final result register.
12258
12259 2003-02-16 Arend Bayer <arend.bayer@web.de>
12260 Richard Henderson <rth@redhat.com>
12261
12262 PR c/8068
12263 * fold-const.c (extract_muldiv_1): Rename from extract_muldiv;
12264 rearrange mult arguments for less recursion.
12265 (extract_muldiv): New. Prevent runaway recursion.
12266
12267 2003-02-16 Danny Smith <dannysmith@users.sourceforge.net>
12268
12269 * config/i386/cygwin.h (TARGET_SUBTARGET_DEFAULT): Set
12270 MASK_ALIGN_DOUBLE.
12271
12272 2003-02-15 Roger Sayle <roger@eyesopen.com>
12273
12274 * config/i386/i386.c (x86_ext_80387_constants): Use 80387 insns
12275 to load mathematical constants on K6, Athlon, Pentium 4 and PPro.
12276 (ext_80387_constants_table): Global table of 80387 special constants
12277 guarded by ext_80387_constants_init flag when not initialized.
12278 (init_ext_80387_constants): New function to initialize this table.
12279 (standard_80387_constant_p): Extend to recognize extra 80387
12280 constants, in XFmode, on processors where this is a win.
12281 (standard_80387_constant_opcode): New function to return the
12282 opcode associated with standard_80387_constant_p.
12283 (standard_80387_constant_rtx): New function to return the XFmode
12284 CONST_DOUBLE associated with standard_80387_constant_p.
12285 (ix86_rtx_costs): Give the new constants the same cost as 1.0.
12286
12287 * config/i386/i386-protos.h (standard_80387_constant_opcode):
12288 Prototype here.
12289 (standard_80387_constant_rtx): Likewise.
12290
12291 * config/i386/i386.md (*movsf1, *movsf1_nointerunit, *movdf_nointeger,
12292 *movdf_integer, *movxf_nointeger, *movtf_nointeger, *movxf_integer,
12293 *movtf_integer): Simplify using new standard_80387_constant_opcode.
12294
12295 2003-02-15 Geoffrey Keating <geoffk@apple.com>
12296
12297 * doc/invoke.texi (Optimize Options): Correct @option syntax.
12298
12299 2003-02-15 Richard Henderson <rth@redhat.com>
12300
12301 * Makefile.in (cfglayout.o): Depend on TARGET_H.
12302 * cfglayout.c: Include target.h.
12303 (cfg_layout_can_duplicate_bb_p): Check targetm.cannot_copy_insn_p.
12304 * target-def.h (TARGET_CANNOT_COPY_INSN_P): New.
12305 * target.h (struct gcc_target): Add cannot_copy_insn_p.
12306
12307 * config/alpha/alpha.c (alpha_cannot_copy_insn_p): New.
12308 (TARGET_CANNOT_COPY_INSN_P): New.
12309 (override_options): Revert 2003-02-08 hack.
12310
12311 2003-02-15 Richard Henderson <rth@redhat.com>
12312
12313 * gcse.c (bypass_block): Use BLOCK_FOR_INSN for resolving LABEL_REFs.
12314 (bypass_conditional_jumps): Accept computed_jump_p insns as well.
12315
12316 2003-02-15 David Edelsohn <edelsohn@gnu.org>
12317
12318 * config/rs6000/rs6000.h (processor_type): Add PPC440.
12319 * config/rs6000/rs6000.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
12320 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
12321 TARGET_SCHED_VARIABLE_ISSUE): Define.
12322 (rs6000_use_dfa_pipeline_interface): New function.
12323 (rs6000_multipass_dfa_lookahead): New Function.
12324 (rs6000_variable_issue): New function.
12325 (rs6000_adjust_cost): Add CMP and DELAYED_CR types.
12326 (rs6000_issue_rate): Add PPC440.
12327 * config/rs6000/rs6000.md (unspec list): Correct typo.
12328 (attr "type"): Add load_ext, load_ext_u, load_ext_ux, load_u,
12329 store_ux, store_u, fpload_ux, fpload_u, fpstore_ux, fpstore_u,
12330 cmp, delayed_cr, mfcr, mtcr.
12331 (automata_option): Set "ndfa".
12332 (extendMMNN2): Update attributes.
12333 (movcc_internal1): Discourage move to non-cr0. Update
12334 attributes.
12335 (movMM_update): Update attributes.
12336 (cmpMM_internal): Update attributes.
12337 (sCC CR materialization): Update attributes.
12338 (branch patterns): Do not discourage non-cr0.
12339 (cr logical patterns): Prefer destructive register allocation.
12340 Update attributes.
12341 (movesi_from_cr): Update attribute.
12342 (mtcrf_operation): Update attribute.
12343 (mtcrfsi): Update attribute.
12344 * config/rs6000/40x.md: New file.
12345 * config/rs6000/603.md: New file.
12346 * config/rs6000/6xx.md: New file.
12347 * config/rs6000/7450.md: New file.
12348 * config/rs6000/7xx.md: New file.
12349 * config/rs6000/mpc.md: New file.
12350 * config/rs6000/power4.md: New file.
12351 * config/rs6000/rios1.md: New file.
12352 * config/rs6000/rios2.md: New file.
12353 * config/rs6000/rs64.md: New file.
12354 [Some DFA descriptions based on work by Michael Hayes]
12355
12356 2003-02-15 Richard Henderson <rth@redhat.com>
12357
12358 * bb-reorder.c (find_traces_1_round): Don't connect easy to copy
12359 successors with multiple predecessors.
12360 (connect_traces): Try harder to copy traces of length 1.
12361
12362 * function.h (struct function): Add computed_goto_common_label,
12363 computed_goto_common_reg.
12364 * function.c (free_after_compilation): Zap them.
12365 * stmt.c (expand_computed_goto): Use them to produce one
12366 indirect branch per function.
12367
12368 2003-02-15 Richard Henderson <rth@redhat.com>
12369
12370 * cfgcleanup.c: Include params.h.
12371 (try_crossjump_bb): Use PARAM_MAX_CROSSJUMP_EDGES. Fix test for
12372 too many outgoing edges from a block.
12373 * Makefile.in (cfgcleanup.o): Depend on PARAMS_H.
12374 * params.def (max-crossjump-edges): New.
12375 * doc/invoke.texi: Document it.
12376
12377 2003-02-15 Richard Henderson <rth@redhat.com>
12378
12379 * recog.c (split_all_insns): Include new blocks in life update;
12380 do a global life update.
12381
12382 2003-02-15 Danny Smith <dannysmith@users.sourceforge.net>
12383
12384 * config/i386/mingw32.h (LIBGCC_SPEC): Add libmingwex.a.
12385 Update copyright.
12386 * config/i386/cygwin.h (LIBGCC_SPEC): Add libmingwex.a for
12387 -mno-cygwin case.
12388
12389 2003-02-14 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
12390
12391 PR optimization/7702
12392 * reload1.c (reload_cse_simplify_set): Honor
12393 CANNOT_CHANGE_MODE_CLASS.
12394
12395 2003-02-14 Alexandre Oliva <aoliva@redhat.com>
12396
12397 * config/mn10300/mn10300.c (mn10300_wide_const_load_uses_clr): New
12398 function.
12399 * config/mn10300/mn10300-protos.h: Declare it.
12400 * config/mn10300/mn10300.md (movdi, movdf): Use it to compute
12401 attribute cc of instructions that may use clr.
12402
12403 2003-02-14 Kazu Hirata <kazu@cs.umass.edu>
12404
12405 * simplify-rtx.c (simplify_binary_operation): Simplify ~y when
12406 (x - (x & y)) is found.
12407
12408 2003-02-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12409
12410 * configure.in: Fix typo.
12411 * configure: Regenerate.
12412
12413 2003-02-14 Kazu Hirata <kazu@cs.umass.edu>
12414
12415 * config/h8300/h8300.md (*iorsi2_and_1_lshiftrt_1): New.
12416
12417 2003-02-13 Adam Nemet <anemet@lnxw.com>
12418
12419 PR opt/2391
12420 * combine.c: Fix spelling in comment.
12421 (cached_nonzero_bits): New function.
12422 (cached_num_sign_bit_copies): New function.
12423 (nonzero_bits_with_known): New macro.
12424 (num_sign_bit_copies_with_known): New macro.
12425 (nonzero_bits1): Rename from nonzero_bits. Add three new
12426 arguments. Change calls from nonzero_bits to
12427 nonzero_bits_with_known.
12428 (num_sign_bit_copies1): Rename from num_sign_bit_copies. Add
12429 three new arguments. Change calls from num_sign_bit_copies to
12430 num_sign_bit_copies_with_known.
12431 (nonzero_bits): New macro.
12432 (num_sign_bit_copies): New macro.
12433 (update_table_tick): Don't traverse identical subexpression more
12434 than once.
12435 (get_last_value_validate): Likewise.
12436
12437 2003-02-13 Zack Weinberg <zack@codesourcery.com>
12438
12439 * emit-rtl.c (init_emit): Use ggc_alloc for regno_reg_rtx.
12440 * function.h (struct emit_status): Length of regno_pointer_align
12441 and x_regno_reg_rtx as seen by gengtype is only x_reg_rtx_no,
12442 not regno_pointer_align_length (i.e. length actually used, not
12443 length as allocated)
12444
12445 * config/i386/i386.c (struct stack_local_entry): New.
12446 (struct machine_function): Replace huge array with alist.
12447 (assign_386_stack_local): Change to match.
12448
12449 2003-02-13 John David Anglin <dave.anglin@nrc-crnc.gc.ca>
12450
12451 * inclhack.def (hpux_long_double): Tighten select and add bypass
12452 regexp.
12453 * fixincl.x: Rebuilt.
12454
12455 2003-02-13 Josef Zlomek <zlomekj@suse.cz>
12456
12457 * cfgcleanup.c (outgoing_edges_match): When there is single outgoing
12458 edge and block ends with a jump insn it must be simple jump.
12459
12460 2003-02-13 Daniel Jacobowitz <drow@mvista.com>
12461
12462 * Makefile.in (PREPROCESSOR_DEFINES): Add
12463 @TARGET_SYSTEM_ROOT_DEFINE@.
12464 * configure.in (PREFIX_INCLUDE_DIR): Don't define if $with_sysroot
12465 is specified or if building a cross compiler.
12466 (TARGET_SYSTEM_ROOT_DEFINE): Add TARGET_SYSTEM_ROOT_RELOCATABLE
12467 if the sysroot is under $exec_prefix.
12468 * configure: Regenerated.
12469 * cppdefault.h: Use native include paths if TARGET_SYSTEM_ROOT is
12470 defined.
12471 (struct default_include): Add add_sysroot field.
12472 (cpp_SYSROOT): Declare.
12473 * cppdefault.c (cpp_include_defaults): Fill in add_sysroot
12474 field.
12475 (cpp_SYSROOT): New variable.
12476 * cppinit.c (cpp_create_reader): Initialize
12477 CPP_OPTION (pfile, sysroot).
12478 (init_standard_includes): Handle add_sysroot. Do not
12479 add unrelocated copies of relocated directories.
12480 (COMMAND_LINE_OPTIONS): Add -isysroot.
12481 (cpp_handle_option): Handle -isysroot.
12482 * cpplib.h (struct cpp_options): Add sysroot member.
12483 * gcc.c (The Specs Language): Update description of %I.
12484 (target_system_root_changed): New variable.
12485 (process_command): Conditionalize make_relative_prefix call
12486 on !VMS and TARGET_SYSTEM_ROOT_RELOCATABLE. Set
12487 target_system_root_changed.
12488 (do_spec_1): Add -isysroot to %I.
12489 * doc/invoke.texi (Spec Files): Update description of %I.
12490 * doc/install.texi (--with-sysroot): Update comment about
12491 relocation.
12492
12493 2003-02-13 Kazu Hirata <kazu@cs.umass.edu>
12494
12495 * config/h8300/h8300.md (a peephole2): New.
12496
12497 2003-02-13 Robert Lipe <robertlipe@usa.net>
12498 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
12499
12500 * doc/install.texi (Specific): Update three SCO-related URLs.
12501
12502 2003-02-13 Andreas Schwab <schwab@suse.de>
12503
12504 * cgraph.c (SET_NPREDECESORS): Add intermediate cast to size_t.
12505 Parenthesize properly.
12506 (NPREDECESORS): Parenthesize properly.
12507
12508 2003-02-13 Gabriel Dos Reis <gdr@integrable-solutions.net>
12509
12510 * timevar.h (POP_TIMEVAR_AND_RETURN): New macro.
12511
12512 2003-02-12 Roger Sayle <roger@eyesopen.com>
12513
12514 * config/i386/i386.md (UNSPEC_FPATAN): New UNSPEC constant.
12515 (atan2sf3, atan2df3, atan2xf3, atan2tf3): New patterns.
12516
12517 * reg-stack.c (subst_stack_regs_pat): Add support for binary
12518 UNSPEC instructions (e.g. "fpatan").
12519
12520 2003-02-12 Mike Stump <mrs@apple.com>
12521
12522 * varray.c (element_size): Remove.
12523 (uses_ggc): Remove.
12524 (element): Add.
12525 (varray_init): Use new interface.
12526 (varray_grow): Use new interface.
12527 (varray_clear): Use new interface.
12528
12529 2003-02-12 Aldy Hernandez <aldyh@redhat.com>
12530
12531 * config/rs6000/spe.h: Add casts to the arguments of the following
12532 macros: evfsabs, evfsnabs, evfsneg, evfsadd, evfssub, evfsmul,
12533 evfsdiv, evfscfui, evfscfsi evfscfuf evfscfsf, evfsctui, evfsctsi,
12534 evfsctuf, evfsctsf, evfsctuiz, evfsctsiz, __ev_get_upper*,
12535 __ev_get_lower*, __ev_get_u32, __ev_get_s32, __ev_get_fs,
12536 __ev_get_u16, __ev_get_s16.
12537
12538 2003-02-12 Kazu Hirata <kazu@cs.umass.edu>
12539
12540 * config/h8300/h8300.md (a peephole2): New.
12541
12542 2003-02-12 Jan Hubicka <jh@suse.cz>
12543
12544 * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-unit-at-a-time
12545 (OBJS): Add callgraph.o
12546 (callgraph.o): New.
12547 * c-decl.c (expand_body_1): Break out from ...
12548 (expand_body): This one; change calling convention
12549 (finish_function): Move some of expand_body logic here.
12550 (c_expand_deferred_function): Update call of expand_body
12551 (c_expand_stmt): Use c_expand_body_1.
12552 * c-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Define.
12553 * c-objc-commin.c (c_objc_common_finish_file): Use callgraph code.
12554 * c-tree.h (c_expand_body): Declare.
12555 * callgraph.c: New file.
12556 * flags.h (flag_unit_at_a_time): Declare.
12557 * langhooks.h (LANG_HOOKS_CALLGRAPH_LOWER_FUNCTION,
12558 LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION,
12559 LANG_HOOKS_CALLGRAPH_INITIALIZER): New macros.
12560 * langhooks.h (struct lang_hooks_for_callgraph): New.
12561 (struct lang_hooks): Add callgraph field.
12562 * toplev.c (flag_unit_at_a_time): New.
12563 (lang_independent_options): Add flag_unit_at_a_time.
12564 (process_options): Disable unit-at-a-time mode for frontends not
12565 supporting callgraph.
12566 * tree-inline.c (typedef struct inline_data): Add "decl"
12567 (expand_call_inline): Update callgraph.
12568 (optimize_inline_calls): Set id.decl.
12569 * tree.h (cgraph_finalize_function, cgraph_finalize_compilation_unit,
12570 cgraph_create_edges, dump_cgraph, cgraph_optimize, cgraph_remove_call
12571 cgraph_calls_p): Declare.
12572 * invoke.texi (-funit-at-a-time): Document
12573
12574 2003-02-12 Aldy Hernandez <aldyh@redhat.com>
12575
12576 * config/rs6000/spe.h: Fix misc formatting.
12577 (__ev_create_ufix32_fs): Cast ev argument.
12578 (__ev_create_sfix32_fs): Same.
12579 (__ev_get_sfix32_fs_internal): Cast arguments to builtins.
12580 (__ev_get_ufix32_fs_internal): Same.
12581
12582 2003-02-12 Ranjit Mathew <rmathew@hotmail.com>
12583
12584 * doc/tm.texi (MODIFY_JNI_METHOD_CALL): Document.
12585 * config/i386/cygwin.h (MODIFY_JNI_METHOD_CALL): New macro.
12586
12587 2003-02-12 Zack Weinberg <zack@codesourcery.com>
12588
12589 * cpplib.c (do_include_common): Move warnings for
12590 #include_next and #import out to callers. Use early-return
12591 instead of nested ifs. Don't do check_eol here.
12592 (parse_include): Do check_eol here with the rest of the
12593 parsing stuff.
12594 (do_include_next, do_import): Now handle warnings.
12595
12596 2003-02-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
12597
12598 * doc/install.texi (Specific): Update AVR- and Darwin-related URLs.
12599
12600 2003-02-12 Jan Hubicka <jh@suse.cz>
12601
12602 * predict.c (estimate_probability): Fix roundoff error.
12603
12604 2003-02-12 Kazu Hirata <kazu@cs.umass.edu>
12605
12606 * config/h8300/h8300.md (a peephole2): Don't handle 65535.
12607 (two peephole2): New.
12608
12609 2003-02-12 Kazu Hirata <kazu@cs.umass.edu>
12610
12611 * config/h8300/h8300.md (several peephole2): Replace
12612 find_regno_note with peep2_reg_dead_p.
12613
12614 2003-02-11 Richard Henderson <rth@redhat.com>
12615
12616 * gcse.c (lookup_set): Remove unused argument PAT. Update
12617 both callers.
12618
12619 2003-02-11 Geoffrey Keating <geoffk@apple.com>
12620
12621 * diagnostic.c (real_abort): New.
12622 (diagnostic_report_diagnostic): Call real_abort on error.
12623 * diagnostic.h (diagnostic_abort_on_error): New.
12624 (struct diagnostic_context): Add abort_on_error field.
12625 * toplev.c (setup_core_dumping): New.
12626 (decode_d_option): Handle 'H' case.
12627 * doc/invoke.texi (Debugging Options): Document -dH.
12628
12629 2003-02-11 Nathanael Nerode <neroden@gcc.gnu.org>
12630
12631 * Makefile.in: Remove pointless setting of CXXFLAGS for dejagnu
12632 which refers to obsolete directories.
12633
12634 2003-02-11 Richard Henderson <rth@redhat.com>
12635
12636 * config/alpha/linux.h (TARGET_C99_FUNCTIONS): New.
12637
12638 2002-10-21 Jan Hubicka <jh@suse.cz>
12639
12640 * i386.c (contains_128bit_aligned_vector_p): New function.
12641 (ix86_function_arg_boundary): Properly align vector modes.
12642
12643 2003-02-11 Bob Wilson <bob.wilson@acm.org>
12644
12645 * config/xtensa/xtensa.md (set_frame_ptr): Change rtl to set reg a7.
12646 * config/xtensa/xtensa.c (xtensa_reorg): Search for UNSPECV_SET_FP
12647 as a SET pattern.
12648
12649 2003-02-11 Roger Sayle <roger@eyesopen.com>
12650
12651 * builtins.c: Fix failure caused by commiting wrong patch.
12652
12653 2003-02-11 Dale Johannesen <dalej@apple.com>
12654 * ra-build.c (compare_and_free_webs): Relax checking.
12655 * config/rs6000/darwin.h (HOT_TEXT_SECTION_NAME): Define.
12656 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Define.
12657
12658 2003-02-11 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
12659
12660 PR optimization/9651
12661 * rtlanal.c (may_trap_p): Handle FIX.
12662
12663 2003-02-11 Dave Jones <davej@codemonkey.org.uk>
12664
12665 * config/i386/i386.c (override_options): Define c3-2 as a 686 with SSE.
12666 * doc/invoke.texi: Extra alias.
12667
12668 2003-02-11 Geoffrey Keating <geoffk@apple.com>
12669
12670 * config/rs6000/host-darwin.c: Fix comment.
12671
12672 2003-02-11 David Edelsohn <edelsohn@gnu.org>
12673
12674 * config/rs6000/rs6000.md (divmodsi4): Use register_operand
12675 predicate for mod result.
12676
12677 2003-02-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12678
12679 * inclhack.def (hpux_long_double, hpux10_ctype_declarations1,
12680 hpux10_ctype_declarations2, hpux_ctype_macros): New hacks.
12681 * fixincl.x: Rebuilt.
12682 * tests/base/stdlib.h: Update.
12683 * tests/base/ctype.h: New file.
12684
12685 2003-02-11 Jan Hubicka <jh@suse.cz>
12686
12687 * emit-rtl.c (emit_copy_of_insn_after): Copy insn recog cache too.
12688
12689 2003-02-11 Richard Henderson <rth@redhat.com>
12690
12691 * config/i386/i386.c (ix86_expand_movstr): Fail if esi or edi
12692 appropriated as globals.
12693 (ix86_expand_clrstr): Similarly.
12694 * config/i386/i386.md (cmpstrsi): Similarly.
12695
12696 2003-02-11 Kazu Hirata <kazu@cs.umass.edu>
12697
12698 * config/h8300/h8300.md (a peephole2): Add a case of 255.
12699
12700 2003-02-11 Roger Sayle <roger@eyesopen.com>
12701
12702 * optabs.h (enum optab_index): Add new OTI_pow and OTI_atan2.
12703 (pow_optab, atan2_optab): Define corresponding macros.
12704 * optabs.c (init_optabs): Initialize pow_optab and atan2_optab.
12705 * genopinit.c (optabs): Implement pow_optab and atan2_optab
12706 using pow?f3 and atan2?f3 patterns.
12707 * builtins.c (expand_errno_check): New function to update errno
12708 if necessary, split out from expand_builtin_mathfn.
12709 (expand_builtin_mathfn): Use expand_errno_check.
12710 (expand_builtin_mathfn_2): New function to handle expanding binary
12711 math functions, reusing the code in expand_errno_check.
12712 (expand_builtin): Handle the pow and atan2 math built-ins,
12713 BUILT_IN_{POW,POWF,POWL,ATAN2,ATAN2F,ATAN2L} via the new function
12714 expand_builtin_mathfn_2.
12715
12716 * doc/md.texi: Document new pow?f3 and atan2?f3 patterns.
12717
12718 2003-02-11 Jan Hubicka <jh@suse.cz>
12719
12720 * combine.c (combine_simplify_rtx): Fix folding of
12721 nested float_truncates.
12722
12723 2003-02-11 Kazu Hirata <kazu@cs.umass.edu>
12724
12725 * config/h8300/h8300.md (a peephole2): Fix a typo.
12726
12727 2003-02-11 Richard Earnshaw <rearnsha@arm.com>
12728
12729 * arm.mc (return_address_mask): Use CC_REGNUM for the condition code
12730 register number.
12731
12732 2003-02-11 Kazu Hirata <kazu@cs.umass.edu>
12733
12734 * config/h8300/h8300-protos.h: Add a prototype for
12735 gtuleu_operator.
12736 * config/h8300/h8300.c (gtuleu_operator): New.
12737 * config/h8300/h8300.h (PREDICATE_CODES): Add gtuleu_operator.
12738 * config/h8300/h8300.md (a peephole2): New.
12739
12740 2003-02-11 Jan Hubicka <jh@suse.cz>
12741
12742 * sched-ebb.c (schedule_ebbs): Do not verify_flow_info.
12743
12744 2003-02-11 Jan Hubicka <jh@suse.cz>
12745
12746 * predict.c (choose_function_section): Choose sections correctly.
12747
12748 2003-02-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12749
12750 * reload1.c (first_label_num): New.
12751 (reload): Index offsets_known_at and offsets_at using difference of
12752 label number and first label number. Don't use offset pointers.
12753 (set_label_offsets, set_initial_label_offsets): Likewise.
12754
12755 2003-02-10 Roger Sayle <roger@eyesopen.com>
12756
12757 * mips-tfile.c (init_file): Add missing initializers in the
12758 "#ifdef __alpha" case.
12759 (file_offset, max_file_offset): Declare as unsigned long.
12760 (write_varray): Cast to "unsigned long" in comparisons against
12761 either file_offset or max_file_offset.
12762 (write_object): Likewise.
12763 (read_seek): Likewise.
12764 (copy_object): Likewise. Declare "ifd" as int to match its use
12765 in add_ext_symbol, and avoid signed/unsigned conditional warning.
12766
12767 2003-02-10 Nick Clifton <nickc@redhat.com>
12768 Aldy Hernandez <aldyh@redhat.com>
12769
12770 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Do not
12771 override options which have been specified on the command line.
12772
12773 2003-02-10 Kazu Hirata <kazu@cs.umass.edu>
12774
12775 * config/h8300/h8300.md (abssf2): New.
12776 (*abssf2_h8300): Likewise.
12777 (*abssf2_h8300hs): Likewise.
12778
12779 2003-02-10 Phil Edwards <pme@gcc.gnu.org>
12780
12781 * tree.c (build_tree_list): Fix parameter names in comment.
12782
12783 2003-02-10 Janis Johnson <janis187@us.ibm.com>
12784
12785 * config/rs6000/ppc64-fp.c: New file.
12786 * config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Add ppc64-fp.c.
12787
12788 2003-02-10 Josef Zlomek <zlomekj@suse.cz>
12789
12790 * Makefile.in (bb-reorder.o): Add dependency on $(FIBHEAP_H).
12791 * bb-reorder.c (make_reorder_chain): Deleted.
12792 (make_reorder_chain_1): Deleted.
12793 (find_traces): New function.
12794 (rotate_loop): New function.
12795 (mark_bb_visited): New function.
12796 (find_traces_1_round): New function.
12797 (copy_bb): New function.
12798 (bb_to_key): New function.
12799 (better_edge_p): New function.
12800 (connect_traces): New function.
12801 (copy_bb_p): New function.
12802 (get_uncond_jump_length): New function.
12803 (reorder_basic_blocks): Use new functions (Software Trace Cache).
12804 * cfgcleanup.c (outgoing_edges_match): Enable crossjumping across loop
12805 boundaries.
12806
12807 2003-02-10 Aldy Hernandez <aldyh@redhat.com>
12808
12809 * config/rs6000/rs6000.c (bdesc_2arg): Change spe_evxor to xorv2si3.
12810
12811 2003-02-09 Dan Nicolaescu <dann@ics.uci.edu>
12812
12813 * tree.h (struct tree_decl): Remove unused live_range_rtl field.
12814 (DECL_LIVE_RANGE_RTL): Remove.
12815
12816 2003-02-10 Nick Clifton <nickc@redhat.com>
12817
12818 * config/arm/aof.h, config/arm/aout.h, config/arm/arm-modes.def,
12819 config/arm/arm-protos.h, config/arm/arm.c, config/arm/arm.h,
12820 config/arm/arm.md, config/arm/cirrus.md, config/arm/coff.h,
12821 config/arm/conix-elf.h, config/arm/ecos-elf.h, config/arm/elf.h,
12822 config/arm/freebsd.h, config/arm/linux-elf.h,
12823 config/arm/linux-gas.h, config/arm/netbsd-elf.h,
12824 config/arm/netbsd.h, config/arm/pe.c, config/arm/pe.h,
12825 config/arm/rtems-elf.h, config/arm/semi.h, config/arm/semiaof.h,
12826 config/arm/strongarm-coff.h, config/arm/strongarm-elf.h,
12827 config/arm/strongarm-pe.h, config/arm/uclinux-elf.h,
12828 config/arm/unknown-elf-oabi.h, config/arm/unknown-elf.h,
12829 config/arm/xscale-elf.h: Replace occurances of "GNU CC" with "GCC"
12830 and reformat as appropriate.
12831
12832 2003-02-10 Kazu Hirata <kazu@cs.umass.edu>
12833
12834 * config/h8300/clzsi2.c: Remove.
12835 * config/h8300/ctzsi2.c: Likewise.
12836 * config/h8300/paritysi2.c: Likewise.
12837 * config/h8300/popcountsi2.c: Likewise.
12838 * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Remove clzsi2,
12839 ctzsi2, paritysi2, and popcountsi2.
12840
12841 2003-02-10 Eric Botcazou <ebotcazou@libertysurf.fr>
12842 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
12843
12844 PR c/7741
12845 * c-decl.c (duplicate_decls): Discard the initializer of the
12846 new decl when the types are conflicting.
12847
12848 2003-02-10 Josef Zlomek <zlomekj@suse.cz>
12849
12850 * Makefile.in (sreal.o): Added.
12851 (predict.o): Depends on sreal.h instead of real.h.
12852 * sreal.c: New file.
12853 * sreal.h: New file.
12854 * predict.c: Use sreal.c instead of real.c.
12855
12856 2003-02-10 Nick Clifton <nickc@redhat.com>
12857
12858 * Contributed support for the Cirrus EP9312 "Maverick"
12859 floating point co-processor. Written by Aldy Hernandez
12860 <aldyh@redhat.com>.
12861 (config/arm/arm.c): Add Cirrus support.
12862 (config/arm/arm.h): Likewise.
12863 (config/arm/aout.h): Likewise.
12864 (config/arm/arm.md): Likewise.
12865 (config/arm/arm-protos.h): Likewise.
12866 (config.gcc): Likewise.
12867 (doc/invoke.texi): Describe new -mcpu value and new
12868 -mcirrus-fix-invalid-insns switch,
12869 (cirrus.md): New file.
12870
12871 2003-02-10 Jan Hubicka <jh@suse.cz>
12872
12873 * combine.c (combine_simplify_rtx): Simplify using
12874 (float_truncate (float x)) is (float x)
12875 (float_extend (float_extend x)) is (float_extend x).
12876
12877 2003-02-10 Alan Modra <amodra@bigpond.net.au>
12878
12879 * calls.c (try_to_integrate): Tidy stack_usage_map access.
12880 (emit_library_call_value_1): Likewise. Formatting.
12881 (store_one_arg): Likewise.
12882
12883 2003-02-09 Nick Clifton <nickc@redhat.com>
12884 Aldy Hernandez <aldyh@redhat.com>
12885
12886 * config/rs6000/spe.md: spe_evlhhesplat, spe_evlhhossplat,
12887 spe_evlhhousplat, spe_evlwhsplat, spe_evlwwsplat, spe_evldd,
12888 spe_evldh, spe_evldw, spe_evlwhe, spe_evlwhos, spe_evlwhou,
12889 spe_evstdd, spe_evstdh, spe_evstdw, spe_evstdwx, spe_evstwhe,
12890 spe_evstwho, spe_evstwwe, spe_evstwwo: Fix syntax to match newest
12891 docs. Add range test for immediate value.
12892
12893 2003-02-09 Aldy Hernandez <aldyh@redhat.com>
12894
12895 Rename spe_evxor to xorv2si3.
12896 (xorv4hi3): New.
12897 (xorv1di3): New.
12898
12899 2003-02-10 Glen Nakamura <glen@imodulo.com>
12900
12901 * doc/extend.texi (C++98 Thread-Local Edits): Add missing @item
12902 tag.
12903
12904 2003-02-10 Jan Hubicka <jh@suse.cz>
12905
12906 * i386.c (vector_move_operand): New predicate.
12907 (ix86_expand_vector_move): Be happy about 0.
12908 * i386.h (PREDICATE_CODES): Add sse-move_operand.
12909 * i386.md (mov*_internal): Add 'C' alternative.
12910
12911 2003-02-09 Jan Hubicka <jh@suse.cz>
12912
12913 * i386.md (floathi*): Deal with SSE.
12914
12915 2003-02-09 Jan Hubicka <jh@suse.cz>
12916
12917 * simplify-rtx.c (simplify_unary_operation,
12918 simplify_binary_operation): Deal with vector modes
12919 (simplify_ternary_operation): Deal with no-op VEC_MERGE.
12920
12921 2003-02-09 Richard Sandiford <rsandifo@redhat.com>
12922
12923 * toplev.c (rest_of_compilation): Recompute register usage after
12924 split_all_insns.
12925
12926 2003-02-09 Richard Henderson <rth@redhat.com>
12927
12928 * libgcc-std.ver (__clztf2): New.
12929 (__ctztf2, __popcounttf2, __paritytf2): New.
12930 * libgcc2.c (__clzSI2, __clzDI2, __ctzSI2, __ctzDI2, __popcountSI2,
12931 __popcountDI2, __paritySI2, __parityDI2): Use UWmode and UDWmode;
12932 adjust code to match the different type sizes.
12933 * libgcc2.h (__clzSI2, __ctzSI2, __popcountSI2, __paritySI2,
12934 __clzDI2, __ctzDI2, __popcountDI2, __parityDI2): New macros.
12935
12936 * optabs.c (init_integral_libfuncs): Don't hard-code SImode and
12937 TImode; select word_mode and twice that.
12938 (init_floating_libfuncs): Don't hard-code SFmode and TFmode;
12939 select the modes from float, double, and long double.
12940 (init_optabs): Remove duplicate initializations.
12941
12942 2003-02-09 Wolfgang Bangerth <bangerth@ticam.utexas.edu>
12943
12944 * doc/install.texi: Squeeze and streamline section on
12945 testing and regression checking.
12946
12947 2003-02-09 Jan Hubicka <jh@suse.cz>
12948
12949 * i386.md (ahi?v*3): Set third operand type to TImode.
12950 * i386.c (ix86_expand_binop_builtin): Extend operand when needed.
12951
12952 * simplify-rtx.c (simplify_subreg): Fix conversion from vector into
12953 integer mode.
12954
12955 * rtl.def (VEC_MERGE, VEC_SELECT, VEC_CONCAT, VEC_DUPLICATE):
12956 Change code so they are arithmetic expressions now.
12957 * simplify-rtx.c (simplify_unary_operation, simplify_binary_operation,
12958 simplify_ternary_operation): Deal with VEC_* expressions.
12959
12960 * i386.md (vmaskcmp, pinsrw, movd patterns): Fix RTL representation.
12961
12962 2003-02-08 Jan Hubicka <jh@suse.cz>
12963
12964 * cfgrtl.c (verify_flow_info): Use control_flow_insn_p.
12965 * reload1.c (fixup_abnormal_edges): Split basic blocks when EH edges
12966 possibly got duplicated.
12967
12968 2003-02-08 Richard Henderson <rth@redhat.com>
12969
12970 * config/alpha/alpha.c (override_options): Turn off explicit
12971 relocs until post-peep2 code duplication resolved.
12972
12973 2003-02-08 Kazu Hirata <kazu@cs.umass.edu>
12974
12975 * optabs.c (expand_unop): Widen clz properly when clz is done
12976 via libcall.
12977
12978 2003-02-08 Kazu Hirata <kazu@cs.umass.edu>
12979
12980 * config/h8300/clzsi2.c: Replace "GNU CC" with "GCC".
12981 * config/h8300/crti.asm: Likewise.
12982 * config/h8300/crtn.asm: Likewise.
12983 * config/h8300/ctzsi2.c: Likewise.
12984 * config/h8300/fixunssfsi.c: Likewise.
12985 * config/h8300/h8300-protos.h: Likewise.
12986 * config/h8300/h8300.c: Likewise.
12987 * config/h8300/h8300.h: Likewise.
12988 * config/h8300/h8300.md: Likewise.
12989 * config/h8300/paritysi2.c: Likewise.
12990 * config/h8300/popcountsi2.c: Likewise.
12991 * config/h8300/rtems.h: Likewise.
12992
12993 2003-02-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12994
12995 * doc/invoke.texi: Documentation for my previous commit.
12996 * doc/passes.texi: Ditto.
12997
12998 2003-02-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12999
13000 * cfgloop.h (fix_loop_placement, can_duplicate_loop_p,
13001 duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
13002 Declare.
13003 (DLTHE_FLAG_UPDATE_FREQ): New.
13004 * cfgloopmanip.c (duplicate_loop, duplicate_subloops, copy_loops_to,
13005 loop_redirect_edge, loop_delete_branch_edge, copy_bbs, remove_bbs,
13006 rpe_enum_p, find_branch, alp_enum_p, add_loop, fix_loop_placements,
13007 fix_bb_placement, fix_bb_placements, place_new_loop,
13008 scale_loop_frequencies, scale_bbs_frequencies, record_exit_edges):
13009 New static functions.
13010 (fix_loop_placement, can_duplicate_loop_p,
13011 duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
13012 New functions.
13013
13014 * cfgloop.h (loop_optimizer_init, loop_optimizer_finalize,
13015 unswitch_loops): Declare.
13016 * loop-init.c: New file.
13017 * loop-unswitch.c: New file.
13018 * Makefile.in (loop-init.o, loop-unswitch.o): New.
13019 * params.def (PARAM_MAX_UNSWITCH_INSNS, PARAM_MAX_UNSWITCH_LEVEL): New.
13020 * toplev.c (DFI_loop2): New dump.
13021 (flag_unswitch_loops): New.
13022 (lang_independent_options): Add it.
13023 (rest_of_compilation): Call new loop optimizer.
13024 (parse_options_and_default_flags): Turn flag_unswitch_loops on with -O3.
13025
13026 2003-02-08 Kazu Hirata <kazu@cs.umass.edu>
13027
13028 * config/h8300/clzsi2.c: New.
13029 * config/h8300/ctzsi2.c: Likewise.
13030 * config/h8300/paritysi2.c: Likewise.
13031 * config/h8300/popcountsi2.c: Likewise.
13032 * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Add above files.
13033
13034 2003-02-07 David Edelsohn <edelsohn@gnu.org>
13035
13036 * config/rs6000/rs6000.h (CLZ_DEFINED_VALUE_AT_ZERO): Define.
13037 * config/rs6000/rs6000.md (clzsi2): Rename from cntlzw2.
13038 (ctzsi2): New pattern.
13039 (ffssi2): Use clz instead of unspec.
13040 (clzdi2): Rename from cntlzd2.
13041 (ctzdi2): New pattern.
13042 (ffsdi2): Use clz instead of unspec.
13043
13044 2003-02-07 Loren James Rittle <ljrittle@acm.org>
13045
13046 * config/alpha/freebsd.h (LINK_SPEC): Weaken error to notice.
13047 * config/ia64/freebsd.h (LINK_SPEC): Likewise.
13048 * config/sparc/freebsd.h (LINK_SPEC): Likewise.
13049 * config/i386/freebsd.h (LINK_SPEC): Add clause to mirror other arches.
13050
13051 2003-02-07 Wolfgang Bangerth <bangerth@ticam.utexas.edu>
13052
13053 * doc/trouble.texi: Document pitfalls of two-stage name lookup.
13054
13055 2003-02-07 Richard Henderson <rth@redhat.com>
13056
13057 PR 9226
13058 * gcse.c (local_cprop_find_used_regs): New.
13059 (local_cprop_pass): Use it.
13060
13061 2003-02-07 Fred Fish <fnf@intrinsity.com>
13062
13063 * mips-tfile.c (parse_def): Parenthesize assignments to fix
13064 precedence bugs.
13065
13066 2003-02-07 Segher Boessenkool <segher@koffie.nl>
13067
13068 * genoutput.c (output_get_insn_name): Handle NOOP_MOVE_INSN_CODE.
13069
13070 2003-02-07 Roger Sayle <roger@eyesopen.com>
13071
13072 * builtin-types.def (BT_FN_FLOAT_FLOAT_FLOAT): New built-in type.
13073 (BT_FN_LONG_DOUBLE_LONG_DOUBLE_LONG_DOUBLE): Likewise.
13074 (BT_FN_DOUBLE_DOUBLE_DOUBLE): Likewise.
13075 * builtins.def: Define pow, powf, powl, atan2, atan2f and atan2l
13076 builtin functions (and their __builtin_* variants).
13077 * builtins.c (mathfn_built_in): Handle missing log{,f,l} cases.
13078 (expand_builtin): Don't expand log{,f,l}, pow{,f,l} or atan2{,f,l}
13079 when not optimizing.
13080
13081 * doc/extend.texi: Document new pow and atan2 builtins, and
13082 their float and long double variants. Realphabetize builtins.
13083
13084 2003-02-07 Jan Hubicka <jh@suse.cz>
13085
13086 * i386.md (sse2_nandv2di3): Fix.
13087
13088 2003-03-07 Danny Smith <dannysmith@users.sourceforge.net>
13089
13090 * config/i386/i386.h (MS_AGGREGATE_RETURN): New define.
13091 * config/i386/cygwin.h (MS_AGGREGATE_RETURN): Override default
13092 definition.
13093 * config/i386/i386.h (ix86_return_in_memory): Return aggregate
13094 types of up to 8 bytes via registers if MS_AGGREGATE_RETURN.
13095
13096 2003-02-07 Jan Hubicka <jh@suse.cz>
13097
13098 * i386.md (movdi_rex64_1): Fix mmx<->int move opcode.
13099
13100 2003-02-07 Daniel Berlin <dberlin@dberlin.org>
13101
13102 * cfg.c (dump_flow_info): Add back accidently deleted line.
13103
13104 2003-02-07 Andrey Petrov <petrov@netbsd.org>
13105
13106 * optabs.c (expand_float): Search wider integer modes first.
13107
13108 2003-02-07 Bob Wilson <bob.wilson@acm.org>
13109
13110 * config/xtensa/xtensa.h (LIBGCC2_WORDS_BIG_ENDIAN): Set this
13111 based on preprocessor flag.
13112
13113 2003-02-07 Roger Sayle <roger@eyesopen.com>
13114 Richard Henderson <rth@redhat.com>
13115
13116 * gcse.c (implicit_sets): New.
13117 (compute_hash_table_work): Include them in hash table.
13118 (find_implicit_sets, fis_get_condition): New.
13119 (one_cprop_pass): Allocate and free implicit_sets; call
13120 find_implicit_sets before building hash table.
13121
13122 2003-02-07 Jason Thorpe <thorpej@wasabisystems.com>
13123
13124 * config/t-netbsd (USER_H): Revert previous change.
13125
13126 2003-02-07 Gabor Greif <ggreif@lucent.com>
13127
13128 * doc/c-tree.texi (Namespaces): Fix typo.
13129
13130 2003-02-07 Jan Hubicka <jh@suse.cz>
13131
13132 * regrename.c (do_replace, find_oldest_value_reg,
13133 copyprop_hardreg_forward_1): Update register attributes.
13134
13135 2003-02-06 Vladimir Makarov <vmakarov@redhat.com>
13136
13137 * genautomata.c (VLA_PTR_CREATE, VLA_PTR_EXPAND, VLA_PTR_ADD,
13138 VLA_HWINT_CREATE, VLA_HWINT_EXPAND, VLA_HWINT_ADD): Use temporay
13139 variables starting with underscore.
13140 (struct unit_usage): New structure.
13141 (unit_usages, cycle_alt_unit_usages): New global variables.
13142 (check_unit_distribution_in_reserv): Remove it.
13143 (store_alt_unit_usage): New function.
13144 (check_regexp_units_distribution): Rewrite it.
13145
13146 2003-02-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
13147
13148 * config.gcc (hppa*-*-linux*): Set MASK_NO_SPACE_REGS in
13149 target_cpu_default.
13150 * pa.c (attr_length_call): Add 8 to call length (long indirect PA 1.X)
13151 if not MASK_NO_SPACE_REGS.
13152 (output_call): Adjust return pointer, don't load new space register
13153 into %sr0, and use %sr4 for call if TARGET_NO_SPACE_REGS is true.
13154 (pa_asm_output_mi_thunk): Don't load new space register into %sr0 if
13155 TARGET_NO_SPACE_REGS is true.
13156 * pa.md (return_external_pic): Add TARGET_NO_SPACE_REGS to insn
13157 conditions.
13158 (epilogue): Always use return_internal if TARGET_NO_SPACE_REGS is true.
13159 (interspace_jump): Add new pattern for when TARGET_NO_SPACE_REGS is
13160 true. Use bve when TARGET_64BIT is true.
13161
13162 2003-02-06 Richard Henderson <rth@redhat.com>
13163
13164 * combine.c (nonzero_bits): Fix double break.
13165
13166 2003-02-06 Eric Botcazou <ebotcazou@libertysurf.fr>
13167 Richard Henderson <rth@redhat.com>
13168
13169 PR c/9530
13170 * config/i386/i386.c (ix86_function_ok_for_sibcall): Forbid sibcalls
13171 from functions that return a float to functions that don't.
13172
13173 2003-02-06 Jan Hubicka <jh@suse.cz>
13174
13175 * i386.c (x86_inter_unit_moves): New variable.
13176 (ix86_secondary_memory_needed): Fix 64bit case, honor
13177 TARGET_INTER_UNIT_MOVES
13178 * i386.h (x86_inter_unit_moves): Declare.
13179 (TARGET_INTER_UNIT_MOVES): New macro.
13180 * i386.md (movsi_1): Cleanup constraints; disable
13181 when not doing inter-unit moves.
13182 (movsi_1_nointernunit): New.
13183 (movdi_1_rex64): Fix constraints; deal with SSE->GPR moves.
13184 (movdi_1_rex64_nointerunit): New.
13185 (mivsf_1): disable when not doing inter-unit moves.
13186 (movsf_1_nointerunit): New.
13187
13188 * basic-block.h (inside_basic_block_p): Declare.
13189 * cfgbuild.c (inside_basic_block_p): Make global.
13190 * haifa-sched.c (unlink_other_notes0: Deal with NOT_INSN_BASIC_BLOCK.
13191 * scheudle-ebb.c (schedule_ebb): Return last basic block of trace;
13192 update CFG.
13193 (fix_basic_block_boundaries, add_missing_bbs): New.
13194 (rank): Use profile.
13195 (scheudle_ebbs): Rely on CFG; update coments.
13196
13197 2003-02-05 Geoffrey Keating <geoffk@apple.com>
13198
13199 * Makefile.in (host_hook_obj): New.
13200 (OBJS): Add $(host_hook_obj).
13201 (host_default.o): New rule.
13202 * config.gcc (host_hook_obj): New, default to host-default.o.
13203 (powerpc-*-darwin*): Use host-darwin.o.
13204 (out_host_hook_obj): New.
13205 * configure: Regenerate.
13206 * configure.in: Print information about out_host_hook_obj, substitute
13207 into output files.
13208 * host-default.c: New file.
13209 * hosthooks.h: New file.
13210 * toplev.c (general_init): Call host_hooks.extra_signals.
13211 * config/rs6000/host-darwin.c: New file.
13212 * config/rs6000/x-darwin: New file.
13213 * doc/hostconfig.texi: Add documentation for new host hook.
13214 Rearrange existing documentation.
13215
13216 2003-02-05 Roger Sayle <roger@eyesopen.com>
13217
13218 * dwarf2out.c (mem_loc_descriptor): Replace ASM_SIMPLIFY_DWARF_ADDR
13219 with *targetm.delegitimize_address.
13220 (rtl_for_decl_location): Likewise.
13221 * dwarfout.c (output_mem_loc_descriptor): Likewise. Include target.h.
13222 * Makefile.in (dwarf2out.c, dwarfout.c): Depend upon $(TARGET_H)
13223
13224 * config/i386/i386.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
13225 * config/i386/i386-protos.h (i386_simplify_dwarf_addr): Remove
13226 prototype.
13227 * config/i386/i386.c (ix86_delegitimize_address): Renamed from
13228 i386_simplify_dwarf_addr. Made static. Prototyped.
13229 (TARGET_DELEGITIMIZE_ADDRESS): Update definition from
13230 i386_simplify_dwarf_addr to ix86_delegitimize_address.
13231 (ix86_find_base_term): Likewise.
13232 (maybe_get_pool_constant): Likewise.
13233
13234 * config/s390/s390.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
13235 * config/s390/s390-protos.h (s390_simplify_dwarf_addr): Remove
13236 prototype.
13237 * config/s390/s390.c (s390_delegitimize_address): Renamed from
13238 s390_simplify_dwarf_addr. Made static. Prototyped.
13239 (TARGET_DELEGITIMIZE_ADDRESS): Define as s390_delegitimize_address.
13240
13241 2003-02-05 Richard Henderson <rth@redhat.com>
13242
13243 PR c/8602
13244 * integrate.c (output_inline_function): Reset input_filename
13245 and lineno from the decl before rest_of_compilation.
13246
13247 2003-02-05 Richard Henderson <rth@redhat.com>
13248
13249 * defaults.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
13250 (CTZ_DEFINED_VALUE_AT_ZERO): New.
13251 * doc/rtl.texi, doc/tm.texi: Document them.
13252
13253 * combine.c (nonzero_bits) [CLZ, CTZ]: Handle the definedness
13254 of the value at zero properly.
13255 * fold-const.c (tree_expr_nonnegative_p): Likewise.
13256 * simplify-rtx.c (simplify_unary_operation): Likewise.
13257
13258 * config/alpha/alpha.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
13259 (CTZ_DEFINED_VALUE_AT_ZERO): New.
13260
13261 * config/arm/arm.c (TARGET_INIT_BUILTINS): Remove.
13262 (TARGET_EXPAND_BUILTIN): Remove.
13263 (def_builtin, arm_init_builtins, arm_expand_builtin): Remove.
13264 * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
13265 (enum arm_builtins): Remove.
13266 * config/arm/arm.md (UNSPEC_CLZ): Remove.
13267 (clzsi2): Rename from clz; use clz instead of unspec.
13268 (ctzsi2): New.
13269 * config/arm/arm-protos.h: Update.
13270
13271 2003-02-05 Jan Hubicka <jh@suse.cz>
13272
13273 * i386-protos.h (x86_emit_floatuns): Declare.
13274 * i386.c (x86_emit_floatuns): New global function.
13275 * i386.md (floatunssisf2, floatunsdisf2,
13276 floatunsdidf2): New patterns.
13277
13278 2003-01-25 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
13279
13280 * cfgloopmanip.c (force_single_succ_latches): Fix missindentation.
13281
13282 2003-02-05 Hans Boehm <Hans.Boehm@hp.com>
13283
13284 * config/ia64/unwind-ia64.c: include coretypes.h, tm.h to get
13285 config/ia64/linux.h
13286
13287 2003-02-05 Roger Sayle <roger@eyesopen.com>
13288
13289 * cfgloop.h (flow_bb_inside_loop_p): Correct prototype again.
13290
13291 2003-02-05 Jakub Jelinek <jakub@redhat.com>
13292
13293 PR optimization/8555
13294 * config/i386/i386.md (sse_mov?fcc split): Handle op2 == op3 case
13295 instead of aborting.
13296
13297 2003-02-04 Richard Henderson <rth@redhat.com>
13298
13299 * config/i386/i386.md (UNSPEC_BSF): Remove.
13300 (ffssi2): Split into cmove and no_cmove insns and splitters;
13301 lose pentium float trick for now.
13302 (ffssi_1): Add * to name; use CTZ instead of UNSPEC.
13303 (ctzsi2, clzsi2, bsr): New.
13304
13305 2003-02-04 Richard Henderson <rth@redhat.com>
13306
13307 * config/ia64/ia64.c (rtx_needs_barrier): Handle POPCOUNT,
13308 UNSPEC_GETF_EXP; remove UNSPEC_POPCNT.
13309 * config/ia64/ia64.md (UNSPEC_POPCNT): Remove.
13310 (ffsdi2): Use popcount instead of unspec.
13311 (popcountdi2): Rename from *popcnt.
13312 (ctzdi2, clzdi2, getf_exp_tf): New.
13313
13314 2003-02-04 Kazu Hirata <kazu@cs.umass.edu>
13315
13316 * genconfig.c (main): Generate CC0_P.
13317 * rtl.h (CC0_P): Remove.
13318
13319 2003-02-04 Richard Henderson <rth@redhat.com>
13320
13321 * libgcc2.h, libgcc2.c (__ffsSI2): New.
13322 (__ffsDI2): Rename from __ffsdi2.
13323 * mklibgcc.in (lib2funcs): Add _ffssi2.
13324
13325 2003-02-04 Richard Henderson <rth@redhat.com>
13326
13327 * libgcc2.c (__paritysi2, __paritydi2): Replace last two reduction
13328 rounds with a "bit table" lookup.
13329
13330 2003-02-04 Ulrich Weigand <uweigand@de.ibm.com>
13331
13332 * reload.c (find_reloads): Do not use the mode specified in the insn
13333 pattern as reload mode for address operands. Do not generate optional
13334 reloads for operands where a mandatory reload was already pushed.
13335
13336 2003-02-04 Richard Henderson <rth@redhat.com>
13337
13338 * longlong.h [alpha] (count_leading_zeros, count_trailing_zeros): Use
13339 builtins instead of inline assembly.
13340
13341 2003-02-04 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
13342
13343 PR c/9376
13344 * libgcc2.c (__subvdi3): Fix typo.
13345
13346 2003-02-04 Jan Hubicka <jh@suse.cz>
13347
13348 * i386.md (movti_rex64): Fix constraint.
13349
13350 2003-02-04 Jan Hubicka <jh@suse.cz>
13351
13352 * i386.md (vector push splitters): Fix typo in resolving conflict.
13353
13354 2003-02-04 Rodney Brown <rbrown64@csc.com.au>
13355
13356 * config/i386/i386.c (x86_function_profiler): Fix typo in format.
13357
13358 2003-02-04 Phil Edwards <pme@gcc.gnu.org>
13359
13360 * doc/install.texi (*-*-linux-gnu): Mention glibc requirements
13361 for recent libstdc++. Remove formatting cruft.
13362
13363 2003-02-04 Jakub Jelinek <jakub@redhat.com>
13364
13365 * dwarf2out.c (dwarf2out_finish): Add AT_comp_dir
13366 attribute even if input file name is absolute, but one of the
13367 includes is relative.
13368
13369 2003-02-04 Joseph S. Myers <jsm@polyomino.org.uk>
13370
13371 * doc/gcc.texi, doc/gccint.texi, doc/gcov.texi,
13372 doc/include/fdl.texi, doc/invoke.texi: Update to GFDL 1.2.
13373 * doc/install.texi: Update copyright dates. Update to GFDL 1.2.
13374
13375 2003-02-03 Richard Henderson <rth@redhat.com>
13376
13377 * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
13378 __popcountsi2, __popcountdi2, __paritysi2, __paritydi2): Change
13379 return type to "int". Shuffle declarations and undef int trap.
13380 * libgcc2.h: Remove their declarations.
13381 * optabs.c (expand_unop): Force outmode to int for bitops.
13382
13383 2003-02-03 Bob Wilson <bob.wilson@acm.org>
13384
13385 * config/xtensa/xtensa.c (order_regs_for_local_alloc): Order the
13386 coprocessor registers before floating-point registers.
13387 * config/xtensa/xtensa.h (REG_ALLOC_ORDER): Adjust register numbers
13388 to account for a previously removed register.
13389 (SPEC_REG_FIRST, SPEC_REG_LAST, SPEC_REG_NUM, COUNT_REGISTER_REGNUM):
13390 Delete unused macros.
13391
13392 2003-02-03 Jan Hubicka <jh@suse.cz>
13393
13394 * i386.c (ix86_expand_store_builtin): Always force op1 to register.
13395 (mov*_internal): Fix predicates; require one of operands to not be
13396 memory.
13397 (SSE?MMX move expanders): Fix predicates; force one of operands to
13398 register.
13399 (SSE/MMX push patterns): Reorganize; fix x86-64 code generation.
13400 (movups/movupd/movdqu patterns): Force one of operands to not be
13401 memory.
13402
13403 2003-02-03 Roger Sayle <roger@eyesopen.com>
13404
13405 * hooks.c (hook_rtx_rtx_identity): Generic hook function that
13406 takes a single rtx and returns it unmodified.
13407 * hooks.h (hook_rtx_rtx_identity): Prototype here.
13408 * target.h (struct gcc_target): Add "delegitimize_address"
13409 field to target structure.
13410 * target-def.h (TARGET_DELEGITIMIZE_ADDRESS): Provide default
13411 for delegitimize_address target using hook_rtx_rtx_identity.
13412 (TARGET_INITIALIZER): Initialize delegitimize_address field
13413 using TARGET_DELEGITIMIZE_ADDRESS macro.
13414 * simplify-rtx.c (avoid_constant_pool_reference): Handle float
13415 extensions of constant pool references. Use delegitimize_address
13416 to undo the obfuscation of "-fpic".
13417 * Makefile.in (simplify-rtx.o): Add dependency on target.h.
13418
13419 * config/i386/i386.c (TARGET_DELEGITIMIZE_ADDRESS): Define as
13420 i386_simplify_dwarf_addr.
13421 (ix86_find_base_term): Simplify using i386_simplify_dwarf_addr.
13422 (maybe_get_pool_constant): Likewise.
13423
13424 2003-02-03 Jan Hubicka <jh@suse.cz>
13425
13426 * i386.c (ix86_expand_int_movcc): Fix setcc sign bit case.
13427
13428 2003-02-03 Jan Hubicka <jh@suse.cz>
13429
13430 * regclass.c (cannot_change_mode_set_regs): Correct argument order.
13431
13432 2003-02-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13433
13434 * mips/_tilib.c: Don't include tsystem.h or defaults.h. Don't
13435 define LIBGCC2_WORDS_BIG_ENDIAN. Include coretypes.h and tm.h.
13436
13437 2003-02-02 Andreas Schwab <schwab@suse.de>
13438
13439 * varasm.c (asm_output_aligned_bss): Declare as possibly unused.
13440
13441 2003-02-02 Richard Earnshaw <rearnsha@arm.com>
13442
13443 * arm.md (sibcall_epilogue): Set the "conds" to "clob".
13444 (epilogue_insns): Likewise.
13445
13446 2003-02-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
13447
13448 * doc/install.texi (hppa*-hp-hpux11*): Update installation notes.
13449
13450 2003-02-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
13451
13452 * pa-protos.h (attr_length_millicode_call): Remove second argument.
13453 (attr_length_indirect_call, attr_length_indirect_call,
13454 attr_length_save_restore_dltp): New prototypes.
13455 * pa.c (attr_length_millicode_call): Remove second argument. Check
13456 INSN_ADDRESSES_SET_P in distance calculation.
13457 (output_millicode_call): Check INSN_ADDRESSES_SET_P before using
13458 INSN_ADDRESSES.
13459 (attr_length_call): Check INSN_ADDRESSES_SET_P in distance calculation.
13460 (output_call): Check INSN_ADDRESSES_SET_P before using INSN_ADDRESSES.
13461 Call attr_length_call directly.
13462 (attr_length_indirect_call, output_indirect_call,
13463 attr_length_save_restore_dltp): New functions.
13464 * pa.md (attr_length_millicode_call): Drop second argument from all
13465 patterns.
13466 (return_internal_pic): Delete.
13467 (return_external_pic): Remove use of PIC register and pic operand and
13468 flag checks.
13469 (epilogue): Use return_internal for both normal and pic code.
13470 (call, call_value): Emit new 32-bit pic patterns for symref and
13471 indirect calls. Remove uses for arg pointer and pic register.
13472 (call_symref_pic, call_symref_pic_post_reload, call_reg_pic,
13473 call_reg_pic_post_reload, call_val_symref_pic,
13474 call_val_symref_pic_post_reload, call_val_reg_pic,
13475 call_val_reg_pic_post_reload): New pre and post reload insn patterns.
13476 Implement define_split and define_peephole2 patterns for pre reload
13477 patterns.
13478 (call_symref_64bit, call_internal_reg_64bit, call_value_symref_64bit,
13479 call_value_internal_reg_64bit): Shorten names.
13480 (all call patterns): Explicitly indicate registers used and clobbered.
13481 Use attr_length_indirect_call and attr_length_save_restore_dltp for
13482 attribute length calculation. Move code generation for indirect calls
13483 to output_indirect_call.
13484 (sibcall, sibcall_value): Don't restore PIC register.
13485 (exception_receiver, builtin_setjmp_receiver): Add blockage after PIC
13486 register retore.
13487
13488 2003-02-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
13489
13490 * doc/install.texi (Testing): Simplify and compress instructions
13491 concerning Dejagnu.
13492
13493 2003-02-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
13494
13495 * collect2.c (pexecute_pid): Rename to pid.
13496 (collect_wait, collect_execute, scan_prog_file, scan_libraries): Use
13497 pid.
13498
13499 2003-02-01 Geoffrey Keating <geoffk@apple.com>
13500
13501 * doc/extend.texi (Function Attributes): Remove documentation
13502 for PowerPC Windows NT function attributes..
13503
13504 2003-02-01 Daniel Jacobowitz <drow@mvista.com>
13505
13506 * dwarf2out.c (gen_type_die): Check for typedefs before calling
13507 for TYPE_MAIN_VARIANT.
13508
13509 2003-02-01 Richard Henderson <rth@redhat.com>
13510
13511 * libgcc2.c: Include auto-host.h.
13512 (ATTRIBUTE_HIDDEN): New.
13513 (__clz_tab): Don't declare here for clz and ctz.
13514 (__clzsi2, __clzdi2): Use count_leading_zeros.
13515 (__ctzsi2, __ctzdi2): Use count_trailing_zeros.
13516 (__popcount_tab): Mark ATTRIBUTE_HIDDEN.
13517 (__paritysi2, __paritydi2): Use shifts instead of __popcount_tab.
13518 * longlong.h (__clz_tab): Mark ATTRIBUTE_HIDDEN.
13519
13520 2003-02-01 Richard Henderson <rth@redhat.com>
13521
13522 * config/i386/i386.md (addsi_1_zext splitter): Add TARGET_64BIT
13523 to the conditional.
13524 (ashlsi3_1_zext splitter): Likewise.
13525
13526 2003-02-01 Richard Henderson <rth@redhat.com>
13527
13528 * optabs.c (expand_unop): Use word_mode for outmode of bit scaners.
13529 * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
13530 __popcountsi2, __popcountdi2, __paritysi2 __paritydi2): Change
13531 return type to Wtype.
13532
13533 * libgcc-std.ver (GCC_3.4): Fix inheritance.
13534
13535 * config/i386/i386.md (ffssi2): Use nonimmediate_operand for
13536 expander input constraint.
13537
13538 2003-02-01 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
13539
13540 * optabs.h (optab_index): Add OTI_clz, OTI_ctz, OTI_popcount and
13541 OTI_parity.
13542 (clz_optab, ctz_optab, popcount_optab, parity_optab): New.
13543 * optabs.c (widen_clz, expand_parity): New.
13544 (expand_unop): Handle clz and parity. Hardcode SImode as outmode
13545 for libcalls to clz, ctz, popcount, and parity.
13546 (init_optabs): Init clz_optab, ctz_optab, popcount_optab and
13547 parity_optab, and set up libfunc handlers.
13548 * libgcc2.c (__clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
13549 __popcountsi2, __popcountdi2, __paritysi2 __paritydi2,
13550 __popcount_tab): New.
13551 * libgcc2.h: Declare them.
13552 * libgcc-std.ver (GCC_3.4): Add new functions from libgcc2.c.
13553 * genopinit.c (optabs): Add clz_optab, ctz_optab, popcount_optab
13554 and parity_optab.
13555 * builtin-types.def (BT_FN_INT_LONG, BT_FN_INT_LONGLONG): New.
13556 * builtins.def (BUILT_IN_CLZ, BUILT_IN_CTZ, BUILT_IN_POPCOUNT,
13557 BUILT_IN_PARITY, BUILT_IN_FFSL, BUILT_IN_CLZL, BUILT_IN_CTZL,
13558 BUILT_IN_POPCOUNTL, BUILT_IN_PARITYL, BUILT_IN_FFSLL,
13559 BUILT_IN_CLZLL, BUILT_IN_CTZLL, BUILT_IN_POPCOUNTLL,
13560 BUILT_IN_PARITYLL): New.
13561 * builtins.c (expand_builtin_unop): Rename from expand_builtin_ffs
13562 and add optab argument.
13563 (expand_builtin): Expand BUILT_IN_{FFS,CLZ,POPCOUNT,PARITY}*.
13564 * tree.def (CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR, PARITY_EXPR): New.
13565 * expr.c (expand_expr): Handle them.
13566 * fold-const.c (tree_expr_nonnegative_p): Likewise.
13567 * rtl.def (CLZ, CTZ, POPCOUNT, PARITY): New.
13568 * reload1.c (eliminate_regs): Handle them.
13569 (elimination_effects): Likewise.
13570 * function.c (instantiate_virtual_regs_1): Likewise
13571 * genattrtab.c (check_attr_value): Likewise.
13572 * simplify-rtx.c (simplify_unary_operation): Likewise.
13573 * c-common.c (c_common_truthvalue_conversion): Handle POPCOUNT_EXPR.
13574 * combine.c (combine_simplify_rtx): Handle POPCOUNT and PARITY.
13575 (nonzero_bits): Handle CLZ, CTZ, POPCOUNT and PARITY.
13576 * config/alpha/alpha.md (clzdi2, ctzdi2, popcountdi2): New.
13577 * config/arm/arm.c (arm_init_builtins): Rename __builtin_clz to
13578 __builtin_arm_clz.
13579 * Makefile.in (LIB2FUNCS_1, LIB2FUNCS_2): Move...
13580 * mklibgcc.in (lib2funcs): ...here and merge. Add new members.
13581 * doc/extend.texi (Other Builtins): Add new builtins.
13582 * doc/md.texi (Standard Names): Add new patterns.
13583
13584 2003-02-01 Ulrich Weigand <uweigand@de.ibm.com>
13585
13586 * reload.c: Revert 2003-01-31 change.
13587
13588 2003-02-01 Jan Hubicka <jh@suse.cz>
13589
13590 * combine.c (combine_simplify_rtx): Use reversed_comparison_code_parts.
13591
13592 2003-02-01 Richard Sandiford <rsandifo@redhat.com>
13593
13594 * flags.h (flag_volatile): Remove declaration.
13595 (flag_volatile_global, flag_volatile_static): Likewise.
13596 * c-typeck.c (build_indirect_ref): Don't check flag_volatile.
13597 * toplev.c (flag_volatile): Remove definition.
13598 (flag_volatile_global, flag_volatile_static): Likewise.
13599 (f_options): Remove corresponding entries here.
13600 * varasm.c (make_decl_rtl): Don't check flag_volatile_global
13601 or flag_volatile_static.
13602 * doc/invoke.texi: Remove documentation of -fvolatile,
13603 -fvolatile-global and -fvolatile-static.
13604
13605 2003-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
13606
13607 * pa.c (pa_output_function_prologue, pa_output_function_epilogue): Move
13608 updating of total_code_bytes from prologue to epilogue.
13609
13610 2003-01-31 Ulrich Weigand <uweigand@de.ibm.com>
13611
13612 * reload.c (find_reloads): Do not use the mode specified in the insn
13613 pattern as reload mode for address operands. Do not generate optional
13614 reloads for operands where a mandatory reload was already pushed.
13615 Generate optional reloads only in the final pass though find_reloads.
13616 (have_replacement_p): New function.
13617
13618 2003-01-31 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
13619
13620 * doc/install.texi (Testing): Remove a reference to our obsolete
13621 /testresults web pages and strip redundant information concerning
13622 test results.
13623 (Binaries): Refer to Microsoft Windows instead of listing all
13624 possible variants.
13625
13626 2003-02-01 Jan Hubicka <jh@suse.cz>
13627
13628 * loop.c (emit_prefetch_instructions): Do conversion at right place in
13629 RTL chain.
13630
13631 * combine.c (simplify_set): Reverse order of ragumetns to
13632 REG_CANNOT_CHANGE_MODE_P
13633 * df.c (df_def_record_1): Likewise.
13634 * recog.c (register_operand): Likewise.
13635 * simplify-rtx.c (simplify_subreg): Likewise.
13636 * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): Update use of
13637 CANNOT_CHANGE_MODE_CLASS.
13638 * regclass.c (cannot_change_mode_set_regs, invalid_mode_change_p):
13639 Likewise.
13640 * reload.c (push_reload): Likewise.
13641 * alpha.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
13642 * ia64.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
13643 * mips.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
13644 * mips-protos.h (mips_cannot_change_mode_class): Update prototype.
13645 * mips.c (mips_cannot_change_mode_class): Update.
13646 * pa64-regs.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
13647 * rs6000.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
13648 * s390.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
13649 * sh.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
13650 * sh-protos.h (sh_cannot_change_mode_class): Update prototype.
13651 * sh.c (sh_cannot_change_mode_class): Update.
13652 * i386.h (CANNOT_CHANGE_MODE_CLASS): New.
13653 * tm.texi (CANNOT_CHANGE_MODE_CLASS): Update documentation.
13654
13655 2003-01-31 Geoffrey Keating <geoffk@apple.com>
13656
13657 * config/darwin.h (LINK_COMMAND_SPEC): Update for Nathan's recent
13658 change to LINK_COMMAND_SPEC in gcc.c.
13659
13660 2003-01-31 Jan Hubicka <jh@suse.cz>
13661
13662 PR c/9506
13663 * i386.c (override_options): Use DEFAULT_PCC_STRUCT_RETURN.
13664
13665 2003-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
13666
13667 * pa32-regs.h (REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Delete
13668 duplicated code.
13669
13670 2003-01-31 Nathan Sidwell <nathan@codesourcery.com>
13671
13672 * tree.h (TYPE_BINFO_SIZE, TYPE_BINFO_SIZE_UNIT): Remove.
13673 (BINFO_ELTS): New #define.
13674 * stor-layout.c (finalize_record_size): Don't set them.
13675 * cp/cp-tree.h (BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX,
13676 BINFO_PRIMARY_BASE_OF): Use BINFO_ELTS.
13677 (BINFO_LANG_ELTS): New #define.
13678 * cp/tree.c (make_binfo): Use BINFO_LANG_ELTS.
13679 * java/class.c (make_class): Use BINFO_ELTS.
13680 (set_super_info): Likewse.
13681 (add_interface_do): Likewise.
13682 * objc/objc-act.c (start_class): Use BINFO_ELTS.
13683
13684 2003-01-31 Danny Smith <dannysmith@users.sourceforge.net>
13685
13686 * timevar.c (getrusage): Don't ever declare if not HAVE_GETRUSAGE.
13687 (times): Don't ever declare if not HAVE_TIMES.
13688 (clock): Don't ever declare if not HAVE_CLOCK.
13689
13690 2003-01-30 Richard Henderson <rth@redhat.com>
13691
13692 * flow.c (update_life_info): Zap life info after cleanup_cfg.
13693 (regno_uninitialized): Use correct live at function entry set.
13694 (regno_clobbered_at_setjmp): Likewise.
13695
13696 * expr.c (store_expr): Promote all MEM intermediates to regs.
13697
13698 2003-01-30 Kazu Hirata <kazu@cs.umass.edu>
13699
13700 * config/arm/arm.c: Fix comment typos.
13701 * config/arm/arm.h: Likewise.
13702 * config/arm/netbsd-elf.h: Likewise.
13703 * config/arm/netbsd.h: Likewise.
13704
13705 2003-01-30 Geoffrey Keating <geoffk@apple.com>
13706
13707 * gengtype.c (struct walk_type_data): Add needs_cast_p.
13708 (walk_type): Set needs_cast_p in walk_type_data.
13709 (write_types_process_field): Supply casts when required to suppress
13710 warnings.
13711 (write_root): Cast gt_pch_n_S to suppress warning.
13712 * Makefile.in: Remove -Wno-error from gtype-desc.o and c-decl.o.
13713 * config/rs6000/rs6000.c (print_operand): Mask off high bits only
13714 when they might exist.
13715 * config/rs6000/t-rs6000: Remove -Wno-error from varasm.o,
13716 insn-conditions.o, and rs6000.o.
13717
13718 2003-01-30 Richard Henderson <rth@redhat.com>
13719
13720 * ggc-page.c (G.context_depth_allocations): New.
13721 (G.context_depth_collections): New.
13722 (alloc_page): Set G.context_depth_allocations.
13723 (ggc_collect): Set G.context_depth_collections.
13724 (ggc_push_context): Limit to HOST_BITS_PER_LONG contexts.
13725 (ggc_pop_context): Early exit for no allocations or collections.
13726
13727 2003-01-30 Richard Henderson <rth@redhat.com>
13728
13729 * tree-inline.c (walk_tree): Streamline duplicate hash table lookup.
13730
13731 2003-01-30 Richard Earnshaw <rearnsha@arm.com>
13732
13733 * arm.c (arm_compute_initial_elimination_offset): If optimizing for
13734 size, the link register is always saved if any other register is
13735 saved.
13736
13737 2003-01-30 Kazu Hirata <kazu@cs.umass.edu>
13738
13739 * config/h8300/h8300-protos.h: Update the prototype for
13740 compute_plussi_cc.
13741 (cpp_reader): Declare before it is used.
13742 * config/h8300/h8300.c (compute_plussi_cc): Change the return
13743 type to int.
13744 * config/h8300/h8300.md (monitor_prologue): Call abort() if we
13745 see an unknown H8 variant.
13746
13747 2003-01-30 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
13748
13749 PR target/9316
13750 * config/rs6000/rtems.h: Add CPP_OS_DEFAULT_SPEC.
13751 * config/rs6000/sysv4.h: Add CPP_OS_RTEMS_SPEC.
13752 * config/rs6000/t-rtems: New file. multilib variants to match OS.
13753 * config.gcc (powerpc-*-rtems*): Use rs6000/t-rtems instead of
13754 rs6000/t-ppcgas so we get the desired multilibs.
13755
13756 2003-01-30 Nick Clifton <nickc@redhat.com>
13757
13758 * config/arm/arm.c (arm_output_epilogue): Update stack pointer
13759 when popping saved IP register off the stack.
13760
13761 2003-01-30 Kazu Hirata <kazu@cs.umass.edu>
13762
13763 * config/rs6000/aix43.h: Fix comment typos.
13764 * config/rs6000/aix51.h: Likewise.
13765 * config/rs6000/aix52.h: Likewise.
13766 * config/rs6000/altivec.h: Likewise.
13767 * config/rs6000/rs6000.c: Likewise.
13768 * config/rs6000/rs6000.h: Likewise.
13769 * config/rs6000/rs6000.md: Likewise.
13770 * config/rs6000/spe.md: Likewise.
13771
13772 2003-01-29 Mark Mitchell <mark@codesourcery.com>
13773
13774 * c-common.c (builtin_define_float_constants): Define
13775 __<TYPE>_HAS_INFINITY__ and __<TYPE>_HAS_QUIET_NAN__.
13776
13777 2003-01-30 Kazu Hirata <kazu@cs.umass.edu>
13778
13779 * config/sh/lib1funcs.asm: Fix comment typos.
13780 * config/sh/linux.h: Likewise.
13781 * config/sh/sh.c: Likewise.
13782 * config/sh/sh.md: Likewise.
13783
13784 2003-01-30 Loren James Rittle <ljrittle@acm.org>
13785
13786 * objc/Make-lang.in (objc-parse.y): Find c-parse.in in $(srcdir).
13787
13788 2003-01-30 Alexandre Oliva <aoliva@redhat.com>
13789
13790 * config/fp-bit.h (__make_dp): Declare if TMODES.
13791
13792 2003-01-29 Kazu Hirata <kazu@cs.umass.edu>
13793
13794 * config/h8300/h8300.h (PREDICATE_CODES): Add entries for
13795 general_operand_src and general_operand_dst.
13796
13797 2003-01-29 David Edelsohn <edelsohn@gnu.org>
13798
13799 * config/rs6000/rs6000.c (function_arg_pass_by_reference):
13800 Return true for variable sized types.
13801 (rs6000_va_arg): Handle variable sized types passed by reference
13802 on non-SVR4 ABI.
13803
13804 2003-01-29 Richard Earnshaw <rearnsha@arm.com>
13805
13806 * arm.c (arm_legtimize_address): New function.
13807 * arm-protos.h (arm_legtimize_address): Add prototype.
13808 * arm.h (ARM_LEGITIMIZE_ADDRESS): Use arm_legitimize_address.
13809 (LEGITIMIZE_ADDRESS, THUMB_LEGITIMIZE_ADDRESS): Wrap with
13810 do ... while (0)
13811
13812 2003-01-29 Joel Sherrill <joel@OARcorp.com>
13813
13814 PR bootstrap/9296
13815 * gthr-rtems.h: Define __GTHREAD_MUTEX_INIT. Apparently no code
13816 depended on it being defined until now.
13817
13818 2003-01-29 Joel Sherrill <joel@OARcorp.com>
13819
13820 PR target/9295
13821 * config/mips/rtems.h: Predefine __USE_INIT_FINI__ so generic
13822 RTEMS code knows which C++ initialization style the toolset
13823 configuration is using.
13824
13825 2003-01-29 Joel Sherrill <joel@OARcorp.com>
13826
13827 PR bootstrap/9293
13828 * config/m68k/t-crtstuff: Replace spaces with tabs, add
13829 $(MULTILIB_CFLAGS) as compiler option and multilib crtbegin/end.o.
13830
13831 2003-01-29 Joel Sherrill <joel@OARcorp.com>
13832
13833 PR bootstrap/9292
13834 * config.gcc (hppa1.1-rtems): Did not include t-rtems nor enable
13835 RTEMS threads.
13836 * config/pa/rtems.h (LIB_SPEC): Use -N when linking.
13837
13838 2003-01-29 Nick Clifton <nickc@redhat.com>
13839
13840 * Makefile.in (c-parse.o): Locate source file in $(parsedir)
13841 not $(srcdir).
13842
13843 2003-01-29 Andrew Haley <aph@redhat.com>
13844
13845 * tree-inline.c (walk_tree): Add CHAR_TYPE.
13846
13847 2003-01-29 Jan Hubicka <jh@suse.cz>
13848
13849 * i386.md (subdi3_carry_rex64): Fix typo.
13850
13851 2003-01-28 Stan Shebs <shebs@apple.com>
13852
13853 * coretypes.h (cpp_reader): Forward declare struct.
13854 * c-pragma.h (cpp_reader): Remove forward declaration.
13855 * hashtable.h (cpp_reader): Likewise.
13856 * scan.h (cpp_reader): Likewise.
13857 * tree.h (cpp_reader): Likewise.
13858 * config/darwin-protos.h (cpp_reader): Likewise.
13859 * config/arm/arm-protos.h (cpp_reader): Likewise.
13860 * config/rs6000/rs6000-protos.h: Remove GCC_CPPLIB_H ifdef, use
13861 struct cpp_reader in prototypes.
13862
13863 2003-01-28 Christian Cornelssen <ccorn@cs.tu-berlin.de>
13864
13865 * doc/install.texi: Add documentation for installation into
13866 tooldirs and with DESTDIR.
13867
13868 2003-01-28 Richard Henderson <rth@redhat.com>
13869
13870 * config.gcc (ia64*-*-aix*): Remove.
13871 * config/ia64/aix.h, config/ia64/t-aix: Remove file.
13872 * config/ia64/unwind-aix.c: Remove file.
13873
13874 2003-01-28 Andreas Schwab <schwab@suse.de>
13875
13876 * config/m68k/m68k.md (tablejump+2): Don't sign extend an address
13877 register.
13878 * config/m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Likewise.
13879 * config/m68k/coff.h (ASM_RETURN_CASE_JUMP): Likewise.
13880 * config/m68k/linux.h (ASM_RETURN_CASE_JUMP): Likewise.
13881 * config/m68k/m68kelf.h (ASM_RETURN_CASE_JUMP): Likewise.
13882 * config/m68k/mot3300.h (ASM_RETURN_CASE_JUMP): Likewise.
13883 * config/m68k/netbsd-elf.h (ASM_RETURN_CASE_JUMP): Likewise.
13884 * config/m68k/pbb.h (ASM_RETURN_CASE_JUMP): Likewise.
13885
13886 2003-01-28 Richard Sandiford <rsandifo@redhat.com>
13887
13888 * combine.c (nonzero_bits): Fix check for negative divide operands.
13889
13890 2003-01-28 Richard Henderson <rth@redhat.com>
13891
13892 * config/ia64/ia64.c (ia64_rwreloc_section_type_flags): New.
13893 * config/ia64/hpux.h (TARGET_SECTION_TYPE_FLAGS): New.
13894
13895 2003-01-28 Richard Henderson <rth@redhat.com>
13896
13897 * cse.c (find_best_addr): Kill !ADDRESS_COST code.
13898
13899 * config/cris/cris.c (cris_address_cost): Make static.
13900 (TARGET_RTX_COSTS, TARGET_ADDRESS_COST): New.
13901 * config/cris/cris.h (ADDRESS_COST): Remove.
13902 * config/cris/cris-protos.h: Update.
13903
13904 2003-01-23 Mike Stump <mrs@apple.com>
13905
13906 * regclass.c (init_reg_autoinc): New function.
13907 (regclass): Move initialization of forbidden_inc_dec_class from
13908 here...
13909 (init_regs): to here. Avoids reinitialization for each function,
13910 saving compilation time.
13911
13912 2003-01-28 Jason Merrill <jason@redhat.com>
13913
13914 * cpplib.h (struct cpp_options): Add warn_deprecated field.
13915 * cppinit.c (cpp_create_reader): Turn it on by default.
13916 * c-opts.c (c_common_decode_option): Set it.
13917 * cpplib.c (do_pragma_once): Only complain about #pragma once
13918 if warn_deprecated is set.
13919
13920 2003-01-28 Dale Johannesen <dalej@apple.com>
13921
13922 * emit-rtl.c (const_double_htab_hash): Use mode in the hash.
13923 * loop.c (scan_loop): Move movables on -Os rich-register targets.
13924 * config/rs6000/rs6000.md (sibcall*): Use match_operand for LR.
13925
13926 2003-01-28 Richard Henderson <rth@redhat.com>
13927
13928 * target.h (targetm.address_cost): New.
13929 * target-def.h (TARGET_ADDRESS_COST): New.
13930 (TARGET_RTX_COSTS): Uncomment. Oops.
13931 * cse.c (address_cost): Use new target hook.
13932 (default_address_cost): New.
13933 * output.h (default_address_cost): Declare.
13934 * hooks.c (hook_int_rtx_0): New.
13935 * hooks.h (hook_int_rtx_0): Declare.
13936 * loop.c (combine_givs_p): Remove if 0 code.
13937 * system.h (ADDRESS_COST): Poison.
13938
13939 * config/alpha/alpha.c, config/alpha/alpha.h, config/d30v/d30v.c,
13940 config/d30v/d30v.h, config/ia64/ia64.c, config/ia64/ia64.h,
13941 config/m32r/m32r.c, config/m32r/m32r.h, config/mcore/mcore.c,
13942 config/mcore/mcore.h, config/mmix/mmix.c, config/mmix/mmix.h,
13943 config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/sparc/sparc.c,
13944 config/sparc/sparc.h, config/v850/v850.c, config/v850/v850.h,
13945 config/xtensa/xtensa.c, config/xtensa/xtensa.h
13946 (TARGET_ADDRESS_COST): Define as hook_int_rtx_0.
13947 (ADDRESS_COST): Remove.
13948
13949 * config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
13950 config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
13951 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
13952 config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
13953 config/dsp16xx/dsp16xx.h, config/i386/i386-protos.h,
13954 config/i386/i386.c, config/i386/i386.h, config/i960/i960-protos.h,
13955 config/i960/i960.c, config/i960/i960.h, config/ip2k/ip2k-protos.h,
13956 config/ip2k/ip2k.c, config/ip2k/ip2k.h, config/mips/mips-protos.h,
13957 config/mips/mips.c, config/mips/mips.h,
13958 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
13959 config/m68hc11/m68hc11.h, config/ns32k/ns32k-protos.h,
13960 config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa-protos.h,
13961 config/pa/pa.c, config/pa/pa.h, config/s390/s390-protos.h,
13962 config/s390/s390.c, config/s390/s390.h, config/vax/vax-protos.h,
13963 config/vax/vax.c, config/vax/vax.h
13964 (foo_address_cost): Make static.
13965 (TARGET_ADDRESS_COST): New.
13966 (ADDRESS_COST): Remove.
13967
13968 * config/arm/arm.h, config/arm/arm.c, config/m88k/m88k.h,
13969 config/m88k/m88k.c, config/romp/romp.h, config/romp/romp.c,
13970 config/sh/sh.c, config/sh/sh.h, config/stormy16/stormy16.c,
13971 config/stormy16/stormy16.h
13972 (ADDRESS_COST): Move code ...
13973 (foo_address_cost): ... here.
13974 (TARGET_ADDRESS_COST): New.
13975
13976 * config/m32r/m32r.c (m32r_address_cost): Remove.
13977 * config/m32r/m32r-protos.h: Update.
13978
13979 * config/mmix/mmix.c (mmix_address_cost): Remove.
13980 * config/mmix/mmix-protos.h: Update.
13981
13982 * config/mn10300/mn10300.c (mn10300_address_cost_1): Rename from
13983 mn10300_address_cost; move unsig allocation ...
13984 (mn10300_address_cost): ... here.
13985 (TARGET_ADDRESS_COST): New.
13986 * config/mn10300/mn10300-protos.h: Update.
13987 * config/mn10300/mn10300.h (ADDRESS_COST): Remove.
13988
13989 * doc/tm.texi: Update.
13990
13991 2003-01-28 Vladimir Makarov <vmakarov@redhat.com>
13992
13993 * haifa-sched.c (schedule_insn): Return necessary cycle advance
13994 after issuing the insn.
13995 (rank_for_schedule): Make a insn with /S the highest priority
13996 insn.
13997 (move_insn): Ignore schedule groups. Clear SCHED_GROUP_P.
13998 (choose_ready): Check SCHED_GROUP_P.
13999 (schedule_block): Advance cycle after issuing insn if it is
14000 necessary. Don't reorder insns if there is an insn with /S.
14001 (set_priorities): Ignore schedule groups.
14002
14003 * sched-deps.c (remove_dependence, group_leader): Remove the
14004 functions.
14005 (add_dependence): Ignore schedule groups.
14006 (set_sched_group_p): Don't make copy of dependencies from previous
14007 insn of the schedule group. Add anti-dependency to the previous
14008 insn of the schedule group.
14009 (compute_forward_dependences): Ignore schedule groups.
14010
14011 * sched-ebb.c (init_ready_list): Ignore schedule groups.
14012
14013 * sched-rgn.c (init_ready_list): Ditto.
14014 (can_schedule_ready_p): Ditto.
14015
14016 2003-01-28 Vladimir Makarov <vmakarov@redhat.com>
14017
14018 * config/i386/i386.md (*movsi_1): Use movdqa to move one xmm
14019 register to another one.
14020
14021 2003-01-28 Richard Henderson <rth@redhat.com>
14022
14023 * calls.c (default_must_pass_in_stack): Fix typo in !type case.
14024
14025 2003-01-28 Roger Sayle <roger@eyesopen.com>
14026
14027 * cse.c (cse_insn): Avoid redundant REG_EQUAL notes.
14028
14029 2003-01-28 Richard Sandiford <rsandifo@redhat.com>
14030
14031 * config/sh/sh.h (CLASS_MAX_NREGS): If TARGET_SHMEDIA, and the given
14032 class contains a floating-point register, return the size of the
14033 mode in half words.
14034
14035 2003-01-28 Jan Hubicka <jh@suse.cz>
14036
14037 * i386.c (ix86_carry_flag_operator): New predicate.
14038 (fcmov_operator): Fix whitespace.
14039 (ix86_expand_carry_flag_compare): Deal with floating point.
14040 (ix86_expand_int_movcc): Deal with fp; update insn expansion
14041 (ix86_expand_int_addcc): Likewise.
14042 (ix86_expand_strlensi_unroll_1): likewsie.
14043 * i386.h (PREDICATE_CODES): Add ix86_carry_flag_operator.
14044 * i386.md (add?i_carry_rex64): Use new predicate.
14045 (sub?i3_carry_rex64): Likewise.
14046 (x86_mov?icc_0_m1*): Likewise.
14047
14048 2003-01-28 Andreas Schwab <schwab@suse.de>
14049
14050 * cfgloopmanip.c (create_preheader): Initialize src to avoid
14051 warning.
14052
14053 * expmed.c (emit_store_flag): Fix cast to avoid sign
14054 comparison warning.
14055
14056 * combine.c (force_to_mode): Add cast to fix warning when
14057 STORE_FLAG_VALUE is negative.
14058
14059 2003-01-27 Richard Henderson <rth@redhat.com>
14060
14061 * Makefile.in (cse.o): Depend on TARGET_H.
14062 * cse.c (rtx_cost): Use targetm.rtx_costs.
14063 * system.h (CONST_COSTS RTX_COSTS DEFAULT_RTX_COSTS): Poison.
14064 * doc/tm.texi: Update.
14065
14066 * target.h (targetm.rtx_costs): New.
14067 * target-def.h (TARGET_RTX_COSTS): New.
14068 * hooks.c (hook_bool_rtx_int_int_intp_false): New.
14069 * hooks.h: Update.
14070
14071 * config/alpha/alpha.c (alpha_rtx_cost_data): New.
14072 (alpha_rtx_costs, TARGET_RTX_COSTS): New.
14073 * config/alpha/alpha.h (PROCESSOR_MAX): New.
14074 (CONST_COSTS, RTX_COSTS): Remove.
14075
14076 * config/arc/arc.c, config/arc/arc.h, config/c4x/c4x.c,
14077 config/c4x/c4x.h, config/cris/cris.c, config/cris/cris.h,
14078 config/d30v/d30v.c, config/d30v/d30v.h, config/dsp16xx/dsp16xx.c,
14079 config/dsp16xx/dsp16xx.h, config/frv/frv.c, config/frv/frv.h,
14080 config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
14081 config/i370/i370.h, config/i386/i386.c, config/i386/i386.h,
14082 config/i960/i960.c, config/i960/i960.h, config/ia64/ia64.c,
14083 config/ia64/ia64.h, config/m32r/m32r.c, config/m32r/m32r.h,
14084 config/m68k/m68k.c, config/m68k/m68k.h, config/m88k/m88k.c,
14085 config/m88k/m88k.h, config/mcore/mcore.c, config/mcore/mcore.h,
14086 config/mips/mips.c, config/mips/mips.h, config/mn10200/mn10200.c,
14087 config/mn10200/mn10200.h, config/mn10300/mn10300.c,
14088 config/mn10300/mn10300.h, config/ns32k/ns32k.c, config/ns32k/ns32k.h,
14089 config/pa/pa.c, config/pa/pa.h, config/pdp11/pdp11.c,
14090 config/pdp11/pdp11.h, config/romp/romp.c, config/romp/romp.h,
14091 config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/s390/s390.c,
14092 config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
14093 config/stormy16/stormy16.c, config/stormy16/stormy16.h,
14094 config/v850/v850.c, config/v850/v850.h,
14095 config/xtensa/xtensa.c, config/xtensa/xtensa.h
14096 (CONST_COSTS, RTX_COSTS): Move code ...
14097 (foo_rtx_costs, TARGET_RTX_COSTS): ... here.
14098
14099 * config/arm/arm.c (arm_rtx_costs_1): Rename from arm_rtx_costs.
14100 (arm_rtx_costs, TARGET_RTX_COSTS): New.
14101 * config/arm/arm-protos.h: Update.
14102 * config/arm/arm.h (DEFAULT_RTX_COSTS): Remove.
14103
14104 * config/avr/avr.h (CONST_COSTS): Move code ...
14105 * config/avr/avr.c (avr_rtx_costs): ... here.
14106 (default_rtx_costs): Make static.
14107 * config/avr/avr-protos.h: Update.
14108
14109 * config/h8300/h8300.c (const_costs): Make static.
14110 (h8300_and_costs, h8300_shift_costs): Likewise.
14111 * config/h8300/h8300-protos.h: Update.
14112
14113 * config/ip2k/ip2k.h (DEFAULT_RTX_COSTS): Remove.
14114 (CONST_COSTS): Move code ...
14115 * config/ip2k/ip2k.c (ip2k_rtx_costs): ... here. Rename from
14116 default_rtx_costs; update for signature change.
14117 * config/ip2k/ip2k-protos.h: Update.
14118
14119 * config/m68hc11/m68hc11.h (RTX_COSTS): Remove.
14120 (CONST_COSTS): Move code ...
14121 * config/m68hc11/m68hc11.c (m68hc11_rtx_costs): ... here.
14122 (TARGET_RTX_COSTS): New.
14123 (m68hc11_rtx_costs_1): Rename from m68hc11_rtx_costs; make static.
14124 * config/m68hc11/m68hc11-protos.h: Update.
14125
14126 * config/m68k/m68k.c (const_int_cost): Make static.
14127 * config/m68k/m68k-protos.h: Update.
14128
14129 * config/mcore/mcore.c (mcore_const_costs): Make static.
14130 (mcore_and_cost, mcore_ior_cost): Likewise.
14131 * config/mcore/mcore-protos.h: Update.
14132
14133 * config/mmix/mmix.c (mmix_rtx_costs, TARGET_RTX_COSTS): New.
14134 (mmix_rtx_cost_recalculated): Remove.
14135 * config/mmix/mmix.h (DEFAULT_RTX_COSTS): Remove.
14136 * config/mmix/mmix-protos.h: Update.
14137
14138 * config/sh/sh.c (shiftcosts): Make static.
14139 (addsubcosts, andcosts, multcosts): Likewise.
14140 * config/sh/sh-protos.h: Update.
14141
14142 * config/sparc/sparc.c (TARGET_RTX_COSTS): New.
14143 (sparc_rtx_costs): Make static; update for change in signature.
14144 * config/sparc/sparc.h (RTX_COSTS_CASES, RTX_COSTS): Remove.
14145 * config/sparc/sparc-protos.h: Update.
14146
14147 * config/v850/v850.c (const_costs): Make static.
14148 * config/v850/v850-protos.h: Update.
14149
14150 * config/vax/vax.h (RTX_COSTS): Remove.
14151 (CONST_COSTS): Move code ...
14152 * config/vax/vax.c (vax_rtx_costs_1): ... here; rename
14153 from vax_rtx_cost.
14154 (vax_rtx_costs, TARGET_RTX_COSTS): New.
14155
14156 2003-01-27 Richard Henderson <rth@redhat.com>
14157
14158 * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove. Really.
14159 * config/vax/vax-protos.h: Update. Really.
14160
14161 2003-01-28 Alexandre Oliva <aoliva@redhat.com>
14162
14163 * config/mips/mips.h (UNITS_PER_HWFPVALUE): Renamed from...
14164 (UNITS_PER_FPVALUE): Defined as the width of a long double, or
14165 zero if no hardware floating point.
14166 (LONG_DUBLE_TYPE_SIZE): Set to 128 on N32 and N64.
14167 (MAX_FIXED_MODE_SIZE): Define to LONG_DOUBLE_TYPE_SIZE.
14168 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
14169 (BIGGEST_ALIGNMENT): Same as LONG_DOUBLE_TYPE_SIZE.
14170 (FUNCTION_VALUE_REGNO_P): Set for FP_RETURN+2 on N32 and N64.
14171 * config/mips/mips.c (mips_arg_info): Pass TFmode values in
14172 even FP registers on N32 and N64.
14173 (mips_setup_incoming_varargs): Use UNITS_PER_HWFPVALUE.
14174 (mips_va_start): Adjust alignment of ARG_POINTER_REGNUM.
14175 (mips_va_arg): Use UNITS_PER_HWFPVALUE. Impose additional
14176 even-register-like alignment to 128-bit arguments.
14177 (save_restore_insns): Use UNITS_PER_HWFPVALUE.
14178 (mips_function_value): Likewise. Return TFmode in $f0 and $f2
14179 on N32 or N64.
14180 * config/mips/_tilib.c (__negti2, __ashlti3, __lshrti3): New.
14181 * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Add _tilib.c.
14182 (TPBIT): Set to tp-bit.c.
14183 (tp-bit.c): Create out of fp-bit.c.
14184
14185 2003-01-28 Gabriel Dos Reis <gdr@integrable-solutions.net>
14186
14187 * c-parse.in: Remove '%expect 32' directive in objc mode.
14188
14189 2003-01-27 Nathan Sidwell <nathan@codesourcery.com>
14190
14191 * Makefile.in (LIB2FUNCS_ST): Remove _gcov.
14192 (LIBGCOV): New variable.
14193 (libgcc.mk): Add LIBGCOV.
14194 (LIBGCC_DEPS): Add libgcov.c.
14195 (libgcov.a): New target.
14196 (clean): Remove libgcov.a.
14197 (install-libgcc): Do libgcov too.
14198 (stage1-start, stage2-start, stage3-start, stage4-start): Deal
14199 with libgcov.a.
14200 * libgcc2.c (L_gcov): Move into ...
14201 * libgcov.c: ... here. New file.
14202 * mklibgcc.in: Add libgcov rules.
14203 * gcc.c (LINK_COMMAND_SPEC): Add -lgcov when profiling.
14204
14205 * doc/invoke.texi (profile-arcs, test-coverage): Update and
14206 clarify.
14207
14208 * profile.c (index_counts_file): Remove duplicate check for open file.
14209
14210 2003-01-27 Jerry Quinn <jlquinn@optonline.net>
14211
14212 * gcc/doc/invoke.texi (Optimization Options): Group together
14213 optional and experimental flags. Move trapv and bounds-check
14214 out of this section. Group floating point flags together.
14215 (Code Gen Options): Move trapv and bounds-check to here.
14216
14217 2003-01-27 Josef Zlomek <zlomekj@suse.cz>
14218
14219 * gcse.c (constprop_register): Check NEXT_INSN (insn) != NULL.
14220
14221 2003-01-27 Richard Earnshaw <rearnsha@arm.com>
14222
14223 PR optimization/9090
14224 * function.c (purge_addressof_1): After pushing an addressed register
14225 onto the stack, simplify the result.
14226
14227 2003-01-27 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
14228
14229 * doc/extend.texi: Fix typo.
14230
14231 2003-01-27 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
14232
14233 * doc/cppopts.texi: Fix typo.
14234 * doc/objc.texi: Likewise.
14235 * doc/passes.texi: Likewise.
14236
14237 2003-01-27 Alexandre Oliva <aoliva@redhat.com>
14238
14239 * real.c (ibm_extended_format): Add 53 to minimum exponent.
14240 (encode_ibm_extended): Adjust.
14241
14242 2003-01-26 Gabriel Dos Reis <gdr@soliton.integrable-solutions.net>
14243
14244 * timevar.def (TV_OVERLOAD, TV_TEMPLATE_INSTANTIATION): New
14245 timevar_id enumerations.
14246
14247 2003-01-26 Kazu Hirata <kazu@cs.umass.edu>
14248
14249 * combine.c: Fix formatting.
14250
14251 2003-01-26 Kazu Hirata <kazu@cs.umass.edu>
14252
14253 * doc/gccint.texi: Update the copyright.
14254
14255 2003-01-26 Kazu Hirata <kazu@cs.umass.edu>
14256
14257 * doc/cpp.texi: Fix typos.
14258 * doc/extend.texi: Likewise.
14259 * doc/gty.texi: Likewise.
14260 * doc/install.texi: Likewise.
14261 * doc/passes.texi: Likewise.
14262 * doc/rtl.texi: Likewise.
14263 * doc/tm.texi: Likewise.
14264
14265 2003-01-26 Kazu Hirata <kazu@cs.umass.edu>
14266
14267 * config/ia64/fde-glibc.c: Fix comment typos.
14268 * config/ia64/hpux.h: Likewise.
14269 * config/ia64/ia64.c: Likewise.
14270 * config/ia64/ia64.h: Likewise.
14271 * config/ia64/unwind-ia64.c: Likewise.
14272
14273 2003-01-26 Kazu Hirata <kazu@cs.umass.edu>
14274
14275 * config/i386/i386-modes.def: Fix comment typos.
14276 * config/i386/i386.c: Likewise.
14277 * config/i386/i386.md: Likewise.
14278
14279 2003-01-26 Steven Bosscher <s.bosscher@student.tudelft.nl>
14280
14281 * config/avr/avr.h, config/cris/aout.h, config/elfos.h,
14282 config/i386/freebsd-aout.h, config/mips/iris6.h: Undefine
14283 ASM_FINISH_DECLARE_OBJECT before defining it.
14284 * toplev.c (rest_of_decl_compilation): Don't define
14285 ASM_FINISH_DECLARE_OBJECT. Only use it if it is defined.
14286 (rest_of_type_compilation): Don't ATTRIBUTE_UNUSED function
14287 parameters for DWARF2 targets because they _are_ used.
14288
14289 2003-01-26 Alexandre Oliva <aoliva@redhat.com>
14290
14291 * fp-bit.h: Define macros for TFmode floating-point constants
14292 in IBM-extended TFmode types.
14293 (TMODES): Define if __LDBL_MANT_DIG__ has the newly-supported
14294 widths.
14295 * config/fp-bit.c (pack_d, unpack_d): Support IBM-extended
14296 TFmode type.
14297
14298 * config/fp-bit.h: Define macros for TFmode floating-point
14299 constants in IEEE quad TFmode type. Declare functions according
14300 to L_ macros.
14301 (TMODES): Define if __LDBL_MANT_DIG__ is 113.
14302 (TFtype, TItype, UTItype): Define if TMODES is defined.
14303 (MAX_UDI_INT, MAX_DI_INT, BITS_PER_DI): Likewise.
14304 (F_T_BITOFF, D_T_BITOFF): Define.
14305 (IMPLICIT_1, IMPLICIT_2): Cast constants to types that are
14306 guaranteed to be wide enough.
14307 * config/fp-bit.c: Check for L_ macros for tf functions.
14308 (__thenan_tf): New.
14309 (nan): Adjust.
14310 (pack_d, unpack_d): Support IEEE 854 quad type.
14311 (_fpmul_parts): Support TFmode. Compute exponent adjustment
14312 from FRAC_NBITS, FRAC_BITS and NGARDS.
14313 (usi_to_float): Cast constants to be shifted to fractype
14314 instead of assuming long long is wide enough.
14315 (sf_to_tf, df_to_tf, __make_tp, tf_to_df, tf_to_sf): New.
14316
14317 2003-01-26 Andreas Jaeger <aj@suse.de>
14318
14319 * df.c: Remove prototype of unused function df_regno_rtl_debug.
14320
14321 2003-01-26 Alexandre Oliva <aoliva@redhat.com>
14322
14323 * Makefile.in (FPBIT_FUNCS): Added _sf_to_tf.
14324 (DBBIT_FUNCS): Added _df_to_tf.
14325 (TPBIT_FUNCS): New.
14326 (libgcc.mk): Pass TPBIT and TPBIT_FUNCS down.
14327 (LIBGCC_DEPS): Added TPBIT.
14328 * mklibgcc.in: Support TPBIT and TPBIT_FUNCS.
14329
14330 * optabs.c (expand_binop) <add, sub>: Return xtarget if we haven't
14331 been able to move the result to target.
14332
14333 * expr.c (emit_group_store): Initialize dst with CONST0_RTX
14334 for the appropriate mode.
14335
14336 * calls.c (emit_library_call_value_1): Handle return values
14337 in a PARALLEL.
14338
14339 * rtl.c (get_mode_alignment): Moved to...
14340 * stor-layout.c: ... here.
14341
14342 * print-rtl.c (print_rtx): Don't print MEM details in
14343 GENERATOR_FILEs.
14344
14345 2003-01-26 Michael Hayes <mph@paradise.net.nz>
14346
14347 * df.h: Update comments, tidy formatting.
14348 (DF_FORWARD, DF_REVERSE, DF_UNION, DF_INTERSECTION): Rename from FORWARD,
14349 REVERSE, UNION, INTERSECTION. All uses updated.
14350 (OLD_DF_INTERFACE): Remove.
14351 (struct insn_info): Remove commented out insn field.
14352 * df.c: Update comments, tidy formatting.
14353 (df_def_table_realloc): Remove.
14354
14355
14356 2003-01-26 Alan Modra <amodra@bigpond.net.au>
14357
14358 * calls.c (save_fixed_argument_area): Tidy.
14359 (restore_fixed_argument_area): Tidy. Set alignment of stack_area.
14360 (expand_call): Comment typo fixes. Don't init low_to_save. Start
14361 call chain loop at 1 if !try_tail_call. Formatting.
14362 (emit_library_call_value_1): Don't init low_to_save or high_to_save.
14363 Use save_fixed_argument_area and restore_fixed_argument_area.
14364
14365 2003-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
14366
14367 * df.c (df_uses_record): Handle CC0.
14368
14369 2003-01-25 Ulrich Weigand <uweigand@de.ibm.com>
14370
14371 * reload.c (maybe_memory_address_p): New function.
14372 (find_reloads_address): Use it instead of memory_address_p.
14373
14374 2003-01-25 Kaz Kojima <kkojima@gcc.gnu.org>
14375
14376 * final.c (shorten_branches): Align the address of code label
14377 when computing initial lengths and addresses.
14378
14379 2003-01-25 Kazu Hirata <kazu@cs.umass.edu>
14380
14381 * config/m68hc11/m68hc11.md: Fix a comment typo.
14382
14383 2003-01-25 Andreas Jaeger <aj@suse.de>
14384
14385 * config/i386/i386.c (x86_output_mi_thunk): Correct test for
14386 TARGET_MACHO.
14387
14388 2003-01-25 Roger Sayle <roger@eyesopen.com>
14389
14390 * gcse.c (bypass_last_basic_block): New global variable.
14391 (bypass_block): Use redirect_edge_and_branch_force to redirect
14392 fall-through edges. Use bypass_last_basic_block to determine
14393 which blocks have valid PRE information.
14394 (bypass_conditional_jumps): Initialize bypass_last_basic_block.
14395
14396 2003-01-25 Jan Hubicka <jh@suse.cz>
14397
14398 * gcse.c (local_cprop_pass): Update reg_sets table when needed.
14399
14400 2003-01-25 Jan Hubicka <jh@suse.cz>
14401 Eric Botcazou <ebotcazou@libertysurf.fr>
14402 PR opt/8492
14403 * gcse.c (one_cprop_pass): Delete unreachable blocks.
14404
14405 2003-01-25 Richard Henderson <rth@redhat.com>
14406
14407 * config/ia64/ia64.c (ia64_rwreloc_select_rtx_section): Rename
14408 from ia64_aix_select_rtx_section.
14409 (ia64_rwreloc_select_section): Simlarly; use default*_1 function
14410 instead of saving and restoring flag_pic.
14411 (ia64_rwreloc_unique_section): Similarly.
14412 * config/ia64/aix.h (TARGET_ASM_SELECT_SECTION,
14413 TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Update.
14414 * config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION,
14415 TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): New.
14416
14417 2003-01-25 Kazu Hirata <kazu@cs.umass.edu>
14418
14419 * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Update a
14420 comment.
14421
14422 2003-01-25 Richard Henderson <rth@redhat.com>
14423
14424 * config/m68k/m68k-none.h (ASM_SPEC): Adjust inter-option spacing.
14425
14426 2003-01-25 Kelley Cook <kelleycook@comcast.net>
14427
14428 * ggc-simple.c (debug_ggc_tree): Add PTR cast.
14429
14430 2003-01-25 Segher Boessenkool <segher@koffie.nl>
14431
14432 * bitmap.h (BITMAP_WORD): New typedef: fundamental storage
14433 type for bitmaps. Use unsigned long.
14434 (nBITMAP_WORD_BITS): New macro.
14435 (BITMAP_WORD_BITS): New macro.
14436 (rest of file): Use it.
14437 * bitmap.c: Use it.
14438
14439 2003-01-25 Richard Henderson <rth@redhat.com>
14440
14441 2002-02-19 Robert Lipe <robertlipe@usa.net>
14442 * config/i386/t-sco5gas: (CRTSTUFF_T_CFLAGS_S): Delete -mcoff.
14443
14444 2003-01-25 Roger Sayle <roger@eyesopen.com>
14445
14446 * builtins.c (purge_builtin_constant_p): Scan insn stream
14447 sequentially rather than by basic block.
14448 * function.c (purge_addressof): Simplify test with INSN_P.
14449
14450 2003-01-25 Kazu Hirata <kazu@cs.umass.edu>
14451
14452 * combine.c (simplify_comparison, case AND): Remove a redundant test.
14453
14454 2003-01-25 Roger Sayle <roger@eyesopen.com>
14455
14456 * function.h (struct function): New field calls_constant_p.
14457 (current_function_calls_constant_p): New macro for above.
14458 * function.c (prepare_function_start): Initialize calls_eh_return
14459 and calls_constant_p.
14460 * builtins.c (expand_builtin_constant_p): Set calls_constant_p.
14461 * toplev.c (rest_of_compilation): Only call purge_builtin_constant_p
14462 when the current_function_calls_constant_p.
14463 * integrate.c (expand_inline_function): Set calls_constant_p if
14464 the function being inlined has calls_constant_p set.
14465
14466 2003-01-25 Roger Sayle <roger@eyesopen.com>
14467
14468 * cse.c (fold_rtx): Instantiate CONSTANT_P_RTX to 0 when not
14469 optimizing, even if flag_gcse is true.
14470 * toplev.c (rest_of_compilation): purge_builtin_constant_p
14471 only needs to be called when "optimize > 0 && flag_gcse".
14472
14473 2003-01-25 Roger Sayle <roger@eyesopen.com>
14474
14475 * stmt.c (emit_case_bit_tests): New routine to implement suitable
14476 switch statements using the equivalent of "if ((1<<x) & cst) ... ".
14477 (case_bit_test_cmp): New comparison function for "qsort" to order
14478 case_bit_tests by decreasing number of destination nodes.
14479 (lshift_cheap_p): New function to determine if "1 << x" is cheap.
14480 (expand_end_case_type): Use emit_case_bit_tests to implement
14481 suitable switch statments.
14482 (CASE_USE_BIT_TESTS): New target macro to disable the above.
14483 * Makefile.in (stmt.o): Add dependency on optab.h.
14484 * doc/tm.texi (CASE_USE_BIT_TESTS): Document new target macro.
14485
14486 2003-01-23 Andreas Schwab <schwab@suse.de>
14487
14488 * config/ia64/crtend.asm [HAVE_INITFINI_ARRAY]: Make
14489 __do_global_ctors_aux hidden global and don't put it in
14490 .init_array.
14491 * config/ia64/crtbegin.asm [HAVE_INITFINI_ARRAY]: Put it here
14492 instead so that it comes first.
14493
14494 2003-01-25 Jan Hubicka <jh@suse.cz>
14495
14496 * df.c (read_modify_subreg_p): When osize == UNITS_PER_WORD,
14497 subreg is read/modify.
14498
14499 2003-01-25 Jan Hubicka <jh@suse.cz>
14500
14501 * i386.c (ix86_expand_movstr, ix86_expand_clrstr): Consistently
14502 do libcall for large blocks.
14503 * i386.md (comi patterns): Set type to ssecomi.
14504 (sse2_unpck?pd): Fix mode of vec_select.
14505
14506 * cse.c: Include except.h
14507 (cse_set_around_loop): Do not create new basic blocks.
14508 * Makefile.in (cse.o): Add dependnecy on except.h
14509
14510 2003-01-25 Jan Hubicka <jh@suse.cz>
14511
14512 * builtins.c (fold_trunc_transparent_mathfn): New function.
14513 (fold_builtin): Use it.
14514 * convert.c (convert_to_real): Re-enable code to convert
14515 math functions; add support for floor familly functions.
14516
14517 2003-01-25 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
14518
14519 * Makefile.in (cfgloop.o, cfgloopanal.o, cfgloopmanip.o): Add
14520 dependencies on coretypes.h and $(TM_H).
14521
14522 2003-01-25 Jan Hubicka <jh@suse.cz>
14523
14524 * builtins.c (fold_trunc_transparent_mathfn): Undo accidental commit.
14525
14526 2003-01-24 Stuart Hastings <stuart@apple.com>
14527
14528 * config/i386/i386.c (x86_output_mi_thunk): Add Darwin/x86 support.
14529
14530 2003-01-25 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
14531
14532 * config/c4x/c4x.md (UNSPEC_BU): New constants.
14533 (UNSPEC_RPTS, UNSPEC_LSH, UNSPEC_CMPHI, UNSPEC_RCPF): Likewise.
14534 (UNSPEC_RND, UNSPEC_RPTB_FILL, UNSPEC_LOADHF_INT): Likewise.
14535 (UNSPEC_STOREHF_INT, UNSPEC_RSQRF, UNSPEC_LOADQF_INT): Likewise.
14536 (UNSPEC_STOREQF_INT, UNSPEC_LDIV, UNSPEC_PUSH_ST): Likewise.
14537 (UNSPEC_POP_ST, UNSPEC_PUSH_DP, UNSPEC_POP_DP): Likewise.
14538 (UNSPEC_POPQI, UNSPEC_POPQF, UNSPEC_ANDN_ST): Likewise.
14539 (UNSPEC_RPTB_INIT, UNSPEC_TOIEEE, UNSPEC_FRIEEE): Likewise.
14540
14541 2003-01-24 Jan Hubicka <jh@suse.cz>
14542
14543 * emit-rtl.c (reg_attrs_htab): New static variable.
14544 (reg_attrs_htab_hash, reg_attrs_htab_eq, get_reg_attrs): New static
14545 functions.
14546 (reg_rtx): Do not maintain regno_decl.
14547 (gen_rtx_REG_offset, set_reg_attrs_from_mem, set_delc_rtx,
14548 set_mem_attrs_from_reg): New global function.
14549 (init_emit): Do not initialize regno_decl.
14550 (init_emit_once): initialize reg_attrs_htab.
14551 * final.c (alter_subreg): Do not replace REG by SUBREG.
14552 (gen_mem_expr_from_op): Improve output.
14553 (output_asm_operands): Likewise.
14554 * function.c (assign_params): Do not set REGNO_DECL.
14555 * function.h (struct function): Kill regno_decl.
14556 (REGNO_DECL): Kill.
14557 * gengtype.c (adjust_field_rtx_def): Handle new field of reg.
14558 * print_rtl.c (print_rtx): Output REG information.
14559 * regclass.c (reg_scan_mark_refs): Update attrs.
14560 * reload1.c (alter_reg): Likewise.
14561 * simplify_rtx.c (simplify_subreg): Likewise.
14562 * stmt.c (expand_decl): Likewise.
14563 * rtl.def (REG): Add new field.
14564 * rtl.h (struct reg_attrs): New.
14565 (rtunion_def): At rtreg.
14566 (X0MEMATTR): Add checking.
14567 (X0REGATTR, REG_ATTRS, REG_EXPR, REG_OFFSET): New macro.
14568 (set_reg_attrs_from_mem, set_mem_attrs_from_reg, gen_rtx_REG_offset):
14569 Declare.
14570 * tree.h (SET_DECL_RTL): Call set_decl_rtl.
14571
14572 2003-01-24 Bob Wilson <bob.wilson@acm.org>
14573
14574 * config/xtensa/xtensa.c: Remove unused include of machmode.h.
14575 (xtensa_emit_call, print_operand): Fix printf format strings
14576 to avoid compile warnings.
14577 (xtensa_function_prologue, xtensa_function_epilogue): Change type
14578 of "size" argument to HOST_WIDE_INT to fix compile warnings.
14579 * config/xtensa/xtensa-protos.h
14580 (xtensa_function_prologue, xtensa_function_epilogue): Ditto.
14581
14582 2003-01-24 Jan Hubicka <jh@suse.cz>
14583
14584 * builtins.c (DEF_BUILTIN): Accept 10 arguments.
14585 (implicit_built_in_decls): New global array.
14586 (mathfn_built_in): New global function.
14587 (fold_trunc_transparent_mathfn): New static function
14588 (expand_builtin_strstr, expand_bultin_strchr,
14589 expand_builtin_strpbrk, expand_builtin_strcpy,
14590 expand_builtin_strncpy, expand_bultin_strcmp,
14591 expand_bultin_strncat, expand_builtin_fputs): Use
14592 implicint_built_in_decls.
14593 (fold_builtin): Fold floor/trunc/round/ceil/nearbyint.
14594 * builtins.def: Fix comments.
14595 (DEF_GCC_BUILTIN, DEF_FALLBACK_BUILTIN, DEF_EXT_FALLBACK_BUILTIN,
14596 DEF_LIB_BUILTIN, DEF_LIB_ALWAYS_BUILTIN, DEF_EXT_LIB_BUILTIN,
14597 DEF_C99_BULTIN, DEF_FRONT_END_LIB_BUILTIN,
14598 DEF_EXT_FRONT_END_LIB_BUILTIN): Pass implicit as needed.
14599 (DEF_C99_C90RES_BULTIN): New.
14600 (*f, *l builtins): Update.
14601 * c-common.c (DEF_BUILTIN): Initialize implicit array.
14602 (c_expand_builtin_printf, c_expand_builtin_fprintf): Update.
14603 * convert.c (strip_float_extensions): New global function.
14604 * tree.h (DEF_BUILTIN): Accept 10 arguments.
14605 (implicit_built_in_decls, mathfn_built_in, strip_float_extension):
14606 Declare.
14607 * java/builtins.c (define_builtin): Handle implicit.
14608 (DEF_BUILTIN): Update.
14609 * tm.texi (TARGET_C99_FUNCTIONS): Document.
14610 * defaults.h (TARGET_C99_FUNCTIONS): Default to 0.
14611 * config/linux.h (TARGET_C99_FUNCTIONS): Default to 1
14612 when using glibc2.
14613
14614 2003-01-24 Bob Wilson <bob.wilson@acm.org>
14615
14616 * config.gcc (xtensa-*-elf*): Removed assignments to with_newlib,
14617 extra_parts, and fixincludes. Add xtensa/t-elf tmake_file.
14618 (xtensa-*-linux*): Add xtensa/t-linux tmake_file.
14619 * config/xtensa/crti.asm: New file.
14620 * config/xtensa/crtn.asm: New file.
14621 * config/xtensa/t-elf: New file.
14622 * config/xtensa/t-linux: New file.
14623 * config/xtensa/t-xtensa: Add rules for crti.o and crtn.o.
14624 Move various CFLAGS settings to new t-elf file.
14625
14626 2003-01-24 Richard Henderson <rth@redhat.com>
14627
14628 PR optimization/4382
14629 * tree-inline.c (find_builtin_longjmp_call_1): New.
14630 (find_builtin_longjmp_call): New.
14631 (inlinable_function_p): Use it.
14632
14633 2003-01-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
14634
14635 * config/i386/i386-protos.h (function_arg_pass_by_reference): Declare.
14636 * config/i386/i386.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
14637 * config/i386/i386.c (function_arg_pass_by_reference): New.
14638 (ix86_va_arg): Support arguments passed by reference.
14639
14640 2003-01-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
14641
14642 * cfgloopanal.c: New file.
14643 * cfgloopmanip.c: New file.
14644 * Makefile.in (cfgloopanal.o, cfgloopmanip.o): New.
14645 (toplev.o, loop.o, doloop.o, unroll.o, cfgloop.o, predict.o,
14646 cfglayout.o): Add dependency on cfgloop.h.
14647 (cfgloop.o): Add flags.h dependency.
14648 * basic-block.h (BB_IRREDUCIBLE_LOOP, BB_SUPERBLOCK): New flags.
14649 (VLS_EXPECT_PREHEADERS, VLS_EXPECT_SIMPLE_LATCHES): Removed.
14650 (struct loop, struct loops, flow_loops_find, flow_loops_update,
14651 flow_loops_free, flow_loops_dump, flow_loop_dump,
14652 flow_loop_scan, flow_loop_tree_node_add, flow_loop_tree_node_remove,
14653 LOOP_TREE,,LOOP_PRE_HEADER, LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES,
14654 LOOP_ALL, flow_loop_outside_edge_p, flow_loop_nested_p,
14655 flow_bb_inside_loop_p, get_loop_body, loop_preheader_edge,
14656 loop_latch_edge, add_bb_to_loop, remove_bb_from_loops,
14657 find_common_loop, verify_loop_structure): Declarations moved to ...
14658 * cfgloop.h: New file.
14659 * bb-reorder.c (reorder_basic_blocks): Modified.
14660 * cfglayout.c: Include cfgloop.h.
14661 (cleanup_unconditional_jumps, cfg_layout_redirect_edge,
14662 cfg_layout_duplicate_bb, cfg_layout_initialize): Update loop structure.
14663 (break_superblocks): New static function.
14664 (cfg_layout_finalize): Use it.
14665 (cfg_layout_split_block): New function.
14666 * cfglayout.h (struct reorder_block_def): Add copy and duplicated
14667 fields.
14668 (cfg_layout_initialize, cfg_layout_redirect_edge): Declaration
14669 changed.
14670 (cfg_layout_split_block): Declare.
14671 * cfgloop.c: Include cfgloop.h and flags.h.
14672 (flow_loop_dump, flow_loops_free, flow_loop_exit_edges_find,
14673 get_loop_body): Avoid signed versus unsigned comparison warnings.
14674 (make_forwarder_block, flow_loops_find, loop_preheader_edge,
14675 loop_latch_edge): Modified.
14676 (verify_loop_structure): Modified to use flags stored in loop structure;
14677 check irreducible loops.
14678 (cancel_loop, cancel_loop_tree): New functions.
14679 (estimate_probability): Use loop analysis code for predictions.
14680 (estimate_loops_at_level): Avoid signed versus unsigned comparison
14681 warnings.
14682 * doloop.c: Include cfgloop.h.
14683 * loop.c: Include cfgloop.h.
14684 * predict.c: Include cfgloop.h.
14685 * toplev.c: Include cfgloop.h.
14686 * unroll.c: Include cfgloop.h.
14687 * tracer.c (tracer): Modified.
14688
14689 2003-01-24 Kazu Hirata <kazu@cs.umass.edu>
14690
14691 * config/h8300/h8300.c (get_shift_alg): Fix a typo.
14692
14693 2003-01-24 Ulrich Weigand <uweigand@de.ibm.com>
14694
14695 * configure.in (HAVE_AS_TLS): Add s390-*-* and s390x-*-* cases.
14696 * configure: Regenerate.
14697
14698 * config/s390/s390-protos.h (tls_symbolic_operand): Add prototype.
14699 (tls_symbolic_reference_mentioned_p): Add prototype.
14700 (s390_tls_get_offset): Add prototype.
14701 (emit_pic_move): Remove prototype, replace by ...
14702 (emit_symbolic_move): .. this new prototype.
14703
14704 * config/s390/s390.c (TARGET_HAVE_TLS): Conditionally define.
14705 (tls_model_chars): New global variable.
14706 (s390_encode_section_info): Encode TLS model.
14707 Use targetm.binds_local_p to check for local symbols.
14708 (s390_strip_name_encoding): New function.
14709 (TARGET_STRIP_NAME_ENCODING): Define.
14710
14711 (get_thread_pointer): New function.
14712 (legitimize_tls_address): New function.
14713 (legitimize_address): Call it.
14714 (emit_pic_move): Remove, replace by ...
14715 (emit_symbolic_move): ... this new function.
14716
14717 (larl_operand): Handle TLS operands.
14718 (legitimate_constant_p): Likewise.
14719 (s390_decompose_address): Likewise.
14720 (s390_cannot_force_const_mem): New function.
14721 (TARGET_CANNOT_FORCE_CONST_MEM): Define.
14722
14723 (s390_output_symbolic_const): Handle TLS unspecs.
14724 (print_operand): New code 'J'.
14725 (machine_function): Add struct member 'some_ld_name'.
14726 (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
14727
14728 (enum s390_builtin): New type.
14729 (code_for_builtin_64, code_for_builtin_31): New global variables.
14730 (s390_init_builtins, s390_expand_builtin): New functions.
14731 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
14732
14733 * config/s390/s390.h (TLS_SYMBOLIC_CONST): New macro.
14734 (ASM_OUTPUT_LABELREF): Define.
14735 (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Handle TLS constants.
14736
14737 * config/s390/s390.md: Define TLS UNSPEC constants.
14738 ("movdi", "movsi"): Handle TLS operands.
14739 ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): New insns.
14740 ("*tls_load_64", "*tls_load_31"): New insns.
14741 ("call_value_tls", "call_value_tls_exp"): New expanders.
14742 ("brasl_tls", "bras_tls", "basr_tls_64", "basr_tls_31",
14743 "bas_tls_64", "bas_tls_31"): New insns.
14744
14745 2003-01-24 Nathan Sidwell <nathan@codesourcery.com>
14746
14747 * config/rs6000/rs6000.c (rs6000_parse_abi_options): Make sure
14748 spe ABI is configured, if requested.
14749
14750 2003-01-24 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
14751
14752 * doc/passes.texi: Fix typo.
14753
14754 2003-01-24 Andreas Schwab <schwab@suse.de>
14755
14756 * stor-layout.c (excess_unit_span): Only define if used.
14757
14758 2003-01-24 Jerry Quinn <jlquinn@optonline.net>
14759
14760 * gcc/doc/invoke.texi (Optimization Options): List -O levels
14761 for each optimization flag.
14762
14763 2003-01-24 Kazu Hirata <kazu@cs.umass.edu>
14764
14765 * config/h8300/h8300.md (*andsi3_ashift_n_lower): New.
14766
14767 2003-01-24 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
14768
14769 * doc/bugreport.texi: Use @command instead of @code for commands.
14770 * doc/collect2.texi: Likewise.
14771 * doc/headerdirs.texi: Likewise.
14772 * doc/invoke.texi: Likewise.
14773 * doc/standards.texi: Likewise.
14774 * doc/tm.texi: Likewise.
14775 * doc/trouble.texi: Likewise.
14776
14777 2003-01-24 Nick Clifton <nickc@redhat.com>
14778
14779 * config/arm/arm.c (use_return_insn): Do not use a single return
14780 instruction for interrupt handelrs which have to create a stack
14781 frame.
14782 (arm_expand_prologue): Do not pre-bias the return address of
14783 interrupt handlers which create a stack frame.
14784
14785 2003-01-24 Nick Clifton <nickc@redhat.com>
14786
14787 * Add sh2e support:
14788
14789 2002-08-12 Alexandre Oliva <aoliva@redhat.com>
14790
14791 * config/sh/sh.c (output_branch) [TARGET_SH2E]: Handle
14792 med_cbranches. Fix logic in short_cbranches.
14793
14794 2002-04-03 Alexandre Oliva <aoliva@redhat.com>
14795
14796 * config/sh/sh.md (delay for cbranch): Don't annul delay
14797 slots on SH2e.
14798 * config/sh/sh.c (sh_insn_length_adjustment): Add 2 for
14799 cbranch with unfilled delay slot on SH2e.
14800 (output_branch): Fill with a nop the delay slot of a
14801 branch that required a delay slot but didn't get one.
14802
14803 2002-04-02 Alexandre Oliva <aoliva@redhat.com>
14804
14805 * doc/invoke.texi (SH options): Document -m2e.
14806 * config/sh/crt1.asm: Add __SH2E__ Next to __SH3E__.
14807 * config/sh/lib1funcs.asm: Likewise.
14808 * config/sh/sh.c: Replace all uses of TARGET_SH3E with SH2E.
14809 * config/sh/sh.h (CPP_SPEC): Define __SH2E__ for -m2e, and
14810 not __sh1__.
14811 (CONDITIONAL_REGISTER_USAGE): Don't disable FP regs from
14812 SH2E up.
14813 (SH3E_BIT): Renamed to...
14814 (SH_E_BIT): ... this. Replace all uses.
14815 (TARGET_SH2E): Define from SH_E_BIT and TARGET_SH2.
14816 Replace all uses of TARGET_SH3E with TARGET_SH2E.
14817 (TARGET_SWITCHES): Added 2e.
14818 (OVERRIDE_OPTIONS): Set sh_cpu for SH2E.
14819 (processor_type): Added PROCESSOR_SH2E.
14820 * config/sh/sh.md: Replace all uses of TARGET_SH3E with
14821 TARGET_SH2E, except in sqrtsf2_i.
14822 (attribute cpu): Added sh2e.
14823 * config/sh/t-sh (MULTILIB_OPTIONS): Replace m3e with m2e.
14824 (MULTILIB_MATCHES): Use m2e multilib for m3e.
14825 * config.gcc: Add sh2e target support.
14826
14827 2003-01-24 Phil Edwards <pme@gcc.gnu.org>
14828
14829 Rename -W to -Wextra.
14830 * c-decl.c: Update comments.
14831 * c-typeck.c: Likewise.
14832 * flags.h: Likewise.
14833 * function.c: Likewise.
14834 * stmt.c: Likewise.
14835 * toplev.c: Update comments.
14836 (W_options): Add 'extra'.
14837 (display_help): Remove '-W'.
14838 (decode_W_option): Special warn_uninitialized treatment in the case
14839 of -Wextra.
14840 * doc/invoke.texi: Update with new entries.
14841
14842 2003-01-23 Richard Henderson <rth@redhat.com>
14843
14844 * ifcvt.c (noce_process_if_block): Re-add check vs X being changed
14845 in no-else-block case. Add commentary.
14846
14847 2003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14848
14849 * configure.in: Revert last change.
14850
14851 2003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14852
14853 * configure.in: Don't include ansidecl.h in tconfig.h.
14854 * gcov-io.h (PARAMS, ATTRIBUTE_UNUSED: Define if IN_LIBGCC2.
14855 * unwind-dw2-fde.h (last_fde): Use __attribute__, not
14856 ATTRIBUTE_UNUSED.
14857
14858 * configure: Regenerate.
14859
14860 2003-01-23 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
14861
14862 PR java/6748
14863 * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Don't destroy
14864 regs->nip. Fix rt_sigreturn frame layout. Add support for newer
14865 kernels.
14866
14867 2003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14868
14869 * cpplex.c (cpp_interpret_charconst): Squelch warning with cast.
14870
14871 2003-01-23 Ulrich Weigand <uweigand@de.ibm.com>
14872
14873 * genattrtab.c (write_attr_get): Mark 'insn' paramter
14874 as ATTRIBUTE_UNUSED.
14875
14876 2003-01-23 Richard Earnshaw <rearnsha@arm.com>
14877
14878 * arm.c (thumb_base_register_rtx_p): New function.
14879 (thumb_index_register_rtx_p): New function.
14880 (thumb_legitimate_address_p): New function.
14881 (thumb_legitimate_offset_p): New function.
14882 * arm.h (REG_STRICT_P): Define according to setting of REG_OK_STRICT.
14883 (ARM_GO_IF_LEGITIMATE_ADDRESS): Use REG_STRICT_P to avoid duplicate
14884 definitions.
14885 (THUMB_GO_IF_LEGITIMATE_ADDRESS): Use thumb_legitimate_address_p.
14886 (THUMB_LEGITIMATE_OFFSET): Delte.
14887 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use thumb_legitimate_offset.
14888 * arm-protos.h (thumb_legitimate_address_p): Add prototype.
14889 (thumb_legitimate_offset_p): Likewise.
14890
14891 2003-01-23 Andreas Schwab <schwab@suse.de>
14892
14893 * unwind.h (_Unwind_GetTextRelBase): Mark parameter as unused.
14894
14895 2003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14896
14897 * fixinc/Makefile.in (FL_LIST): Revert last change.
14898
14899 2003-01-23 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
14900
14901 PR other/7341
14902 * invoke.texi (ftest-coverage): Fix broken cross-reference.
14903 Change @code to @command for gcov command.
14904
14905 * gcc.texi: Adjust title of gcov section.
14906 Adjust copyright.
14907 * gcov.texi: Likewise.
14908
14909 2003-01-22 Roger Sayle <roger@eyesopen.com>
14910
14911 PR optimization/8423
14912 * cse.c (fold_rtx): Only eliminate a CONSTANT_P_RTX to 1 when
14913 its argument is constant, or 0 if !flag_gcse.
14914 * simplify-rtx.c (simplify_rtx): Convert CONSTANT_P_RTX to 1
14915 if it's argument is constant.
14916 * gcse.c (want_to_gcse_p): Ignore CONSTANT_P_RTX nodes.
14917 (hash_scan_set): Don't record CONSTANT_P_RTX expressions.
14918 (do_local_cprop): Don't propagate CONSTANT_P_RTX constants.
14919 * builtins.c (purge_builtin_constant_p): New function to force
14920 instantiation of any remaining CONSTANT_P_RTX nodes.
14921 * rtl.h (purge_builtin_constant_p): Prototype here.
14922 * toplev.c (rest_of_compilation): Invoke purge_builtin_constant_p
14923 pass after GCSE and before loop.
14924 (flag_gcse): No longer static.
14925 * flags.h (flag_gcse): Prototype here.
14926
14927 2003-01-22 Ulrich Weigand <uweigand@de.ibm.com>
14928
14929 * config/s390/s390.h (HARD_REGNO_MODE_OK): Fix warning regression
14930 introduced by last change.
14931
14932 2003-01-22 Andreas Schwab <schwab@suse.de>
14933
14934 * ra-rewrite.c (rewrite_program2): Initialize bb to avoid warning.
14935
14936 2003-01-22 Kazu Hirata <kazu@cs.umass.edu>
14937
14938 * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Don't
14939 request a scratch reg on H8S when the shift count is 8.
14940
14941 2003-01-22 Ulrich Weigand <uweigand@de.ibm.com>
14942
14943 * config/s390/s390-protos.h (preferred_la_operand_p):
14944 Remove second parameter.
14945 * config/s390/s390.c (preferred_la_operand_p): Likewise.
14946 * config/s390/s390.h (FRAME_REGNO_P, FRAME_REG_P): New macros.
14947 (HARD_REGNO_MODE_OK): Use FRAME_REGNO_P.
14948 * config/s390/s390.md ("*la_cc_64", "*la_cc_31", splitters): Remove.
14949 Add peepholes to transform ADD to LOAD ADDRESS.
14950
14951 2003-01-22 Richard Earnshaw <rearnsha@arm.com>
14952
14953 * arm.c (arm_address_register_rtx_p): New function.
14954 (arm_legitimate_address_p): New function.
14955 (arm_legitimate_index_p): New function.
14956 (legitimize_pic_address): Use arm_legitimate_index_p.
14957 * arm-protos.h (arm_legtimate_address_p): Add prototype.
14958 * arm.h (ARM_GO_IF_LEGITIMATE_INDEX): Delete.
14959 (ARM_GO_IF_LEGITIMATE_ADDRESS): Call arm_legitimate_address_p.
14960
14961 2003-01-22 Hartmut Penner <hpenner@de.ibm.com>
14962
14963 * config/s390/s390.md (floatdfdi2): Insn has type 'itof'.
14964 * config/s390/2064.md (define_bypass): Correct 'Load' and
14965 'Load-address' bypass values.
14966
14967 2003-01-22 Andreas Schwab <schwab@suse.de>
14968
14969 * config/ia64/t-ia64 (insn-attrtab.o-warn): Define as -Wno-error.
14970
14971 2003-01-21 Zack Weinberg <zack@codesourcery.com>
14972
14973 * genautomata.c (output_internal_insn_latency_func,
14974 output_print_reservation_func): Short circuit when there is no
14975 automaton to generate code for.
14976
14977 2003-01-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14978
14979 * Makefile.in (ssa-ccp.o): Depend on coretypes.h $(TM_H).
14980 (df.o): Delete duplicate dependency on coretypes.h $(TM_H).
14981
14982 2003-01-21 Geoffrey Keating <geoffk@apple.com>
14983
14984 * config/rs6000/rs6000.md: Remove warning.
14985 (builtin_setjmp_receiver): Likewise.
14986 * config/darwin.c (update_stubs): Slightly improve terrible hack
14987 with identifiers. Add comment pointing out problems with it.
14988 (update_non_lazy_ptrs): Likewise.
14989
14990 2003-01-21 Richard Henderson <rth@redhat.com>
14991
14992 * dwarf2out.c (lookup_filename): Fix printf format warning.
14993 * system.h (fread_unlocked, fwrite_unlocked): Undef.
14994
14995 * fixinc/Makefile.in (FL_LIST): Add $($@-warn) hook.
14996 (fixincl.o-warn, gnu-regex.o-warn): New.
14997 * fixinc/fixfixes.c (FIX_PROC_HEAD): Mark parameters unused.
14998 * fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Likewise.
14999 * fixinc/fixincl.c (process): Fix printf format warning.
15000
15001 2003-01-21 Ulrich Weigand <uweigand@de.ibm.com>
15002
15003 * dwarf2out (output_file_names): Don't crash if called
15004 with empty file_table.
15005
15006 2003-01-21 Zack Weinberg <zack@codesourcery.com>
15007
15008 * genautomata.c (output_internal_insn_latency_func): Add
15009 missing break statement to generated code.
15010
15011 2003-01-21 Roger Sayle <roger@eyesopen.com>
15012
15013 * stmt.c (same_case_target_p): New function to determine whether
15014 two case labels branch to the same target. Split out from...
15015 (group_case_nodes): ... here. Use same_case_target_p instead.
15016 (strip_default_case_nodes): Remove explicit case nodes
15017 that branch to the default destination.
15018 (expand_end_case_type): Call strip_default_case_nodes after
15019 group_case_nodes, to simplify the case-list before we count it.
15020 Only generate table_label RTX when actually needed. Try to share
15021 thiscase->exit_label and thiscase->data.case_stmt.default_label
15022 when a switch has no explicit default case. Simplify test for
15023 constant index.
15024
15025 2003-01-21 Kazu Hirata <kazu@cs.umass.edu>
15026
15027 * config/h8300/h8300.md (*negsf2_h8300): Use \\t instead of
15028 \t.
15029 (*negsf2_h8300hs): Likewise.
15030 (*addsi3_lshiftrt_16_zexthi): Likewise.
15031 (*iorhi3_lshiftrt_8): Likewise.
15032
15033 2003-01-21 Ulrich Weigand <uweigand@de.ibm.com>
15034
15035 * dwarf2out.c (fde_table_in_use): Mark GTY.
15036 (dwarf2out_cfi_label_num): New variable, marked GTY.
15037 (dwarf2out_cfi_label): Use it instead of static label_num.
15038 * emit-rtl.c (label_num): Mark GTY.
15039
15040 2003-01-21 Kazu Hirata <kazu@cs.umass.edu>
15041
15042 * config/h8300/h8300.c (output_plussi): Support H8/300.
15043 (compute_plussi_length): Likewise.
15044 (compute_plussi_cc): Likewise.
15045 * config/h8300/h8300.md (addsi_h8300): Use output_plussi to
15046 output assembly instructions.
15047
15048 2003-01-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15049
15050 * calls.c (fix_unsafe_tree): Prototype.
15051
15052 * Makefile.in (GCC_WARN_CFLAGS): Add $(WERROR) $($@-warn)
15053 (gtype-desc.o-warn, c-decl.o-warn, varasm.o-warn, gcc.o-warn,
15054 insn-conditions.o-warn, out_object_file, gengtype-yacc.o-warn,
15055 c-parse.o-warn): Add -Wno-error.
15056 (STAGE2_FLAGS_TO_PASS): Add WERROR="@WERROR@".
15057
15058 * configure.in (--enable-werror): Add new flag.
15059 * doc/install.texi (--enable-werror): Document.
15060 * configure: Regenerate.
15061
15062 * objc/Make-lang.in (objc/objc-parse.o-warn): Add -Wno-error.
15063
15064 2003-01-21 Andreas Schwab <schwab@suse.de>
15065
15066 * genautomata.c (output_internal_insn_latency_func): Fix missing
15067 close paren in output.
15068
15069 2003-01-21 Zack Weinberg <zack@codesourcery.com>
15070
15071 * genautomata.c: Space savings in generated code:
15072 (output_dfa_insn_code_func): Split out the table-enlargement
15073 path to an out-of-line static function, dfa_insn_code_enlarge.
15074 (output_internal_insn_latency_func): Use a lookup table for the
15075 default latencies.
15076 (output_print_reservation_func): Use a lookup table for the
15077 strings.
15078
15079 2003-01-21 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
15080
15081 PR opt/7507
15082 * calls.c (fix_unsafe_tree): Split out from ...
15083 (expand_call): ... here. Use it on the function address too.
15084
15085 2003-01-20 Richard Henderson <rth@redhat.com>
15086
15087 * expr.h (default_must_pass_in_stack): Move decl outside ifdef.
15088
15089 2003-01-20 Richard Henderson <rth@redhat.com>
15090
15091 PR opt/7154
15092 * stmt.c (expand_asm_operands): Validize memory operands.
15093
15094 2003-01-20 Richard Henderson <rth@redhat.com>
15095
15096 PR opt/8848
15097 * ifcvt.c (noce_process_if_block): Correct arguments to
15098 modified_between_p for no-else-block case.
15099
15100 2003-01-20 Kazu Hirata <kazu@cs.umass.edu>
15101
15102 * config/h8300/h8300.c (const_costs): Remove a warning.
15103 (output_plussi): Likewise.
15104 (compute_plussi_length): Likewise.
15105 (compute_plussi_cc): Likewise.
15106
15107 2003-01-20 Kazu Hirata <kazu@cs.umass.edu>
15108
15109 * config/h8300/h8300.md (addsi_h8300): Remove the last
15110 alternative.
15111
15112 2003-01-20 Kazu Hirata <kazu@cs.umass.edu>
15113
15114 * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
15115
15116 2003-01-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15117
15118 * system.h (__NO_STRING_INLINES): Define.
15119
15120 2003-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
15121
15122 * ifcvt.c (noce_emit_store_flag): Don't emit store flag if mode of x
15123 is not a scalar int mode.
15124
15125 2003-01-20 Roger Sayle <roger@eyesopen.com>
15126
15127 * cse.c (cse_insn): Avoid RTL sharing when updating the RETVAL
15128 insn's notes following a substitution inside a libcall.
15129
15130 2003-01-20 Zack Weinberg <zack@codesourcery.com>
15131
15132 * configure.in: Check for system-provided 'uchar' type.
15133 * configure, config.in: Regenerate.
15134 * cpphash.h: Only typedef 'uchar' if the system doesn't.
15135
15136 2003-01-20 Richard Henderson <rth@redhat.com>
15137
15138 * expr.h (MUST_PASS_IN_STACK): Move implementation...
15139 * calls.c (default_must_pass_in_stack): ... here.
15140
15141 2003-01-20 Vladimir Makarov <vmakarov@redhat.com>
15142
15143 * genattrtab.h (INSN_ALTS_FUNC_NAME): Move it from genautomata.c.
15144
15145 * genautomata.c (INSN_ALTS_FUNC_NAME): Move it into genattrtab.h.
15146
15147 * genattr.c (main): Output default definition of AUTOMATON_ALTS.
15148 Wrap up definition of `insn_alts'.
15149
15150 * genattrtab.c (main): Wrap up `insn_alts'.
15151
15152 2003-01-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15153
15154 * collect2.c (ldgetname): Check HAVE_DECL_LDGETNAME before
15155 prototyping.
15156 * configure.in: Check for <ldfcn.h> and ldgetname() prototype.
15157
15158 * config.in, configure: Regenerate.
15159
15160 2003-01-20 Nick Clifton <nickc@redhat.com>
15161
15162 * config/arm/arm.md (sibcall_epilogue): Add an
15163 UNSPEC_PROLOGUE_USE to prevent the link register from being
15164 considered dead.
15165
15166 2003-01-20 Jan Hubicka <jh@suse.cz>
15167
15168 * i386.md (SSE cmov splitter): Handle memory operand in operand 5.
15169
15170 2003-01-20 Andreas Schwab <schwab@suse.de>
15171
15172 * system.h: Don't declare strsignal if the decl test hasn't been
15173 run yet.
15174
15175 2003-01-20 Kazu Hirata <kazu@cs.umass.edu>
15176
15177 * config/h8300/h8300.c (notice_update_cc): Don't assume that
15178 recog_data.operands[0] is always associated with cc0.
15179
15180 2003-01-19 David Edelsohn <edelsohn@gnu.org>
15181
15182 * collect2.c (ldgetname): Expand declaration to prototype.
15183 * read-rtl.c (atoll): Add prototype.
15184 * system.h (strsignal): Also declare if no declaration found.
15185
15186 2003-01-19 Alexandre Oliva <aoliva@redhat.com>
15187
15188 * config.gcc (mips64*-*-linux*): Added.
15189 * config/mips/linux64.h, config/mips/t-linux64: New file.
15190 * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Define.
15191 * config/mips/mips.c (override_options): Use it.
15192 * config/mips/mips.h (TARGET_SWITCHES): Added...
15193 (SUBTARGET_TARGET_SWITCHES): New, empty by default.
15194 * Makefile.in (SPECS): New.
15195 (STAGESTUFF, specs, mostlyclean, install-common): Use it.
15196 * gcc.c (process_command): Move self-spec processing past spec
15197 file loading.
15198 * doc/tm.texi (DRIVER_SELF_SPECS): Document the change.
15199 * doc/fragments.texi (MULTILIB_EXTRA_OPTS): Document need for
15200 CRTSTUFF_T_CFLAGS.
15201 (SPECS): Document.
15202 * doc/invoke.texi (-mabi-fake-default): Document.
15203
15204 2003-01-19 Stephane Carrez <stcarrez@nerim.fr>
15205
15206 * config/m68hc11/m68hc11.c (stack_push_word, stack_pop_word,
15207 z_reg, z_reg_qi): Declare static and GTY().
15208 (da_reg): Remove.
15209 (create_regs_rtx): Don't create da_reg.
15210 ("gt-m68hc11.h"): Include for GTY roots.
15211 * config/m68hc11/m68hc11.h (ix_reg, iy_reg, d_reg): Declare extern
15212 and GTY() here.
15213 (m68hc11_compare_op0, m68hc11_compare_op1): Likewise.
15214 (m68hc11_soft_tmp_reg): Likewise.
15215 * config/m68hc11/m68hc11-protos.h: Remove above declarations.
15216
15217 2003-01-18 Kazu Hirata <kazu@cs.umass.edu>
15218
15219 * basic-block.h: Fix comment formatting.
15220 * calls.c: Likewise.
15221 * combine.c: Likewise.
15222 * convert.c: Likewise.
15223 * gcov.c: Likewise.
15224 * haifa-sched.c: Likewise.
15225 * libgcc2.c: Likewise.
15226 * loop.c: Likewise.
15227 * profile.c: Likewise.
15228 * system.h: Likewise.
15229
15230 2003-01-18 Roger Sayle <roger@eyesopen.com>
15231
15232 * config/pa/pa.md (muldi3): Avoid invalid sharing of SUBREG RTXs.
15233
15234 2003-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15235
15236 * ra-build.c (undef_to_size_word): Avoid `switch' warning.
15237
15238 2003-01-17 Dale Johannesen <dalej@apple.com>
15239
15240 * config/rs6000/rs6000.md (*floatsidf2_internal): Add earlyclobbers.
15241 (*floatunssidf2_internal): Ditto.
15242
15243 2003-01-17 Kazu Hirata <kazu@cs.umass.edu>
15244
15245 * alias.c: Fix comment typos.
15246 * basic-block.h: Likewise.
15247 * c-common.c: Likewise.
15248 * c-common.h: Likewise.
15249 * c-decl.c: Likewise.
15250 * c-opts.c: Likewise.
15251 * c-pragma.c: Likewise.
15252 * c-pretty-print.h: Likewise.
15253 * cfg.c: Likewise.
15254 * cfganal.c: Likewise.
15255 * cfgbuild.c: Likewise.
15256 * cfgcleanup.c: Likewise.
15257 * cfglayout.c: Likewise.
15258 * cfgrtl.c: Likewise.
15259 * convert.c: Likewise.
15260 * cpphash.h: Likewise.
15261 * cpplex.c: Likewise.
15262 * cpplib.h: Likewise.
15263 * df.h: Likewise.
15264 * diagnostic.c: Likewise.
15265 * diagnostic.h: Likewise.
15266 * dwarf2.h: Likewise.
15267
15268 2003-01-17 Stan Shebs <shebs@apple.com>
15269
15270 * config/darwin-protos.h: Forward-declare struct cpp_reader.
15271
15272 2003-01-17 Douglas B Rupp <rupp@gnat.com>
15273
15274 * config/alpha/alpha.c (alpha_need_linkage): Fix obvious
15275 mistake in last checkin.
15276
15277 2003-01-17 Kazu Hirata <kazu@cs.umass.edu>
15278
15279 * et-forest.c: Fix comment typos.
15280 * et-forest.h: Likewise.
15281 * except.c: Likewise.
15282 * expr.c: Likewise.
15283 * flags.h: Likewise.
15284 * flow.c: Likewise.
15285 * gcc.c: Likewise.
15286 * gcse.c: Likewise.
15287 * genattrtab.c: Likewise.
15288 * genautomata.c: Likewise.
15289 * gengtype.c: Likewise.
15290 * genrecog.c: Likewise.
15291 * global.c: Likewise.
15292 * gthr-rtems.h: Likewise.
15293
15294 2003-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15295
15296 * i386.c (x86_function_profiler): Fix format specifier.
15297
15298 2003-01-17 Richard Henderson <rth@redhat.com>
15299
15300 * gengtype.c (walk_type): Allow paramN_is.
15301
15302 2003-01-17 Nick Clifton <nickc@redhat.com>
15303
15304 * config/i960/t-960bare (i960-c.o): Add missing newline escape.
15305
15306 2003-01-16 Richard Henderson <rth@redhat.com>
15307
15308 * config/alpha/linux-elf.h (LIB_SPEC): Adjust inter-option spacing.
15309
15310 2003-01-16 Richard Henderson <rth@redhat.com>
15311
15312 * config/alpha/alpha.c (alpha_sr_alias_set): Mark GTY.
15313 (alpha_next_sequence_number): Likewise.
15314 (alpha_this_literal_sequence_number): Likewise.
15315 (alpha_this_gpdisp_sequence_number): Likewise.
15316 (struct alpha_funcs, alpha_funcs_num): Likewise.
15317 (struct alpha_links): Fix branch merge error.
15318 (alpha_need_linkage, alpha_use_linkage): Use GC for alpha_funcs.
15319
15320 2003-01-17 Alexandre Oliva <aoliva@redhat.com>
15321
15322 * config/mips/mips.h: Don't use #elif. Reported by Kaveh
15323 R. Ghazi.
15324
15325 2003-01-16 Kazu Hirata <kazu@cs.umass.edu>
15326
15327 * ifcvt.c: Fix comment typos.
15328 * lcm.c: Likewise.
15329 * libgcc2.c: Likewise.
15330 * local-alloc.c: Likewise.
15331 * loop.c: Likewise.
15332 * predict.c: Likewise.
15333 * ra-build.c: Likewise.
15334 * ra.c: Likewise.
15335 * ra-colorize.c: Likewise.
15336 * ra.h: Likewise.
15337 * ra-rewrite.c: Likewise.
15338 * regmove.c: Likewise.
15339 * reload.h: Likewise.
15340 * rtlanal.c: Likewise.
15341 * toplev.c: Likewise.
15342 * tree.h: Likewise.
15343 * unwind-dw2-fde-glibc.c: Likewise.
15344 * vmsdbgout.c: Likewise.
15345
15346 2003-01-16 Richard Henderson <rth@redhat.com>
15347
15348 * dwarf2out.c (struct file_table): Remove.
15349 (FILE_TABLE_INCREMENT): Remove.
15350 (file_table): Make a varray; mark for GC. Update all users.
15351 (file_table_last_lookup_index): Extract from struct file_table.
15352 (output_file_names): Fix unsigned compare warnings.
15353 (add_name_attribute): Remove inline marker.
15354 (add_comp_dir_attribute): Split out from gen_compile_unit_die.
15355 (lookup_filename): Don't manage size of file_table.
15356 (init_file_table): Allocate file_table with GC.
15357 (dwarf2out_init): Don't record main_input_filename here.
15358 (dwarf2out_finish): Do it here instead.
15359
15360 2003-01-16 Bruce Korb <bkorb@gnu.org>
15361
15362 * gcc/fixinc/inclhack.def(limits_ifndef): QNX needs a bypass, too.
15363
15364 2003-01-16 Kaz Kojima <kkojima@gcc.gnu.org>
15365
15366 * config/sh/sh.c (sh_initialize_trampoline): Emit rotrdi3_mextr
15367 instead of rotldi3_mextr.
15368
15369 2003-01-16 Vladimir Makarov <vmakarov@redhat.com>
15370
15371 * haifa-sched.c (move_insn): Restore moving all schedule group.
15372 (set_priorities): Restore taking SCHED_GROUP_P into account.
15373
15374 * sched-deps.c (add_dependence): Restore processing the last group
15375 insn.
15376 (remove_dependence, group_leader): Restore the functions.
15377 (set_sched_group_p): Restore adding dependencies from previous insn
15378 in the group.
15379 (compute_forward_dependences): Restore usage of group_leader.
15380
15381 * sched-ebb.c (init_ready_list): Restore taking SCHED_GROUP_P into
15382 account.
15383
15384 * sched-rgn.c (init_ready_list): Restore taking SCHED_GROUP_P into
15385 account.
15386 (can_schedule_ready_p): Ditto.
15387 (add_branch_dependences): Restore skipping over the group insns.
15388
15389 2003-01-16 Stephane Carrez <stcarrez@nerim.fr>
15390
15391 * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling
15392 68HC12 pre/post inc/dec side effects.
15393
15394 2003-01-16 Stephane Carrez <stcarrez@nerim.fr>
15395
15396 * config/m68hc11/m68hc11.h (MASK_M6812): Define.
15397
15398 2003-01-16 J"orn Rennecke <amylaar@onetel.net.uk>
15399
15400 * sh.md (mshflo_w_x): Fix description of operation.
15401
15402 2003-01-16 Zack Weinberg <zack@codesourcery.com>
15403
15404 * config/rs6000/rs6000.h: Mention Altivec registers in
15405 commentary. Fix typo.
15406
15407 2003-01-16 David Edelsohn <edelsohn@gnu.org>
15408
15409 * config/rs6000/rs6000.md (movti_string): Remove clobber.
15410 * config/rs6000/rs6000.c (rs6000_emit_move, TImode): Explicitly
15411 generate PARALLEL with clobber for TARGET_POWER.
15412
15413 2003-01-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15414
15415 * ra-colorize.c (colorize_one_web): Initialize variable.
15416 * regmove.c (fixup_match_1): Likewise.
15417 * reload1.c (reload_as_needed): Likewise.
15418 * sdbout.c (SET_KNOWN_TYPE_TAG): Add cast.
15419
15420 2003-01-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
15421
15422 * cfgloop.c (flow_loops_find): Fix handling of abnormal edges.
15423
15424 2003-01-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15425
15426 * dbxout.c (lastfile, cwd): Fix `unused' warning.
15427 * dwarf2out.c (fde_table_in_use, current_funcdef_fde,
15428 dw_cfi_oprnd1_desc, dw_cfi_oprnd2_desc, next_die_offset,
15429 is_main_source, file_table, decl_die_table_in_use,
15430 abbrev_die_table_in_use, line_info_table_in_use,
15431 separate_line_info_table_in_use, pubname_table_in_use,
15432 arange_table_in_use, ranges_table_in_use,
15433 current_function_has_inlines): Likewise.
15434 * flow.c (life_analysis): Likewise.
15435 * genemit.c (gen_insn): Likewise.
15436 * protoize.c (cplus_suffix): Likewise.
15437
15438 * arm.c (ROUND_UP_WORD): Renamed from ROUND_UP.
15439 * arm.h (ROUND_UP_WORD): Likewise.
15440
15441 * arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned
15442 warning.
15443 * emit-rtl.c (gen_rtx_REG, set_mem_attributes_minus_bitpos,
15444 init_emit_once): Likewise.
15445 * flow.c (mark_regs_live_at_end, calculate_global_regs_live):
15446 Likewise.
15447 * function.c (assign_stack_temp_for_type): Likewise.
15448 * loop.c (loop_invariant_p): Likewise.
15449 * recog.c (push_operand): Likewise.
15450 * regclass.c (init_reg_sets_1): Likewise.
15451 * reload.c (update_auto_inc_notes): Likewise.
15452 * reload1.c (reload_as_needed, emit_input_reload_insns): Likewise.
15453 * stmt.c (expand_asm_operands): Likewise.
15454 * stor-layout.c (start_record_layout): Likewise.
15455
15456 2003-01-16 Herman A.J. ten Brugge <hermantenbrugge@home.nl>
15457
15458 * config/c4x/c4x.md (epilogue): Correct last patch.
15459
15460 2003-01-15 Richard Henderson <rth@redhat.com>
15461
15462 * config/alpha/alpha.c (find_lo_sum_using_gp): Rename from find_lo_sum;
15463 also check that GP is being used.
15464 (alpha_find_lo_sum_using_gp): New.
15465 (alpha_does_function_need_gp): Use get_attr_usegp.
15466 * config/alpha/alpha-protos.h: Update.
15467 * config/alpha/alpha.md (attr usegp): New. Annotate patterns
15468 as needed.
15469
15470 2003-01-15 Roger Sayle <roger@eyesopen.com>
15471
15472 * gcse.c (one_cprop_pass): Change function arguments to take both
15473 cprop_jumps and bypass_jumps flags instead of just alter_jumps.
15474 (gcse_main): Update calls to one_cprop_pass, disabling bypassing.
15475 (bypass_jumps): New function to perform separate jump bypassing pass.
15476 * rtl.h (bypass_jumps): Add function prototype.
15477 * timevar.def (TV_BYPASS): New timing variable.
15478 * toplev.c (enum dump_file_index): Add new entry DFI_bypass.
15479 (dump_file): New entry for the bypass RTL dump file.
15480 (rest_of_compilation): Insert new jump bypassing optimization
15481 pass after loop.
15482 * doc/passes.texi: Document new pass.
15483
15484 2003-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
15485
15486 * som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY,
15487 ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define.
15488 * pa.h (TARGET_SOM_SDEF): Define.
15489 * pa-hpux11.h (TARGET_SOM_SDEF): Define.
15490
15491 2003-01-16 Stephane Carrez <stcarrez@nerim.fr>
15492
15493 * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to
15494 allocate 4-bytes of locals on 68HC11.
15495 (expand_epilogue): Likewise.
15496 (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers.
15497
15498 2003-01-15 Stephane Carrez <stcarrez@nerim.fr>
15499
15500 * config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort
15501 and -mshort-double to the assembler to specify the ABI.
15502 (LINK_SPEC): Likewise.
15503 (CPP_SPEC): Pass HCS12 specific define.
15504 (MASK_M68S12): New define.
15505 (TARGET_M68S12): Likewise.
15506 (TARGET_SWITCHES): New options -m68hcs12 and -m68S12.
15507 (TARGET_VERSION): Update.
15508 * config/m68hc11/m68hc12.h (CPP_SPEC): Pass HCS12 specific define.
15509 (LINK_SPEC): Update.
15510 (ASM_SPEC): Update.
15511 * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Update.
15512 * doc/invoke.texi (M68hc1x Options): Document -m68hcs12.
15513
15514 2003-01-15 Stephane Carrez <stcarrez@nerim.fr>
15515
15516 * config/m68hc11/m68hc11.md ("return"): Use emit_jump_insn to emit
15517 the return code.
15518
15519 2003-01-15 Josef Zlomek <zlomekj@suse.cz>
15520
15521 * cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
15522 flag before setting it.
15523
15524 2003-01-15 Roger Sayle <roger@eyesopen.com>
15525
15526 * c-semantics.c (genrtl_while_stmt): Improve initial RTL generation
15527 when loop condition is known true, i.e. "while (1) { ... }".
15528 (genrtl_for_stmt): Similarly for "for" statements.
15529
15530 2003-01-15 Roger Sayle <roger@eyesopen.com>
15531
15532 * real.c (real_sqrt): Return a bool result indicating whether
15533 a floating point exception or trap should be raised.
15534 * real.h (real_sqrt): Update function prototype.
15535 * builtins.c (fold_builtin): Only fold non-trapping square
15536 roots unless we're ignoring errno and trapping math.
15537
15538 2003-01-15 John David Anglin <dave.anglin@nrc.gc.ca>
15539
15540 * expr.h (emit_conditional_add): Add PARAMS to declaration.
15541 * gengtype-lex.l (malloc, realloc): Move defines after include of
15542 system.h. Remove duplicate include of system.h.
15543
15544 2003-01-15 Roger Sayle <roger@eyesopen.com>
15545
15546 PR middle-end/9009
15547 * optabs.c (expand_unop): When manipulating the FP sign bit
15548 using integer operations, account for targets with different
15549 integer and FP word orders.
15550 (expand_abs): Likewise.
15551
15552 2003-01-15 David Edelsohn <edelsohn@gnu.org>
15553
15554 * config/rs6000/rs6000.c (rs6000_gen_section_name): Do not include
15555 file extension in section name.
15556
15557 2003-01-15 Richard Earnshaw <rearnsha@arm.com>
15558
15559 * flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with
15560 constant offset.
15561
15562 2003-01-15 Richard Earnshaw <rearnsha@arm.com>
15563
15564 * arm.h (HAVE_PRE_MODIFY_DISP, HAVE_PRE_MODIFY_REG): Define.
15565 (HAVE_POST_MODIFY_DISP, HAVE_POST_MODIFY_REG): Define.
15566 (ARM_GO_IF_LEGITIMATE_ADDRESS): Handle pre/post-modify addresses.
15567 (ARM_PRINT_OPERAND_ADDRESS): Likewise.
15568
15569 2003-01-15 Jan Hubicka <jh@suse.cz>
15570
15571 PR f/9258
15572 * global.c (struct allocno): Add no_stack_reg.
15573 (global_conflicts): Set no_stack_reg.
15574 (find_reg): Use it.
15575
15576 * convert.c (convert_to_real): Fold - and abs only when profitable.
15577 * fold-const.c (fold): Fold truncates in - and abs.
15578
15579 2003-01-15 Josef Zlomek <zlomekj@suse.cz>
15580
15581 Segher Boessenkool <segher@koffie.nl>
15582
15583 * predict.c (real_inv_br_prob_base): New variable.
15584 (propagate_freq): Use multiply by reciprocal instead of
15585 division. Don't divide by 1.0 at all.
15586 (estimate_bb_frequencies): Similar.
15587
15588 2003-01-15 Alexandre Oliva <aoliva@redhat.com>
15589
15590 * configure.in (libgcc_visibility): Force disabled on IRIX 6 too.
15591 * configure: Rebuilt.
15592
15593 2003-01-15 Hartmut Penner <hpenner@de.ibm.com>
15594
15595 * config/s390/s390.c (s390_safe_attr_type): New function.
15596 (s390_use_dfa_pipeline_interface): New function, return true for z900.
15597 (s390_issue_rate): New function.
15598 (s390_agen_dep_p): New function.
15599 (addr_generation_dependency_p): Use 's390_safe_attr_type'.
15600 (s390_adjust_cost): Return 'cost' if new DFA is used.
15601 (s390_adjust_priority): Delete function.
15602 * config/s390/s390-protos.h: (s390_agen_dep_p): New prototype.
15603 * config/s390/s390.md (atype attribute): Attribute 'atype' default
15604 determined by 'op_type'.
15605 (type attribute): Added more type attributes.
15606 * config/s390/2064.md: New DFA description for z900 pipeline.
15607
15608 2003-01-15 Alexandre Oliva <aoliva@redhat.com>
15609
15610 * config/i386/i386.c (ix86_expand_vector_move): Validize constant
15611 forced to memory. Fixes PR bootstrap/9036.
15612
15613 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as
15614 to set $gp before the call.
15615
15616 2003-01-14 Richard Henderson <rth@redhat.com>
15617
15618 * config/alpha/alpha.c (alpha_expand_mov): Use correct mode
15619 for force_const_mem.
15620
15621 2003-01-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15622
15623 * genattr.c (main): Rearrange output to avoid prototype warning.
15624 * genautomata.c (transform_3): Fix ambiguous-else warning.
15625 * local-alloc.c (requires_inout): Add parentheses around
15626 assignment used as truth-value.
15627 * timevar.c: Move system includes above local includes. Include
15628 toplev.h
15629 * Makefile.in (timevar.o): Depend on toplev.h.
15630
15631 2003-01-14 Denis Chertykov <denisc@overta.ru>
15632
15633 * config/ip2k/ip2k.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
15634 (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
15635
15636 * config/ip2k/ip2k.c (ip2k_attribute_table): New table of
15637 attributes.
15638 (TARGET_ATTRIBUTE_TABLE): New macro.
15639 (valid_machine_type_attribute): Remove.
15640 (valid_machine_decl_attribute): Remove.
15641 (ip2k_handle_progmem_attribute): New function.
15642 (ip2k_handle_fndecl_attribute): New function.
15643
15644 2003-01-10 Andrew Haley <aph@redhat.com>
15645
15646 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename
15647 registers to be in correct order. Add rip.
15648
15649 2003-01-14 Kazu Hirata <kazu@cs.umass.edu>
15650
15651 * config/h8300/h8300.md (*andsi3_lshiftrt_9_sb): New.
15652 (*iorsi3_and_lshiftrt_9_sb): Likewise.
15653
15654 2003-01-14 Jan Hubicka <jh@suse.cz>
15655
15656 * convert.c (strip_float_extensions): Look for narrowest type handling
15657 FP constants.
15658
15659 * fold-const.c (fold): Fold (double)float1 CMP (double)float2 into
15660 float1 CMP float2.
15661 * convert.c (strip_float_extensions): Make global.
15662 * tree.h (strip_float_extensions): Declare.
15663
15664 2003-01-14 Gabriel Dos Reis <gdr@integrable-solutions.net>
15665
15666 * timevar.def: define TV_NAME_LOOKUP.
15667 * timevar.c (timevar_pop): Be verbose when aborting.
15668
15669 2003-01-13 Andreas Schwab <schwab@suse.de>
15670
15671 * Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to
15672 $(parsedir), just move the temporary file at the end.
15673 ($(parsedir)/gengtype-yacc.c): Likewise.
15674
15675 2003-01-13 Alexandre Oliva <aoliva@redhat.com>
15676
15677 * aclocal.m4 (gcc_AC_PROG_GNAT): Don't try to prepend
15678 ${ac_tool_prefix} to ADAC or CC. Protect them from word
15679 splitting.
15680 * configure: Rebuilt.
15681
15682 2003-01-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15683
15684 * config/sparc/gmon-sol2.c (moncontrol, monstartup, _mcleanup,
15685 internal_mcount): Don't use PARAMS.
15686 (monstartup, _mcleanup, internal_mcount, moncontrol): Convert to
15687 ISO C style.
15688 (internal_mcount): Use __attribute__, not ATTRIBUTE_UNUSED.
15689
15690 2003-01-13 Andreas Schwab <schwab@suse.de>
15691
15692 * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
15693 directive.
15694
15695 2003-01-13 Kazu Hirata <kazu@cs.umass.edu>
15696
15697 * config/h8300/h8300.md (*andsi3_lshift_n_sb): New.
15698 (*iorsi3_and_lshiftrt_n_sb): Likewise.
15699
15700 2003-01-12 Mark Mitchell <mark@codesourcery.com>
15701
15702 PR c++/9264
15703 * c-lex.c (c_lex): Set the token value to error_mark_node for
15704 invalid numeric constants.
15705
15706 2003-01-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15707
15708 * c-pch.c (asm_file_startpos): Change to `long'.
15709 (pch_init): Use ftell, not ftello.
15710 (c_common_write_pch): Use ftell/fseek, not ftello/fseeko.
15711 Use `long' instead of `off_t'.
15712 (c_common_read_pch): Likewise.
15713 * ggc-common.c (gt_pch_save): Use long/ftell instead of
15714 off_t/ftello.
15715
15716 2003-01-12 Alan Modra <amodra@bigpond.net.au>
15717
15718 * expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
15719
15720 2003-01-11 Richard Earnshaw (rearnsha@arm.com)
15721
15722 * arm-protos.h (struct cpp_reader): Add declaration.
15723
15724 2003-01-11 Jan Hubicka <jh@suse.cz>
15725
15726 PR target/9068
15727 * i386.c (output_fp_compare): Fix typo.
15728
15729 2003-01-10 David Edelsohn <edelsohn@gnu.org>
15730
15731 * config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
15732
15733 2003-01-10 Geoffrey Keating <geoffk@apple.com>
15734
15735 * Makefile.in (parsedir): New variable.
15736 (docobjdir): New variable.
15737 (c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o,
15738 gengtype-lex.c, gengtype-yacc.c): Use parsedir.
15739 (info, cpp.info, gcc.info, gccint.info, gccinstall.info,
15740 cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
15741 gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man):
15742 Use docobjdir.
15743 * objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
15744 objc.maintainer-clean): Use parsedir.
15745
15746 * varasm.c (struct constant_descriptor_rtx): Remove unused
15747 `label' field.
15748
15749 * toplev.c (documented_lang_options): Document -Winvalid-pch.
15750
15751 2003-01-10 Richard Henderson <rth@redhat.com>
15752
15753 * config/alpha/alpha.h (NO_PROFILE_COUNTERS): Set.
15754 (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Kill.
15755
15756 2003-01-10 Richard Henderson <rth@redhat.com>
15757
15758 * combine.c (make_compound_operation): Use SCALAR_INT_MODE_P,
15759 not INTEGRAL_MODE_P when widening extensions.
15760
15761 2003-01-10 Richard Henderson <rth@redhat.com>
15762
15763 * config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
15764
15765 2003-01-10 Geoffrey Keating <geoffk@apple.com>
15766
15767 * ggc-page.c (ggc_collect): Avoid overflow computing
15768 min_expand.
15769
15770 * Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
15771 (RANLIB_TEST_FOR_TARGET): Delete. Don't pass down to sub-makes.
15772 Remove calls.
15773 * mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.
15774
15775 2003-01-10 Jan Hubicka <jh@suse.cz>
15776
15777 * ifcvt.c (noce_try_addcc): Do not call emit_conditional_add
15778 with weird operands.
15779
15780 2003-01-10 Dale Johannesen <dalej@apple.com>
15781
15782 * calls.c (load_register_parameters): Add is_sibcall, sibcall_failure
15783 parameters. Call check_sibcall_argument_overlap if indicated.
15784 (check_sibcall_argument_overlap): Add mark_stored_args_map
15785 parameter. Don't mark parameter area as clobbered if not set.
15786 (expand_call): Adjust calls to above.
15787
15788 2003-01-10 Kelley Cook <kelleycook@comcast.net>
15789
15790 * configure.in (linker read-only and read-write section mixing):
15791 Squelch some assembler warnings.
15792 * configure: Likewise.
15793
15794 2003-01-10 Hartmut Penner <hpenner@de.ibm.com>
15795
15796 * doc/invoke.texi: Document -mtune, delete -mcpu
15797 option for S/390 and zSeries.
15798 * config/s390/s390.c (s390_tune_string) New variable.
15799 (s390_cpu_string) Delete variable.
15800 (override_options): Use s390_tune_string instead of
15801 s390_cpu_string.
15802 * config/s390/s390.h: (TARGET_OPTIONS) '-mtune' instead of '-mcpu'.
15803
15804 2003-01-10 Kazu Hirata <kazu@cs.umass.edu>
15805
15806 * config/h8300/h8300.md (*iorsi3_ashift_31): New.
15807
15808 2003-01-10 Josef Zlomek <zlomekj@suse.cz>
15809
15810 * jump.c (next_nonnote_insn_in_loop): New function.
15811 (copy_loop_headers): Use next_nonnote_insn_in_loop instead of
15812 next_nonnote_insn.
15813 (duplicate_loop_exit_test). Likewise.
15814
15815 2003-01-09 Geoffrey Keating <geoffk@apple.com>
15816
15817 Merge from pch-branch:
15818
15819 2003-01-06 Geoffrey Keating <geoffk@apple.com>
15820
15821 * ggc-page.c (ggc_pch_read): Update the statistics after a PCH
15822 load.
15823
15824 2002-12-24 Geoffrey Keating <geoffk@apple.com>
15825
15826 * cpplib.c (count_registered_pragmas): New function.
15827 (save_registered_pragmas): New function.
15828 (_cpp_save_pragma_names): New function.
15829 (restore_registered_pragmas): New function.
15830 (_cpp_restore_pragma_names): New function.
15831 * cpphash.h (_cpp_save_pragma_names): Prototype.
15832 (_cpp_restore_pragma_names): Likewise.
15833 * cpppch.c (struct save_macro_item): Split from save_macro_data.
15834 (struct save_macro_data): New field 'saved_pragmas'.
15835 (save_macros): Update for changes to struct save_macro_data.
15836 (cpp_prepare_state): Call _cpp_save_pragma_names, update
15837 for changes to struct save_macro_data.
15838 (cpp_read_state): Call _cpp_restore_pragma_names, update
15839 for changes to struct save_macro_data.
15840
15841 * cpppch.c (cpp_read_state): Restore the hashtable references
15842 in the cpp_reader.
15843
15844 * tree.h (built_in_decls): Mark for PCH.
15845
15846 * dbxout.c (lastfile): Don't mark for PCH.
15847
15848 * ggc.h: Document PCH calls into memory managers.
15849
15850 2002-12-18 Geoffrey Keating <geoffk@apple.com>
15851
15852 * doc/invoke.texi (Precompiled Headers): Document the
15853 directory form of PCH.
15854 * cppfiles.c (validate_pch): New function.
15855 (open_file_pch): Search suitably-named directories for PCH files.
15856
15857 2002-12-14 Geoffrey Keating <geoffk@apple.com>
15858
15859 * doc/gty.texi (GTY Options): Document chain_next, chain_prev,
15860 reorder options.
15861 (Type Information): Mention that the information is also
15862 used to implement PCH.
15863 * doc/passes.texi (Passes): Improve documentation of
15864 language-specific files.
15865
15866 2002-12-11 Geoffrey Keating <geoffk@apple.com>
15867
15868 * gengtype.c (struct write_types_data): Add reorder_note_routine field.
15869 (struct walk_type_data): Add reorder_fn field.
15870 (walk_type): Process 'reorder' option.
15871 (write_types_process_field): Reorder parameters to gt_pch_note_object,
15872 call reorder_note_routine.
15873 (write_func_for_structure): Reorder parameters to gt_pch_note_object.
15874 (ggc_wtd): Update for change to struct write_types_data.
15875 (pch_wtd): Likewise.
15876 * ggc.h (gt_pch_note_object): Reorder parameters.
15877 (gt_handle_reorder): New definition.
15878 (gt_pch_note_reorder): New prototype.
15879 * ggc-common.c (struct ptr_data): Add reorder_fn.
15880 (gt_pch_note_object): Reorder parameters.
15881 (gt_pch_note_reorder): New.
15882 (gt_pch_save): Call reorder_fn.
15883 * stringpool.c (gt_pch_n_S): Update for change to gt_pch_note_object.
15884
15885 * dbxout.c (cwd): Don't mark for PCH.
15886
15887 2002-12-09 Geoffrey Keating <geoffk@apple.com>
15888
15889 * gengtype.c (finish_root_table): Fix some warnings.
15890 (write_root): Handle TYPE_STRING.
15891 * ggc.h (gt_ggc_m_S): Add prototype.
15892 * stringpool.c (gt_ggc_m_S): New function.
15893
15894 2002-11-30 Geoffrey Keating <geoffk@apple.com>
15895
15896 * dwarf2out.c (dw2_string_counter): New.
15897 (AT_string_form): Use it.
15898 (same_dw_val_p): Update for removal of hashtable.h hash tables.
15899
15900 2002-11-22 Geoffrey Keating <geoffk@apple.com>
15901
15902 * dbxout.c: Include gt-dbxout.h.
15903 (lastfile): Mark for PCH/GGC.
15904 (cwd): Likewise.
15905 (struct typeinfo): Likewise.
15906 (typevec): Likewise.
15907 (typevec_len): Likewise.
15908 (next_type_number): Likewise.
15909 (struct dbx_file): Likewise.
15910 (current_file): Likewise.
15911 (next_file_number): Likewise.
15912 (dbxout_init): Allocate typevec, struct dbx_file with GGC.
15913 (dbxout_start_source_file): Allocate struct dbx_file with GGC.
15914 (dbxout_end_source_file): Don't free struct dbx_file.
15915 (dbxout_type): Use GGC to allocate typevec.
15916 * Makefile.in (dbxout.o): Depend on gt-dbxout.h, $(GGC_H).
15917 (GTFILES): Add dbxout.c.
15918 (gt-dbxout.h): New rule.
15919
15920 * Makefile.in (c-pch.o): Add debug.h as dependency.
15921 * c-pch.c: Include debug.h.
15922 (pch_init): Call start_source_file to keep nesting right.
15923 (c_common_read_pch): Add orig_name parameter. Call
15924 start_source_file debug hook. Call end_source_file debug hook.
15925 * c-common.h (c_common_read_pch): Update prototype.
15926 * cpplib.h (struct cpp_callbacks): Add fourth field to read_pch
15927 callback.
15928 * cppfiles.c (struct include_file): Add new field `header_name'.
15929 (find_or_create_entry): Default it to `name'.
15930 (open_file_pch): Set it to the original header file searched for.
15931 (stack_include_file): Don't stack an empty buffer, just handle
15932 PCH files immediately. Pass header_name field to read_pch callback.
15933
15934 2002-11-19 Geoffrey Keating <geoffk@apple.com>
15935
15936 * function.c (funcdef_no): Mark to be saved in a PCH.
15937
15938 2002-11-15 Geoffrey Keating <geoffk@apple.com>
15939
15940 * ggc-page.c (ggc_pch_read): Remove unused 'bmap_size'.
15941
15942 * cpppch.c (cpp_read_state): Correct size reallocated for 'defn'.
15943
15944 2002-11-14 Geoffrey Keating <geoffk@apple.com>
15945
15946 * optabs.h (code_to_optab): Add GTY marker.
15947
15948 2002-11-13 Geoffrey Keating <geoffk@apple.com>
15949
15950 * Makefile.in (GTFILES): Add cpplib.h.
15951 * c-common.h (struct c_common_identifier): Don't skip 'node' field.
15952 * c-decl.c (build_compound_literal): Don't use var_labelno.
15953 * cpplib.h (struct cpp_hashnode): Use gengtype to mark.
15954 * dwarf2asm.c (dw2_force_const_mem): Don't use const_labelno.
15955 * varasm.c (const_labelno): Use gengtype to mark.
15956 (var_labelno): Likewise.
15957 (in_section): Likewise.
15958 (in_named_name): Likewise.
15959 (struct in_named_entry): Likewise.
15960 (in_named_htab): Likewise.
15961 (set_named_section_flags): Use GGC to allocate struct in_named_entry.
15962 (init_varasm_once): Use GGC to allocate in_named_htab.
15963 * config/darwin.c (current_pic_label_num): Mark for PCH.
15964
15965 2002-11-11 Geoffrey Keating <geoffk@apple.com>
15966
15967 * ggc-simple.c (init_ggc_pch): New stub procedure.
15968 (ggc_pch_count_object): Likewise.
15969 (ggc_pch_total_size): Likewise.
15970 (ggc_pch_this_base): Likewise.
15971 (ggc_pch_alloc_object): Likewise.
15972 (ggc_pch_prepare_write): Likewise.
15973 (ggc_pch_write_object): Likewise
15974 (ggc_pch_finish): Likewise.
15975 (ggc_pch_read): Likewise.
15976
15977 2002-11-08 Geoffrey Keating <geoffk@apple.com>
15978
15979 * c-pch.c (c_common_write_pch): Write the macro definitions after
15980 the GCed data.
15981 (c_common_read_pch): Call cpp_prepare_state. Restore the macro
15982 definitions after the GCed data.
15983 * cpplib.c (save_macros): New.
15984 (reset_ht): New.
15985 (cpp_write_pch_deps): Split out of cpp_write_pch.
15986 (cpp_write_pch_state): Split out of cpp_write_pch.
15987 (cpp_write_pch): Delete.
15988 (struct save_macro_data): Delete.
15989 (cpp_prepare_state): New.
15990 (cpp_read_state): Erase and restore initial macro definitions.
15991 * cpplib.h (struct save_macro_data): Forward-declare.
15992 (cpp_write_pch_deps): Prototype.
15993 (cpp_write_pch_state): Prototype.
15994 (cpp_write_pch): Delete prototype.
15995 (cpp_prepare_state): Prototype.
15996 (cpp_read_state): Add fourth argument.
15997
15998 2002-11-04 Geoffrey Keating <geoffk@apple.com>
15999
16000 * gengtype.c (adjust_field_rtx_def): Don't use skip on valid fields.
16001 (write_array): Remove warning.
16002
16003 * gengtype.c (contains_scalar_p): New.
16004 (finish_root_table): Add the table to all languages, even if it's
16005 empty.
16006 (write_roots): Output gt_pch_scalar_rtab.
16007 * ggc-common.c (gt_pch_save): Write out scalars.
16008 (gt_pch_restore): Read scalars back.
16009
16010 * ggc-page.c (OBJECTS_IN_PAGE): New macro.
16011 (struct page_entry): Delete pch_page field.
16012 (ggc_recalculate_in_use_p): Use OBJECTS_IN_PAGE.
16013 (clear_marks): Likewise.
16014 (sweep_pages): Likewise.
16015 (poison_pages): Likewise.
16016 (ggc_print_statistics): Likewise.
16017 (ggc_pch_read): Don't free objects read from a PCH.
16018 Properly set up in_use_p and page_tails.
16019
16020 2002-10-25 Geoffrey Keating <geoffk@apple.com>
16021
16022 * gengtype.c (struct write_types_data): New.
16023 (struct walk_type_data): Make `cookie' const; add extra
16024 prev_val item; add `orig_s' field.
16025 (walk_type): Update prev_val[3].
16026 (write_types_process_field): New.
16027 (write_func_for_structure): Take write_types_data structure.
16028 (write_types): New.
16029 (ggc_wtd): New.
16030 (pch_wtd): New.
16031 (write_types_local_process_field): New.
16032 (gc_mark_process_field): Delete.
16033 (write_local_func_for_structure): New.
16034 (gc_mark_func_name): Delete.
16035 (write_gc_types): Delete.
16036 (write_local): New.
16037 (finish_root_table): Don't include 'ggc_' in PFX.
16038 (write_root): Rename from write_root. Fill pchw field of structures.
16039 (write_array): New.
16040 (write_roots): Rename from write_gc_roots. Split out to write_array.
16041 Update to changes to other routines. Write gt_pch_cache_rtab table.
16042 (main): Write PCH walking routines.
16043 * ggc-common.c: Include toplev.h, sys/mman.h.
16044 (ggc_mark_roots): For cache hashtables, also mark the hash table
16045 and the array of entries.
16046 (saving_htab): New.
16047 (struct ptr_data): New.
16048 (POINTER_HASH): New.
16049 (gt_pch_note_object): New.
16050 (saving_htab_hash): New.
16051 (saving_htab_eq): New.
16052 (struct traversal_state): New.
16053 (call_count): New.
16054 (call_alloc): New.
16055 (compare_ptr_data): New.
16056 (relocate_ptrs): New.
16057 (write_pch_globals): New.
16058 (struct mmap_info): New.
16059 (gt_pch_save): New.
16060 (gt_pch_restore): New.
16061 * ggc-page.c (ROUND_UP_VALUE): New.
16062 (ROUND_UP): New.
16063 (struct page_entry): Add field `pch_page'.
16064 (init_ggc): Use ROUND_UP.
16065 (struct ggc_pch_data): Declare.
16066 (init_ggc_pch): New.
16067 (ggc_pch_count_object): New.
16068 (ggc_pch_total_size): New.
16069 (ggc_pch_this_base): New.
16070 (ggc_pch_alloc_object): New.
16071 (ggc_pch_prepare_write): New.
16072 (ggc_pch_write_object): New.
16073 (ggc_pch_finish): New.
16074 (ggc_pch_read): New.
16075 * ggc.h (gt_pointer_operator): New.
16076 (gt_note_pointers): New.
16077 (gt_pch_note_object): New prototype.
16078 (gt_pointer_walker): New.
16079 (struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
16080 (LAST_GGC_ROOT_TAB): Update.
16081 (gt_pch_cache_rtab): Declare.
16082 (gt_pch_scalar_rtab): Declare.
16083 (struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
16084 (LAST_GGC_CACHE_TAB): Update.
16085 (gt_pch_save_stringpool): Declare.
16086 (gt_pch_restore_stringpool): Declare.
16087 (gt_pch_p_S): Declare.
16088 (gt_pch_n_S): Declare.
16089 (struct ggc_pch_data): Forward-declare.
16090 (init_ggc_pch): Declare.
16091 (ggc_pch_count_object): Declare.
16092 (ggc_pch_total_size): Declare.
16093 (ggc_pch_this_base): Declare.
16094 (ggc_pch_alloc_object): Declare.
16095 (ggc_pch_prepare_write): Declare.
16096 (ggc_pch_write_object): Declare.
16097 (ggc_pch_finish): Declare.
16098 (ggc_pch_read): Declare.
16099 (gt_pch_save): Declare.
16100 (gt_pch_restore): Declare.
16101 * fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
16102 * emit-rtl.c (init_emit_once): Allocate const_int_htab,
16103 const_double_htab, mem_attrs_htab using GGC.
16104 * c-pch.c: Include ggc.h.
16105 (pch_init): Allow reading PCH file back.
16106 (c_common_write_pch): Call gt_pch_save.
16107 (c_common_read_pch): Call gt_pch_restore.
16108 * c-parse.in (init_reswords): Delete now-untrue comment.
16109 Allocate ridpointers using GGC.
16110 * c-objc-common.c (c_objc_common_finish_file): Write PCH before
16111 calling expand_deferred_fns.
16112 * c-common.h (ridpointers): Mark for GTY machinery.
16113 * Makefile.in (stringpool.o): Update dependencies.
16114 (c-pch.o): Update dependencies.
16115 (ggc-common.o): Update dependencies.
16116 * stringpool.c: Include gt-stringpool.h.
16117 (gt_pch_p_S): New.
16118 (gt_pch_n_S): New.
16119 (struct string_pool_data): New.
16120 (spd): New.
16121 (gt_pch_save_stringpool): New.
16122 (gt_pch_restore_stringpool): New.
16123 * tree.c (init_ttree): Make type_hash_table allocated using GC.
16124
16125 2002-10-04 Geoffrey Keating <geoffk@apple.com>
16126
16127 * gengtype.c (adjust_field_rtx_def): Don't pass size_t to printf.
16128 (output_mangled_typename): Don't pass size_t to printf.
16129
16130 * tree.h (union tree_type_symtab): Add tag to `address' field.
16131 (union tree_decl_u2): Add tag to 'i' field.
16132 * varasm.c (union rtx_const_un): Add tags to all fields.
16133 * gengtype.c (struct walk_type_data): New.
16134 (output_escaped_param): Take struct walk_type_data parameter.
16135 (write_gc_structure_fields): Delete.
16136 (walk_type): New.
16137 (write_gc_marker_routine_for_structure): Delete.
16138 (write_func_for_structure): New.
16139 (gc_mark_process_field): New.
16140 (gc_mark_func_name): New.
16141 (gc_counter): Delete.
16142 (write_gc_types): Use write_func_for_structure.
16143 (write_gc_roots): Use walk_type.
16144
16145 2002-10-02 Geoffrey Keating <geoffk@apple.com>
16146
16147 * ggc-common.c (ggc_mark_roots): Delete 'x'.
16148 (ggc_splay_dont_free): Fix warning about unused 'x'.
16149 (ggc_print_common_statistics): Remove warnings.
16150
16151 2002-10-01 Mike Stump <mrs@apple.com>
16152
16153 * ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
16154 * gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
16155
16156 2002-09-01 Geoffrey Keating <geoffk@redhat.com>
16157 Catherine Moore <clm@redhat.com>
16158
16159 * Makefile (c-pch.o): Update dependencies.
16160 (LIBCPP_OBJS): Add cpppch.o.
16161 (cpppch.o): New.
16162 * c-common.c (c_common_init): Don't call pch_init here.
16163 * c-common.h (c_common_read_pch): Update prototype.
16164 * c-lex.c (c_common_parse_file): Call pch_init here.
16165 * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-pch, -fpch-deps.
16166 (c_common_decode_option): Handle them.
16167 * c-pch.c: Include c-pragma.h.
16168 (save_asm_offset): Delete.
16169 (pch_init): Move contents of save_asm_offset into here, call
16170 cpp_save_state.
16171 (c_common_write_pch): Call cpp_write_pch.
16172 (c_common_valid_pch): Warn only when -Winvalid-pch. Call
16173 cpp_valid_state.
16174 (c_common_read_pch): Add NAME parameter. Call cpp_read_state.
16175 * cppfiles.c (stack_include_file): Update for change to
16176 parameters of cb.read_pch.
16177 * cpphash.h (struct cpp_reader): Add `savedstate' field.
16178 * cpplib.h (struct cpp_options): Add `warn_invalid_pch' and
16179 `restore_pch_deps' fields.
16180 (struct cpp_callbacks): Add NAME parameter to `read_pch'.
16181 (cpp_save_state): Prototype.
16182 (cpp_write_pch): Prototype.
16183 (cpp_valid_state): Prototype.
16184 (cpp_read_state): Prototype.
16185 * cpppch.c: New file.
16186 * flags.h (version_flag): Remove prototype.
16187 * mkdeps.c (deps_save): New.
16188 (deps_restore): New.
16189 * mkdeps.h (deps_save): Prototype.
16190 (deps_restore): Prototype.
16191 * toplev.c (late_init_hook): Delete.
16192 (version_flag): Make static again.
16193 (compile_file): Don't call late_init_hook.
16194 * toplev.h (late_init_hook): Delete.
16195 * doc/cppopts.texi: Document -fpch-deps.
16196 * doc/invoke.texi (Warning Options): Document -Winvalid-pch.
16197
16198 2002-08-27 Geoffrey Keating <geoffk@redhat.com>
16199
16200 * c-pch.c (c_common_write_pch): Rename from c_write_pch, change
16201 callers.
16202 (c_common_valid_pch): Rename from c_valid_pch, change callers.
16203 (c_common_read_pch): Rename from c_read_pch, change callers.
16204
16205 * c-opts.c (COMMAND_LINE_OPTIONS): Allow -output-pch= to have
16206 a space between it and its argument.
16207
16208 2002-08-24 Geoffrey Keating <geoffk@redhat.com>
16209
16210 * c-pch.c: New file.
16211 * toplev.h (late_init_hook): Declare.
16212 * toplev.c (late_init_hook): Define.
16213 (version_flag): Make globally visible.
16214 (compile_file): Call late_init_hook.
16215 (init_asm_output): Make output file seekable.
16216 * gcc.c (default_compilers): Update c-header rule.
16217 * flags.h (version_flag): Declare.
16218 * cpplib.h (struct cpp_callbacks): Add 'valid_pch' and 'read_pch'
16219 fields.
16220 * cppfiles.c (struct include_file): Add 'pch' field.
16221 (INCLUDE_PCH_P): New.
16222 (open_file_pch): New.
16223 (stack_include_file): Handle PCH files specially.
16224 (find_include_file): Call open_file_pch instead of open_file.
16225 (_cpp_read_file): Explain why open_file is used instead of
16226 open_file_pch.
16227 * c-opts.c (c_common_decode_option): Correct OPT__output_pch case.
16228 * c-objc-common.c (c_objc_common_finish_file): Call c_write_pch.
16229 * c-lex.c (init_c_lex): Set valid_pch and read_pch fields
16230 in cpplib callbacks.
16231 * c-common.c (pch_file): Correct comment.
16232 (allow_pch): Define.
16233 (c_common_init): Call pch_init.
16234 * c-common.h (allow_pch): Declare.
16235 (pch_init): Declare.
16236 (c_valid_pch): Declare.
16237 (c_read_pch): Declare.
16238 (c_write_pch): Declare.
16239 * Makefile.in (c-pch.o): New.
16240 (C_AND_OBJC_OBJS): Add c-pch.o.
16241 * doc/invoke.texi (Precompiled Headers): Add index entries,
16242 complete truncated paragraph.
16243
16244 2002-08-17 Geoffrey Keating <geoffk@redhat.com>
16245
16246 * c-common.c: (pch_file): Define.
16247 * c-common.h (pch_file): Declare.
16248 * c-opts.c (COMMAND_LINE_OPTIONS): Add --output-pch=.
16249 (missing_arg): Require --output-pch= to have an argument.
16250 (c_common_decode_option): Handle --output-pch=.
16251 * gcc.c: Document new %V.
16252 (default_compilers): Handle compiling C header files.
16253 (do_spec_1): Implement %V.
16254 (main): Handle "gcc foo.h" without trying to run linker.
16255 * doc/invoke.texi (Invoking GCC): Add new menu item for PCH.
16256 (Overall Options): Document what the driver does with header files,
16257 document new -x option possibilities.
16258 (Invoking G++): More documentation for PCH.
16259 (Precompiled Headers): New.
16260
16261 2002-08-09 Geoffrey Keating <geoffk@redhat.com>
16262
16263 * ggc.h: Don't include varray.h. Rearrange functions to be more
16264 organized.
16265 (ggc_add_root): Delete.
16266 (ggc_mark_rtx): Delete.
16267 (ggc_mark_tree): Delete.
16268 (struct ggc_statistics): Remove contents.
16269 * ggc-common.c: Remove unneeded includes.
16270 (struct ggc_root): Delete.
16271 (roots): Delete.
16272 (ggc_add_root): Delete.
16273 (ggc_mark_roots): Don't mark `roots'. Call ggc_mark_stringpool.
16274 (ggc_print_common_statistics): Remove most of the contents.
16275 * Makefile.in (GGC_H): No longer uses varray.h.
16276 (ggc-common.o): Update dependencies.
16277 (c-parse.o): Add varray.h to dependencies.
16278 (c-common.o): Add varray.h.
16279 * stringpool.c (mark_ident): Use mangled name for tree marker routine.
16280 (mark_ident_hash): Rename to ggc_mark_stringpool.
16281 (init_stringpool): Don't use ggc_add_root.
16282 * c-parse.in: Include varray.h.
16283 * c-common.c: Include varray.h.
16284 * objc/Make-lang.in (objc-act.o): Add varray.h.
16285 * objc/objc-act.c: Include varray.h.
16286
16287 2002-07-25 Geoffrey Keating <geoffk@redhat.com>
16288
16289 * dwarf2out.c (dw_cfi_oprnd2_desc): Fix ISO-only function definition.
16290 (dw_cfi_oprnd1_desc): Likewise.
16291
16292 2002-07-17 Geoffrey Keating <geoffk@redhat.com>
16293
16294 * config/alpha/alpha.c (struct alpha_links): Use gengtype to mark;
16295 move out of ifdef.
16296 (alpha_links): Use gengtype to mark; move out of ifdef.
16297 (mark_alpha_links_node): Delete.
16298 (mark_alpha_links): Delete.
16299 (alpha_need_linkage): Use GGC to allocate splay tree, struct
16300 alpha_links, strings. Don't use ggc_add_root.
16301 * ggc-common.c (ggc_splay_alloc): New.
16302 (ggc_splay_dont_free): New.
16303 * ggc.h (ggc_mark_rtx): Update for changed name mangling.
16304 (ggc_mark_tree): Likewise.
16305 (splay_tree_new_ggc): New.
16306 (ggc_splay_alloc): Declare.
16307 (ggc_splay_dont_free): Declare.
16308 * dwarf2asm.c: Include gt-dwarf2asm.h.
16309 (mark_indirect_pool_entry): Delete.
16310 (mark_indirect_pool): Delete.
16311 (indirect_pool): Use gengtype to mark.
16312 (dw2_force_const_mem): Don't use ggc_add_root.
16313 * Makefile.in (dwarf2asm.o): Depend on gt-dwarf2asm.h.
16314 (GTFILES): Add SPLAY_TREE_H, dwarf2asm.c.
16315 (gt-dwarf2asm.h): Depend on s-gtype.
16316
16317 2002-07-08 Geoffrey Keating <geoffk@redhat.com>
16318
16319 * tree.h (union tree_type_symtab): Mark `die' field.
16320 * Makefile.in (dwarf2out.o): Update dependencies.
16321 * dwarf2out.c: Use GGC to allocate all structures. Convert to htab_t
16322 hash tables.
16323 (dw_cfi_oprnd1_desc): New function.
16324 (dw_cfi_oprnd2_desc): New function.
16325 (indirect_string_alloc): Delete.
16326 (debug_str_do_hash): New function.
16327 (debug_str_eq): New function.
16328 (mark_limbo_die_list): Delete.
16329 (dwarf2out_init): Don't call ggc_add_root.
16330
16331 2003-01-09 Vladimir Makarov <vmakarov@redhat.com>
16332
16333 The following changes are merged from itanium-sched-branch:
16334
16335 2003-01-08 David Edelsohn <edelsohn@gnu.org>
16336
16337 * doc/md.texi: Clarify assignment of units to automata description.
16338
16339 2003-01-08 Vladimir Makarov <vmakarov@redhat.com>
16340
16341 * genautomata.c (unit_decl): Remove members
16342 `the_same_automaton_unit' and
16343 `the_same_automaton_message_reported_p'.
16344 (process_unit_to_form_the_same_automaton_unit_lists,
16345 form_the_same_automaton_unit_lists_from_regexp,
16346 form_the_same_automaton_unit_lists, the_same_automaton_lists):
16347 Remove them.
16348 (annotation_message_reported_p): New global variable.
16349 (check_unit_distribution_in_reserv,
16350 check_regexp_units_distribution): New functions.
16351 (check_unit_distributions_to_automata): Rewrite it.
16352
16353 2003-01-04 Vladimir Makarov <vmakarov@redhat.com>
16354
16355 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
16356 Use continue instead of break if cycle is too big.
16357
16358 2002-12-20 Vladimir Makarov <vmakarov@redhat.com>
16359
16360 * genautomata.c (check_unit_distributions_to_automata): Output at
16361 most one message for a unit.
16362 (process_unit_to_form_the_same_automaton_unit_lists): Check
16363 automaton of units instead of units themself.
16364
16365 * doc/md.texi: Describe the constraint about assigning unit to
16366 automata.
16367
16368 2002-12-20 Jan Hubicka <jH@suse.cz>
16369 Vladimir Makarov <vmakarov@redhat.com>
16370
16371 * genautomata.c (unit_decl): Add new members `min_occ_cycle_num'
16372 and `in_set_p'.
16373 (gen_cpu_unit): Initialize the new members.
16374 (process_regexp_cycles): Calculate minimal finish cycle too. Set
16375 up `min_occ_cycle_num'.
16376 (evaluate_max_reserv_cycles): Change the function call.
16377 (CLEAR_BIT): New macro.
16378 (states_union, state_shift): Use the mask.
16379 (initiate_excl_sets, form_reserv_sets_list): Set up `in_set_p'.
16380 (form_reservs_matter): New function.
16381 (make_automaton): Call the function and use the mask.
16382 (estimate_one_automaton_bound): Take `min_occ_cycle_num' into
16383 account.
16384
16385 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
16386
16387 * config/ia64/itanium2.md (lfetch): Change the insn reservation.
16388
16389 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
16390
16391 * config/ia64/ia64.c (bundling): Try to insert 2 nops for M insn
16392 for Itanium.
16393
16394 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
16395
16396 * config/ia64/ia64.c (ia64_override_options): Make itanium2 as
16397 default cpu.
16398
16399 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
16400 2002-10-31 Dale Johannesen <dalej@apple.com>
16401
16402 * haifa-sched.c (find_set_reg_weight): New function.
16403 (find_insn_reg_weight): Use the new function.
16404 (schedule_block): Do sorting ready queue always
16405 after insn issue.
16406
16407 2002-11-27 Vladimir Makarov <vmakarov@redhat.com>
16408
16409 * config/ia64/ia64.c (bundling): Use MFI template instead of MLX.
16410
16411 2002-11-19 Vladimir Makarov <vmakarov@redhat.com>
16412
16413 * haifa-sched.c (choice_entry): New structure.
16414 (choice_stack, cycle_issued_insns): New variables.
16415 (max_issue): Rewrite it.
16416 (choose_ready): Set up ready_try for unknown insns too.
16417 (schedule_block): Allocate and free choice_stack. Set up
16418 and modify cycle_issued_insns.
16419
16420 * config/ia64/ia64.c (issue_nops_and_insn): Combine insn issue
16421 with and without filling the bundle.
16422 (bundling): Combine calls of issue_nops_and_insn.
16423
16424 2002-10-17 Vladimir Makarov <vmakarov@redhat.com>
16425
16426 * config/ia64/itanium1.md: New file.
16427
16428 * config/ia64/itanium2.md: New file.
16429
16430 * config/ia64/ia64.md: Move DFA descriptions into the new files.
16431 Remove the old pipeline description.
16432
16433 * config/ia64/ia64.c (ia64_override_options): Add aliases of
16434 itanium processor names.
16435
16436 2002-10-16 Vladimir Makarov <vmakarov@redhat.com>
16437
16438 * config/ia64/ia64.c (bundling): Print states for Itanium2 too.
16439 (ia64_reorg): Set up queried unit codes for Itanium2 too.
16440
16441 * config/ia64/ia64.md: Add descriptions for Itanium2.
16442
16443 2002-10-08 Vladimir Makarov <vmakarov@redhat.com>
16444
16445 * config/ia64/ia64.h (processor_type): New enumeration.
16446 (ia64_tune, ia64_tune_string): New external declarations.
16447 (TARGET_OPTIONS): Add option `tune='.
16448
16449 * config/ia64/ia64.c (ia64_tune, ia64_tune_string): New global
16450 variables.
16451 (ia64_override_options): Set up `ia64_tune'.
16452 (ia64_sched_reorder2): Set up `clocks' only for Itanium.
16453 (ia64_dfa_new_cycle): Set up `add_cycles' only for Itanium.
16454 (bundling): Add nops for MM-insns only for Itanium.
16455 (ia64_reorg): Allocate and free `clocks' and `add_cycles' only for
16456 Itanium.
16457
16458 * config/ia64/ia64.md (cpu): New attribute.
16459 (DFA description): Enable it only for Itanium.
16460
16461 2002-10-08 Vladimir Makarov <vmakarov@redhat.com>
16462 Richard Henderson <rth@redhat.com>
16463
16464 * config/ia64/ia64.h (MASK_TUNE_STOP_BITS): Rename it to
16465 MASK_EARLY_STOP_BITS.
16466 (TARGET_TUNE_STOP_BITS): Rename it to TARGET_EARLY_STOP_BITS.
16467 (TARGET_SWITCHES): Rename option `tune-stop-bits' to
16468 `early-stop-bits'.
16469
16470 * config/ia64/ia64.c (ia64_dfa_new_cycle,
16471 final_emit_insn_group_barriers): Use TARGET_EARLY_STOP_BITS
16472 instead of TARGET_TUNE_STOP_BITS.
16473
16474 * doc/invoke.texi: Rename option `-mtune-stop-bits' to
16475 `-mearly-stop-bits'.
16476
16477 * config/ia64/ia64.c (automata_option "v"): Comment it.
16478
16479 2002-10-07 Vladimir Makarov <vmakarov@redhat.com>
16480
16481 * config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
16482 New macros.
16483 (TARGET_SWITCHES): Add entries for the new option.
16484
16485 * config/ia64/ia64.c (dfa_stop_insn, last_scheduled_insn, rtx
16486 dfa_pre_cycle_insn, ia64_nop): Don't make them as roots for GC.
16487 (stops_p, stop_before_p, clocks_length, clocks, add_cycles): New
16488 global variables.
16489 (ia64_sched_reorder2): Set up `clocks'.
16490 (ia64_variable_issue): Set up `stops_p' and reset `stop_before_p'.
16491 (ia64_dfa_new_cycle): Set up add_cycle. Permit sorting ready
16492 queue when TARGET_TUNE_STOP_BITS.
16493 (bundling): Insert additional nops for MM-insns.
16494 (final_emit_insn_group_barriers): Add insertion of stop bits
16495 according `stops_p'.
16496 (ia64_reorg): Initiate the new varibales.
16497
16498 * doc/invoke.texi: Add description of option `-mtune-stop-bits'.
16499
16500 2002-10-02 Vladimir Makarov <vmakarov@redhat.com>
16501
16502 * haifa-sched.c (schedule_block): Modify INSN_TICK of depended
16503 insns at the end of block insn scheduling.
16504
16505 2002-09-30 Vladimir Makarov <vmakarov@redhat.com>
16506
16507 * sched-deps.c (remove_dependence, group_leader): Remove it.
16508 (add_dependence): Add dependence to group leader to.
16509 (set_sched_group_p): Add dependence to the first insn of the
16510 schedule group too.
16511 (sched_analyze_insn): Make dependence to jump as anti-dependence.
16512 Change true dependence by anti-dependence when
16513 `reg_pending_barrier'.
16514
16515 * sched-rgn.c (init_ready_list, can_schedule_ready_p,
16516 add_branch_dependences): Ignore schedule groups.
16517
16518 * sched-ebb.c (init_ready_list): Ditto.
16519
16520 * (move_insn, set_priorities): Ditto.
16521
16522 * config/ia64/ia64.c (ia64_sched_init): Check that schedule group
16523 flag is clear after reload.
16524 (adjust_cost): Change cost only for output dependencies.
16525
16526 * config/ia64/ia64.md: Add more insns into bypass for MM-insns.
16527
16528 2002-09-26 Vladimir Makarov <vmakarov@redhat.com>
16529
16530 * Makefile.in (sched-ebb.o): Add `$(TARGET_H)' to the entry.
16531
16532 * target.h (gcc_target): Add member
16533 `dependencies_evaluation_hook'.
16534
16535 * target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New
16536 macro.
16537 (TARGET_SCHED): Add initiatialization of the new member.
16538
16539 * sched-ebb.c: Include `target.h'.
16540 (schedule_ebb): Call `dependencies_evaluation_hook'.
16541
16542 * sched-rgn.c (schedule_region): Call
16543 `dependencies_evaluation_hook'.
16544
16545 * config/ia64/ia64.c (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
16546 New macro.
16547 (ia64_dependencies_evaluation_hook): New function.
16548
16549 * doc/tm.texi (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
16550 Describe the new hook.
16551
16552 2002-09-25 Vladimir Makarov <vmakarov@redhat.com>
16553
16554 * target.h (gcc_target): Add members
16555 `first_cycle_multipass_dfa_lookahead_guard' and `dfa_new_cycle'.
16556
16557 * target-def.h (TARGET_SCHED_DFA_NEW_CYCLE,
16558 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): New
16559 macros.
16560 (TARGET_SCHED): Add initiatialization of the new members.
16561
16562 * haifa-sched.c (schedule_insn): Update last_clock_var for the 1st
16563 insn scheduling too.
16564 (choose_ready): Use `first_cycle_multipass_dfa_lookahead_guard' to
16565 initialize `ready_try'.
16566 (schedule_block): Use `dfa_new_cycle'. Sort `ready' only unless
16567 `dfa_new_cycle' says not to do it.
16568
16569 * config/ia64/ia64.md: Add DFA Itanium 1 description for insn
16570 bundling.
16571
16572 * config/ia64/ia64.h (CPU_UNITS_QUERY): New macro.
16573
16574 * config/ia64/ia64.c: Include `hashtab.h'.
16575 (ia64_first_cycle_multipass_dfa_lookahead_guard,
16576 ia64_dfa_new_cycle, final_emit_insn_group_barriers,
16577 ia64_dfa_sched_reorder, get_free_bundle_state, free_bundle_state,
16578 initiate_bundle_states, finish_bundle_states, bundle_state_hash,
16579 bundle_state_eq_p, insert_bundle_state,
16580 initiate_bundle_state_table, finish_bundle_state_table,
16581 try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
16582 get_template, get_next_important_insn, bundling): New functions.
16583 (ia64_internal_sched_reorder): Remove it.
16584 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
16585 TARGET_SCHED_DFA_NEW_CYCLE): New macros.
16586 (ia64_safe_itanium_requires_unit0): Remove it.
16587 (group_barrier_needed_p): Place group barrier right before a real
16588 insn.
16589 (bundle, ia64_packet, NR_PACKETS, type_names, packets, packets):
16590 Remove them.
16591 (bundle_name): New variable.
16592 (_0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_, _0mbb_, _0mib_, _0mmb_,
16593 _0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_, _1mmf_, _1bbb_, _1mbb_,
16594 _1mib_, _1mmb_, _1mfb_, _1mlx_, pos_1, pos_2, pos_3, pos_4, pos_5,
16595 pos_6, dfa_stop_insn, last_scheduled_insn, dfa_state_size,
16596 temp_dfa_state, prev_cycle_state): New global variables.
16597 (insn_matches_slot, maybe_rotate, finish_last_head,
16598 rotate_one_bundle, rotate_one_bundles, nop_cycles_until,
16599 cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
16600 find_best_packet, itanium_reorder, dump_current_packet,
16601 schedule_stop, gen_nop_type, ia64_emit_nops): Remove them.
16602 (sched_data, sched_ready, sched_types): Remove them.
16603 (ia64_sched_init): Initiate only `last_scheduled_insn' and call
16604 `init_insn_group_barriers'.
16605 (ia64_sched_reorder, ia64_sched_reorder2): Call
16606 ia64_dfa_sched_reorder.
16607 (ia64_variable_issue): Rewrite it.
16608 (bundle_state): New structure.
16609 (index_to_bundle_states, bundle_states_num,
16610 allocated_bundle_states_chain, free_bundle_state_chain): New
16611 global variables.
16612 (ia64_sched_finish): Add stop bits and call `bundling' after the
16613 2nd insn scheduling.
16614 (ia64_use_dfa_pipeline_interface): Return zero always.
16615 (ia64_first_cycle_multipass_dfa_lookahead): Return 6 for the 2nd
16616 insn scheduling.
16617 (ia64_init_dfa_pre_cycle_insn): Initialize `dfa_state_size',
16618 `temp_dfa_state', `prev_cycle_state', and `dfa_stop_insn'.
16619 (ia64_reorg): Add bundling insns.
16620
16621 * doc/tm.texi
16622 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
16623 TARGET_SCHED_DFA_NEW_CYCLE): Describe the new hooks.
16624
16625 2002-09-23 Vladimir Makarov <vmakarov@redhat.com>
16626
16627 * config/ia64/ia64.md: Add Itanium1 DFA description.
16628 (itanium_class): Add `nop' and `pre_cycle'. Add
16629 define_function_unit for `nop'.
16630 (nop): Change attribute `itanium_class'.
16631 (pre_cycle): New define_insn.
16632
16633 * config/ia64/ia64-protos.h (bundling_p): New external variable.
16634 (ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
16635 ia64_produce_address_p): New function prototypes.
16636
16637 * config/ia64/ia64.c (bundling_p): New global variable.
16638 (ia64_use_dfa_pipeline_interface,
16639 ia64_first_cycle_multipass_dfa_lookahead,
16640 ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn): New
16641 functions.
16642 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
16643 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
16644 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
16645 TARGET_SCHED_DFA_PRE_CYCLE_INSN): New macros.
16646 (ia64_sched_init, ia64_sched_reorder, ia64_sched_reorder2,
16647 ia64_variable_issue, ia64_sched_finish): Do nothing before reload.
16648 (dfa_pre_cycle_insn): New variable.
16649
16650 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
16651
16652 * rtl.def (FINAL_PRESENCE_SET, FINAL_ABSENCE_SET): New
16653 constructions.
16654
16655 * genattrtab.h (gen_final_presence_set, gen_final_absence_set):
16656 New function prototypes.
16657
16658 * genattrtab.c (main): Process the new constructions.
16659
16660 * genautomata.c (gen_presence_absence_set,
16661 process_presence_absence_names, process_presence_absence_patterns,
16662 add_presence_absence, check_absence_pattern_sets): Add parameter
16663 `final_p'.
16664 (unit_decl): Add new members `final_presence_list' and
16665 `final_absence_list'.
16666 (unit_pattern_rel_decl): Add new member `final_p'.
16667 (gen_final_presence_set, gen_final_absence_set): New functions.
16668 (process_decls): Use member `final_p'.
16669 (temp_reserv): New global variable.
16670 (reserv_sets_are_intersected): Add processing `final_presence_set'
16671 and `final_absence_set'.
16672 (initiate_states): Allocate `temp_reserv'.
16673 (unit_final_presence_set_table, unit_final_absence_set_table): New
16674 gloabal variables.
16675 (initiate_presence_absence_pattern_sets): Initiate them.
16676 (NDFA_to_DFA): Fix typo.
16677 (output_description): Output `final_presence_set' and
16678 `final_absence_set'.
16679
16680 * doc/md.texi (final_presence_set, final_absence_set): Describe
16681 them.
16682
16683 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
16684
16685 * genautomata.c (transform_3): Process a missing case (nothing on
16686 unit place).
16687
16688 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
16689
16690 * rtl.def (DEFINE_QUERY_CPU_UNIT, AUTOMATA_OPTION): Change
16691 comments about queried units and the minimization.
16692
16693 * doc/md.texi: Ditto.
16694
16695 * genautomata.c (create_composed_state): Return nonzero if the new
16696 state has been created.
16697 (first_cycle_unit_presence): New function.
16698 (state_is_differed): Add new parameter. Use the new function.
16699 Take queried units into account.
16700 (partition_equiv_class): Pass additional parameter to
16701 `state_is_differed'.
16702 (merge_states): Process composed states too.
16703 (build_automaton, create_automata, output_min_issue_delay_table,
16704 output_tables, output_statistics): Output more information.
16705 (output_reserved_units_table): Use function
16706 `first_cycle_unit_presence'.
16707 (output_tables): Output table of queried units even if the
16708 minimization is switched on.
16709 (write_automata): Output code for querying units even if the
16710 minimization is switched on.
16711
16712 2002-09-19 Vladimir Makarov <vmakarov@redhat.com>
16713
16714 * rtl.def (PRESENCE_SET, ABSENCE_SET): Add comments about extended
16715 syntax of the constructions.
16716
16717 * doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
16718 extended syntax of the constructions.
16719
16720 * genautomata.c (unit_rel_decl): Rename it to
16721 `unit_pattern_rel_decl'.
16722 (pattern_set_el, pattern_reserv): New structures.
16723 (pattern_set_el_t, pattern_reserv_t): New types.
16724 (gen_presence_absence_set): New function.
16725 (process_presence_absence): Remove it.
16726 (process_presence_absence_names,
16727 process_presence_absence_patterns): New functions.
16728 (get_presence_absence_set): Remove it.
16729 (initiate_presence_absence_sets): Rename it on
16730 `initiate_presence_absence_pattern_sets'. Use new function
16731 `form_reserv_sets_list'.
16732 (form_reserv_sets_list, check_presence_pattern_sets,
16733 check_absence_pattern_sets, output_pattern_set_el_list): New
16734 functions.
16735 (unit_decl): Change types of members `presence_list' and
16736 `absence_list'.
16737 (unit_rel_decl): Rename member `names_num' to `all_names_num'.
16738 (decl): Change types of members `excl', `presence', and `absence'.
16739 (get_str_vect): Rename `par_flag' to `paren_p'. Add null element
16740 at the end of the vector.
16741 (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
16742 gen_automaton, gen_regexp_repeat, gen_regexp_allof,
16743 gen_regexp_oneof, gen_regexp_sequence): Use boolean values.
16744 (gen_presence_set, gen_absence_set): Use new function
16745 `gen_presence_absence_set'.
16746 (add_presence_absence): Process `pattern_list' instead of
16747 `source_list'.
16748 (process_decls): USe new functions
16749 `process_presence_absence_names' and
16750 `process_presence_absence_patterns'.
16751 (reserv_sets_are_intersected): Use new function
16752 `check_presence_pattern_sets'.
16753 (presence_set, absence_set): Remove them.
16754 (unit_presence_set_table, unit_absence_set_table): New global
16755 variables.
16756 (output_description): Use new function
16757 `output_pattern_set_el_list'.
16758 (generate): Use `initiate_presence_absence_pattern_sets'.
16759
16760 2002-09-18 Vladimir Makarov <vmakarov@redhat.com>
16761
16762 * genattr.c (main): Add output of prototype of new interface
16763 function `dfa_clean_insn_cache'.
16764
16765 * genautomata.c (output_dfa_clean_insn_cache_func): New function.
16766 (DFA_CLEAN_INSN_CACHE_FUNC_NAME): New macro.
16767 (output_dfa_start_func): Use function `dfa_clean_insn_cache' in
16768 the generated code.
16769 (write_automata): Call the new function.
16770
16771 2003-01-09 Jan Hubicka <jh@suse.cz>
16772
16773 * i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
16774 correctly.
16775
16776 2003-01-09 Paolo Carlini <pcarlini@unitus.it>
16777
16778 * doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
16779
16780 2003-01-09 J"orn Rennecke <joern.rennecke@superh.com>
16781
16782 * defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
16783 (EXTRA_ADDRESS_CONSTRAINT): Likewise.
16784 (CONSTRAINT_LEN): Provide default definition.
16785 (CONST_OK_FOR_CONSTRAINT_P): Likewise.
16786 (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise.
16787 (EXTRA_CONSTRAINT_STR): Likewise.
16788 (REG_CLASS_FROM_CONSTRAINT): Define.
16789 * genoutput.c (check_constraint_len, constraint_len): New functions.
16790 (validate_insn_alternatives): Check CONSTRAINT_LEN for each
16791 constraint / modifier.
16792 (gen_insn): Call check_constraint_len.
16793 * local-alloc.c (block_alloc): Update to use new macros / pass
16794 second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT.
16795 * ra-build.c (handle_asm_insn): Likewise.
16796 * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
16797 (constrain_operands, peep2_find_free_register): Likewise.
16798 * regclass.c (record_operand_costs, record_reg_classes): Likewise.
16799 * regmove.c (find_matches): Likewise.
16800 * reload.c (push_secondary_reload, find_reloads): Likewise.
16801 (alternative_allows_memconst): Likewise.
16802 * reload1.c (maybe_fix_stack_asms): Likewise.
16803 (reload_cse_simplify_operands): Likewise.
16804 * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
16805 * doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document.
16806 (CONST_OK_FOR_CONSTRAINT_P): Likewise.
16807 (CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise.
16808 (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument.
16809 * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise.
16810
16811 * sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
16812
16813 2003-01-09 Kazu Hirata <kazu@cs.umass.edu>
16814
16815 * config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn
16816 length.
16817 (*extzv_1_r_h8300hs): Likewise.
16818 (*extzv_1_r_inv_h8300): Likewise.
16819 (*extzv_1_r_inv_h8300hs): Likewise.
16820
16821 2003-01-09 Kazu Hirata <kazu@cs.umass.edu>
16822
16823 * config/h8300/h8300.h (PREDICATE_CODES): New.
16824
16825 2003-01-09 Kazu Hirata <kazu@cs.umass.edu>
16826
16827 * config/h8300/h8300.md (*addsi3_upper): New.
16828 (*iorsi3_shift): Likewise.
16829 (two splitters): Likewise.
16830 (*addsi3_shift): Likewise.
16831 (two splitters): Likewise.
16832
16833 2003-01-09 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
16834
16835 * Makefile.in (optabs.o): Add dependency on basic-block.h.
16836 * basic-block.h (control_flow_insn_p): Fuction was exported.
16837 * cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
16838 * optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
16839 notes only when the region is contained in a single basic block.
16840
16841 2003-01-09 Eric Botcazou <ebotcazou@libertysurf.fr>
16842
16843 PR inline-asm/8832
16844 * tree.h (expand_asm): New prototype.
16845 * stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
16846 to do so.
16847 * c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
16848 down to expand_asm.
16849 * c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
16850 * rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
16851 (volatile_refs_p) [ASM_INPUT]: Likewise.
16852 (side_effects_p) [ASM_INPUT]: Likewise.
16853
16854 2003-01-09 Jan Hubicka <jh@suse.cz>
16855
16856 * i386.md (*mul*): FIx constraints; remove confused comment; fix
16857 athlon_decode attributes
16858 (imul/k8 optimization peep2s): New.
16859
16860 * athlon.md (athlon_ssecmp*): Handle ssecomi as well.
16861 * i386.md (type attribute): Add ssecomi.
16862 (unit, memory, prefix attributes): Handle ssecomi.
16863 (cvt?2? patterns): Fix athlon_decode attribute
16864 (comi patterns): Set attribute to ssecomi.
16865
16866 PR target/8343
16867 * m68k.md (umulsidi, mulsidi expanders): Use register operand.
16868
16869 2003-01-09 Richard Sandiford <rsandifo@redhat.com>
16870
16871 * config/mips/mips.h (PREDICATE_CODES): Add ADDRESSOF for predicates
16872 that match register_operands.
16873 * config/mips/mips.c (reg_or_0_operand, true_reg_or_0_operand): Make
16874 register_operand the default case.
16875
16876 2003-01-09 Eric Botcazou <ebotcazou@libertysurf.fr>
16877
16878 PR c/8032
16879 * c-typeck.c (process_init_element) [RECORD_TYPE]: For
16880 an empty element, do not advance the pointer to unfilled
16881 fields if there are pending initializers.
16882
16883 2003-01-09 Christian Cornelssen <ccorn@cs.tu-berlin.de>
16884
16885 * Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
16886 (install-gcc-tooldir, install-cpp, installdirs,
16887 install-common, install-driver, install-info, install-man,
16888 install-headers, install-include-dir, install-headers-tar,
16889 install-headers-cpio, install-headers-cp, install-mkheaders,
16890 install-collect2, uninstall): Prepend $(DESTDIR) to
16891 destination paths in all (un)installation commands.
16892 (install-driver): Rewrite $(LN) commands to support DESTDIR
16893 with "ln" as well as with "ln -s".
16894 (installdirs): Simply use mkinstalldirs.
16895 (install-libgcc, install-multilib): Also pass DESTDIR.
16896 * mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
16897 installation destination variable ldir.
16898 * config/alpha/t-osf4, config/arm/t-netbsd,
16899 config/ia64/t-hpux, config/mips/t-iris5-6,
16900 config/pa/t-hpux-shlib, config/rs6000/t-aix43,
16901 config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
16902 config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
16903 in the definition of SHLIB_INSTALL.
16904 * config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
16905 $(libsubdir) in the installation commands.
16906
16907 2003-01-08 Kaz Kojima <kkojima@gcc.gnu.org>
16908
16909 * config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a
16910 non-optimizing compile.
16911 (ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing
16912 compile.
16913
16914 2003-01-08 Douglas B Rupp <rupp@gnat.com>
16915
16916 * config/i386/i386.c (ix86_attribute_table): Add new attributes
16917 ms_struct and gcc_struct.
16918 (ix86_handle_struct_attribute): New function.
16919 (ix86_ms_bitfield_layout_p): Update to take new attributes
16920 into account.
16921 * doc/extend.texi: Document new attributes.
16922 * testsuite/gcc.dg/bf-ms-attrib.c: New test.
16923
16924 2003-01-08 Danny Smith <dannysmith@users.sourceforge.net>
16925
16926 PR optimization/8750
16927 * config/i386/i386.c (ix86_expand_prologue): Don't allow
16928 scheduling pass to move insns across __alloca call.
16929
16930 2003-01-08 Dale Johannesen <dalej@apple.com>
16931
16932 * config/rs6000/rs6000.md: Replace *store_multiple_string
16933 with *stmsi[3-8].
16934
16935 2003-01-08 Jeff Sturm <jsturm@one-point.com>
16936
16937 PR target/9210
16938 * config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
16939 Set SYMBOL_REF_FLAG on local data sym_ref.
16940
16941 2003-01-08 Dale Johannesen <dalej@apple.com>
16942
16943 * function.c (assign_parms): Don't set pretend_args_size if
16944 REG_PARM_STACK_SPACE.
16945 config/rs6000/rs6000.c (setup_incoming_varargs): Don't set
16946 pretend_args_size.
16947
16948 2003-01-08 Nathanael Nerode <neroden@gcc.gnu.org>
16949
16950 * gcc.hlp: Delete.
16951
16952 2003-01-09 Jan Hubicka <jh@suse.cz>
16953
16954 * i386.c (ix86_expand_int_addcc): Fix thinko.
16955
16956 2003-01-08 David Edelsohn <edelsohn@gnu.org>
16957
16958 * config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
16959 * config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
16960 as hook_bool_tree_hwi_hwi_tree_true.
16961 (rs6000_emit_allocate_stack): Use TARGET_32BIT.
16962 (rs6000_emit_epilogue): Same.
16963 (rs6000_output_mi_thunk): Re-implement as RTL.
16964 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
16965 xcoffout_declare_function if any debugging enabled.
16966
16967 2003-01-08 Chris Demetriou <cgd@broadcom.com>
16968
16969 * config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
16970 targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
16971 * config/mips/mips.h (enum processor_type): Rename
16972 PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
16973 PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
16974 Add PROCESSOR_M4K.
16975 (TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
16976 (ISA_MIPS32R2): New define.
16977 (GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
16978 (ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
16979 (ISA_HAS_PREFETCH): Add support for MIPS32R2.
16980 (MIPS_ISA_DEFAULT): Likewise. Also, fix indentation.
16981 (TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2. Add new
16982 predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
16983 (ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
16984 compiling MIPS16 code.
16985 (ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
16986 comment.
16987 (ISA_HAS_SEB_SEH): New define.
16988 (ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
16989 * config/mips/mips.c (mips_cpu_info_table): Adjust for enum
16990 processor_type value renaming. Add support for MIPS32R2.
16991 Clean up comments, and move "sb1" entry with other MIPS64 CPU
16992 entries.
16993 (override_options): Reimplement -mipsN option handling so that
16994 it will work correctly for -mips32r2. Avoid branch-likely
16995 instructions on MIPS32R2.
16996 * config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
16997 (extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
16998 (extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
16999 (extendhisi2_hw, extendqisi2_hw): New.
17000 * config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
17001 for MIPS32R2. Add new predefine __mips_isa_rev for MIPS32,
17002 MIPS32R2, and MIPS64.
17003 (LINK_SPEC): Pass -mips32r2 to linker.
17004 * config/mips/t-isa3264: Built -mips32r2 multilibs.
17005 * doc/invoke.texi (MIPS Options): Add -mips32r2, add support
17006 for mips32r2 in the -march description. Alphabetically sort
17007 CPU names in the -march description. Add long-missed -mips32
17008 and -mips64 to MIPS option summary.
17009
17010 * config.gcc: Update copyright years to include 2003.
17011 * config/mips/mips.c: Likewise.
17012 * config/mips/mips.h: Likewise.
17013 * config/mips/mips.md: Likewise.
17014 * config/mips/netbsd.h: Likewise.
17015 * doc/invoke.texi: Likewise.
17016
17017 2003-01-08 Andreas Schwab <schwab@suse.de>
17018
17019 * aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
17020 variable.
17021 * configure: Regenerated.
17022
17023 2003-01-08 Kazu Hirata <kazu@cs.umass.edu>
17024
17025 * config/h8300/h8300.c (output_logical_op): Replace byte/word
17026 extraction of det with b0, b1, w0, w2, etc.
17027 (compute_logical_op_length): Likewise.
17028 (compute_logical_op_cc): Likewise.
17029
17030 2003-01-08 Kazu Hirata <kazu@cs.umass.edu>
17031
17032 * config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
17033 HIGH on all variants.
17034
17035 2003-01-08 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
17036
17037 * Makefile.in (PARTITION_H): New.
17038 (BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
17039 * basic-block.h: Include hard-reg-set.h.
17040
17041 2003-01-08 Richard Earnshaw <rearnsha@arm.com>
17042
17043 * arm.h (ENABLE_XF_PATTERNS): Delete.
17044 * arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
17045 (sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
17046 (extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
17047 (cmpxf_trap): Delete.
17048 (movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
17049
17050 2003-01-08 Jan Hubicka <jh@suse.cz>
17051
17052 * i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
17053 (addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
17054 (add??cc): New expanders.
17055 * i386.c (expand_int_addcc): New function.
17056 * i386-protos.h (expand_int_addcc): Declare.
17057
17058 * alias.c (memory_modified_1): New static function.
17059 (memory_modified): New static varaible.
17060 (memory_modified_in_insn_p): New global function.
17061 * rtl.h (memory_modified_in_insn_p): Declare.
17062 * rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
17063 references.
17064
17065 * expr.h (emit_conditional_add): Declare.
17066
17067 2003-01-07 Janis Johnson <janis187@us.ibm.com>
17068
17069 PR other/8947
17070 * doc/invoke.texi (-malign-double): Explain that the option breaks
17071 binary compatibility.
17072
17073 2003-01-08 Andreas Schwab <schwab@suse.de>
17074
17075 * config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
17076 should come from the generic *-*-linux* entry.
17077
17078 2003-01-07 Jan Hubicka <jh@suse.cz>
17079
17080 * cselib.c (cselib_current_insn_in_libcall): New static variable.
17081 (new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
17082 we are inside libcall.
17083 * cselib.h (elt_loc_list): Add in_libcall.
17084 * gcse.c (do_local_cprop): Do not copy propagate using insns
17085 in libcalls.
17086
17087 2003-01-07 David Edelsohn <edelsohn@gnu.org>
17088
17089 * doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
17090 not normally affect to issue rate.
17091
17092 2003-01-07 Jan Hubicka <jh@suse.cz>
17093
17094 * genopinit.c (optabs): Add addc_optab.
17095 * ifcvt.c (noce_try_store_flag): Rename to ...
17096 (noce_try_addcc): ... this one; handle generic conditional increment.
17097 (noce_process_if_block): Update noce_try_addcc call.
17098 * optabs.c (emit_conditional_add): New.
17099 (init_obtabs): Initialize addc_optab.
17100 * optabs.h (optab_index): Add OTI_addcc.
17101 (addcc_optab): New macro.
17102 * md.texi: Document addMcc
17103
17104 PR target/8322
17105 * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
17106 * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
17107 * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
17108
17109 * reload1.c (delete_output_reload): Avoid repeated attempts
17110 to delete insn.
17111
17112 2003-01-07 Andreas Schwab <schwab@suse.de>
17113
17114 * configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
17115 Move --enable-initfini-array check ...
17116 * aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here. Define
17117 HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
17118 Don't AC_SUBST gcc_cv_initfinit_array. Use AC_TRY_RUN.
17119 * configure: Rebuild.
17120
17121 2003-01-07 Richard Henderson <rth@redhat.com>
17122
17123 * alias.c (find_base_value): Only use new_reg_base_value shortcut
17124 if the register is set once.
17125
17126 2003-01-07 Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
17127
17128 * config/i386/i386.c (ix86_init_mmx_sse_builtins):
17129 __builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
17130 * config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
17131
17132 2003-01-07 Benjamin Kosnik <bkoz@redhat.com>
17133 Sunil Davasam <sunil.k.davasam@intel.com>
17134
17135 PR libstdc++/9076
17136 * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
17137 DW_CFA_same_value, read next and ignore.
17138
17139 2003-01-07 Richard Henderson <rth@redhat.com>
17140
17141 * cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
17142
17143 2003-01-07 Daniel Berlin <dberlin@dberlin.org>
17144
17145 * cfg.c: Include alloc-pool.h
17146 (edge_pool): New pool.
17147 (bb_pool): New pool.
17148 (first_deleted_edge): Remove.
17149 (first_deleted_block): Remove.
17150 (init_flow): Alloc/free the pools.
17151 (free_edge): Use pools.
17152 (alloc_block): Ditto.
17153 (expunge_block): Ditto.
17154 (cached_make_edge): Ditto.
17155
17156 * Makefile.in (cfg.o): Add alloc-pool.h dependency.
17157
17158 2003-01-07 Daniel Berlin <dberlin@dberlin.org>
17159
17160 * et-forest.c: Include alloc-pool.h.
17161 (struct et_forest): Add node_pool and occur_pool.
17162 (et_forest_create): Create the new pools.
17163 (et_forest_delete): Delete them.
17164 (et_forest_add_node): Allocate and free using pools.
17165 (et_forest_add_edge): Ditto.
17166 (et_forest_remove_node): Ditto.
17167 (et_forest_remove_edge): Ditto.
17168
17169 * Makefile.in (et-forest.o): Add alloc-pool.h dependency.
17170
17171 2003-01-07 Kazu Hirata <kazu@cs.umass.edu>
17172
17173 * config/h8300/h8300.c (output_logical_op): Simplify and
17174 optimize the handling of SImode.
17175 * config/h8300/h8300.c (compute_logical_op_length): Update
17176 accordingly.
17177 * config/h8300/h8300.c (compute_logical_op_cc): Likewise.
17178
17179 2003-01-07 Richard Sandiford <rsandifo@redhat.com>
17180
17181 * config/mips/mips.c (mips_va_arg): In the EABI code, apply the
17182 big-endian correction to indirect arguments too.
17183
17184 2003-01-06 Aldy Hernandez <aldyh@redhat.com>
17185
17186 Segher Boessenkool <segher@koffie.nl>
17187
17188 * config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
17189 (alt_reg_names): Ditto, fix formatting.
17190 * config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
17191
17192 2003-01-06 Kazu Hirata <kazu@cs.umass.edu>
17193
17194 * config/h8300/h8300.c (final_prescan_insn): Constify uid.
17195 (output_logical_op): Constify intval and det.
17196 (compute_logical_length): Likewise.
17197 (compute_logical_cc): Likewise.
17198 (output_a_shift): Constify mask.
17199 (h8300_encode_label): Constify len.
17200
17201 2003-01-06 Kazu Hirata <kazu@cs.umass.edu>
17202
17203 * config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
17204 (h8300_expand_epilogue): Likewise.
17205
17206 2003-01-06 Aldy Hernandez <aldyh@redhat.com>
17207
17208 Segher Boessenkool <segher@koffie.nl>
17209
17210 * config/rs6000/altivec.md: Remove spaces from assembler
17211 instruction argument lists.
17212
17213 2003-01-07 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
17214
17215 * config/c4x/c4x.c (c4x_naked_function_p): Rename from
17216 c4x_assembler_function_p.
17217 (c4x_null_epilogue_p): Complement return value, all uses updated.
17218 (c4x_insert_attributes): Add naked.
17219 * config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
17220 * doc/extend.texi: Update C4x function attributes.
17221
17222 2003-01-06 Richard Henderson <rth@redhat.com>
17223
17224 * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
17225 properly when changing "local-ness".
17226 * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
17227
17228 2003-01-06 Dale Johannesen <dalej@apple.com>
17229
17230 * config/darwin-protos.h: Add prototypes for new section functions.
17231
17232 2003-01-06 Chris Demetriou <cgd@broadcom.com>
17233
17234 * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
17235 to EABI.
17236
17237 2003-01-06 Zack Weinberg <zack@codesourcery.com>
17238
17239 * hwint.h: If the current compiler has no 64-bit type at all,
17240 make HOST_WIDEST_INT 32 bits.
17241
17242 2003-01-06 Eric Christopher <echristo@redhat.com>
17243
17244 * config/mips/mips.md (movdf_internal2): Fix constraints.
17245
17246 2003-01-06 Kazu Hirata <kazu@cs.umass.edu>
17247
17248 * config/h8300/h8300.md (*twoshifts_l16_r1): New.
17249
17250 2003-01-06 Richard Sandiford <rsandifo@redhat.com>
17251
17252 * config/mips/mips.md (leadi): Use dla rather than la.
17253
17254 2003-01-06 Svein E. Seldal <Svein.Seldal@solidas.com>
17255
17256 * config/c4x/c4x.h: Updated specs for new gas format. Fixed bug
17257 in C33_FLAG. Added proper C33 support in ASM_FILE_START macro.
17258
17259 2003-01-06 Herman A.J. ten Brugge <hermantenbrugge@home.nl>
17260
17261 * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
17262 redefinition.
17263
17264 2003-01-05 Kazu Hirata <kazu@cs.umass.edu>
17265
17266 * config/h8300/h8300.md (*extzv_8_23): New.
17267
17268 2003-01-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
17269
17270 * pa64-hpux.h (JCR_SECTION_NAME): Define.
17271 (PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
17272 USE_EH_FRAME_REGISTRY when defining.
17273
17274 2003-01-05 Kazu Hirata <kazu@cs.umass.edu>
17275
17276 * config/h8300/h8300.c (output_a_shift): Do not output a
17277 variable shift.
17278 * config/h8300/h8300.md (two splitters): New.
17279
17280 2003-01-05 Richard Sandiford <rsandifo@redhat.com>
17281
17282 * config/mips/mips.md: Disable the movstrsi define_split.
17283
17284 2003-01-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17285
17286 * alloc-pool.c: Don't include "libiberty.h".
17287 * config/sparc/gmon-sol2.c: Include <fcntl.h>.
17288 * convert.c (convert_to_real): Hide unused variable.
17289
17290 2003-01-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17291
17292 * Makefile.in (gtyp-gen.h): Const-ify.
17293 * gcov-dump.c (tag_table): Likewise.
17294
17295 2003-01-04 Bruce Korb <bkorb@gnu.org>
17296
17297 * fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
17298 of *both* the file name and the fix name.
17299
17300 2003-01-04 John David Anglin <dave.anglin@nrc.ca>
17301
17302 * config.gcc (hppa*64*-*-hpux11*): Define extra_parts. Don't use
17303 collect2.
17304 * pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
17305 (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
17306 * pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
17307 GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
17308 GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
17309 (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
17310 elfos.h.
17311 (EH_FRAME_IN_DATA_SECTION): Delete define.
17312 (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
17313 (STARTFILE_SPEC): Use crtbegin.o.
17314 (ENDFILE_SPEC): Use crtend.o.
17315 (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
17316 SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
17317 PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
17318 DTOR_LIST_BEGIN): Define.
17319 * pa.c (TARGET_ASM_CONSTRUCTOR): Define.
17320 (pa_asm_out_constructor, pa_asm_out_destructor): New functions.
17321 * som.h (SUPPORTS_INIT_PRIORITY): Delete define.
17322
17323 2002-12-31 Larin Hennessy <larin@science.oregonstate.edu>
17324
17325 * fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
17326 * fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
17327 m88k-*-sysv3*, Sony NewsOS. Remove references to i860.
17328 Cleanup handling of replacement text.
17329 * fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
17330
17331 2003-01-04 Bruce Korb <bkorb@gnu.org>
17332
17333 * fixinc/tests/base/math.h: removed obsolete results
17334 * fixinc/tests/base/stdlib.h: ditto
17335 * fixinc/tests/base/sys/param.h: ditto
17336 * fixinc/tests/base/sys/stat.h: ditto
17337 * fixinc/tests/base/time.h: ditto
17338 * fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
17339 * fixinc/tests/base/sys/byteorder.h: ditto
17340 * fixinc/inclhack.def: Remove superfluous backslashes
17341
17342 2003-01-04 Kazu Hirata <kazu@cs.umass.edu>
17343
17344 * config/h8300/h8300-protos.h: Add prototypes for
17345 the new functions defined below.
17346 * config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
17347 define.
17348 (dosize): Emit RTL instead of assembly code.
17349 (push): Likewise.
17350 (pop): Likewise.
17351 (h8300_output_function_prologue): Remove.
17352 (h8300_expand_prologue): New.
17353 (h8300_expand_epilogue): New.
17354 (h8300_output_function_epilogue): Do only the reset of
17355 pragma_saveall.
17356 * config/h8300/h8300.md (push_h8300): New.
17357 (push_h8300hs): Likewise.
17358 (pop_h8300): Likewise.
17359 (pop_h8300hs): Likewise.
17360 (*stm_h8300s_2): Change the name to stm_h8300s_2.
17361 (*stm_h8300s_3): Change the name to stm_h8300s_3.
17362 (*stm_h8300s_4): Change the name to stm_h8300s_4.
17363 (*ldm_h8300s_2): New.
17364 (*ldm_h8300s_3): Likewise.
17365 (*ldm_h8300s_4): Likewise.
17366 (return): Likewise.
17367 (*return_1): Likewise.
17368 (prologue): Likewise.
17369 (epilogue): Likewise.
17370 (monitor_prologue): Likewise.
17371
17372 2003-01-03 Dale Johannesen <dalej@apple.com>
17373
17374 * config/darwin.h: (EXTRA_SECTIONS): Add machopic_symbol_stub1,
17375 machopic_picsymbol_stub1.
17376 (EXTRA_SECTION_FUNCTIONS): Ditto.
17377 * rs6000/rs6000.c: Update copyright.
17378 (machopic_output_stub): Use them. Remove an insn from stub code.
17379
17380 2003-01-02 Jason Merrill <jason@redhat.com>
17381
17382 * fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
17383
17384 * integrate.c (copy_decl_for_inlining): Don't clear the rtl for
17385 static/external decls.
17386
17387 * c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
17388 outermost scope.
17389 * c-decl.c (c_make_fname_decl): Push the decls there, too.
17390
17391 2003-01-03 Kazu Hirata <kazu@cs.umass.edu>
17392
17393 * config/h8300/h8300-protos.h: Add a prototype for
17394 h8300_current_function_interrupt_function_p.
17395 * config/h8300/h8300.c (interrupt_handler): Remove.
17396 (os_task): Likewise.
17397 (monitor): Likewise.
17398 (pragma_interrupt): New.
17399 (WORD_REG_USED): Use
17400 h8300_current_function_interrupt_function_p.
17401 (dosize): Likewise.
17402 (h8300_output_function_prologue): Likewise.
17403 Do not set interrupt_handler, os_task, monitor.
17404 (h8300_output_function_prologue): Use
17405 h8300_current_function_interrupt_function_p.
17406 Do not set interrupt_handler, os_task, monitor.
17407 (h8300_current_function_interrupt_function_p): New.
17408 (h8300_pr_interrupt): Set pragma_interrupt.
17409 (h8300_insert_attributes): Reset pragma_interrupt.
17410
17411 2003-01-03 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
17412
17413 * doc/install.texi (Configuration): Fix markup for reference to
17414 gcc/config.gcc.
17415
17416 2003-01-02 Kazu Hirata <kazu@cs.umass.edu>
17417
17418 * config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
17419 (*iorhi3_two_qi): Likewise.
17420 (*iorsi3_zexthi): Likewise.
17421 (*xorhi3_zextqi): Likewise.
17422 (*xorsi3_zexthi): Likewise.
17423 (*xorsi3_zextqi): Likewise.
17424
17425 2003-01-02 Kazu Hirata <kazu@cs.umass.edu>
17426
17427 * config/h8300/h8300.c (stack_pointer_operand): New.
17428 (const_int_gt_2_operand): Likewise.
17429 (const_int_ge_8_operand): Likewise.
17430 * config/h8300/h8300.md (a splitter): Likewise.
17431 (a peephole2): Likewise.
17432 * config/h8300/h8300-protos.h: Add prototypes for the new
17433 functions above.
17434
17435 2003-01-02 Steven Bosscher <s.bosscher@student.tudelft.nl>
17436
17437 * objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
17438 objc/objc-act.h: Fix copyright years.
17439
17440 2003-01-02 Steven Bosscher <s.bosscher@student.tudelft.nl>
17441
17442 * doc/passes.texi: Fix documentation for -fssa-ccp
17443
17444 2003-01-02 Neil Booth <neil@daikokuya.co.uk>
17445
17446 * gccbug.in: Update for new categories.
17447
17448 2003-01-01 Kazu Hirata <kazu@cs.umass.edu>
17449
17450 * config/h8300/h8300.md: Reorder some patterns.
17451
17452 2003-01-01 Kazu Hirata <kazu@cs.umass.edu>
17453
17454 * config/h8300/h8300.c (output_logical_op): Fix a warning.
17455
17456 2003-01-01 Neil Booth <neil@daikokuya.co.uk>
17457
17458 * config/darwin-protos.h, config/c4x/c4x-protos.h,
17459 config/cris/cris-protos.h, config/i370/i370-protos.h,
17460 config/i960/i960-protos.h, config/ia64/ia64-protos.h,
17461 config/v850/v850-protos.h: Use struct, and don't conditionally
17462 compile on GCC_C_PRAGMA_H.
17463
17464 2003-01-01 Kazu Hirata <kazu@cs.umass.edu>
17465
17466 * config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
17467 * config/h8300/h8300-protos.h: Likewise.
17468 * config/sh/sh-protos.h: Likewise.
17469
17470 2003-01-01 Kazu Hirata <kazu@cs.umass.edu>
17471
17472 * config/arm/arm-protos.h: Use struct cpp_reader instead of
17473 cpp_reader.
17474 * config/h8300/h8300-protos.h: Likewise.
17475 * config/sh/sh-protos.h: Likewise.
17476
17477 2003-01-01 Neil Booth <neil@daikokuya.co.uk>
17478
17479 * config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
17480 arm_pr_long_calls_off): Use struct.
17481 * config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
17482 : Similarly.
17483 Don't include cpplib.h.
17484 * config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
17485 sh_pr_nosave_low_regs): Similarly.
17486
17487 2003-01-01 Kazu Hirata <kazu@cs.umass.edu>
17488
17489 * config/h8300/h8300.c: Include cpplib.h.
17490
17491 2003-01-01 Steven Bosscher <s.bosscher@student.tudelft.nl>
17492
17493 * objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
17494 objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
17495 objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
17496 "GCC" in the copyright header.
17497
17498 2003-01-01 Neil Booth <neil@daikokuya.co.uk>
17499
17500 * c-pragma.c (c_register_pragma): New.
17501 (init_pragma): Use it.
17502 * c-pragma.h (cpp_register_pragma): Don't declare.
17503 (c_register_pragma): New.
17504 * cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
17505 * config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
17506 * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
17507 * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
17508 * config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
17509 * config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
17510 * config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
17511 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
17512 * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
17513 * config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
17514 * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
17515 * doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
17516
17517 See ChangeLog.8 for earlier changes.