]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
* rtl.c (get_mode_alignment): Moved to...
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
52717541 12003-01-26 Alexandre Oliva <aoliva@redhat.com>
2
1a3e3a66 3 * rtl.c (get_mode_alignment): Moved to...
4 * stor-layout.c: ... here.
5
52717541 6 * print-rtl.c (print_rtx): Don't print MEM details in
7 GENERATOR_FILEs.
8
adb4084e 92003-01-26 Michael Hayes <mph@paradise.net.nz>
10
11 * df.h: Update comments, tidy formatting.
12 (DF_FORWARD, DF_REVERSE, DF_UNION, DF_INTERSECTION): Rename from FORWARD,
13 REVERSE, UNION, INTERSECTION. All uses updated.
14 (OLD_DF_INTERFACE): Remove.
15 (struct insn_info): Remove commented out insn field.
16 * df.c: Update comments, tidy formatting.
17 (df_def_table_realloc): Remove.
18
19
6e96b626 202003-01-26 Alan Modra <amodra@bigpond.net.au>
21
22 * calls.c (save_fixed_argument_area): Tidy.
23 (restore_fixed_argument_area): Tidy. Set alignment of stack_area.
24 (expand_call): Comment typo fixes. Don't init low_to_save. Start
25 call chain loop at 1 if !try_tail_call. Formatting.
26 (emit_library_call_value_1): Don't init low_to_save or high_to_save.
27 Use save_fixed_argument_area and restore_fixed_argument_area.
28
29f06995 292003-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
30
31 * df.c (df_uses_record): Handle CC0.
32
b51061d4 332003-01-25 Ulrich Weigand <uweigand@de.ibm.com>
34
35 * reload.c (maybe_memory_address_p): New function.
36 (find_reloads_address): Use it instead of memory_address_p.
37
cea53e0a 382003-01-25 Kaz Kojima <kkojima@gcc.gnu.org>
39
40 * final.c (shorten_branches): Align the address of code label
41 when computing initial lengths and addresses.
42
485e00f7 432003-01-25 Kazu Hirata <kazu@cs.umass.edu>
44
45 * config/m68hc11/m68hc11.md: Fix a comment typo.
46
6e8138db 472003-01-25 Andreas Jaeger <aj@suse.de>
48
49 * config/i386/i386.c (x86_output_mi_thunk): Correct test for
50 TARGET_MACHO.
51
8724a717 522003-01-25 Roger Sayle <roger@eyesopen.com>
53
54 * gcse.c (bypass_last_basic_block): New global variable.
55 (bypass_block): Use redirect_edge_and_branch_force to redirect
56 fall-through edges. Use bypass_last_basic_block to determine
57 which blocks have valid PRE information.
58 (bypass_conditional_jumps): Initialize bypass_last_basic_block.
59
69010836 60Sat Jan 25 22:31:59 CET 2003 Jan Hubicka <jh@suse.cz>
61
62 * gcse.c (local_cprop_pass): Update reg_sets table when needed.
63
819f2ab7 64Sat Jan 25 21:04:33 CET 2003 Jan Hubicka <jh@suse.cz>
65 Eric Botcazou <ebotcazou@libertysurf.fr>
66 PR opt/8492
67 * gcse.c (one_cprop_pass): Delete unreachable blocks.
68
4004adf0 692003-01-25 Richard Henderson <rth@redhat.com>
70
71 * config/ia64/ia64.c (ia64_rwreloc_select_rtx_section): Rename
72 from ia64_aix_select_rtx_section.
73 (ia64_rwreloc_select_section): Simlarly; use default*_1 function
74 instead of saving and restoring flag_pic.
75 (ia64_rwreloc_unique_section): Similarly.
76 * config/ia64/aix.h (TARGET_ASM_SELECT_SECTION,
77 TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Update.
78 * config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION,
79 TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): New.
80
33a9c2d6 812003-01-25 Kazu Hirata <kazu@cs.umass.edu>
82
83 * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Update a
84 comment.
85
f9e39de2 862002-01-25 Richard Henderson <rth@redhat.com>
87
88 * config/m68k/m68k-none.h (ASM_SPEC): Adjust inter-option spacing.
89
ed8b73b3 902002-01-25 Kelley Cook <kelleycook@comcast.net>
91
92 * ggc-simple.c (debug_ggc_tree): Add PTR cast.
93
e5c8f082 942003-01-25 Segher Boessenkool <segher@koffie.nl>
95
96 * bitmap.h (BITMAP_WORD): New typedef: fundamental storage
97 type for bitmaps. Use unsigned long.
98 (nBITMAP_WORD_BITS): New macro.
99 (BITMAP_WORD_BITS): New macro.
100 (rest of file): Use it.
101 * bitmap.c: Use it.
102
47c83366 1032003-01-25 Richard Henderson <rth@redhat.com>
104
105 2002-02-19 Robert Lipe <robertlipe@usa.net>
106 * config/i386/t-sco5gas: (CRTSTUFF_T_CFLAGS_S): Delete -mcoff.
107
ea06a334 1082002-01-25 Roger Sayle <roger@eyesopen.com>
109
110 * builtins.c (purge_builtin_constant_p): Scan insn stream
111 sequentially rather than by basic block.
112 * function.c (purge_addressof): Simplify test with INSN_P.
113
ba0688f3 1142003-01-25 Kazu Hirata <kazu@cs.umass.edu>
115
47c83366 116 * combine.c (simplify_comparison, case AND): Remove a redundant test.
ba0688f3 117
e6f295fb 1182002-01-25 Roger Sayle <roger@eyesopen.com>
119
120 * function.h (struct function): New field calls_constant_p.
121 (current_function_calls_constant_p): New macro for above.
122 * function.c (prepare_function_start): Initialize calls_eh_return
123 and calls_constant_p.
124 * builtins.c (expand_builtin_constant_p): Set calls_constant_p.
125 * toplev.c (rest_of_compilation): Only call purge_builtin_constant_p
126 when the current_function_calls_constant_p.
127 * integrate.c (expand_inline_function): Set calls_constant_p if
128 the function being inlined has calls_constant_p set.
129
34863464 1302002-01-25 Roger Sayle <roger@eyesopen.com>
131
132 * cse.c (fold_rtx): Instantiate CONSTANT_P_RTX to 0 when not
133 optimizing, even if flag_gcse is true.
134 * toplev.c (rest_of_compilation): purge_builtin_constant_p
135 only needs to be called when "optimize > 0 && flag_gcse".
136
315e4c10 1372003-01-25 Roger Sayle <roger@eyesopen.com>
138
139 * stmt.c (emit_case_bit_tests): New routine to implement suitable
140 switch statements using the equivalent of "if ((1<<x) & cst) ... ".
141 (case_bit_test_cmp): New comparison function for "qsort" to order
142 case_bit_tests by decreasing number of destination nodes.
143 (lshift_cheap_p): New function to determine if "1 << x" is cheap.
144 (expand_end_case_type): Use emit_case_bit_tests to implement
145 suitable switch statments.
146 (CASE_USE_BIT_TESTS): New target macro to disable the above.
147 * Makefile.in (stmt.o): Add dependency on optab.h.
148 * doc/tm.texi (CASE_USE_BIT_TESTS): Document new target macro.
149
1aa28b70 1502003-01-23 Andreas Schwab <schwab@suse.de>
151
152 * config/ia64/crtend.asm [HAVE_INITFINI_ARRAY]: Make
153 __do_global_ctors_aux hidden global and don't put it in
154 .init_array.
155 * config/ia64/crtbegin.asm [HAVE_INITFINI_ARRAY]: Put it here
156 instead so that it comes first.
157
3e57036d 158Sat Jan 25 16:11:22 CET 2003 Jan Hubicka <jh@suse.cz>
159
160 * df.c (read_modify_subreg_p): When osize == UNITS_PER_WORD,
161 subreg is read/modify.
162
65e8d683 163Sat Jan 25 15:55:08 CET 2003 Jan Hubicka <jh@suse.cz>
164
165 * i386.c (ix86_expand_movstr, ix86_expand_clrstr): Consistently
166 do libcall for large blocks.
167 * i386.md (comi patterns): Set type to ssecomi.
168 (sse2_unpck?pd): Fix mode of vec_select.
169
170 * cse.c: Include except.h
171 (cse_set_around_loop): Do not create new basic blocks.
172 * Makefile.in (cse.o): Add dependnecy on except.h
173
6528f4f4 174Sat Jan 25 12:05:17 CET 2003 Jan Hubicka <jh@suse.cz>
175
176 * builtins.c (fold_trunc_transparent_mathfn): New function.
177 (fold_builtin): Use it.
178 * convert.c (convert_to_real): Re-enable code to convert
179 math functions; add support for floor familly functions.
180
c2c8a10e 1812003-01-25 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
182
183 * Makefile.in (cfgloop.o, cfgloopanal.o, cfgloopmanip.o): Add
184 dependencies on coretypes.h and $(TM_H).
185
28c09010 186Sat Jan 25 11:10:03 CET 2003 Jan Hubicka <jh@suse.cz>
187
188 * builtins.c (fold_trunc_transparent_mathfn): Undo accidental commit.
189
973af6a2 1902002-01-24 Stuart Hastings <stuart@apple.com>
191
aa31316b 192 * config/i386/i386.c (x86_output_mi_thunk): Add Darwin/x86 support.
973af6a2 193
0a55f764 1942003-01-25 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
195
196 * config/c4x/c4x.md (UNSPEC_BU): New constants.
197 (UNSPEC_RPTS, UNSPEC_LSH, UNSPEC_CMPHI, UNSPEC_RCPF): Likewise.
198 (UNSPEC_RND, UNSPEC_RPTB_FILL, UNSPEC_LOADHF_INT): Likewise.
199 (UNSPEC_STOREHF_INT, UNSPEC_RSQRF, UNSPEC_LOADQF_INT): Likewise.
200 (UNSPEC_STOREQF_INT, UNSPEC_LDIV, UNSPEC_PUSH_ST): Likewise.
201 (UNSPEC_POP_ST, UNSPEC_PUSH_DP, UNSPEC_POP_DP): Likewise.
202 (UNSPEC_POPQI, UNSPEC_POPQF, UNSPEC_ANDN_ST): Likewise.
203 (UNSPEC_RPTB_INIT, UNSPEC_TOIEEE, UNSPEC_FRIEEE): Likewise.
204
ca74b940 205Fri Jan 24 23:44:12 CET 2003 Jan Hubicka <jh@suse.cz>
206
aa31316b 207 * emit-rtl.c (reg_attrs_htab): New static variable.
ca74b940 208 (reg_attrs_htab_hash, reg_attrs_htab_eq, get_reg_attrs): New static
209 functions.
210 (reg_rtx): Do not maintain regno_decl.
211 (gen_rtx_REG_offset, set_reg_attrs_from_mem, set_delc_rtx,
212 set_mem_attrs_from_reg): New global function.
213 (init_emit): Do not initialize regno_decl.
214 (init_emit_once): initialize reg_attrs_htab.
215 * final.c (alter_subreg): Do not replace REG by SUBREG.
216 (gen_mem_expr_from_op): Improve output.
217 (output_asm_operands): Likewise.
218 * function.c (assign_params): Do not set REGNO_DECL.
219 * function.h (struct function): Kill regno_decl.
220 (REGNO_DECL): Kill.
221 * gengtype.c (adjust_field_rtx_def): Handle new field of reg.
222 * print_rtl.c (print_rtx): Output REG information.
223 * regclass.c (reg_scan_mark_refs): Update attrs.
224 * reload1.c (alter_reg): Likewise.
225 * simplify_rtx.c (simplify_subreg): Likewise.
226 * stmt.c (expand_decl): Likewise.
227 * rtl.def (REG): Add new field.
228 * rtl.h (struct reg_attrs): New.
229 (rtunion_def): At rtreg.
230 (X0MEMATTR): Add checking.
231 (X0REGATTR, REG_ATTRS, REG_EXPR, REG_OFFSET): New macro.
232 (set_reg_attrs_from_mem, set_mem_attrs_from_reg, gen_rtx_REG_offset):
233 Declare.
234 * tree.h (SET_DECL_RTL): Call set_decl_rtl.
235
a6169f06 2362003-01-24 Bob Wilson <bob.wilson@acm.org>
237
238 * config/xtensa/xtensa.c: Remove unused include of machmode.h.
239 (xtensa_emit_call, print_operand): Fix printf format strings
240 to avoid compile warnings.
241 (xtensa_function_prologue, xtensa_function_epilogue): Change type
242 of "size" argument to HOST_WIDE_INT to fix compile warnings.
243 * config/xtensa/xtensa-protos.h
244 (xtensa_function_prologue, xtensa_function_epilogue): Ditto.
245
0a68165a 246Fri Jan 24 23:03:32 CET 2003 Jan Hubicka <jh@suse.cz>
247
248 * builtins.c (DEF_BUILTIN): Accept 10 arguments.
249 (implicit_built_in_decls): New global array.
250 (mathfn_built_in): New global function.
251 (fold_trunc_transparent_mathfn): New static function
252 (expand_builtin_strstr, expand_bultin_strchr,
253 expand_builtin_strpbrk, expand_builtin_strcpy,
254 expand_builtin_strncpy, expand_bultin_strcmp,
255 expand_bultin_strncat, expand_builtin_fputs): Use
256 implicint_built_in_decls.
257 (fold_builtin): Fold floor/trunc/round/ceil/nearbyint.
258 * builtins.def: Fix comments.
259 (DEF_GCC_BUILTIN, DEF_FALLBACK_BUILTIN, DEF_EXT_FALLBACK_BUILTIN,
260 DEF_LIB_BUILTIN, DEF_LIB_ALWAYS_BUILTIN, DEF_EXT_LIB_BUILTIN,
261 DEF_C99_BULTIN, DEF_FRONT_END_LIB_BUILTIN,
262 DEF_EXT_FRONT_END_LIB_BUILTIN): Pass implicit as needed.
263 (DEF_C99_C90RES_BULTIN): New.
264 (*f, *l builtins): Update.
265 * c-common.c (DEF_BUILTIN): Initialize implicit array.
266 (c_expand_builtin_printf, c_expand_builtin_fprintf): Update.
267 * convert.c (strip_float_extensions): New global function.
268 * tree.h (DEF_BUILTIN): Accept 10 arguments.
269 (implicit_built_in_decls, mathfn_built_in, strip_float_extension):
270 Declare.
271 * java/builtins.c (define_builtin): Handle implicit.
272 (DEF_BUILTIN): Update.
273 * tm.texi (TARGET_C99_FUNCTIONS): Document.
274 * defaults.h (TARGET_C99_FUNCTIONS): Default to 0.
275 * config/linux.h (TARGET_C99_FUNCTIONS): Default to 1
276 when using glibc2.
277
54a0bb9d 2782003-01-24 Bob Wilson <bob.wilson@acm.org>
279
280 * config.gcc (xtensa-*-elf*): Removed assignments to with_newlib,
281 extra_parts, and fixincludes. Add xtensa/t-elf tmake_file.
282 (xtensa-*-linux*): Add xtensa/t-linux tmake_file.
283 * config/xtensa/crti.asm: New file.
284 * config/xtensa/crtn.asm: New file.
285 * config/xtensa/t-elf: New file.
286 * config/xtensa/t-linux: New file.
287 * config/xtensa/t-xtensa: Add rules for crti.o and crtn.o.
288 Move various CFLAGS settings to new t-elf file.
289
cb9d4058 2902003-01-24 Richard Henderson <rth@redhat.com>
291
292 PR optimization/4382
293 * tree-inline.c (find_builtin_longjmp_call_1): New.
294 (find_builtin_longjmp_call): New.
295 (inlinable_function_p): Use it.
296
375540a1 2972003-01-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
298
299 * config/i386/i386-protos.h (function_arg_pass_by_reference): Declare.
300 * config/i386/i386.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
301 * config/i386/i386.c (function_arg_pass_by_reference): New.
302 (ix86_va_arg): Support arguments passed by reference.
303
862be747 3042003-01-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
305
306 * cfgloopanal.c: New file.
307 * cfgloopmanip.c: New file.
308 * Makefile.in (cfgloopanal.o, cfgloopmanip.o): New.
309 (toplev.o, loop.o, doloop.o, unroll.o, cfgloop.o, predict.o,
310 cfglayout.o): Add dependency on cfgloop.h.
311 (cfgloop.o): Add flags.h dependency.
312 * basic-block.h (BB_IRREDUCIBLE_LOOP, BB_SUPERBLOCK): New flags.
313 (VLS_EXPECT_PREHEADERS, VLS_EXPECT_SIMPLE_LATCHES): Removed.
314 (struct loop, struct loops, flow_loops_find, flow_loops_update,
315 flow_loops_free, flow_loops_dump, flow_loop_dump,
316 flow_loop_scan, flow_loop_tree_node_add, flow_loop_tree_node_remove,
317 LOOP_TREE,,LOOP_PRE_HEADER, LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES,
318 LOOP_ALL, flow_loop_outside_edge_p, flow_loop_nested_p,
319 flow_bb_inside_loop_p, get_loop_body, loop_preheader_edge,
320 loop_latch_edge, add_bb_to_loop, remove_bb_from_loops,
321 find_common_loop, verify_loop_structure): Declarations moved to ...
322 * cfgloop.h: New file.
323 * bb-reorder.c (reorder_basic_blocks): Modified.
324 * cfglayout.c: Include cfgloop.h.
325 (cleanup_unconditional_jumps, cfg_layout_redirect_edge,
326 cfg_layout_duplicate_bb, cfg_layout_initialize): Update loop structure.
327 (break_superblocks): New static function.
328 (cfg_layout_finalize): Use it.
329 (cfg_layout_split_block): New function.
330 * cfglayout.h (struct reorder_block_def): Add copy and duplicated
331 fields.
332 (cfg_layout_initialize, cfg_layout_redirect_edge): Declaration
333 changed.
334 (cfg_layout_split_block): Declare.
335 * cfgloop.c: Include cfgloop.h and flags.h.
336 (flow_loop_dump, flow_loops_free, flow_loop_exit_edges_find,
337 get_loop_body): Avoid signed versus unsigned comparison warnings.
338 (make_forwarder_block, flow_loops_find, loop_preheader_edge,
339 loop_latch_edge): Modified.
340 (verify_loop_structure): Modified to use flags stored in loop structure;
341 check irreducible loops.
342 (cancel_loop, cancel_loop_tree): New functions.
343 (estimate_probability): Use loop analysis code for predictions.
344 (estimate_loops_at_level): Avoid signed versus unsigned comparison
345 warnings.
346 * doloop.c: Include cfgloop.h.
347 * loop.c: Include cfgloop.h.
348 * predict.c: Include cfgloop.h.
349 * toplev.c: Include cfgloop.h.
350 * unroll.c: Include cfgloop.h.
351 * tracer.c (tracer): Modified.
352
8796f52f 3532003-01-24 Kazu Hirata <kazu@cs.umass.edu>
354
355 * config/h8300/h8300.c (get_shift_alg): Fix a typo.
356
be00aaa8 3572003-01-24 Ulrich Weigand <uweigand@de.ibm.com>
358
359 * configure.in (HAVE_AS_TLS): Add s390-*-* and s390x-*-* cases.
360 * configure: Regenerate.
361
362 * config/s390/s390-protos.h (tls_symbolic_operand): Add prototype.
363 (tls_symbolic_reference_mentioned_p): Add prototype.
364 (s390_tls_get_offset): Add prototype.
365 (emit_pic_move): Remove prototype, replace by ...
366 (emit_symbolic_move): .. this new prototype.
367
368 * config/s390/s390.c (TARGET_HAVE_TLS): Conditionally define.
369 (tls_model_chars): New global variable.
370 (s390_encode_section_info): Encode TLS model.
371 Use targetm.binds_local_p to check for local symbols.
372 (s390_strip_name_encoding): New function.
373 (TARGET_STRIP_NAME_ENCODING): Define.
374
375 (get_thread_pointer): New function.
6e8138db 376 (legitimize_tls_address): New function.
be00aaa8 377 (legitimize_address): Call it.
378 (emit_pic_move): Remove, replace by ...
379 (emit_symbolic_move): ... this new function.
380
381 (larl_operand): Handle TLS operands.
382 (legitimate_constant_p): Likewise.
383 (s390_decompose_address): Likewise.
384 (s390_cannot_force_const_mem): New function.
385 (TARGET_CANNOT_FORCE_CONST_MEM): Define.
386
387 (s390_output_symbolic_const): Handle TLS unspecs.
388 (print_operand): New code 'J'.
389 (machine_function): Add struct member 'some_ld_name'.
390 (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
391
392 (enum s390_builtin): New type.
393 (code_for_builtin_64, code_for_builtin_31): New global variables.
394 (s390_init_builtins, s390_expand_builtin): New functions.
395 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
396
397 * config/s390/s390.h (TLS_SYMBOLIC_CONST): New macro.
398 (ASM_OUTPUT_LABELREF): Define.
399 (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Handle TLS constants.
400
401 * config/s390/s390.md: Define TLS UNSPEC constants.
402 ("movdi", "movsi"): Handle TLS operands.
403 ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): New insns.
404 ("*tls_load_64", "*tls_load_31"): New insns.
405 ("call_value_tls", "call_value_tls_exp"): New expanders.
6e8138db 406 ("brasl_tls", "bras_tls", "basr_tls_64", "basr_tls_31",
be00aaa8 407 "bas_tls_64", "bas_tls_31"): New insns.
408
6ef250c4 4092003-01-24 Nathan Sidwell <nathan@codesourcery.com>
410
411 * config/rs6000/rs6000.c (rs6000_parse_abi_options): Make sure
412 spe ABI is configured, if requested.
413
d0b7f2fd 4142003-01-24 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
415
416 * doc/passes.texi: Fix typo.
417
9a27f26f 4182003-01-24 Andreas Schwab <schwab@suse.de>
419
420 * stor-layout.c (excess_unit_span): Only define if used.
421
7ce3f209 4222003-01-24 Jerry Quinn <jlquinn@optonline.net>
423
424 * gcc/doc/invoke.texi (Optimization Options): List -O levels
425 for each optimization flag.
426
c15ba0f0 4272003-01-24 Kazu Hirata <kazu@cs.umass.edu>
428
429 * config/h8300/h8300.md (*andsi3_ashift_n_lower): New.
430
228c76d8 4312003-01-24 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
432
433 * doc/bugreport.texi: Use @command instead of @code for commands.
434 * doc/collect2.texi: Likewise.
435 * doc/headerdirs.texi: Likewise.
436 * doc/invoke.texi: Likewise.
437 * doc/standards.texi: Likewise.
438 * doc/tm.texi: Likewise.
439 * doc/trouble.texi: Likewise.
440
000c5098 4412003-01-24 Nick Clifton <nickc@redhat.com>
442
443 * config/arm/arm.c (use_return_insn): Do not use a single return
444 instruction for interrupt handelrs which have to create a stack
445 frame.
446 (arm_expand_prologue): Do not pre-bias the return address of
447 interrupt handlers which create a stack frame.
448
4492003-01-24 Nick Clifton <nickc@redhat.com>
450
451 * Add sh2e support:
452
453 2002-08-12 Alexandre Oliva <aoliva@redhat.com>
454
455 * config/sh/sh.c (output_branch) [TARGET_SH2E]: Handle
456 med_cbranches. Fix logic in short_cbranches.
457
458 2002-04-03 Alexandre Oliva <aoliva@redhat.com>
459
460 * config/sh/sh.md (delay for cbranch): Don't annul delay
461 slots on SH2e.
462 * config/sh/sh.c (sh_insn_length_adjustment): Add 2 for
463 cbranch with unfilled delay slot on SH2e.
464 (output_branch): Fill with a nop the delay slot of a
465 branch that required a delay slot but didn't get one.
466
467 2002-04-02 Alexandre Oliva <aoliva@redhat.com>
468
469 * doc/invoke.texi (SH options): Document -m2e.
470 * config/sh/crt1.asm: Add __SH2E__ Next to __SH3E__.
471 * config/sh/lib1funcs.asm: Likewise.
472 * config/sh/sh.c: Replace all uses of TARGET_SH3E with SH2E.
473 * config/sh/sh.h (CPP_SPEC): Define __SH2E__ for -m2e, and
474 not __sh1__.
475 (CONDITIONAL_REGISTER_USAGE): Don't disable FP regs from
476 SH2E up.
477 (SH3E_BIT): Renamed to...
478 (SH_E_BIT): ... this. Replace all uses.
479 (TARGET_SH2E): Define from SH_E_BIT and TARGET_SH2.
480 Replace all uses of TARGET_SH3E with TARGET_SH2E.
481 (TARGET_SWITCHES): Added 2e.
482 (OVERRIDE_OPTIONS): Set sh_cpu for SH2E.
483 (processor_type): Added PROCESSOR_SH2E.
484 * config/sh/sh.md: Replace all uses of TARGET_SH3E with
485 TARGET_SH2E, except in sqrtsf2_i.
486 (attribute cpu): Added sh2e.
487 * config/sh/t-sh (MULTILIB_OPTIONS): Replace m3e with m2e.
488 (MULTILIB_MATCHES): Use m2e multilib for m3e.
489 * config.gcc: Add sh2e target support.
490
56421f52 4912003-01-24 Phil Edwards <pme@gcc.gnu.org>
492
493 Rename -W to -Wextra.
494 * c-decl.c: Update comments.
495 * c-typeck.c: Likewise.
496 * flags.h: Likewise.
497 * function.c: Likewise.
498 * stmt.c: Likewise.
499 * toplev.c: Update comments.
500 (W_options): Add 'extra'.
501 (display_help): Remove '-W'.
502 (decode_W_option): Special warn_uninitialized treatment in the case
503 of -Wextra.
504 * doc/invoke.texi: Update with new entries.
505
704a64ba 5062003-01-23 Richard Henderson <rth@redhat.com>
507
47c83366 508 * ifcvt.c (noce_process_if_block): Re-add check vs X being changed
509 in no-else-block case. Add commentary.
704a64ba 510
4b0e3ddb 5112003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
512
18320123 513 * configure.in: Revert last change.
514
5152003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
516
517 * configure.in: Don't include ansidecl.h in tconfig.h.
4b0e3ddb 518 * gcov-io.h (PARAMS, ATTRIBUTE_UNUSED: Define if IN_LIBGCC2.
519 * unwind-dw2-fde.h (last_fde): Use __attribute__, not
520 ATTRIBUTE_UNUSED.
521
522 * configure: Regenerate.
523
d784a739 5242003-01-23 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
525
526 PR java/6748
527 * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Don't destroy
528 regs->nip. Fix rt_sigreturn frame layout. Add support for newer
529 kernels.
530
6430fa98 5312003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
532
533 * cpplex.c (cpp_interpret_charconst): Squelch warning with cast.
534
779f7a5c 5352003-01-23 Ulrich Weigand <uweigand@de.ibm.com>
536
537 * genattrtab.c (write_attr_get): Mark 'insn' paramter
538 as ATTRIBUTE_UNUSED.
539
f2989adc 5402003-01-23 Richard Earnshaw <rearnsha@arm.com>
541
542 * arm.c (thumb_base_register_rtx_p): New function.
543 (thumb_index_register_rtx_p): New function.
544 (thumb_legitimate_address_p): New function.
545 (thumb_legitimate_offset_p): New function.
546 * arm.h (REG_STRICT_P): Define according to setting of REG_OK_STRICT.
b38347a5 547 (ARM_GO_IF_LEGITIMATE_ADDRESS): Use REG_STRICT_P to avoid duplicate
f2989adc 548 definitions.
549 (THUMB_GO_IF_LEGITIMATE_ADDRESS): Use thumb_legitimate_address_p.
550 (THUMB_LEGITIMATE_OFFSET): Delte.
551 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use thumb_legitimate_offset.
552 * arm-protos.h (thumb_legitimate_address_p): Add prototype.
553 (thumb_legitimate_offset_p): Likewise.
554
5a1a138d 5552003-01-23 Andreas Schwab <schwab@suse.de>
556
557 * unwind.h (_Unwind_GetTextRelBase): Mark parameter as unused.
558
346c08bd 5592003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
560
561 * fixinc/Makefile.in (FL_LIST): Revert last change.
562
863ea20b 5632003-01-23 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
564
565 PR other/7341
566 * invoke.texi (ftest-coverage): Fix broken cross-reference.
567 Change @code to @command for gcov command.
568
569 * gcc.texi: Adjust title of gcov section.
570 Adjust copyright.
571 * gcov.texi: Likewise.
572
c7926a82 5732003-01-22 Roger Sayle <roger@eyesopen.com>
574
575 PR optimization/8423
576 * cse.c (fold_rtx): Only eliminate a CONSTANT_P_RTX to 1 when
577 its argument is constant, or 0 if !flag_gcse.
578 * simplify-rtx.c (simplify_rtx): Convert CONSTANT_P_RTX to 1
579 if it's argument is constant.
580 * gcse.c (want_to_gcse_p): Ignore CONSTANT_P_RTX nodes.
581 (hash_scan_set): Don't record CONSTANT_P_RTX expressions.
582 (do_local_cprop): Don't propagate CONSTANT_P_RTX constants.
583 * builtins.c (purge_builtin_constant_p): New function to force
584 instantiation of any remaining CONSTANT_P_RTX nodes.
585 * rtl.h (purge_builtin_constant_p): Prototype here.
586 * toplev.c (rest_of_compilation): Invoke purge_builtin_constant_p
587 pass after GCSE and before loop.
588 (flag_gcse): No longer static.
589 * flags.h (flag_gcse): Prototype here.
590
563b03db 5912003-01-22 Ulrich Weigand <uweigand@de.ibm.com>
592
593 * config/s390/s390.h (HARD_REGNO_MODE_OK): Fix warning regression
594 introduced by last change.
595
3d72c7bc 5962003-01-22 Andreas Schwab <schwab@suse.de>
597
598 * ra-rewrite.c (rewrite_program2): Initialize bb to avoid warning.
599
c6ff55c2 6002003-01-22 Kazu Hirata <kazu@cs.umass.edu>
601
602 * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Don't
603 request a scratch reg on H8S when the shift count is 8.
604
ec3b9583 6052003-01-22 Ulrich Weigand <uweigand@de.ibm.com>
606
607 * config/s390/s390-protos.h (preferred_la_operand_p):
608 Remove second parameter.
609 * config/s390/s390.c (preferred_la_operand_p): Likewise.
610 * config/s390/s390.h (FRAME_REGNO_P, FRAME_REG_P): New macros.
611 (HARD_REGNO_MODE_OK): Use FRAME_REGNO_P.
612 * config/s390/s390.md ("*la_cc_64", "*la_cc_31", splitters): Remove.
613 Add peepholes to transform ADD to LOAD ADDRESS.
614
d32b3557 6152003-01-22 Richard Earnshaw <rearnsha@arm.com>
616
617 * arm.c (arm_address_register_rtx_p): New function.
618 (arm_legitimate_address_p): New function.
619 (arm_legitimate_index_p): New function.
620 (legitimize_pic_address): Use arm_legitimate_index_p.
621 * arm-protos.h (arm_legtimate_address_p): Add prototype.
622 * arm.h (ARM_GO_IF_LEGITIMATE_INDEX): Delete.
623 (ARM_GO_IF_LEGITIMATE_ADDRESS): Call arm_legitimate_address_p.
624
be6d0982 6252003-01-22 Hartmut Penner <hpenner@de.ibm.com>
626
627 * config/s390/s390.md (floatdfdi2): Insn has type 'itof'.
628 * config/s390/2064.md (define_bypass): Correct 'Load' and
629 'Load-address' bypass values.
6e8138db 630
c7cf8ad9 6312003-01-22 Andreas Schwab <schwab@suse.de>
632
633 * config/ia64/t-ia64 (insn-attrtab.o-warn): Define as -Wno-error.
634
84eb7376 6352003-01-21 Zack Weinberg <zack@codesourcery.com>
636
637 * genautomata.c (output_internal_insn_latency_func,
638 output_print_reservation_func): Short circuit when there is no
639 automaton to generate code for.
640
24dbe798 6412003-01-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
642
643 * Makefile.in (ssa-ccp.o): Depend on coretypes.h $(TM_H).
644 (df.o): Delete duplicate dependency on coretypes.h $(TM_H).
645
dbda5ae0 6462003-01-21 Geoffrey Keating <geoffk@apple.com>
647
648 * config/rs6000/rs6000.md: Remove warning.
649 (builtin_setjmp_receiver): Likewise.
650 * config/darwin.c (update_stubs): Slightly improve terrible hack
651 with identifiers. Add comment pointing out problems with it.
652 (update_non_lazy_ptrs): Likewise.
653
9ddf8721 6542003-01-21 Richard Henderson <rth@redhat.com>
655
656 * dwarf2out.c (lookup_filename): Fix printf format warning.
657 * system.h (fread_unlocked, fwrite_unlocked): Undef.
658
659 * fixinc/Makefile.in (FL_LIST): Add $($@-warn) hook.
660 (fixincl.o-warn, gnu-regex.o-warn): New.
661 * fixinc/fixfixes.c (FIX_PROC_HEAD): Mark parameters unused.
662 * fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Likewise.
663 * fixinc/fixincl.c (process): Fix printf format warning.
664
21d1bacf 6652003-01-21 Ulrich Weigand <uweigand@de.ibm.com>
666
667 * dwarf2out (output_file_names): Don't crash if called
668 with empty file_table.
669
929ed800 6702003-01-21 Zack Weinberg <zack@codesourcery.com>
671
672 * genautomata.c (output_internal_insn_latency_func): Add
673 missing break statement to generated code.
674
427d3c76 6752003-01-21 Roger Sayle <roger@eyesopen.com>
676
677 * stmt.c (same_case_target_p): New function to determine whether
678 two case labels branch to the same target. Split out from...
679 (group_case_nodes): ... here. Use same_case_target_p instead.
680 (strip_default_case_nodes): Remove explicit case nodes
681 that branch to the default destination.
682 (expand_end_case_type): Call strip_default_case_nodes after
683 group_case_nodes, to simplify the case-list before we count it.
684 Only generate table_label RTX when actually needed. Try to share
685 thiscase->exit_label and thiscase->data.case_stmt.default_label
686 when a switch has no explicit default case. Simplify test for
687 constant index.
688
de7a0622 6892003-01-21 Kazu Hirata <kazu@cs.umass.edu>
690
691 * config/h8300/h8300.md (*negsf2_h8300): Use \\t instead of
692 \t.
693 (*negsf2_h8300hs): Likewise.
694 (*addsi3_lshiftrt_16_zexthi): Likewise.
695 (*iorhi3_lshiftrt_8): Likewise.
696
9105005a 6972003-01-21 Ulrich Weigand <uweigand@de.ibm.com>
698
699 * dwarf2out.c (fde_table_in_use): Mark GTY.
700 (dwarf2out_cfi_label_num): New variable, marked GTY.
701 (dwarf2out_cfi_label): Use it instead of static label_num.
702 * emit-rtl.c (label_num): Mark GTY.
703
469dc9d2 7042003-01-21 Kazu Hirata <kazu@cs.umass.edu>
705
706 * config/h8300/h8300.c (output_plussi): Support H8/300.
707 (compute_plussi_length): Likewise.
708 (compute_plussi_cc): Likewise.
709 * config/h8300/h8300.md (addsi_h8300): Use output_plussi to
710 output assembly instructions.
711
a179eb24 7122003-01-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
713
e8bcedb6 714 * calls.c (fix_unsafe_tree): Prototype.
715
a179eb24 716 * Makefile.in (GCC_WARN_CFLAGS): Add $(WERROR) $($@-warn)
717 (gtype-desc.o-warn, c-decl.o-warn, varasm.o-warn, gcc.o-warn,
718 insn-conditions.o-warn, out_object_file, gengtype-yacc.o-warn,
719 c-parse.o-warn): Add -Wno-error.
720 (STAGE2_FLAGS_TO_PASS): Add WERROR="@WERROR@".
721
722 * configure.in (--enable-werror): Add new flag.
723 * doc/install.texi (--enable-werror): Document.
724 * configure: Regenerate.
725
726 * objc/Make-lang.in (objc/objc-parse.o-warn): Add -Wno-error.
727
c95df9e4 7282003-01-21 Andreas Schwab <schwab@suse.de>
729
730 * genautomata.c (output_internal_insn_latency_func): Fix missing
731 close paren in output.
732
cf5aea47 7332003-01-21 Zack Weinberg <zack@codesourcery.com>
734
735 * genautomata.c: Space savings in generated code:
736 (output_dfa_insn_code_func): Split out the table-enlargement
737 path to an out-of-line static function, dfa_insn_code_enlarge.
738 (output_internal_insn_latency_func): Use a lookup table for the
739 default latencies.
740 (output_print_reservation_func): Use a lookup table for the
741 strings.
742
f1eb2fdd 7432003-01-21 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
744
745 PR opt/7507
746 * calls.c (fix_unsafe_tree): Split out from ...
747 (expand_call): ... here. Use it on the function address too.
748
93be38ba 7492003-01-20 Richard Henderson <rth@redhat.com>
750
751 * expr.h (default_must_pass_in_stack): Move decl outside ifdef.
752
154ffe7e 7532003-01-20 Richard Henderson <rth@redhat.com>
754
4f568b4f 755 PR opt/7154
154ffe7e 756 * stmt.c (expand_asm_operands): Validize memory operands.
757
1a682a4c 7582003-01-20 Richard Henderson <rth@redhat.com>
759
760 PR opt/8848
761 * ifcvt.c (noce_process_if_block): Correct arguments to
762 modified_between_p for no-else-block case.
763
11233c59 7642003-01-20 Kazu Hirata <kazu@cs.umass.edu>
765
766 * config/h8300/h8300.c (const_costs): Remove a warning.
767 (output_plussi): Likewise.
768 (compute_plussi_length): Likewise.
769 (compute_plussi_cc): Likewise.
770
bef7e5cb 7712003-01-20 Kazu Hirata <kazu@cs.umass.edu>
772
773 * config/h8300/h8300.md (addsi_h8300): Remove the last
774 alternative.
775
a033fe93 7762003-01-20 Kazu Hirata <kazu@cs.umass.edu>
777
778 * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
779
f162fdc6 7802003-01-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
781
782 * system.h (__NO_STRING_INLINES): Define.
783
d7f916d2 7842003-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
785
786 * ifcvt.c (noce_emit_store_flag): Don't emit store flag if mode of x
787 is not a scalar int mode.
788
e30d7fb3 7892003-01-20 Roger Sayle <roger@eyesopen.com>
790
791 * cse.c (cse_insn): Avoid RTL sharing when updating the RETVAL
792 insn's notes following a substitution inside a libcall.
793
5df0e0e7 7942003-01-20 Zack Weinberg <zack@codesourcery.com>
795
796 * configure.in: Check for system-provided 'uchar' type.
89f3001b 797 * configure, config.in: Regenerate.
5df0e0e7 798 * cpphash.h: Only typedef 'uchar' if the system doesn't.
799
890f0c17 8002003-01-20 Richard Henderson <rth@redhat.com>
801
802 * expr.h (MUST_PASS_IN_STACK): Move implementation...
803 * calls.c (default_must_pass_in_stack): ... here.
804
801a09b3 8052003-01-20 Vladimir Makarov <vmakarov@redhat.com>
806
5df0e0e7 807 * genattrtab.h (INSN_ALTS_FUNC_NAME): Move it from genautomata.c.
808
801a09b3 809 * genautomata.c (INSN_ALTS_FUNC_NAME): Move it into genattrtab.h.
810
811 * genattr.c (main): Output default definition of AUTOMATON_ALTS.
812 Wrap up definition of `insn_alts'.
813
814 * genattrtab.c (main): Wrap up `insn_alts'.
815
31a83412 8162003-01-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
817
818 * collect2.c (ldgetname): Check HAVE_DECL_LDGETNAME before
819 prototyping.
820 * configure.in: Check for <ldfcn.h> and ldgetname() prototype.
5df0e0e7 821
31a83412 822 * config.in, configure: Regenerate.
823
ef5651d0 8242003-01-20 Nick Clifton <nickc@redhat.com>
825
826 * config/arm/arm.md (sibcall_epilogue): Add an
827 UNSPEC_PROLOGUE_USE to prevent the link register from being
828 considered dead.
829
d0615914 830Mon Jan 20 14:36:23 CET 2003 Jan Hubicka <jh@suse.cz>
831
832 * i386.md (SSE cmov splitter): Handle memory operand in operand 5.
833
b74ce7fd 8342003-01-20 Andreas Schwab <schwab@suse.de>
835
836 * system.h: Don't declare strsignal if the decl test hasn't been
837 run yet.
838
1617b5d2 8392003-01-20 Kazu Hirata <kazu@cs.umass.edu>
840
841 * config/h8300/h8300.c (notice_update_cc): Don't assume that
842 recog_data.operands[0] is always associated with cc0.
843
a92a1bb2 8442003-01-19 David Edelsohn <edelsohn@gnu.org>
845
846 * collect2.c (ldgetname): Expand declaration to prototype.
847 * read-rtl.c (atoll): Add prototype.
48cf6cb1 848 * system.h (strsignal): Also declare if no declaration found.
a92a1bb2 849
d0faeb9d 8502003-01-19 Alexandre Oliva <aoliva@redhat.com>
851
852 * config.gcc (mips64*-*-linux*): Added.
853 * config/mips/linux64.h, config/mips/t-linux64: New file.
854 * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Define.
855 * config/mips/mips.c (override_options): Use it.
856 * config/mips/mips.h (TARGET_SWITCHES): Added...
857 (SUBTARGET_TARGET_SWITCHES): New, empty by default.
858 * Makefile.in (SPECS): New.
859 (STAGESTUFF, specs, mostlyclean, install-common): Use it.
860 * gcc.c (process_command): Move self-spec processing past spec
861 file loading.
862 * doc/tm.texi (DRIVER_SELF_SPECS): Document the change.
863 * doc/fragments.texi (MULTILIB_EXTRA_OPTS): Document need for
864 CRTSTUFF_T_CFLAGS.
865 (SPECS): Document.
866 * doc/invoke.texi (-mabi-fake-default): Document.
867
3fa952a4 8682003-01-19 Stephane Carrez <stcarrez@nerim.fr>
869
870 * config/m68hc11/m68hc11.c (stack_push_word, stack_pop_word,
871 z_reg, z_reg_qi): Declare static and GTY().
872 (da_reg): Remove.
873 (create_regs_rtx): Don't create da_reg.
874 ("gt-m68hc11.h"): Include for GTY roots.
875 * config/m68hc11/m68hc11.h (ix_reg, iy_reg, d_reg): Declare extern
876 and GTY() here.
877 (m68hc11_compare_op0, m68hc11_compare_op1): Likewise.
878 (m68hc11_soft_tmp_reg): Likewise.
879 * config/m68hc11/m68hc11-protos.h: Remove above declarations.
880
6a8fa8e2 8812003-01-18 Kazu Hirata <kazu@cs.umass.edu>
882
883 * basic-block.h: Fix comment formatting.
884 * calls.c: Likewise.
885 * combine.c: Likewise.
886 * convert.c: Likewise.
887 * gcov.c: Likewise.
888 * haifa-sched.c: Likewise.
889 * libgcc2.c: Likewise.
890 * loop.c: Likewise.
891 * profile.c: Likewise.
892 * system.h: Likewise.
893
cdc39e87 8942003-01-18 Roger Sayle <roger@eyesopen.com>
895
896 * config/pa/pa.md (muldi3): Avoid invalid sharing of SUBREG RTXs.
897
05fa6637 8982003-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
899
900 * ra-build.c (undef_to_size_word): Avoid `switch' warning.
901
98e44749 9022003-01-17 Dale Johannesen <dalej@apple.com>
903
5df0e0e7 904 * config/rs6000/rs6000.md (*floatsidf2_internal): Add earlyclobbers.
98e44749 905 (*floatunssidf2_internal): Ditto.
906
d716ce75 9072003-01-17 Kazu Hirata <kazu@cs.umass.edu>
908
909 * alias.c: Fix comment typos.
910 * basic-block.h: Likewise.
911 * c-common.c: Likewise.
912 * c-common.h: Likewise.
913 * c-decl.c: Likewise.
914 * c-opts.c: Likewise.
915 * c-pragma.c: Likewise.
916 * c-pretty-print.h: Likewise.
917 * cfg.c: Likewise.
918 * cfganal.c: Likewise.
919 * cfgbuild.c: Likewise.
920 * cfgcleanup.c: Likewise.
921 * cfglayout.c: Likewise.
922 * cfgrtl.c: Likewise.
923 * convert.c: Likewise.
924 * cpphash.h: Likewise.
925 * cpplex.c: Likewise.
926 * cpplib.h: Likewise.
927 * df.h: Likewise.
928 * diagnostic.c: Likewise.
929 * diagnostic.h: Likewise.
930 * dwarf2.h: Likewise.
931
36b12ba7 9322003-01-17 Stan Shebs <shebs@apple.com>
933
934 * config/darwin-protos.h: Forward-declare struct cpp_reader.
935
8482c296 9362003-01-17 Douglas B Rupp <rupp@gnat.com>
937
938 * config/alpha/alpha.c (alpha_need_linkage): Fix obvious
939 mistake in last checkin.
940
98667efb 9412003-01-17 Kazu Hirata <kazu@cs.umass.edu>
942
943 * et-forest.c: Fix comment typos.
944 * et-forest.h: Likewise.
945 * except.c: Likewise.
946 * expr.c: Likewise.
947 * flags.h: Likewise.
948 * flow.c: Likewise.
949 * gcc.c: Likewise.
950 * gcse.c: Likewise.
951 * genattrtab.c: Likewise.
952 * genautomata.c: Likewise.
953 * gengtype.c: Likewise.
954 * genrecog.c: Likewise.
955 * global.c: Likewise.
956 * gthr-rtems.h: Likewise.
957
c156d8c1 9582003-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
959
960 * i386.c (x86_function_profiler): Fix format specifier.
961
8578ce7b 9622003-01-17 Richard Henderson <rth@redhat.com>
963
964 * gengtype.c (walk_type): Allow paramN_is.
965
0dc2583b 9662003-01-17 Nick Clifton <nickc@redhat.com>
967
968 * config/i960/t-960bare (i960-c.o): Add missing newline escape.
969
94491c0b 9702003-01-16 Richard Henderson <rth@redhat.com>
971
972 * config/alpha/linux-elf.h (LIB_SPEC): Adjust inter-option spacing.
973
9de382d9 9742003-01-16 Richard Henderson <rth@redhat.com>
975
976 * config/alpha/alpha.c (alpha_sr_alias_set): Mark GTY.
977 (alpha_next_sequence_number): Likewise.
978 (alpha_this_literal_sequence_number): Likewise.
979 (alpha_this_gpdisp_sequence_number): Likewise.
980 (struct alpha_funcs, alpha_funcs_num): Likewise.
981 (struct alpha_links): Fix branch merge error.
982 (alpha_need_linkage, alpha_use_linkage): Use GC for alpha_funcs.
983
0cf0f735 9842003-01-17 Alexandre Oliva <aoliva@redhat.com>
985
986 * config/mips/mips.h: Don't use #elif. Reported by Kaveh
987 R. Ghazi.
988
b903337a 9892003-01-16 Kazu Hirata <kazu@cs.umass.edu>
990
991 * ifcvt.c: Fix comment typos.
992 * lcm.c: Likewise.
993 * libgcc2.c: Likewise.
994 * local-alloc.c: Likewise.
995 * loop.c: Likewise.
996 * predict.c: Likewise.
997 * ra-build.c: Likewise.
998 * ra.c: Likewise.
999 * ra-colorize.c: Likewise.
1000 * ra.h: Likewise.
1001 * ra-rewrite.c: Likewise.
1002 * regmove.c: Likewise.
1003 * reload.h: Likewise.
1004 * rtlanal.c: Likewise.
1005 * toplev.c: Likewise.
1006 * tree.h: Likewise.
1007 * unwind-dw2-fde-glibc.c: Likewise.
1008 * vmsdbgout.c: Likewise.
1009
ff279357 10102003-01-16 Richard Henderson <rth@redhat.com>
1011
1012 * dwarf2out.c (struct file_table): Remove.
1013 (FILE_TABLE_INCREMENT): Remove.
1014 (file_table): Make a varray; mark for GC. Update all users.
1015 (file_table_last_lookup_index): Extract from struct file_table.
1016 (output_file_names): Fix unsigned compare warnings.
1017 (add_name_attribute): Remove inline marker.
1018 (add_comp_dir_attribute): Split out from gen_compile_unit_die.
1019 (lookup_filename): Don't manage size of file_table.
1020 (init_file_table): Allocate file_table with GC.
1021 (dwarf2out_init): Don't record main_input_filename here.
1022 (dwarf2out_finish): Do it here instead.
1023
b87083eb 10242003-01-16 Bruce Korb <bkorb@gnu.org>
1025
1026 * gcc/fixinc/inclhack.def(limits_ifndef): QNX needs a bypass, too.
1027
e586c16d 10282003-01-16 Kaz Kojima <kkojima@gcc.gnu.org>
1029
5df0e0e7 1030 * config/sh/sh.c (sh_initialize_trampoline): Emit rotrdi3_mextr
1031 instead of rotldi3_mextr.
e586c16d 1032
6dff42fd 10332003-01-16 Vladimir Makarov <vmakarov@redhat.com>
1034
1035 * haifa-sched.c (move_insn): Restore moving all schedule group.
1036 (set_priorities): Restore taking SCHED_GROUP_P into account.
1037
1038 * sched-deps.c (add_dependence): Restore processing the last group
1039 insn.
1040 (remove_dependence, group_leader): Restore the functions.
1041 (set_sched_group_p): Restore adding dependencies from previous insn
1042 in the group.
1043 (compute_forward_dependences): Restore usage of group_leader.
1044
1045 * sched-ebb.c (init_ready_list): Restore taking SCHED_GROUP_P into
1046 account.
1047
1048 * sched-rgn.c (init_ready_list): Restore taking SCHED_GROUP_P into
1049 account.
1050 (can_schedule_ready_p): Ditto.
1051 (add_branch_dependences): Restore skipping over the group insns.
5df0e0e7 1052
bbb1a791 10532003-01-16 Stephane Carrez <stcarrez@nerim.fr>
1054
1055 * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling
1056 68HC12 pre/post inc/dec side effects.
1057
2cae9c15 10582003-01-16 Stephane Carrez <stcarrez@nerim.fr>
1059
1060 * config/m68hc11/m68hc11.h (MASK_M6812): Define.
1061
e1bbb517 1062Thu Jan 16 21:50:25 2003 J"orn Rennecke <amylaar@onetel.net.uk>
1063
1064 * sh.md (mshflo_w_x): Fix description of operation.
1065
6ed6b935 10662003-01-16 Zack Weinberg <zack@codesourcery.com>
1067
1068 * config/rs6000/rs6000.h: Mention Altivec registers in
1069 commentary. Fix typo.
1070
259277e0 10712003-01-16 David Edelsohn <edelsohn@gnu.org>
1072
1073 * config/rs6000/rs6000.md (movti_string): Remove clobber.
1074 * config/rs6000/rs6000.c (rs6000_emit_move, TImode): Explicitly
1075 generate PARALLEL with clobber for TARGET_POWER.
1076
aec26802 10772003-01-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1078
1079 * ra-colorize.c (colorize_one_web): Initialize variable.
1080 * regmove.c (fixup_match_1): Likewise.
1081 * reload1.c (reload_as_needed): Likewise.
1082 * sdbout.c (SET_KNOWN_TYPE_TAG): Add cast.
1083
743f4ee2 10842003-01-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1085
1086 * cfgloop.c (flow_loops_find): Fix handling of abnormal edges.
1087
3473aefe 10882003-01-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1089
aed1dced 1090 * dbxout.c (lastfile, cwd): Fix `unused' warning.
1091 * dwarf2out.c (fde_table_in_use, current_funcdef_fde,
1092 dw_cfi_oprnd1_desc, dw_cfi_oprnd2_desc, next_die_offset,
1093 is_main_source, file_table, decl_die_table_in_use,
1094 abbrev_die_table_in_use, line_info_table_in_use,
1095 separate_line_info_table_in_use, pubname_table_in_use,
1096 arange_table_in_use, ranges_table_in_use,
1097 current_function_has_inlines): Likewise.
1098 * flow.c (life_analysis): Likewise.
1099 * genemit.c (gen_insn): Likewise.
1100 * protoize.c (cplus_suffix): Likewise.
1101
068e6db6 1102 * arm.c (ROUND_UP_WORD): Renamed from ROUND_UP.
1103 * arm.h (ROUND_UP_WORD): Likewise.
1104
3473aefe 1105 * arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned
1106 warning.
1107 * emit-rtl.c (gen_rtx_REG, set_mem_attributes_minus_bitpos,
1108 init_emit_once): Likewise.
1109 * flow.c (mark_regs_live_at_end, calculate_global_regs_live):
1110 Likewise.
1111 * function.c (assign_stack_temp_for_type): Likewise.
1112 * loop.c (loop_invariant_p): Likewise.
1113 * recog.c (push_operand): Likewise.
1114 * regclass.c (init_reg_sets_1): Likewise.
1115 * reload.c (update_auto_inc_notes): Likewise.
1116 * reload1.c (reload_as_needed, emit_input_reload_insns): Likewise.
1117 * stmt.c (expand_asm_operands): Likewise.
1118 * stor-layout.c (start_record_layout): Likewise.
1119
78301556 11202003-01-16 Herman A.J. ten Brugge <hermantenbrugge@home.nl>
1121
6ed6b935 1122 * config/c4x/c4x.md (epilogue): Correct last patch.
78301556 1123
a3859c0f 11242003-01-15 Richard Henderson <rth@redhat.com>
1125
1126 * config/alpha/alpha.c (find_lo_sum_using_gp): Rename from find_lo_sum;
1127 also check that GP is being used.
1128 (alpha_find_lo_sum_using_gp): New.
1129 (alpha_does_function_need_gp): Use get_attr_usegp.
1130 * config/alpha/alpha-protos.h: Update.
1131 * config/alpha/alpha.md (attr usegp): New. Annotate patterns
1132 as needed.
1133
e736d585 11342003-01-15 Roger Sayle <roger@eyesopen.com>
1135
1136 * gcse.c (one_cprop_pass): Change function arguments to take both
1137 cprop_jumps and bypass_jumps flags instead of just alter_jumps.
1138 (gcse_main): Update calls to one_cprop_pass, disabling bypassing.
1139 (bypass_jumps): New function to perform separate jump bypassing pass.
1140 * rtl.h (bypass_jumps): Add function prototype.
1141 * timevar.def (TV_BYPASS): New timing variable.
1142 * toplev.c (enum dump_file_index): Add new entry DFI_bypass.
1143 (dump_file): New entry for the bypass RTL dump file.
1144 (rest_of_compilation): Insert new jump bypassing optimization
1145 pass after loop.
1146 * doc/passes.texi: Document new pass.
1147
45fc02af 11482003-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
1149
1150 * som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY,
1151 ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define.
1152 * pa.h (TARGET_SOM_SDEF): Define.
1153 * pa-hpux11.h (TARGET_SOM_SDEF): Define.
1154
933589d9 11552003-01-16 Stephane Carrez <stcarrez@nerim.fr>
1156
6ed6b935 1157 * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to
933589d9 1158 allocate 4-bytes of locals on 68HC11.
1159 (expand_epilogue): Likewise.
1160 (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers.
1161
180b3dc8 11622003-01-15 Stephane Carrez <stcarrez@nerim.fr>
1163
1164 * config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort
1165 and -mshort-double to the assembler to specify the ABI.
1166 (LINK_SPEC): Likewise.
1167 (CPP_SPEC): Pass HCS12 specific define.
1168 (MASK_M68S12): New define.
1169 (TARGET_M68S12): Likewise.
1170 (TARGET_SWITCHES): New options -m68hcs12 and -m68S12.
1171 (TARGET_VERSION): Update.
1172 * config/m68hc11/m68hc12.h (CPP_SPEC): Pass HCS12 specific define.
1173 (LINK_SPEC): Update.
1174 (ASM_SPEC): Update.
1175 * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Update.
1176 * doc/invoke.texi (M68hc1x Options): Document -m68hcs12.
1177
e33a5b06 11782003-01-15 Stephane Carrez <stcarrez@nerim.fr>
1179
1180 * config/m68hc11/m68hc11.md ("return"): Use emit_jump_insn to emit
1181 the return code.
1182
746f9f26 11832003-01-15 Josef Zlomek <zlomekj@suse.cz>
1184
1185 * cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
1186 flag before setting it.
1187
15b82a42 11882003-01-15 Roger Sayle <roger@eyesopen.com>
1189
1190 * c-semantics.c (genrtl_while_stmt): Improve initial RTL generation
1191 when loop condition is known true, i.e. "while (1) { ... }".
1192 (genrtl_for_stmt): Similarly for "for" statements.
1193
61f1dccc 11942003-01-15 Roger Sayle <roger@eyesopen.com>
1195
1196 * real.c (real_sqrt): Return a bool result indicating whether
1197 a floating point exception or trap should be raised.
1198 * real.h (real_sqrt): Update function prototype.
1199 * builtins.c (fold_builtin): Only fold non-trapping square
1200 roots unless we're ignoring errno and trapping math.
1201
12a13e7a 12022003-01-15 John David Anglin <dave.anglin@nrc.gc.ca>
1203
1204 * expr.h (emit_conditional_add): Add PARAMS to declaration.
1205 * gengtype-lex.l (malloc, realloc): Move defines after include of
1206 system.h. Remove duplicate include of system.h.
1207
89ae05a2 12082003-01-15 Roger Sayle <roger@eyesopen.com>
1209
1210 PR middle-end/9009
1211 * optabs.c (expand_unop): When manipulating the FP sign bit
1212 using integer operations, account for targets with different
1213 integer and FP word orders.
1214 (expand_abs): Likewise.
1215
a50fb5e3 12162003-01-15 David Edelsohn <edelsohn@gnu.org>
1217
1218 * config/rs6000/rs6000.c (rs6000_gen_section_name): Do not include
1219 file extension in section name.
1220
e7477246 12212003-01-15 Richard Earnshaw <rearnsha@arm.com>
1222
1223 * flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with
1224 constant offset.
1225
ae5d4a75 12262003-01-15 Richard Earnshaw <rearnsha@arm.com>
1227
1228 * arm.h (HAVE_PRE_MODIFY_DISP, HAVE_PRE_MODIFY_REG): Define.
1229 (HAVE_POST_MODIFY_DISP, HAVE_POST_MODIFY_REG): Define.
1230 (ARM_GO_IF_LEGITIMATE_ADDRESS): Handle pre/post-modify addresses.
1231 (ARM_PRINT_OPERAND_ADDRESS): Likewise.
1232
25bf8ba3 1233Wed Jan 15 12:23:21 CET 2003 Jan Hubicka <jh@suse.cz>
1234
1235 PR f/9258
6ed6b935 1236 * global.c (struct allocno): Add no_stack_reg.
25bf8ba3 1237 (global_conflicts): Set no_stack_reg.
1238 (find_reg): Use it.
1239
1240 * convert.c (convert_to_real): Fold - and abs only when profitable.
1241 * fold-const.c (fold): Fold truncates in - and abs.
1242
aa816fb8 12432003-01-15 Josef Zlomek <zlomekj@suse.cz>
1244
1245 Segher Boessenkool <segher@koffie.nl>
2e3c56e8 1246
1247 * predict.c (real_inv_br_prob_base): New variable.
1248 (propagate_freq): Use multiply by reciprocal instead of
1249 division. Don't divide by 1.0 at all.
1250 (estimate_bb_frequencies): Similar.
1251
2ddb5ea7 12522003-01-15 Alexandre Oliva <aoliva@redhat.com>
1253
1254 * configure.in (libgcc_visibility): Force disabled on IRIX 6 too.
1255 * configure: Rebuilt.
1256
71343e6b 12572003-01-15 Hartmut Penner <hpenner@de.ibm.com>
f5d86738 1258
71343e6b 1259 * config/s390/s390.c (s390_safe_attr_type): New function.
1260 (s390_use_dfa_pipeline_interface): New function, return true for z900.
1261 (s390_issue_rate): New function.
1262 (s390_agen_dep_p): New function.
1263 (addr_generation_dependency_p): Use 's390_safe_attr_type'.
1264 (s390_adjust_cost): Return 'cost' if new DFA is used.
1265 (s390_adjust_priority): Delete function.
1266 * config/s390/s390-protos.h: (s390_agen_dep_p): New prototype.
1267 * config/s390/s390.md (atype attribute): Attribute 'atype' default
1268 determined by 'op_type'.
1269 (type attribute): Added more type attributes.
1270 * config/s390/2064.md: New DFA description for z900 pipeline.
6ed6b935 1271
71343e6b 12722003-01-15 Alexandre Oliva <aoliva@redhat.com>
f2522b33 1273
84ab60d3 1274 * config/i386/i386.c (ix86_expand_vector_move): Validize constant
1275 forced to memory. Fixes PR bootstrap/9036.
1276
f5d86738 1277 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as
1278 to set $gp before the call.
1279
d18a1a2b 12802003-01-14 Richard Henderson <rth@redhat.com>
1281
1282 * config/alpha/alpha.c (alpha_expand_mov): Use correct mode
1283 for force_const_mem.
1284
6a1c27c3 12852003-01-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1286
1287 * genattr.c (main): Rearrange output to avoid prototype warning.
1288 * genautomata.c (transform_3): Fix ambiguous-else warning.
1289 * local-alloc.c (requires_inout): Add parentheses around
1290 assignment used as truth-value.
1291 * timevar.c: Move system includes above local includes. Include
1292 toplev.h
1293 * Makefile.in (timevar.o): Depend on toplev.h.
1294
ca3a9cf3 12952003-01-14 Denis Chertykov <denisc@overta.ru>
1296
1297 * config/ip2k/ip2k.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
1298 (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
1299
1300 * config/ip2k/ip2k.c (ip2k_attribute_table): New table of
6ed6b935 1301 attributes.
ca3a9cf3 1302 (TARGET_ATTRIBUTE_TABLE): New macro.
1303 (valid_machine_type_attribute): Remove.
1304 (valid_machine_decl_attribute): Remove.
1305 (ip2k_handle_progmem_attribute): New function.
1306 (ip2k_handle_fndecl_attribute): New function.
1307
fadfba62 13082003-01-10 Andrew Haley <aph@redhat.com>
69b9e4c4 1309
1310 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename
1311 registers to be in correct order. Add rip.
1312
ad7beff2 13132003-01-14 Kazu Hirata <kazu@cs.umass.edu>
1314
1315 * config/h8300/h8300.md (*andsi3_lshiftrt_9_sb): New.
1316 (*iorsi3_and_lshiftrt_9_sb): Likewise.
1317
8cce4b41 1318Tue Jan 14 00:45:33 CET 2003 Jan Hubicka <jh@suse.cz>
1319
1320 * convert.c (strip_float_extensions): Look for narrowest type handling
1321 FP constants.
1322
1323 * fold-const.c (fold): Fold (double)float1 CMP (double)float2 into
1324 float1 CMP float2.
1325 * convert.c (strip_float_extensions): Make global.
1326 * tree.h (strip_float_extensions): Declare.
1327
c1155f31 13282003-01-14 Gabriel Dos Reis <gdr@integrable-solutions.net>
1329
1330 * timevar.def: define TV_NAME_LOOKUP.
1331 * timevar.c (timevar_pop): Be verbose when aborting.
1332
cb619dd5 13332003-01-13 Andreas Schwab <schwab@suse.de>
1334
1335 * Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to
1336 $(parsedir), just move the temporary file at the end.
1337 ($(parsedir)/gengtype-yacc.c): Likewise.
1338
d320f6b2 13392003-01-13 Alexandre Oliva <aoliva@redhat.com>
1340
1341 * aclocal.m4 (gcc_AC_PROG_GNAT): Don't try to prepend
1342 ${ac_tool_prefix} to ADAC or CC. Protect them from word
1343 splitting.
1344 * configure: Rebuilt.
1345
2fcf1e0d 13462003-01-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1347
1348 * config/sparc/gmon-sol2.c (moncontrol, monstartup, _mcleanup,
1349 internal_mcount): Don't use PARAMS.
1350 (monstartup, _mcleanup, internal_mcount, moncontrol): Convert to
1351 ISO C style.
1352 (internal_mcount): Use __attribute__, not ATTRIBUTE_UNUSED.
1353
62968534 13542003-01-13 Andreas Schwab <schwab@suse.de>
1355
1356 * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
1357 directive.
1358
0c90f901 13592003-01-13 Kazu Hirata <kazu@cs.umass.edu>
1360
1361 * config/h8300/h8300.md (*andsi3_lshift_n_sb): New.
1362 (*iorsi3_and_lshiftrt_n_sb): Likewise.
1363
e915f664 13642003-01-12 Mark Mitchell <mark@codesourcery.com>
1365
1366 PR c++/9264
1367 * c-lex.c (c_lex): Set the token value to error_mark_node for
1368 invalid numeric constants.
1369
04ea9445 13702003-01-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1371
1372 * c-pch.c (asm_file_startpos): Change to `long'.
1373 (pch_init): Use ftell, not ftello.
1374 (c_common_write_pch): Use ftell/fseek, not ftello/fseeko.
1375 Use `long' instead of `off_t'.
1376 (c_common_read_pch): Likewise.
1377 * ggc-common.c (gt_pch_save): Use long/ftell instead of
1378 off_t/ftello.
1379
5ff01bda 13802003-01-12 Alan Modra <amodra@bigpond.net.au>
1381
1382 * expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
1383
1b5baf62 13842003-01-11 Richard Earnshaw (rearnsha@arm.com)
1385
1386 * arm-protos.h (struct cpp_reader): Add declaration.
1387
8c9a6c4a 1388Sat Jan 11 11:02:58 CET 2003 Jan Hubicka <jh@suse.cz>
1389
1390 PR target/9068
1391 * i386.c (output_fp_compare): Fix typo.
1392
7d6fc2e1 13932003-01-10 David Edelsohn <edelsohn@gnu.org>
1394
1395 * config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
1396
6674394e 13972003-01-10 Geoffrey Keating <geoffk@apple.com>
1398
15da80c1 1399 * Makefile.in (parsedir): New variable.
1400 (docobjdir): New variable.
6ed6b935 1401 (c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o,
15da80c1 1402 gengtype-lex.c, gengtype-yacc.c): Use parsedir.
1403 (info, cpp.info, gcc.info, gccint.info, gccinstall.info,
1404 cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
6ed6b935 1405 gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man):
15da80c1 1406 Use docobjdir.
1407 * objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
1408 objc.maintainer-clean): Use parsedir.
1409
94c331ec 1410 * varasm.c (struct constant_descriptor_rtx): Remove unused
1411 `label' field.
1412
6674394e 1413 * toplev.c (documented_lang_options): Document -Winvalid-pch.
1414
9cd47842 14152003-01-10 Richard Henderson <rth@redhat.com>
1416
1417 * config/alpha/alpha.h (NO_PROFILE_COUNTERS): Set.
1418 (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Kill.
1419
bfef7f63 14202003-01-10 Richard Henderson <rth@redhat.com>
1421
1422 * combine.c (make_compound_operation): Use SCALAR_INT_MODE_P,
1423 not INTEGRAL_MODE_P when widening extensions.
1424
cf1d67e3 14252003-01-10 Richard Henderson <rth@redhat.com>
1426
1427 * config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
1428
6d7e356a 14292003-01-10 Geoffrey Keating <geoffk@apple.com>
1430
83142a4c 1431 * ggc-page.c (ggc_collect): Avoid overflow computing
1432 min_expand.
1433
6d7e356a 1434 * Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
1435 (RANLIB_TEST_FOR_TARGET): Delete. Don't pass down to sub-makes.
1436 Remove calls.
1437 * mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.
1438
4b5189c1 1439Fri Jan 10 22:05:35 CET 2003 Jan Hubicka <jh@suse.cz>
1440
1441 * ifcvt.c (noce_try_addcc): Do not call emit_conditional_add
1442 with weird operands.
1443
42b11544 14442003-01-10 Dale Johannesen <dalej@apple.com>
6d7e356a 1445
1446 * calls.c (load_register_parameters): Add is_sibcall, sibcall_failure
1447 parameters. Call check_sibcall_argument_overlap if indicated.
1448 (check_sibcall_argument_overlap): Add mark_stored_args_map
1449 parameter. Don't mark parameter area as clobbered if not set.
1450 (expand_call): Adjust calls to above.
1451
14522003-01-10 Kelley Cook <kelleycook@comcast.net>
c96f876e 1453
1454 * configure.in (linker read-only and read-write section mixing):
1455 Squelch some assembler warnings.
1456 * configure: Likewise.
1457
33096195 14582003-01-10 Hartmut Penner <hpenner@de.ibm.com>
1459
6e8138db 1460 * doc/invoke.texi: Document -mtune, delete -mcpu
33096195 1461 option for S/390 and zSeries.
1462 * config/s390/s390.c (s390_tune_string) New variable.
1463 (s390_cpu_string) Delete variable.
1464 (override_options): Use s390_tune_string instead of
1465 s390_cpu_string.
1466 * config/s390/s390.h: (TARGET_OPTIONS) '-mtune' instead of '-mcpu'.
1467
b0ea98f9 14682003-01-10 Kazu Hirata <kazu@cs.umass.edu>
1469
1470 * config/h8300/h8300.md (*iorsi3_ashift_31): New.
1471
01e1c649 14722003-01-10 Josef Zlomek <zlomekj@suse.cz>
1473
1474 * jump.c (next_nonnote_insn_in_loop): New function.
1475 (copy_loop_headers): Use next_nonnote_insn_in_loop instead of
1476 next_nonnote_insn.
1477 (duplicate_loop_exit_test). Likewise.
1478
573aba85 14792003-01-09 Geoffrey Keating <geoffk@apple.com>
1480
1481 Merge from pch-branch:
1482
1483 2003-01-06 Geoffrey Keating <geoffk@apple.com>
1484
1485 * ggc-page.c (ggc_pch_read): Update the statistics after a PCH
1486 load.
1487
1488 2002-12-24 Geoffrey Keating <geoffk@apple.com>
1489
1490 * cpplib.c (count_registered_pragmas): New function.
1491 (save_registered_pragmas): New function.
1492 (_cpp_save_pragma_names): New function.
1493 (restore_registered_pragmas): New function.
1494 (_cpp_restore_pragma_names): New function.
1495 * cpphash.h (_cpp_save_pragma_names): Prototype.
1496 (_cpp_restore_pragma_names): Likewise.
1497 * cpppch.c (struct save_macro_item): Split from save_macro_data.
1498 (struct save_macro_data): New field 'saved_pragmas'.
1499 (save_macros): Update for changes to struct save_macro_data.
1500 (cpp_prepare_state): Call _cpp_save_pragma_names, update
1501 for changes to struct save_macro_data.
1502 (cpp_read_state): Call _cpp_restore_pragma_names, update
1503 for changes to struct save_macro_data.
1504
1505 * cpppch.c (cpp_read_state): Restore the hashtable references
1506 in the cpp_reader.
6ed6b935 1507
573aba85 1508 * tree.h (built_in_decls): Mark for PCH.
1509
1510 * dbxout.c (lastfile): Don't mark for PCH.
1511
1512 * ggc.h: Document PCH calls into memory managers.
1513
1514 2002-12-18 Geoffrey Keating <geoffk@apple.com>
1515
1516 * doc/invoke.texi (Precompiled Headers): Document the
1517 directory form of PCH.
1518 * cppfiles.c (validate_pch): New function.
1519 (open_file_pch): Search suitably-named directories for PCH files.
1520
1521 2002-12-14 Geoffrey Keating <geoffk@apple.com>
1522
1523 * doc/gty.texi (GTY Options): Document chain_next, chain_prev,
1524 reorder options.
1525 (Type Information): Mention that the information is also
1526 used to implement PCH.
1527 * doc/passes.texi (Passes): Improve documentation of
1528 language-specific files.
1529
1530 2002-12-11 Geoffrey Keating <geoffk@apple.com>
1531
1532 * gengtype.c (struct write_types_data): Add reorder_note_routine field.
1533 (struct walk_type_data): Add reorder_fn field.
1534 (walk_type): Process 'reorder' option.
1535 (write_types_process_field): Reorder parameters to gt_pch_note_object,
1536 call reorder_note_routine.
1537 (write_func_for_structure): Reorder parameters to gt_pch_note_object.
1538 (ggc_wtd): Update for change to struct write_types_data.
1539 (pch_wtd): Likewise.
1540 * ggc.h (gt_pch_note_object): Reorder parameters.
1541 (gt_handle_reorder): New definition.
1542 (gt_pch_note_reorder): New prototype.
1543 * ggc-common.c (struct ptr_data): Add reorder_fn.
1544 (gt_pch_note_object): Reorder parameters.
1545 (gt_pch_note_reorder): New.
1546 (gt_pch_save): Call reorder_fn.
1547 * stringpool.c (gt_pch_n_S): Update for change to gt_pch_note_object.
1548
1549 * dbxout.c (cwd): Don't mark for PCH.
1550
1551 2002-12-09 Geoffrey Keating <geoffk@apple.com>
1552
1553 * gengtype.c (finish_root_table): Fix some warnings.
1554 (write_root): Handle TYPE_STRING.
1555 * ggc.h (gt_ggc_m_S): Add prototype.
1556 * stringpool.c (gt_ggc_m_S): New function.
1557
1558 2002-11-30 Geoffrey Keating <geoffk@apple.com>
1559
1560 * dwarf2out.c (dw2_string_counter): New.
1561 (AT_string_form): Use it.
1562 (same_dw_val_p): Update for removal of hashtable.h hash tables.
1563
1564 2002-11-22 Geoffrey Keating <geoffk@apple.com>
1565
1566 * dbxout.c: Include gt-dbxout.h.
1567 (lastfile): Mark for PCH/GGC.
1568 (cwd): Likewise.
1569 (struct typeinfo): Likewise.
1570 (typevec): Likewise.
1571 (typevec_len): Likewise.
1572 (next_type_number): Likewise.
1573 (struct dbx_file): Likewise.
1574 (current_file): Likewise.
1575 (next_file_number): Likewise.
1576 (dbxout_init): Allocate typevec, struct dbx_file with GGC.
1577 (dbxout_start_source_file): Allocate struct dbx_file with GGC.
1578 (dbxout_end_source_file): Don't free struct dbx_file.
1579 (dbxout_type): Use GGC to allocate typevec.
1580 * Makefile.in (dbxout.o): Depend on gt-dbxout.h, $(GGC_H).
1581 (GTFILES): Add dbxout.c.
1582 (gt-dbxout.h): New rule.
6ed6b935 1583
573aba85 1584 * Makefile.in (c-pch.o): Add debug.h as dependency.
1585 * c-pch.c: Include debug.h.
1586 (pch_init): Call start_source_file to keep nesting right.
1587 (c_common_read_pch): Add orig_name parameter. Call
1588 start_source_file debug hook. Call end_source_file debug hook.
1589 * c-common.h (c_common_read_pch): Update prototype.
1590 * cpplib.h (struct cpp_callbacks): Add fourth field to read_pch
1591 callback.
1592 * cppfiles.c (struct include_file): Add new field `header_name'.
1593 (find_or_create_entry): Default it to `name'.
1594 (open_file_pch): Set it to the original header file searched for.
1595 (stack_include_file): Don't stack an empty buffer, just handle
1596 PCH files immediately. Pass header_name field to read_pch callback.
1597
1598 2002-11-19 Geoffrey Keating <geoffk@apple.com>
1599
1600 * function.c (funcdef_no): Mark to be saved in a PCH.
1601
1602 2002-11-15 Geoffrey Keating <geoffk@apple.com>
1603
1604 * ggc-page.c (ggc_pch_read): Remove unused 'bmap_size'.
1605
1606 * cpppch.c (cpp_read_state): Correct size reallocated for 'defn'.
1607
1608 2002-11-14 Geoffrey Keating <geoffk@apple.com>
1609
1610 * optabs.h (code_to_optab): Add GTY marker.
1611
1612 2002-11-13 Geoffrey Keating <geoffk@apple.com>
1613
1614 * Makefile.in (GTFILES): Add cpplib.h.
1615 * c-common.h (struct c_common_identifier): Don't skip 'node' field.
1616 * c-decl.c (build_compound_literal): Don't use var_labelno.
1617 * cpplib.h (struct cpp_hashnode): Use gengtype to mark.
1618 * dwarf2asm.c (dw2_force_const_mem): Don't use const_labelno.
1619 * varasm.c (const_labelno): Use gengtype to mark.
1620 (var_labelno): Likewise.
1621 (in_section): Likewise.
1622 (in_named_name): Likewise.
1623 (struct in_named_entry): Likewise.
1624 (in_named_htab): Likewise.
1625 (set_named_section_flags): Use GGC to allocate struct in_named_entry.
1626 (init_varasm_once): Use GGC to allocate in_named_htab.
1627 * config/darwin.c (current_pic_label_num): Mark for PCH.
1628
1629 2002-11-11 Geoffrey Keating <geoffk@apple.com>
1630
1631 * ggc-simple.c (init_ggc_pch): New stub procedure.
1632 (ggc_pch_count_object): Likewise.
1633 (ggc_pch_total_size): Likewise.
1634 (ggc_pch_this_base): Likewise.
1635 (ggc_pch_alloc_object): Likewise.
1636 (ggc_pch_prepare_write): Likewise.
1637 (ggc_pch_write_object): Likewise
1638 (ggc_pch_finish): Likewise.
1639 (ggc_pch_read): Likewise.
1640
1641 2002-11-08 Geoffrey Keating <geoffk@apple.com>
1642
1643 * c-pch.c (c_common_write_pch): Write the macro definitions after
1644 the GCed data.
1645 (c_common_read_pch): Call cpp_prepare_state. Restore the macro
1646 definitions after the GCed data.
1647 * cpplib.c (save_macros): New.
1648 (reset_ht): New.
1649 (cpp_write_pch_deps): Split out of cpp_write_pch.
1650 (cpp_write_pch_state): Split out of cpp_write_pch.
1651 (cpp_write_pch): Delete.
1652 (struct save_macro_data): Delete.
1653 (cpp_prepare_state): New.
1654 (cpp_read_state): Erase and restore initial macro definitions.
1655 * cpplib.h (struct save_macro_data): Forward-declare.
1656 (cpp_write_pch_deps): Prototype.
1657 (cpp_write_pch_state): Prototype.
1658 (cpp_write_pch): Delete prototype.
1659 (cpp_prepare_state): Prototype.
1660 (cpp_read_state): Add fourth argument.
1661
1662 2002-11-04 Geoffrey Keating <geoffk@apple.com>
1663
1664 * gengtype.c (adjust_field_rtx_def): Don't use skip on valid fields.
1665 (write_array): Remove warning.
1666
1667 * gengtype.c (contains_scalar_p): New.
1668 (finish_root_table): Add the table to all languages, even if it's
1669 empty.
1670 (write_roots): Output gt_pch_scalar_rtab.
1671 * ggc-common.c (gt_pch_save): Write out scalars.
1672 (gt_pch_restore): Read scalars back.
1673
1674 * ggc-page.c (OBJECTS_IN_PAGE): New macro.
1675 (struct page_entry): Delete pch_page field.
1676 (ggc_recalculate_in_use_p): Use OBJECTS_IN_PAGE.
1677 (clear_marks): Likewise.
1678 (sweep_pages): Likewise.
1679 (poison_pages): Likewise.
1680 (ggc_print_statistics): Likewise.
1681 (ggc_pch_read): Don't free objects read from a PCH.
1682 Properly set up in_use_p and page_tails.
1683
1684 2002-10-25 Geoffrey Keating <geoffk@apple.com>
1685
1686 * gengtype.c (struct write_types_data): New.
1687 (struct walk_type_data): Make `cookie' const; add extra
1688 prev_val item; add `orig_s' field.
1689 (walk_type): Update prev_val[3].
1690 (write_types_process_field): New.
1691 (write_func_for_structure): Take write_types_data structure.
1692 (write_types): New.
1693 (ggc_wtd): New.
1694 (pch_wtd): New.
1695 (write_types_local_process_field): New.
1696 (gc_mark_process_field): Delete.
1697 (write_local_func_for_structure): New.
1698 (gc_mark_func_name): Delete.
1699 (write_gc_types): Delete.
1700 (write_local): New.
1701 (finish_root_table): Don't include 'ggc_' in PFX.
1702 (write_root): Rename from write_root. Fill pchw field of structures.
1703 (write_array): New.
1704 (write_roots): Rename from write_gc_roots. Split out to write_array.
1705 Update to changes to other routines. Write gt_pch_cache_rtab table.
1706 (main): Write PCH walking routines.
1707 * ggc-common.c: Include toplev.h, sys/mman.h.
1708 (ggc_mark_roots): For cache hashtables, also mark the hash table
1709 and the array of entries.
1710 (saving_htab): New.
1711 (struct ptr_data): New.
1712 (POINTER_HASH): New.
1713 (gt_pch_note_object): New.
1714 (saving_htab_hash): New.
1715 (saving_htab_eq): New.
1716 (struct traversal_state): New.
1717 (call_count): New.
1718 (call_alloc): New.
1719 (compare_ptr_data): New.
1720 (relocate_ptrs): New.
1721 (write_pch_globals): New.
1722 (struct mmap_info): New.
1723 (gt_pch_save): New.
1724 (gt_pch_restore): New.
1725 * ggc-page.c (ROUND_UP_VALUE): New.
1726 (ROUND_UP): New.
1727 (struct page_entry): Add field `pch_page'.
1728 (init_ggc): Use ROUND_UP.
1729 (struct ggc_pch_data): Declare.
1730 (init_ggc_pch): New.
1731 (ggc_pch_count_object): New.
1732 (ggc_pch_total_size): New.
1733 (ggc_pch_this_base): New.
1734 (ggc_pch_alloc_object): New.
1735 (ggc_pch_prepare_write): New.
1736 (ggc_pch_write_object): New.
1737 (ggc_pch_finish): New.
1738 (ggc_pch_read): New.
1739 * ggc.h (gt_pointer_operator): New.
1740 (gt_note_pointers): New.
1741 (gt_pch_note_object): New prototype.
1742 (gt_pointer_walker): New.
1743 (struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
1744 (LAST_GGC_ROOT_TAB): Update.
1745 (gt_pch_cache_rtab): Declare.
1746 (gt_pch_scalar_rtab): Declare.
1747 (struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
1748 (LAST_GGC_CACHE_TAB): Update.
1749 (gt_pch_save_stringpool): Declare.
1750 (gt_pch_restore_stringpool): Declare.
1751 (gt_pch_p_S): Declare.
1752 (gt_pch_n_S): Declare.
1753 (struct ggc_pch_data): Forward-declare.
1754 (init_ggc_pch): Declare.
1755 (ggc_pch_count_object): Declare.
1756 (ggc_pch_total_size): Declare.
1757 (ggc_pch_this_base): Declare.
1758 (ggc_pch_alloc_object): Declare.
1759 (ggc_pch_prepare_write): Declare.
1760 (ggc_pch_write_object): Declare.
1761 (ggc_pch_finish): Declare.
1762 (ggc_pch_read): Declare.
1763 (gt_pch_save): Declare.
1764 (gt_pch_restore): Declare.
1765 * fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
1766 * emit-rtl.c (init_emit_once): Allocate const_int_htab,
1767 const_double_htab, mem_attrs_htab using GGC.
1768 * c-pch.c: Include ggc.h.
1769 (pch_init): Allow reading PCH file back.
1770 (c_common_write_pch): Call gt_pch_save.
1771 (c_common_read_pch): Call gt_pch_restore.
1772 * c-parse.in (init_reswords): Delete now-untrue comment.
1773 Allocate ridpointers using GGC.
1774 * c-objc-common.c (c_objc_common_finish_file): Write PCH before
1775 calling expand_deferred_fns.
1776 * c-common.h (ridpointers): Mark for GTY machinery.
1777 * Makefile.in (stringpool.o): Update dependencies.
1778 (c-pch.o): Update dependencies.
1779 (ggc-common.o): Update dependencies.
1780 * stringpool.c: Include gt-stringpool.h.
1781 (gt_pch_p_S): New.
1782 (gt_pch_n_S): New.
1783 (struct string_pool_data): New.
1784 (spd): New.
1785 (gt_pch_save_stringpool): New.
1786 (gt_pch_restore_stringpool): New.
1787 * tree.c (init_ttree): Make type_hash_table allocated using GC.
6ed6b935 1788
573aba85 1789 2002-10-04 Geoffrey Keating <geoffk@apple.com>
1790
1791 * gengtype.c (adjust_field_rtx_def): Don't pass size_t to printf.
1792 (output_mangled_typename): Don't pass size_t to printf.
1793
1794 * tree.h (union tree_type_symtab): Add tag to `address' field.
1795 (union tree_decl_u2): Add tag to 'i' field.
1796 * varasm.c (union rtx_const_un): Add tags to all fields.
1797 * gengtype.c (struct walk_type_data): New.
1798 (output_escaped_param): Take struct walk_type_data parameter.
1799 (write_gc_structure_fields): Delete.
1800 (walk_type): New.
1801 (write_gc_marker_routine_for_structure): Delete.
1802 (write_func_for_structure): New.
1803 (gc_mark_process_field): New.
1804 (gc_mark_func_name): New.
1805 (gc_counter): Delete.
1806 (write_gc_types): Use write_func_for_structure.
1807 (write_gc_roots): Use walk_type.
1808
1809 2002-10-02 Geoffrey Keating <geoffk@apple.com>
1810
1811 * ggc-common.c (ggc_mark_roots): Delete 'x'.
1812 (ggc_splay_dont_free): Fix warning about unused 'x'.
1813 (ggc_print_common_statistics): Remove warnings.
1814
1815 2002-10-01 Mike Stump <mrs@apple.com>
1816
6ed6b935 1817 * ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
1818 * gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
573aba85 1819
1820 2002-09-01 Geoffrey Keating <geoffk@redhat.com>
1821 Catherine Moore <clm@redhat.com>
1822
1823 * Makefile (c-pch.o): Update dependencies.
1824 (LIBCPP_OBJS): Add cpppch.o.
1825 (cpppch.o): New.
1826 * c-common.c (c_common_init): Don't call pch_init here.
1827 * c-common.h (c_common_read_pch): Update prototype.
1828 * c-lex.c (c_common_parse_file): Call pch_init here.
1829 * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-pch, -fpch-deps.
1830 (c_common_decode_option): Handle them.
1831 * c-pch.c: Include c-pragma.h.
1832 (save_asm_offset): Delete.
1833 (pch_init): Move contents of save_asm_offset into here, call
1834 cpp_save_state.
1835 (c_common_write_pch): Call cpp_write_pch.
1836 (c_common_valid_pch): Warn only when -Winvalid-pch. Call
1837 cpp_valid_state.
1838 (c_common_read_pch): Add NAME parameter. Call cpp_read_state.
6ed6b935 1839 * cppfiles.c (stack_include_file): Update for change to
573aba85 1840 parameters of cb.read_pch.
1841 * cpphash.h (struct cpp_reader): Add `savedstate' field.
1842 * cpplib.h (struct cpp_options): Add `warn_invalid_pch' and
1843 `restore_pch_deps' fields.
1844 (struct cpp_callbacks): Add NAME parameter to `read_pch'.
1845 (cpp_save_state): Prototype.
1846 (cpp_write_pch): Prototype.
1847 (cpp_valid_state): Prototype.
1848 (cpp_read_state): Prototype.
1849 * cpppch.c: New file.
1850 * flags.h (version_flag): Remove prototype.
1851 * mkdeps.c (deps_save): New.
1852 (deps_restore): New.
1853 * mkdeps.h (deps_save): Prototype.
1854 (deps_restore): Prototype.
1855 * toplev.c (late_init_hook): Delete.
1856 (version_flag): Make static again.
1857 (compile_file): Don't call late_init_hook.
1858 * toplev.h (late_init_hook): Delete.
1859 * doc/cppopts.texi: Document -fpch-deps.
1860 * doc/invoke.texi (Warning Options): Document -Winvalid-pch.
1861
1862 2002-08-27 Geoffrey Keating <geoffk@redhat.com>
1863
1864 * c-pch.c (c_common_write_pch): Rename from c_write_pch, change
1865 callers.
1866 (c_common_valid_pch): Rename from c_valid_pch, change callers.
1867 (c_common_read_pch): Rename from c_read_pch, change callers.
1868
1869 * c-opts.c (COMMAND_LINE_OPTIONS): Allow -output-pch= to have
1870 a space between it and its argument.
1871
1872 2002-08-24 Geoffrey Keating <geoffk@redhat.com>
1873
1874 * c-pch.c: New file.
1875 * toplev.h (late_init_hook): Declare.
1876 * toplev.c (late_init_hook): Define.
1877 (version_flag): Make globally visible.
1878 (compile_file): Call late_init_hook.
1879 (init_asm_output): Make output file seekable.
1880 * gcc.c (default_compilers): Update c-header rule.
1881 * flags.h (version_flag): Declare.
1882 * cpplib.h (struct cpp_callbacks): Add 'valid_pch' and 'read_pch'
1883 fields.
1884 * cppfiles.c (struct include_file): Add 'pch' field.
1885 (INCLUDE_PCH_P): New.
1886 (open_file_pch): New.
1887 (stack_include_file): Handle PCH files specially.
1888 (find_include_file): Call open_file_pch instead of open_file.
1889 (_cpp_read_file): Explain why open_file is used instead of
1890 open_file_pch.
1891 * c-opts.c (c_common_decode_option): Correct OPT__output_pch case.
1892 * c-objc-common.c (c_objc_common_finish_file): Call c_write_pch.
1893 * c-lex.c (init_c_lex): Set valid_pch and read_pch fields
1894 in cpplib callbacks.
1895 * c-common.c (pch_file): Correct comment.
1896 (allow_pch): Define.
1897 (c_common_init): Call pch_init.
1898 * c-common.h (allow_pch): Declare.
1899 (pch_init): Declare.
1900 (c_valid_pch): Declare.
1901 (c_read_pch): Declare.
1902 (c_write_pch): Declare.
1903 * Makefile.in (c-pch.o): New.
1904 (C_AND_OBJC_OBJS): Add c-pch.o.
1905 * doc/invoke.texi (Precompiled Headers): Add index entries,
1906 complete truncated paragraph.
1907
1908 2002-08-17 Geoffrey Keating <geoffk@redhat.com>
1909
1910 * c-common.c: (pch_file): Define.
1911 * c-common.h (pch_file): Declare.
1912 * c-opts.c (COMMAND_LINE_OPTIONS): Add --output-pch=.
1913 (missing_arg): Require --output-pch= to have an argument.
1914 (c_common_decode_option): Handle --output-pch=.
1915 * gcc.c: Document new %V.
1916 (default_compilers): Handle compiling C header files.
1917 (do_spec_1): Implement %V.
1918 (main): Handle "gcc foo.h" without trying to run linker.
1919 * doc/invoke.texi (Invoking GCC): Add new menu item for PCH.
1920 (Overall Options): Document what the driver does with header files,
1921 document new -x option possibilities.
1922 (Invoking G++): More documentation for PCH.
1923 (Precompiled Headers): New.
1924
1925 2002-08-09 Geoffrey Keating <geoffk@redhat.com>
1926
1927 * ggc.h: Don't include varray.h. Rearrange functions to be more
1928 organized.
1929 (ggc_add_root): Delete.
1930 (ggc_mark_rtx): Delete.
1931 (ggc_mark_tree): Delete.
1932 (struct ggc_statistics): Remove contents.
1933 * ggc-common.c: Remove unneeded includes.
1934 (struct ggc_root): Delete.
1935 (roots): Delete.
1936 (ggc_add_root): Delete.
1937 (ggc_mark_roots): Don't mark `roots'. Call ggc_mark_stringpool.
1938 (ggc_print_common_statistics): Remove most of the contents.
1939 * Makefile.in (GGC_H): No longer uses varray.h.
1940 (ggc-common.o): Update dependencies.
1941 (c-parse.o): Add varray.h to dependencies.
1942 (c-common.o): Add varray.h.
1943 * stringpool.c (mark_ident): Use mangled name for tree marker routine.
1944 (mark_ident_hash): Rename to ggc_mark_stringpool.
1945 (init_stringpool): Don't use ggc_add_root.
1946 * c-parse.in: Include varray.h.
1947 * c-common.c: Include varray.h.
1948 * objc/Make-lang.in (objc-act.o): Add varray.h.
1949 * objc/objc-act.c: Include varray.h.
1950
1951 2002-07-25 Geoffrey Keating <geoffk@redhat.com>
1952
1953 * dwarf2out.c (dw_cfi_oprnd2_desc): Fix ISO-only function definition.
1954 (dw_cfi_oprnd1_desc): Likewise.
1955
1956 2002-07-17 Geoffrey Keating <geoffk@redhat.com>
1957
1958 * config/alpha/alpha.c (struct alpha_links): Use gengtype to mark;
1959 move out of ifdef.
1960 (alpha_links): Use gengtype to mark; move out of ifdef.
1961 (mark_alpha_links_node): Delete.
1962 (mark_alpha_links): Delete.
1963 (alpha_need_linkage): Use GGC to allocate splay tree, struct
1964 alpha_links, strings. Don't use ggc_add_root.
1965 * ggc-common.c (ggc_splay_alloc): New.
1966 (ggc_splay_dont_free): New.
1967 * ggc.h (ggc_mark_rtx): Update for changed name mangling.
1968 (ggc_mark_tree): Likewise.
1969 (splay_tree_new_ggc): New.
1970 (ggc_splay_alloc): Declare.
1971 (ggc_splay_dont_free): Declare.
1972 * dwarf2asm.c: Include gt-dwarf2asm.h.
1973 (mark_indirect_pool_entry): Delete.
1974 (mark_indirect_pool): Delete.
1975 (indirect_pool): Use gengtype to mark.
1976 (dw2_force_const_mem): Don't use ggc_add_root.
1977 * Makefile.in (dwarf2asm.o): Depend on gt-dwarf2asm.h.
1978 (GTFILES): Add SPLAY_TREE_H, dwarf2asm.c.
1979 (gt-dwarf2asm.h): Depend on s-gtype.
1980
1981 2002-07-08 Geoffrey Keating <geoffk@redhat.com>
1982
1983 * tree.h (union tree_type_symtab): Mark `die' field.
1984 * Makefile.in (dwarf2out.o): Update dependencies.
1985 * dwarf2out.c: Use GGC to allocate all structures. Convert to htab_t
1986 hash tables.
1987 (dw_cfi_oprnd1_desc): New function.
1988 (dw_cfi_oprnd2_desc): New function.
1989 (indirect_string_alloc): Delete.
1990 (debug_str_do_hash): New function.
1991 (debug_str_eq): New function.
1992 (mark_limbo_die_list): Delete.
1993 (dwarf2out_init): Don't call ggc_add_root.
1994
58ada791 19952003-01-09 Vladimir Makarov <vmakarov@redhat.com>
1996
1997 The following changes are merged from itanium-sched-branch:
1998
1999 2003-01-08 David Edelsohn <edelsohn@gnu.org>
2000
2001 * doc/md.texi: Clarify assignment of units to automata description.
2002
2003 2003-01-08 Vladimir Makarov <vmakarov@redhat.com>
2004
2005 * genautomata.c (unit_decl): Remove members
2006 `the_same_automaton_unit' and
2007 `the_same_automaton_message_reported_p'.
2008 (process_unit_to_form_the_same_automaton_unit_lists,
2009 form_the_same_automaton_unit_lists_from_regexp,
2010 form_the_same_automaton_unit_lists, the_same_automaton_lists):
2011 Remove them.
2012 (annotation_message_reported_p): New global variable.
2013 (check_unit_distribution_in_reserv,
2014 check_regexp_units_distribution): New functions.
2015 (check_unit_distributions_to_automata): Rewrite it.
2016
2017 2003-01-04 Vladimir Makarov <vmakarov@redhat.com>
2018
2019 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
2020 Use continue instead of break if cycle is too big.
2021
2022 2002-12-20 Vladimir Makarov <vmakarov@redhat.com>
2023
2024 * genautomata.c (check_unit_distributions_to_automata): Output at
2025 most one message for a unit.
2026 (process_unit_to_form_the_same_automaton_unit_lists): Check
2027 automaton of units instead of units themself.
2028
2029 * doc/md.texi: Describe the constraint about assigning unit to
2030 automata.
2031
2032 2002-12-20 Jan Hubicka <jH@suse.cz>
2033 Vladimir Makarov <vmakarov@redhat.com>
2034
2035 * genautomata.c (unit_decl): Add new members `min_occ_cycle_num'
2036 and `in_set_p'.
2037 (gen_cpu_unit): Initialize the new members.
2038 (process_regexp_cycles): Calculate minimal finish cycle too. Set
2039 up `min_occ_cycle_num'.
2040 (evaluate_max_reserv_cycles): Change the function call.
2041 (CLEAR_BIT): New macro.
2042 (states_union, state_shift): Use the mask.
2043 (initiate_excl_sets, form_reserv_sets_list): Set up `in_set_p'.
2044 (form_reservs_matter): New function.
2045 (make_automaton): Call the function and use the mask.
2046 (estimate_one_automaton_bound): Take `min_occ_cycle_num' into
2047 account.
6ed6b935 2048
58ada791 2049 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
2050
2051 * config/ia64/itanium2.md (lfetch): Change the insn reservation.
2052
2053 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
2054
2055 * config/ia64/ia64.c (bundling): Try to insert 2 nops for M insn
2056 for Itanium.
2057
2058 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
2059
2060 * config/ia64/ia64.c (ia64_override_options): Make itanium2 as
2061 default cpu.
2062
2063 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
2064 2002-10-31 Dale Johannesen <dalej@apple.com>
2065
2066 * haifa-sched.c (find_set_reg_weight): New function.
2067 (find_insn_reg_weight): Use the new function.
2068 (schedule_block): Do sorting ready queue always
2069 after insn issue.
2070
2071 2002-11-27 Vladimir Makarov <vmakarov@redhat.com>
2072
2073 * config/ia64/ia64.c (bundling): Use MFI template instead of MLX.
2074
2075 2002-11-19 Vladimir Makarov <vmakarov@redhat.com>
2076
2077 * haifa-sched.c (choice_entry): New structure.
2078 (choice_stack, cycle_issued_insns): New variables.
2079 (max_issue): Rewrite it.
2080 (choose_ready): Set up ready_try for unknown insns too.
2081 (schedule_block): Allocate and free choice_stack. Set up
2082 and modify cycle_issued_insns.
2083
2084 * config/ia64/ia64.c (issue_nops_and_insn): Combine insn issue
2085 with and without filling the bundle.
2086 (bundling): Combine calls of issue_nops_and_insn.
6ed6b935 2087
58ada791 2088 2002-10-17 Vladimir Makarov <vmakarov@redhat.com>
2089
2090 * config/ia64/itanium1.md: New file.
2091
2092 * config/ia64/itanium2.md: New file.
2093
2094 * config/ia64/ia64.md: Move DFA descriptions into the new files.
2095 Remove the old pipeline description.
6ed6b935 2096
58ada791 2097 * config/ia64/ia64.c (ia64_override_options): Add aliases of
2098 itanium processor names.
6ed6b935 2099
58ada791 2100 2002-10-16 Vladimir Makarov <vmakarov@redhat.com>
2101
2102 * config/ia64/ia64.c (bundling): Print states for Itanium2 too.
2103 (ia64_reorg): Set up queried unit codes for Itanium2 too.
2104
2105 * config/ia64/ia64.md: Add descriptions for Itanium2.
2106
2107 2002-10-08 Vladimir Makarov <vmakarov@redhat.com>
2108
2109 * config/ia64/ia64.h (processor_type): New enumeration.
2110 (ia64_tune, ia64_tune_string): New external declarations.
2111 (TARGET_OPTIONS): Add option `tune='.
2112
2113 * config/ia64/ia64.c (ia64_tune, ia64_tune_string): New global
2114 variables.
2115 (ia64_override_options): Set up `ia64_tune'.
2116 (ia64_sched_reorder2): Set up `clocks' only for Itanium.
2117 (ia64_dfa_new_cycle): Set up `add_cycles' only for Itanium.
2118 (bundling): Add nops for MM-insns only for Itanium.
2119 (ia64_reorg): Allocate and free `clocks' and `add_cycles' only for
2120 Itanium.
2121
2122 * config/ia64/ia64.md (cpu): New attribute.
2123 (DFA description): Enable it only for Itanium.
6ed6b935 2124
58ada791 2125 2002-10-08 Vladimir Makarov <vmakarov@redhat.com>
2126 Richard Henderson <rth@redhat.com>
2127
2128 * config/ia64/ia64.h (MASK_TUNE_STOP_BITS): Rename it to
2129 MASK_EARLY_STOP_BITS.
2130 (TARGET_TUNE_STOP_BITS): Rename it to TARGET_EARLY_STOP_BITS.
2131 (TARGET_SWITCHES): Rename option `tune-stop-bits' to
2132 `early-stop-bits'.
6ed6b935 2133
58ada791 2134 * config/ia64/ia64.c (ia64_dfa_new_cycle,
2135 final_emit_insn_group_barriers): Use TARGET_EARLY_STOP_BITS
2136 instead of TARGET_TUNE_STOP_BITS.
6ed6b935 2137
58ada791 2138 * doc/invoke.texi: Rename option `-mtune-stop-bits' to
2139 `-mearly-stop-bits'.
2140
2141 * config/ia64/ia64.c (automata_option "v"): Comment it.
6ed6b935 2142
58ada791 2143 2002-10-07 Vladimir Makarov <vmakarov@redhat.com>
2144
6ed6b935 2145 * config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
58ada791 2146 New macros.
2147 (TARGET_SWITCHES): Add entries for the new option.
6ed6b935 2148
58ada791 2149 * config/ia64/ia64.c (dfa_stop_insn, last_scheduled_insn, rtx
2150 dfa_pre_cycle_insn, ia64_nop): Don't make them as roots for GC.
2151 (stops_p, stop_before_p, clocks_length, clocks, add_cycles): New
2152 global variables.
2153 (ia64_sched_reorder2): Set up `clocks'.
2154 (ia64_variable_issue): Set up `stops_p' and reset `stop_before_p'.
2155 (ia64_dfa_new_cycle): Set up add_cycle. Permit sorting ready
2156 queue when TARGET_TUNE_STOP_BITS.
2157 (bundling): Insert additional nops for MM-insns.
2158 (final_emit_insn_group_barriers): Add insertion of stop bits
2159 according `stops_p'.
2160 (ia64_reorg): Initiate the new varibales.
2161
2162 * doc/invoke.texi: Add description of option `-mtune-stop-bits'.
6ed6b935 2163
58ada791 2164 2002-10-02 Vladimir Makarov <vmakarov@redhat.com>
2165
2166 * haifa-sched.c (schedule_block): Modify INSN_TICK of depended
2167 insns at the end of block insn scheduling.
2168
2169 2002-09-30 Vladimir Makarov <vmakarov@redhat.com>
2170
2171 * sched-deps.c (remove_dependence, group_leader): Remove it.
2172 (add_dependence): Add dependence to group leader to.
2173 (set_sched_group_p): Add dependence to the first insn of the
2174 schedule group too.
2175 (sched_analyze_insn): Make dependence to jump as anti-dependence.
2176 Change true dependence by anti-dependence when
2177 `reg_pending_barrier'.
2178
2179 * sched-rgn.c (init_ready_list, can_schedule_ready_p,
2180 add_branch_dependences): Ignore schedule groups.
2181
2182 * sched-ebb.c (init_ready_list): Ditto.
2183
2184 * (move_insn, set_priorities): Ditto.
2185
2186 * config/ia64/ia64.c (ia64_sched_init): Check that schedule group
2187 flag is clear after reload.
2188 (adjust_cost): Change cost only for output dependencies.
6ed6b935 2189
58ada791 2190 * config/ia64/ia64.md: Add more insns into bypass for MM-insns.
6ed6b935 2191
58ada791 2192 2002-09-26 Vladimir Makarov <vmakarov@redhat.com>
2193
2194 * Makefile.in (sched-ebb.o): Add `$(TARGET_H)' to the entry.
2195
2196 * target.h (gcc_target): Add member
2197 `dependencies_evaluation_hook'.
2198
2199 * target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New
2200 macro.
2201 (TARGET_SCHED): Add initiatialization of the new member.
2202
2203 * sched-ebb.c: Include `target.h'.
2204 (schedule_ebb): Call `dependencies_evaluation_hook'.
2205
2206 * sched-rgn.c (schedule_region): Call
2207 `dependencies_evaluation_hook'.
2208
2209 * config/ia64/ia64.c (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
2210 New macro.
2211 (ia64_dependencies_evaluation_hook): New function.
2212
2213 * doc/tm.texi (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
2214 Describe the new hook.
6ed6b935 2215
58ada791 2216 2002-09-25 Vladimir Makarov <vmakarov@redhat.com>
2217
2218 * target.h (gcc_target): Add members
2219 `first_cycle_multipass_dfa_lookahead_guard' and `dfa_new_cycle'.
2220
2221 * target-def.h (TARGET_SCHED_DFA_NEW_CYCLE,
2222 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): New
2223 macros.
2224 (TARGET_SCHED): Add initiatialization of the new members.
2225
2226 * haifa-sched.c (schedule_insn): Update last_clock_var for the 1st
2227 insn scheduling too.
2228 (choose_ready): Use `first_cycle_multipass_dfa_lookahead_guard' to
2229 initialize `ready_try'.
2230 (schedule_block): Use `dfa_new_cycle'. Sort `ready' only unless
2231 `dfa_new_cycle' says not to do it.
6ed6b935 2232
58ada791 2233 * config/ia64/ia64.md: Add DFA Itanium 1 description for insn
2234 bundling.
2235
2236 * config/ia64/ia64.h (CPU_UNITS_QUERY): New macro.
2237
2238 * config/ia64/ia64.c: Include `hashtab.h'.
2239 (ia64_first_cycle_multipass_dfa_lookahead_guard,
2240 ia64_dfa_new_cycle, final_emit_insn_group_barriers,
2241 ia64_dfa_sched_reorder, get_free_bundle_state, free_bundle_state,
2242 initiate_bundle_states, finish_bundle_states, bundle_state_hash,
2243 bundle_state_eq_p, insert_bundle_state,
2244 initiate_bundle_state_table, finish_bundle_state_table,
2245 try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
2246 get_template, get_next_important_insn, bundling): New functions.
2247 (ia64_internal_sched_reorder): Remove it.
2248 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
2249 TARGET_SCHED_DFA_NEW_CYCLE): New macros.
2250 (ia64_safe_itanium_requires_unit0): Remove it.
2251 (group_barrier_needed_p): Place group barrier right before a real
2252 insn.
2253 (bundle, ia64_packet, NR_PACKETS, type_names, packets, packets):
2254 Remove them.
2255 (bundle_name): New variable.
2256 (_0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_, _0mbb_, _0mib_, _0mmb_,
2257 _0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_, _1mmf_, _1bbb_, _1mbb_,
2258 _1mib_, _1mmb_, _1mfb_, _1mlx_, pos_1, pos_2, pos_3, pos_4, pos_5,
2259 pos_6, dfa_stop_insn, last_scheduled_insn, dfa_state_size,
2260 temp_dfa_state, prev_cycle_state): New global variables.
2261 (insn_matches_slot, maybe_rotate, finish_last_head,
2262 rotate_one_bundle, rotate_one_bundles, nop_cycles_until,
2263 cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
2264 find_best_packet, itanium_reorder, dump_current_packet,
2265 schedule_stop, gen_nop_type, ia64_emit_nops): Remove them.
2266 (sched_data, sched_ready, sched_types): Remove them.
2267 (ia64_sched_init): Initiate only `last_scheduled_insn' and call
2268 `init_insn_group_barriers'.
2269 (ia64_sched_reorder, ia64_sched_reorder2): Call
2270 ia64_dfa_sched_reorder.
2271 (ia64_variable_issue): Rewrite it.
2272 (bundle_state): New structure.
2273 (index_to_bundle_states, bundle_states_num,
2274 allocated_bundle_states_chain, free_bundle_state_chain): New
2275 global variables.
2276 (ia64_sched_finish): Add stop bits and call `bundling' after the
2277 2nd insn scheduling.
2278 (ia64_use_dfa_pipeline_interface): Return zero always.
2279 (ia64_first_cycle_multipass_dfa_lookahead): Return 6 for the 2nd
2280 insn scheduling.
2281 (ia64_init_dfa_pre_cycle_insn): Initialize `dfa_state_size',
2282 `temp_dfa_state', `prev_cycle_state', and `dfa_stop_insn'.
2283 (ia64_reorg): Add bundling insns.
2284
2285 * doc/tm.texi
2286 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
2287 TARGET_SCHED_DFA_NEW_CYCLE): Describe the new hooks.
6ed6b935 2288
58ada791 2289 2002-09-23 Vladimir Makarov <vmakarov@redhat.com>
2290
2291 * config/ia64/ia64.md: Add Itanium1 DFA description.
2292 (itanium_class): Add `nop' and `pre_cycle'. Add
2293 define_function_unit for `nop'.
2294 (nop): Change attribute `itanium_class'.
2295 (pre_cycle): New define_insn.
2296
2297 * config/ia64/ia64-protos.h (bundling_p): New external variable.
2298 (ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
2299 ia64_produce_address_p): New function prototypes.
2300
2301 * config/ia64/ia64.c (bundling_p): New global variable.
2302 (ia64_use_dfa_pipeline_interface,
2303 ia64_first_cycle_multipass_dfa_lookahead,
2304 ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn): New
2305 functions.
2306 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
2307 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
2308 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
2309 TARGET_SCHED_DFA_PRE_CYCLE_INSN): New macros.
2310 (ia64_sched_init, ia64_sched_reorder, ia64_sched_reorder2,
2311 ia64_variable_issue, ia64_sched_finish): Do nothing before reload.
2312 (dfa_pre_cycle_insn): New variable.
6ed6b935 2313
58ada791 2314 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
2315
2316 * rtl.def (FINAL_PRESENCE_SET, FINAL_ABSENCE_SET): New
2317 constructions.
2318
2319 * genattrtab.h (gen_final_presence_set, gen_final_absence_set):
2320 New function prototypes.
2321
2322 * genattrtab.c (main): Process the new constructions.
2323
2324 * genautomata.c (gen_presence_absence_set,
2325 process_presence_absence_names, process_presence_absence_patterns,
2326 add_presence_absence, check_absence_pattern_sets): Add parameter
2327 `final_p'.
2328 (unit_decl): Add new members `final_presence_list' and
2329 `final_absence_list'.
2330 (unit_pattern_rel_decl): Add new member `final_p'.
2331 (gen_final_presence_set, gen_final_absence_set): New functions.
2332 (process_decls): Use member `final_p'.
2333 (temp_reserv): New global variable.
2334 (reserv_sets_are_intersected): Add processing `final_presence_set'
2335 and `final_absence_set'.
2336 (initiate_states): Allocate `temp_reserv'.
2337 (unit_final_presence_set_table, unit_final_absence_set_table): New
2338 gloabal variables.
2339 (initiate_presence_absence_pattern_sets): Initiate them.
2340 (NDFA_to_DFA): Fix typo.
2341 (output_description): Output `final_presence_set' and
2342 `final_absence_set'.
2343
2344 * doc/md.texi (final_presence_set, final_absence_set): Describe
2345 them.
6ed6b935 2346
58ada791 2347 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
2348
2349 * genautomata.c (transform_3): Process a missing case (nothing on
2350 unit place).
2351
2352 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
2353
2354 * rtl.def (DEFINE_QUERY_CPU_UNIT, AUTOMATA_OPTION): Change
2355 comments about queried units and the minimization.
6ed6b935 2356
58ada791 2357 * doc/md.texi: Ditto.
6ed6b935 2358
58ada791 2359 * genautomata.c (create_composed_state): Return nonzero if the new
2360 state has been created.
2361 (first_cycle_unit_presence): New function.
2362 (state_is_differed): Add new parameter. Use the new function.
2363 Take queried units into account.
2364 (partition_equiv_class): Pass additional parameter to
2365 `state_is_differed'.
2366 (merge_states): Process composed states too.
2367 (build_automaton, create_automata, output_min_issue_delay_table,
2368 output_tables, output_statistics): Output more information.
2369 (output_reserved_units_table): Use function
2370 `first_cycle_unit_presence'.
2371 (output_tables): Output table of queried units even if the
2372 minimization is switched on.
2373 (write_automata): Output code for querying units even if the
2374 minimization is switched on.
6ed6b935 2375
58ada791 2376 2002-09-19 Vladimir Makarov <vmakarov@redhat.com>
2377
2378 * rtl.def (PRESENCE_SET, ABSENCE_SET): Add comments about extended
2379 syntax of the constructions.
6ed6b935 2380
58ada791 2381 * doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
2382 extended syntax of the constructions.
6ed6b935 2383
58ada791 2384 * genautomata.c (unit_rel_decl): Rename it to
2385 `unit_pattern_rel_decl'.
2386 (pattern_set_el, pattern_reserv): New structures.
2387 (pattern_set_el_t, pattern_reserv_t): New types.
2388 (gen_presence_absence_set): New function.
2389 (process_presence_absence): Remove it.
2390 (process_presence_absence_names,
2391 process_presence_absence_patterns): New functions.
2392 (get_presence_absence_set): Remove it.
2393 (initiate_presence_absence_sets): Rename it on
2394 `initiate_presence_absence_pattern_sets'. Use new function
2395 `form_reserv_sets_list'.
2396 (form_reserv_sets_list, check_presence_pattern_sets,
2397 check_absence_pattern_sets, output_pattern_set_el_list): New
2398 functions.
2399 (unit_decl): Change types of members `presence_list' and
2400 `absence_list'.
2401 (unit_rel_decl): Rename member `names_num' to `all_names_num'.
2402 (decl): Change types of members `excl', `presence', and `absence'.
2403 (get_str_vect): Rename `par_flag' to `paren_p'. Add null element
2404 at the end of the vector.
2405 (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
2406 gen_automaton, gen_regexp_repeat, gen_regexp_allof,
2407 gen_regexp_oneof, gen_regexp_sequence): Use boolean values.
2408 (gen_presence_set, gen_absence_set): Use new function
2409 `gen_presence_absence_set'.
2410 (add_presence_absence): Process `pattern_list' instead of
2411 `source_list'.
2412 (process_decls): USe new functions
2413 `process_presence_absence_names' and
2414 `process_presence_absence_patterns'.
2415 (reserv_sets_are_intersected): Use new function
2416 `check_presence_pattern_sets'.
2417 (presence_set, absence_set): Remove them.
2418 (unit_presence_set_table, unit_absence_set_table): New global
2419 variables.
2420 (output_description): Use new function
2421 `output_pattern_set_el_list'.
2422 (generate): Use `initiate_presence_absence_pattern_sets'.
6ed6b935 2423
58ada791 2424 2002-09-18 Vladimir Makarov <vmakarov@redhat.com>
2425
2426 * genattr.c (main): Add output of prototype of new interface
2427 function `dfa_clean_insn_cache'.
2428
2429 * genautomata.c (output_dfa_clean_insn_cache_func): New function.
2430 (DFA_CLEAN_INSN_CACHE_FUNC_NAME): New macro.
2431 (output_dfa_start_func): Use function `dfa_clean_insn_cache' in
2432 the generated code.
2433 (write_automata): Call the new function.
6ed6b935 2434
40655984 2435Thu Jan 9 22:47:38 CET 2003 Jan Hubicka <jh@suse.cz>
2436
573aba85 2437 * i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
2438 correctly.
40655984 2439
bc00c454 24402003-01-09 Paolo Carlini <pcarlini@unitus.it>
2441
2442 * doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
2443
48ea5577 2444Thu Jan 9 17:26:40 2003 J"orn Rennecke <joern.rennecke@superh.com>
2445
2446 * defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
2447 (EXTRA_ADDRESS_CONSTRAINT): Likewise.
2448 (CONSTRAINT_LEN): Provide default definition.
2449 (CONST_OK_FOR_CONSTRAINT_P): Likewise.
2450 (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise.
2451 (EXTRA_CONSTRAINT_STR): Likewise.
2452 (REG_CLASS_FROM_CONSTRAINT): Define.
2453 * genoutput.c (check_constraint_len, constraint_len): New functions.
2454 (validate_insn_alternatives): Check CONSTRAINT_LEN for each
2455 constraint / modifier.
2456 (gen_insn): Call check_constraint_len.
2457 * local-alloc.c (block_alloc): Update to use new macros / pass
2458 second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT.
2459 * ra-build.c (handle_asm_insn): Likewise.
2460 * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
2461 (constrain_operands, peep2_find_free_register): Likewise.
2462 * regclass.c (record_operand_costs, record_reg_classes): Likewise.
2463 * regmove.c (find_matches): Likewise.
2464 * reload.c (push_secondary_reload, find_reloads): Likewise.
2465 (alternative_allows_memconst): Likewise.
2466 * reload1.c (maybe_fix_stack_asms): Likewise.
2467 (reload_cse_simplify_operands): Likewise.
2468 * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
2469 * doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document.
2470 (CONST_OK_FOR_CONSTRAINT_P): Likewise.
2471 (CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise.
2472 (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument.
2473 * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise.
f35a3d21 2474
2475 * sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
2476
3a013abf 24772003-01-09 Kazu Hirata <kazu@cs.umass.edu>
2478
2479 * config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn
2480 length.
2481 (*extzv_1_r_h8300hs): Likewise.
2482 (*extzv_1_r_inv_h8300): Likewise.
2483 (*extzv_1_r_inv_h8300hs): Likewise.
2484
b2589b50 24852003-01-09 Kazu Hirata <kazu@cs.umass.edu>
2486
2487 * config/h8300/h8300.h (PREDICATE_CODES): New.
2488
b104dcf8 24892003-01-09 Kazu Hirata <kazu@cs.umass.edu>
2490
2491 * config/h8300/h8300.md (*addsi3_upper): New.
2492 (*iorsi3_shift): Likewise.
2493 (two splitters): Likewise.
2494 (*addsi3_shift): Likewise.
2495 (two splitters): Likewise.
2496
d16f9b9d 24972003-01-09 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
2498
2499 * Makefile.in (optabs.o): Add dependency on basic-block.h.
2500 * basic-block.h (control_flow_insn_p): Fuction was exported.
2501 * cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
2502 * optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
2503 notes only when the region is contained in a single basic block.
2504
c52051b7 25052003-01-09 Eric Botcazou <ebotcazou@libertysurf.fr>
2506
2507 PR inline-asm/8832
2508 * tree.h (expand_asm): New prototype.
2509 * stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
2510 to do so.
2511 * c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
2512 down to expand_asm.
2513 * c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
2514 * rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
2515 (volatile_refs_p) [ASM_INPUT]: Likewise.
2516 (side_effects_p) [ASM_INPUT]: Likewise.
2517
aadef98c 2518Thu Jan 9 12:00:36 CET 2003 Jan Hubicka <jh@suse.cz>
2519
2520 * i386.md (*mul*): FIx constraints; remove confused comment; fix
2521 athlon_decode attributes
2522 (imul/k8 optimization peep2s): New.
2523
2524 * athlon.md (athlon_ssecmp*): Handle ssecomi as well.
2525 * i386.md (type attribute): Add ssecomi.
2526 (unit, memory, prefix attributes): Handle ssecomi.
2527 (cvt?2? patterns): Fix athlon_decode attribute
2528 (comi patterns): Set attribute to ssecomi.
2529
2530 PR target/8343
2531 * m68k.md (umulsidi, mulsidi expanders): Use register operand.
2532
ad598604 25332003-01-09 Richard Sandiford <rsandifo@redhat.com>
2534
2535 * config/mips/mips.h (PREDICATE_CODES): Add ADDRESSOF for predicates
2536 that match register_operands.
2537 * config/mips/mips.c (reg_or_0_operand, true_reg_or_0_operand): Make
2538 register_operand the default case.
2539
66fb954a 25402003-01-09 Eric Botcazou <ebotcazou@libertysurf.fr>
2541
2542 PR c/8032
2543 * c-typeck.c (process_init_element) [RECORD_TYPE]: For
2544 an empty element, do not advance the pointer to unfilled
2545 fields if there are pending initializers.
2546
36f95905 25472003-01-09 Christian Cornelssen <ccorn@cs.tu-berlin.de>
2548
2549 * Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
2550 (install-gcc-tooldir, install-cpp, installdirs,
2551 install-common, install-driver, install-info, install-man,
2552 install-headers, install-include-dir, install-headers-tar,
2553 install-headers-cpio, install-headers-cp, install-mkheaders,
2554 install-collect2, uninstall): Prepend $(DESTDIR) to
2555 destination paths in all (un)installation commands.
2556 (install-driver): Rewrite $(LN) commands to support DESTDIR
2557 with "ln" as well as with "ln -s".
2558 (installdirs): Simply use mkinstalldirs.
2559 (install-libgcc, install-multilib): Also pass DESTDIR.
2560 * mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
2561 installation destination variable ldir.
2562 * config/alpha/t-osf4, config/arm/t-netbsd,
2563 config/ia64/t-hpux, config/mips/t-iris5-6,
2564 config/pa/t-hpux-shlib, config/rs6000/t-aix43,
2565 config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
2566 config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
2567 in the definition of SHLIB_INSTALL.
2568 * config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
2569 $(libsubdir) in the installation commands.
2570
9df2aa62 25712003-01-08 Kaz Kojima <kkojima@gcc.gnu.org>
2572
2573 * config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a
2574 non-optimizing compile.
2575 (ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing
2576 compile.
2577
b09c5db2 25782003-01-08 Douglas B Rupp <rupp@gnat.com>
2579
2580 * config/i386/i386.c (ix86_attribute_table): Add new attributes
2581 ms_struct and gcc_struct.
2582 (ix86_handle_struct_attribute): New function.
2583 (ix86_ms_bitfield_layout_p): Update to take new attributes
2584 into account.
2585 * doc/extend.texi: Document new attributes.
2586 * testsuite/gcc.dg/bf-ms-attrib.c: New test.
2587
77f9d5bb 25882003-01-08 Danny Smith <dannysmith@users.sourceforge.net>
2589
6ed6b935 2590 PR optimization/8750
2591 * config/i386/i386.c (ix86_expand_prologue): Don't allow
2592 scheduling pass to move insns across __alloca call.
77f9d5bb 2593
192e987d 25942003-01-08 Dale Johannesen <dalej@apple.com>
2595
6ed6b935 2596 * config/rs6000/rs6000.md: Replace *store_multiple_string
2597 with *stmsi[3-8].
192e987d 2598
4314bcbc 25992003-01-08 Jeff Sturm <jsturm@one-point.com>
2600
2601 PR target/9210
2602 * config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
2603 Set SYMBOL_REF_FLAG on local data sym_ref.
2604
60623ba6 26052003-01-08 Dale Johannesen <dalej@apple.com>
6ed6b935 2606
2607 * function.c (assign_parms): Don't set pretend_args_size if
60623ba6 2608 REG_PARM_STACK_SPACE.
6ed6b935 2609 config/rs6000/rs6000.c (setup_incoming_varargs): Don't set
60623ba6 2610 pretend_args_size.
2611
e1a0f636 26122003-01-08 Nathanael Nerode <neroden@gcc.gnu.org>
2613
2614 * gcc.hlp: Delete.
2615
058706f0 2616Thu Jan 9 00:57:15 CET 2003 Jan Hubicka <jh@suse.cz>
2617
2618 * i386.c (ix86_expand_int_addcc): Fix thinko.
2619
aec6ed91 26202003-01-08 David Edelsohn <edelsohn@gnu.org>
2621
2622 * config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
2623 * config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
2624 as hook_bool_tree_hwi_hwi_tree_true.
2625 (rs6000_emit_allocate_stack): Use TARGET_32BIT.
2626 (rs6000_emit_epilogue): Same.
2627 (rs6000_output_mi_thunk): Re-implement as RTL.
2628 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
2629 xcoffout_declare_function if any debugging enabled.
2630
a02568c6 26312003-01-08 Chris Demetriou <cgd@broadcom.com>
2632
2633 * config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
2634 targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
2635 * config/mips/mips.h (enum processor_type): Rename
2636 PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
2637 PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
2638 Add PROCESSOR_M4K.
2639 (TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
2640 (ISA_MIPS32R2): New define.
2641 (GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
2642 (ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
2643 (ISA_HAS_PREFETCH): Add support for MIPS32R2.
2644 (MIPS_ISA_DEFAULT): Likewise. Also, fix indentation.
2645 (TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2. Add new
2646 predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
2647 (ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
2648 compiling MIPS16 code.
2649 (ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
2650 comment.
2651 (ISA_HAS_SEB_SEH): New define.
2652 (ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
2653 * config/mips/mips.c (mips_cpu_info_table): Adjust for enum
2654 processor_type value renaming. Add support for MIPS32R2.
2655 Clean up comments, and move "sb1" entry with other MIPS64 CPU
2656 entries.
2657 (override_options): Reimplement -mipsN option handling so that
2658 it will work correctly for -mips32r2. Avoid branch-likely
2659 instructions on MIPS32R2.
2660 * config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
2661 (extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
2662 (extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
2663 (extendhisi2_hw, extendqisi2_hw): New.
2664 * config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
2665 for MIPS32R2. Add new predefine __mips_isa_rev for MIPS32,
2666 MIPS32R2, and MIPS64.
2667 (LINK_SPEC): Pass -mips32r2 to linker.
2668 * config/mips/t-isa3264: Built -mips32r2 multilibs.
2669 * doc/invoke.texi (MIPS Options): Add -mips32r2, add support
2670 for mips32r2 in the -march description. Alphabetically sort
2671 CPU names in the -march description. Add long-missed -mips32
2672 and -mips64 to MIPS option summary.
2673
2674 * config.gcc: Update copyright years to include 2003.
2675 * config/mips/mips.c: Likewise.
2676 * config/mips/mips.h: Likewise.
2677 * config/mips/mips.md: Likewise.
2678 * config/mips/netbsd.h: Likewise.
2679 * doc/invoke.texi: Likewise.
2680
d8ea82e6 26812003-01-08 Andreas Schwab <schwab@suse.de>
2682
2683 * aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
2684 variable.
2685 * configure: Regenerated.
2686
cdcf26ff 26872003-01-08 Kazu Hirata <kazu@cs.umass.edu>
2688
2689 * config/h8300/h8300.c (output_logical_op): Replace byte/word
2690 extraction of det with b0, b1, w0, w2, etc.
2691 (compute_logical_op_length): Likewise.
2692 (compute_logical_op_cc): Likewise.
2693
bf33764c 26942003-01-08 Kazu Hirata <kazu@cs.umass.edu>
2695
2696 * config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
2697 HIGH on all variants.
2698
a45624d0 2699Wed Jan 8 14:06:34 CET 2003 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
6ed6b935 2700
a45624d0 2701 * Makefile.in (PARTITION_H): New.
2702 (BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
2703 * basic-block.h: Include hard-reg-set.h.
2704
27da10cf 27052003-01-08 Richard Earnshaw <rearnsha@arm.com>
2706
2707 * arm.h (ENABLE_XF_PATTERNS): Delete.
2708 * arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
2709 (sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
2710 (extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
2711 (cmpxf_trap): Delete.
2712 (movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
2713
c7bf7428 2714Wed Jan 8 12:10:57 CET 2003 Jan Hubicka <jh@suse.cz>
2715
2716 * i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
2717 (addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
2718 (add??cc): New expanders.
2719 * i386.c (expand_int_addcc): New function.
2720 * i386-protos.h (expand_int_addcc): Declare.
2721
2722 * alias.c (memory_modified_1): New static function.
2723 (memory_modified): New static varaible.
2724 (memory_modified_in_insn_p): New global function.
2725 * rtl.h (memory_modified_in_insn_p): Declare.
2726 * rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
2727 references.
2728
2729 * expr.h (emit_conditional_add): Declare.
2730
174c8ca3 27312003-01-07 Janis Johnson <janis187@us.ibm.com>
2732
2733 PR other/8947
2734 * doc/invoke.texi (-malign-double): Explain that the option breaks
2735 binary compatibility.
2736
102b9402 27372003-01-08 Andreas Schwab <schwab@suse.de>
2738
2739 * config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
2740 should come from the generic *-*-linux* entry.
2741
8a98e28f 2742Tue Jan 7 22:29:56 CET 2003 Jan Hubicka <jh@suse.cz>
2743
2744 * cselib.c (cselib_current_insn_in_libcall): New static variable.
2745 (new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
2746 we are inside libcall.
2747 * cselib.h (elt_loc_list): Add in_libcall.
2748 * gcse.c (do_local_cprop): Do not copy propagate using insns
2749 in libcalls.
2750
2d1a9add 27512003-01-07 David Edelsohn <edelsohn@gnu.org>
2752
2753 * doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
2754 not normally affect to issue rate.
2755
d3da2ad8 2756Tue Jan 7 21:46:57 CET 2003 Jan Hubicka <jh@suse.cz>
2757
2758 * genopinit.c (optabs): Add addc_optab.
2759 * ifcvt.c (noce_try_store_flag): Rename to ...
2760 (noce_try_addcc): ... this one; handle generic conditional increment.
2761 (noce_process_if_block): Update noce_try_addcc call.
2762 * optabs.c (emit_conditional_add): New.
2763 (init_obtabs): Initialize addc_optab.
2764 * optabs.h (optab_index): Add OTI_addcc.
2765 (addcc_optab): New macro.
2766 * md.texi: Document addMcc
2767
2768 PR target/8322
2769 * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
2770 * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
2771 * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
2772
2773 * reload1.c (delete_output_reload): Avoid repeated attempts
2774 to delete insn.
2775
24d1674d 27762003-01-07 Andreas Schwab <schwab@suse.de>
2777
102b9402 2778 * configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
2779 Move --enable-initfini-array check ...
2780 * aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here. Define
2781 HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
2782 Don't AC_SUBST gcc_cv_initfinit_array. Use AC_TRY_RUN.
2783 * configure: Rebuild.
24d1674d 2784
a303ed8c 27852003-01-07 Richard Henderson <rth@redhat.com>
2786
102b9402 2787 * alias.c (find_base_value): Only use new_reg_base_value shortcut
2788 if the register is set once.
a303ed8c 2789
5e7915fc 27902003-01-07 Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
6ed6b935 2791
5e7915fc 2792 * config/i386/i386.c (ix86_init_mmx_sse_builtins):
2793 __builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
2794 * config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
2795
3a258605 27962003-01-07 Benjamin Kosnik <bkoz@redhat.com>
2797 Sunil Davasam <sunil.k.davasam@intel.com>
2798
6ed6b935 2799 PR libstdc++/9076
3a258605 2800 * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
2801 DW_CFA_same_value, read next and ignore.
2802
2c3f453c 28032003-01-07 Richard Henderson <rth@redhat.com>
2804
2805 * cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
2806
b694b261 28072003-01-07 Daniel Berlin <dberlin@dberlin.org>
2808
2809 * cfg.c: Include alloc-pool.h
2810 (edge_pool): New pool.
2811 (bb_pool): New pool.
2812 (first_deleted_edge): Remove.
2813 (first_deleted_block): Remove.
2814 (init_flow): Alloc/free the pools.
2815 (free_edge): Use pools.
2816 (alloc_block): Ditto.
2817 (expunge_block): Ditto.
2818 (cached_make_edge): Ditto.
2819
2820 * Makefile.in (cfg.o): Add alloc-pool.h dependency.
2821
28222003-01-07 Daniel Berlin <dberlin@dberlin.org>
2823
2824 * et-forest.c: Include alloc-pool.h.
2825 (struct et_forest): Add node_pool and occur_pool.
2826 (et_forest_create): Create the new pools.
2827 (et_forest_delete): Delete them.
2828 (et_forest_add_node): Allocate and free using pools.
2829 (et_forest_add_edge): Ditto.
2830 (et_forest_remove_node): Ditto.
2831 (et_forest_remove_edge): Ditto.
2832
2833 * Makefile.in (et-forest.o): Add alloc-pool.h dependency.
2834
e6cf6c71 28352003-01-07 Kazu Hirata <kazu@cs.umass.edu>
2836
2837 * config/h8300/h8300.c (output_logical_op): Simplify and
2838 optimize the handling of SImode.
2839 * config/h8300/h8300.c (compute_logical_op_length): Update
2840 accordingly.
2841 * config/h8300/h8300.c (compute_logical_op_cc): Likewise.
2842
411666ea 28432003-01-07 Richard Sandiford <rsandifo@redhat.com>
2844
2845 * config/mips/mips.c (mips_va_arg): In the EABI code, apply the
2846 big-endian correction to indirect arguments too.
2847
c234ad65 28482003-01-06 Aldy Hernandez <aldyh@redhat.com>
2849
2850 Segher Boessenkool <segher@koffie.nl>
2851
5e7915fc 2852 * config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
2853 (alt_reg_names): Ditto, fix formatting.
2854 * config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
c234ad65 2855
407921a5 28562003-01-06 Kazu Hirata <kazu@cs.umass.edu>
2857
2858 * config/h8300/h8300.c (final_prescan_insn): Constify uid.
2859 (output_logical_op): Constify intval and det.
2860 (compute_logical_length): Likewise.
2861 (compute_logical_cc): Likewise.
2862 (output_a_shift): Constify mask.
2863 (h8300_encode_label): Constify len.
2864
b36ddff8 28652003-01-06 Kazu Hirata <kazu@cs.umass.edu>
2866
2867 * config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
2868 (h8300_expand_epilogue): Likewise.
2869
da0ad72a 28702003-01-06 Aldy Hernandez <aldyh@redhat.com>
2871
2872 Segher Boessenkool <segher@koffie.nl>
2873
5e7915fc 2874 * config/rs6000/altivec.md: Remove spaces from assembler
2875 instruction argument lists.
6ed6b935 2876
3c8d298d 28772003-01-07 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
2878
2879 * config/c4x/c4x.c (c4x_naked_function_p): Rename from
2880 c4x_assembler_function_p.
2881 (c4x_null_epilogue_p): Complement return value, all uses updated.
2882 (c4x_insert_attributes): Add naked.
2883 * config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
2884 * doc/extend.texi: Update C4x function attributes.
2885
a36057b0 28862003-01-06 Richard Henderson <rth@redhat.com>
2887
2888 * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
2889 properly when changing "local-ness".
2890 * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
2891
9fb0071e 28922003-01-06 Dale Johannesen <dalej@apple.com>
2893
2894 * config/darwin-protos.h: Add prototypes for new section functions.
2895
4d5b08a8 28962003-01-06 Chris Demetriou <cgd@broadcom.com>
2897
2898 * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
2899 to EABI.
2900
7b382543 29012003-01-06 Zack Weinberg <zack@codesourcery.com>
2902
2903 * hwint.h: If the current compiler has no 64-bit type at all,
2904 make HOST_WIDEST_INT 32 bits.
2905
7798dc70 29062003-01-06 Eric Christopher <echristo@redhat.com>
2907
2908 * config/mips/mips.md (movdf_internal2): Fix constraints.
2909
9e3e9deb 29102003-01-06 Kazu Hirata <kazu@cs.umass.edu>
2911
2912 * config/h8300/h8300.md (*twoshifts_l16_r1): New.
2913
b43aa620 29142003-01-06 Richard Sandiford <rsandifo@redhat.com>
2915
2916 * config/mips/mips.md (leadi): Use dla rather than la.
2917
b36ddff8 29182003-01-06 Svein E. Seldal <Svein.Seldal@solidas.com>
2c383079 2919
2920 * config/c4x/c4x.h: Updated specs for new gas format. Fixed bug
2921 in C33_FLAG. Added proper C33 support in ASM_FILE_START macro.
2922
b36ddff8 29232003-01-06 Herman A.J. ten Brugge <hermantenbrugge@home.nl>
420fde99 2924
7b382543 2925 * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
420fde99 2926 redefinition.
2927
13ae3e24 29282003-01-05 Kazu Hirata <kazu@cs.umass.edu>
2929
2930 * config/h8300/h8300.md (*extzv_8_23): New.
2931
d59aa441 29322003-01-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
2933
2934 * pa64-hpux.h (JCR_SECTION_NAME): Define.
2935 (PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
2936 USE_EH_FRAME_REGISTRY when defining.
2937
3d71ed48 29382003-01-05 Kazu Hirata <kazu@cs.umass.edu>
2939
2940 * config/h8300/h8300.c (output_a_shift): Do not output a
2941 variable shift.
2942 * config/h8300/h8300.md (two splitters): New.
2943
bb83ee19 29442003-01-05 Richard Sandiford <rsandifo@redhat.com>
2945
2946 * config/mips/mips.md: Disable the movstrsi define_split.
2947
5320179d 29482003-01-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2949
2950 * alloc-pool.c: Don't include "libiberty.h".
2951 * config/sparc/gmon-sol2.c: Include <fcntl.h>.
2952 * convert.c (convert_to_real): Hide unused variable.
2953
fd956ee4 29542003-01-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2955
2956 * Makefile.in (gtyp-gen.h): Const-ify.
2957 * gcov-dump.c (tag_table): Likewise.
2958
f407d613 29592003-01-04 Bruce Korb <bkorb@gnu.org>
2960
2961 * fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
2962 of *both* the file name and the fix name.
2963
36f95905 29642003-01-04 John David Anglin <dave.anglin@nrc.ca>
de419443 2965
2966 * config.gcc (hppa*64*-*-hpux11*): Define extra_parts. Don't use
2967 collect2.
2968 * pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
2969 (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
2970 * pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
2971 GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
2972 GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
2973 (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
2974 elfos.h.
2975 (EH_FRAME_IN_DATA_SECTION): Delete define.
2976 (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
2977 (STARTFILE_SPEC): Use crtbegin.o.
2978 (ENDFILE_SPEC): Use crtend.o.
2979 (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
2980 SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
2981 PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
2982 DTOR_LIST_BEGIN): Define.
2983 * pa.c (TARGET_ASM_CONSTRUCTOR): Define.
2984 (pa_asm_out_constructor, pa_asm_out_destructor): New functions.
2985 * som.h (SUPPORTS_INIT_PRIORITY): Delete define.
2986
2b5c5c15 29872002-12-31 Larin Hennessy <larin@science.oregonstate.edu>
2988
2989 * fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
2990 * fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
2991 m88k-*-sysv3*, Sony NewsOS. Remove references to i860.
2992 Cleanup handling of replacement text.
2993 * fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
2994
29952003-01-04 Bruce Korb <bkorb@gnu.org>
2996
2997 * fixinc/tests/base/math.h: removed obsolete results
2998 * fixinc/tests/base/stdlib.h: ditto
2999 * fixinc/tests/base/sys/param.h: ditto
3000 * fixinc/tests/base/sys/stat.h: ditto
3001 * fixinc/tests/base/time.h: ditto
3002 * fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
3003 * fixinc/tests/base/sys/byteorder.h: ditto
3004 * fixinc/inclhack.def: Remove superfluous backslashes
3005
8f260b97 30062003-01-04 Kazu Hirata <kazu@cs.umass.edu>
3007
3008 * config/h8300/h8300-protos.h: Add prototypes for
3009 the new functions defined below.
3010 * config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
3011 define.
3012 (dosize): Emit RTL instead of assembly code.
3013 (push): Likewise.
3014 (pop): Likewise.
3015 (h8300_output_function_prologue): Remove.
3016 (h8300_expand_prologue): New.
3017 (h8300_expand_epilogue): New.
3018 (h8300_output_function_epilogue): Do only the reset of
3019 pragma_saveall.
3020 * config/h8300/h8300.md (push_h8300): New.
3021 (push_h8300hs): Likewise.
3022 (pop_h8300): Likewise.
3023 (pop_h8300hs): Likewise.
3024 (*stm_h8300s_2): Change the name to stm_h8300s_2.
3025 (*stm_h8300s_3): Change the name to stm_h8300s_3.
3026 (*stm_h8300s_4): Change the name to stm_h8300s_4.
3027 (*ldm_h8300s_2): New.
3028 (*ldm_h8300s_3): Likewise.
3029 (*ldm_h8300s_4): Likewise.
3030 (return): Likewise.
3031 (*return_1): Likewise.
3032 (prologue): Likewise.
3033 (epilogue): Likewise.
3034 (monitor_prologue): Likewise.
3035
de32204e 30362003-01-03 Dale Johannesen <dalej@apple.com>
3037
3038 * config/darwin.h: (EXTRA_SECTIONS): Add machopic_symbol_stub1,
3039 machopic_picsymbol_stub1.
3040 (EXTRA_SECTION_FUNCTIONS): Ditto.
3041 * rs6000/rs6000.c: Update copyright.
3042 (machopic_output_stub): Use them. Remove an insn from stub code.
3043
81010c97 30442003-01-02 Jason Merrill <jason@redhat.com>
3045
bdb2219e 3046 * fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
3047
3048 * integrate.c (copy_decl_for_inlining): Don't clear the rtl for
3049 static/external decls.
7798dc70 3050
81010c97 3051 * c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
3052 outermost scope.
3053 * c-decl.c (c_make_fname_decl): Push the decls there, too.
3054
41ed3bcd 30552003-01-03 Kazu Hirata <kazu@cs.umass.edu>
3056
3057 * config/h8300/h8300-protos.h: Add a prototype for
3058 h8300_current_function_interrupt_function_p.
3059 * config/h8300/h8300.c (interrupt_handler): Remove.
3060 (os_task): Likewise.
3061 (monitor): Likewise.
3062 (pragma_interrupt): New.
3063 (WORD_REG_USED): Use
3064 h8300_current_function_interrupt_function_p.
3065 (dosize): Likewise.
3066 (h8300_output_function_prologue): Likewise.
3067 Do not set interrupt_handler, os_task, monitor.
3068 (h8300_output_function_prologue): Use
3069 h8300_current_function_interrupt_function_p.
3070 Do not set interrupt_handler, os_task, monitor.
3071 (h8300_current_function_interrupt_function_p): New.
3072 (h8300_pr_interrupt): Set pragma_interrupt.
3073 (h8300_insert_attributes): Reset pragma_interrupt.
3074
48318a30 30752003-01-03 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3076
3077 * doc/install.texi (Configuration): Fix markup for reference to
3078 gcc/config.gcc.
3079
7a972534 30802003-01-02 Kazu Hirata <kazu@cs.umass.edu>
3081
3082 * config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
3083 (*iorhi3_two_qi): Likewise.
3084 (*iorsi3_zexthi): Likewise.
3085 (*xorhi3_zextqi): Likewise.
3086 (*xorsi3_zexthi): Likewise.
3087 (*xorsi3_zextqi): Likewise.
3088
90e56b83 30892003-01-02 Kazu Hirata <kazu@cs.umass.edu>
3090
3091 * config/h8300/h8300.c (stack_pointer_operand): New.
3092 (const_int_gt_2_operand): Likewise.
3093 (const_int_ge_8_operand): Likewise.
3094 * config/h8300/h8300.md (a splitter): Likewise.
3095 (a peephole2): Likewise.
3096 * config/h8300/h8300-protos.h: Add prototypes for the new
3097 functions above.
3098
06fb4c5c 30992003-01-02 Steven Bosscher <s.bosscher@student.tudelft.nl>
3100
3101 * objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
3102 objc/objc-act.h: Fix copyright years.
3103
711af9f6 31042003-01-02 Steven Bosscher <s.bosscher@student.tudelft.nl>
3105
3106 * doc/passes.texi: Fix documentation for -fssa-ccp
3107
39d931f4 31082003-01-02 Neil Booth <neil@daikokuya.co.uk>
3109
3110 * gccbug.in: Update for new categories.
3111
cc61f43e 31122003-01-01 Kazu Hirata <kazu@cs.umass.edu>
3113
3114 * config/h8300/h8300.md: Reorder some patterns.
3115
1c75fadf 31162003-01-01 Kazu Hirata <kazu@cs.umass.edu>
3117
3118 * config/h8300/h8300.c (output_logical_op): Fix a warning.
3119
0904acb0 31202003-01-01 Neil Booth <neil@daikokuya.co.uk>
3121
3122 * config/darwin-protos.h, config/c4x/c4x-protos.h,
3123 config/cris/cris-protos.h, config/i370/i370-protos.h,
3124 config/i960/i960-protos.h, config/ia64/ia64-protos.h,
3125 config/v850/v850-protos.h: Use struct, and don't conditionally
3126 compile on GCC_C_PRAGMA_H.
3127
32a65ab3 31282003-01-01 Kazu Hirata <kazu@cs.umass.edu>
3129
3130 * config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
3131 * config/h8300/h8300-protos.h: Likewise.
3132 * config/sh/sh-protos.h: Likewise.
3133
4952c3eb 31342003-01-01 Kazu Hirata <kazu@cs.umass.edu>
3135
3136 * config/arm/arm-protos.h: Use struct cpp_reader instead of
3137 cpp_reader.
3138 * config/h8300/h8300-protos.h: Likewise.
3139 * config/sh/sh-protos.h: Likewise.
3140
c0bb4975 31412003-01-01 Neil Booth <neil@daikokuya.co.uk>
3142
3143 * config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
3144 arm_pr_long_calls_off): Use struct.
3145 * config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
3146 : Similarly.
3147 Don't include cpplib.h.
3148 * config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
3149 sh_pr_nosave_low_regs): Similarly.
3150
f420bedf 31512003-01-01 Kazu Hirata <kazu@cs.umass.edu>
3152
3153 * config/h8300/h8300.c: Include cpplib.h.
3154
e3708be9 31552003-01-01 Steven Bosscher <s.bosscher@student.tudelft.nl>
3156
3157 * objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
3158 objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
3159 objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
3160 "GCC" in the copyright header.
3161
eb180587 31622003-01-01 Neil Booth <neil@daikokuya.co.uk>
3163
3164 * c-pragma.c (c_register_pragma): New.
3165 (init_pragma): Use it.
3166 * c-pragma.h (cpp_register_pragma): Don't declare.
3167 (c_register_pragma): New.
3168 * cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
3169 * config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
3170 * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
3171 * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
3172 * config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
3173 * config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
3174 * config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
3175 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
3176 * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
3177 * config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
3178 * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
3179 * doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
3180
f46d3b30 31812002-12-31 Kazu Hirata <kazu@cs.umass.edu>
3182
3183 * config/h8300/h8300-protos.h: Update the prototypes.
3184 * config/h8300/h8300.c (const_le_2_operand): Change to
3185 const_int_le_2_operand.
3186 (const_int_le_6_operand): Change to const_int_le_6_operand.
3187 * config/h8300/h8300.md (two peepholes): Update the function
3188 names.
3189
d01980df 31902002-12-31 Tom Tromey <tromey@redhat.com>
3191
3192 * doc/install.texi (Testing): Fixed typo.
3193
59614c4a 31942002-12-31 Kazu Hirata <kazu@cs.umass.edu>
3195
3196 * config/h8300/h8300.h (TRAMPOLINE_TEMPLATE): Remove.
3197 (TRAMPOLINE_SIZE): Support the normal mode.
3198 (INITIALIZE_TRAMPOLINE): Emit the entire trampoline.
3199
be1ee46e 32002002-12-31 Mark Mitchell <mark@codesourcery.com>
3201
3202 * c-common.h (pending_lang_change): Declare.
3203
1962444c 32042002-12-31 Jerry Quinn <jlquinn@optonline.net>
3205
3206 * gcc/doc/invoke.texi (Optimization Options): Clean up -O flag
3207 descriptions.
3208
62b4cc9c 32092002-12-31 Jerry Quinn <jlquinn@optonline.net>
3210
3211 * gcc/doc/invoke.texi (Optimization Options): List the options
3212 enabled by each -O flag.
3213
05164521 32142002-12-31 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3215
3216 * doc/install.texi (Configuration): Explicitly refer
3217 gcc/config.gcc for a list of cpu models.
3218
83eac25b 32192002-12-31 Kazu Hirata <kazu@cs.umass.edu>
3220
3221 * config/h8300/h8300.h: Fix comment typos.
3222
4dba9f7a 32232002-12-30 David Edelsohn <edelsohn@gnu.org>
3224
3225 * config/rs6000/rs6000.h (WIDEST_HARDWARE_FP_SIZE): Define.
3226
a98af4f2 32272002-12-30 Tom Tromey <tromey@redhat.com>
3228
3229 * doc/install.texi (Testing): Mention Jacks.
3230
2e915701 32312002-12-30 Joseph S. Myers <jsm@polyomino.org.uk>
3232
3233 * doc/gcc.texi, doc/gccint.texi: Update last modification dates.
3234
6f3c4c9c 32352002-12-30 Kazu Hirata <kazu@cs.umass.edu>
3236
3237 * config/h8300/h8300.c (output_logical_op): Use extu.w in more
3238 cases.
3239 (compute_logical_op_length): Update to reflect the change in
3240 output_logical_op.
3241 (compute_logical_op_cc): Likewise.
3242
2ef65a30 32432002-12-30 Joseph S. Myers <jsm@polyomino.org.uk>
3244
3245 * doc/service.texi: Uncomment and update FAQ link.
3246
01039648 32472002-12-30 Andreas Jaeger <aj@suse.de>
3248
3249 * unwind-dw2-fde.h (last_fde): Add unused attribute for obj.
3250
c53595bd 32512002-12-30 Kazu Hirata <kazu@cs.umass.edu>
3252
3253 * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): New.
3254
f4bdef90 32552002-12-30 Kazu Hirata <kazu@cs.umass.edu>
3256
3257 * config/h8300/h8300.c (output_logical_op): Use extu.w if we
3258 are clearing the most significant byte.
3259 (compute_logical_op_length): Update to reflect the change in
3260 output_logical_op.
3261 (compute_logical_op_cc): Likewise.
3262
4c27f7e2 32632002-12-29 Kazu Hirata <kazu@cs.umass.edu>
3264
3265 * config/h8300/h8300.md: Give internal names to anonymous
3266 insns.
3267
4b76236f 32682002-12-29 Kazu Hirata <kazu@cs.umass.edu>
3269
3270 * config/h8300/h8300.md: Reorder some insns.
3271
0d565792 32722002-12-29 Kazu Hirata <kazu@cs.umass.edu>
3273
3274 * config/h8300/h8300-protos.h: Add prototypes for
3275 const_int_qi_operand and const_int_hi_operand.
3276 * config/h8300/h8300.c (const_int_qi_operand): New.
3277 (const_int_hi_operand): Likewise.
3278 * config/h8300/h8300.md (three peepholes): New.
3279
372b1b1b 32802002-12-28 Joseph S. Myers <jsm@polyomino.org.uk>
3281
3282 * doc/cpp.texi, doc/gcc.texi, doc/gccint.texi, doc/install.texi:
3283 Use @copying.
3284
152ef593 32852002-12-28 Joseph S. Myers <jsm@polyomino.org.uk>
3286
3287 * configure.in: Increase makeinfo version requirement to 4.[2-9].
3288 * configure: Regenerate.
3289 * doc/install.texi: Update Texinfo version requirement.
3290
9dcbab6f 32912002-12-28 Andreas Jaeger <aj@suse.de>
3292
70fa4ba6 3293 * config/i386/i386.c (x86_function_profiler): Mark labelno as
3294 possibly unused.
3295
9dcbab6f 3296 * c-parse.in (yyprint): Use HOST_WIDE_INT_PRINT_DOUBLE_HEX for
3297 correct format.
3298
068feb28 32992002-12-27 Kazu Hirata <kazu@cs.umass.edu>
3300
3301 * config/h8300/h8300.md (*iorhi_shift_8): Change the name to
3302 *iorhi_ashift_8.
3303 (*iorhi_lshiftrt_8): New.
3304
cfd7fe00 33052002-12-27 Joseph S. Myers <jsm@polyomino.org.uk>
3306
3307 * doc/include/texinfo.tex: Update to version 2002-12-26.16.
3308
546fdb34 33092002-12-27 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3310
3311 * doc/contrib.texi (Contributors): Add Abramo and Roberto Bagnara.
3312
cc72e60a 33132002-12-26 Kazu Hirata <kazu@cs.umass.edu>
3314
3315 * config/h8300/h8300-protos.h: Fix comment typos.
3316 Update copyright.
3317 * config/h8300/h8300.c: Fix comment typos.
3318
15b827a2 33192002-12-26 Kazu Hirata <kazu@cs.umass.edu>
3320
3321 * config/h8300/h8300.h (IDENT_ASM_OP): End with a tab.
3322
fcbfedc7 33232002-12-26 Kazu Hirata <kazu@cs.umass.edu>
3324
3325 * config/i386/athlon.md: Fix comment typos.
3326 * config/i386/crtdll.h: Likewise.
3327 * config/i386/djgpp.h: Likewise.
3328 * config/i386/i386-interix.h: Likewise.
3329 * config/i386/i386.c: Likewise.
3330 * config/i386/i386.h: Likewise.
3331 * config/i386/i386.md: Likewise.
3332 * config/i386/k6.md: Likewise.
3333 * config/i386/mingw32.h: Likewise.
3334 * config/i386/pentium.md: Likewise.
3335 * config/i386/sco5.h: Likewise.
3336 * config/i386/winnt.c: Likewise.
3337 * config/i386/xmmintrin.h: Likewise.
3338
f358d8eb 33392002-12-26 Jose Renau <renau@cs.uiuc.edu>
3340
3341 * ssa-dce.c (EXECUTE_IF_UNNECESSARY): Verify INSN is an
3342 INSN_P before checking to see if it is dead.
3343 (mark_all_insn_unnecessary): Similarly.
3344 (ssa_eliminate_dead_code): Similarly.
3345 * rtl.h (struct rtx_def): Update comments for in_struct usage
3346 in dead code elimination pass.
3347 (INSN_DEAD_CODE_P): Allow JUMP_INSN and CALL_INSN as well.
3348
b74d9e84 33492002-12-26 Andreas Schwab <schwab@suse.de>
3350
9dcbab6f 3351 * config.gcc (powerpc*-*-*, rs6000-*-*): Fix assignment syntax.
b74d9e84 3352
533aad17 33532002-12-25 David Edelsohn <edelsohn@gnu.org>
3354
3355 * config/rs6000/rs6000.c (rs6000_override_options): Convert to
3356 tartet_flags_explicit.
3357 * config/rs6000/rs6000.h (MASK_MULTIPLE_SET, MASK_STRING_SET): Delete.
3358 Compact target_flags bits.
3359 (TARGET_MULTIPLE_SET, TARGET_STRING_SET): Delete.
3360 (TARGET_SWITCHES): Delete references to *_SET flags.
3361
9d69c51b 3362Wed Dec 25 20:30:53 CET 2002 Jan Hubicka <jh@suse.cz>
3363
3364 * i386.md (memory attribute): Fix setcc attribute.
3365
41a6f238 33662002-12-25 Kazu Hirata <kazu@cs.umass.edu>
3367
3368 * output.h: Fix comment typos.
3369 * predict.c: Likewise.
3370 * print-tree.c: Likewise.
3371 * profile.c: Likewise.
3372 * ra-build.c: Likewise.
3373 * ra-colorize.c: Likewise.
3374 * ra-debug.c: Likewise.
3375 * ra-rewrite.c: Likewise.
3376 * ra.c: Likewise.
3377 * ra.h: Likewise.
3378 * real.c: Likewise.
3379 * recog.c: Likewise.
3380 * reg-stack.c: Likewise.
3381 * regclass.c: Likewise.
3382
90a38175 33832002-12-25 Kazu Hirata <kazu@cs.umass.edu>
3384
3385 * config/h8300/h8300.c (print_operand_address): Do not negate
3386 a negative number when printing one.
3387
aa3382b1 33882002-12-25 Kazu Hirata <kazu@cs.umass.edu>
3389
3390 * config/h8300/h8300-protos.h: Add prototypes for
3391 output_plussi, compute_plussi_length, and compute_plussi_cc.
3392 * config/h8300/h8300.c (output_plussi): New.
3393 (compute_plussi_length): Likewise.
3394 (compute_plussi_cc): Likewise.
3395 * config/h8300/h8300.md (addsi_h8300h): Call
3396 output_plussi, compute_plussi_length, and compute_plussi_cc.
3397
128d3ecf 33982002-12-24 Kazu Hirata <kazu@cs.umass.edu>
3399
3400 * config/h8300/h8300.md (two peepholes): Use match_dup instead
3401 of match_operand in the new patterns.
3402
653b8947 34032002-12-24 Joseph S. Myers <jsm@polyomino.org.uk>
3404
3405 * doc/include/texinfo.tex: Update to version 2002-11-25.11.
3406
33987224 34072002-12-24 Nathan Sidwell <nathan@codesourcery.com>
3408
3409 * configure.in (enable-coverage): Add SELF_COVERAGE.
3410 * profile.c (end_branch_prob): Use SELF_COVERAGE.
3411
3721f260 34122002-12-24 Jim Wilson <wilson@redhat.com>
3413
3414 * alias.c (record_set): Handle multi-reg hard registers.
3415
de132707 34162002-12-24 Kazu Hirata <kazu@cs.umass.edu>
3417
3418 * regmove.c: Fix comment typos.
3419 * reload.c: Likewise.
3420 * reload1.c: Likewise.
3421 * resource.c: Likewise.
3422 * rtl.def: Likewise.
3423 * rtl.h: Likewise.
3424 * rtlanal.c: Likewise.
3425 * sched-deps.c: Likewise.
3426 * sched-rgn.c: Likewise.
3427 * sibcall.c: Likewise.
3428 * simplify-rtx.c: Likewise.
3429 * ssa-ccp.c: Likewise.
3430 * ssa.c: Likewise.
3431 * stmt.c: Likewise.
3432 * stor-layout.c: Likewise.
3433 * system.h: Likewise.
3434 * tlink.c: Likewise.
3435 * toplev.c: Likewise.
3436 * tracer.c: Likewise.
3437 * tree-inline.c: Likewise.
3438 * tree.c: Likewise.
3439 * tree.h: Likewise.
3440 * unroll.c: Likewise.
3441 * varasm.c: Likewise.
3442
64ebec69 34432002-12-23 Larin Hennessy <larin@science.oregonstate.edu>
3444
3445 * doc/install.texi: Remove i386-*-isc, i860-*-bsd,
3446 m68k-altos-sysv, m68k-isi-bsd, m68k-sony-bsd entries.
3447 * doc/invoke.texi: Remove AMD 29K, ARM RISC/iX, Clipper, Convex,
3448 DG/UX entries.
3449 * doc/md.texi: Remove AMD 29K entries.
3450 * doc/trouble.texi: Remove Alliant, DG/UX, Iris 4.0.5F, GAS
3451 1.38.1, NewsOS, RT PC, WE32K entries.
3452
28ec974c 34532002-12-23 Aldy Hernandez <aldyh@redhat.com>
3454
7b382543 3455 PR/8763
3456 * config/rs6000/altivec.md (mulv4sf3): Rewrite to add -0.0 vector.
3457 (altivec_vspltisw_v4sf): Name pattern.
3458 (altivec_vslw_v4sf): New pattern.
28ec974c 3459
3aedf6d6 34602002-12-23 Joseph S. Myers <jsm@polyomino.org.uk>
3461
3462 * doc/include/gcc-common.texi: Define DEVELOPMENT.
3463
4975da72 34642002-12-23 Mark Mitchell <mark@codesourcery.com>
3465
3466 * stor-layout.c (update_alignment_for_field): Correct handling of
3467 unnamed bitfields on PCC_BITFIELD_TYPE_MATTERS machines.
3468 * doc/tm.texi (PCC_BITFIELD_TYPE_MATTERS): Note that an unnamed
3469 bitfield does not affect alignment.
3470
2d55cbd9 34712002-12-23 David Edelsohn <edelsohn@gnu.org>
3472
3473 * expr.c (expand_assignment): Apply special treatment to
3474 ARRAY_TYPE.
3475
6b07073d 34762002-12-23 Kazu Hirata <kazu@cs.umass.edu>
3477
3478 * config/h8300/h8300-protos.h: Update the prototype of
3479 expand_a_shift.
3480 * config/h8300/h8300.c (expand_a_shift): Change the return
3481 type to void.
3482 * config/h8300/h8300.md: Update all the uses of
3483 expand_a_shift.
3484
e420c537 34852002-12-22 Nathan Sidwell <nathan@codesourcery.com>
3486
3487 * tree.c (save_expr): Allow either side of a dyadic operand to be
3488 constant.
3489
3490 * doc/portability.texi (portability): Update portability goals.
3491
87fbdf7b 34922002-12-23 Kazu Hirata <kazu@cs.umass.edu>
3493
3494 * config/h8300/h8300.c (output_a_shift): Remove unused code.
3495
4ce0b7f4 34962002-12-22 Mark Mitchell <mark@codesourcery.com>
3497
9c2ae6a5 3498 * stor-layout.c (update_alignment_for_field): Guard use of
3499 ADJUST_FIELD_ALIGN with #ifdef.
3500
4ce0b7f4 3501 * stor-layout.c (update_alignment_for_field): Use
3502 ADJUST_FIELD_ALIGN when computing the alignment for a zero-width
3503 bitfield when PCC_BITFIELD_TYPE_MATTERS.
3504
f503d902 35052002-12-22 Kazu Hirata <kazu@cs.umass.edu>
3506
3507 * genautomata.c: Fix comment typos.
3508
848b3828 3509Sun Dec 22 18:23:44 CET 2002 Jan Hubicka <jh@suse.cz>
3510
3511 * params.def (tracer-min-branch-probability-feedback): Fix default.
3512 * final.c (compute_alignments): Use profile to avoid code bloat.
3513
903ae79d 35142002-12-22 Kazu Hirata <kazu@cs.umass.edu>
3515
3516 * config/h8300/h8300.c (get_shift_alg): Make shift insn
3517 sequences end with a valid cc0 whenever possible.
3518
d2aa8337 35192002-12-22 Kazu Hirata <kazu@cs.umass.edu>
3520
3521 * config/h8300/h8300.md (negsf2): New.
3522 (*negsf2_h8300): Likewise.
3523 (*negsf2_h8300hs): Likewise.
3524
24d6a3e7 35252002-12-21 Geoffrey Keating <geoffk@apple.com>
3526
3527 * integrate.c (output_inline_function): Don't hold private
3528 pointers to 'struct function' over GC calls.
3529
c03bb5e0 35302002-12-21 Kaz kojima <kkojima@gcc.gnu.org>
3531
3532 * config/sh/lib1funcs.asm (__fpscr_values): Conditionalize with
3533 NO_FPSCR_VALUES.
3534 * config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Add -DNO_FPSCR_VALUES.
3535
5d30db49 35362002-12-21 Kazu Hirata <kazu@cs.umass.edu>
3537
3538 * config/h8300/h8300.md (zero_extendqisi2): Correct the
3539 length.
3540
bb38add7 35412002-12-21 Kazu Hirata <kazu@cs.umass.edu>
3542
3543 * config/h8300/h8300.md (*zero_extendqihi2_h8300): Make the
3544 second alternative "#".
3545 (*zero_extendqihi2_h8300hs): Likewise.
3546 (a define_split): New.
3547
c5673261 35482002-12-21 Kazu Hirata <kazu@cs.umass.edu>
3549
3550 * config/h8300/h8300-protos.h: Update the prototype for
3551 split_adds_subs.
3552 Add prototypes for const_le_2_operand and const_le_6_operand.
3553 * config/h8300/h8300.c (split_adds_subs): Add an argument to
3554 specify whether inc/dec should be used when possible.
3555 (const_le_2_operand): New.
3556 (const_le_6_operand): Likewise.
3557 * config/h8300/h8300.md (two peepholes): New.
3558
c29a854d 35592002-12-21 Kazu Hirata <kazu@cs.umass.edu>
3560
3561 * config/fr30/fr30.md: Fix a comment typo.
3562 * config/i386/i386.c: Likewise.
3563 * config/ip2k/ip2k.h: Likewise.
3564
3eeef9da 35652002-12-20 Jim Wilson <wilson@redhat.com>
3566
3567 * config/rs6000/spe.h (__ev_subifw): Reverse arguments.
3568 (__ev_subw, __ev_subiw): New.
3569 (ev_mwlssf, ev_mwlsmf, ev_mwlssfa, ev_mwlsmfa, ev_mwlssfaaw,
3570 ev_mwlsmfaaw, ev_mwlssfanw, ev_mwlsmfanw): Delete.
3571
f62b73b6 35722002-12-20 John David Anglin <dave.anglin@nrc.gc.ca>
3573
3574 * pa-linux.h (TARGET_HAS_STUBS_AND_ELF_SECTIONS): Delete define.
3575 * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete define.
3576 * pa.c (pa_function_ok_for_sibcall): Allow non indirect sibcalls on
3577 TARGET_ELF32. Add comment on sibcall issues for TARGET_64BIT.
3578
079b5951 35792002-12-20 Kazu Hirata <kazu@cs.umass.edu>
3580
3581 * config/h8300/h8300-protos.h: Add prototypes for
3582 incdec_operand and eqne_operator.
3583 * config/h8300/h8300.c (incdec_operand): New.
3584 (eqne_operator): Likewise.
3585 * config/h8300/h8300.h (CONST_OK_FOR_M): Likewise.
3586 (CONST_OK_FOR_O): Likewise.
3587 (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_M and
3588 CONST_OK_FOR_O.
3589 * config/h8300/h8300.md (UNSPEC_INCDEC): New.
3590 (addhi3_incdec): New.
3591 (addsi3_incdec): Likewise.
3592 (two peepholes): Likewise.
3593
21650cc9 35942002-12-20 Kazu Hirata <kazu@cs.umass.edu>
3595
3596 * config/h8300/h8300.c (dosize): Remove warnings.
3597 (print_operand): Likewise.
3598
9bdcc1e5 35992002-12-20 Richard Henderson <rth@redhat.com>
3600
3601 * config/alpha/alpha.c (decl_has_samegp): New.
3602 (samegp_function_operand): Use it. Rename from
3603 current_file_function_operand.
3604 (direct_call_operand): Handle -msmall-text via symbol->jump.
3605 (tls_symbolic_operand_1): Use T for tprel64, t for smaller tprel.
3606 (tls_symbolic_operand_type): Likewise.
3607 (alpha_encode_section_info): Likewise. Handle -msmall-text.
3608 (alpha_function_ok_for_sibcall): Use decl_has_samegp.
3609 (alpha_end_function): Set symbol->jump for functions defined in
3610 the text section.
3611 * config/alpha/alpha-protos.h: Update.
3612 * config/alpha/alpha.h (MASK_SMALL_TEXT, TARGET_SMALL_TEXT): New.
3613 (TARGET_SWITCHES): Add -msmall-text and -mlarge-text.
3614 (PREDICATE_CODES): Update.
9dcbab6f 3615 * config/alpha/alpha.md (call patterns): Update for
9bdcc1e5 3616 samegp_function_operand rename; use !samegp reloc if
3617 TARGET_EXPLICIT_RELOCS.
3618 * doc/invoke.text: Document -msmall-text and -mlarge-text.
3619
1e721d99 36202002-12-20 Ian Dall <ian@sibyl.beware.dropbear.id.au>
3621
7b382543 3622 * config/ns32k/ns32k.md (movdi): Use "l" instead of "f" to match
3623 all registers capable of holding a double float.
3624 (*rcond): change name of "reverse branch" insns to
3625 something more meaningful.
3626 (*rbgt, *rblt, *rbge, *rble): Reverse branches to handle IEEE
3627 comparisons properly.
3628 (*ffs): Change operand 0 from write to read-modify-write.
3629 (*ffsssi2): Drop constraints from define_expand.
1e721d99 3630
7b382543 3631 * config/ns32k/ns32k.h (STORE_RATIO, STORE_BY_PIECES): Avoid using
3632 MOVE_RATIO as default for store operations.
1e721d99 3633
7b382543 3634 * config/ns32k/ns32k.h (enum reg_class, REG_CLASS_NAMES): Add
3635 LONG_REGS class.
3636 (CANNOT_CHANGE_MODE_CLASS): Can't subreg LONG_REGS.
3637 (GO_IF_LEGITIMATE_ADDRESS): Remove spurious abort().
3638 * config/ns32k/ns32k.c (regclass_map): Add LONG_REGS class.
1e721d99 3639
7b382543 3640 * config/ns32k/STATUS: New File
3641 * config/ns32k/NOTES: New file.
1e721d99 3642
95ae2fd6 36432002-12-20 Hartmut Penner <hpenner@de.ibm.com>
9dcbab6f 3644
6e8138db 3645 * doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march=
95ae2fd6 3646 option for S/390 and zSeries.
7b382543 3647 * config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch,
3648 s390_arch_string): New variables.
3649 (override_options): Checking for options and setting of
95ae2fd6 3650 appropriate target_flags, cpu and arch flags.
7b382543 3651 * config/s390/s390.h: (processor_type): New enum.
3652 (TARGET_SWITCHES): New switches -mesa/zarch.
3653 * config/s390/s390.md: New attribute 'cpu'.
95ae2fd6 3654
87fcb603 36552002-12-19 Kazu Hirata <kazu@cs.umass.edu>
3656
3657 * c-pretty-print.h: Fix comment typos.
3658 * integrate.c: Likewise.
3659 * varasm.c: Likewise.
3660 * config/c4x/c4x.h: Likewise.
3661 * config/c4x/c4x.md: Likewise.
3662 * config/fr30/fr30.md: Likewise.
3663 * config/frv/frv.c: Likewise.
3664 * config/h8300/h8300.c: Likewise.
3665 * config/i386/i386.c: Likewise.
3666 * config/i386/i386.h: Likewise.
3667 * config/ia64/ia64.c: Likewise.
3668 * config/ia64/ia64.h: Likewise.
3669 * config/ip2k/ip2k.md: Likewise.
3670 * config/m68hc11/m68hc11-crt0.S: Likewise.
3671 * config/m68hc11/m68hc11.h: Likewise.
3672 * config/m68hc11/m68hc11.md: Likewise.
3673 * config/m68hc11/m68hc12.h: Likewise.
3674 * config/mcore/mcore.md: Likewise.
3675 * config/mips/mips.c: Likewise.
3676 * config/mips/mips.md: Likewise.
3677 * config/mmix/mmix-modes.def: Likewise.
3678 * config/pa/pa.c: Likewise.
3679 * config/rs6000/rs6000.c: Likewise.
3680 * config/rs6000/rs6000.h: Likewise.
3681 * config/rs6000/rs6000.md: Likewise.
3682
8097f8ec 36832002-12-19 Kazu Hirata <kazu@cs.umass.edu>
3684
3685 * config/h8300/h8300.md (output_a_shift): Clean up the code to
3686 output shifts using rotation.
3687
3e2afd32 36882002-12-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3689
3690 * flow.c (allocate_reg_life_data): Reset REG_FREQ.
3691
d070691c 36922002-12-19 Kazu Hirata <kazu@cs.umass.edu>
3693
3694 * config/h8300/h8300.md (pushqi_h8300): Don't push the stack
3695 pointer.
3696 (pushqi_h8300hs): Likewise.
3697 (pushhi_h8300): Likewise.
3698 (pushhi_h8300hs): Likewise.
3699
0e5a3f19 3700Thu Dec 19 23:44:09 2002 J"orn Rennecke <joern.rennecke@superh.com>
3701
3702 * sched-rgn.c (init_regions): Update comment.
3703
5423cdc4 37042002-12-19 David Edelsohn <edelsohn@gnu.org>
3705
3706 * config/rs6000/rs6000.md (define_attr type): Remove altivec.
3707 * config/rs6000/altivec.md (movv4si_internal): Set correct instruction
3708 attributes.
3709 (movv8hi_internal,movv16qi_internal,movv4sf_internal): Same.
3710 (get_vrsave_internal,set_vrsave_internal): Same.
3711 (altivec_vspltisb,altivec_vspltish,altivec_vspltisw): Same.
3712 (absv16qi2,absv8hi2,absv4si2,absv4sf2): Same
3713 (altivec_abss_v16qi,altivec_abss_v8hi,altivec_abss_v4si): Same.
3714
54f917d1 37152002-12-19 Casper S. Hornstrup <chorns@users.sourceforge.net>
3716 Danny Smith <dannysmith@users.sourceforge.net>
3717 Eric Kohl <ekohl@rz-online.de>
3718
3719 * config/i386/i386.c (ix86_handle_cdecl_attribute): Check for
3720 attributes incompatible with fastcall attribute.
3721 (ix86_handle_regparm_attribute): Likewise.
3722
3723 * config/i386/i386.c (ix86_comp_type_attributes): Check for mismatched
3724 fastcall types.
3725
3726 * config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall
3727 attributes.
3728 (ASM_OUTPUT_LABELREF): Define as i386_pe_output_labelref.
3729 * config/i386/i386-protos.h (i386_pe_output_labelref): Declare.
3730 * config/i386/winnt.c (i386_pe_mark_dllimport). Add __imp_ prefix in
3731 i386_pe_output_labelref rather than here.
3732 (gen_fastcall_suffix): New function. Decorates a label name with the
3733 fastcall prefix (@) and the stdcall suffix.
3734 (i386_pe_encode_section_info): Call gen_fastcall_suffix() if a symbol
3735 has a fastcall attribute.
3736 (i386_pe_output_labelref): New function. Outputs a label reference.
3737 * config/i386/i386.c (ix86_attribute_table): Accept 'fastcall' as a
3738 valid attribute.
3739 (ix86_return_pops_args): Fastcall functions pop the stack.
3740 (init_cumulative_args): Reserve registers ECX and EDX if function has
3741 fastcall attribute.
3742 (function_arg): Use registers ECX and EDX if function has fastcall
3743 attribute.
3744 * config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute flag.
3745 (DLL_IMPORT_EXPORT_PREFIX): Redefine as '#'.
3746 (FASTCALL_PREFIX): Define as '@'.
3747 * config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall
3748 attributes.
3749 * doc/extend.texi: Add documentation of fastcall attribute.
3750
952e050f 37512002-12-19 Nathanael Nerode <neroden@gcc.gnu.org>
3752
9dcbab6f 3753 * configure.in: FORBUILD when build!=host changed from
952e050f 3754 ../$build-alias to ../build-$build_alias to match change made
3755 in top directory.
3756 * configure: Regenerated.
3757
a821a12b 37582002-12-19 Eric Botcazou <ebotcazou@libertysurf.fr>
3759
3760 PR optimization/8988
3761 * loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning
3762 the biv when eliminating.
3763
72381a64 37642002-12-19 Devang Patel <dpatel@apple.com>
3765 * gcc.c (struct default_compiler): Recognizes input file name with
3766 .CPP extension as C++ source files
3767 * cp/lang-spec.h: Same
3768 * doc/invoke.texi: Add documentation for .CPP support.
9dcbab6f 3769
7656858f 37702002-12-19 Aldy Hernandez <aldyh@redhat.com>
3771
3772 PR 8553
3773 * config/rs6000/altivec.md ("absv8hi2"): Add & to clobbered
3774 registers.
3775 ("absv16qi2"): Same.
3776 ("absv4si2"): Same.
3777 ("absv4sf2"): Same.
3778 ("altivec_abss_v16qi"): Same.
3779 ("altivec_abss_v8hi"): Same.
3780 ("altivec_abss_v4si"): Same.
3781
679d27f3 37822002-12-19 Ulrich Weigand <uweigand@de.ibm.com>
3783
3784 * config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly",
3785 "*tstqiCCT", "*tstqiCCT_cconly"): New insns.
3786
e433ac65 37872002-12-19 Eric Botcazou <ebotcazou@libertysurf.fr>
3788
3789 PR target/8340
3790 * stmt.c (expand_asm_operands): Produce an error when
3791 the PIC register is clobbered.
3792
263e39ce 37932002-12-18 Daniel Berlin <dberlin@dberlin.org>
3794
3795 * Makefile.in (OBJS): Add alloc-pool.o
3796 (alloc-pool.o): New object.
3797
3798 * alloc-pool.c: New file.
3799 * alloc-pool.h: New file.
3800
49aaac6f 38012002-12-18 Loren James Rittle <rittle@labs.mot.com>
3802
3803 * gcc.c (validate_switches): Robustify against skipping past '\0'.
3804
95315a36 38052002-12-18 Geoffrey Keating <geoffk@apple.com>
3806
3807 * config.gcc: Set extra_objs in the generic Darwin rule,
3808 not in the machine-specific rules.
3809
a8b24921 38102002-12-19 Kazu Hirata <kazu@cs.umass.edu>
3811
3812 * ChangeLog: Follow spelling conventions.
3813 * ChangeLog.2: Likewise.
3814 * ChangeLog.4: Likewise.
3815 * ChangeLog.5: Likewise.
3816 * cppexp.c: Likewise.
3817 * df.c: Likewise.
3818 * gcov.c: Likewise.
3819 * gengtype.c: Likewise.
3820 * reload1.c: Likewise.
3821 * sched-rgn.c: Likewise.
3822 * stmt.c: Likewise.
3823 * stor-layout.c: Likewise.
3824 * timevar.c: Likewise.
3825 * toplev.c: Likewise.
3826 * tree.h: Likewise.
3827 * varasm.c: Likewise.
3828 * config/fr30/fr30.md: Likewise.
3829 * config/i386/i386.c: Likewise.
3830 * config/ia64/ia64.c: Likewise.
3831 * config/pa/pa.c: Likewise.
3832
db886c64 38332002-12-18 Roger Sayle <roger@eyesopen.com>
3834
3835 * basic-block.h (flow_bb_inside_loop_p): Correct prototype.
3836
2dfa31c7 38372002-12-18 Aldy Hernandez <aldyh@redhat.com>
3838
712f79d6 3839 PR 8551
2dfa31c7 3840 * config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in
3841 macro.
3842 (vec_cmplt C++ functions): Reverse arguments.
3843
db886c64 38442002-12-18 Geoffrey Keating <geoffk@apple.com>
edf5b57a 3845
1638c263 3846 * config/rs6000/t-rs6000: Move contents to t-fprules,
3847 add rules for dependencies of rs6000.o and to build rs6000-c.o
3848 * config/rs6000/t-fprules: New file from t-rs6000.
3849 * config/rs6000/t-beos: Remove soft-fp rules.
3850 * config/rs6000/t-ppccomm: Likewise.
3851 * config/rs6000/t-newas: Likewise.
3852 * config/rs6000/t-rs6000-c-rule: Delete.
3853 * config.gcc: Use t-fprules for rs6000/ ports when appropriate.
3854 Use t-rs6000 for all rs6000/ ports instead of t-rs6000-c-rule.
3855 Create generic Darwin rules.
3856
edf5b57a 3857 * gengenrtl.c (gencode): Delete unnecessary rtl_obstack declaration.
3858
2755c375 38592002-12-18 Doug Evans <dje@sebabeach.org>
3860
3861 * m32r/m32r.c (addr24_operand): Fix arg to CONSTANT_POOL_ADDRESS_P
3862 and LIT_NAME_P.
3863 (move_src_operand): Remove compile-time warning.
3864 * m32r/m32r.h (ROUND_ADVANCE_ARG): Ditto.
3865
ae2ff033 38662002-12-18 Jason Merrill <jason@redhat.com>
3867
3868 * unwind-dw2-fde.c (frame_downheap): Split out from...
3869 (frame_heapsort): Here.
3870
af0d3dec 38712002-12-17 Jason Merrill <jason@redhat.com>
3872
64b4a388 3873 * tree.c (make_node): Don't set TREE_TYPE on 's' class nodes.
3874 (build1): Always set TREE_SIDE_EFFECTS on 's' class nodes.
3875
8f816fc2 3876 * gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
fb821358 3877
af0d3dec 3878 * calls.c (expand_call): Don't try to be clever about expanding
3879 the return slot address.
3880
cd33c058 38812002-12-18 Kaz kojima <kkojima@gcc.gnu.org>
3882
3883 * config/sh/linux.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC):
3884 Define.
3885
8d3f2406 38862002-12-17 Jason Merrill <jason@redhat.com>
3887
3888 * genmultilib: Use 'cd ./foo'.
3889
c609d1ae 38902002-12-17 Kazu Hirata <kazu@cs.umass.edu>
3891
3892 * doc/c-tree.texi: Restore deliberate spelling mistakes.
3893
a99e98db 38942002-12-17 Kazu Hirata <kazu@cs.umass.edu>
3895
3896 * doc/c-tree.texi: Fix typos and follow spelling conventions.
3897 * doc/cpp.texi: Likewise.
3898 * doc/extend.texi: Likewise.
3899 * doc/gty.texi: Likewise.
3900 * doc/install.texi: Likewise.
3901 * doc/invoke.texi: Likewise.
3902 * doc/md.texi: Likewise.
3903 * doc/passes.texi: Likewise.
3904 * doc/rtl.texi: Likewise.
3905 * doc/sourcebuild.texi: Likewise.
3906 * doc/tm.texi: Likewise.
3907
bad90014 39082002-12-17 Jerry Quinn <jlquinn@optonline.net>
3909
3910 * doc/invoke.texi: Minor spelling and grammar fixes.
3911
dc4817ea 39122002-12-17 Ulrich Weigand <uweigand@de.ibm.com>
3913
3914 * config/s390/s390.c (s390_output_constant_pool): Replace
3915 ASM_OUTPUT_INTERNAL_LABEL by (*targetm.asm_out.internal_label).
3916
b112fabc 3917Tue Dec 17 09:47:57 CET 2002 Jan Hubicka <jh@suse.cz>
3918
3919 * convert.c (convert_to_real): Disable function transformation for
3920 now.
3921
bf2285ef 39222002-12-16 Geoffrey Keating <geoffk@apple.com>
3923
3924 * gcc.c (handle_braces): Allow '@' as a switch name.
3925
5c72e069 39262002-12-16 Jason Merrill <jason@redhat.com>
3927
8d3f2406 3928 * calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
3929 with special struct-return ABIs.
3930
5c72e069 3931 * c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
3932 doesn't match the begin SCOPE_STMT in partialness.
3933
9a4a603c 39342002-12-16 Geoffrey Keating <geoffk@apple.com>
3935
23874c36 3936 * genmultilib: Create temporary files in unique subdirectory.
3937
9a4a603c 3938 * gcc.c (validate_switches): Allow '@' as a switch name.
3939
dc18f481 39402002-12-16 Loren J. Rittle <ljrittle@acm.org>
3941
3942 * Makefile.in (gcov-iov.h): Improve portability.
3943
65711038 3944Mon Dec 16 23:39:19 CET 2002 Jan Hubicka <jh@suse.cz>
3945
3946 * mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not
3947 gas
3948 * mips.md (tablejump insn): Likewise.
3949
546bf64c 39502002-12-16 Mark Mitchell <mark@codesourcery.com>
3951
3952 * doc/include/gcc-common.texi: Change version number to 3.4.
3953
ca58af19 39542002-12-16 Bruce Korb <bkorb@gnu.org>
3955
3956 * fixinc/fixlib.h: add: #include <signal.h>
3957 * fixinc/fixincl.c: remove: #include <signal.h>
3958
2c27ce73 3959Mon Dec 16 17:20:04 2002 J"orn Rennecke <joern.rennecke@superh.com>
3960
3961 * sh.h (EXTRA_CONSTRAINT_Z): New macro.
3962 (EXTRA_CONSTRAINT): Use it.
3963 * sh.md (anddi3): Use 'Z' constraint for alternative 2.
3964
805e22b2 39652002-12-15 Zack Weinberg <zack@codesourcery.com>
3966
3967 * config.gcc (need_64bit_hwint): New variable.
3968 (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
3969 mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
3970 sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
3971 sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
3972 Set it.
3973 (powerpc*-*-darwin*): Unset it.
3974 (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
3975 i?86-*-interix*, sparc64-*-openbsd*): Remove references to
3976 deleted/nonexistent xm-*.h headers.
3977 * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
3978 target set need_64bit_hwint in config.gcc.
3979 * configure, config.in: Regenerate.
3980
3981 * hwint.h: Overhaul. Don't bother trying int for
3982 HOST_WIDE_INT. Do try __int64 if long is not enough. Base
3983 decision to force 64-bit HOST_WIDE_INT on
3984 NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
3985 not visible at this point. Don't allow prior definition of
3986 any macro defined by this file.
3987
3988 * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
3989 HOST_BITS_PER_WIDE_INT.
3990 * config/c4x/c4x.h: Adjust redefinition of
3991 HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
3992 * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
3993 config/i386/xm-i386-interix.h: Delete file.
3994
39952002-12-14 Rodney Brown <rbrown64@csc.com.au>
3996 John David Anglin <dave@hiauly1.hia.nrc.ca>
3997
3998 * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
3999 * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
4000
40012002-12-14 Zack Weinberg <zack@codesourcery.com>
4002
4003 * mkconfig.sh: Correct comment. Add copyright boilerplate.
4004
40052002-12-14 Zack Weinberg <zack@codesourcery.com>
4006
4007 * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
4008 config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
4009 config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
4010 config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
4011 config/v850/t-v850: Correct dependencies and normalize
4012 compilation commands for files that include coretypes.h and tm.h.
4013
4014 * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
4015 not config.h and system.h.
4016
4017Sat Dec 14 20:43:41 CET 2002 Jan Hubicka <jh@suse.cz>
4018
4019 * i386.c (flags_reg_operand): New function.
4020 * i386.h (PREDICATE_CODES): Add flags_reg_operand.
4021 * i386.md (cmov splitter, movqicc): Use new predicate.
4022
4023Sat Dec 14 17:03:17 CET 2002 Jan Hubicka <jh@suse.cz>
4024
4025 * i386.md (movqicc splitter): Fix template.
4026
40272002-12-13 Jason Merrill <jason@redhat.com>
4028
4029 * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
4030 * calls.c (expand_call): Handle it.
4031 * tree-inline.c (struct inline_data): Remove target_exprs field.
4032 (optimize_inline_calls): Don't initialize it.
4033 (expand_call_inline): Don't modify it. Handle
4034 CALL_EXPR_HAS_RETURN_SLOT_ADDR.
4035 (declare_return_variable): Take return slot addr.
4036 * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
4037 to return_slot_addr.
4038 * langhooks-def.h, langhooks.c: Adjust.
4039 * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
4040 a decl with no DECL_INITIAL.
4041
4042 * expr.c (expand_expr): Don't discard the target of a call which
4043 returns in memory.
4044
40452002-12-13 Neil Booth <neil@daikokuya.co.uk>
4046
4047 * cppinit.c (path_include): Take an environment variable name.
4048 Tidy up.
4049 (init_standard_includes): Simplify environment handling, and
4050 move to ...
4051 (cpp_read_main_file): ...here as -nostdinc should not affect
4052 environment variable paths.
4053
2fc8af05 40542002-12-13 John David Anglin <dave@hiauly1.hia.nrc.ca>
4055
4056 * pa.c (output_millicode_call): Correct typo.
4057 (output_call): Likewise.
4058
058f71f0 4059Fri Dec 13 21:07:18 2002 Alexandre Oliva <aoliva@redhat.com>
4060
4061 * config/mn10300/mn10300.c (print_operand) <case N>: Check
4062 operand's range. Print value directly, without aid from
4063 output_address.
4064 <case U>: New.
4065 <case S>: Make sure argument to fprintf has the right type.
4066 * config/mn10300/mn10300.h (OK_FOR_T): New macro.
4067 (EXTRA_CONSTRAINT): Adjust.
4068 * config/mn10300/mn10300.md: Add new all-QImode pattern for
4069 bclr. Use %U for immediate operands of bset and bclr.
4070 (iorqi3): New expand, with insns for AM33 and mn10300.
4071
0edea8ba 4072Fri Dec 13 16:02:27 2002 J"orn Rennecke <joern.rennecke@superh.com>
4073
4074 * sh.c (sh_register_operand): New function.
4075 (prepare_move_operands): Use it.
4076 * sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
4077 * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
4078 (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
4079 (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
4080 (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
4081 (movv2si_i): Likewise.
4082
1a050f4e 40832002-12-13 Jim Wilson <wilson@redhat.com>
4084
4085 * doc/extend.texi (Complex Numbers): Update info on debug info.
4086
6afb3643 40872002-12-13 Kazu Hirata <kazu@cs.umass.edu>
4088
4089 * config/h8300/h8300.md (addhi3_h8300): Remove the last
4090 alternative.
4091
805e22b2 40922002-12-12 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4093
4094 * hooks.h (hook_tree_tree_bool_false): Declare
4095 hook_bool_tree_tree_false instead.
4096
3cfa3bda 40972002-12-12 Devang Patel <dpatel@apple.com>
6afb3643 4098
3cfa3bda 4099 * doc/invoke.texi: Document Darwin linker options, -bundle
4100 -bind_at_load, -all_load and -arch_errors_fatal
4101
7f65804b 41022002-12-12 Jim Wilson <wilson@redhat.com>
4103
4104 * dbxout.c (dbxout_fptype_value): New.
4105 (dbxout_type, case COMPLEX_TYPE): Call it. Use 'R' instead of 'r'.
4106
edc2a478 41072002-12-12 Kazu Hirata <kazu@cs.umass.edu>
4108
4109 * c-decl.c: Fix a comment typo.
4110 * cfg.c: Likewise.
4111 * cfgcleanup.c: Likewise.
4112 * cfglayout.c: Likewise.
4113 * cfgrtl.c: Likewise.
4114 * c-typeck.c: Likewise.
4115 * dominance.c: Likewise.
4116 * dwarf2asm.c: Likewise.
4117 * dwarfout.c: Likewise.
4118 * expmed.c: Likewise.
4119 * expr.c: Likewise.
4120 * final.c: Likewise.
4121 * flow.c: Likewise.
4122 * function.c: Likewise.
4123 * gcc.c: Likewise.
4124 * genautomata.c: Likewise.
4125 * integrate.c: Likewise.
4126 * loop.c: Likewise.
4127 * loop.h: Likewise.
4128 * output.h: Likewise.
4129 * profile.c: Likewise.
4130 * ra.h: Likewise.
4131 * reload1.c: Likewise.
4132 * reload.c: Likewise.
4133 * sched-rgn.c: Likewise.
4134 * stmt.c: Likewise.
4135 * tree.h: Likewise.
4136 * vmsdbgout.c: Likewise.
4137
d3e15488 41382002-12-12 Kazu Hirata <kazu@cs.umass.edu>
4139
4140 * config/h8300/h8300.md: Add a new peephole2.
4141
0c240d70 41422002-12-12 Kazu Hirata <kazu@cs.umass.edu>
4143
4144 * config/h8300/h8300.md (a peephole2): Accept a constant
4145 that's accepted by CONST_OK_FOR_J.
4146
c1f63a62 41472002-12-12 Kazu Hirata <kazu@cs.umass.edu>
4148
4149 * config/h8300/h8300.h (CONST_OK_FOR_J): New.
4150 (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
4151 * config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
4152 (*addhi_h8300hs): Likewise.
4153
e04da7b6 4154Thu Dec 12 16:24:59 2002 J"orn Rennecke <joern.rennecke@superh.com>
4155
4156 * sh.c (reg_class_from_letter): No longer const. Add 'e' entry.
4157 (sh_register_move_cost): Add clause for SImode fp-fp moves.
4158 Increase cost for moves involving multiple general purpose registers.
4159 * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
4160 TARGET_FMOVD.
4161 (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
4162 registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
4163 (enum reg_class reg_class_from_letter): No longer const.
4164 (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
4165 REGCLASS_HAS_GENERAL_REG.
4166 Handle SImode moves from/to fp registers.
4167 ! TARGET_SHMEDIA && TARGET_FMOVD.
4168 (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
4169 * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
4170
143ac21b 41712002-12-12 Andreas Schwab <schwab@suse.de>
4172
4173 * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
4174 change and some warnings.
4175
e7ccdbbe 41762002-12-12 Kazu Hirata <kazu@cs.umass.edu>
4177
4178 * doc/md.texi (pushm): Fix a typo.
4179
c0b79069 41802002-12-12 Alexandre Oliva <aoliva@redhat.com>
4181
4182 * config/mips/mips.c (mips_output_conditional_branch): Support
4183 PIC-safe out-of-range branch and branch-likely.
4184 * config/mips/mips.md (attr length): PIC-safe out-of-range
4185 branches are longer.
4186 ("jump"): Support PIC-safe out-of-range-for-branch jumps. Remove
4187 unused code to support indirect jumps.
4188
805e22b2 41892002-12-11 Zack Weinberg <zack@codesourcery.com>
4190
4191 * Makefile.in (GTFILES): Add $(host_xm_file_list) and
4192 $(tm_file_list).
4193
41942002-12-11 David Edelsohn <edelsohn@gnu.org>
4195
4196 * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
4197
4198Wed Dec 11 15:20:45 CET 2002 Jan Hubicka <jh@suse.cz>
4199
4200 * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
4201
bb5fc458 42022002-12-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
4203
4204 * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
4205 (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
4206 BIGGEST_ALIGNMENT.
4207 (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
4208 (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
4209
19bd8ac8 42102002-12-11 Kazu Hirata <kazu@cs.umass.edu>
4211
4212 * doc/invoke.texi: Correct dump file names.
4213
00a97a45 42142002-12-09 Steve Ellcey <sje@cup.hp.com>
4215
4216 * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
4217 name to globalize_label or assemble_name.
4218
49607c69 4219Wed Dec 11 20:15:19 2002 J"orn Rennecke <joern.rennecke@superh.com>
4220
4221 * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
4222 if not TARGET_SHMEDIA.
4223
4224Wed Dec 11 19:05:05 2002 J"orn Rennecke <joern.rennecke@superh.com>
4225
4226 * sh.h (REG_CLASS_HAS_FP_REG): New.
4227 (REGISTER_MOVE_COST) Use it. Put body into a function and
4228 move it into:
4229 * sh.c (sh_register_move_cost).
4230 * sh-protos.h (sh_register_move_cost): Declare.
4231
4232 * sh.c (sh_expand_builtin): Abort for unexpected nop values.
4233 (sh_adjust_cost): Always return a value.
4234
71c9de4b 4235Wed Dec 11 18:39:52 2002 J"orn Rennecke <joern.rennecke@superh.com>
4236
4237 * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
4238 (REGISTER_MOVE_COST): Use it.
4239
61090c86 42402002-12-11 Richard Henderson <rth@redhat.com>
4241
4242 * tree.h (MODULE_LOCAL_P): Kill.
4243 * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
4244
8d97f438 42452002-12-11 Kazu Hirata <kazu@cs.umass.edu>
4246
4247 * config/h8300/h8300.md (two define_peephole2): New.
4248
5becd67c 42492002-12-11 Kazu Hirata <kazu@cs.umass.edu>
4250
4251 * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
4252 (CONST_OK_FOR_K): Likewise.
4253 (CONST_OK_FOR_M): Likewise.
4254 (CONST_OK_FOR_LETTER_P): Do not use the above macros.
4255
81e5d5a7 42562002-12-11 Neil Booth <neil@daikokuya.co.uk>
4257
4258 * c-common.c (builtin_define_type_max): Handle unsigned
4259 types too.
4260
805e22b2 42612002-12-10 David Edelsohn <edelsohn@gnu.org>
4262
4263 * haifa-sched.c (rank_for_schedule): Correct style.
4264
42652002-12-10 Per Bothner <pbothner@apple.com>
4266
4267 * cpplib.h (struct cpp_hashnode): Split a non-portably-signed field
4268 directive_index into an unsigned field and a new is_directive field.
4269 * cppinit.c (mark_named_operators): Update to set new fields.
4270 * cpplex.c (_cpp_lex_direct): Now directive_field is unsigned.
4271 * cpplib.c [_cpp_handle_directive]: Test is_directive field.
4272 No longer need to subtract 1 from directive_index.
4273 (_cpp_init_directives): No longer need to add 1 to directive_index.
4274 * cpptrad.c (scan_out_logical_line): Use is_directive field.
4275
42762002-12-10 Roger Sayle <roger@eyesopen.com>
4277
4278 * builtins.c (fold_builtin): Remove -funsafe-math-optimizations
4279 check for evaluating sqrt of a constant at compile time.
4280 * simplify-rtx.c (simplify_unary_operation): Likewise.
4281
00acec14 42822002-12-10 Janis Johnson <janis187@us.ibm.com>
4283
4284 PR other/8882
4285 * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
4286
40bf6aeb 42872002-12-10 Devang Patel <dpatel@appple.com>
00acec14 4288
40bf6aeb 4289 * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
4290 * doc/invoke.texi: Add new "Darwin Options" section.
805e22b2 4291
17de2071 42922002-12-10 Jim Wilson <wilson@redhat.com>
4293
4294 * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
4295 memory.
4296
bb9099b3 42972002-12-10 Andrew Haley <aph@redhat.com>
4298
4299 * cse.c (cse_insn): Don't cse past a basic block boundary.
4300
ec5fe4f6 43012002-12-10 Jakub Jelinek <jakub@redhat.com>
4302
4303 * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
4304 -shared.
4305 * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
4306 * config/alpha/linux.h (LIB_SPEC): Likewise.
4307 * config/arm/linux-elf.h (LIB_SPEC): Likewise.
4308 * config/pa/pa-linux.h (LIB_SPEC): Likewise.
4309 * config/sparc/linux.h (LIB_SPEC): Likewise.
4310 * config/sparc/linux64.h (LIB_SPEC): Likewise.
4311
7e15d8d4 43122002-12-09 Larin Hennessy <larin@science.oregonstate.edu>
4313
4314 * doc/invoke.texi: Document UltraSparc III option.
4315
41b9fc78 43162002-12-09 Richard Henderson <rth@redhat.com>
4317
4318 * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
4319 __tune_pentium2__ and __tune_pentium3__ as necessary.
4320
a6bbccc1 43212002-12-09 Richard Henderson <rth@redhat.com>
4322
4323 * target.h (gcc_target): Add cannot_force_const_mem.
4324 * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
4325 (TARGET_INITIALIZER): Add it.
4326 * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
4327 * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
4328 * reload1.c (reload): Likewise.
4329 * hooks.c (hook_bool_rtx_false): New.
4330 * hooks.h: Declare it.
4331
4332 * config/i386/i386.c (ix86_cannot_force_const_mem): New.
4333 (TARGET_CANNOT_FORCE_CONST_MEM): New.
4334 (ix86_expand_move): Remove de-const-pooling hack.
4335
8c3ad36d 4336Mon Dec 9 21:33:38 CET 2002 Jan Hubicka <jh@suse.cz>
4337
4338 * toplev.c (dump_file): Fix order to match reality.
4339
68a04037 43402002-12-08 Geoffrey Keating <geoffk@apple.com>
4341
4342 * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
4343 (store_multiple): Likewise.
4344
9922d620 43452002-12-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
4346
4347 * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
4348 function pointers in page 0.
4349
1ffddaaa 43502002-12-09 Steve Ellcey <sje@cup.hp.com>
4351
4352 * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
4353 definition
4354 (MEMBER_TYPE_FORCES_BLK): Move.
4355 * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
4356 aggregate arguments.
4357 (ia64_function_value): Use PARALLEL to return aggregate values.
4358
f4a0a478 43592002-12-09 Steve Ellcey <sje@cup.hp.com>
4360
4361 * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
4362 * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
4363 * calls.c (store_unaligned_arguments_into_pseudos) Remove
4364 FUNCTION_ARG_REG_LITTLE_ENDIAN.
4365 * stmt.c (expand_return): Ditto.
4366 * expr.c (move_block_from_reg): Ditto.
4367 (copy_blkmode_from_reg): Ditto.
805e22b2 4368 * expmed.c (store_bit_field): Ditto.
f4a0a478 4369
7960374c 43702002-12-09 Svein E. Seldal <Svein.Seldal@solidas.com>
4371
4372 * config.gcc: Added tic4x-* target as an alias to c4x-*
4373
bfa756ab 4374Sun Dec 8 14:57:39 CET 2002 Jan Hubicka <jh@suse.cz>
4375
68a04037 4376 * i386.c (ix86_expand_int_movcc): Use force_operand instead of
4377 constructing insn directly.
bfa756ab 4378
805e22b2 43792002-12-06 Per Bothner <pbothner@apple.com>
4380
4381 * cpplib.h (struct cpp_hashnode): Change field directive_index from
4382 char to an int bit-field, for hosts where char is unsigned.
4383
43842002-12-07 Roger Sayle <roger@eyesopen.com>
4385 Richard Henderson <rth@redhat.com>
4386
4387 * real.c (ieee_extended_motorola_format,
4388 ieee_extended_intel_96_format, ieee_extended_intel_128_format,
4389 ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
4390 Provide appropriate values for new signbit field.
4391
43922002-12-07 Roger Sayle <roger@eyesopen.com>
4393
4394 * real.h (real_format): Add signbit field.
4395 * real.c (ieee_single_format, ieee_double_format,
4396 ieee_extended_motorola_format, ieee_extended_intel_96_format,
4397 ieee_extended_intel_128_format, ibm_extended_format,
4398 ieee_quad_format, vax_f_format, vax_d_format,
4399 vax_g_format, i370_single_format, i370_double_format,
4400 c4x_single_format, c4x_extended_format, real_internal_format):
4401 Provide suitable signbit value, or -1 to avoid bit twiddling.
4402
4403 * optabs.c (expand_unop): Try implementing negation of
4404 floating point modes by flipping the sign bit.
4405 (expand_abs): Try implementing abs of floating point modes
4406 by clearing the sign bit.
4407
4408Sat Dec 7 22:29:47 CET 2002 Jan Hubicka <jh@suse.cz>
4409
4410 * i386.c (ix86_expand_int_movcc): Use force_operand instead
4411 of constructing insn directly.
4412
576197d2 44132002-12-07 Kazu Hirata <kazu@cs.umass.edu>
4414
4415 * config/h8300/h8300.md (*iorhi_shift_8): New.
4416
094b2456 44172002-12-06 Bernd Schmidt <bernds@redhat.com>
4418
4419 * doc/invoke.texi: Document FRV port options.
4420 * doc/md.texi: Document FRV register classes.
4421
d9d51eee 44222002-12-07 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
4423
4424 * doc/install.texi (Configuration): Improve description of cases
4425 where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
4426
805e22b2 44272002-12-06 Per Bothner <pbothner@apple.com>
4428
4429 * cpplib.h (NODE_MACRO_ARG): New flag.
4430 (struct cpp_hashnode): Give _cpp_hashnode_value tag to value union.
4431 Remove value.operator field. Move arg_index field to value union.
4432 (directive_index): Make signed, since also used for C++ operators.
4433 * cppmacro.c (_cpp_save_parameter): Use NODE_MACRO_ARG flag to
4434 check for duplicate parameter. Set NODE_MACRO_ARG flag.
4435 Save node->value, and set node->value.arg_index.
4436 (_cpp_create_definition): For each paramater, restore node->value.
4437 (lex_expansion_token): Use NODE_MACRO_ARG flag, and moved arg_index.
4438 * cpptrad.c (scan_out_logical_line): Likewise.
4439 (scan_out_logical_line): Check for directive > 0.
4440 * cpplib.c (cpp_handle_directive): Likewise.
4441 * cpplex.c (_cpp_lex_direct): Update as value.operator is replaced
4442 by negative of directive_index.
4443 * cppinit.c (mark_named_operators): Likewise.
4444
4445 * hashtable.h (struct ht_identifier): Swap fields, for better packing.
4446
88b7f6c6 44472002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
4448
4449 * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
4450 FPU.
4451 (push): Generate push_fpscr.
4452 (pop): Generate pop_fpscr.
4453 * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
4454 (fpu_switch): Add alternative to push fpscr. Enable for TARGET_SH3E.
4455
d1b048f6 4456Fri Dec 6 19:36:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
4457
4458 * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
4459 DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
4460
2cb2bb77 4461Fri Dec 6 19:17:49 2002 J"orn Rennecke <joern.rennecke@superh.com>
4462
4463 * sh.md (movdi_i): Name. Remove inappropriate comment.
4464
1242cc7b 4465Fri Dec 6 15:44:46 2002 J"orn Rennecke <joern.rennecke@superh.com>
4466 Merged from basic improvements branch (excerpt):
4467
4468 2002-11-19 Kaz Kojima <kkojima@gcc.gnu.org>
4469 * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
4470
b4f00eec 44712002-12-06 Jakub Jelinek <jakub@redhat.com>
4472
4473 * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
4474
805e22b2 4475Thu Dec 5 16:58:25 CET 2002 Jan Hubicka <jh@suse.cz>
4476
4477 * i386.md (dimode peep2s): Re-add "&& 1".
4478
4479Thu Dec 5 14:10:15 CET 2002 Jan Hubicka <jh@suse.cz>
4480
4481 * i386.c (ix86_expand_prologue): Add comment, do not use
4482 fast prologues for cold and normal functions.
4483
4484Thu Dec 5 00:52:37 CET 2002 Jan Hubicka <jh@suse.cz>
4485
4486 * i386.c (x86_rep_movl_optimal): New variable.
4487 (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
4488 * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
4489
4490 * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
4491 absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
4492 neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
4493 generate unnecesary subregs.
4494
59ae7b77 44952002-12-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
4496
4497 * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
4498 * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
4499
40e6305a 45002002-12-05 Dale Johannesen <dalej@apple.com>
4501
4502 * tree.c (unsafe_for_reeval): Consider callee child of CALL_EXPR.
4503
3e44c5c1 45042002-12-05 Danny Smith <dannysmith@users.sourceforge.net>
4505
4506 * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
4507 PROFILE_HOOK.
4508 * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
4509
8056bc12 45102002-12-05 Aldy Hernandez <aldyh@redhat.com>
4511
4512 * config/rs6000/spe.h (__ev_mwlufi): Remove.
4513 (__ev_mwlufia): Remove.
4514 (__ev_mwlumfaaw): Remove.
4515 (__ev_mwlusfaaw): Remove.
4516 (__ev_mwlumfanw): Remove.
4517 (__ev_mwlusfanw): Remove.
4518
b74a4cc1 45192002-12-05 Kazu Hirata <kazu@cs.umass.edu>
4520
4521 * config/h8300/h8300.md (*andorsi3_shift_8): New.
4522
567c4b66 45232002-12-05 Kazu Hirata <kazu@cs.umass.edu>
4524
4525 * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
4526 lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
4527 (get_shift_alg): Return optimal assembly instructions for the
4528 shifts mentioned above.
4529
805e22b2 4530Wed Dec 4 11:53:07 CET 2002 Jan Hubicka <jh@suse.cz>
4531
4532 * i386.c (ix86_expand_int_movcc): Force operand into register for QImode
4533 condtiional moves.
4534
ae33853d 45352002-12-04 Kazu Hirata <kazu@cs.umass.edu>
4536
4537 * config/h8300/h8300.c (h8300_init_once): Do not use loop to
4538 implement ashiftrt:HI by 13 bits on H8S.
4539
e6b681c4 45402002-12-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
4541
4542 * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
4543 * pa.md (canonicalize_funcptr_for_compare): Output library call to
4544 canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
4545 * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
4546 CTOR_LIST_BEGIN): New defines.
4547 * pa/t-linux (LIB2FUNCS_EXTRA): New define.
4548 (fptr.c): Add make rules.
4549
cd9c3372 45502002-12-04 Geoffrey Keating <geoffk@apple.com>
4551
4552 * combine.c (combine_simplify_rtx): Add new canonicalizations.
4553 * doc/md.texi (Insn Canonicalizations): Document new
4554 canonicalizations for multiply/add combinations.
4555 * config/rs6000/rs6000.md: Add and modify floating add/multiply
4556 patterns to ensure they're used whenever they can be.
4557
140ee624 45582002-12-04 Kazu Hirata <kazu@cs.umass.edu>
4559
4560 * config/h8300/h8300.c: Update the comments related to shifts.
4561
2b7df6f4 45622002-12-04 Chris Demetriou <cgd@broadcom.com>
4563
4564 * config/mips/mips.md (get_fnaddr): Correct length attribute.
4565
479d3fe7 45662002-12-04 Kazu Hirata <kazu@cs.umass.edu>
4567
4568 * config/h8300/h8300.md (*extzv_8_8): New.
4569 (*extzv_8_16): Likewise.
4570
a6543b83 45712002-12-04 Jason Merrill <jason@redhat.com>
4572
4573 PR c++/8461, c++/8625
4574 * integrate.c (copy_decl_for_inlining): Handle explicit invisible
4575 references.
4576 * tree-inline.c (initialize_inlined_parameters): Likewise.
4577
4578 * tree.c (variably_modified_type_p): Just return an error_mark_node.
4579
b25817c6 45802002-12-04 Chris Demetriou <cgd@broadcom.com>
4581
4582 * config/mips/mips.md (get_fnaddr): Avoid placing an "la"
4583 macro instruction in a branch delay slot, to avoid assembler
4584 warnings.
4585
84111c28 45862002-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
4587
4588 PR c/7622
4589 * c-semantics (genrtl_scope_stmt): Do not output inlined
4590 nested functions that contain no code.
4591
498d173d 4592Wed Dec 4 15:20:54 CET 2002 Jan Hubicka <jh@suse.cz>
4593
4594 * cfgrtl.c (force_nonfallthru_and_redirect): Allow abnormal edge
4595 to be forced into nonfallthru.
4596
3ed88cc9 45972002-12-03 Jason Thorpe <thorpej@wasabisystems.com>
4598
4599 * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
4600
763c008a 46012002-12-03 Aldy Hernandez <aldyh@redhat.com>
4602
805e22b2 4603 * config/rs6000/spe.md (*movv1di_const0): New pattern.
763c008a 4604
1b50ea75 46052002-12-03 Richard Henderson <rth@redhat.com>
4606
4607 * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
4608
0df5e597 46092002-12-03 Hans-Peter Nilsson <hp@bitrange.com>
4610
4611 * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
4612 Initialize tmp.using_obstack to 0.
4613
0056d78e 46142002-12-03 Andreas Schwab <schwab@suse.de>
4615
4616 * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
4617 (EH_RETURN_STACKADJ_RTX): Define.
4618 (EH_RETURN_HANDLER_RTX): Define.
4619 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
4620 * config/m68k/m68k.c (m68k_save_reg): New function. Handle eh
4621 registers and don't save fixed registers.
4622 (m68k_output_function_prologue): Use it.
4623 (use_return_insn): Likewise.
4624 (m68k_output_function_epilogue): Likewise.
4625
7976e18a 46262002-12-03 Kazu Hirata <kazu@cs.umass.edu>
4627
4628 * config/h8300/h8300.c (single_one_operand): Fix a warning.
4629 (single_zero_operand): Likewise.
4630
805e22b2 46312002-12-02 Nathanael Nerode <neroden@gcc.gnu.org>
4632
4633 * Makefile.in configure configure.in dummy-conditions.c fix-header.c
4634 gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
4635 gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
4636 genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
4637 gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
4638 genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
4639 scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
4640 doc/install-old.texi: Replace hconfig.h with bconfig.h.
4641 * Makefile.in: Replace HCONFIG_H with BCONFIG_H.
4642
46432002-12-02 Andrew Pinski <pinskia@physics.uc.edu>
4644
4645 * config/rs6000/rs6000.md (ffssi): Convert to expander.
4646 (ffsdi): Likewise.
4647 (cntlzw2, cntlzd2): New patterns.
4648
46492002-12-02 H.J. Lu <hjl@gnu.org>
4650
4651 * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
4652 (mips*-*-linux*): Remove mips/t-linux.
4653
4654Mon Dec 2 19:26:30 CET 2002 Jan Hubicka <jh@suse.cz>
4655
4656 * i386.c (ix86_expand_int_movcc): Avoid overflow.
4657
b2dd6aa3 46582002-12-02 Kazu Hirata <kazu@cs.umass.edu>
4659
4660 * config/h8300/h8300.c (dosize): Replace argument op with
4661 sign.
4662 (h8300_output_function_prologue): Update the call to dosize.
4663 (h8300_output_function_epilogue): Likewise.
4664
9f250495 46652002-12-02 Bob Wilson <bob.wilson@acm.org>
4666
4667 * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
4668
46692002-12-02 Craig Rodrigues <rodrigc@gcc.gnu.org>
764fe0ef 4670
4671 * configure.in: Use "missing" script to generate warning if
4672 flex or bison programs not found, instead of invoking "false".
4673 * configure: Rebuilt.
4674
2936db7d 4675Mon Dec 2 20:28:48 CET 2002 Jan Hubicka <jh@suse.cz>
4676
4677 * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
4678
730597e6 4679Mon Dec 2 19:42:52 CET 2002 Jan Hubicka <jh@suse.cz>
4680
4681 * i386.c (ix86_expand_int_movcc): Avoid overflow.
4682
4081a531 46832002-12-02 Kazu Hirata <kazu@cs.umass.edu>
4684
4685 * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
4686 (push): Likewise.
4687 (pop): Likewise.
4688 (h8300_output_function_prologue): Likewise.
4689 (h8300_output_function_epilogue): Likewise.
4690
0e6b9583 4691Mon Dec 2 14:43:22 2002 J"orn Rennecke <joern.rennecke@superh.com>
4692
4693 * expmed.c (store_bit_field): Use int_mode_for_mode to find
4694 corresponding mode of non-integer mode, unless it is VOIDmode.
4695
0289b623 46962002-12-02 Kazu Hirata <kazu@cs.umass.edu>
4697
4698 * config/h8300/h8300.md (stm_h8300s_2): New.
4699 (stm_h8300s_3): Likewise.
4700 (stm_h8300s_4): Likewise.
4701 (five define_peephole2): Likewise.
4702
dffd8d55 47032002-12-02 Kazu Hirata <kazu@cs.umass.edu>
4704
4705 * ra-build.c: Fix a comment typo.
4706
805e22b2 4707Sun Dec 1 16:50:47 CET 2002 Jan Hubicka <jh@suse.cz>
4708
4709 * i386.c (ix86_expand_int_movcc): fix
4710 reversed BRANCH_COST test; be curefull about infinite recursion.
4711
b2adb3e0 47122002-12-01 Kazu Hirata <kazu@cs.umass.edu>
4713
4714 * config/h8300/h8300.c (h8300_output_function_prologue):
4715 Remove variable idx.
4716 (h8300_output_function_epilogue): Likewise.
4717
9363c373 47182002-12-01 Zack Weinberg <zack@codesourcery.com>
4719
4720 * config/frv/xm-frv.h: Delete, unnecessary.
4721
ef27ff54 47222002-12-01 Kazu Hirata <kazu@cs.umass.edu>
4723
4724 * config/h8300/h8300.md: Add comments for define_peephole2.
4725
654ef926 47262002-12-01 Mark Mitchell <mark@codesourcery.com>
4727
4728 * builtin-types.def (BT_SIZE): Use size_type_node.
4729 * builtins.c (fold_builtin): Make the builtin strlen returns a
4730 size_t, not a sizetype.
4731 * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
4732 c_size_type_node.
4733 (c_alignof_expr): Likewise.
4734 (c_common_nodes_and_builtins): Likewise.
4735 * c-common.h (CTI_C_SIZE_TYPE): Remove.
4736 (c_size_type_node): Likewise.
4737 * c-format.c (T_ST): Use size_type_node, not c_size_type_node.
4738 * tree.h (TI_SIZE_TYPE): New enumeral.
4739 (size_type_node): Likewise.
805e22b2 4740
47412002-11-30 Zack Weinberg <zack@codesourcery.com>
4742
4743 * configure.in: Don't put ${tm_file} into host_xm_file,
4744 build_xm_file, or xm_file. Do put tm-preds.h into tm_p_file.
4745 Take location of tm-preds.h into account when calculating
4746 tm_p_file_list.
4747 * configure: Regenerate.
4748 * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
4749 arguments. Do not provide rtx, rtvec, tree, or GTY here.
4750 Remove special case code for tm_p.h and *config.h; add new
4751 special case code for tm.h and tconfig.h. Clean up a bit.
4752
4753 * Makefile.in (tm_file, tm_file_list): New variables set from
4754 @-substitutions.
4755 (GCONFIG_H): Deleted.
4756 (GTM_H, TM_H): New.
4757 (CONFIG_H): Is now just config.h $(host_xm_file_list).
4758 (TM_P_H): Move up with the other mkconfig.sh-generated
4759 headers; don't mention tm-preds.h explicitly.
4760 (tm.h, cs-tm.h): New rule.
4761 (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
4762 invocations of mkconfig.sh for changes to that program.
4763 (mostlyclean): Delete print-rtl1.c.
4764 (clean): Delete tm.h.
4765 Update dependencies for the files listed below.
4766
4767 * mklibgcc.in: Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
4768
4769 * coretypes.h: New file.
4770 * system.h: #define malloc to xmalloc and realloc to xrealloc
4771 when FLEX_SCANNER or YYBISON is defined, independent of the
4772 value of GCC_VERSION.
4773 * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
4774 c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
4775 c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
4776 c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
4777 c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
4778 cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
4779 cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
4780 cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
4781 cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
4782 cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
4783 debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
4784 dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
4785 emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
4786 expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
4787 function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
4788 gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
4789 gencheck.c, gencodes.c, genconditions.c, genconfig.c,
4790 genconstants.c, genemit.c, genextract.c, genflags.c,
4791 gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
4792 genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
4793 gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
4794 ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
4795 hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
4796 lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
4797 main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
4798 optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
4799 print-tree.c, profile.c, protoize.c, ra-build.c,
4800 ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
4801 real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
4802 regrename.c, reload.c, reload1.c, reorg.c, resource.c,
4803 rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
4804 scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
4805 sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
4806 ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
4807 tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
4808 tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
4809 xcoffout.c, config/darwin-c.c, config/darwin.c,
4810 config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
4811 config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
4812 config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
4813 config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
4814 config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
4815 config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
4816 config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
4817 config/i960/i960-c.c, config/i960/i960.c,
4818 config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
4819 config/m32r/m32r.c, config/m68hc11/m68hc11.c,
4820 config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
4821 config/mips/irix6-libc-compat.c, config/mips/mips.c,
4822 config/mmix/mmix.c, config/mn10200/mn10200.c,
4823 config/mn10300/mn10300.c, config/ns32k/ns32k.c,
4824 config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
4825 config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
4826 config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
4827 config/sparc/sparc.c, config/stormy16/stormy16.c,
4828 config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
4829 config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
4830 Include coretypes.h and tm.h.
4831
4832 * genattrtab.c, genconditions.c, genemit.c, genextract.c,
4833 gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
4834 genrecog.c: Include coretypes.h and tm.h from the file
4835 generated by this program.
4836
4837 * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
4838 unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
4839 coretypes.h and tm.h, and tsystem.h when not already included.
4840 No need to include stddef.h nor stdlib.h.
4841
4842 * fixinc/fixlib.h: Include coretypes.h and tm.h. Do not
4843 include auto-host.h or ansidecl.h/
4844 * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
4845 * fixinc/procopen.c: Include server.h after fixlib.h. Do not
4846 include auto-host.h, ansidecl.h, or system.h.
4847 * fixinc/server.c: Likewise. Also, do not include signal.h,
4848 and do not redefine volatile.
4849
4850Sat Nov 30 17:16:46 CET 2002 Jan Hubicka <jh@suse.cz>
4851
4852 * i386.md (movdf_integer): Always enable in 64bit.
4853 (movdf_nointeger): Always disable in 64bit.
4854
cea1c7f4 48552002-11-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
4856
4857 * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
4858 pseudo register number plus 1.
4859
805e22b2 4860Fri Nov 29 20:10:56 2002 J"orn Rennecke <joern.rennecke@superh.com>
4861
4862 * expmed.c (store_bit_field): Use int_mode_for_mode to find
4863 corresponding mode of non-integer mode, unless it is VOIDmode.
4864
9fd28e01 48652002-11-29 Hans-Peter Nilsson <hp@bitrange.com>
4866
4867 * cpplib.c (_cpp_test_assertion): Default *value to 0.
4868
4869 * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
4870
1b2d98e9 48712002-11-29 Ulrich Weigand <uweigand@de.ibm.com>
4872
4873 * config/s390/t-crtstuff: New target makefile fragment.
4874 * config.gcc [s390-*-linux, s390x-*-linux]: Use it.
4875
e6070002 48762002-11-29 Kazu Hirata <kazu@cs.umass.edu>
4877
4878 * config/h8300/h8300.md (movsi_h8300hs): Change the order of
4879 alternatives to correct the length when the memory operand is
4880 either pre_dec or post_inc.
4881
f5087002 48822002-11-29 Kazu Hirata <kazu@cs.umass.edu>
4883
4884 * config/h8300/h8300.md (an anonymous pattern): Give an
4885 internal name *tst_extzv_bitqi_1_n.
4886 Accept bit_operand instead of bit_memory_operand.
4887 Do not accept bit tests with the MSB.
4888 (*tst_extzv_memqi_1_n): New.
4889
805e22b2 4890Thu Nov 28 23:56:24 CET 2002 Jan Hubicka <jh@suse.cz>
4891
4892 * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
4893 sharing when operand is SUBREG.
4894
4895Thu Nov 28 08:57:26 CET 2002 Jan Hubicka <jh@suse.cz>
4896
4897 * athlon.md (athlon-decodev): New reservation unit.
4898 (athlon-direct0): New reservation.
4899 (athlon-vector): New use athlon-decodev.
4900 (athlon-double, athlon-direct): Better model.
4901 (athlon_imul_k8): Use athlon-direct0.
4902 (athlon_movlpd_load): New insn reservation.
4903
462c2024 49042002-11-28 Kazu Hirata <kazu@cs.umass.edu>
4905
4906 * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
4907 Fix a comment typo.
4908 (h8300_tiny_constant_address_p): Likewise.
4909
28993447 49102002-11-28 Michael Matz <matz@suse.de>
4911
4912 * doc/passes.texi: Mention the other register allocator.
4913
d515f2bd 49142002-11-28 Kazu Hirata <kazu@cs.umass.edu>
4915
4916 * config/h8300/h8300.md (6 new peephole2 patterns): New.
4917
2ee36fb7 49182002-11-28 Jakub Jelinek <jakub@redhat.com>
4919
4920 * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
4921 * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
4922 * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
4923
b785ceb4 49242002-11-28 Kazu Hirata <kazu@cs.umass.edu>
4925
4926 * config/h8300/h8300.c (h8300_and_costs): New.
4927 * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
4928 * config/h8300/h8300-protos.h: Add a prototype for
4929 h8300_and_costs.
4930
805e22b2 4931Wed Nov 27 20:34:13 CET 2002 Jan Hubicka <jh@suse.cz>
4932
4933 * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
4934 * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
4935 (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
4936 * i386.md (truncdfsf patterns and splitters): Use
4937 TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
4938
d5db08c7 49392002-11-27 Zack Weinberg <zack@codesourcery.com>
4940
4941 * config/rs6000/rs6000.c (altivec_init_builtins): Make the
4942 pointer argument in the prototypes of the following builtins
4943 be (const TYPE *) rather than (TYPE *):
4944 + __builtin_altivec_ld_internal_4sf
4945 + __builtin_altivec_ld_internal_4si
4946 + __builtin_altivec_ld_internal_8hi
4947 + __builtin_altivec_ld_internal_16qi
4948 + __builtin_altivec_lvsl
4949 + __builtin_altivec_lvsr
4950 + __builtin_altivec_lvebx
4951 + __builtin_altivec_lvehx
4952 + __builtin_altivec_lvewx
4953 + __builtin_altivec_lvxl
4954 + __builtin_altivec_lvx
4955 + __builtin_altivec_dst
4956 + __builtin_altivec_dstt
4957 + __builtin_altivec_dstst
4958 + __builtin_altivec_dststt
4959
01bffb8a 49602002-11-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4961
4962 * except.c (default_exception_section): Move variable into the
4963 scope where it is used.
4964
9f6a375a 49652002-11-27 Krister Walfridsson <cato@df.lth.se>
4966
4967 * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
4968 correct version.
4969
8a81154b 49702002-11-27 Kazu Hirata <kazu@cs.umass.edu>
4971
4972 * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
4973
c033ada4 49742002-11-27 Kazu Hirata <kazu@cs.umass.edu>
4975
4976 * config/h8300/h8300.c (h8300_shift_costs): New.
4977 * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
4978 * config/h8300/h8300-protos.h: Add a prototype for
4979 h8300_shift_costs.
4980
f9febae9 49812002-11-27 Jim Wilson <wilson@redhat.com>
4982
d5db08c7 4983 * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
4984 in output template.
f9febae9 4985
78177281 49862002-11-27 Casper S. Hornstrup <chorns@users.sourceforge.net>
4987
4988 * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
4989 * config/i386/winnt.c (i386_pe_dllexport_name_p): Use
4990 DLL_IMPORT_EXPORT_PREFIX, not '@'.
4991 (i386_pe_dllimport_name_p): Likewise.
4992 (i386_pe_mark_dllexport): Likewise.
4993 (i386_pe_mark_dllimport): Likewise.
4994 (i386_pe_encode_section_info): Likewise.
4995 (i386_pe_strip_name_encoding): Likewise.
4996
5484670c 49972002-11-27 Richard Henderson <rth@redhat.com>
4998
4999 * mkmap-symver.awk (BEGIN): Set sawsymbol false.
5000 (nm && NF == 3): Set sawsymbol true.
5001 (END): Exit if no symbols seen.
5002 (output): Fix map syntax error if no globals for the version.
5003
ff666e6c 5004Wed Nov 27 14:45:46 CET 2002 Jan Hubicka <jh@suse.cz>
5005
5006 * builtins.def (DEF_C99_BUILTIN): Fix.
5007
805e22b2 50082002-11-26 Kaz Kojima <kkojima@gcc.gnu.org>
5009
5010 * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
5011 (all): Add .size and .type information.
5012
5013Tue Nov 26 22:43:50 CET 2002 Jan Hubicka <jh@suse.cz>
5014
5015 * i386.c (ix86_expand_int_movcc): Do not emit lea for short mode on
5016 partial_reg_stall target.
5017
5018Tue Nov 26 22:27:47 CET 2002 Jan Hubicka <jh@suse.cz>
5019
5020 * i386.md (movhicc): Allow general operand.
5021 (movqicc): New expander.
5022 (movqicc_noc): New pattern.
5023 * i386.c (ix86_expand_carry_flag_compare): New function.
5024 (ix86_expand_int_movcc): Optimize harder using sbb; support more
5025 HImode conversion; support QImode conditional moves
5026
5027Tue Nov 26 16:30:59 CET 2002 Jan Hubicka <jh@suse.cz>
5028
5029 * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
5030 (ix86_expand_prologue): Multiply the count by amount of registers to be
5031 pushed.
5032
5033Tue Nov 26 15:55:27 CET 2002 Jan Hubicka <jh@suse.cz>
5034
5035 * i386.c (override_options): Error about wrong -mcpu on x86-64
5036 compilation.
5037
50382002-11-26 NIIBE Yutaka <gniibe@m17n.org>
5039
5040 * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
5041
5042Tue Nov 26 00:14:20 CET 2002 Jan Hubicka <jh@suse.cz>
5043
5044 * i386-protos.h (x86_extended_QIreg_mentioned_p,
5045 x86_extended_reg_mentioned_p): Declare.
5046 * i386.c (extended_reg_mentioned_1): New static function.
5047 (x86_extended_QIreg_mentioned_p,
5048 x86_extended_reg_mentioned_p): New global functions.
5049 * i386.h (REX_SSE_REGNO_P): New macro.
5050 * i386.md (prefix_rex): New attribute.
5051 (length attribute): Add rex.
5052
41acc81b 50532002-11-26 Andrew Haley <aph@redhat.com>
5054
5055 * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
5056 from_Unwind_Find_Enclosing_Function.
5057 * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
5058 * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
5059 * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
5060 _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
5061 * unwind.h (_Unwind_FindEnclosingFunction): Add.
d5db08c7 5062
d0d5ec8d 50632002-11-26 Hartmut Penner <hpenner@de.ibm.com>
5064
d5db08c7 5065 * config/s390/s390.c (390_output_constant_pool): Set alignment
5066 before label in 64 bit mode, behind otherwise.
d0d5ec8d 5067
8cf34b34 50682002-11-26 Richard Henderson <rth@redhat.com>
5069
5070 * c-common.c (handle_visibility_attribute): Accept "default".
5071 * tree.h (enum symbol_visibility): New.
5072 (decl_visibility): Declare.
5073 * target.h (gcc_target.visibility): Take visibility arg as integer.
5074 * varasm.c (default_assemble_visibility): Likewise.
5075 (decl_visibility): New.
5076 (maybe_assemble_visibility): Use it.
5077 * output.h (default_assemble_visibility): Update prototype.
5078 * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
5079 visibility arg as integer.
2d0ba106 5080 * doc/extend.texi: Document default visibility.
8cf34b34 5081
16b503e9 50822002-11-26 Kazu Hirata <kazu@cs.umass.edu>
5083
5084 * config/h8300/h8300.c: Adjust spacing.
5085 * config/h8300/h8300.h: Likewise.
5086
b2ec75b5 50872002-11-26 Richard Henderson <rth@redhat.com>
5088
5089 * hooks.c (hook_bool_void_false, hook_void_tree_int,
5090 hook_void_FILEptr_constcharptr): Rename so that the return
5091 type is first.
5092 (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
5093 hook_bool_tree_false): New.
5094 * hooks.h: Update.
5095 * langhooks-def.h: Update for renames.
5096 * target-def.h: Likewise.
5097 * tree.c (default_comp_type_attributes,
d5db08c7 5098 default_set_default_type_attributes, default_insert_attributes,
b2ec75b5 5099 default_function_attribute_inlinable_p,
5100 default_ms_bitfield_layout_p): Remove.
5101 * tree.h: Update.
5102
58a72cce 51032002-11-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
5104
5105 * pa-protos.h (function_value): New prototype.
5106 * pa.c (function_value): Use a PARALLEL to return small aggregates on
5107 TARGET_64BIT.
5108 * pa.h (FUNCTION_VALUE): Use function_value.
5109 * pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
5110 call_value_internal_reg, sibcall_value_internal_symref,
5111 sibcall_value_internal_symref_64bit): Remove =rf constraint on return
5112 value.
5113
b566e2e5 51142002-11-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
5115
5116 * expr.c (gen_group_rtx, emit_group_move): New functions.
5117 * expr.h (gen_group_rtx, emit_group_move): Prototype.
5118 * function.c (expand_function_start): Use gen_group_rtx to create a
5119 PARALLEL rtx to hold the return value when the real return rtx is a
5120 PARALLEL.
5121 (expand_function_end): Use emit_group_move to move the return value
5122 from a PARALLEL to the real return registers.
5123 * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
5124 in PARALLELs.
5125
fc18b6b7 51262002-11-26 Jason Thorpe <thorpej@wasabisystems.com>
5127
5128 * config/t-libc-ok: Fix typo.
5129
1c6c0617 51302002-11-26 Jakub Jelinek <jakub@redhat.com>
5131
5132 * configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
5133 before AC_PROG_CC.
5134 * configure: Rebuilt.
5135
67be5043 51362002-11-26 Nathan Sidwell <nathan@codesourcery.com>
5137
5138 * c-decl.c: (start_struct): Commonize flag setting.
5139
a429a994 51402002-11-26 Jason Thorpe <thorpej@wasabisystems.com>
5141
5142 * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
5143 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
d5db08c7 5144 RS6000_CPU_CPP_ENDIAN_BUILTINS.
a429a994 5145 * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
5146
5a5e802f 51472002-11-26 Hartmut Penner <hpenner@de.ibm.com>
5148
5149 * config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
5150 insns.
5151 * config/s390/s390.c (struct machine_function): Introduction of
5152 struct machine_function.
8d3ed03e 5153 (s390_output_symbolic_const): Use of cfun.
5154 (s390_optimize_prolog): Likewise.
5155 (s390_fixup_clobbered_return_reg): Likewise.
5156 (s390_frame_info): Likewise.
5157 (s390_emit_prologue, s390_emit_epilogue): Likewise.
5158 (s390_init_machine_status): New function.
5159 (override_options): call s390_init_machine_status.
d5db08c7 5160 * config/s390/s390-protos.h (s390_output_constant_pool): Changed
5a5e802f 5161 prototype.
d5db08c7 5162
d04de461 51632002-11-26 Jakub Jelinek <jakub@redhat.com>
5164
5165 * varasm.c (output_constant_pool): For pool constants in mergeable
5166 section ensure each constant is padded to multiple of entity size.
5167
d5720b0c 51682002-11-26 Jakub Jelinek <jakub@redhat.com>
5169
5170 * varasm.c (default_exception_section): Move to...
5171 * except.c (default_exception_section): ... here. Make
5172 .gcc_except_table read-only if it is not expected to have any
5173 dynamic relocations and linker handles it.
5174 * dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
5175 if it is not expected to have any dynamic relocations and linker
5176 handles it.
5177 * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
5178 when linking read-only and read-write sections together.
5179 * configure, config.in: Rebuilt.
5180 * crtstuff.c (EH_FRAME_SECTION_CONST): Define.
5181 (__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
5182
805e22b2 5183Mon Nov 25 18:32:37 CET 2002 Jan Hubicka <jh@suse.cz>
5184
5185 * i386.md (pushsf_rex64): Fix typo.
5186
ac37c602 51872002-11-25 Aldy Hernandez <aldyh@redhat.com>
5188
78177281 5189 * config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
5190 new function.
5191 (__ev_create_ufix32_fs): Same.
5192 (__ev_get_sfix32_fs_internal): New.
5193 (__ev_get_sfix32_fs): Define to use function.
5194 (__ev_get_ufix32_fs_internal): New.
5195 (__ev_get_ufix32_fs): Define to use function.
5196 (__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
5197 (__ev_get_lower_ufix32_fs): Same.
5198 (__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
5199 (__ev_get_lower_sfix32_fs): Same.
5200 (__ev_set_sfix32_fs_internal): New.
5201 (__ev_set_ufix32_fs_internal): New.
5202 (__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
5203 (__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
5204 (__ev_set_upper_sfix32_fs): Call function.
5205 (__ev_set_lower_sfix32_fs): Same.
5206 (__ev_set_upper_ufix32_fs): Same.
5207 (__ev_set_lower_ufix32_fs): Same.
ac37c602 5208
03b358c6 52092002-11-25 Douglas B Rupp <rupp@gnat.com>
5210
5211 * gcc.c (do_spec_1): Reset delete_this_arg to zero.
5212
49f8be83 52132002-11-25 Jason Thorpe <thorpej@wasabisystems.com>
5214
5215 * config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
5216 * config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
5217 * config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
5218 * config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
5219 * config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
5220 * config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
5221 * config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
5222 * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
5223 * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
5224 * config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
5225 * config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
5226 * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
5227 * config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
5228 * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
5229 * config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
5230 * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
5231 * config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
5232 * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
5233 * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
5234 * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
5235 * config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
5236 * config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
5237 * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
5238 * config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
5239 defining.
5240 * config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
5241 * config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
5242
6d149024 52432002-11-25 Dave Pitts <dpitts@cozx.com>
5244
5245 * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
5246
7410c9f1 52472002-11-25 Kazu Hirata <kazu@cs.umass.edu>
5248
5249 * config/h8300/h8300.md (an anonymous pattern): New.
5250
e5be0cc6 52512002-11-25 Richard Henderson <rth@redhat.com>
5252
5253 * alias.c (find_base_value): Use new_reg_base_value if it's live.
5254 (copying_arguments): Make boolean.
5255
399cde80 52562002-11-25 Jason Thorpe <thorpej@wasabisystems.com>
5257
5258 * gcc.c (static_spec_functions): Add if-exists-else spec
5259 function.
5260 (if_exists_else_spec_function): New function.
5261 * doc/invoke.texi: Document the if-exists-else spec function.
5262
5263 * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
5264 "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
5265
5eeaefac 52662002-11-25 Jason Thorpe <thorpej@wasabisystems.com>
5267
5268 * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
5269 "netbsd.h netbsd-elf.h" in tm_file. Set tmake_file to
5270 "${tmake_file} rs6000/t-netbsd".
5271 * config/rs6000/netbsd.h: Rewrite.
5272 * config/rs6000/t-netbsd: New file.
5273
e740d56c 52742002-11-25 Kazu Hirata <kazu@cs.umass.edu>
5275
5276 * config/h8300/h8300.md (an anonymous pattern): Relax the
5277 condition for the pattern.
5278
34d9ce29 52792002-11-25 Aldy Hernandez <aldyh@redhat.com>
5280
5281 * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
5282 evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
5283 evmwlssfanw, evmwlsmfanw.
5284
5285 * config/rs6000/rs6000.c (bdesc_2arg): Same.
5286
5287 * config/rs6000/spe.md: Same for patterns.
5288
e5b30d78 52892002-11-25 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
5290
5291 PR c/8639
5292 * fold-const.c (extract_muldiv): Don't propagate division unless
5293 both arguments are multiples of C.
5294
19799cdd 52952002-11-25 Andrew Haley <aph@redhat.com>
5296
78177281 5297 * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
5298 * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
5299 * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
5300 * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
19799cdd 5301
805e22b2 5302Sun Nov 24 10:38:04 CET 2002 Jan Hubicka <jh@suse.cz>
5303
5304 * i386.c (x86_use_ffreep): New global variable.
5305 * i386.h (x86_use_frfeep): Declare
5306 (TARGET_USE_FFREEP): New macro
5307 * i386.md (movs?f*): Use freep when asked for.
5308 (push?f): Remove dead code.
5309
5d4af384 53102002-11-24 Kazu Hirata <kazu@cs.umass.edu>
5311
5312 * config/h8300/h8300.c (h8300_init_once): Fix a typo in the
5313 target help message.
5314
9a33b00e 53152002-11-24 Jason Thorpe <thorpej@wasabisystems.com>
5316
5317 * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
5318 extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
5319 crtbeginT.o".
5320 (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
5321 (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
5322 to "" for a.out configurations.
5323 * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
5324
57824d9d 53252002-11-24 Jason Thorpe <thorpej@wasabisystems.com>
5326
5327 * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
d5db08c7 5328 NETBSD_CPP_SPEC directly.
57824d9d 5329 (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec. Add
5330 netbsd_endfile_spec.
5331 (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
5332
9c7f893c 53332002-11-24 Jason Thorpe <thorpej@wasabisystems.com>
5334
5335 * config/netbsd-elf.h (STARTFILE_SPEC): Rename to
5336 NETBSD_STARTFILE_SPEC.
5337 (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
5338 (ENDFILE_SPEC): Likewise.
5339 * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
5340
b712bf34 53412002-11-24 Andreas Schwab <schwab@suse.de>
5342
5da9eabd 5343 * Makefile.in (install-driver): Remove versioned link before
5344 trying to create it.
5345
b712bf34 5346 * config/m68k/m68k.c: Fix typo in last change defining
5347 TARGET_ASM_CAN_OUTPUT_MI_THUNK.
5348
805e22b2 53492002-11-23 H.J. Lu <hjl@gnu.org>
5350
5351 * aclocal.m4: Include ../config/accross.m4.
5352 (gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
5353 (gcc_AC_C_COMPILE_ENDIAN): Removed.
5354 (gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
5355 instead of $ac_cv_c_compile_endian.
5356
5357 * configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
5358 AC_COMPILE_CHECK_SIZEOF.
5359 Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
5360 * configure: Rebuild.
5361
3696208f 53622002-11-23 Kazu Hirata <kazu@cs.umass.edu>
5363
5364 * config/h8300/h8300.c (print_operand): Update the use of
5365 h8300_tiny_constant_address_p.
5366 (h8300_adjust_insn_length): Likewise.
5367 (h8300_tiny_constant_address_p): Check if the given rtx is a
5368 variable declared with __attribute__ ((tiny_data)).
5369
f3d7e813 53702002-11-22 Dale Johannesen <dalej@apple.com>
5371
78177281 5372 * toplev.c (rest_of_compilation): Fix comments.
f3d7e813 5373
fed269b3 53742002-11-22 Geoffrey Keating <geoffk@apple.com>
5375
5376 * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
5377 allow mmap from /dev/zero. Don't make decisions for the host
5378 based on presence or absence of /dev/zero on the build machine.
5379 (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
5380 (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
5381 * configure: Regenerate.
5382
5feeeb38 53832002-11-22 Daniel Jacobowitz <drow@mvista.com>
5384
5385 * gcc.c (make_relative_prefix, split_directories)
5386 (free_split_directories): Removed.
5387
549c28fd 53882002-11-22 Daniel Jacobowitz <drow@mvista.com>
5389
5390 * configure.in: Set insn=nop for DWARF-2 tests on ARM.
5391 * configure: Regenerated.
5392
f56f0ed0 53932002-11-22 Kazu Hirata <kazu@cs.umass.edu>
5394
5395 * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
5396 length computation when xor.l is output.
5397
805e22b2 53982002-11-21 Douglas B Rupp <rupp@gnat.com>
5399
5400 * alpha.md (movstrdi, clrstrdi): New VMS patterns.
5401 (call_vms_1, call_value_vms_1): Cleanup syntax.
5402
5403Thu Nov 21 19:20:27 CET 2002 Jan Hubicka <jh@suse.cz>
5404
5405 * athlon.md (define_atuomaton): Add athlon_load.
5406 (athlon-double): New reservation.
5407 (athlon-ieu0): New CPU unit.
5408 (athlon-load?): Use athlon_load automaton.
5409 (*_k8 reservations): New.
5410 (other insn revervations): Activate for K8.
5411
5412Thu Nov 21 15:07:42 CET 2002 Jan Hubicka <jh@suse.cz>
5413
5414 * cfgrtl.c (verify_flow_info): Accept EDGE_CAN_FALLTHRU flag.
5415
7b043227 54162002-11-21 Jim Wilson <wilson@redhat.com>
5417
5418 * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
5419 vectors to SI.
5420
78d6a4ed 54212002-11-21 Bob Wilson <bob.wilson@acm.org>
5422
5423 * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
5424 * config/xtensa/xtensa.c (struct machine_function): Add
5425 incoming_a7_copied flag.
5426 (xtensa_copy_incoming_a7): Define.
5427 (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
5428 * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
5429
a73600cc 5430Thu Nov 21 23:52:04 CET 2002 Jan Hubicka <jH@suse.cz>
5431
5432 * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
5433 * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
d5db08c7 5434 x86_64_nonmemory_operand, x86_64_movabs_operand,
a73600cc 5435 x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
5436 ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
5437 (local_symbolic_operand): Do not care the 64bit limits.
5438 (x86_64_sign_extended_value): Remove allow_rip support.
5439 (legitimate_pic_address_disp_p): Handle all cases allowed
5440 with RIP addressing.
5441 (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
5442 (legitimize_pic_address): Reorganize.
5443 * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
5444
2b6c0e61 54452002-11-21 Jason Thorpe <thorpej@wasabisystems.com>
5446
5447 * config.gcc (arm*-*-netbsdelf*): Enable configuration.
5448 * config/arm/netbsd-elf.h: New file.
5449
3eddb6a2 54502002-11-21 Jason Thorpe <thorpej@wasabisystems.com>
5451
5452 * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
5453 subtarget_asm_float_spec.
5454 (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
5455 defaults from...
5456 (ASM_SPEC): ...here. Use subtarget_asm_float_spec.
5457
0398a398 54582002-11-21 Nick Clifton <nickc@redhat.com>
5459
5460 * config/fr30/fr30.md (movsf_constant_store): Move code to
5461 detect 0.0 into fr30.c.
5462 * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
5463 Prototype.
5464 * config/fr30/fr30.c (fr30_const_double_is_zero): New
5465 function. Return true if the rtx is 0.0.
5466
e1e06b21 54672002-11-21 Jason Thorpe <thorpej@wasabisystems.com>
5468
5469 * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
5470 if -mlittle-endian is specified.
5471
5a097f7d 54722002-11-21 Richard Earnshaw <rearnsha@arm.com>
5473
5474 PR optimization/2903
5475 * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
5476 (anddi_notsesidi_di): Likewise.
5477
e566129f 54782002-11-21 Kazu Hirata <kazu@cs.umass.edu>
5479
5480 * config/h8300/h8300.c (print_operand): Use
5481 h8300_eightbit_constant_address_p and
5482 h8300_tiny_constant_address_p.
5483 (h8300_adjust_insn_length): Likewise.
5484 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
5485 (TINY_CONSTANT_ADDRESS_P): Likewise.
5486 (OK_FOR_U): Use eightbit_constant_address_p.
5487
019dd86a 54882002-11-21 Ulrich Weigand <uweigand@de.ibm.com>
5489
5490 * config/s390/libgcc-libc.ver: Add multilib support.
5491 * config/s390/linux.h (MULTILIB_DEFAULT): Define.
d5db08c7 5492 * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
5493 MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
019dd86a 5494 EXTRA_MULTILIB_PARTS): Define.
5495
274a15ff 54962002-11-21 Richard Earnshaw <rearnsha@arm.com>
5497
5498 * arm.c (arm_get_frame_size): A leaf function does not need its
5499 stack padding to an aligned boundary if it has no frame.
5500 (thumb_get_frame_size): Likewise.
5501
805e22b2 5502Wed Nov 20 22:25:53 CET 2002 Jan Hubicka <jh@suse.cz>
5503
5504 * x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
5505 (override_options): Likewise.
5506
5507Wed Nov 20 19:07:17 CET 2002 Jan Hubicka <jh@suse.cz>
5508
5509 * config.gcc: Add k8 target alias support
5510 * i386.c (_cost): Declare costs for various variants of divides and
5511 multiplies.
5512 (k8_cost): New.
5513 (m_K8, m_ATHLON_K8): New macros.
5514 (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
5515 x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
5516 x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
5517 x86_integer_DFmode_moves, x86_partial_reg_dependency,
5518 x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
5519 x86_prologue_using_move, x86_epilogue_using_move,
5520 x86_arch_always_fancy_math_387, x86_sse_partial_regs,
5521 x86_sse_typeless_stores): Set for K8
5522 (override_options): Add k8 support; fix athlon alignment;
5523 complain about non-x86-64 capable CPU being used in x86-64 compilation.
5524 (ix86_issue_rate): Set for K8.
5525 (ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
5526 x86_machine_dependent_reorg): Handle K8 like
5527 * i386.h
5528 (x86_costs): Change mult_init and divide into array.
5529 (TARGET_K8, TARGET_ATHLON): New macros.
5530 (MODE_INDEX): New macro.
5531 (RTX_COST): Use new costs.
5532 (TARGET_CPU_CPP_BUILTINS): Define __k8__ and __tune_k8__.
5533 (TARGET_CPU_DEFAULT_NAMES): Add k8
5534 (TARGET_CPU_DEFAULT_k8): New constant
5535 (enum processor_type): Add PROCESSOR_K8.
5536 * i386.md (cpu attribute): Add k8.
5537
5538 * invoke.texi: Document -march=k8.
5539
5540 * i386.md (type attribute): Add leave
5541 (mode attribute): Remove unknownfp.
5542 (length_immediate, modrm, memory attributes): Handle leave correctly.
5543 (fp comparison patterns): Determine FP mode.
5544 (leave, leave_rex64): Remove special cases.
5545 * ppro.md (ppro_uops, ppro_p2): Add leave
5546 * pentiun.md (pent_pop): Handle leave too.
5547 * k6.md (k6_load): Handle leave.
5548 * athlon.md (athlon_leave, athlon_pop): Fix.
5549 (athlon_decode): Handle leave.
5550
e9e12845 55512002-11-20 Steve Ellcey <sje@cup.hp.com>
5552
5553 * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
5554 to component type using GET_MODE_INNER.
5555 * expr.c (emit_move_insn_1): Ditto.
5556 * optabs.c (expand_binop): Ditto.
5557 (expand_unop): Ditto.
5558 (expand_complex_abs): Ditto.
5559
2e4dc2ea 55602002-11-20 Douglas B Rupp <rupp@gnat.com>
5561
5562 * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
5563
537da7d2 55642002-11-20 DJ Delorie <dj@redhat.com>
5565
5566 * config/stormy16/stormy16.c (s16builtins,
5567 xstormy16_init_builtins, xstormy16_expand_builtin): New.
5568 * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
5569
0fa54ff1 55702002-11-20 Hans-Peter Nilsson <hp@bitrange.com>
5571
5572 * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
5573 (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
5574 (executing gencheck, genconfigs, genconditions, genflags,
5575 gencodes, genconstants, genemit, genrecog, genopinit, genextract,
5576 genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
5577 gengtype, genprotos): Prepend $(RUN_GEN).
5578 * configure.in: Move host compiler tests before --enable-checking
5579 tests.
5580 (--enable-checking=valgrind): New.
5581 * config.in, configure: Regenerate.
5582 * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
5583 Define as empty.
5584 (read_include_file): When doing the mmap+1 trick,
5585 valgrind-annotate the byte after the mmap:ed area as readable.
5586 (purge_cache): Remove above annotation.
5587 * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
5588 VALGRIND_PATH -q to each command.
5589
dd359afe 5590 * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
5591 Define as empty.
5592 (ggc_realloc): Update valgrind annotations.
5593 * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
5594 Define as empty.
9dcbab6f 5595 (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
dd359afe 5596 valgrind-annotate memory.
5597
13de7ba9 55982002-11-20 Ulrich Weigand <uweigand@de.ibm.com>
5599
5600 * recog.c (constrain_operands): Prefer exact match over reloadable
5601 EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
5602
5603 * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
5604 operands in Pmode.
5605
84111c28 56062002-11-20 Eric Botcazou <ebotcazou@libertysurf.fr>
fbd2e379 5607
5608 PR c/8518
5609 * c-decl.c (duplicate_decls): Outline the second definition
5610 of an extern inline function in all cases.
5611
3e7192f6 56122002-11-20 Richard Sandiford <rsandifo@redhat.com>
5613
5614 * stor-layout.c (place_field): Update rli->offset as well as
5615 rli->bitpos.
5616
7f8cb26b 56172002-11-20 Richard Sandiford <rsandifo@redhat.com>
5618
5619 * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
5620
cb77e60d 56212002-11-20 Richard Sandiford <rsandifo@redhat.com>
5622
5623 * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
5624 into a libcall block.
5625 (divsi3): Likewise divsi3_i4_media.
5626
19047a6a 56272002-11-20 Richard Sandiford <rsandifo@redhat.com>
5628
5629 * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
5630 out another register.
5631
4c286961 56322002-11-20 Jakub Jelinek <jakub@redhat.com>
5633
5634 * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
5635 (not just mask) are set in C.
5636
805e22b2 56372002-11-19 Steven Bosscher <steven.bosscher@usafa.af.mil>
5638
5639 * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
5640
56412002-11-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5642
5643 * profile.c (index_counts_file): Fix obvious mistake.
5644
56452002-11-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5646
5647 * Makefile.in (profile.o): Add hashtab.h dependency.
5648 * gcov-io.h (GCOV_SUMMARY_LENGTH): New.
5649 * profile.c: Include hashtab.h.
5650 (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
5651 cleanup_counts_index, index_counts_file, struct section_reference,
5652 struct da_index_entry, counts_file_name, counts_file_index): New.
5653 (get_exec_counts, init_branch_prob): Modified.
5654
56552002-11-19 Kaz Kojima <kkojima@gcc.gnu.org>
5656
5657 * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
5658 to tmake_file. Remove setting gas and gnu_ld here.
5659 * config/sh/libgcc-glibc.ver: New file.
5660 * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
5661 (SHLIB_MAPFILES): New.
5662 * config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
5663 (MD_STARTFILE_PREFIX): Likewise.
5664 (HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
5665 (DWARF2_UNWIND_INFO): Redefine.
5666 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
5667 (LINK_EH_SPEC): Redefine.
5668 (MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
5669 (SH_FALLBACK_FRAME_FLOAT_STATE): Define.
5670 (SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
5671 SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
5672 SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
5673 SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
5674 SH_DWARF_FRAME_FPSCR): Likewise.
5675 * config/sh/sh-protos.h (sh_set_return_address): Declare.
5676 * config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
5677 registers if the current function calls EH return.
5678 (sh_expand_epilogue): Handle EH stack adjustments.
5679 (sh_set_return_address): New function.
5680 * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
5681 Don't abort even if the number is mapped to -1.
5682 (EH_RETURN_DATA_REGNO): Define.
5683 (EH_RETURN_STACKADJ_RTX): Define.
5684 * config/sh/sh.md (UNSPEC_EH_RETURN): New.
5685 (eh_return): New pattern.
5686 (eh_set_ra_di, eh_set_ra_si): Likewise.
5687 Add splitter to perform EH return after reload.
5688
5689Tue Nov 19 12:52:07 2002 J"orn Rennecke <joern.rennecke@superh.com>
5690
5691 * stor-layout.c (excess_unit_span): New function.
5692 (place_field): Use it.
5693
56942002-11-19 Andreas Schwab <schwab@suse.de>
5695
5696 * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
5697 not valid in C++.
5698
56992002-11-19 Nathanael Nerode <neroden@gcc.gnu.org>
5700
5701 * configure.in, Makefile.in: Correct BUILD/HOST confusion.
5702 * configure: Regenerate.
5703
5704Tue Nov 19 00:11:44 CET 2002 Jan Hubicka <jh@suse.cz>
5705
5706 * convert.c (strip_float_extensions): New function.
5707 (convert_to_real): Optimize some cases.
5708
d4a961c8 57092002-11-19 Andreas Jaeger <aj@suse.de>
5710
5711 * loop.c (record_giv): Initialize not_replaceable.
5712 (check_final_value): Likewise.
5713
cf976cad 57142002-11-19 Kazu Hirata <kazu@cs.umass.edu>
5715
5716 * config/h8300/h8300.c (h8300_init_once): Replace 1 with
5717 MASK_H8300S.
5718
57192002-11-19 Vijay L. Khuspe <vijayk1@kpit.com>
35a462ce 5720
5721 * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
5722 only if -mh or -ms present.
5723 (h8300_eightbit_constant_address_p): Support the normal mode.
5724 (h8300_tiny_constant_address_p): Likewise.
5725 * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
5726 (POINTER_SIZE): Add 16 bit pointer for the normal mode.
5727 (Pmode): Evaluate to HImode for the normal mode.
5728 (SIZE_TYPE): Evaluate to unsigned int for normal mode.
5729 (PTRDIFF_TYPE): Evaluate to int for the normal mode.
5730 (ASM_WORD_OP): Evaluate to word for the normal mode.
5731 * config/h8300/h8300.md (tablejump_normal_mode): New.
5732 (indirect_jump_normal_mode): New.
5733 * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
5734 directory.
5735 (MULTILIB_DIRNAMES): Create target dependent directory
5736 'normal'.
78177281 5737 (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
35a462ce 5738 * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
5739
0f0d6464 5740Tue Nov 19 23:50:56 CET 2002 Jan Hubicka <jh@suse.cz>
5741
5742 * i386.md (length_immediate): Do not refer to insn address.
5743 (jcc*, jmp patterns): Compute length explicitly.
5744
57452002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
67595860 5746
5747 PR c/8588
5748 * optabs.c (expand_binop): Convert CONST_INTs in shift
5749 operations too.
5750
67055a78 57512002-11-19 Roger Sayle <roger@eyesopen.com>
5752
5753 * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
5754
5902a563 57552002-11-19 Kazu Hirata <kazu@cs.umass.edu>
5756
5757 * config/h8300/h8300.md (an anonymous pattern): Relax the
5758 condition to accept the same operands and/or subregs.
5759
c721f167 57602002-11-19 Daniel Jacobowitz <drow@mvista.com>
5761
5762 * config/sh/sh.c (gen_shl_and): Revert previous patch.
5763 * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
5764 reload_completed.
5765
e55c1a72 57662002-11-19 Kazu Hirata <kazu@cs.umass.edu>
5767
5768 * config/h8300/h8300.c (print_operand): Update the use of
5769 EIGHTBIT_CONSTANT_ADDRESS_P.
5770 (h8300_adjust_insn_length): Likewise.
5771 (h8300_eightbit_constant_address_p): Check if the given rtx is
5772 a variable with __attribute__((eightbit_data)).
5773 * config/h8300/h8300.h (OK_FOR_U): Update the use of
5774 EIGHTBIT_CONSTANT_ADDRESS_P.
5775
12e7ecca 57762002-11-19 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5777
5778 * doc/contrib.texi (Contributors): Add self as second contact in
5779 addition to Jeff Law.
5780
7d45632f 57812002-11-19 Andreas Jaeger <aj@suse.de>
5782
5783 * tree-inline.c: Move prototpyes of find_alloca_call_1 and
5784 find_alloca_call to right place.
5785
d69d1eca 57862002-11-19 Kazu Hirata <kazu@cs.umass.edu>
5787
5788 * cppfiles.c: Fix formatting.
5789
c21b3276 57902002-11-19 Jason Thorpe <thorpej@wasabisystems.com>
5791
5792 * gcc.c (The Specs Language): Document spec functions.
5793 (static_spec_functions, lookup_spec_function)
5794 (eval_spec_function, handle_spec_function)
5795 (if_exists_spec_function, alloc_args): New.
5796 (execute): Abort if processing_spec_function is true.
5797 (do_spec_1): Hand off spec to handle_spec_function if %:
5798 is encountered. If processing_spec_function is true,
5799 end any pending argument when the end of the string is reached.
5800 (main): Use alloc_args to allocate the initial argument vector.
5801 * gcc.h (struct spec_function): New.
5802 (lang_specific_spec_functions): New extern.
5803
5804 * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
5805 (ENDFILE_SPEC): Add if-exists(crtn%O%s).
5806 * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
d4a961c8 5807
c21b3276 5808 * doc/invoke.texi: Document spec functions.
5809
5810 * cppspec.c (lang_specific_spec_functions): New.
5811 * gccspec.c: Likewise.
5812
68df2b7c 58132002-11-18 Steve Ellcey <sje@cup.hp.com>
5814
5815 * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
5816 (FIXUNS_TRUNCTFDI2_LIBCALL): New.
5817 (fixunstfsi_libfunc): Change.
5818 (fixunstfdi_libfunc): Change.
5819 (sdiv_optab): Don't zero out SImode handler.
5820 (udiv_optab): Don't zero out SImode handler.
5821 (smod_optab): Don't zero out SImode handler.
5822 (umod_optab): Don't zero out SImode handler.
5823
6e5ef531 58242002-11-18 Neil Booth <neil@daikokuya.co.uk>
5825
5826 PR preprocessor/8524
5827 * cpplib.c (run_directive): Remove previous kludge to _Pragma.
5828 Add a new one in its place, which hopefully works.
5829 (skip_rest_of_line): Change test for bottom-of-context-stack.
5830
77379d7d 5831Mon Nov 18 21:29:03 CET 2002 Jan Hubicka <jh@suse.cz>
5832
5833 * i386.md (addqi_1_slp): Fix output template.
5834 (subqi_1_slp): Fix type.
5835
9a7ecb49 5836Sun Nov 17 00:01:28 CET 2002 Jan Hubicka <jh@suse.cz>
5837
5838 * calls.c (alloca_call_p): New global function.
5839 * tree.h (alloca_call_p): New.
5840 * tree-inline.c (inlinable_function_p): Do not inline when
5841 function calls alloca.
5842 (find_alloca_call, find_alloca_call_1): New functions.
5843
e2da15d6 58442002-11-18 Kazu Hirata <kazu@cs.umass.edu>
5845
5846 * config/h8300/h8300.md (*andorqi3): Use bor between bld and
5847 bst. Update the insn length.
5848 (*andorhi3): Likewise.
5849 (*andorsi3): Likewise.
5850
33946087 58512002-11-18 Richard Sandiford <rsandifo@redhat.com>
5852
5853 * config/sh/sh-protos.h (sh_mark_label): Declare.
5854 * config/sh/sh.c (sh_mark_label): New function, taken from
5855 movdi_const, but fixing the case when the address has an addend.
5856 * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
5857
c5ea35c4 58582002-11-18 Richard Sandiford <rsandifo@redhat.com>
5859
5860 * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
5861 (add_constant): Set it.
5862 (dump_table): Don't reorder a constant if part_of_sequence_p.
5863 (machine_dependent_reorg): Assume that float constants will
5864 stay in their original order if used as a sequence.
5865
6977cd64 58662002-11-18 Richard Sandiford <rsandifo@redhat.com>
5867
5868 * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
5869 in compact code.
5870
3cbdeb1f 58712002-11-18 Richard Sandiford <rsandifo@redhat.com>
5872
5873 * config/sh/sh.md (initialize_trampoline): Do not force the
5874 trampoline address into R0_REGS here.
5875
805e22b2 5876Sun Nov 17 14:01:09 CET 2002 Jan Hubicka <jh@suse.cz>
5877
5878 * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
5879 absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
5880 (neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
5881 generate unnecesary subregs.
5882
5ea2a091 58832002-11-17 Kazu Hirata <kazu@cs.umass.edu>
5884
5885 * df.c: Fix formatting.
5886
035d3262 58872002-11-17 Kazu Hirata <kazu@cs.umass.edu>
5888
5889 * config/h8300/h8300.md (two anonymous patterns): Fix insn
5890 lengths.
5891
925cf7ab 58922002-11-17 Daniel Jacobowitz <drow@mvista.com>
5893
5894 * sh.c (gen_shl_and): Don't create a zero_extend if the operand
5895 is not an arith_reg_operand.
5896
a210f14b 58972002-11-17 Graham Stott <graham.stott@btinternet.com>
5898
5899 * real.c (real_to_decimal): Fix buffer overrun when buffer size
5900 is smaller than representation.
5901
f0ce3b1f 59022002-11-17 Kazu Hirata <kazu@cs.umass.edu>
5903
5904 * builtins.c: Fix formatting.
5905
805e22b2 5906Sat Nov 16 16:49:58 CET 2002 Jan Hubicka <jh@suse.cz>
5907
5908 * i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
5909 floats?dff2_i387):
5910 Work around regclass stupidity.
5911 (truncdfsf_2_1_sse splitter): Accept !TARGET_PARTIAL_SSE_REGS
5912
5913Sat Nov 16 02:17:48 CET 2002 Jan Hubicka <jh@suse.cz>
5914
5915 * i386.md (fop_df_6): New pattern.
5916 (fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
5917 (fop_xf_6): Rewrite
5918 (fop_xf_7): Delete.
5919 (fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
5920 (fop_tf_6): Rewrite
5921 (fop_tf_7): Delete.
5922
0289ee13 59232002-11-16 Kazu Hirata <kazu@cs.umass.edu>
5924
5925 * config/h8300/h8300.md (two anonymous patterns): Fix typos.
5926
22662516 59272002-11-16 Kazu Hirata <kazu@cs.umass.edu>
5928
5929 * config/h8300/h8300.md: Fix formatting.
5930
1e306bce 59312002-11-16 Kazu Hirata <kazu@cs.umass.edu>
5932
5933 * config/h8300/h8300.md: Replace spaces with tabs.
5934 * config/h8300/t-h8300: Remove a trailing empty line.
5935
513b1ebe 59362002-11-16 Kazu Hirata <kazu@cs.umass.edu>
5937
5938 * tlink.c: Fix formatting.
5939
4fc6182c 59402002-11-16 David Edelsohn <edelsohn@gnu.org>
5941
0655e320 5942 PR 8362
4fc6182c 5943 * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
5944 * config/rs6000/rs6000.md (movti_string): Remove output modifier
5945 when scratch register never needed.
5946 (ldmsi[3-8]): New patterns.
5947
6e7fc474 59482002-11-16 Kazu Hirata <kazu@cs.umass.edu>
5949
5950 * hard-reg-set.h: Follow spelling conventions.
5951 * real.c: Likewise.
5952 * target.h: Likewise.
5953
7f26818f 59542002-11-16 Jakub Jelinek <jakub@redhat.com>
5955
5956 * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
5957
2fd3f4b5 59582002-11-16 Kazu Hirata <kazu@cs.umass.edu>
5959
5960 * optabs.c: Fix formatting.
5961
8e793f18 5962Sat Nov 16 02:06:02 CET 2002 Jan Hubicka <jh@suse.cz>
5963
5964 * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
5965 * i386.md (attribute type): Add type shift1 and rotate1.
5966 (*_slp): Rewrite to have just two operands to avoid reload problems.
5967
7e558837 59682002-11-15 Kazu Hirata <kazu@cs.umass.edu>
5969
5970 * config/h8300/h8300.md (4 anonymous patterns): New.
5971
950b639c 59722002-11-15 Geoffrey Keating <geoffk@apple.com>
5973
5974 * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
5975 * doc/invoke.texi: Correct description of what needs to be done to
5976 force collection at every ggc_collect call.
5977
cf351342 59782002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
5979
d4a961c8 5980 * config/s390/s390.c (optimization_options): Set
cf351342 5981 flag_asynchronous_unwind_tables to 1 by default.
5982
e3a04290 59832002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
5984
5985 * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
5986
af23924f 5987Fri Nov 15 14:54:19 CET 2002 Jan Hubicka <jh@suse.cz>
5988
5989 * i386-protos.h (x86_function_profiler): New function
5990 * i386.h (MCOUNT_NAME): New.
5991 (PROFILE_COUNT_REGISTER): New.
3b010427 5992 (FUNCTION_PROFILER): Move offline to ...
af23924f 5993 * i386.c (x86_function_profiler) ... here; fix 64bit support
5994 * beos-elf.h (FUNCTION_PROFILER): Kill.
5995 (MCOUNT_NAME): New.
5996 * freebsd-aout.h (FUNCTION_PROFILER): Kill.
5997 (MCOUNT_NAME): New.
5998 (PROFILE_COUNT_REGISTER): New.
5999 * linux.h (FUNCTION_PROFILER): Kill.
6000 (MCOUNT_NAME): New.
6001 * x86-64.h (FUNCTION_PROFILER): Kill.
6002 (MCOUNT_NAME): New.
6003 * freebsd.h (FUNCTION_PROFILER): Kill.
6004 (MCOUNT_NAME): New.
6005
78aea6a2 60062002-11-14 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
6007
6008 * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
6009 FUNCTION_ARG_PASS_BY_REFERENCE): Define.
6010 * config/arm/arm.c (arm_va_arg,
6011 arm_function_arg_pass_by_reference): New.
6012 * config/arm/arm-protos.h: Add prototypes.
6013
a03a29b2 60142002-11-14 Kazu Hirata <kazu@cs.umass.edu>
6015
6016 * gthr-single.h: Fix formatting.
6017
66bc87db 60182002-11-14 Zack Weinberg <zack@codesourcery.com>
6019
6020 * tree.c (tree_vec_elt_check_failed): New function.
6021 * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
6022 (TREE_VEC_ELT): Use it.
6023
6024 * tree-inline.c (optimize_inline_calls): Don't copy a
6025 zero-length vector.
6026
93f460bc 60272002-11-14 Gabriel Dos Reis <gdr@integrable-solutions.net>
6028
6029 * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
6030
98a1d439 60312002-11-14 Jakub Jelinek <jakub@redhat.com>
6032
6033 * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
6034 both operands contain local relocations.
6035 (categorize_decl_for_section): Don't use mergeable sections if
6036 initializer has any relocations.
6037
ed6044da 60382002-11-14 Kazu Hirata <kazu@cs.umass.edu>
6039
6040 * gthr-vxworks.h: Fix formatting.
6041
5f38bed9 60422002-11-13 Janis Johnson <janis187@us.ibm.com>
6043
6044 * doc/install.texi (Testing): Document extra Java testing.
6045 * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
6046
85eccb17 60472002-11-13 John David Anglin <dave@hiauly1.hia.nrc.ca>
6048
6049 * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
6050 beginning of the spec.
6051 (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
6052 (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable. Add comment
6053 regarding problems with global constructors when using GNU ld.
6054
f5007beb 60552002-11-13 Kazu Hirata <kazu@cs.umass.edu>
6056
6057 * gthr-solaris.h: Fix formatting.
6058
b6546344 60592002-11-13 Kazu Hirata <kazu@cs.umass.edu>
6060
6061 * gthr-posix.h: Fix formatting.
6062
805e22b2 60632002-11-12 Devang Patel <dpatel@apple.com>
805e22b2 6064 * gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
6065 (process_command): Same.
6066 * doc/invoke.texi: Info about these two new options.
6067
ca89e155 60682002-11-12 Kazu Hirata <kazu@cs.umass.edu>
6069
6070 * config/h8300/h8300.md (*andorsi3): New.
6071
afb41249 60722002-11-12 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
6073
6074 * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
6075
1f8bbe78 60762002-11-12 Kazu Hirata <kazu@cs.umass.edu>
6077
6078 * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
6079 expressions appropriately.
6080
0160b241 60812002-11-12 Kazu Hirata <kazu@cs.umass.edu>
6082
6083 * gthr-win32.h: Fix formatting.
6084
cf59e2b8 60852002-11-12 Kazu Hirata <kazu@cs.umass.edu>
6086
6087 * config/h8300/h8300.c (single_one_operand): Correctly compute
6088 mask when mode is SImode.
6089 (single_zero_operand): Likewise.
6090 * config/h8300/h8300.md (two new anonymous insns): New.
6091
06c9440f 60922002-11-12 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
6093
6094 * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
6095 to that entire project.
6096
2613f1c1 60972002-11-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6098
6099 * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
6100 directories.
6101
2a3edec5 61022002-11-11 Zack Weinberg <zack@codesourcery.com>
6103
6104 * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
6105 * doc/invoke.texi: Document them.
6106
6107 * ggc-page.c: Include params.h. Remove definitions of
6108 GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED. Replace
6109 GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
6110 (init_gcc): Don't set G.allocated_last_gc here.
6111 (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
6112 PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
6113 perform collection.
6114 * ggc-simple.c: Similarly.
6115 * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
6116 dependencies.
6117
141c6b3e 61182002-11-11 Kazu Hirata <kazu@cs.umass.edu>
6119
6120 * gthr-dce.h: Fix formatting.
6121
35fc9da7 61222002-11-11 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
6123
6124 PR c/8467
6125 * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
6126 mode of DECL_RTL case.
6127
c939aa8c 61282002-11-11 Janis Johnson <janis187@us.ibm.com>
6129
6130 * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
6131
bb21973d 6132Mon Nov 11 12:06:08 CET 2002 Jan Hubicka <jh@suse.cz>
6133
6134 * i386.c (construct_container): Fix handling of SSE_CLASS.
6135
8e0455d6 61362002-11-10 Joel Sherrill <joel@gcc.gnu.org>
6137
6138 * config/m68k/t-crtstuff (crti.o): Use this...
6139 ($(T)crti.o): ... instead.
6140 (crtn.o): Use this...
6141 ($(T)crtn.o): ... instead.
6142
84111c28 61432002-11-10 Eric Botcazou <ebotcazou@libertysurf.fr>
458bb871 6144
6145 PR c/8439
6146 * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
6147 if there is something new to be simplified.
6148
2a8e54a4 61492002-11-10 H.J. Lu <hjl@gnu.org>
6150
6151 * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
6152 * expr.c (PUSH_ARGS_REVERSED): Likewise.
6153
6154 * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
6155
5d6ce590 61562002-11-10 Zack Weinberg <zack@codesourcery.com>
6157
6158 * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
6159 * config/rs6000/linux.h, config/rs6000/linux64.h,
6160 config/rs6000/windiss.h: ... not here.
6161
280895ae 61622002-11-10 Jason Thorpe <thorpej@wasabisystems.com>
6163
6164 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
6165 __ABICALLS__ if TARGET_ABICALLS.
6166
52cb7411 6167Sun Nov 10 18:49:21 CET 2002 Jan Hubicka <jh@suse.cz>
6168
6169 * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
6170
2a127490 61712002-11-10 Joseph S. Myers <jsm@polyomino.org.uk>
6172
6173 * c-decl.c (grokdeclarator): Make error for duplicate type
6174 qualifiers into a pedwarn, disabled for C99.
6175
f1872fe0 61762002-11-10 Hans-Peter Nilsson <hp@bitrange.com>
6177
6178 * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
6179 as FUNCTION_ARG_PASS_BY_REFERENCE.
6180
805e22b2 61812002-11-09 Zack Weinberg <zack@codesourcery.com>
6182
6183 * doc/install.texi: Add *-*-vxworks* specific installation
6184 instructions.
6185
6186 * config/vxlib.c: Rewrite using generation numbers to identify
6187 valid TSD keys.
6188
6189Sat Nov 9 00:10:54 CET 2002 Jan Hubicka <jh@suse.cz>
6190
6191 * i386.c (x86_machine_dependent_reorg): Fix even more side cases.
6192
9bd9af5d 61932002-11-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
6194
6195 * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
6196
6197 * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
6198 (hppa*64*-*-hpux11*): Likewise. Use elfos.h with gas.
6199 * pa.c (output_millicode_call): Use symbol difference rather than
6200 $PIC_pcrel$0 when using HP assembler.
6201 * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
6202 not elfos.h (i.e., gas) is being used.
6203 (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
6204 DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
6205 ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
6206 ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
6207 ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
6208 using elfos.h.
6209 (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
6210 (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
6211 (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
6212 using elfos.h.
6213 (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
6214 BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
6215 (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
6216 Don't define when not using elfos.h.
6217 (ASM_DECLARE_RESULT): Don't define.
6218 * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
6219 doesn't work on hppa64-hp-hpux11.
6220 (hppa*-hp-hpux11): Update.
6221
80ecf7ba 62222002-11-09 Jason Thorpe <thorpej@wasabisystems.com>
6223
6224 * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
6225 to the assembler if -mno-abicalls was specified.
6226
7369aba4 62272002-11-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
6228
6229 * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
6230 ASM_OUTPUT_DEF): Delete.
6231
0d946853 62322002-11-09 Neil Booth <neil@daikokuya.co.uk>
6233
6234 * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
6235
805e22b2 62362002-11-08 Roger Sayle <roger@eyesopen.com>
6237
6238 * real.c (real_sqrt): Update comment with bibliographic reference.
6239
6240Fri Nov 8 13:33:58 CET 2002 Jan Hubicka <jh@suse.cz>
6241
6242 * i386.md (sse_loadss, sse2_loadsd): Fix expander.
6243
6244Fri Nov 8 13:25:41 CET 2002 Jan Hubicka <jh@suse.cz>
6245
6246 * i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
6247
6248Fri Nov 8 13:01:42 CET 2002 Jan Hubicka <jh@suse.cz>
6249
6250 * builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
6251 (expand_builtin): Likewise.
6252 * builtins.def: Add
6253 __builtin_floor, __builtin_floorf, __builtin_floorl
6254 __builtin_ceil, __builtin_ceilf, __builtin_ceill
6255 __builtin_round, __builtin_roundf, __builtin_roundl
6256 __builtin_trunc, __builtin_truncf, __builtin_truncl
6257 __builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
6258 * genopinit.c (optabs): Initialize the new optabs.
6259 * optab.c (init_optabs): Likewise.
6260 * optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
6261 OTI_round, OTI_nearbyint.
6262 (floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
6263 * doc/md.texi: Document new named patterns.
6264 * doc/extend.texi (builtin functions) Document
6265 floor, floorf, floorl, ceil, ceilf,
6266 ceill, round, roundf, roundl, trunc,
6267 truncf, truncl, nearbyint, nearbyintf, nearbyintl.
6268
6269Fri Nov 8 11:36:11 CET 2002 Jan Hubicka <jh@suse.cz>
6270
6271 * i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
6272
5efc251c 62732002-11-08 Dale Johannesen <dalej@apple.com>
6274
5d6ce590 6275 * dbxout.c (dbxout_type): Fix stabs info for vector types.
5efc251c 6276
60757a55 62772002-11-08 Neil Booth <neil@daikokuya.co.uk>
6278
6279 PR preprocessor/8497
6280 PR preprocessor/8501
6281 * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
6282 start a directive. In assembler, #NUM is not a line directive.
6283
50c1b603 62842002-11-08 Neil Booth <neil@daikokuya.co.uk>
6285
6286 * cppmain.c (cpp_preprocess_file): Loop to pop any -included
6287 buffers.
6288
d7c5dd04 62892002-11-08 Kazu Hirata <kazu@cs.umass.edu>
6290
6291 * config/h8300/h8300.md (two anonymous test insns): New.
6292
c6724c90 6293Fri Nov 8 11:20:19 CET 2002 Jan Hubicka <jh@suse.cz>
6294
6295 * jump.c (mark_jump_label): Handle subregs of label_refs.
6296
805e22b2 6297Thu Nov 7 21:54:22 CET 2002 Jan Hubicka <jh@suse.cz>
6298
6299 * i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
6300 * i386.c (ix86_expand_fp_movcc): Match the reversed cases.
6301
5646395d 63022002-11-07 David Mosberger <davidm@hpl.hp.com>
6303
5d6ce590 6304 * config/ia64/crtend.asm: Include "auto-host.h".
6305 [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
6306 * config/ia64/crtbegin.asm: Similarly.
6307 * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
6308 (crtend.o, crtbeginS.o, crtendS.o): Likewise.
5646395d 6309
5d6ce590 6310 * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
6311 * configure.in: Use it if --enable-initfini-array not specified.
6312 * doc/install.texi (Configuration): Document --enable-initfini-array.
5646395d 6313 * configure, config.in: Rebuild.
6314
a7712927 63152002-11-07 Jason Thorpe <thorpej@wasabisystems.com>
5d6ce590 6316
a7712927 6317 * config/arm/arm-protos.h (arm_get_frame_size)
5d6ce590 6318 (thumb_get_frame_size): New prototypes.
a7712927 6319 * config/arm/arm.c (arm_get_frame_size)
5d6ce590 6320 (thumb_get_frame_size): New functions.
6321 (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
6322 (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
a7712927 6323 arm_get_frame_size.
6324 (thumb_expand_prologue, thumb_expand_epilogue): Use
6325 thumb_get_frame_size.
6326 * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
6327 (machine_function): Add frame_size member.
6328 (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
6329
63302002-11-07 Richard Earnshaw <rearnsha@arm.com>
6331
6332 * arm.c (bit_count): Make argument unsigned long. Return unsigned.
6333 Adjust code to use portable unsigned bit manipulation.
6334 (insn_flags, tune_flags): Change type to unsigned.
6335 (struct processors): Make flags unsigned long.
6336 (arm_override_options): Change type of count and current_bit_count
6337 to unsigned.
6338
5f61bb87 63392002-11-07 Richard Earnshaw <rearnsha@arm.com>
6340
6341 * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
6342
ce8e8292 6343Thu Nov 7 15:50:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
6344
6345 * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
6346
5b9bf573 6347Thu Nov 7 11:18:01 CET 2002 Jan Hubicka <jh@suse.cz>
6348
6349 * reg-stack.c (compensate_edge): Fix sanity check.
6350
a0c3f574 63512002-11-05 Geoffrey Keating <geoffk@apple.com>
6352
6353 * config.gcc: Don't create crtbegin, crtend on Darwin; do create
6354 crt2.o. Rearrange t-darwin makefiles.
6355 * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
6356 * unwind-dw2-fde-darwin.c: New.
6357 * unwind-dw2-fde-glibc.c: Correct comment.
6358 * unwind-dw2-fde.c (__register_frame_info_bases)
6359 [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
6360 (classify_object_over_fdes): Use last_fde.
6361 (add_fdes): Likewise.
6362 (linear_search_fdes): Likewise.
6363 * unwind-dw2-fde.h (struct object)
6364 [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
6365 (last_fde): New.
6366 * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
6367 (ENDFILE_SPEC): No crtend.o.
6368 * config/t-darwin: New.
6369 * config/i386/t-darwin: Delete.
6370 * config/darwin-crt2.c: New.
6371 * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
6372 or config/t-darwin.
6373
805e22b2 63742002-11-06 Douglas B Rupp <rupp@gnat.com>
6375
6376 * config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
6377 MASK_MS_BITFIELD_LAYOUT
6378 (SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
6379 MS bitfields for Objective-C.
6380 (PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
6381 defines.
6382
6383 * config/i386/i386.c (ix86_ms_bitfield_layout): New function.
6384 (TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
6385 (TARGET_USE_MS_BITFIELD_LAYOUT): Define.
6386
6387 * config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
6388 TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
6389 (TARGET_SWITCHES): Add above mask.
6390
6391 * testsuite/gcc.dg/bf-ms-layout.c: New test case.
6392 * testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
6393 * testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
6394 flags for interix.
6395
6396Wed Nov 6 18:54:47 2002 Alexandre Oliva <aoliva@redhat.com>
6397
6398 * config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
6399 .gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
6400 assembler.
6401 * config/mips/mips.md (tablejump_internal3): Output .cpadd
6402 before jump on ABI_N32 too.
6403 (tablejump_internal4): Ditto on ABI_64. Increase maximum
6404 length to match.
6405
6406Wed Nov 6 17:16:48 CET 2002 Jan Hubicka <jh@.suse.cz>
6407
6408 * i386.md (negsf splitter): Accept memory operand in second register.
6409 (abssf/absdf splitters): Simplify
6410 (sse_loadss, sse_loadsd): Turn into expander.
6411
3cbd2a68 64122002-11-06 David Edelsohn <edelsohn@gnu.org>
6413
6414 PR target/8480
6415 * config/rs6000/rs6000.md (movdi_internal64): Discourage
6416 FPR to FPR moves.
6417
777c0520 64182002-11-06 Janis Johnson <janis187@us.ibm.com>
6419
6420 * doc/contrib.texi: Merge in the list from the Java web pages.
6421
08329eb1 64222002-11-06 David O'Brien <obrien@FreeBSD.org>
6423
6424 * config/sparc/freebsd: Fix typo.
6425
d6b81a12 64262002-11-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
6427
6428 * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
6429
a610aae0 64302002-11-06 Alexandre Oliva <aoliva@redhat.com>
6431
6432 * config/mips/mips.md (call_value_multiple_internal2): Use dla for
6433 non-SImode addresses.
6434
805e22b2 6435Tue Nov 5 14:34:36 CET 2002 Jan Hubicka <jh@suse.cz>
6436
6437 * i386.md (float_truncate SSE splitter): Ensure that operand is not
6438 stack register.
6439 (float SSE splitters): Reorder conditional.
6440
58911b3a 64412002-11-05 Bob Wilson <bob.wilson@acm.org>
6442
6443 * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
6444
9d67a43b 64452002-11-05 John David Anglin <dave2hiauly1.hia.nrc.ca>
6446
6447 * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
6448 (STARTFILE_SPEC): Remove p and pg options.
6449
0a50b321 64502002-11-05 Andrew Haley <aph@redhat.com>
6451
6452 * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
6453 to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
6454
0bf0dbac 64552002-11-05 Richard Sandiford <rsandifo@redhat.com>
6456
6457 * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
6458 * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
6459
805e22b2 64602002-11-04 Zack Weinberg <zack@codesourcery.com>
6461
6462 * gthr-vxworks.h: Rewritten from scratch.
6463 * config/vxlib.c: New file.
6464 * config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
6465 * config/rs6000/t-vxworks: Add config/vxlib.c to
6466 LIB2FUNCS_EXTRA here too, because of clash with
6467 config/rs6000/t-ppccomm.
6468
b2114062 64692002-11-04 Dale Johannesen <dalej@apple.com>
6470
5d6ce590 6471 * doloop.c (doloop_modify_runtime): Fix loop count computation
6472 for unrolled loops.
b2114062 6473 * loop.c (loop_invariant_p): Support calling from unroller.
6474
64898b83 64752002-11-04 Ulrich Weigand <uweigand@de.ibm.com>
6476
6477 * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
6478 for comparison.
6479
897118e8 64802002-11-04 Aldy Hernandez <aldyh@redhat.com>
6481
6482 * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
6483
6484 * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
6485 (CLASS_CANNOT_CHANGE_MODE): Remove.
6486 (CANNOT_CHANGE_MODE_CLASS): New.
6487
6488 * config/alpha/alpha.h: Same.
6489
6490 * config/ia64/ia64.h: Same.
6491
6492 * config/mips/mips.h: Same.
6493
6494 * config/s390/s390.h: Same.
6495
6496 * config/sh/sh.h: Same.
6497
6498 * config/pa/pa64-regs.h: Same.
6499
6500 * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
5d6ce590 6501
897118e8 6502 * config/sh/sh.c (sh_cannot_change_mode_class): New.
6503
6504 * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
6505 prototype.
6506
6507 * config/mips/mips.c (mips_cannot_change_mode_class): New.
6508
6509 * doc/tm.texi (Register Classes): Remove
6510 CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
6511 Document CANNOT_CHANGE_MODE_CLASS.
6512
6513 * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
6514 (push_reload): Same.
6515
6516 * simplify-rtx.c (simplify_subreg): Same.
6517
6518 * reload1.c (choose_reload_regs): Same.
6519
6520 * recog.c (register_operand): Same.
6521
6522 * regrename.c (mode_change_ok): Change to use new
6523 CANNOT_CHANGE_MODE_CLASS infrastructure.
6524
6525 * regclass.c (cannot_change_mode_set_regs): New.
6526 Declare subregs_of_mode.
6527 (regclass): Use subregs_of_mode.
6528 Remove references to reg_changes_mode.
6529 (init_reg_sets_1): Remove class_can_change_mode and
6530 reg_changes_mode code.
6531 (invalid_mode_change_p): New.
6532 (dump_regclass): Use invalid_mode_change_p instead of
6533 class_can_change_mode.
6534 (regclass): Same.
6535 (record_operand_costs): Do not set reg_changes_mode.
6536
6537 * local-alloc.c (struct qty): Remove changes_mode field.
6538 (alloc_qty): Remove changes_mode initialization.
6539 (update_qty_class): Remove set of changes_mode.
6540 (find_free_reg): Use subregs_of_mode.
6541
6542 * global.c (find_reg): Use subregs_of_mode info.
6543
6544 * rtl.h (cannot_change_mode_set_regs): New prototype.
6545 (invalid_mode_change_p): Same.
6546 (REG_CANNOT_CHANGE_MODE_P): New macro.
6547
6548 * flow.c (mark_used_regs): Calculate subregs_of_mode. Remove
6549 REG_CHANGES_MODE.
6550 (life_analysis): Clear subregs_of_mode.
6551
6552 * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
6553 Remove use of CLASS_CANNOT_CHANGE_MODE.
6554 (simplify_set): Same.
6555 (gen_lowpart_for_combine): Calculate subregs_of_mode. Remove
6556 REG_CHANGES_MODE.
5d6ce590 6557
897118e8 6558 * regs.h: Add extern for subregs_of_mode;
6559 Include hard-reg-set and basic-block.
6560 (REG_CHANGES_MODE): Delete.
6561
805e22b2 65622002-11-03 Roger Sayle <roger@eyesopen.com>
6563
6564 * real.c (real_sqrt): New function to calculate square roots.
6565 * real.h (real_sqrt): Add function prototype.
6566 * builtins.c (fold_builtin): Fold sqrt of constant argument.
6567 * simplify-rtx.c (simplify_unary_operation): Simplify sqrt
6568 of constant argument.
6569
db15c0db 65702002-11-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
6571
6572 * jump.c (never_reached_warning): Don't set contains_insn until the
6573 first line note is seen.
6574
66926c4a 65752002-11-03 David Edelsohn <edelsohn@gnu.org>
6576
6577 * config/rs6000/rs6000.md (movti_string): Use string instructions.
6578
f1929933 65792002-11-03 Roger Sayle <roger@eyesopen.com>
6580
6581 PR c/7128
6582 * c-typeck.c (c_expand_asm_operands): Defend against
6583 error_mark_nodes in the output argument to avoid ICE.
6584
26a7cede 65852002-11-03 Eric Botcazou <ebotcazou@libertysurf.fr>
6586
6587 PR middle-end/8408
6588 * genrecog.c (preds): Handle ADDRESSOF.
6589 (validate_pattern): Mark it as an lvalue.
6590
f7be3040 65912002-11-02 David Edelsohn <edelsohn@gnu.org>
6592
6593 * config/rs6000/rs6000.c (rs6000_override_options): Use string
6594 instructions when optimizing for size.
6595
7d754c59 65962002-11-02 Kazu Hirata <kazu@cs.umass.edu>
6597
6598 * config/h8300/h8300.h: Fix comment typos.
6599 * config/h8300/h8300.md: Likewise.
6600 * config/h8300/lib1funcs.asm: Likewise.
6601
f07919e7 66022002-11-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
6603
6604 Revert this change:
6605
6606 *doc/install.texi (Installing GCC: Configuration): Clarify
6607 the only supported ways to configure gcc.
6608
02a40ab7 66092002-11-01 Kazu Hirata <kazu@cs.umass.edu>
6610
6611 * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
6612 instead of 'O' for the constraint for the second operand.
6613
c01417f6 66142002-11-01 Mark Mitchell <mark@codesourcery.com>
6615
6616 PR c++/8391
6617 * toplev.c (rest_of_compilation): Do not refuse to output code for
6618 an inline function in a local class.
6619
bdcfb8d6 66202002-11-01 David O'Brien <obrien@FreeBSD.org>
6621
6622 * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
6623 (TRANSFER_FROM_TRAMPOLINE): Reformat.
6624 Add comment.
6625
f189417d 66262002-11-01 Kazu Hirata <kazu@cs.umass.edu>
6627
6628 * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
6629
e920a9e7 66302002-11-01 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
6631
6632 * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
6633
45f429fe 66342002-11-01 Steve Ellcey <sje@cup.hp.com>
6635
6636 * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
6637 (MASK_INLINE_DIV_THR): Remove.
6638 (TARGET_INLINE_DIV_LAT): Remove.
6639 (TARGET_INLINE_DIV_THR): Remove.
6640 (TARGET_INLINE_DIV): Remove.
6641 (MASK_INLINE_FLOAT_DIV_LAT): New macro.
6642 (MASK_INLINE_FLOAT_DIV_THR): New macro.
6643 (MASK_INLINE_INT_DIV_LAT): New macro.
6644 (MASK_INLINE_INT_DIV_THR): New macro.
6645 (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
6646 (TARGET_INLINE_FLOAT_DIV_THR): New macro.
6647 (TARGET_INLINE_INT_DIV_LAT): New macro.
6648 (TARGET_INLINE_INT_DIV_THR): New macro.
6649 (TARGET_INLINE_FLOAT_DIV): New macro.
6650 (TARGET_INLINE_INT_DIV): New macro.
6651 * config/ia64/ia64.md (divsi3): Change to use new macros.
6652 (modsi3): Ditto.
6653 (udivsi3): Ditto.
6654 (umodsi3): Ditto.
6655 (divsi3_internal): Ditto.
6656 (divdi3): Ditto.
6657 (moddi3): Ditto.
6658 (udivdi3): Ditto.
6659 (umoddi3): Ditto.
6660 (divdi3_internal_lat): Ditto.
6661 (divdi3_internal_thr): Ditto.
6662 (divsf3): Ditto.
6663 (divsf3_internal_lat): Ditto.
6664 (divsf3_internal_thr): Ditto.
6665 (divdf3): Ditto.
6666 (divdf3_internal_lat): Ditto.
6667 (divdf3_internal_thr): Ditto.
6668 (divtf3): Ditto.
6669 (divtf3_internal_lat): Ditto.
6670 (divtf3_internal_thr): Ditto.
6671 * config/ia64/ia64.c (ia64_override_options): Change
6672 to check new macros for conflicts in settings.
6673 * doc/invoke.texi (-minline-divide-min-latency): Remove.
6674 (-minline-divide-max-throughput): Remove.
6675 (-minline-float-divide-min-latency): New.
6676 (-minline-float-divide-max-throughput): New.
6677 (-minline-int-divide-min-latency): New.
6678 (-minline-int-divide-max-throughput): New.
5d6ce590 6679
50368af8 66802002-11-01 Richard Earnshaw (rearnsha@arm.com)
6681
6682 PR target/7856
6683 * arm.c (use_return_insn): Don't use a return insn if there are
6684 saved integer regs, but LR is not one of them.
6685
248c3c28 6686Fri Nov 1 10:33:15 CET 2002 Jan Hubicka <jh@suse.cz>
6687
6688 * expr.c (emit_move_insn): Use SCALAR_FLOAT_MODE_P
6689 * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
6690
805e22b2 6691Thu Oct 31 18:20:50 CET 2002 Jan Hubicka <jh@suse.cz>
6692
6693 * i386.md (sse_loadss, sse_loadsd): Canonicalize; add expander
6694 (movps, movpd splitters): Use canonical form.
6695 (movv2di): Fix merge problem.
6696
6697Thu Oct 31 16:22:31 CET 2002 Jan Hubicka <jh@suse.cz>
6698
6699 * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
6700
3acd06fd 67012002-10-31 Nathanael Nerode <neroden@gcc.gnu.org>
6702
6703 PR optimization/6162
6704 * doc/md.texi: Document restriction on commutative operand
6705 specification.
6706
ae5242d3 67072002-10-31 Eric Christopher <echristo@redhat.com>
6708
5d6ce590 6709 * explow.c (convert_memory_address): Use shallow_copy_rtx.
ae5242d3 6710
b0c369a4 67112002-10-31 Steve Ellcey <sje@cup.hp.com>
6712
6713 * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
6714
69b9dd3d 67152002-10-31 Steve Ellcey <sje@cup.hp.com>
6716
6717 * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
6718
b82438e9 6719Thu Oct 31 Dale Johannesen <dalej@apple.com>
6720
6721 * config/rs6000/darwin.h: Correct formatting in previous.
6722
bb8e8204 6723Thu Oct 31 Dale Johannesen <dalej@apple.com>
6724
6725 * config/rs6000/darwin.h: Enable -falign-xxx options.
6726
b4fea520 6727Thu Oct 31 18:08:00 CET 2002 Jan Hubicka <jh@suse.cz>
6728
6729 * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
6730 flag_asynchronous_unwind_tables, flag_pcc_struct_return.
6731 * i386.c (optimization_options): Set flag_omit_frame_pointer,
6732 flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
6733 Do not clear -momit-leaf-frame-pointer when profiling.
37a53023 6734 (ix86_frame_pointer_required): Frame pointer is always required when
b4fea520 6735 profiling.
6736
30e796b9 6737Thu Oct 31 16:09:44 CET 2002 Jan Hubicka <jh@suse.cz>
6738
6739 * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
6740
b7265200 6741Thu Oct 31 12:45:55 2002 J"orn Rennecke <joern.rennecke@superh.com>
6742
6743 * sh.h (binary_logical_operator): Declare.
6744 * sh.c (binary_logical_operator): New function.
6745 * sh.md (xordi3+1): New combiner splitter pattern.
6746
a827a991 67472002-10-31 David O'Brien <obrien@FreeBSD.org>
6748
6749 * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
6750 __enable_execute_stack function.
6751
805e22b2 67522002-10-30 Zack Weinberg <zack@codesourcery.com>
6753
6754 * gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
6755 gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
6756 * unwind-sjlj.c (fc_key_dtor): Delete.
6757 (fc_key_init): Adjust __gthread_key_create call to match.
6758
bff8c916 67592002-10-30 Aldy Hernandez <aldyh@redhat.com>
6760
5d6ce590 6761 * c-common.c: Add GTY to vector_type_node_list.
bff8c916 6762
ece88821 67632002-10-30 John David Anglin <dave@hiauly.hia.nrc.ca>
6764
6765 * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
6766 * pa-protos.h (attr_length_millicode_call, attr_length_call,
6767 pa_init_machine_status): Declare new global functions.
6768 * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
6769 implement new functions.
6770 (attr_length_millicode_call, attr_length_call): Implement.
6771 (total_code_bytes): Change type to long.
6772 (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
6773 Reset counter if flag_function_sections.
6774 (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
6775 (output_cbranch): Move call to gen_label_rtx.
6776 (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
6777 delay slot in all variants, shorten pc-relative calls.
6778 (output_call): Rewrite adding long TARGET_64BIT call, improved delay
6779 slot usage and exposure, various new call variants, and shortened
6780 sequences for some variants on TARGET_PA_20.
6781 Miscellaneous format changes.
6782 * pa.h (total_code_bytes): Change type to long.
6783 (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
6784 TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
6785 (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
6786 (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
6787 LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
6788 stores on TARGET_ELF32.
6789 *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
6790 (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
6791 canonicalize_funcptr_for_compare expanders): Calculate attribute length
6792 attr_length_millicode_call().
6793 (call_internal_symref, call_value_internal_symref): Clobber register 1.
6794 Calculate attribute length using attr_length_call().
6795 (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
6796 to delay slot.
6797 (sibcall, sibcall_value): Rewrite.
6798 (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
6799 register 1. Use attr_length_call().
6800 (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
6801 New patterns.
6802 (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
6803 * som.h (MEMBER_TYPE_FORCES_BLK): Define.
6804 * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
6805 * doc/invoke.texi (mlong-calls): Document.
6806
09f309b8 68072002-10-30 Roger Sayle <roger@eyesopen.com>
6808
6809 * fold-const.c (fold_binary_op_with_conditional_arg): Improve
6810 handling of cases where one or both branches of the conditional
6811 have void type, i.e. throw an exception or don't return.
6812 (fold): Only apply (and undo) type conversion to the non-void
6813 branches of a COND_EXPR.
6814
c2ad71a2 68152002-10-30 Mark Mitchell <mark@codesourcery.com>
6816
6817 PR c++/8333
6818 * varasm.c (asm_output_aligned_bss): Do not call
6819 ASM_GLOBALIZE_LABEL.
6820
e6238507 68212002-10-30 David Edelsohn <edelsohn@gnu.org>
6822 Torbjorn Granlund <tege@swox.com>
6823
6824 * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
6825 for addressibility.
6826 (load_toc_v4_PIC_1b): Same.
6827
424064e7 68282002-10-30 Kazu Hirata <kazu@cs.umass.edu>
6829
6830 * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
6831 Truncate the addresses for H8/300 using HImode.
6832
805e22b2 6833Tue Oct 29 23:28:10 CET 2002 Jan Hubicka <jh@suse.cz>
6834
6835 * i386.md (negdf splitter): Fix construction of the constant.
6836
6837Tue Oct 29 20:47:06 CET 2002 Jan Hubicka <jh@suse.cz>
6838
6839 * i386.md (negsf, negdf): Reorganize to use vector modes
6840 for SSE variants.
6841 (abssf, absdf): Use force_reg.
6842 (movv4sf, movv2df): New splitters.
6843 * i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
6844 * i386.c (zero_extended_scalar_load_operand
6845
6846 * i386-protos.h (ix86_expand_call): Update prototype.
6847 * i386.c (ix86_function_ok_for_sibcall): Handle 64bit
6848 (ix86_expand_call): Use r11 for indirect sibcalls.
6849 * i386.md (call, call_value, untyped_call, call_value_pop):
6850 update x86_expand_call call.
6851 (sibcall, sibcall_value): new patterns
6852 (call_rex64, call_value_rex64): Do not accept sibcalls.
6853 (sibcall_rex64, sibcall_value_rex64,
6854 sibcall_rex64_v, sibcall_value_rex64_v): New.
6855
6856Tue Oct 29 15:37:39 CET 2002 Jan Hubicka <jh@suse.cz>
6857
6858 * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
6859 before final pass.
6860
5b7d4198 68612002-10-29 Hans-Peter Nilsson <hp@bitrange.com>
6862
6863 * toplev.c (rest_of_type_compilation): Return early in case of
6864 errors.
6865 (check_global_declarations): Don't call debug_hooks->global_decl
6866 in case of errors.
6867
b7910fb1 68682002-10-28 Andreas Bauer <baueran@in.tum.de>
6869
6870 * doc/c-tree.texi (Tree overview): Fix typos.
6871
4121f044 68722002-10-29 Phil Edwards <pme@gcc.gnu.org>
6873
6874 * Makefile.in (gnucompare*): Only record bad comparisons
6875 if there really was a bad comparison.
6876
c2f63288 6877Tue Oct 29 19:32:16 CET 2002 Jan Hubicka <jh@suse.cz>
6878
6879 * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
6880 * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
6881 * md.texi (machine dependent constraints): Document 'C'
6882
6883 * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
6884
6885 * i386.c (ix86_expand_vector_move): Fix.
6886
6887 * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
6888 * i386.md (sse2_maskmovdqu_rex64): New pattern
6889
6890 PR target/8322
6891 * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
6892 (ix86_init_mmx_sse_builtins): Fix type.
6893
f9f6f55a 68942002-10-29 Jason Thorpe <thorpej@wasabisystems.com>
6895
6896 * gthr-posix.h: Include <unistd.h> for feature tests.
6897 (sched_get_priority_max, sched_get_priority_min)
6898 (pthread_getschedparam, pthread_setschedparam): Only use
6899 if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
a8b24921 6900 (__gthread_objc_thread_set_priority): Don't treat all nonzero
f9f6f55a 6901 returns from sched_get_priority_max and sched_get_priority_min
6902 as an error.
6903
2b7014df 69042002-10-29 Kazu Hirata <kazu@cs.umass.edu>
6905
6906 * config/h8300/h8300.h (TARGET_DEFAULT): Make it
6907 MASK_QUICKCALL.
6908
6c48c1e4 69092002-10-29 Kazu Hirata <kazu@cs.umass.edu>
6910
6911 * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
6912 (h8300_tiny_constant_address_p): Likewise.
6913 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
6914 h8300_eightbit_constant_address_p.
6915 (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
6916 * config/h8300/h8300-protos.h: Add the prototypes for the two
6917 new functions.
6918
96fc4563 69192002-10-29 Kazu Hirata <kazu@cs.umass.edu>
6920
6921 * reload1.c (update_eliminables): Unconditionally check if
6922 frame_pointer_needed has changed.
6923
e08a3477 6924Tue Oct 29 15:37:39 CET 2002 Jan Hubicka <jh@suse.cz>
6925
6926 * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
6927 before final pass.
6928
8c1d1299 69292002-10-29 Eric Botcazou <ebotcazou@libertysurf.fr>
6930
fc600283 6931 PR optimization/8334
5d6ce590 6932 * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
6933 check for zero operands explicitly.
8c1d1299 6934
6dd9e1cf 69352002-10-29 Richard Sandiford <rsandifo@redhat.com>
6936
6937 * config/mips/mips.md (extv, extzv, insv): Set size of referenced
6938 memory after adjusting to BLKmode.
6939
4cf140b4 69402002-10-29 Kazu Hirata <kazu@cs.umass.edu>
6941
6942 * config/h8300/h8300.h (MASK_*): New.
6943 (TARGET_*): Use MASK_*.
6944
805e22b2 69452002-10-28 Zack Weinberg <zack@codesourcery.com>
6946
6947 * config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
6948 * config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
6949 config/rs6000/vxworks.h: New files.
6950 * config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
6951
6952 * config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
6953 i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
6954 m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
6955 powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
6956 sparc-*-vxsim*): Delete stanzas.
6957 * gthr-vxworks.h: Rip out all substantive code and just
6958 include gthr-single.h.
6959
6960 * config/alpha/vxworks.h, config/arm/vxarm.h,
6961 config/i386/vxi386.h, config/i960/t-vxworks960,
6962 config/i960/vx960-coff.h, config/i960/vx960.h,
6963 config/m68k/t-vxworks68, config/m68k/vxm68k.h,
6964 config/mips/vxworks.h, config/rs6000/vxppc.h,
6965 config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
6966 config/sparc/vxsim.h, config/sparc/vxsparc.h,
6967 config/sparc/vxsparc64.h: Delete files.
6968
66860219 69692002-10-28 Jason Thorpe <thorpej@wasabisystems.com>
6970
6971 * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
6972 tm_defines if pthreads are enabled.
6973 * config/netbsd.h (LIB_SPEC): Only support the -pthread option
6974 if NETBSD_ENABLE_PTHREADS is defined.
6975
e61c498c 69762002-10-28 Kazu Hirata <kazu@cs.umass.edu>
6977
6978 * ChangeLog.1: Fix typos.
6979 * cse.c: Fix a comment typo.
6980 * reload1.c: Likewise.
6981
ca40cb68 69822002-10-27 Hans-Peter Nilsson <hp@bitrange.com>
6983
6984 * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
6985 * fixinc/tests/base/_G_config.h: New file.
6986
45498ea1 69872002-10-27 Kazu Hirata <kazu@cs.umass.edu>
6988
6989 * combine.c: Fix comment formatting.
6990 * loop.c: Likewise.
6991 * real.c: Likewise.
6992 * regclass.c: Likewise.
6993 * regmove.c: Likewise.
6994 * regrename.c: Likewise.
6995 * reg-stack.c: Likewise.
6996 * reload1.c: Likewise.
6997 * reload.c: Likewise.
6998 * reload.h: Likewise.
6999 * unroll.c: Likewise.
7000
8c2e6a91 70012002-10-27 Kazu Hirata <kazu@cs.umass.edu>
7002
7003 * reload1.c (reload): Fix a comment typo.
7004
81649310 7005Sun Oct 27 10:15:24 CET 2002 Jan Hubicka <jh@suse.cz>
7006
7007 * linux64.h (DEFAULT_PCC_STRUCT_RETURN): Define.
7008
51e8c210 70092002-10-27 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7010
7011 * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
7012 * dwarf2out.c: Include hashtab.h.
7013 (is_main_source): New static variable.
7014 (attr_checksum, die_checksum): Modified to handle die references.
7015 (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
7016 unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
7017 record_comdat_symbol_number): New static functions.
7018 (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
7019 mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
7020 * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
7021 declarations added.
7022
b52b2982 70232002-10-26 Kazu Hirata <kazu@cs.umass.edu>
7024
7025 * config/h8300/h8300.c (initial_offset): Change to
7026 h8300_initial_elimination_offset.
7027 * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
7028 h8300_initial_elimination_offset.
7029 * config/h8300/h8300-protos.h: Update the prototype.
7030
4254c704 70312002-10-26 Hans-Peter Nilsson <hp@bitrange.com>
7032
c715d549 7033 * config/mmix/mmix.h (LIBCALL_VALUE): Use
7034 MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
7035 (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
7036 * config/mmix/mmix.c (mmix_function_value_regno_p): New.
7037 * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
7038 and RTX_CODE.
7039 (mmix_function_value_regno_p): Declare.
7040
4254c704 7041 * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
7042 invalid for floating point mode result, with fix.
7043
805e22b2 7044Fri Oct 25 00:04:21 2002 Alexandre Oliva <aoliva@redhat.com>
7045
7046 * Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
7047 (STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
7048 (stage1_build): Likewise.
7049
f2b25a66 70502002-10-25 Mike Stump <mrs@apple.com>
7051
8efabdcd 7052 Fixes gcc.dg/warn-1.c.
805e22b2 7053 * c-typeck.c (warn_for_assignment): Don't print argument number,
7054 if zero.
f2b25a66 7055
d39d0277 7056Sat Oct 26 01:44:46 CEST 2002 Jan Hubicka <jh@suse.cz>
7057
7058 * toplev.c (dump_file_index): Add DFI_ce3.
7059 (dump_file_info): Likewise.
7060 (rest_of_compilation): Run first ifcvt pass before tracer.
7061
5a74001f 70622002-10-25 Steve Ellcey <sje@cup.hp.com>
7063
7064 * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
7065
0f447472 70662002-10-25 Richard Henderson <rth@redhat.com>
7067
7068 * real.c (real_to_decimal): If the >1 tens reduction loop results
7069 in a negative exponent, fall into the <1 pten computation.
7070
64df2c88 70712002-10-25 Zack Weinberg <zack@codesourcery.com>
7072
7073 PR middle-end/6994
7074 * c-objc-common.c (inline_forbidden_p): Can not inline
7075 functions containing structures or unions containing VLAs.
7076 * tree-inline.c (walk_tree): For all class 't' nodes, walk
7077 TYPE_SIZE and TYPE_SIZE_UNIT.
7078 (copy_tree_r): Copy types if they are variably modified.
7079
73b0c2cb 70802002-10-25 Ulrich Weigand <uweigand@de.ibm.com>
7081
7082 * config/s390/s390.md: Remove old-style peepholes.
7083
a883bad8 70842002-10-25 Ulrich Weigand <uweigand@de.ibm.com>
7085
7086 * config/s390/s390.c (s390_decompose_address): Do not range check the
7087 displacement if base or index is the argument pointer register.
7088
283bb5ac 70892002-10-24 Hans-Peter Nilsson <hp@bitrange.com>
7090
e2e49064 7091 PR other/3337
7092 PR bootstrap/6763
7093 PR bootstrap/8122
283bb5ac 7094 * fixinc/inclhack.def (libc1_G_va_list): New fix.
7095 * fixinc/fixincl.x: Regenerate.
7096 * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
7097 ifndef IN_LIBGCC2. Wrap it together with signal.h and
7098 sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
7099 * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
7100 * config.in, configure: Regenerate.
7101
8b3aba75 71022002-10-24 Igor Shevlyakov <igor@microunity.com>
7103
5d6ce590 7104 * varasm.c (struct rtx_const): Array size 16 for V16QImode.
8b3aba75 7105
c9222242 71062002-10-24 Richard Henderson <rth@redhat.com>
7107
7108 * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
7109
581ca38a 71102002-10-24 Kazu Hirata <kazu@cs.umass.edu>
7111
7112 * config/h8300/h8300.c (initial_offset): Simplify by using
7113 round_frame_size.
7114
bb0095b6 71152002-10-24 Marek Michalkiewicz <marekm@amelek.gda.pl>
7116
7117 * doc/install.texi (avr): Update required binutils version.
7118
71192002-10-24 Theodore A. Roth <troth@openavr.org>
7120
7121 * doc/install.texi: Point avr users at more up-to-date information.
7122
fb829af4 71232002-10-24 Ulrich Weigand <uweigand@de.ibm.com>
7124
7125 * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
7126 to pull operands out of the literal pool where possible.
7127
e9b473cd 71282002-10-24 Denis Chertykov <denisc@overta.ru>
7129
7130 * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
7131
65923445 71322002-10-24 Steve Ellcey <sje@cup.hp.com>
7133
7134 * expr.c (convert_move): If unsignedp is less then zero there
7135 is no equivalent code.
7136
828f0d1b 71372002-10-24 Zack Weinberg <zack@codesourcery.com>
7138
7139 * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
7140
7718b866 71412002-10-24 Ulrich Weigand <uweigand@de.ibm.com>
7142
828f0d1b 7143 * config/s390/s390.h: Rework comments; re-sort target macro definitions
7718b866 7144 according to the sequence they are defined in the manual.
7145 (POINTER_BOUNDARY): Remove.
7146
b25ffd74 71472002-10-24 Kazu Hirata <kazu@cs.umass.edu>
7148
7149 * config/h8300/h8300.c (round_frame_size): Replace 8 with
7150 BITS_PER_UNIT.
7151
4d674787 71522002-10-24 Kazu Hirata <kazu@cs.umass.edu>
7153
7154 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
7155 64-bit safe.
7156 (TINY_CONSTANT_ADDRESS_P): Likewise.
7157
100c9270 71582002-10-24 Richard Henderson <rth@redhat.com>
7159
7160 * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
7161 (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
7162 vcall offset.
7163
a5da0d3c 71642002-10-24 Richard Henderson <rth@redhat.com>
7165
828f0d1b 7166 PR opt/7944
7167 * reload.c (find_reloads_toplev): Mode of X is not important
a5da0d3c 7168 when simplifying subregs of constants.
7169
0e760677 71702002-10-24 Richard Sandiford <rsandifo@redhat.com>
7171
7172 * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
7173 MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
7174 * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
7175 (override_options): Base default setting of MASK_SOFT_FLOAT on -march
7176 if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
7177
a405fd23 71782002-10-24 Richard Sandiford <rsandifo@redhat.com>
7179
7180 * optabs.c (expand_binop): Don't reuse the shift target in the
7181 middle of shift sequences.
7182
805e22b2 7183Wed Oct 23 22:48:44 CEST 2002 Jan Hubicka <jh@suse.cz>
7184
7185 * i386.md (abs splitters): Do not produce nested subregs.
7186
7187Wed Oct 23 12:42:32 CEST 2002 Jan Hubicka <jh@suse.cz>
7188
7189 * i386.md (movti_rex64): Fix constraints.
7190
7191Wed Oct 23 12:01:21 CEST 2002 Jan Hubicka <jh@suse.cz>
7192
7193 * i386.md (abssf,absdf): Use vector operands for SSE
7194 (abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
7195 vector operand.
7196
326fab2c 71972002-10-23 Ziemowit Laski <zlaski@apple.com>
7198
7199 * objc/objc-act.c (get_static_reference): Remove unneeded
7200 TYPE_BINFO initialization.
7201 (get_object-reference): Likewise.
7202 (build_constructor): Tighten precondition check.
7203 (finish_message_expr): Likewise.
7204
94aedecc 72052002-10-23 Jakub Jelinek <jakub@redhat.com>
7206
7207 * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
7208 after CONST test.
7209
83186412 72102002-10-23 Steve Ellcey <sje@cup.hp.com>
7211
7212 * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
7213 in HFAs.
7214
a19ec9da 72152002-10-23 Richard Henderson <rth@redhat.com>
7216
7217 * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
7218 (alpha_output_mi_thunk_osf): Handle vcall_offset.
7219
21ac3a84 72202002-10-23 Zack Weinberg <zack@codesourcery.com>
7221
7222 * langhooks.h (struct lang_hooks_for_tree_inlining): Add
7223 var_mod_type_p.
7224 * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
7225 hook_tree_bool_false.
7226
7227 * tree.c (variably_modified_type_p): Moved here from
7228 cp/tree.c. Use lang_hooks.tree_inlining.var_mod_type_p for
7229 language-specific cases. Due to this, must weaken some 'if
7230 and only if' checks to merely 'if'.
7231 * tree.h: Prototype variably_modified_type_p.
7232
7233 * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
7234
25da9e9f 72352002-10-23 Ulrich Weigand <uweigand@de.ibm.com>
7236
7237 * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
7238 * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
7239
7240 * config/s390/s390-protos.h (fp_operand): Remove.
7241 * config/s390/s390.c (fp_operand): Remove.
7242 * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
7243 ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
7244 ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
7245 (movdi_31, movdf_31 splitters): Likewise.
21ac3a84 7246
25da9e9f 7247 * config/s390/s390.h (IEEE_FLOAT): Remove.
7248 (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
7249 (INT_REGNO_P): Rename to ...
7250 (GENERAL_REGNO_P): ... this.
7251 (FLOAT_REGNO_P): Rename to ...
7252 (FP_REGNO_P): ... this.
7253 (ADDR_REGNO_P): New macro.
7254 (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
7255 (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
7256 (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
7257 (HARD_REGNO_NREGS): Adapt to macro renaming.
7258 (HARD_REGNO_MODE_OK): Likewise.
7259
4880d8d5 72602002-10-23 David Edelsohn <edelsohn@gnu.org>
7261 Geoff Keating <geoffk@apple.com>
7262
7263 * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
7264 (rs6000_memory_move_cost): New function.
7265 * config/rs6000/rs6000-protos.h: Declare them.
7266 * config/rs6000/rs6000.h: Use them.
7267
9dae5ac3 72682002-10-23 Ulrich Weigand <uweigand@de.ibm.com>
7269
21ac3a84 7270 * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
9dae5ac3 7271 inlining it into other libgcc2 routines.
7272 (__udivmoddi4): Likewise.
7273
bf410bdd 72742002-10-22 Nathanael Nerode <neroden@gcc.gnu.org>
7275
7276 * doc/sourcebuild.texi (Test Suites): Improve.
7277
6ea17e53 72782002-10-22 Stan Shebs <shebs@apple.com>
7279
7280 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
7281 case for Darwin.
7282
33c99202 72832002-10-22 Jim Wilson <wilson@redhat.com>
7284
7285 * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
7286
a7fa1ad5 7287Wed Oct 23 01:52:36 CEST 2002 Jan Hubicka <jh@suse.cz>
7288
7289 PR other/8289
7290 * xmmintrin.h: Add const to the argument of loads.
7291
7292 * i386.md (pushv2di): New pattern.
7293 PR target/6890
7294 * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
7295
eb344f43 72962002-10-22 Richard Henderson <rth@redhat.com>
7297
7298 * target.h (gcc_target.asm_out): Merge output_mi_thunk and
7299 output_mi_vcall_thunk into a single hook. Add can_output_mi_thunk.
7300 * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
7301 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
7302 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
7303 (TARGET_ASM_OUT): Update.
7304 * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
7305 (hook_bool_tree_hwi_hwi_tree_true): New.
7306 (default_can_output_mi_thunk_no_vcall): New.
7307 * hooks.h: Declare them.
7308 * system.h (ASM_OUTPUT_MI_THUNK): Poison.
7309
7310 * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
7311 (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
7312 * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
7313 config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
7314 config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
7315 config/stormy16/stormy16.c: Similarly.
7316
7317 * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
7318 Handle 64-bit properly. Streamline.
7319 (x86_output_mi_vcall_thunk): Remove.
7320 (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
7321 (x86_can_output_mi_thunk): New.
7322 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
7323 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
7324 (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
7325
7326 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
7327 output_mi_thunk; make static; always use function_section.
7328 (TARGET_ASM_OUTPUT_MI_THUNK): New.
7329 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
7330 (rs6000_ra_ever_killed): Test no_new_pseudos not
7331 targetm.asm_out.output_mi_thunk in conjunction with thunks.
7332 * config/rs6000/rs6000-protos.h: Update.
7333 * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
7334 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
7335 xcoffout_declare_function when using rs6000_output_mi_thunk.
7336
21ac3a84 7337 * config/s390/s390.c (s390_output_mi_thunk): Rename from
eb344f43 7338 s390_output_mi_vcall_thunk.
7339 (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
7340 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
7341
7342 * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
7343 (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
7344 * config/vax/vax-protos.h: Update.
7345 * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
7346
3a9a09bb 7347Wed Oct 23 00:33:11 CEST 2002 Jan Hubicka <jh@suse,cz>
7348
7349 * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
7350 * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
7351 * i386.md (movti_internal): Use 'C'
7352
7353 * xmmintrin.h (_mm_cmplt_epi*): New.
7354
c36e6d0b 73552002-10-22 Ulrich Weigand <uweigand@de.ibm.com>
7356
7357 * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
7358 ("*movdf_64"): Likewise.
7359 ("*lshrdi3_64"): Likewise.
7360 ("blockage"): Add length attribute.
7361 ("lit"): Likewise.
7362
ab2780c0 7363Tue Oct 22 23:51:34 CEST 2002 Jan Hubicka <jh@suse.cz>
7364
7365 * i386.md: FIx typo.
7366 (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
7367 (sse2_umulv2siv2di3): Fix predicate.
7368 (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
7369 lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
7370 * xmmintrin.h (_mm_mul_epu16): Rename to...
7371 (_mm_mul_epu32): This one.
7372 (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
7373
7374 (contains_128bit_aligned_vector_p): Undo accidental checkin.
7375
c463d4e9 73762002-10-22 Eric Christopher <echristo@redhat.com>
7377
7378 * config/sparc/sparc.h: Add #error.
7379
6c3a2301 73802002-10-22 Ulrich Weigand <uweigand@de.ibm.com>
7381
7382 * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
7383 [s390x-*-linux*]: Likewise.
7384 * config/s390/t-linux: Remove.
7385 * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
7386
dd0ece6e 7387Tue Oct 22 19:07:03 CEST 2002 Jan Hubicka <jh@suse.cz>
7388
7389 * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
7390 (ix86_expand_builtin): Fix MASKMOVDQU expasion.
7391 * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
7392 * i386.md (mmx_punpck?dq): Simplify.
7393 (sse2_pubpcklqdq): Fix.
7394 (sse2_pubpckhqdq): New.
7395 * xmmintrin.h (_mm_unpackhi_epi32): New.
7396
7397 * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
7398 (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
7399
30eae1dc 74002002-10-22 Nathan Sidwell <nathan@codesourcery.com>
7401
7402 PR c++/7209
7403 * fold_const.c (fold_binary_op_with_conditional_arg): Always
7404 build compound_expr if we used save_expr.
7405
73062b44 74062002-10-22 Alan Modra <amodra@bigpond.net.au>
7407
7408 * output.h (SECTION_NOTYPE): Define.
7409 * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
7410 init array sections.
7411 (default_elf_asm_named_section): Mind SECTION_NOTYPE.
7412 * config/arm/arm.c (arm_elf_asm_named_section): Likewise. Also
7413 merge TLS support.
7414
805e22b2 74152002-10-21 Richard Henderson <rth@redhat.com>
7416
7417 * config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
7418 the function type, not the return type.
7419
0725d7de 74202002-10-21 Richard Henderson <rth@redhat.com>
7421
7422 * real.c (sticky_rshift_significand): Return inexact, don't
7423 or it in immediately.
7424 (sub_significands): Accept incomming carry.
7425 (div_significands, rtd_divmod): Update for sub_significands change.
7426 (round_for_format): Update for sticky_rshift_significand change.
7427 (do_add): Don't involve the inexact bit in addition, do give the
7428 inexact bit as the subtraction carry-in.
7429 (encode_internal, decode_internal, real_internal_format): New.
7430 * real.h (real_internal_format): Declare.
7431
6b9d1b54 74322002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
7433
7434 * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
7435 don't define sdiv_qrnnd.
7436
8f9a816c 74372002-10-21 Kazu Hirata <kazu@cs.umass.edu>
7438
7439 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
7440 using IN_RANGE.
7441 (TINY_CONSTANT_ADDRESS_P): Likewise.
7442
4901c1b4 7443Tue Oct 22 00:04:20 CEST 2002 Jan Hubicka <jh@suse.cz>
7444
7445 * i386.c (builtin_description): Add punpcklqdq and movdq2q
7446 (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
7447 v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
7448 void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
7449 __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
7450 __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
7451 __builtin_ia32_setzero128.
7452 (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
7453 IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
7454 IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
7455 * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
7456 IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
7457 IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
7458 IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
7459 * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
7460 sse2_movq): New patterns.
7461 (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
7462 * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
7463 _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
7464 _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
7465 _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
7466 _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
7467 _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
7468 (_mm_insert_epi16): Fix.
7469
df86a43a 74702002-10-21 Dale Johannesen <dalej@apple.com>
7471
21ac3a84 7472 * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
df86a43a 7473 unsafe math reversals correctly for RTL generation.
7474 (output_cbranch): Replace rs6000_reverse_condition call
7475 by its former definition.
7476
29d8dd5c 74772002-10-21 Jakub Jelinek <jakub@redhat.com>
7478
7479 * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
7480 argument. In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
7481 from constant pool or LABEL_REFs as sign extended if allow_rip.
7482 Change all +-1GB limits to +-16MB.
7483 (x86_64_general_operand, x86_64_szext_general_operand,
7484 x86_64_nonmemory_operand, x86_64_movabs_operand,
7485 x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
7486 legitimate_address_p, ix86_expand_int_movcc): Update callers.
7487 (local_symbolic_operand): Don't allow offsets bigger than +-16MB
7488 in CM_SMALL_PIC model.
7489 (legitimate_pic_address_disp_p): Don't check offsets before
7490 calling local_symbolic_operand.
7491 (legitimize_pic_address): Force offsets bigger than +-16MB into
7492 register.
7493 * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
7494 * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
7495 prototype.
7496
7497 * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
7498 Add x86-64 test. Set tls_first_minor to 14 on IA-32 and x86-64.
7499 * configure: Rebuilt.
7500 * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
7501 SYMBOL_REFs unless enclosed in UNSPEC. Handle UNSPEC_DTPOFF,
7502 UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
7503 (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
7504 -fpic.
7505 (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
7506 non-pic code if TARGET_64BIT.
7507 (legitimize_address): Generate 64-bit TLS sequences.
7508 (output_pic_addr_const): Support x86-64 TLS operators.
7509 (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
7510 (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
7511 Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
7512 (output_addr_const_extra): Support x86-64 TLS operators.
7513 (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
7514 (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
7515 unconditionally.
7516 * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
7517 (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
7518 (*tls_global_dynamic_sun): Renamed to...
7519 (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
7520 (tls_global_dynamic): Renamed to...
7521 (tls_global_dynamic_32): ... this.
7522 (tls_global_dynamic_64, *tls_global_dynamic_64): New.
7523 (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
7524 (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
7525 (*tls_local_dynamic_base_dynamic_sun): Renamed to...
7526 (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
7527 (tls_local_dynamic_base_dynamic): Renamed to...
7528 (tls_local_dynamic_base_dynamic_32): ... this.
7529 (tls_local_dynamic_base_dynamic_64,
7530 *tls_local_dynamic_base_dynamic_64): New.
7531 (*tls_local_dynamic_once): Renamed to...
7532 (*tls_local_dynamic_32_once): ... this.
7533
1b3950b9 75342002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
7535
7536 * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
7537 __divdi3, __umoddi3, or __moddi3.
7538
28397255 75392002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
7540
7541 * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
7542 instead of just opt_index as switch expression.
7543
7544 * calls.c (store_one_arg): Change type of 'excess_align'
7545 to unsigned int.
7546
7547 * profile.c (output_gcov_string): Change type of 'temp'
7548 to size_t.
7549
abd8f04d 75502002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
7551
7552 * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
7553 (__fixunssfdi, __fixsfdi): Likewise.
7554 * config/s390/s390.c (s390_single_hi): Initialize 'value'.
7555 (s390_single_qi): Likewise.
7556 (s390_emit_epilogue): Initialize 'offset'. Remove signed vs.
7557 unsigned comparison warning.
7558 (s390_return_addr_rtx): New function.
7559 * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
7560 * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
7561 (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
7562
c20f8a1d 75632002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
7564
7565 * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
7566 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
7567 (s390_output_mi_thunk): Remove.
7568 (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
7569
97a4bc7f 75702002-10-21 Kazu Hirata <kazu@cs.umass.edu>
7571
7572 * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
7573
805e22b2 75742002-10-20 Zack Weinberg <zack@codesourcery.com>
7575
7576 * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an
7577 inverted test in the conditional determining the possibility
7578 of sibcalls in PIC mode.
7579
6988553d 75802002-10-20 Richard Henderson <rth@redhat.com>
7581
7582 * target.h (struct gcc_target): Line wrap.
7583
7584 * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
7585 (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
7586 * config/alpha/alpha.h: ... not here.
7587 * config/alpha/alpha-protos.h: Update.
7588
7589 * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
7590 config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
7591 config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
7592 config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
7593 config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
7594 config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
7595 config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
7596 config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
7597 config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
c463d4e9 7598 config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
6988553d 7599 config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
7600 config/sparc/openbsd.h, config/sparc/sparc-protos.h,
7601 config/sparc/sparc.c, config/sparc/sparc.h,
7602 config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
7603 config/stormy16/stormy16.h: Similarly.
7604
7605 * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
7606 selection logic from call patterns.
7607
9326242b 76082002-10-20 Mark Mitchell <mark@codesourcery.com>
7609
7610 * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
7611
f466dd9f 76122002-10-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7613
7614 PR other/8202
7615 * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
7616 expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
7617 * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
7618 * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
7619
76903ae1 76202002-10-20 Roger Sayle <roger@eyesopen.com>
7621
7622 PR c/761
7623 * toplev.c (flag_unsafe_profile_arcs): Remove.
7624 (flag_bounded_pointers): Remove.
7625 (flag_bounds_check): Correct comments.
7626 (lang_independent_options): Remove -funsafe-profile-arcs and
7627 -fbounded-pointers. Correct -fbounds-check comments.
7628
7629 * flags.h: Correct flag_schedule_interblock comments.
7630 (flag_bounded_pointers): Remove prototype.
7631 (flag_bounds_check): Correct comments.
7632
7633 * c-opts.c (c_common_init_options): No need to mark
7634 flag_bounds_check as unspecified.
7635 (c_common_post_options): And no need to set it from
7636 flag_bounded_pointers if its still unspecified.
7637
7638 * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
7639 Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
7640 -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
7641 -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
7642
805e22b2 7643Sat Oct 19 22:02:28 2002 Alexandre Oliva <aoliva@redhat.com>
7644 Angela Marie Thomas <angela@releasedominatrix.com>
7645 Brendan Kehoe <brendan@zen.org>
7646 Nick Clifton <nickc@redhat.com>
7647 Andrew Haley <aph@redhat.com>
7648
7649 * configure.in (--with-sysroot): New. Don't inhibit libc if
7650 given. AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE
7651 and CROSS_SYSTEM_HEADER_DIR.
7652 * configure: Rebuilt.
7653 * Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure.
7654 (TARGET_SYSTEM_ROOT): New.
7655 (DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from
7656 CROSS_SYSTEM_HEADER_DIR.
7657 (install-gcc-tooldir): New target.
7658 (stmp-fixinc): Do not create $(libsubdir), but rather bail out
7659 if SYSTEM_HEADER_DIR does not exist and it's not the default
7660 sys-include directory.
7661 (deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
7662 (install-mkheaders): Likewise.
7663 * gcc.c (target_system_root): New variable.
7664 (add_sysrooted_prefix): New function.
7665 (process_command): Recompute run-time target_system_root from
7666 gcc_exec_prefix, keeping it unchanged if the relocated sysroot
7667 does not exist.
7668 (do_spec_1): Process 'R' spec.
7669 (main): Add md_exec_prefix to exec_prefixes regardless of
7670 startfile_prefix_spec. Use add_sysrooted_prefix for
7671 startfile_prefixes, and don't skip the default ones when cross
7672 compiling with sysroot enabled. Removed unused case of
7673 non-absolute standard_startfile_prefix.
7674 * config/interix.h: Remove the only potential, yet disabled,
7675 occurrence of non-absolute (empty) standard_startfile_prefix.
7676 * config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
7677 linking.
7678 * config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
7679 * doc/install.texi (--with-sysroot): Document.
7680 (--with-headers, --with-libs): Deprecate.
7681
e7f5e241 76822002-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
21ac3a84 7683 Mark Mitchell <mark@codesourcery.com>
e7f5e241 7684
7685 * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
7686 match target.h.
7687 * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
7688 * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
7689 * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
7690 * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
7691 x86_output_mi_thunk): Likewise.
7692 * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
7693 * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
7694 * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
7695 * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
7696 * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
7697 * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
7698 * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
7699 Likewise.
7700 * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
c463d4e9 7701
e7f5e241 7702 * target.h (gcc_target): Update output_mi_thunk and
7703 output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
7704 vcall_index.
7705
7706 * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
7707 TARGET_ASM_OUTPUT_MI_THUNK in comments.
7708 * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
7709 (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
7710 * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
7711 * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
7712 signature.
7713 * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
7714 * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
7715 TARGET_ASM_OUTPUT_MI_THUNK in comments.
7716 * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
7717 (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
7718 * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
7719 TARGET_ASM_OUTPUT_MI_THUNK in comments.
7720 * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
7721 ASM_OUTPUT_MI_THUNK and replace with check of targetm.
7722
7723 * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
7724 (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
c463d4e9 7725
a77e025f 77262002-10-19 Brad Lucier <lucier@math.purdue.edu>
7727
7728 * real.c (do_add): Fix 0+0 sign corner case.
7729 (do_divide): Fix Inf/0 corner case.
7730
717b9435 7731Sun Oct 20 00:31:31 CEST 2002 Jan Hubicka <jh@suse.cz>
7732
7733 * i386.c (classify_argument): Pass MMX arguments in memory
7734 (ix86_expand_builtin): Expand proper address mode for cflush.
7735 * i386.md (movdqa): Fix typo.
7736 (sse2_cflush): Accept DImode addresses.
7737
7738 * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
7739 (_mm_max_sd): Fix pasto.
7740 (_mm_storeh_pd, _mm_storel_pd): Fix.
7741
7742 * i386.c (bdesc_comi): Fix to match specification.
7743 (ix86_expand_sse_comi): Emit the comparison properly.
7744 * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
7745 Do not use comparison operator.
7746 (vnmaskcmp): Fix template.
7747
7748 * xmmintrin.h (_mm_cvtps_pi16): Fix.
7749
e9a2db1d 77502002-10-19 Sebastian Pop <s.pop@laposte.net>
7751
7752 * dependence.c : Removed.
21ac3a84 7753 * Makefile.in : Remove dependence.o.
e9a2db1d 7754
2feb8eca 7755Sat Oct 19 10:46:52 CEST 2002 Jan Hubicka <jh@suse.cz>
7756
7757 * mmintrin.h (__m64): typedef it to v2si.
7758 (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
7759 _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
7760 _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
7761 _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
7762 _mm_or_si64, _mm_xor_si64): Add neccesary casts.
7763 * xmmintrin.h (_mm_setzero_si64): Likewise.
7764
7765 * i386.h (ALIGN_MODE_128): Update comment; add missing modes
7766 (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
7767
7768 PR target/7693
7769 Patch by Shawn Wagner
7770 * mmintrin.h: Replace pi64 by si64.
7771
c75cd883 77722002-10-18 David Edelsohn <edelsohn@gnu.org>
7773
7774 * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
7775 Use length of 4 not *.
7776 (movdf_hardfloat64): Same. Support DFmode moves to/from CTR/LR.
7777 (movdf_softfloat64): Likewise.
7778 (movdi_internal32): Use length of 4 not *.
7779 (movti_power): Same.
7780 (ctrsi, ctrdi): Same.
7781
bffbea28 77822002-10-18 Zack Weinberg <zack@codesourcery.com>
7783
7784 * c-decl.c (start_decl): Point users of the old initialized-
7785 typedef extension at __typeof__.
7786
6b8eafdb 77872002-10-18 Richard Henderson <rth@redhat.com>
7788
7789 * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
7790 (real_to_decimal): Re-implement using the logic from the
7791 gcc 3.2 etoasc. Comment heavily.
7792 (div_significands): Simplify loop startup and comparison logic.
7793
c6933ba6 77942002-10-18 Mark Mitchell <mark@codesourcery.com>
7795
7796 * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
7797 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
7798 (TARGET_ASM_OUT): Add them.
7799 * target.h (asm_out): Add output_mi_thunk and
7800 output_mi_vcall_thunk.
7801 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7802 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7803 * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
7804 * config/arm/arm.c (arm_output_mi_thunk): Define.
7805 * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7806 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7807 * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7808 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7809 * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7810 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7811 * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
7812 prototype.
7813 (x86_output_mi_vcall_thunk): Declare.
7814 * config/i386/i386.c (override_options): Clear
7815 output_mi_vcall_thunk in 64-bit mode.
7816 (ix86_fntype_regparm): New function.
7817 (ix86_return_pops_args): Use it.
7818 (ia32_this_parameter): New function.
7819 (x86_output_mi_vcall_thunk): New function.
7820 (x86_output_mi_thunk): Use it
7821 * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
7822 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
7823 * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
7824 * config/i960/i960.c (i960_output_mi_thunk): New function.
7825 * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
7826 * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
7827 * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
7828 * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7829 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7830 * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
7831 * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7832 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7833 * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7834 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7835 * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7836 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7837 * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7838 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7839 * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7840 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7841 * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
7842 * config/s390/s390.c (s390_output_mi_thunk): Define.
7843 * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7844 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7845 * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7846 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7847 * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7848 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7849 * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
7850 * config/vax/vax.c (vax_output_mi_thunk): Define.
7851 * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7852 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7853 * doc/tm.texi: Adjust documentation.
bffbea28 7854
f54087fb 78552002-10-18 Jason Thorpe <thorpej@wasabisystems.com>
7856
bffbea28 7857 * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
7858 __enable_execute_stack function.
f54087fb 7859 * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
7860 as NETBSD_ENABLE_EXECUTE_STACK.
7861 * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
7862 * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
7863 * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
7864 * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
7865 * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
7866
54113cf5 78672002-10-18 Jason Thorpe <thorpej@wasabisystems.com>
7868
7869 * config/i386/i386.c (x86_initialize_trampoline): Emit a call
7870 to __enable_execute_stack with the address of the trampoline
7871 if TRANSFER_FROM_TRAMPOLINE is defined.
7872 * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
7873 constant if building libgcc2.
7874
805e22b2 7875Thu Oct 17 17:40:05 CEST 2002 Jan Hubicka <jh@suse.cz>
7876
7877 * i386.c (pentium4_cost): Fix according to Intel recommendations.
7878 (ix86_memory_move_cost): Fix for 64bit compilation.
7879
35074dd1 78802002-10-17 Roger Sayle <roger@eyesopen.com>
7881
7882 * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
7883
41571cde 78842002-10-17 Geoffrey Keating <geoffk@apple.com>
7885
7886 * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
7887 in CTR/LR/MQ.
7888 * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
7889 to/from CTR/LR/MQ.
7890 (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
7891 (movsf_softfloat): Likewise.
7892
9745a094 78932002-10-17 Janis Johnson <janis187@us.ibm.com>
7894
7895 * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
7896
f0bdd254 78972002-10-17 Jason Thorpe <thorpej@wasabisystems.com>
7898
7899 * config/alpha/alpha.c (alpha_initialize_trampoline): Use
7900 tramp, not addr, to pass the trampoline address to
7901 __enable_execute_stack.
7902
3653c78a 7903Thu Oct 17 18:40:47 CEST 2002 Jan Hubicka <jh@suse.cz>
7904
7905 * mmintrin.h: Guard by __MMX__
7906 * xmmintrin.h: Guard by __SSE__
7907
7908 PR other/8062
7909 * xmmintrin.h (_MM_SHUFFLE2): New macro.
7910 (_mm_load*_?d): New functions.
7911 (_mm_set*_?d): New functions.
7912 (_mm_store*_?d): New functions.
7913
1a12dac4 7914Wed Oct 16 15:01:29 CEST 2002 Jan Hubicka <jh@suse.cz>
7915
7916 Really commit patch announced at Oct 14
7917 PR c/7344
7918 * predict.c (can_predict_insn_p): New function.
7919 (estimate_probability): Avoid unnecesary work.
7920 (process_note_prediction): Likewise.
7921 * toplev.c (rest_of_compilation): Account early branch prediction pass
7922 as TV_BRANCH_PROB.
7923
d06e19b2 7924 PR other/8048
7925 Found by Ian Ollmann
7926 * xmmintrin.h (_mm_shuffle_pd): Fix typo.
7927 (_mm_load?_pd): Likewise.
7928 (_mm_store?_pd): Likewise.
7929
7930 PR target/7386
7931 * i386.c (builtin_description):Drop cmpg[te]s[sd].
7932 * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
7933 swapped alternative.
7934
7935 PR opt/7630
7936 * reload1.c (reload_inner_reg_of_subreg): New argument output;
7937 (push_reload): Update call.
7938
00bd821c 79392002-10-17 Richard Sandiford <rsandifo@redhat.com>
7940
7941 * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
7942 if using mips/elf.h or mips/elf64.h.
7943 * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
7944 * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
7945
10a529ae 79462002-10-16 Aldy Hernandez <aldyh@redhat.com>
7947
7948 * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
7949 SI.
7950
a983c6d2 79512002-10-16 Ulrich Weigand <uweigand@de.ibm.com>
7952
7953 * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
7954 (LPREFIX): Likewise.
7955 (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
7956 ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
7957 ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
7958 TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
7959 GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
7960
bffbea28 7961 * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
7962 ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
7963 ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
a983c6d2 7964 BSS_SECTION_ASM_OP): Move from linux.h.
7965 (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
7966 Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
7967
bffbea28 7968 * config/s390/s390.c (s390_function_profiler): Use
a983c6d2 7969 ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
7970
805e22b2 79712002-10-15 Eric Christopher <echristo@redhat.com>
7972
7973 * stor-layout.c (layout_type): Call GET_MODE_BITSIZE once.
7974 * java/parse.y (obtain_incomplete_type): Make pointer
7975 ptr_mode.
7976
c7fbc741 79772002-10-15 Richard Henderson <rth@redhat.com>
7978
7979 * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
7980 as arguments. Bound DIGITS by the available buffer size.
7981 (real_to_hexadecimal): Likewise.
7982 * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
7983 (REAL_VALUE_TO_DECIMAL): Remove.
7984 * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
7985 sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
bffbea28 7986 config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
c7fbc741 7987 config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
7988 config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
bffbea28 7989 config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
c7fbc741 7990 config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
7991 use real_to_decimal directly, and with the proper arguments.
7992 * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
7993
f5dd30a8 79942002-10-15 Jim Wilson <wilson@redhat.com>
7995
7996 * reload1.c (merge_assigned_reloads): After converting overlapping
7997 reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
7998
7999 * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
8000
88d866dd 8001Tue Oct 15 22:08:35 CEST 2002 Jan Hubicka <jh@suse.cz>
8002
8003 * expr.c (do_tablejump): Fix typo in my previous commit.
8004
2c1b8d64 80052002-10-15 Richard Sandiford <rsandifo@redhat.com>
8006
8007 * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
8008
96be3ab6 80092002-10-15 Ulrich Weigand <uweigand@de.ibm.com>
8010
8011 * config/s390/s390.c (s390_split_branches): Add return
8012 value. Add parameters TEMP_REG and TEMP_USED. Use unspec 104.
8013
8014 (find_base_register_in_addr): New function.
8015 (find_base_register_ref): New function.
8016 (replace_base_register_ref): New function.
8017
8018 (struct constant_pool): Add members pool_insn, insns, and anchor.
8019 Remove member last_insn.
8020 (s390_start_pool): Initialize them.
bffbea28 8021 (s390_end_pool): Emit pool placeholder insn.
96be3ab6 8022 (s390_add_pool_insn): New function.
8023 (s390_find_pool): Use insns bitmap instead of addresses.
8024 (s390_dump_pool): Replace placeholder insn. Emit anchor.
8025 Replace unspec 104 by local-pool-relative references.
8026 (s390_output_constant_pool): Output anchor label if required.
8027 (s390_output_symbolic_const): Handle unspec 104 and 105.
8028 (s390_add_pool): Remove, replace by ...
8029 (s390_add_constant, s390_find_constant): ... these new functions.
8030 (s390_add_anchor): New function.
8031
8032 (s390_chunkify_pool): Delete, replace by ...
bffbea28 8033 (s390_chunkify_start, s390_chunkify_finish,
96be3ab6 8034 s390_chunkify_cancel): ... these new functions.
8035 (s390_optimize_prolog): Add parameter TEMP_REGNO.
8036 Recompute register live data for special registers.
8037 (s390_fixup_clobbered_return_reg): New function.
8038 (s390_machine_dependent_reorg): Rewrite to use new
8039 s390_chunkify_... routines.
8040
8041 config/s390/s390.md ("reload_base"): Rename to ...
8042 ("reload_base_31"): ... this.
8043 ("reload_base_64"): New insn.
8044 ("reload_base2"): Remove.
8045 ("reload_anchor"): New insn.
8046 ("pool"): New insn.
8047
8048 s390.c (s390_pool_overflow): Remove.
8049 s390.h (s390_pool_overflow): Likewise.
8050 s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
8051
d10d7ae8 8052Tue Oct 15 16:51:04 2002 J"orn Rennecke <joern.rennecke@superh.com>
8053
8054 * sh.md (movv8qi_i+2): Don't split if source is -1.
8055
2af38f77 80562002-10-15 Janis Johnson <janis187@us.ibm.com>
8057
8058 * doc/install.texi: Formatting changes for conformance to HTML 4.01.
8059
d483846f 80602002-10-15 Ulrich Weigand <uweigand@de.ibm.com>
8061
8062 PR opt/7409
8063 * loop.c (loop_regs_scan): Mark registers used for function
8064 argument passing as MAY_NOT_OPTIMIZE.
8065
805e22b2 8066Mon Oct 14 19:22:19 CEST 2002 Jan Hubicka <jh@suse.cz>
8067
8068 * gcov-io.h (gcov_info): Fix type.
8069 * profile.c (create_profiler): Fix type mismatch.
8070
71a455ac 8071Mon Oct 14 20:33:12 CEST 2002 Jan Hubicka <jh@suse.cz>
8072
8073 * i386.md (movv2di_internal): New pattern.
8074 (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
8075 (movv2di): New expander.
8076 * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
8077
8078 * i386.c (ix86_expand_timode_binop_builtin): Delete.
8079 (builtin_description): Add SSE1 logicals; rename SSE2 logicals.
8080 (ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
8081 (ix86_expand_builtin): Likewise.
8082 * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
bffbea28 8083 sse_andti3,
71a455ac 8084 sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
bffbea28 8085 sse_andnti3,
71a455ac 8086 sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
bffbea28 8087 sse_orti3,
71a455ac 8088 sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
bffbea28 8089 sse_xorti3): Kill.
71a455ac 8090 (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
8091 sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
8092 (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
8093 *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
8094 (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
8095 *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
8096
8097 * xmmintrin.h (__m128i): Define as __v2di.
8098
71a455ac 8099 PR c++/6419
8100 (expand_expr): Use DECL_RTL_SET_P.
8101
0e9aa9fe 81022002-10-14 Roger Sayle <roger@eyesopen.com>
8103
8104 * combine.c (simplify_set): Treat MODE_CC registers like cc0.
8105
3432f833 81062002-10-14 Roger Sayle <roger@eyesopen.com>
8107 Zack Weinberg <zack@codesourcery.com>
8108
8109 * config/i386/i386.c (k6_cost): Correct typo.
8110
25763d80 81112002-10-14 Mark Mitchell <mark@codesourcery.com>
8112
8113 PR optimization/6631
8114 * alias.c (objects_must_conflict_p): Check honor_readonly when
8115 examining TYPE_READONLY.
8116 * function.c (assign_stack_temp_for_type): Likewise.
8117
4b50251d 81182002-10-14 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
8119
8120 * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
8121 Swap zero extension arguments.
8122 (umaxhi3): Fix instruction class.
8123 PR target/7211
8124 (prefetch): Fix prefetch instructions.
8125 PR target/7238
8126 (pkwb): Fix output constraint.
8127
a45f1141 81282002-10-14 Alexandre Oliva <aoliva@redhat.com>
8129
8130 * config/mips/mips.c (print_operand): Increase buffer size for
8131 real numbers.
8132
805ae000 81332002-10-14 Richard Henderson <rth@redhat.com>
8134
8135 PR opt/8165
8136 * gcse.c (adjust_libcall_notes): Revert last change.
8137 * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
8138
16ceebae 81392002-10-14 Andrew Haley <aph@redhat.com>
8140
8141 * tree-inline.c (remap_block): All local class initialization
8142 flags go in the outermost scope.
8143 (expand_call_inline): Call java_inlining_map_static_initializers.
8144 (expand_call_inline): Call java_inlining_merge_static_initializers.
8145 * java/lang.c (merge_init_test_initialization): New.
8146 (java_inlining_merge_static_initializers): New.
8147 (inline_init_test_initialization): New.
8148 (java_inlining_map_static_initializers): New.
8149
8150 * tree-inline.c (expand_call_inline): Convert retvar to expected
8151 type.
8152
ed3a6e06 81532002-10-14 Graham Stott <graham.stott@btinternet.com>
8154
8155 * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
8156
3326ed93 81572002-10-14 Aldy Hernandez <aldyh@redhat.com>
8158
8159 * stmt.c: Fix typo in comment.
8160
50abdc96 8161Mon Oct 14 11:35:49 2002 J"orn Rennecke <joern.rennecke@superh.com>
8162
8163 * c-common.c (c_common_type_for_mode): Add V2HImode case.
8164 * tree.c (build_common_tree_nodes_2): Initialize
8165 unsigned_V2HI_type_node and V2HI_type_node.
8166 * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
8167 (unsigned_V2HI_type_node, V2HI_type_node): Define.
8168
44c0bfa7 81692002-10-14 Jakub Jelinek <jakub@redhat.com>
8170
8171 * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
8172 Handle TARGET_64BIT.
8173
45de6029 81742002-10-14 Richard Sandiford <rsandifo@redhat.com>
8175
8176 * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
8177 * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
8178 (MULTILIB_DIRNAMES): Remove long32.
8179 (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
8180 (MULTILIB_REDUNDANT_DIRS): Remove.
8181
73023f49 81822002-10-14 Richard Sandiford <rsandifo@redhat.com>
8183
8184 * doc/tm.texi (DRIVER_SELF_SPECS): Document.
8185 * gcc.c (driver_self_specs): New variable.
8186 (do_self_spec): New function.
8187 (main): Use it to process driver_self_specs.
8188
35aae09b 81892002-10-13 Richard Henderson <rth@redhat.com>
8190
805e22b2 8191 * config/i386/i386.c (ix86_function_ok_for_sibcall): Reject
8192 indirect sibcalls when regparm >= 3.
8193
8194 * config/i386/i386.c (sibcall_insn_operand): New.
8195 * config/i386/i386.h (PREDICATE_CODES): Update.
8196 * config/i386/i386-protos.h: Update.
8197 * config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
8198
35aae09b 8199 * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
8200
805e22b2 82012002-10-12 Roger Sayle <roger@eyesopen.com>
8202
8203 * simplify-rtx.c (simplify_binary_operation) [ASHIFTRT]: Optimize
8204 arithmetic right shifts of ~0 during RTL simplifications.
8205
eb95e7f7 82062002-10-12 Neil Booth <neil@daikokuya.co.uk>
8207
8208 PR preprocessor/7862
8209 PR preprocessor/8190
8210 * gcc.c (cpp_unique_options): Don't delete .d files.
8211 Remove stray whitespace.
8212
9f280fe9 82132002-10-12 Naohiko Shimizu <pshimizu@fa2.so-net.ne.jp>
8214
8215 * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
8216 (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
8217 * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
8218 (pdp11_output_function_epilogue, output_ascii): Likewise.
8219 (output_addr_const_pdp11): Likewise.
8220 * pdp11.md (movdi): Use offsetable memory for floating store.
8221 (lshrsi3, negsi2): Delete irrelevant comment.
8222
805e22b2 82232002-10-11 Andreas Bauer <baueran@in.tum.de>
8224
8225 * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
8226 indirect calls to be sibcall optimized.
8227 * config/i386/i386.md (sibcall_1): New.
8228 (call_1): Add no-sibcalls condition.
8229 (sibcall_value_1): New.
8230 (call_value_1): Add no-sibcalls condition.
8231
82322002-10-11 Eric Christopher <echristo@redhat.com>
8233
8234 * output.h (default_valid_pointer_mode): Declare.
8235 * varasm.c (default_valid_pointer_mode): Define.
8236 * target-def.h (TARGET_VALID_POINTER_MODE): Use.
8237 * target.h: Ditto.
8238 * tree.c (build_pointer_type_for_mode): New function.
8239 (build_pointer_type): Use.
8240 (build_reference_type_for_mode): New function.
8241 (build_reference_type): Use.
8242 * tree.h: Declare new functions.
8243 * c-common.c (handle_mode_attribute): Use new functions, check
8244 for type.
8245 * stor-layout.c (layout_type): Depend on machine mode for
8246 REFERENCE_TYPE and POINTER_TYPE.
8247 * dwarf2out.c (simple_type_size_in_bits): Move upward in file.
8248 (modified_type_die): Use instead of PTR_SIZE for POINTER_TYPE
8249 and REFERENCE_TYPE.
8250 * config/mips/mips.c (mips_valid_pointer_mode): New function.
8251 (TARGET_VALID_POINTER_MODE): Use and define.
8252 * config/mips/mips-protos.h (mips_valid_pointer_mode): Declare.
8253
70e488ba 82542002-10-11 Geoffrey Keating <geoffk@apple.com>
8255
8256 * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
8257 not the address of the REG.
8258 (struct cse_reg_info): Make subreg_ticked unsigned.
8259
a8c3724f 82602002-10-11 Janis Johnson <janis187@us.ibm.com>
8261
8262 * doc/compat.texi: Add info about C++ libraries.
8263
aef680bd 82642002-10-11 Richard Henderson <rth@redhat.com>
8265
8266 PR opt/8165
8267 * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
8268
0b521355 82692002-10-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
8270
8271 * cfganal.c (dfs_enumerate_from): Use PARAMS.
8272 * genautomata.c (output_insn_code_cases): Likewise.
8273 * real.c (real_format): Likewise.
8274 * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
8275 ensure value is promoted before doing subtraction.
8276
0d86b7af 8277Fri Oct 11 22:22:38 CEST 2002 Jan Hubicka <jh@suse.cz>
8278
8279 * calls.c (expand_call): Simplify noreturn call.
8280
8281 PR c/7344
8282 * cfgbuild.c (make_edges): Create edge cache when we do have
8283 large jumptable.
71a455ac 8284 * expr.c (do_tablejump): Note size of maximal jumptable.
0d86b7af 8285 * function.c (prepare_function_start): Zero out size.
8286 * function.h (function): Add max_jumptable_ents.
8287
8288 * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
8289
070d8b24 8290Fri Oct 11 12:34:33 2002 J"orn Rennecke <joern.rennecke@superh.com>
8291
8292 * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
8293 register for mperm_w operation.
8294
752291c1 8295Fri Oct 11 10:56:17 2002 J"orn Rennecke <joern.rennecke@superh.com>
8296
8297 * emit-rtl.c (gen_lowpart_common): When asked to make a vector from
8298 an integer, use simplify_gen_subreg.
8299
805e22b2 83002002-10-10 Diego Novillo <dnovillo@redhat.com>
8301
8302 * calls.c (flags_from_decl_or_type): Make extern.
8303 (ECF_*): Move ...
8304 * rtl.h (ECF_*): ... here.
8305 (flags_from_decl_or_type): Declare.
8306
83072002-10-10 Roger Sayle <roger@eyesopen.com>
8308 Nathan Sidwell <nathan@codesourcery.com>
8309
8310 * fold-const.c (fold) [RSHIFT_EXPR]: Optimize arithmetic right
8311 shifts of the form -1 >> x.
8312
8313Thu Oct 10 16:52:55 CEST 2002 Jan Hubicka <jh@suse.cz>
8314
8315 * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
8316
355a3278 83172002-10-10 Aldy Hernandez <aldyh@redhat.com>
8318
8319 * extend.texi (Vector Extensions): Remove comment about single
8320 element vectors.
8321
957b210f 83222002-10-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8323
8324 * fold-const.c (size_htab_hash): Use htab_hash_pointer.
8325 * function.c (insns_for_mem_hash): Likewise.
8326 * varasm.c (STRHASH): Likewise.
8327
126fb012 83282002-10-10 Stuart Hastings <stuart@apple.com>
8329
8330 * cse.c (struct cse_reg_info): Add subreg_ticked.
8331 (SUBREG_TICKED): New.
8332 (get_cse_reg_info): Initialize SUBREG_TICKED.
8333 (mention_regs): Use it.
8334 (invalidate): Set SUBREG_TICKED.
8335 (invalidate_for_call): Likewise.
8336 (addr_affects_sp_p): Likewise.
8337
b5a99940 83382002-10-10 Jakub Jelinek <jakub@redhat.com>
8339
8340 * config/i386/i386.md (tls_local_dynamic_base): Put pic reg
8341 into proper operand.
8342
93576dcb 83432002-10-10 Denis Chertykov <denisc@overta.ru>
8344
8345 * config/ip2k/ip2k.c (function_epilogue): Optimize stack
8346 deallocation.
8347 * config/ip2k/libgcc.S: Combine routines used by function
8348 epilogue.
8349
7a4fa2a1 83502002-10-10 Jim Wilson <wilson@redhat.com>
8351
8352 * cse.c (fold_rtx): Don't perform associative optimization for DIV and
8353 UDIV.
8354
b1974978 83552002-10-10 David Edelsohn <edelsohn@gnu.org>
8356
8357 * config/rs6000/aix52.h: New file.
8358 * config/rs6000/t-aix52: New File.
8359 * config.gcc (rs6000-ibm-aix5.1.*): New entry.
8360 (rs6000-ibm-aix[56789].*): Default to AIX 5.2.
8361
7090444d 8362Thu Oct 10 19:37:54 CEST 2002 Jan Hubicka <jh@suse.cz>
8363
8364 PR target/5610
8365 * invoke.texi (-msse-math): Kill
8366 (-msse): Add note to mfpmath=sse.
8367
b854e413 8368Thu Oct 10 17:08:30 CEST 2002 Jan Hubicka <jh@suse.cz>
8369
8370 PR target/7723
8371 * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
8372
069496ba 83732002-10-10 Neil Booth <neil@daikokuya.co.uk>
8374
8375 PR preprocessor/8179
8376 * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
8377 as cc1_options.
8378 (default_compilers): Pass debug options when preprocessing
8379 stdin.
8380
296a2540 83812002-10-06 Richard Henderson <rth@redhat.com>
8382
8383 * toplev.c (rest_of_compilation): Revert opt/2960 change.
8384
805e22b2 8385Wed Oct 9 21:18:43 CEST 2002 Jan Hubicka <jh@suse.cz>
8386
8387 * i386.c (*_cost): Add branch costs.
8388 (override_options): set ix86_branch_cost.
8389 (ix86_expand_int_movcc): Use BRANCH_COST.
8390 * i386.h (costs): Add branch_cost.
8391
f6f89f14 83922002-10-09 Zack Weinberg <zack@codesourcery.com>
8393
8394 PR c/7353
8395 * c-decl.c (start_decl): Unconditionally issue error for
8396 'typedef foo = bar'.
8397 (finish_decl): Remove special case for TYPE_DECL with initializer.
8398
8399 * doc/extend.texi: Delete "Naming Types" section. Change all
8400 cross-references to that section to refer to "Typeof" instead.
8401 Add the useful safe-max()-macro example from "Naming Types" to
8402 "Typeof", rewritten using that extension. Add some compatibility
8403 notes to "Typeof."
8404
4b6dfc37 84052002-10-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8406
8407 * loop.c: Revert 2002-08-15 change.
8408 (LOOP_REGNO_NREGS): Ensure type is int.
8409
20c357cb 84102002-10-09 David Edelsohn <edelsohn@gnu.org>
8411
8412 * config/rs6000/rs6000.md (extenddftf2): Change to define_insn
8413 which copies first FPR and clears second.
8414 (extendsftf2): Same.
8415 (floatditf2): Fix typo.
8416 (floatsitf2): Same.
8417 (fix_trunctfdi2): Same.
8418 (fix_trunctfsi2): Same.
8419
aa77e59f 84202002-10-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8421
8422 * conflict.c (arc_hash): Change return type to hashval_t.
8423 * cselib.c (get_value_hash): Likewise.
8424 * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
8425 state_hash, automata_list_hash): Likewise.
8426 * read-rtl.c (def_hash): Likewise.
8427 * tree.c (type_hash_hash): Likewise.
8428
a2041fb6 84292002-10-08 Aldy Hernandez <aldyh@redhat.com>
8430
8431 * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
8432 prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
8433
bf154dd0 8434Wed Oct 9 15:54:49 2002 J"orn Rennecke <joern.rennecke@superh.com>
8435
8436 * sh.md (ffssi2): Fix emitted code.
8437
b50a7da2 84382002-10-09 Ulrich Weigand <uweigand@de.ibm.com>
8439
8440 * cse.c (insn_live_p): Pass insn pattern, not full insn
8441 to may_trap_p.
8442
bc5dbce5 84432002-10-09 Neil Booth <neil@daikokuya.co.uk>
8444
8445 * cppmacro.c (paste_tokens): Only allow / to paste with =.
8446
d4fad2f6 84472002-10-09 David Edelsohn <edelsohn@gnu.org>
8448
8449 * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
8450 64-bit hosts.
8451 (movtf_internal): Reference correct displacement for second value
8452 in memory.
8453 (movtf splitter): Correct generation of constants in 64-bit mode.
8454
f9c9dcd7 84552002-10-09 Alan Modra <amodra@bigpond.net.au>
8456
8457 * libgcc2.c (__floatdisf): Properly cure double rounding.
8458
2a37a85c 84592002-10-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
8460
8461 * c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
8462 * doc/cpp.texi (Common Predefined Macros): Document.
8463
3ba0e180 84642002-10-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
8465
8466 PR doc/7484
8467 * doc/invoke.texi (Option Summary): List
8468 -Wmissing-declarations as a C only option.
8469
805e22b2 84702002-10-08 Roger Sayle <roger@eyesopen.com>
8471
8472 * fold-const.c (fold) [LROTATE_EXPR, RROTATE_EXPR]: Optimize
8473 left and right rotates of ~0, i.e. integer_all_onesp (arg0).
8474 [LSHIFT_EXPR, RSHIFT_EXPR]: Optimize shifts and rotates of zero.
8475
8476Tue Oct 8 01:24:19 CEST 2002 Jan Hubicka <jh@suse.cz>
8477
8478 * i386.c (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
8479 x86_sse_typeless_stores, x86_sse_load0_by_pxor): New global
8480 variables.
8481 (safe_vector_operand): Update sse_clrv4sf call.
8482 (ix86_expand_buildin): Likewise
8483 * i386.h (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
8484 x86_sse_typeless_stores, x86_sse_load0_by_pxor): Declare.
8485 (TARGET_SSE_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REGS,
8486 TARGET_SSE_TYPELESS_STORES, TARGET_SSE_TYPELESS_LOAD0): New
8487 macros.
8488 * i386.md (movsf*, movdf*, movti, movv4sf, movv2df, movv16qi, movv8hi,
8489 movv4si): Obey the new flags.
8490 (floatsi2sf, floatdi2sf, truncatedf2sf): Emit extra load of 0 to avoid
8491 reformating penalty.
8492 (anddf, cmov patterns): Avoid reformating by first converting.
8493 (sse_cvtsd2ss): Fix predicate.
8494 (sse2_clrti): Fix mode,
8495 (sse_clrv4sf): Avoid unspec.
8496
4cf80c21 84972002-10-08 Jakub Jelinek <jakub@redhat.com>
8498
8499 * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
8500 mno-app-regs|mcmodel=medany.
8501 (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
8502 (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
8503 (CRTSTUFF_T_CFLAGS): Define.
8504
7603dbce 85052002-10-08 Roger Sayle <roger@eyesopen.com>
8506
8507 PR target/8087
8508 * simplify-rtx.c (avoid_constant_pool_reference): Allow constant
8509 pool references that are constructed using LO_SUM.
8510
812f3fa9 85112002-10-08 Nathan Sidwell <nathan@codesourcery.com>
8512
8513 * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
8514 -Wall.
8515 * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
8516 message.
8517 * flags.h (warn_strict_aliasing): Declare.
8518 * toplev.c (warn_strict_aliasing): Define.
8519 (lang_independent_options): Add it.
8520 * doc/invoke.texi (-Wstrict-aliasing): Document it.
8521
3076904b 85222002-10-08 Zack Weinberg <zack@codesourcery.com>
8523
8524 * system.h (GCCBUGURL): Delete.
8525 * version.c (bug_report_url): New. Add commentary about
8526 modifying both these strings in modified distributions.
8527 * version.h: Declare bug_report_url.
8528
8529 * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
8530 bug_report_url.
8531
94e84a90 85322002-10-08 Nick Clifton <nickc@redhat.com>
8533
8534 * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
8535 convert uint64_t into __ev64_opaque__.
8536 (__ev_set_acc_s64): Likewise, but using signed types.
8537
1150f6b0 85382002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
8539
8540 * config/s390/s390.md ("*doloop_si_long"): Add missing operand.
8541 ("*doloop_di_long"): Likewise.
8542
98367734 8543Tue Oct 8 16:50:10 CEST 2002 Jan Hubicka <jh@suse.cz>
8544
8545 * print-rtl.c (print_rtx): Increase buffer size for real numbers.
8546
a6e833d2 85472002-10-08 Richard Sandiford <rsandifo@redhat.com>
8548
8549 * config/mips/mips.md (define_attr cpu): Add r4111.
8550
3076904b 85512002-10-08 Anthony Green <green@redhat.com>
85ae753a 8552
3076904b 8553 * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
85ae753a 8554
86c48768 85552002-10-08 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
8556
8557 * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
8558 for REAL_VALUE_TO_DECIMAL output.
8559
805e22b2 85602002-10-07 Richard Henderson <rth@redhat.com>
8561
8562 * cse.c (fixed_base_plus_p): Turn FIXED_BASE_PLUS_P into a
8563 function; cleanup PLUS case by using recursion. Update all users.
8564 (NONZERO_BASE_PLUS_P): Remove.
8565 (find_comparison_args): Use rtx_addr_can_trap_p instead.
8566 (fold_rtx): Use nonzero_address_p.
8567 * rtl.h (nonzero_address_p): Declare.
8568 * rtlanal.c (rtx_varies_p): Handle ADDRESSOF.
8569 (rtx_addr_can_trap_p): Likewise.
8570 (nonzero_address_p): New.
8571 * simplify-rtx.c (NONZERO_BASE_PLUS_P): Remove.
8572 (simplify_relational_operation): Use nonzero_address_p.
8573
cf7d5bc7 85742002-10-07 David Edelsohn <edelsohn@gnu.org>
8575
8576 * config/rs6000/rs6000.c (rs6000_override_options): Set
8577 real_format_for_mode for IBM extended format, if enabled.
8578 (easy_fp_constant): Add TFmode.
8579 (rs6000_legitimize_address): Add TFmode.
8580 (rs6000_legitimate_address): Same.
8581 (function_arg_advance): TFmode uses two FPRs.
8582 (rs6000_emit_prologue): Fix warning.
8583 (rs6000_output_function_epilogue): Add TFmode.
8584 (output_toc): Add TFmode.
8585 * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
8586 (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
8587 * rs6000.md (movtf splitter): Load TFmode constant.
8588
d090276e 85892002-10-07 Dale Johannesen <dalej@apple.com>
cf7d5bc7 8590
d090276e 8591 * rtl.h: Add NOTE_PRECONDITIONED.
8592 * unroll.c: Set it.
8593 * loop.c: Set loop_info->preconditioned from it.
8594 * doloop.c: Permit doloop treatment when loop_info->preconditoned.
8595
935248ae 85962002-10-07 Richard Henderson <rth@redhat.com>
8597
8598 * config/i960/i960.c (i960_setup_incoming_varargs): Create a
8599 new rtx for comparing the argument pointer against zero.
8600 (i960_va_start): Similarly.
8601
ca74cc6b 86022002-10-07 Richard Henderson <rth@redhat.com>
8603
8604 * config/i960/i960.md (*): Use TFmode, not XFmode.
8605 * config/i960/i960.c (*): Likewise.
8606 (i960_arg_size_and_align): Remove XFmode alignment hack.
8607 (i960_round_align): Merge code from ROUND_TYPE_ALIGN.
8608 * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
8609 (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
8610 (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
8611
29de58e8 86122002-10-07 Richard Henderson <rth@redhat.com>
8613
8614 * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
8615 entry points; use void return value and argument list.
8616
805e22b2 86172002-10-06 Andreas Bauer <baueran@in.tum.de>
8618
8619 * calls.c (expand_call): Fix function-is-volatile check.
8620
dd28b138 86212002-10-05 Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
8622
8623 * t-pdp11: Add MULTILIB support for msoft-float.
8624 * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
8625
8626 * t-pdp11: Add LIB2FUNCS_EXTRA.
3076904b 8627 * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
dd28b138 8628 add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
8629 'fldd' to 'ldd', rename 'fstd' to 'std'.
8630 (pdp11_output_function_epilogue): Likewise.
8631 (output_move_quad): Make the comment gas compatible.
8632 (output_ascii): Add preceding 0 to the octal constant.
8633 (print_operand_address): Add pre_modify, post_modify.
8634 (output_addr_const_pdp11): Add preceding 0 to the octal constant.
8635 * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
3076904b 8636 with the indication of Paul Koning.
dd28b138 8637 (PRINT_OPERAND): Fix floating constant.
8638 * pdp11.md (movdi): Restrict matching pattern.
8639 (movqi): Generalize the matching pattern.
8640 (movdf): Restrict matching pattern.
8641 (zero_extendqihi2): Change constant representation.
8642 (floatsidf2): Fix wrong operands.
8643 (addqi3): Fix wrong instruction name.
8644 (subqi3): Fix wrong instruction name.
8645 (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
8646 (xorsi3): Fix wrong insn.
8647 (one_cmplqi2): Add two operand pattern.
8648 (lsrsi3): New.
8649 (negsi2): New.
8650 (call): Add register indirect case.
8651 (mod): Fix wrong subreg.
8652
84111c28 86532002-10-06 Eric Botcazou <ebotcazou@libertysurf.fr>
3076904b 8654 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
a60e4107 8655
8656 PR c/7411
8657 * expr.c (expand_expr) [PLUS]: Simplify after the operands
8658 have been expanded in EXPAND_NORMAL mode.
8659
aaad55a5 86602002-10-06 Richard Henderson <rth@redhat.com>
8661
8662 * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
8663
507fe0c0 86642002-10-06 Richard Henderson <rth@redhat.com>
8665
8666 PR optimization/2960
8667 * toplev.c (rest_of_compilation): Don't copy_loop_headers if
8668 optimize_size.
8669
bae58a4d 86702002-10-06 Alexandre Oliva <aoliva@redhat.com>
8671
8672 * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
8673 previously definitions.
8674
80b85d1c 86752002-10-06 Frank Ch. Eigler <fche@redhat.com>
8676
8677 * cppinit.c (init_standard_includes, parse_option): Use strncmp.
8678 * c-opts.c (find_opt): Similarly.
8679
805e22b2 8680Sat Oct 5 22:48:06 CEST 2002 Jan Hubicka <jh@suse.cz>
8681
8682 * athlon.md: rewrite to DFA.
8683 * i386 (ix86_adjust_cost): Drop memory latency code.
8684 (ia32_use_dfa_pipeline_interface): Return true for Athlon.
8685
a2770a85 86862002-10-05 Jakub Jelinek <jakub@redhat.com>
8687
8688 * gcc.c (set_multilib_dir): Don't access *end.
8689 Use memcpy instead of strncpy. Don't write beyond malloced buffer.
8690 (print_multilib_info): Don't show paths starting with ".:".
8691 * genmultilib: Add new option, "yes" if multilibs are enabled.
8692 Update comments. If multilibs not enabled, print .:${osdirout}
8693 for each directory. If multilibs are enabled, always print
8694 ${dirout}:${osdirout}, even if the two are the same.
8695 * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
8696 Pass all MULTILIB_* variables to genmultilib even if
8697 --disable-multilib but MULTILIB_OSDIRNAMES is not empty.
8698
805e22b2 86992002-10-04 Zack Weinberg <zack@codesourcery.com>
8700
8701 * gcc.c (process_command): Set .validated for -pipe. Correct
8702 grammar in comment.
8703
4842028b 87042002-10-04 Bruce Korb <bkorb@gnu.org>
8705
8706 * fixinc/inclhack.def(hpux11_abs): use format fix
8707 * fixinc/fixincl.x: regenerate
8708 * fixinc/tests/base/stdlib.h: accommodate new fix test
8709
1e583ea6 8710Sat Oct 5 19:42:45 CEST 2002 Jan Hubicka <jh@suse.cz>
8711
8712 * c-common.c (cb_register_builtins): Use really_no_inline.
8713
6d470b77 87142002-10-04 David Edelsohn <edelsohn@gnu.org>
8715
8716 * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
8717 copied instruction if the note is not loop invariant.
8718
733997eb 87192002-10-04 Loren J. Rittle <ljrittle@acm.org>
8720
8721 * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
8722
2f74d02f 87232002-10-04 Steve Ellcey <sje@cup.hp.com>
8724
8725 * doc/invoke.texi (HPPA): Add -mlinker-opt, -mgnu-ld,
8726 and -mhp-ld options to list of options. Add -mgnu-ld
8727 and -mhp-ld option descriptions.
8728
b93c3ed1 87292002-10-04 Steve Ellcey <sje@cup.hp.com>
8730
8731 * fixinc/inclhack.def (hpux11_abs): New.
8732 (stdio_va_list): change __va_list__ to __gnuc_va_list.
8733 * fixinc/fixincl.x: Rebuild.
8734
b80ce4a8 87352002-10-04 Roger Sayle <roger@eyesopen.com>
8736
8737 * config/i386/i386.h (processor_costs): Add new fields fadd,
8738 fmul, fdiv, fabs, fchs and fsqrt to costs structure.
8739 (RTX_COSTS): Use these fields to determine the RTX costs
8740 of floating point addition/subtraction, multiplication,
8741 division, fabs, negation and square root respectively.
8742 * config/i386/i386.c (size_cost): Provide instruction sizes
8743 for these new fields.
8744 (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
8745 k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
8746 counts for these new fields for all x86 processor variants.
8747
b08dd471 87482002-10-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8749
14347f6d 8750 * mips.c (mips_const_double_ok): Delete unused variable.
8751
b08dd471 8752 * gengtype.c (rtx_next): Change type to int.
8753
53a5aace 87542002-10-04 Andreas Jaeger <aj@suse.de>
8755
8756 * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
8757
a510ce10 87582002-10-04 Richard Henderson <rth@redhat.com>
8759
8760 * real.h (SIGNIFICAND_BITS): Add one more word.
8761 (CONST_DOUBLE_FORMAT): Accomodate 6 words.
8762 * real.c (times_pten): New.
8763 (real_to_decimal, real_from_string): Use it.
8764 (sticky_rshift_significand): Use & to find modulus.
8765 (rshift_significand, lshift_significand): Likewise.
8766 (do_divide): Apply sticky bit after normalization.
8767 (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
8768
805e22b2 87692002-10-03 Andreas Bauer <baueran@in.tum.de>
8770
8771 * doc/tm.texi (FUNCTION_OK_FOR_SIBCALL): Remove.
8772 (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
8773
e72117bc 87742002-10-03 Andreas Jaeger <aj@suse.de>
8775
8776 * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
8777 to unsigned long, adjust printf format string.
8778 (output_mangled_typename): Likewise.
8779
649ecb2c 87802002-10-03 Jason Thorpe <thorpej@wasabisystems.com>
8781
8782 * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
8783 * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
8784 (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
8785 assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
8786 (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
8787 (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
8788 * config/vax/elf.h (FUNCTION_PROFILER): Remove.
8789 (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
8790
18f2b9d5 87912002-10-03 Mark Mitchell <mark@codesourcery.com>
8792
8793 * doc/invoke.texi (-Wabi): Document mangling bug.
8794
3d033361 87952002-10-04 Alan Modra <amodra@bigpond.net.au>
8796
8797 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
8798 name for the tbtab label that depends on the function asm name.
8799 Don't output tbtab label unless optional_tbtab.
8800 (output_mi_thunk): Formatting.
8801
18fce2f0 88022002-10-03 Richard Henderson <rth@redhat.com>
8803
8804 * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
8805 * config/m68k/m68k.c (override_options): ... here.
8806 * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
8807 * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
8808 * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
8809 * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
8810
139b2431 88112002-10-03 Richard Henderson <rth@redhat.com>
8812
8813 * real.h (struct real_value): Use ENUM_BITFIELD.
8814
435f92c1 88152002-10-03 Richard Henderson <rth@redhat.com>
8816
8817 * config/i960/i960.md (call, call_value): Use emit_call_insn.
8818
c4ee3071 88192002-10-03 Steve Ellcey <sje@cup.hp.com>
8820
8821 * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
8822
b166f502 88232002-10-03 Steve Ellcey <sje@cup.hp.com>
8824
8825 * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
8826 * config/pa/pa.h (MASK_GNU_LD): New.
8827 (TARGET_GNU_LD): New.
e72117bc 8828 * config/pa/pa64-hpux.h (LINK_SPEC): Set based
b166f502 8829 on gnu-ld and MASK_GNU_LD.
8830 (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
8831
60e73560 8832Thu Oct 3 23:35:51 CEST 2002 Jan Hubicka <jh@suse.cz>
8833
8834 * i386.c (athlon_cost): Fix the move costs.
8835
254f2220 8836Thu Oct 3 23:20:58 CEST 2002 Jan Hubicka <jh@suse.cz>
8837
8838 * final.c (final): Use symbol name as function name for profiling.
8839 * profile.c (get_exec_counts): Likewise.
8840 (branch_prob): Likewise.
8841
cf85eb57 88422002-10-03 Jakub Jelinek <jakub@redhat.com>
8843
8844 * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
8845
c954ff02 88462002-10-03 Jakub Jelinek <jakub@redhat.com>
8847
8848 * gcc.c (print_multi_os_directory): New variable.
8849 (option_map): Support --print-multi-os-directory.
8850 (struct prefix_list): Add os_multilib field.
8851 (multilib_os_dir): New variable.
8852 (static_specs): Add multilib_options.
8853 (find_a_file): Add multilib argument. Search in GCC or OS multilib
a8b24921 8854 subdirs if nonzero.
c954ff02 8855 (read_specs, execute): Update callers.
8856 (find_file): Likewise. Don't prefix name with multilib_dir, instead
8857 pass 1 as multilib option.
8858 (display_help): Include --print-multi-os-directory.
8859 (add_prefix): Add os_multilib argument. Initialize pl->os_multilib.
8860 (process_command): Update callers. Handle --print-multi-os-directory.
8861 (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
8862 set.
8863 (main): Update find_a_file and add_prefix callers.
8864 Handle print_multi_os_directory.
8865 (struct mdswitchstr): New.
8866 (mdswitches, n_mdswitches): New variables.
8867 (used_arg): Add MULTILIB_DEFAULT switches too if they are not
8868 present on the command line nor their mutually incompatible
8869 switches.
8870 (default_arg): Optimize.
8871 (set_multilib_dir): Compute multilib_os_dir. Initialize mdswitches
8872 array.
8873 (print_multilib_info): Only print GCC multilib dir name, not OS
8874 multilib dirname.
8875 * genmultilib: Add osdirnames parameter. Output multilib_options
8876 variable. If osdirnames is specified, output dirnames as
8877 dirname:osdirname.
8878 * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
8879 and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
8880 to compute libgcc_s soname and install path.
8881 * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
8882 SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
8883 (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
8884 argument.
8885
8886 * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
8887 (SHLIB_SLIBDIR_SUFFIXES): Remove.
8888 * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
8889 ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
8890 (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
8891 and -m64.
8892 * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
8893 (SHLIB_SLIBDIR_SUFFIXES): Remove.
8894 * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
8895 (STARTFILE_ARCH_SPEC): Remove.
8896 * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
8897 (SHLIB_SLIBDIR_SUFFIXES): Remove.
8898 * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
8899 * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
8900 (SHLIB_SLIBDIR_SUFFIXES): Remove.
8901
bc0c486d 8902Thu Oct 3 21:42:20 CEST 2002 Jan Hubicka <jh@suse.cz>
8903
8904 * predict.c (choose_function_section): Avoid choice for linkonce functions.
8905
11ebbb25 8906Thu Oct 3 15:15:00 CEST 2002 Jan Hubicka <jh@suse.cz>
8907
8908 * i386.md (lea to mul peep2): Fix condition.
e72117bc 8909
e7c894b6 89102002-10-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
8911
8912 * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
8913 * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
8914
805e22b2 89152002-10-02 David Mosberger-Tang <David.Mosberger@acm.org>
8916
8917 * unwind.h (_Unwind_GetTextRelBase): Mark _C argument with
8918 attribute "unused".
8919
8920 * config/t-libunwind: Mention unwind-sjlj.c.
8921 * unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__
8922 to #ifndef __USING_SJLJ_EXCEPTIONS__.
8923
8924 * configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions
8925 before inclusion of config.gcc, but after configuring the compiler etc.
8926 Determine default value for --enable-libunwind-exceptions based on
8927 whether the host has a libunwind library (not guaranteed to be correct,
8928 but it's a reasonable first guess and can always be overridden with an
8929 explicit --enable/disable-libunwind-exceptions.
8930 * config.gcc: For target ia64*-*-linux*, mention t-libunwind as a
8931 tmake_file when $use_libunwind_exceptions is enabled.
8932 * Makefile.in: Update comment: LIB2ADDEH is updated not just by
8933 ia64 (e.g., config/t-linux also updates it).
8934 * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind
8935 along with the shared version of libgcc since the latter requires
8936 the former.
8937 * unwind-libunwind.c: New file.
8938 * config/t-libunwind: Ditto.
8939
89402002-10-02 Nathanael Nerode <neroden@gcc.gnu.org>
8941
8942 * config.gcc: Remove support for vax-*-vms*.
8943 * config/vax/vms.h: Remove.
8944 * config/vax/xm-vms.h: Remove.
8945 * config/vax/vax-protos.h: Remove VMS-specific code.
8946 * config/vax/vax.c: Remove VMS-specific code.
8947
e0bdd4e0 89482002-10-02 Richard Henderson <rth@redhat.com>
8949
8950 PR opt/7124
8951 * config/i386/i386.c (ix86_register_move_cost): Increase cost
8952 for secondary_memory_needed pairs.
8953
daacd388 89542002-10-02 Nathanael Nerode <neroden@gcc.gnu.org>
8955
8956 * doc/vms.texi: Blow away false include file section.
8957
fc5cb4c0 89582002-10-02 Roger Sayle <roger@eyesopen.com>
8959
8960 PR optimization/6627
8961 * toplev.c (force_align_functions_log): New global variable.
8962 * flags.h (force_align_functions_log): Add extern prototype.
8963 * varasm.c (assemble_start_function): Use it to force minimum
8964 function alignment.
8965 * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
8966 minimum function alignment to one byte.
8967 (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
8968 the least significant bit of vtable member function pointers.
8969 * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
8970 here from cp/cp-tree.h.
8971
948838e0 8972Wed Oct 2 17:01:36 CEST 2002 Jan Hubicka <jh@suse.cz>
8973
8974 * i386.c (print_operand_address): Use RIP addressing for offsetted
8975 label refs too.
8976
9251aedd 89772002-09-30 David S. Miller <davem@redhat.com>
8978
8979 PR middle-end/7151
8980 * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
8981 (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
8982
805e22b2 89832002-10-01 Andreas Bauer <baueran@in.tum.de>
8984
8985 * calls.c (expand_call): Remove the `no indirect check'
8986 for sibcall optimization; use function_ok_for_sibcall
8987 target hook; refine check for `function is volatile'.
8988 (FUNCTION_OK_FOR_SIBCALL): Remove the redefinition.
8989 * hooks.c (hook_tree_tree_bool_false): New.
8990 * hooks.h (hook_tree_tree_bool_false): Declare.
8991 * target-def.h (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
8992 (TARGET_INITIALIZER): Add it.
8993 * target.h (struct gcc_target): Add function_ok_for_sibcall.
8994 * config/alpha/alpha.c: (alpha_function_ok_for_sibcall): New.
8995 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8996 * config/alpha/alpha.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8997 * config/arm/arm-protos.h: (arm_function_ok_for_sibcall):
8998 Remove function declaration.
8999 * config/arm/arm.c: (arm_function_ok_for_sibcall): Make
9000 function static and accept another argument of type `tree'.
9001 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
9002 * config/arm/arm.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
9003 * config/frv/frv.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
9004 * config/i386/i386.c: (ix86_function_ok_for_sibcall): New.
9005 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
9006 * config/i386/i386.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
9007 * config/pa/pa-linux.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
9008 (TARGET_HAS_STUBS_AND_ELF_SECTIONS): New definition.
9009 * config/pa/pa.c: (pa_function_ok_for_sibcall): New.
9010 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
9011 * config/pa/pa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
9012 * config/rs6000/rs6000-protos.h: (function_ok_for_sibcall):
9013 Remove function declaration.
9014 * config/rs6000/rs6000.c: (rs6000_function_ok_for_sibcall):
9015 Rename function_ok_for_sibcall to rs6000_function_ok_for_sibcall;
9016 rename first argument to `decl'; accept another argument
9017 of type `tree'; make static.
9018 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
9019 * config/rs6000/rs6000.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
9020 * config/sh/sh.c: (sh_function_ok_for_sibcall): New.
9021 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
9022 * config/sh/sh.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
9023 * config/sparc/sparc.c: (sparc_function_ok_for_sibcall): New.
9024 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
9025 * config/sparc/sparc.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
9026 * config/xtensa/xtensa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
9027
603590db 90282002-10-01 Roger Sayle <roger@eyesopen.com>
9029
9030 * unroll.c (loop_iterations): Revert 2002-09-08 change.
9031
76834cda 90322002-10-01 Richard Henderson <rth@redhat.com>
9033
9034 * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
9035 (real_to_hexadecimal): Likewise.
9036 * print-rtl.c (print_rtx): If we are linked with real.c, don't
9037 dump the XWINT fields of a floating point CONST_DOUBLE.
9038
7873d7bc 90392002-10-01 Jason Thorpe <thorpej@wasabisystems.com>
9040
9041 * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
9042
e80b4463 90432002-10-01 Richard Henderson <rth@redhat.com>
9044
9045 * calls.c (precompute_register_parameters): Force non-legitimate
9046 constants into pseudos.
9047
aa2b72ba 90482002-10-01 Nick Clifton <nickc@redhat.com>
9049
9050 * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
9051 to assembler template.
9052
55bceb41 90532002-10-01 Richard Henderson <rth@redhat.com>
9054
9055 * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
9056 for TLS debug info to !DECL_EXTERNAL.
9057
83accbc0 90582002-10-01 Matt Thomas <matt@3am-software.com>
a510ce10 9059 Jason Thorpe <thorpej@wasabisystems.com>
83accbc0 9060
9061 * config.gcc (vax-*-netbsdelf*): Enable configuration.
e72117bc 9062 * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
83accbc0 9063 if not already defined.
9064 * config/vax/elf.h: New file.
9065 * config/vax/netbsd-elf.h: New file.
9066 * config/vax/vax.c: Include "debug.h".
9067 (vax_output_function_prologue): Add dwarf2 support. Use
9068 MAIN_NAME_P when checking for VMS_TARGET stack adjust.
9069 * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
9070 'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
9071 'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
9072 (VAX_ISTREAM_SYNC): Remove.
9073 (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
9074 (JUMP_TABLES_IN_TEXT_SECTION): Define.
9075 (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
9076 (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
9077 and assemble_name.
9078 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
9079 (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
9080 (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
9081 (INCOMING_RETURN_ADDR_RTX): Define.
9082 * config/vax/vax.md (VUNSPEC_BLOCKAGE)
9083 (VUNSPEC_SYNC_ISTREAM): Define.
9084 (blockage): Use VUNSPEC_BLOCKAGE.
9085 (sync_istream): New insn.
9086
90872002-10-01 Richard Henderson <rth@redhat.com>
9088
9089 * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
9090 (*call_value_pop, call, call_value): Add dwarf2 EH support.
9091 (*call): New insn.
9092
d8de93cb 90932002-10-01 Nathan Sidwell <nathan@codesourcery.com>
9094
9095 PR c/8083
9096 * c-typeck.c (build_c_cast): Warn about type punning which breaks
9097 type based aliasing.
9098
4b387c35 90992002-10-01 Mark Mitchell <mark@codesourcery.com>
9100
9101 * stor-layout.c (update_alignment_for_field): New function.
9102 (place_union_field): Use it.
9103 (place_field): Likewise.
e72117bc 9104
30f45429 91052002-10-01 Nathan Sidwell <nathan@codesourcery.com>
9106
d8de93cb 9107 PR other/8077
30f45429 9108 * gcc.c (cc1_options): Add space on -auxbase-strip.
9109
e20643fa 91102002-10-01 Jim Wilson <wilson@redhat.com>
9111
9112 * config/v850/v850.h (EPILOGUE_USES): Define.
9113
8ca56a3b 91142002-09-30 Andrew Haley <aph@redhat.com>
9115
e72117bc 9116 * flow.c (insn_dead_p): When using non-call-exceptions, don't
8ca56a3b 9117 eliminate insns that may trap.
9118 * cse.c (insn_live_p): Likewise.
9119
e3759132 91202002-10-01 Richard Sandiford <rsandifo@redhat.com>
9121
9122 * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
9123 (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
9124 * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
9125 * config/mips/mips.md: Apply same renaming here.
9126
c1e7a89c 91272002-10-01 Richard Sandiford <rsandifo@redhat.com>
9128
9129 * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
9130 (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
9131 * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
9132 * config/mips/mips.md (define_attr cpu): Remove r4320.
9133 Remove vr4320 scheduler and uses of TARGET_MIPS4320.
9134
d0d52766 91352002-10-01 Richard Sandiford <rsandifo@redhat.com>
9136
9137 * config/mips/mips.c (mips16_strings): New variable.
9138 (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
9139 symbol in mips16_strings. Free the list.
9140 (mips_encode_section_info): Keep track of local strings.
9141
dd21b5c3 91422002-10-01 Richard Sandiford <rsandifo@redhat.com>
9143
9144 * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
9145 (sordered_df, sordered_sf): Remove.
9146 * config/mips/mips.c (get_float_compare_codes): New fn.
9147 (gen_int_relational, gen_conditional_move): Use it.
9148
95590335 91492002-10-01 Richard Sandiford <rsandifo@redhat.com>
9150
9151 * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
9152 * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
9153 * config/mips/mips.c (fcc_register_operand): New function.
9154 (mips_emit_fcc_reload): New function, extracted from reload_incc.
9155 (override_options): Allow TFmode values in float registers
9156 if ISA_HAS_8CC.
9157 * cnfig/mips/mips.md (reload_incc): Change destination prediate
9158 to fcc_register_operand. Remove misleading source constraint.
9159 Use mips_emit_fcc_reload.
9160 (reload_outcc): Duplicate reload_incc.
9161
805e22b2 91622002-09-30 Zack Weinberg <zack@codesourcery.com>
9163
9164 * gcc.c (validate_switches): Handle all new forms of spec
9165 syntax introduced recently. Now returns a char *.
9166 (validate_all_switches): Repetitive logic broken out to...
9167 (validate_switches_from_spec): ...here.
9168 * mklibgcc.in: Don't @-flag commands to generate .oS files.
9169
ca1d7127 91702002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
9171
9172 * longlong.h: Partially synchronize with GMP-4.1 version:
9173 Use i370 definitions also for s390.
9174 Add generic definition of umul_ppmm in terms of smul_ppmm.
9175 [s390] (umul_ppmm): Remove.
9176 [s390] (smul_ppmm): Fix incorrect assembler constraints.
9177 [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
9178
a8332086 91792002-09-30 Bob Wilson <bob.wilson@acm.org>
9180
9181 * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
9182 Add new RL_REGS register class.
9183 (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
a510ce10 9184 Call xtensa_preferred_reload_class for both input and output reloads.
a8332086 9185 * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
9186 (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
9187 instead of either AR_REGS or GR_REGS classes.
9188 (xtensa_secondary_reload_class): Use new RL_REGS class.
9189 * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
9190
c0264367 91912002-09-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
9192
9193 * pa.c (hppa_encode_label): Don't drop '*' from function labels.
9194 (pa_strip_name_encoding): Strip '@' and '*', in that order.
9195 * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
9196 there is a '*' prefix in NAME.
9197
b627bae7 9198Mon Sep 30 21:33:23 CEST 2002 Jan Hubicka <jh@suse.cz>
9199
9200 * reload.c (push_reload): Handle subregs and secondary memory.
9201 * reload1.c (gen_reload): Likewise.
9202
9203 * jump.c (reg_or_subregno): New function.
9204 * rtl.h (reg_or_subregno): Declare
9205 * unroll.c (find_splittable_givs): Handle subregs.
9206
23ed74d8 92072002-09-30 Mark Mitchell <mark@codesourcery.com>
9208
9209 * store-layout.c (finish_record_layout): Add free_p parameter.
9210 (layout_type): Pass it.
9211 * tree.h (finish_record_layout): Update prototype.
d4daba21 9212
7832abdc 9213Mon Sep 30 14:57:18 CEST 2002 Jan Hubicka <jh@suse.cz>
9214
9215 * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
9216
9217 * gcse.c (cprop_jump): Check that the register has not
9218 been modified
9219 (cprop_jump): Likewise.
9220
989e69d7 92212002-09-30 Richard Earnshaw <rearnsha@arm.com>
9222
9223 * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
9224 (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
9225 that we have a SImode access, and only then if reload hasn't completed;
9226 for all other cases, use LO_REGS.
9227
805e22b2 92282002-09-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9229
9230 * openbsd.h: Fix typo in last change.
9231
a730f650 92322002-09-29 Richard Henderson <rth@redhat.com>
9233
9234 * real.c (real_from_string): Apply sign last. Tidy exponent handling.
9235
62f6cb56 92362002-09-29 Richard Henderson <rth@redhat.com>
9237
2b9b5c6f 9238 PR c/8002
62f6cb56 9239 * combine.c (force_to_mode): Handle FLOAT_MODE destinations
9240 for CONST_INT.
9241
44f01009 92422002-09-29 David Edelsohn <edelsohn@gnu.org>
9243
9244 * real.h (ibm_extended_format): Declare.
9245 * real.c (encode_ibm_extended, decode_ibm_extended): New
9246 functions.
9247
46a2bcba 92482002-09-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9249
9250 * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
9251
9252 * ia64.c (ia64_hpux_asm_file_end): Const-ify.
9253
804e9c91 92542002-09-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
9255
9256 * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
9257
9cb8e99f 92582002-09-29 Kazu Hirata <kazu@cs.umass.edu>
9259
9260 * builtins.def: Fix comment formatting.
9261 * c-common.def: Likewise.
9262 * cfgcleanup.c: Likewise.
9263 * combine.c: Likewise.
9264 * gengtype.c: Likewise.
9265 * params.def: Likewise.
9266 * predict.def: Likewise.
9267 * rtl.def: Likewise.
9268 * stab.def: Likewise.
9269 * stor-layout.c: Likewise.
9270 * tree.def: Likewise.
9271 * config/darwin.c: Likewise.
9272 * config/darwin.h: Likewise.
9273 * config/dbxcoff.h: Likewise.
9274 * config/elfos.h: Likewise.
9275 * config/fp-bit.c: Likewise.
9276 * config/freebsd-spec.h: Likewise.
9277 * config/interix.h: Likewise.
9278 * config/libgloss.h: Likewise.
9279 * config/linux-aout.h: Likewise.
9280 * config/linux.h: Likewise.
9281 * config/lynx-ng.h: Likewise.
9282 * config/lynx.h: Likewise.
9283 * config/netbsd-aout.h: Likewise.
9284 * config/netbsd.h: Likewise.
9285 * config/netware.h: Likewise.
9286 * config/psos.h: Likewise.
9287 * config/ptx4.h: Likewise.
9288
28c2d844 92892002-09-28 Kazu Hirata <kazu@cs.umass.edu>
9290
9291 * ChangeLog.4: Fix typos.
9292 * ChangeLog.6: Likewise.
9293 * FSFChangeLog.10: Likewise.
9294 * genattrtab.c: Fix comment typos.
9295 * haifa-sched.c: Likewise.
9296 * real.c: Likewise.
9297 * tree.h: Likewise.
9298 * config/arm/arm.c: Likewise.
9299 * config/arm/crti.asm: Likewise.
9300 * config/arm/crtn.asm: Likewise.
9301 * config/frv/frv.c: Likewise.
9302 * config/frv/frv.md: Likewise.
9303 * config/h8300/h8300.md: Likewise.
9304 * config/i386/rtemself.h: Likewise.
9305 * config/ia64/unwind-ia64.c: Likewise.
9306 * config/ip2k/ip2k.h: Likewise.
9307 * config/m88k/m88k.c: Likewise.
9308 * config/m88k/m88k.md: Likewise.
9309 * config/mips/sr71k.md: Likewise.
9310 * config/mmix/mmix.c: Likewise.
9311 * config/rs6000/rs6000.c: Likewise.
9312 * config/sh/sh.md: Likewise.
9313
31bf8549 93142002-09-26 Theodore A. Roth <troth@verinet.com>
9315
d4daba21 9316 * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
9317 * config/avr/avr.md: Ditto.
31bf8549 9318
a54130fb 93192002-09-27 Alexander N. Kabaev <ak03@gte.com>
9320
9321 PR preprocessor/8055
9322 * cppmacro.c (stringify_arg): Do not overflow the buffer
9323 with the terminating NUL when the argument to be stringified
9324 has no tokens.
9325
fff101de 93262002-09-27 Richard Henderson <rth@redhat.com>
9327
9328 * unroll.c (simplify_cmp_and_jump_insns): New.
9329 (unroll_loop): Use it. Use simplify_gen_foo+force_operand
9330 instead of expand_simple_foo.
9331
d2b033bb 93322002-09-27 Richard Henderson <rth@redhat.com>
9333
9334 PR optimization/7520
9335 * cfganal.c (flow_active_insn_p): New.
9336 (forwarder_block_p): Use it.
9337
3a66feab 93382002-09-27 Richard Henderson <rth@redhat.com>
9339
9340 * emit-rtl.c (active_insn_p): Revert last change.
9341
24dfead4 93422002-09-27 Jakub Jelinek <jakub@redhat.com>
9343
9344 * doc/extend.texi (tls_model): Document.
9345 * varasm.c (decl_tls_model): New.
9346 * c-common.c (handle_tls_model_attribute): New.
9347 (c_common_attribute_table): Add tls_model.
9348 * config/alpha/alpha.c (alpha_encode_section_info): Use
9349 decl_tls_model.
9350 * flags.h (enum tls_model, flag_tls_default): Move...
9351 * tree.h (enum tls_model, flag_tls_default): ...here.
9352 (decl_tls_model): New prototype.
9353 * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
9354 * config/i386/i386.c (ix86_encode_section_info): Likewise.
9355 * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
9356 Allow !flag_pic.
9357
f712a0dc 93582002-09-27 Kazu Hirata <kazu@cs.umass.edu>
9359
9360 * LANGUAGES: Follow spelling conventions.
9361 * rtl.def: Likewise.
9362 * sbitmap.c: Likewise.
9363 * sched-int.h: Likewise.
9364 * sched-rgn.c: Likewise.
9365 * sibcall.c: Likewise.
9366 * simplify-rtx.c: Likewise.
9367 * ssa.c: Likewise.
9368 * stab.def: Likewise.
9369 * stmt.c: Likewise.
9370 * stor-layout.c: Likewise.
9371 * target.h: Likewise.
9372 * timevar.c: Likewise.
9373 * toplev.c: Likewise.
9374 * tree-dump.c: Likewise.
9375 * tree-inline.c: Likewise.
9376 * tree.c: Likewise.
9377 * tree.def: Likewise.
9378 * tree.h: Likewise.
9379 * unroll.c: Likewise.
9380 * varasm.c: Likewise.
9381 * vmsdbgout.c: Likewise.
9382 * treelang/treelang.texi: Likewise.
9383 * treelang/treetree.c: Likewise.
9384
5d822c00 93852002-09-27 Kazu Hirata <kazu@cs.umass.edu>
9386
9387 * config/h8300/h8300.c (compute_saved_regs): Use a macro
9388 instead of a hard register number.
9389 (get_shift_alg): Use an enumerated type instead of numbers.
9390 (h8300_shift_needs_scratch_p): Likewise.
9391
805e22b2 93922002-09-26 Kazu Hirata <kazu@cs.umass.edu>
9393
9394 * varasm.c (force_data_section): Remove.
9395 (assemble_constant_align): Likewise.
9396 * output.h: Remove corresponding prototypes.
9397
93982002-09-26 Roger Sayle <roger@eyesopen.com>
9399
9400 * stmt.c (expand_exit_loop_if_false): Expand a simple conditional
9401 jump, if the loop to exit is the top of the current nesting stack.
9402
94032002-09-26 Torbjorn Granlund <tege@swox.com>
9404
9405 * libgcc2.c (fixunsdfdi, fixunssfdi): Rewrite, avoiding `long long'
9406 arithmetic.
9407
5096b8b0 94082002-09-26 David S. Miller <davem@redhat.com>
9409
9410 PR optimization/7335
9411 * calls.c (emit_library_call_value_1): Passing args by reference
9412 converts a CONST function into a PURE one.
9413
5ffa81d9 94142002-09-26 David Edelsohn <edelsohn@gnu.org>
9415
9416 * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
9417 text_section.
a54130fb 9418 * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
5ffa81d9 9419 text section.
9420 * config/rs6000/rs6000.c (rs6000_override_options): Allow
9421 function-sections and data-sections functionality on AIX.
9422
94232002-09-26 David Edelsohn <edelsohn@gnu.org>
9424 Dale Johannesen <dalej@apple.com>
9425
9426 * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
9427 in RTL for sub-word loads from memory.
9428
a35ad173 94292002-09-26 Richard Henderson <rth@redhat.com>
9430
9431 PR c/7160
9432 * sched-deps.c (sched_analyze_insn): Make clobber insns depend
9433 on call insns.
9434
e6976944 94352002-09-26 Richard Henderson <rth@redhat.com>
9436
9437 * emit-rtl.c (const_double_htab_eq): Remove unused variable.
9438
146167a0 94392002-09-26 Chris Lattner <sabre@nondot.org>
9440
9441 * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
9442 handling undefined values.
9443
7c1224f0 94442002-09-26 Richard Henderson <rth@redhat.com>
9445
7d21f547 9446 PR opt/7520
7c1224f0 9447 * emit-rtl.c (active_insn_p): Consider a clobber of the
9448 function return value to be active even after reload.
9449
ea29abb4 94502002-09-27 Alan Modra <amodra@bigpond.net.au>
9451
9452 * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
9453 by absolute loop increment, not loop increment.
9454
7fd957fe 94552002-09-26 Kazu Hirata <kazu@cs.umass.edu>
9456
9457 * c-common.h: Follow spelling conventions.
9458 * cpplex.c: Likewise.
9459 * cpplib.h: Likewise.
9460 * gthr-dce.h: Likewise.
9461 * gthr-posix.h: Likewise.
9462 * optabs.c: Likewise.
9463 * output.h: Likewise.
9464 * profile.c: Likewise.
9465 * protoize.c: Likewise.
9466 * ra-rewrite.c: Likewise.
9467 * real.c: Likewise.
9468 * recog.c: Likewise.
9469 * reg-stack.c: Likewise.
9470 * regclass.c: Likewise.
9471 * regmove.c: Likewise.
9472 * reload.c: Likewise.
9473 * reload.h: Likewise.
9474 * reload1.c: Likewise.
9475 * reorg.c: Likewise.
9476 * resource.c: Likewise.
9477 * rtl.h: Likewise.
9478 * rtlanal.c: Likewise.
9479
4c7e8004 94802002-09-26 Steve Ellcey <sje@cup.hp.com>
9481
9482 * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
9483 for symbol address.
9484
9676b2a6 94852002-09-24 Eric Christopher <echristo@redhat.com>
9486
a54130fb 9487 * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
9488 * config/mips/elf64.h: Ditto.
9676b2a6 9489
52a14611 94902002-09-24 Eric Christopher <echristo@redhat.com>
9491
a54130fb 9492 * except.c (expand_builtin_extract_return_address): Handle case
52a14611 9493 where Pmode != ptr_mode.
9494
b44dc256 94952002-09-26 Steve Ellcey <sje@cup.hp.com>
9496
9497 * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
9498
4401b460 94992002-09-26 Steve Ellcey <sje@cup.hp.com>
9500
9501 * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
9502
34fe69f8 95032002-09-26 Igor Shevlyakov <igor@microunity.com>
9504
9505 * combine.c (simplify_set): Don't call to force_to_mode if size
9506 of integer type is larger than HOST_BITS_PER_WIDE_INT.
9507
647bc2e0 95082002-09-26 Janis Johnson <janis187@us.ibm.com>
9509
9510 * Makefile.in (qmtest-g++): Fix file path.
9511
acd367d1 95122002-09-26 Ulrich Weigand <uweigand@de.ibm.com>
9513
52a14611 9514 * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
acd367d1 9515 A + (-const) on RTX level, even for unsigned types.
9516
520be5a2 95172002-09-26 Ulrich Weigand <uweigand@de.ibm.com>
9518
9519 * reload.c (dup_replacements): New function.
9520 (find_reloads): Use it to duplicate replacements at the top level
9521 of match_dup operands.
9522
83b0d21e 95232002-09-26 Miles Bader <miles@gnu.org>
9524
9525 * v850.md ("length"): Change default value to 4.
9526
8af8271b 95272002-09-26 Kazu Hirata <kazu@cs.umass.edu>
9528
9529 * ChangeLog.1: Follow spelling conventions.
9530 * ChangeLog.4: Likewise.
9531 * ChangeLog.6: Likewise.
9532 * FSFChangeLog.11: Likewise.
9533 * doc/cpp.texi: Likewise.
9534 * doc/invoke.texi: Likewise.
9535 * doc/tm.texi: Likewise.
9536
28e1fdb7 95372002-09-26 Nick Clifton <nickc@redhat.com>
9538
9539 * config.gcc: Add x prefix to v850e case for handling
9540 --with-cpu=v850e.
9541
805e22b2 95422002-09-25 Zack Weinberg <zack@codesourcery.com>
9543
9544 * gcc.c (input_suffix_matches, switch_matches,
9545 mark_matching_switches, process_marked_switches,
9546 process_brace_body): New functions - split from handle_braces.
9547 (handle_braces): Rewrite; handle %{S:X;T:Y;:D} syntax; accept
9548 and ignore whitespace in more places.
9549 (specs documentation comment): Document %{S:X;T:Y;:D}.
9550 Clarify other %{...} docs.
9551 * doc/invoke.texi: Document %{S:X;T:Y;:D}. Clarify other
9552 %{...} docs.
9553
9554 * config/arm/aof.h (LINK_SPEC): Change %{ov*,*} to %{ov*}.
9555 * config/rs6000/sysv4.h: Use N-way choice spec syntax.
9556
dd74ea74 95572002-09-25 David S. Miller <davem@redhat.com>
9558
9559 PR target/7842
9560 * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
9561 extend.
9562
f82a103d 95632002-09-25 Richard Henderson <rth@redhat.com>
9564
9565 * emit-rtl.c (const_double_htab_eq): Distinguish integer and
9566 fp CONST_DOUBLE; use real_identical.
9567
d99a5b29 95682002-09-25 Mark Mitchell <mark@codesourcery.com>
9569
9570 * doc/invoke.texi: Add more -Wabi examples.
9571
d336327d 95722002-09-25 Richard Sandiford <rsandifo@redhat.com>
9573
9574 * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
9575
805e22b2 95762002-09-24 Nathan Sidwell <nathan@codesourcery.com>
9577
9578 * profile.c (end_branch_prob): Only look for __gcov_init on
9579 weak-enabled native compilers.
9580
f159ec7b 95812002-09-24 Denis Chertykov <denisc@overta.ru>
9582
9583 * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
9584 cases of optimizing "add sp,w" to "inc sp".
9585
4d0f24bc 95862002-09-24 Adam Nemet <anemet@lnxw.com>
9587
a54130fb 9588 * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
9589 epilogue for naked functions.
4d0f24bc 9590
049e308f 95912002-09-24 Adam Nemet <anemet@lnxw.com>
a54130fb 9592 Nick Clifton <nickc@redhat.com>
049e308f 9593
9594 * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
9595 (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
9596 is defined.
9597
a40b2054 95982002-09-24 Ulrich Weigand <uweigand@de.ibm.com>
9599
9600 * config/s390/s390.c (preferred_la_operand_p): New function.
9601 * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
9602 * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
9603 ("*la_64_cc", "*la_31_cc", splitters): ... these.
9604 ("*la_31"): Deactivate for TARGET_64BIT.
9605 ("*la_31_and", "*la_31_and_cc"): New.
9606
c3e8eb15 96072002-09-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9608
9609 * real.h (real_value): Make `exp' explicitly signed.
9610
ceb2fe0f 96112002-09-24 Kazu Hirata <kazu@cs.umass.edu>
9612
9613 * config/elfos.h: Follow spelling conventions.
9614 * config/alpha/alpha.h: Likewise.
9615 * config/arc/arc.h: Likewise.
9616 * config/arm/arm.md: Likewise.
9617 * config/avr/avr.h: Likewise.
9618 * config/cris/cris.md: Likewise.
9619 * config/d30v/d30v.h: Likewise.
9620 * config/frv/frv.c: Likewise.
9621 * config/frv/frv.h: Likewise.
9622 * config/h8300/h8300.c: Likewise.
9623 * config/h8300/h8300.h: Likewise.
9624 * config/h8300/h8300.md: Likewise.
9625 * config/i386/cygwin.h: Likewise.
9626 * config/i386/i386.h: Likewise.
9627 * config/i386/sysv3.h: Likewise.
9628 * config/i960/i960.h: Likewise.
9629 * config/ia64/ia64.h: Likewise.
9630 * config/ia64/ia64.md: Likewise.
9631 * config/ip2k/ip2k.h: Likewise.
9632 * config/m32r/m32r.h: Likewise.
9633 * config/m68k/m68k.h: Likewise.
9634 * config/m88k/m88k.h: Likewise.
9635 * config/mcore/mcore.c: Likewise.
9636 * config/mcore/mcore.h: Likewise.
9637 * config/mcore/mcore.md: Likewise.
9638 * config/mips/mips.h: Likewise.
9639 * config/mmix/mmix.h: Likewise.
9640 * config/mmix/mmix.md: Likewise.
9641 * config/ns32k/netbsd.h: Likewise.
9642 * config/ns32k/ns32k.h: Likewise.
9643 * config/ns32k/ns32k.md: Likewise.
9644 * config/pa/pa.h: Likewise.
9645 * config/romp/romp.h: Likewise.
9646 * config/rs6000/rs6000.h: Likewise.
9647 * config/rs6000/rs6000.md: Likewise.
9648 * config/sparc/sparc.h: Likewise.
9649 * config/stormy16/stormy-abi: Likewise.
9650 * config/stormy16/stormy16.h: Likewise.
9651 * config/vax/vax.h: Likewise.
9652
805e22b2 96532002-09-23 Kazu Hirata <kazu@cs.umass.edu>
9654
9655 * config/alpha/alpha.h: Remove commented-out macro
9656 definitions of HAVE_{POST|PRE}_{INC|DEC}REMENT.
9657 * config/avr/avr.h: Likewise.
9658 * config/d30v/d30v.h: Likewise.
9659 * config/dsp16xx/dsp16xx.h: Likewise.
9660 * config/i370/i370.h: Likewise.
9661 * config/i386/i386.h: Likewise.
9662 * config/i960/i960.h: Likewise.
9663 * config/m68k/m68k.h: Likewise.
9664 * config/m88k/m88k.h: Likewise.
9665 * config/mips/mips.h: Likewise.
9666 * config/ns32k/ns32k.h: Likewise.
9667 * config/pdp11/pdp11.h: Likewise.
9668 * config/romp/romp.h: Likewise.
9669 * config/rs6000/rs6000.h: Likewise.
9670 * config/s390/s390.h: Likewise.
9671 * config/sh/sh.h: Likewise.
9672 * config/sparc/sparc.h: Likewise.
9673 * config/stormy16/stormy16.h: Likewise.
9674 * config/vax/vax.h: Likewise.
9675
96762002-09-23 Kazu Hirata <kazu@cs.umass.edu>
9677
9678 * function.c (push_temp_slots_for_block): Remove.
9679 (push_temp_slots_for_target): Likewise.
9680 (get_target_temp_slot_level): Likewise.
9681 (set_target_temp_slot_level): Likewise.
9682 (get_first_block_beg): Likewise.
9683 * function.h: Remove corresponding prototypes.
9684
0aeec26c 96852002-09-23 Zack Weinberg <zack@codesourcery.com>
9686
9687 * version.c (version_string): Now const char[].
9688 * version.h: Update to match.
9689
02a06c30 96902002-09-23 Richard Henderson <rth@redhat.com>
9691
9692 * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
9693 MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
9694 (TARGET_SWITCHES): Don't reference them.
9695 * config/i386/i386.c (override_options): Use target_flags_explicit
9696 to examine bits set by the user.
9697
b109f4ea 96982002-09-23 Dale Johannesen <dalej@apple.com>
02a06c30 9699
b109f4ea 9700 * dbxout.c (dbxout_parms): Set current_sym_code for params
9701 passed on stack by invisible reference.
9702
c936d1c7 97032002-09-23 Richard Earnshaw <rearnsha@arm.com>
9704
9705 * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
9706 at least one byte of space.
9707
a9aff73d 97082002-09-23 Mark Mitchell <mark@codesourcery.com>
9709
9710 * c-common.h (flag_abi_version): Fix typo in comment.
9711 * doc/invoke.texi (flag_abi_version): Document default value.
9712
3d52d305 97132002-09-23 Hans-Peter Nilsson <hp@axis.com>
9714
9715 * doc/extend.texi (Extended Asm): Clarify that overlap between
9716 asm-declared register variables used in an asm and the asm clobber
9717 list is not allowed.
9718 * stmt.c (decl_conflicts_with_clobbers_p): New function.
9719 (expand_asm_operands): Keep track of clobbered registers. Call
9720 decl_conflicts_with_clobbers_p for each input and output operand.
9721 If no conflicts found before, also do conflict sanity check when
9722 emitting clobbers.
9723
417e646b 97242002-09-23 Richard Henderson <rth@redhat.com>
9725
9726 * c-common.c (cpp_define_data_format): Remove.
9727 (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
9728 __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
9729 __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
9730 * doc/cpp.texi: Don't document them either.
9731 (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
9732 __LONG_LONG_MAX__): Document.
9733 (__TARGET_FLOAT_FORMAT__): Remove.
9734
918d1f84 97352002-09-23 Richard Henderson <rth@redhat.com>
9736
9737 * real.c (do_multiply): Normalize U before addition.
9738
221c4c52 97392002-09-23 Mark Mitchell <mark@codesourcery.com>
9740
9741 * c-common.c (flag_abi_version): New variable.
9742 * c-common.h (flag_abi_version): Declare it.
9743 * c-opts.c (missing_arg): Add -fabi-version.
9744 (c_common_decode_option): Process -fabi-version.
9745 * doc/invoke.texi (-fabi-version): Document it.
9746 (-Wabi): Add information about bit-fields in unions.
0aeec26c 9747
805e22b2 97482002-09-22 Roger Sayle <roger@eyesopen.com>
9749
9750 * expr.c (STORE_BY_PIECES_P): New target macro.
9751 (can_store_by_pieces, store_by_pieces): Use STORE_BY_PIECES_P
9752 instead of MOVE_BY_PIECES_P.
9753 * doc/tm.texi: Document this new macro.
9754
67a7d2b5 97552002-09-22 Jason Thorpe <thorpej@wasabisystems.com>
9756
9757 * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
9758 unless -fno-pic or -fno-PIC is specified.
9759
5b6d07c4 97602002-09-22 John David Anglin <dave@hiauly1.hia.nrc.ca>
9761
9762 * c-common.c (preprocessing_trad_p): Define.
9763 * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
9764 (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
9765 * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
9766 * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
9767 * pa-linux.h (CPP_PREDEFINES): Delete.
9768 (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
9769 * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
9770 * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
9771 (TARGET_OS_CPP_BUILTINS): Define.
9772 * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
9773 (TARGET_SWITCHES): Reformat. Use N_() macro. Add SUBTARGET_SWITCHES.
9774 (SUBTARGET_SWITCHES): Provide default definition.
9775 (TARGET_OPTIONS): Reformat. Use N_() macro.
9776 (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
9777 CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
9778 EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
9779 (TARGET_CPU_CPP_BUILTINS): Define.
9780 (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
9781 * doc/invoke.texi (msio, mwsio): Document new hppa options.
9782 * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
9783 preprocessing_trad_p().
9784
c725cfd7 97852002-09-22 Jason Thorpe <thorpej@wasabisystems.com>
9786
9787 * doc/install.texi: Document behavior of --with-headers and
9788 --with-libs when arguments are omitted.
9789
6ef828f9 97902002-09-22 Kazu Hirata <kazu@cs.umass.edu>
9791
9792 * dbxout.c: Follow spelling conventions.
9793 * defaults.h: Likewise.
9794 * df.c: Likewise.
9795 * diagnostic.h: Likewise.
9796 * doloop.c: Likewise.
9797 * dwarf2out.c: Likewise.
9798 * dwarfout.c: Likewise.
9799 * emit-rtl.c: Likewise.
9800 * except.c: Likewise.
9801 * explow.c: Likewise.
9802 * expmed.c: Likewise.
9803 * expr.c: Likewise.
9804 * expr.h: Likewise.
9805 * flags.h: Likewise.
9806 * flow.c: Likewise.
9807 * fold-const.c: Likewise.
9808 * function.c: Likewise.
9809 * function.h: Likewise.
9810 * gcc.c: Likewise.
9811 * gcov-io.h: Likewise.
9812 * gcov.c: Likewise.
9813 * gcse.c: Likewise.
9814 * genattrtab.c: Likewise.
9815 * genconfig.c: Likewise.
9816 * genrecog.c: Likewise.
9817 * ggc-page.c: Likewise.
9818 * ggc.h: Likewise.
9819 * global.c: Likewise.
9820 * gthr-win32.h: Likewise.
9821 * integrate.c: Likewise.
9822 * jump.c: Likewise.
9823 * langhooks.c: Likewise.
9824 * langhooks.h: Likewise.
9825 * line-map.h: Likewise.
9826 * local-alloc.c: Likewise.
9827 * longlong.h: Likewise.
9828 * loop.c: Likewise.
9829 * loop.h: Likewise.
9830
aa867d91 9831Tue Aug 27 22:26:35 CEST 2002 Jan Hubicka <jh@suse.cz>
9832
9833 * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
9834
9835Tue Aug 27 20:07:01 CEST 2002 Jan Hubicka <jh@suse.cz>
9836
9837 * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
9838 for -Os/TARGET_64BIT too.
9839
d10cfa8d 98402002-09-21 Kazu Hirata <kazu@cs.umass.edu>
9841
9842 * ChangeLog: Follow spelling conventions.
9843 * ChangeLog.0: Likewise.
9844 * ChangeLog.1: Likewise.
9845 * ChangeLog.2: Likewise.
9846 * ChangeLog.3: Likewise.
9847 * ChangeLog.4: Likewise.
9848 * ChangeLog.5: Likewise.
9849 * ChangeLog.6: Likewise.
9850 * FSFChangeLog.10: Likewise.
9851 * FSFChangeLog.11: Likewise.
9852 * alias.c: Likewise.
9853 * basic-block.h: Likewise.
9854 * c-aux-info.c: Likewise.
9855 * c-common.c: Likewise.
9856 * c-common.h: Likewise.
9857 * c-decl.c: Likewise.
9858 * c-format.c: Likewise.
9859 * c-semantics.c: Likewise.
9860 * c-typeck.c: Likewise.
9861 * calls.c: Likewise.
9862 * cfganal.c: Likewise.
9863 * cfgloop.c: Likewise.
9864 * collect2.c: Likewise.
9865 * combine.c: Likewise.
9866 * conflict.c: Likewise.
9867 * cppexp.c: Likewise.
9868 * cppfiles.c: Likewise.
9869 * cpphash.h: Likewise.
9870 * cppinit.c: Likewise.
9871 * cpplex.c: Likewise.
9872 * cpplib.c: Likewise.
9873 * cpplib.h: Likewise.
9874 * cppmacro.c: Likewise.
9875 * cse.c: Likewise.
9876
d7a9a1c8 98772002-09-21 Richard Earnshaw <rearnsha@arm.com>
9878
9879 * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
9880 LINK_SPEC.
9881 (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
9882 * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
9883 (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
9884
e211881d 98852002-09-21 Richard Earnshaw <rearnsha@arm.com>
9886
fa0bec77 9887 PR opt/7930
9888 * cse.c (fold_rtx): Calculate old_cost before we fold each
e211881d 9889 operand.
9890
318fe8f5 98912002-09-21 Richard Henderson <rth@redhat.com>
9892
9893 * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
9894 __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
9895 __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
9896 __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
9897 __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
9898 * doc/cpp.texi: Don't document them.
9899
cb1f2a2d 99002002-09-21 Richard Henderson <rth@redhat.com>
9901
9902 * c-common.c (builtin_define_float_constants): Use real_format
9903 to get the floating-point parameters.
9904
1268285a 99052002-09-21 Richard Henderson <rth@redhat.com>
9906
9907 * real.c (struct real_format): Move to real.h.
9908 (real_format_for_mode): Rename from fmt_for_mode; update all users;
9909 initialize with ieee defaults.
9910 (real_to_target_fmt, real_from_target_fmt): New.
9911 (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
9912 ieee_extended_intel_96_format, ieee_extended_intel_128_format,
0aeec26c 9913 ieee_quad_format, i370_single_format, i370_double_format,
1268285a 9914 c4x_single_format, c4x_extended_format): Rename from s/_format//.
9915 (ieee_quad_format): Fix emin.
9916 (format_for_size, init_real_once): Remove.
9917 * real.h (struct real_format): Move from real.c.
9918 (real_format_for_mode): Declare.
9919 (real_to_target_fmt, real_from_target_fmt): Declare.
9920 (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
9921 ieee_extended_intel_96_format, ieee_extended_intel_128_format,
9922 ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
9923 i370_single_format, i370_double_format, c4x_single_format,
9924 c4x_extended_format): Declare.
9925 * toplev.c (do_compile): Don't call init_real_once.
9926
9927 * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
9928 * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
9929
9930 * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
9931 * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
9932 * config/alpha/alpha.c (override_options): Set real_format_for_mode
9933 for VAX, if enabled.
9934
9935 * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
9936 for C4X.
9937
9938 * config/i370/i370.h (OVERRIDE_OPTIONS): New.
9939 * config/i370/i370.c (override_options): New.
9940 * config/i370/i370-protos.h: Update.
9941
9942 * config/i386/i386.c (override_options): Set real_format_for_mode
9943 for Intel 80-bit extended.
9944 * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
9945
9946 * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
9947 (OVERRIDE_OPTIONS): Move code...
9948 * config/i960/i960.c (i960_initialize): ... here. Set
9949 real_format_for_mode for Intel 80-bit extended.
9950
9951 * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
9952 for Intel 80-bit extended, if enabled.
9953
9954 * config/m68k/m68k.c (override_options): Set real_format_for_mode
0aeec26c 9955 for Motorola 96-bit extended.
1268285a 9956
9957 * config/vax/vax.h (OVERRIDE_OPTIONS): New.
9958 * config/vax/vax.c (override_options): New.
9959 * config/vax/vax-protos.h: Update.
9960
3a01c8e4 99612002-09-21 Alan Modra <amodra@bigpond.net.au>
9962
35196dd4 9963 * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
9964 #if TARGET_MACHO.
9965
3a01c8e4 9966 * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
9967 insns. Supply missing clobber of scratch reg.
9968
e911aedf 99692002-09-20 Kazu Hirata <kazu@cs.umass.edu>
9970
9971 * config/m32r/m32r.c: Follow spelling conventions.
9972 * config/m32r/m32r.h: Likewise.
9973 * config/m32r/m32r.md: Likewise.
9974 * config/m68k/m68k.c: Likewise.
9975 * config/m88k/m88k.c: Likewise.
9976 * config/mcore/mcore.c: Likewise.
9977 * config/mips/mips.c: Likewise.
9978 * config/mips/mips.h: Likewise.
9979 * config/mmix/mmix.c: Likewise.
9980 * config/mn10200/mn10200.c: Likewise.
9981 * config/ns32k/ns32k.h: Likewise.
9982 * config/pa/pa.c: Likewise.
9983 * config/pa/pa64-linux.h: Likewise.
9984 * config/pdp11/pdp11.h: Likewise.
9985 * config/romp/romp.c: Likewise.
9986 * config/romp/romp.h: Likewise.
9987 * config/rs6000/eabi.asm: Likewise.
9988 * config/rs6000/linux64.h: Likewise.
9989 * config/rs6000/rs6000.c: Likewise.
9990 * config/rs6000/rs6000.h: Likewise.
9991 * config/rs6000/rs6000.md: Likewise.
9992 * config/rs6000/sysv4.h: Likewise.
9993 * config/rs6000/xcoff.h: Likewise.
9994
ed404389 99952002-09-20 Jim Wilson <wilson@redhat.com>
9996
9997 * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
9998
fba0b4c0 99992002-09-20 Jakub Jelinek <jakub@redhat.com>
10000
10001 * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
10002 * config/i386/i386.c (legitimate_pic_address_disp_p): Handle
10003 UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
10004 (legitimate_address_p): Likewise.
10005 (legitimize_address): Use @gotntpoff and @indntpoff.
10006 (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
10007 (output_addr_const_extra): Likewise.
10008
91cf636e 100092002-09-20 Jim Wilson <wilson@redhat.com>
10010
10011 * combine.c (try_combine): When split an instruction pair, where the
10012 first has a sign_extend src, verify that the src and dest modes match.
10013
c89e85ef 100142002-09-20 Richard Henderson <rth@redhat.com>
10015
10016 * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
10017 (override_options): Do not initialize them.
10018 (mips_const_double_ok): Allow no fp constants except zero,
10019 and not even that for mips16.
10020 (const_float_1_operand): Use dconst1.
10021 * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
10022 movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
e72117bc 10023 Don't allow arbitrary constants; fix predicates and C constraint.
c89e85ef 10024
dbb7d6f7 100252002-09-20 Neil Booth <neil@daikokuya.co.uk>
10026
10027 * cppmacro.c: Don't warn about function-like macros without
ebeaf10c 10028 '(' during pre-expansion.
dbb7d6f7 10029
0721ab49 100302002-09-20 Jim Wilson <wilson@redhat.com>
10031
10032 * config/v850/v850.c (current_function_anonymous_args): Delete.
10033 (expand_prologue): Use current_function_args_info.anonymous_args.
10034 (expand_epilogue): Delete use of current_function_anonymous_args.
10035 * config/v850/v850.h (struct cum_arg): Add anonymous_args field.
10036 (INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
10037 (current_function_anonymous_args): Delete extern declaration.
10038 (SETUP_INCOMING_VARARGS): Set anonymous_args field.
10039
fc3feebd 100402002-09-20 Geoffrey Keating <geoffk@apple.com>
10041
46e442c7 10042 * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
10043 to load_macho_picbase.
10044 * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
10045 (load_macho_picbase): Take the symbol to use as a parameter.
10046 (macho_correct_pic): New insn.
10047 (builtin_setjmp_reciever): On Darwin, restore the PIC register.
10048
fc3feebd 10049 * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
10050 RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
10051 (CAN_ELIMINATE): Likewise.
10052 (INITIAL_ELIMINATION_OFFSET): Likewise.
10053 (TOC_REGISTER): Likewise.
10054
3393215f 100552002-09-20 Richard Henderson <rth@redhat.com>
10056
10057 * real.c (real_hash): New.
10058 * real.h: Declare it.
10059 * cse.c (canon_hash): Use it.
10060 * cselib.c (hash_rtx): Likewise.
10061 * emit-rtl.c (const_double_htab_hash): Likewise.
10062 * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
10063 * varasm.c (struct rtx_const): Reduce vector size; separate
10064 integer and fp vectors.
10065 (HASHBITS): Remove.
10066 (const_hash_1): Rename from const_hash. Use real_hash. Do not
10067 take modulus MAX_HASH_TABLE.
10068 (const_hash): New. Do take modulus MAX_HASH_TABLE.
10069 (output_constant_def): Do not take modulus MAX_HASH_TABLE.
10070 (SYMHASH): Don't use HASHBITS.
10071 (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
10072 Fix CONST_VECTOR thinko wrt fp vectors. Fix kind comparison.
10073 (simplify_subtraction): Fix kind comparison.
10074 (const_hash_rtx): Return unsigned int. Don't use HASHBITS.
10075 Use a union to pun integer array.
10076 * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
10077 only hash two words of integral CONST_DOUBLE.
10078
cfea3820 100792002-09-20 Steve Ellcey <sje@cup.hp.com>
10080
10081 * config/ia64/hpux.h (STARTFILE_SPEC): Modify.
10082 (STARTFILE_PREFIX_SPEC): New.
10083 (LINK_SPEC): Modify.
10084 (LIB_SPEC): Modify.
10085 (LIBGCC_SPEC): New.
10086
46356432 100872002-09-20 Jakub Jelinek <jakub@redhat.com>
10088
10089 * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
10090 UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
10091
ed750274 100922002-09-20 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
10093
10094 * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
10095 Add clobber of the condition code register.
10096
6fb1ae90 100972002-09-20 Richard Henderson <rth@redhat.com>
10098
10099 * real.c (do_fix_trunc): Static.
10100 (encode_ieee_single, encode_ieee_double, encode_ieee_extended,
10101 encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
10102 encode_i370_single, encode_i370_double, encode_c4x_single,
10103 encode_c4x_extended): Add default abort case.
10104
479838ec 101052002-09-20 Richard Henderson <rth@redhat.com>
10106
10107 * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
10108 MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
10109 (struct realvaluetype): Remove.
10110 (REAL_VALUE_TYPE): Use struct real_value.
10111 (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
10112 (test_real_width): New.
10113 * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
10114 (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
10115 (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
10116 real_isneg, real_isnegzero, real_identical, exact_real_inverse,
10117 real_to_integer, real_to_integer2, real_to_decimal,
10118 real_to_hexadecimal, real_from_string, real_from_integer,
10119 real_inf, real_nan, real_2expN, real_convert, real_to_target,
10120 real_from_target): Likewise.
10121 * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
10122 * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
10123
3de1abab 101242002-09-20 Richard Henderson <rth@redhat.com>
10125
10126 * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
10127 IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
10128 * defaults.h: ... here.
10129 * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
10130 config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
10131 config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
10132 config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
10133
8fd007d7 101342002-09-20 Hans-Peter Nilsson <hp@bitrange.com>
10135
10136 * config/mmix/mmix.md ("negdf2"): Rewrite.
10137 ("*expanded_negdf2"): New.
10138
30c1b268 101392002-09-19 Jim Wilson <wilson@redhat.com>
10140
10141 * combine.c (simplify_set): When optimizing a subreg src with a
10142 cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
10143
3f7dbe8d 101442002-09-19 Dale Johannesen <dalej@apple.com>
10145 * combine.c (make_extraction): Don't create
10146 invalid subreg.
10147
805e22b2 101482002-09-19 Roger Sayle <roger@eyesopen.com>
10149
10150 * tree.c (integer_nonzerop): New predicate for nonzero integers.
10151 * tree.h (integer_nonzerop): Add function prototype.
10152 * stmt.c (expand_end_loop): Don't rotate the loop when there
10153 are no instructions in the test, i.e. the loop is unconditional.
10154 (expand_exit_loop_if_false): Optimize RTL generation of loop
10155 tests when the condition is always true or always false.
10156 * c-semantics.c (genrtl_do_stmt): Optimize RTL generation of
10157 do-loops when the condition is always true.
10158 (genrtl_for_stmt): Optimize RTL generation of for-loops when
10159 the for-expression is empty.
10160
101612002-09-19 Zack Weinberg <zack@codesourcery.com>
10162
10163 * gcc.c (use_pipes): New flag.
10164 (process_command): Set it. Adjust check for -pipe conflicting
10165 with -time or -save-temps.
10166 (do_spec_1): Use it. Handle %|SUFFIX, %mSUFFIX, and
10167 %<SWITCH. Drop %| (without a SUFFIX).
10168 (handle_braces): Drop %{<SWITCH}, %{^SWITCH}, %{|...}.
10169 (give_switch): Third argument eliminated.
10170 (invoke_as, @assembler_with_cpp spec): Use %|.s or %m.s
10171 depending on AS_NEEDS_DASH_FOR_PIPED_INPUT.
10172 (specs documentation comment): Update.
10173
10174 * config/netbsd-aout.h, config/openbsd.h, config/ptx4.h,
10175 config/svr4.h, config/i386/freebsd-aout.h,
10176 config/m68k/netbsd-elf.h, config/m68k/netbsd.h,
10177 config/m68k/openbsd.h, config/mips/openbsd.h,
10178 config/sparc/sparc.h: Define AS_NEEDS_DASH_FOR_PIPED_INPUT
10179 instead of putting %| into ASM_SPEC and/or ASM_FINAL_SPEC.
10180 * config/avr/avr.h: Delete do-nothing ASM_FINAL_SPEC.
10181 * config/cris/cris.h: Update comment.
10182
10183 * ada/lang-specs.h: Use %(invoke_as). Straighten out
10184 error messages. Don't use %{^SWITCH}.
10185 * ada/misc.c (gnat_decode_option): Handle -I with a
10186 separate argument.
10187
10188 * f/lang-specs.h: Use %| and %m.
10189 * java/jvspec.c: Use %m and %(invoke_as). Change all
10190 uses of %{<SWITCH} to %<SWITCH.
10191
10192 * doc/invoke.texi: Update documentation of specs.
10193 * doc/tm.texi: Document AS_NEEDS_DASH_FOR_PIPED_INPUT.
10194
147b6a2d 101952002-09-19 Ulrich Weigand <uweigand@de.ibm.com>
10196
0aeec26c 10197 * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
147b6a2d 10198 and STRICT_LOW_PART within SET_DEST.
10199 * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
10200 splitters, replacing pre-reload splitters.
0aeec26c 10201 ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
147b6a2d 10202 "*zero_extendqihi2_31"): New insns.
10203 ("*zero_extendqihi2_64"): Do not clobber CC.
10204
805e22b2 102052002-09-18 Devang Patel <dpatel@apple.com>
10206
10207 * cp/cp-tree.h: New prototype for walk_vtables().
10208 * cp/decl.c (walk_vtables_r): New function.
10209 (struct cp_binding_level): Add new members, namespaces,
10210 names_size and vtables.
10211 (add_decl_to_level): Add decl in namespaces or vtables
10212 chain, if conditions match.
10213 (walk_vtables): New function.
10214 (walk_namespaces_r): Travers separate namespace chain
10215 for namespace decls.
10216 (wrapup_globals_for_namespace): Use names_size instead
10217 of list_length().
10218 * cp/decl2.c (finish_file): Use walk_vtables() instead of
10219 walk_globals() to walk vtable decls.
10220
8e7fb219 102212002-09-19 Steve Ellcey <sje@cup.hp.com>
10222
10223 * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
10224 (DTORS_SECTION_ASM_OP): Ditto.
10225 (READONLY_DATA_SECTION_ASM_OP): Moved.
10226 (DATA_SECTION_ASM_OP): New.
10227 (SDATA_SECTION_ASM_OP): New.
10228 (BSS_SECTION_ASM_OP): New.
10229 (SBSS_SECTION_ASM_OP): New.
10230 (TEXT_SECTION_ASM_OP): New.
10231
c46dc351 102322002-09-19 Kazu Hirata <kazu@cs.umass.edu>
10233
10234 * config/fp-bit.c: Follow spelling conventions.
10235 * config/d30v/d30v.c: Likewise.
10236 * config/d30v/d30v.h: Likewise.
10237 * config/fr30/fr30.c: Likewise.
10238 * config/fr30/fr30.h: Likewise.
10239 * config/fr30/fr30.md: Likewise.
10240 * config/frv/frv.c: Likewise.
10241 * config/frv/frv.h: Likewise.
10242 * config/h8300/h8300.c: Likewise.
10243 * config/h8300/lib1funcs.asm: Likewise.
10244 * config/i370/i370.c: Likewise.
10245 * config/i386/i386.h: Likewise.
10246 * config/i386/i386.md: Likewise.
10247 * config/i386/pentium.md: Likewise.
10248 * config/i386/winnt.c: Likewise.
10249 * config/i960/i960.c: Likewise.
10250 * config/ia64/ia64.h: Likewise.
10251 * config/ip2k/ip2k.c: Likewise.
10252 * config/ip2k/ip2k.h: Likewise.
10253 * config/ip2k/ip2k.md: Likewise.
10254 * config/ip2k/libgcc.S: Likewise.
10255
2aa0e8cc 102562002-09-19 Stephen Clarke <stephen.clarke@superh.com>
10257
10258 * config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
10259 (GOTOFF_P): Extend to allow gotoff plus constant.
10260
068fc551 102612002-09-18 Richard Henderson <rth@redhat.com>
10262
10263 * ifcvt.c (noce_process_if_block): Correctly detect X modified
0aeec26c 10264 with INSN_B before COND_EARLIEST. Don't check A and B for
068fc551 10265 modification in condition range. Reorder INSN_B for A==B properly.
10266 (if_convert): Iterate until no matches for a block.
10267
cf78c9ff 102682002-09-18 Richard Henderson <rth@redhat.com>
10269
10270 * calls.c (store_one_arg): Rename default_align to parm_align;
10271 always adjust parm_align for downward padding.
10272
5320ce3e 102732002-09-18 Richard Henderson <rth@redhat.com>
10274
10275 * toplev.c (backend_init): Move init_real_once invocation ...
10276 (do_compile): ... here.
10277
2ce5f0b9 102782002-09-18 Richard Henderson <rth@redhat.com>
10279
10280 * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
10281 RTX_UNCHANGING_P markers for successful tail-recursive replacement.
10282
be93f411 102832002-09-18 Richard Henderson <rth@redhat.com>
10284
10285 * real.c (round_for_format): Collect sticky as unsigned long, not bool.
10286
47da3fc9 102872002-09-19 Alan Modra <amodra@bigpond.net.au>
10288
10289 * config/rs6000/rs6000.md: (floatdisf2): Rename to
10290 floatdisf2_internal1.
10291 (floatdisf2): New define_expand.
10292 (floatdisf2_internal2): Likewise.
10293
453abe37 102942002-09-18 Richard Henderson <rth@redhat.com>
10295
0aeec26c 10296 * real.c (sticky_rshift_significand): Collect sticky as
453abe37 10297 unsigned long, not bool.
10298
ee9c19ee 102992002-09-18 Ulrich Weigand <uweigand@de.ibm.com>
10300
10301 * config/s390/s390.c (s390_address_cost): New function.
10302 config/s390/s390-protos.h (s390_address_cost): Add prototype.
10303 config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
10304 (RTX_COST): Use COSTS_N_INSNS.
10305
8642f3d3 103062002-09-18 Douglas Rupp <rupp@gnat.com>
10307 Donn Terry <donnte@microsoft.com>
10308
10309 * stor-layout.c (place_field): Handle alignment of whole
10310 structures when MSVC compatible bitfields are involved.
10311 Change method of computing location of MS bitfields to
10312 be compatible with #pragma pack(n).
10313
10314 * tree.h (record_layout_info): Add new field
10315 remaining_in_alignment.
10316
10317 * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
805e22b2 10318 (pragma pack): Add paragraph on MSVC bitfield packing.
8642f3d3 10319
3b8c7f7a 103202002-09-18 Richard Earnshaw (reanrsha@arm.com)
10321
10322 PR optimization/7967
10323 * arm.md (ne_zeroextractsi): Add clobber of the condition code
10324 register.
10325
808a491c 103262002-09-18 Kazu Hirata <kazu@cs.umass.edu>
10327
c46dc351 10328 * config/s390/s390.c: Follow spelling conventions.
808a491c 10329 * config/sh/lib1funcs.asm: Likewise.
10330 * config/sh/sh.c: Likewise.
10331 * config/sh/sh.h: Likewise.
10332 * config/sparc/sparc.c: Likewise.
10333 * config/sparc/sparc.h: Likewise.
10334 * config/sparc/sparc.md: Likewise.
10335 * config/stormy16/stormy16.c: Likewise.
10336 * config/stormy16/stormy16.h: Likewise.
10337 * config/v850/v850.c: Likewise.
10338 * config/v850/v850.h: Likewise.
10339 * config/vax/vax.c: Likewise.
10340 * config/vax/vax.h: Likewise.
10341
25d17dbc 103422002-09-18 Nick Clifton <nickc@redhat.com>
10343
10344 * config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
10345 * config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
10346 * config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
10347
805e22b2 103482002-09-17 Kazu Hirata <kazu@cs.umass.edu>
10349
10350 * function.c (max_parm_reg_num): Remove.
10351 * stmt.c (in_control_zone_p, stmt_loop_nest_empty,
10352 drop_through_at_end_p, move_cleanups_up,
10353 expand_end_case_dummy, case_index_expr_type): Likewise.
10354 * stor-layout.c (pos_from_byte): Likewise.
10355 * tree.c (chain_member_value, chain_member_purpose, listify,
10356 tree_int_cst_msb, index_type_equal): Likewise.
10357 * tree.h: Remove prototypes for unused functions.
10358
e1584e41 103592002-09-17 Zack Weinberg <zack@codesourcery.com>
10360
10361 * ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
10362 statement that the only translation is to en_UK.
10363
e3e08e7f 103642002-09-17 Kazu Hirata <kazu@cs.umass.edu>
10365
10366 * config/alpha/alpha.c: Follow spelling conventions.
10367 * config/alpha/alpha.h: Likewise.
10368 * config/alpha/alpha.md: Likewise.
10369 * config/arc/arc.h: Likewise.
10370 * config/arm/arm.c: Likewise.
10371 * config/arm/arm.h: Likewise.
10372 * config/arm/arm.md: Likewise.
10373 * config/arm/pe.c: Likewise.
10374 * config/arm/unknown-elf.h: Likewise.
10375 * config/avr/avr.c: Likewise.
10376 * config/avr/avr.h: Likewise.
10377 * config/c4x/c4x.c: Likewise.
10378 * config/cris/cris.c: Likewise.
10379 * config/cris/cris.h: Likewise.
10380
7af58cc3 103812002-09-17 Samuel Figueroa <figueroa@apple.com>
e3e08e7f 10382
7af58cc3 10383 * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
10384 * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
10385 * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
10386
c21a402e 103872002-09-17 Dale Johannesen <dalej@apple.com>
e3e08e7f 10388
c21a402e 10389 * cfgcleanup.c (try_forward_edges): Do not forward a
10390 branch to just after a loop exit before loop optimization;
10391 this interfered with doloop detection.
10392
8cc5c6da 103932002-09-17 Nick Clifton <nickc@redhat.com>
10394
10395 * config/arm/arm.c (output_return_instruction): Do not
10396 writeback the stack pointer when it is being loaded.
10397 (arm_output_epilogue): Likewise.
10398
e7285115 103992002-09-17 Kazu Hirata <kazu@cs.umass.edu>
10400
10401 * optabs.c (prepare_cmp_insn): Let emit_library_call_value
10402 generate a pseudo reg that receives the result of a libcall.
10403 (prepare_float_lib_cmp): Likewise.
10404
d9cbfcb6 104052002-09-17 Steve Ellcey <sje@cup.hp.com>
10406
0aeec26c 10407 * config/ia64/elf.h: Remove CPP_PREDEFINES.
d9cbfcb6 10408
02c2efaa 10409Tue Sep 17 13:58:04 2002 Nicola Pero <n.pero@mi.flashnet.it>
10410
10411 Fix PR/7014 and related objc bugs:
10412 * c-typeck.c (comp_target_types): Added a reflexive argument.
10413 Pass it to ObjC when/if calling objc_comptypes(). Updated all
10414 callers to provide the appropriate reflexive argument.
10415 * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
10416 typechecking for all cases of comparisons and assignments,
10417 particularly the obscure and less common ones involving protocols.
10418
d33e2bd3 104192002-09-17 Nick Clifton <nickc@redhat.com>
10420
10421 * machmode.def (V1DImode): New mode. A single element vector.
10422 * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
10423 (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
10424 * tree.c (build_common_tree_nodes_2): Build
10425 unsigned_V1DI_type_node and V1D1_type_node.
10426 * c-common.c (c_common_type_for_mode): Return
10427 unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
10428 * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
10429
509cb6a8 10430Tue Sep 17 13:40:13 2002 Nicola Pero <n.pero@mi.flashnet.it>
10431
10432 * doc/objc.texi (Constant string objects): Extended documentation
10433 to make clear that the constant string class ivar layout is
10434 completely fixed.
0aeec26c 10435
bfd5076b 104362002-09-17 Roger Sayle <roger@eyesopen.com>
10437
10438 * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
10439 NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
10440
805e22b2 104412002-09-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
10442
10443 * config/mips/mips.c (save_restore_insns): Remove unused variable.
10444 * gcc.c (make_relative_prefix): Likewise.
10445 * loop.c (check_final_value): Likewise.
10446 * jump.c (init_label_info): Remove return value.
10447 * cse.c (prev_insn): Move variable between #ifdef HAVE_cc0 ... #endif.
10448
104492002-09-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10450
10451 * dsp16xx.h (ASM_FORMAT_PRIVATE_NAME): Delete.
10452 (ASM_PN_FORMAT): Define.
10453
104542002-09-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10455
10456 * alpha.h, alpha/vms.h, arc.h, arm/aof.h, arm/aout.h, avr.h,
10457 c4x.h, cris.h, d30v.h, fr30.h, frv.h, h8300.h, i370.h, i386.h,
10458 i960.h, ia64.h, ip2k.h, m32r.h, m68hc11.h, m68k/3b1.h,
10459 m68k/hp320.h, m68k.h, m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h,
10460 m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
10461 pa.h, pdp11.h, romp.h, rs6000.h, s390/linux.h, sh.h, sparc.h,
10462 stormy16.h, v850.h, vax.h, xtensa.h (ASM_FORMAT_PRIVATE_NAME):
10463 Delete.
10464 * alpha/vms.h, h8300.h, i370.h, ia64.h, m68k/3b1.h, m68k/hp320.h,
10465 m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h, mmix.h, mn10200.h,
10466 mn10300.h, pa.h, v850.h (ASM_PN_FORMAT): Define.
10467
10468 * defaults.h (ASM_PN_FORMAT, ASM_FORMAT_PRIVATE_NAME): Define.
10469 * doc/tm.texi (ASM_FORMAT_PRIVATE_NAME): Update documentation.
10470
e83ff88b 104712002-09-16 Richard Henderson <rth@redhat.com>
10472
10473 * expr.c (emit_block_move): Set memory block size as appropriate
10474 for the copy.
10475
8837693a 104762002-09-16 Richard Henderson <rth@redhat.com>
10477
10478 PR fortran/3924
0aeec26c 10479 * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
8837693a 10480
595f1461 104812002-09-16 Richard Henderson <rth@redhat.com>
10482
10483 * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
10484 as well as OFFSET for BITPOS.
10485
c6fc0b28 104862002-09-16 Jeff Garzik <jgarzik@mandrakesoft.com>
10487
0aeec26c 10488 * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
10489 * config/i386/i386.c (processor_alias_table): Add winchip-c6,
c6fc0b28 10490 winchip2 and c3.
0aeec26c 10491 * doc/invoke.texi: Mention new aliases.
c6fc0b28 10492
ac965869 104932002-09-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
10494
10495 * calls.c (store_one_arg): Set default alignment for BLKmode arguments
10496 to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
10497 downward.
10498 * function.c (pad_below): Always compile.
10499 (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
10500 alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
10501 Pad below when the argument is not in a register and the padding
10502 direction is downward.
10503
10504 * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
10505 (PAD_VARARGS_DOWN): Define.
10506 * pa.c (function_arg_padding): Revise padding directions to make them
10507 compatible with the 32 and 64-bit runtime architecture documentation.
10508 (hppa_va_arg): Add code to handle variable and size zero arguments
10509 passed by reference on TARGET_64BIT. Reformat.
10510 (function_arg): Use a PARALLEL for BLKmode and aggregates args on
10511 TARGET_64BIT. Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
10512 wide when !TARGET_64BIT. Move forward check for mode==VOIDmode.
10513 Add comments.
10514 * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
10515 (RETURN_IN_MEMORY): Return size zero types in memory.
10516 (FUNCTION_VALUE): Return TFmode in general registers.
10517 (MUST_PASS_IN_STACK): Define.
10518 (FUNCTION_ARG_BOUNDARY): Simplify.
10519 (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
10520 by reference.
10521 (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
10522
43e2d3be 105232002-09-16 Richard Henderson <rth@redhat.com>
10524
10525 * real.c (do_fix_trunc): New.
10526 (real_arithmetic): Call it.
10527 * simplify-rtx.c (simplify_unary_operation): Handle FIX
10528 with a floating-point result mode.
10529
b0db7939 105302002-09-16 Richard Henderson <rth@redhat.com>
10531
10532 * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
10533 (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
10534 * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
10535 (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
10536 * builtins.c (fold_builtin_nan): New.
10537 (fold_builtin): Call it.
10538 * real.c (real_nan): Parse a non-empty string.
10539 (round_for_format): Fix NaN significand truncation.
10540 * real.h (real_nan): Return bool.
10541 * doc/extend.texi: Document new builtins.
10542
7c4f0b1d 105432002-09-16 Jason Merrill <jason@redhat.com>
10544 Danny Smith <dannysmith@users.sourceforge.net>
10545
10546 * config/i386/winnt.c (ix86_handle_dll_attribute): Set
10547 DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
10548 (i386_pe_mark_dllimport): Not here.
10549
045f0656 105502002-09-16 Nathan Sidwell <nathan@codesourcery.com>
10551
10552 * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
10553
741b56d8 105542002-09-16 Geoffrey Keating <geoffk@redhat.com>
10555
10556 * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
10557 warnings about unused operands when HOST_BITS_PER_WIDE_INT is
10558 < 64.
10559 (rs6000_emit_cmove): Use real_isinf not target_isinf.
10560
26906dc1 105612002-09-16 Kazu Hirata <kazu@cs.umass.edu>
10562
10563 * calls.c (emit_library_call_value_1): Don't refer to
10564 hard_libcall_value.
10565 * optabs.c (prepare_float_lib_cmp): Likewise.
10566
c849df63 105672002-09-16 Geoffrey Keating <geoffk@apple.com>
10568
10569 * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
10570 mangling.
10571
10572 The following changes are merged from pch-branch:
10573
10574 * doc/gty.texi (GTY Options): Document %a.
10575 * gengtype.c (do_scalar_typedef): New function.
10576 (process_gc_options): Handle `length' option.
10577 (set_gc_used_type): A pointer to an array of structures doesn't
10578 qualify as a pointer to a structure.
10579 (output_escaped_param): Add `%a' escape.
10580 (write_gc_structure_fields): Allow 'desc' on array of unions.
10581 (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
10582 do_scalar_typedef.
10583
10584 * gengtype.c (enum rtx_code): Make global.
10585 (rtx_format): Make global.
10586 (rtx_next): New.
10587 (gen_rtx_next): New.
10588 (write_rtx_next): New.
10589 (adjust_field_rtx_def): Skip fields marked by chain_next.
10590 (open_base_files): Delete redundant prototype.
10591 (write_enum_defn): New.
10592 (output_mangled_typename): Correct abort call.
10593 (write_gc_marker_routine_for_structure): Handle chain_next and
10594 chain_prev options.
10595 (finish_root_table): Don't output redundant \n.
10596 (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
10597 * c-tree.h (union lang_tree_node): Add chain_next option.
10598
10599 * gengtype.h (NUM_PARAM): New definition.
10600 (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
10601 * gengtype.c (find_param_structure): New.
10602 (adjust_field_type): Handle param<n>_is option.
10603 (process_gc_options): Detect use_params option. Update callers.
10604 (set_gc_used_type): Add 'param' parameter, update callers. Handle
10605 'use_params' option.
10606 (open_base_files): Add splay-tree.h to list of files included.
10607 (output_mangled_typename): New.
10608 (write_gc_structure_fields): Update 'param' parameter to support
10609 multiple parameters. Change name mangling. Allow parameterized
10610 fields to have an apparent scalar type. Handle param<n>_is options,
10611 use_param option.
10612 (write_gc_marker_routine_for_structure): Update for change to name
10613 mangling. Better guess the output file for parameterized types.
10614 (write_gc_types): Update for change to name mangling.
10615 (write_gc_root): Update for change to name mangling. Handle (ignore)
10616 param<n>_is options.
10617 * doc/gty.texi (GTY Options): Add description of param<n>_is
10618 options, use_params option.
10619 * ggc.h (ggc_mark_rtx): Update for changed name mangling.
10620 * gengtype-lex.l: Produce token for param<n>_is.
10621 * gengtype-yacc.y: Parse param<n>_is.
10622
10623 * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
10624
10625 * rtl.c: Update comment describing rtx_format.
10626 * rtl.h (union rtunion): Separate definition and typedef.
10627 (struct rtx_def): Use gengtype to mark.
10628 * Makefile.in (gengtype.o): Also depend on rtl.def.
10629 * ggc.h (ggc_mark_rtx_children): Delete prototype.
10630 (ggc_mark_rtx): Change to alias of gengtype-generated routine.
10631 * ggc-common.c (ggc_mark_rtx_children): Delete.
10632 (ggc_mark_rtx_children_1): Delete.
10633 (gt_ggc_m_rtx_def): Delete.
10634 * gengtype.c (adjust_field_rtx_def): New.
10635 (adjust_field_type): Call adjust_field_rtx_def.
10636 (write_gc_structure_fields): Add 'default' case to switch if none
10637 is specified; remove unused code.
10638
10639 * tree.h (struct tree_exp): Update for change to meaning
10640 of special.
10641 * gengtype.c (adjust_field_tree_exp): New function.
10642 (adjust_field_type): Handle `tree_exp' special here.
10643 (write_gc_structure_fields): Don't handle `tree_exp' special here.
10644 Handle new `dot' option.
10645
10646 * gengtype.h: Make `info' a pointer-to-const.
10647 * gengtype-yacc.y (yacc_ids): Use xasprintf.
10648
10649 * gengtype.c (write_gc_structure_fields): Remove implementation
10650 of `always' option, add `default' option.
10651 * doc/gty.texi (GTY Options): Remove documentation of `always',
10652 add `default'.
10653
7d89a8eb 106542002-09-16 Hans-Peter Nilsson <hp@bitrange.com>
10655
10656 * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
10657
79e2a0ca 106582002-09-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10659
ad5f546d 10660 * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
10661
79e2a0ca 10662 * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
10663 instead of the *-protos.h file directly.
10664 * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
10665 * darwin.c (machopic_output_stub): Move prototype ...
10666 * darwin-protos.h (machopic_output_stub): ... here.
10667 * rs6000-protos.h (machopic_output_stub): Don't declare.
10668
37f10059 106692002-09-16 Richard Henderson <rth@redhat.com>
10670
10671 * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
10672
aa870c1b 106732002-09-16 Richard Henderson <rth@redhat.com>
10674
10675 * real.c, real.h: Rewrite from scratch.
10676
10677 * Makefile.in (simplify-rtx.o): Depend on TREE_H.
10678 (paranoia): New target.
10679 * builtins.c (fold_builtin_inf): Use new real.h interface.
10680 * c-common.c (builtin_define_with_hex_fp_value): Likewise.
10681 * c-lex.c (interpret_float): Likewise.
10682 * emit-rtl.c (gen_lowpart_common): Likewise.
10683 * optabs.c (expand_float): Use real_2expN.
10684 * config/ia64/ia64.md (divsi3, udivsi3): Likewise.
10685 * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
10686 (FLOAT_WORDS_BIG_ENDIAN): New.
10687 * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
10688 directly to REAL_VALUE_NEGATIVE.
10689 * loop.c (canonicalize_condition): Likewise.
10690 * simplify-rtx.c: Include tree.h.
10691 (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
10692 with floating-point result modes.
10693 * toplev.c (backend_init): Call init_real_once.
10694
10695 * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
10696 * tree.c (build_real): Likewise.
10697 * config/alpha/alpha.c, config/vax/vax.c (float_strings,
10698 float_values, inited_float_values, check_float_value): Remove.
10699 * config/alpha/alpha.h, config/m68hc11/m68hc11.h,
10700 config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
10701 * doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
10702 (VAX_HALFWORD_ORDER): Remove.
10703
4fbc4db5 107042002-09-16 Ulrich Weigand <uweigand@de.ibm.com>
10705
10706 * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
10707 (s390_load_address): ... this new function.
10708 (s390_decompose_address): Allow the argument pointer and all
10709 virtual registers as 'pointer' registers.
10710 (s390_expand_plus_operand): Use s390_load_address.
10711 config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
10712 ("force_la_31"): New insn pattern.
10713 config/s390/s390-protos.h (legitimize_la_operand): Remove.
10714 (s390_load_address): Add prototype.
10715
10716 * config/s390/s390.c: Include "optabs.h".
10717 (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
0aeec26c 10718 config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
4fbc4db5 10719 s390_expand_cmpstr): Add prototypes.
10720 config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
10721 ("movstrdi_short"): Rename to "movstr_short_64". Change predicates
10722 for operands 0 and 1 to "memory_operand". Add type attribute.
10723 ("movstrsi_short"): Rename to "movstr_short_31". Change predicates
10724 for operands 0 and 1 to "memory_operand". Add type attribute.
10725 ("movstrdi_long", "movstrsi_long"): Remove.
10726 ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
10727 ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
10728 ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
10729 ("clrstrsico"): Remove, replace by ...
10730 ("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
10731 ("clrstrsi_64"): Rename to "clrstr_long_64".
10732 ("clrstrsi_31"): Rename to "clrstr_long_31".
10733 ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
10734 ("cmpstr_const"): Remove, replace by ...
10735 ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
10736 ("cmpstr_64"): Rename to "cmpstr_long_64".
10737 ("cmpstr_31"): Rename to "cmpstr_long_31".
10738
974e2c0c 107392002-09-16 Kazu Hirata <kazu@cs.umass.edu>
10740
10741 * ABOUT-NLS: Follow spelling conventions.
10742 * ChangeLog: Likewise.
10743 * ChangeLog.1: Likewise.
10744 * ChangeLog.2: Likewise.
10745 * ChangeLog.3: Likewise.
10746 * ChangeLog.4: Likewise.
10747 * ChangeLog.5: Likewise.
10748 * ChangeLog.6: Likewise.
10749 * FSFChangeLog.10: Likewise.
10750 * FSFChangeLog.11: Likewise.
10751 * c-common.c: Likewise.
10752 * c-lex.c: Likewise.
10753 * c-objc-common.c: Likewise.
10754 * cppexp.c: Likewise.
10755 * cppinit.c: Likewise.
10756 * cpplex.c: Likewise.
10757 * doloop.c: Likewise.
10758 * flow.c: Likewise.
10759 * function.c: Likewise.
10760 * integrate.c: Likewise.
10761 * loop.c: Likewise.
10762 * reg-stack.c: Likewise.
10763 * reload.h: Likewise.
10764 * ssa.c: Likewise.
10765
805e22b2 107662002-09-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10767
10768 * Makefile.in (vmsdbgout.o): Depend on $(TARGET_H)
10769 * vmsdbgout.c: Include "target.h".
10770
7800959d 107712002-09-15 Kazu Hirata <kazu@cs.umass.edu>
10772
10773 * ChangeLog: Follow spelling conventions.
10774 * ChangeLog.0: Likewise.
10775 * ChangeLog.1: Likewise.
10776 * ChangeLog.2: Likewise.
10777 * ChangeLog.4: Likewise.
10778 * ChangeLog.6: Likewise.
10779 * config.gcc: Likewise.
10780 * dwarfout.c: Likewise.
10781 * reload1.c: Likewise.
10782 * simplify-rtx.c: Likewise.
10783 * unwind-sjlj.c: Likewise.
10784 * config/avr/avr.h: Likewise.
10785 * config/d30v/d30v.h: Likewise.
10786 * config/frv/frv.c: Likewise.
10787 * config/frv/frv.h: Likewise.
10788 * config/ip2k/ip2k.h: Likewise.
10789 * config/m88k/m88k-move.sh: Likewise.
10790 * config/stormy16/stormy16.c: Likewise.
10791 * config/stormy16/stormy16.h: Likewise.
10792 * doc/extend.texi: Likewise.
10793 * doc/interface.texi: Likewise.
10794 * doc/invoke.texi: Likewise.
10795 * doc/md.texi: Likewise.
10796 * doc/rtl.texi: Likewise.
10797 * doc/tm.texi: Likewise.
10798 * doc/trouble.texi: Likewise.
10799 * ginclude/float.h: Likewise.
10800 * treelang/treelang.texi: Likewise.
10801
e5b6c75f 108022002-09-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10803
d7af749d 10804 * i386-protos.h (i386_pe_dllexport_name_p,
10805 i386_pe_dllimport_name_p, i386_pe_unique_section,
10806 i386_pe_declare_function_type, i386_pe_record_external_function,
10807 i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
10808 prototype.
10809 * i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
10810 * i386/t-interix (winnt.o): Likewise.
10811
e5b6c75f 10812 * v850-protos.h (v850_output_addr_const_extra): Prototype.
10813
4a210f9e 108142002-09-15 Jason Thorpe <thorpej@wasabisystems.com>
10815
10816 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
10817 MIPS ABI CPP macros.
10818 (TARGET_CPU_CPP_BUILTINS): Redefine.
10819 (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
10820 (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
10821
20400557 108222002-09-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10823
10824 * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
10825
a2f10574 108262002-09-15 Kazu Hirata <kazu@cs.umass.edu>
10827
10828 * ChangeLog: Follow spelling conventions.
10829 * ChangeLog.0: Likewise.
10830 * ChangeLog.1: Likewise.
10831 * ChangeLog.2: Likewise.
10832 * ChangeLog.3: Likewise.
10833 * ChangeLog.4: Likewise.
10834 * ChangeLog.5: Likewise.
10835 * ChangeLog.6: Likewise.
10836 * FSFChangeLog.10: Likewise.
10837 * FSFChangeLog.11: Likewise.
10838 * c-common.c: Likewise.
10839 * c-common.h: Likewise.
10840 * c-format.c: Likewise.
10841 * c-opts.c: Likewise.
10842 * cpplib.c: Likewise.
10843 * langhooks.h: Likewise.
10844 * real.c: Likewise.
10845 * reg-stack.c: Likewise.
10846 * toplev.c: Likewise.
10847 * config/arm/arm.c: Likewise.
10848 * config/arm/arm.md: Likewise.
10849 * config/arm/linux-gas.h: Likewise.
10850 * config/arm/netbsd.h: Likewise.
10851 * config/c4x/c4x.c: Likewise.
10852 * config/c4x/c4x.h: Likewise.
10853 * config/c4x/c4x.md: Likewise.
10854 * config/c4x/libgcc.S: Likewise.
10855 * config/fr30/fr30.md: Likewise.
10856 * config/frv/frv.md: Likewise.
10857 * config/ia64/ia64.md: Likewise.
10858 * config/mips/mips.h: Likewise.
10859 * config/mn10300/mn10300.c: Likewise.
10860 * config/stormy16/stormy16.c: Likewise.
10861 * config/v850/v850.md: Likewise.
10862 * doc/extend.texi: Likewise.
10863 * doc/invoke.texi: Likewise.
10864 * doc/md.texi: Likewise.
10865
5ccae5bf 108662002-09-15 Jason Thorpe <thorpej@wasabisystems.com>
10867
10868 * config/netbsd.h (LIB_SPEC): Include the appropriate pthread
10869 library if -pthread is specified.
10870
09f85456 108712002-09-15 Jason Thorpe <thorpej@wasabisystems.com>
10872
10873 * config.gcc (*-*-netbsd*): Set thread_file to 'posix'
10874 for --enable-threads=yes and --enable-threads=posix.
10875
f25a48be 108762002-09-15 Kazu Hirata <kazu@cs.umass.edu>
10877
10878 * config/sparc/cypress.md: Replace Sparc with SPARC.
10879 * config/sparc/freebsd.h: Likewise.
10880 * config/sparc/gmon-sol2.c: Likewise.
10881 * config/sparc/hypersparc.md: Likewise.
10882 * config/sparc/lb1spc.asm: Likewise.
10883 * config/sparc/lb1spl.asm: Likewise.
10884 * config/sparc/linux.h: Likewise.
10885 * config/sparc/linux64.h: Likewise.
10886 * config/sparc/lynx.h: Likewise.
10887 * config/sparc/sol2.h: Likewise.
10888 * config/sparc/sparc-modes.def: Likewise.
10889 * config/sparc/sparc.c: Likewise.
10890 * config/sparc/sparc.h: Likewise.
10891 * config/sparc/sparc.md: Likewise.
10892 * config/sparc/sparclet.md: Likewise.
10893 * config/sparc/supersparc.md: Likewise.
10894 * config/sparc/sysv4.h: Likewise.
10895 * config/sparc/vxsim.h: Likewise.
10896 * config/sparc/vxsparc64.h: Likewise.
10897
805e22b2 108982002-09-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10899
10900 * c-lex.c (cb_ident): Mark variable with ATTRIBUTE_UNUSED.
10901 * collect2.c (ignore_library, aix_std_libs): Move into the context
10902 where it is used.
10903 * m68hc11.c (m68hc11_autoinc_compatible_p): Delete prototype.
10904 (autoinc_mode, m68hc11_make_autoinc_notes): Add prototypes.
10905 * m88k.c (output_call): Wrap variables with macro controlling use.
10906 * rs6000.md: Likewise. Const-ify variable.
10907 * sh.h (ASM_OUTPUT_LABELREF): Likewise.
10908 * final.c (only_leaf_regs_used): Likewise.
10909 * regrename.c (maybe_mode_change): Mark parameter with
10910 ATTRIBUTE_UNUSED.
10911 * reload.c (find_valid_class): Likewise. Likewise for variable.
10912 (find_reloads_address_1): Likewise.
10913 * varasm.c (weak_finish): Wrap variable with macro controlling use.
10914
9bfdb494 109152002-09-14 Marek Michalkiewicz <marekm@amelek.gda.pl>
10916
10917 * config/avr/avr.c (output.h): Move after inclusion of tree.h.
10918
457275b6 109192002-09-14 Kazu Hirata <kazu@cs.umass.edu>
10920
10921 * ChangeLog: Follow spelling conventions.
10922 * ChangeLog.0: Likewise.
10923 * ChangeLog.2: Likewise.
10924 * ChangeLog.3: Likewise.
10925 * ChangeLog.4: Likewise.
10926 * ChangeLog.5: Likewise.
10927 * ChangeLog.6: Likewise.
10928 * cppfiles.c: Likewise.
10929 * cppinit.c: Likewise.
10930 * cpplib.h: Likewise.
10931 * cse.c: Likewise.
10932 * debug.h: Likewise.
10933 * df.c: Likewise.
10934 * dominance.c: Likewise.
10935 * hashtable.c: Likewise.
10936 * hashtable.h: Likewise.
10937 * loop.c: Likewise.
10938 * config/arm/README-interworking: Likewise.
10939 * config/arm/arm.c: Likewise.
10940 * config/arm/arm.h: Likewise.
10941 * config/arm/arm.md: Likewise.
10942 * config/dsp16xx/dsp16xx.h: Likewise.
10943 * config/frv/frv.c: Likewise.
10944 * config/frv/frv.h: Likewise.
10945 * config/ip2k/ip2k.h: Likewise.
10946 * config/rs6000/rs6000.c: Likewise.
10947 * config/stormy16/stormy-abi: Likewise.
10948 * config/stormy16/stormy16.h: Likewise.
10949 * config/v850/v850.c: Likewise.
10950
ee5cad94 109512002-09-14 Kazu Hirata <kazu@cs.umass.edu>
10952
10953 * loop.c: Fix a comment typo.
10954
f747aa2d 109552002-09-14 Kazu Hirata <kazu@cs.umass.edu>
10956
10957 * config/fr30/fr30.h: Fix comment typos.
10958 * config/frv/frv.c: Likewise.
10959 * config/i386/xmmintrin.h: Likewise.
10960 * config/mips/mips.c: Likewise.
10961 * config/sh/sh.c: Likewise.
10962
c8515df4 109632002-09-14 Kazu Hirata <kazu@cs.umass.edu>
10964
10965 * haifa-sched.c: Follow spelling conventions.
10966 * regclass.c: Likewise.
10967 * regrename.c: Likewise.
10968 * config/fp-bit.c: Likewise.
10969 * config/frv/frv.h: Likewise.
10970 * config/m88k/m88k.c: Likewise.
10971 * config/mcore/mcore.c: Likewise.
10972 * config/rs6000/darwin.h: Likewise.
10973 * config/rs6000/gnu.h: Likewise.
10974 * config/rs6000/linux.h: Likewise.
10975 * config/rs6000/linux64.h: Likewise.
10976 * config/rs6000/rs6000.c: Likewise.
10977 * config/rs6000/rs6000.h: Likewise.
10978 * config/sh/sh.c: Likewise.
10979 * config/sparc/sparc.c: Likewise.
10980 * config/sparc/ultra1_2.md: Likewise.
10981
74a46465 109822002-09-14 Stephane Carrez <stcarrez@nerim.fr>
10983
10984 * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
10985 memory operand when source is 0 (K constraint).
10986 ("movsi_internal"): Likewise.
10987 ("movdf_internal"): Likewise.
10988 ("movsf_internal"): Likewise.
10989
a164e2a9 109902002-09-14 Alan Modra <amodra@bigpond.net.au>
10991
10992 * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
10993 targetm.binds_local_p to set SYMBOL_REF_FLAG.
10994 (rs6000_xcoff_encode_section_info): Likewise.
10995 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
10996
0945bf62 109972002-09-10 Theodore A. Roth <troth@verinet.com>
10998
10999 * gcc/config/avr/avr.h: Set default options for C++ for avr.
11000
805e22b2 110012002-09-13 Roger Sayle <roger@eyesopen.com>
11002
11003 * stmt.c (struct nexting): Remove unused alt_end_label field.
11004 (expand_start_loop): Delete initialization of alt_end_label.
11005 (expand_start_null_loop): Likewise.
11006 (expand_exit_loop_if_false): Delete updating of alt_end_label.
11007
1853d408 110082002-09-13 Richard Henderson <rth@redhat.com>
11009
11010 * Makefile.in (toplev.o): Depend on real.h.
11011 (print-rtl.o, varasm.o, ifcvt.o): Likewise.
11012
12b80435 110132002-09-14 Alan Modra <amodra@bigpond.net.au>
11014
11015 * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
11016 * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
11017 * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
11018
c2006256 110192002-09-13 Nathan Sidwell <nathan@codesourcery.com>
11020
11021 * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
11022
127ab935 110232002-09-13 Steve Ellcey <sje@cup.hp.com>
11024
11025 * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
11026 ia64*-*-linux*): Set extra_parts.
11027 * config/ia64/t-aix (EXTRA_PARTS): Remove.
11028 * config/ia64/t-ia64 (EXTRA_PARTS): Remove.
11029
11f95d7c 110302002-09-13 Kazu Hirata <kazu@cs.umass.edu>
11031
11032 * config/h8300/fixunssfsi.c: Replace H8/S with H8S.
11033 * config/h8300/h8300.c: Likewise.
11034 * config/h8300/h8300.h: Likewise.
11035 * config/h8300/h8300.md: Likewise.
11036 * doc/invoke.texi: Likewise.
11037
3a599070 110382002-09-13 Kazu Hirata <kazu@cs.umass.edu>
11039
11040 * config/h8300/h8300.c (h8300_init_once): Fix formatting.
11041
1050b77e 110422002-09-13 Richard Henderson <rth@redhat.com>
11043
11044 * config/alpha/alpha.md (attr type): Add callpal.
11045 (imb, trap, load_tp, set_tp): Use it.
11046 * config/alpha/ev4.md (ev4_callpal): New.
11047 * config/alpha/ev5.md (ev5_callpal): New.
11048 * config/alpha/ev6.md (ev6_ibr): Handle callpal.
11049 * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
11050 (alphaev5_insn_pipe): Likewise.
11051
fd5529a4 110522002-09-13 Andreas Jaeger <aj@suse.de>
11053
11054 * Makefile.in (print-rtl.o): Depend on CONFIG_H.
11055
04a59823 110562002-09-13 Steve Ellcey <sje@cup.hp.com>
11057
11058 * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
11059 LIB2ADDEH): New, set to NULL.
11060 (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
11061
6f17b2aa 110622002-09-13 Steve Ellcey <sje@cup.hp.com>
11063
11064 * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
11065 (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
11066 (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
11067 Add declarations.
11068 (_U_Qfneg): Remove.
11069
da540d53 110702002-09-13 Dhananjay Deshpande <dhananjayd@kpit.com>
11071
11072 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
974e2c0c 11073 for H8/300, H8S aa:8 mode.
11074 (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
da540d53 11075 * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
11076 for H8/300 aa:8 mode.
11077
49df79a5 110782002-09-13 Hartmut Penner <hpenner@de.ibm.com>
11079
11080 * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
11081 insns.
11082
c7be5df3 110832002-09-12 Richard Henderson <rth@redhat.com>
11084
11085 * Makefile.in (HOST_PRINT): Use print-rtl1.o
11086 (print-rtl.o): Don't define GENERATOR_FILE.
11087 (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
11088 * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
11089 unless GENERATOR_FILE.
11090
a08b74c8 110912002-09-12 Stan Shebs <shebs@apple.com>
11092
f087dfe1 11093 * config/darwin.h (USER_LABEL_PREFIX): Define here...
11094 * config/i386/darwin.h: ... instead of here.
11095
a08b74c8 11096 * target.h (struct gcc_target): New field
11097 terminate_dw2_eh_frame_info.
11098 * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
11099 (TARGET_INITIALIZER): Add it.
11100 * dwarf2out.c (output_call_frame_info): Use target hook.
11101 * dwarf2asm.c (dw2_asm_output_delta): Use macro
11102 ASM_OUTPUT_DWARF_DELTA if defined.
11103 * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
11104 (ASM_OUTPUT_DWARF_DELTA): Ditto.
11105 (ASM_OUTPUT_DWARF_OFFSET): Ditto.
11106 (ASM_OUTPUT_DWARF_PCREL): Ditto.
11107 * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
11108 (powerpc-*-darwin*): Ditto.
11109 * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
11110 to work correctly for Darwin.
11111 * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
11112 (STARTFILE_SPEC): Add crtbegin.o.
11113 (ENDFILE_SPEC): Define.
11114 (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
11115 (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
11116 (ASM_OUTPUT_DWARF_DELTA): Define.
11117 (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
11118 * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
11119
9f6ef744 111202002-09-13 Alan Modra <amodra@bigpond.net.au>
11121
11122 * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
11123 nesting. Correct test for non-PowerPC64 ELF ABI_AIX.
11124 * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
11125
226e4024 111262002-09-12 Zack Weinberg <zack@codesourcery.com>
11127
11128 * toplev.c: Move default definition of USER_LABEL_PREFIX...
11129 * defaults.h: ... here.
11130
db51a5b8 111312002-09-12 Richard Henderson <rth@redhat.com>
11132
11133 * vax.c: Include tree.h earlier.
11134
5d0325e5 111352002-09-12 Stan Shebs <shebs@apple.com>
11136
11137 * config/darwin.c (machopic_finish): Remove #if 0 chunks.
11138 (machopic_operand_p): Ditto.
11139
321bc347 111402002-09-12 Kazu Hirata <kazu@cs.umass.edu>
11141
11142 * config/arm/arm.c (arm_compute_initial_elimination_offset):
11143 Fix a comment typo.
11144
a084821d 111452002-09-12 Kazu Hirata <kazu@cs.umass.edu>
11146
11147 * toplev.c (do_abort): Fix a comment typo.
11148
102502d4 111492002-09-12 Kazu Hirata <kazu@cs.umass.edu>
11150
11151 * cselib.c: Fix comment formatting.
11152 * gengtype.c: Likewise.
11153
eca5e759 111542002-09-12 Kazu Hirata <kazu@cs.umass.edu>
11155
11156 * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
11157 (udivmodhi4): Likewise.
11158
309db274 111592002-09-12 Graham Stott <graham.stott@btinternet.com>
226e4024 11160 Roger Sayle <roger@eyesopen.com>
309db274 11161
11162 * i386.c (any_fp_register_operand, fp_register_operand,
11163 register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
11164 New predicate functions.
11165 * i386-protos.h: Add their prototypes.
11166 * i386.h: Add them to PREDICATE_CODES.
11167 * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
11168 "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
11169 "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
11170 "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
11171 "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
11172 "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
11173 "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
11174 "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
11175 "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
11176 "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
11177 "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
11178 Use these new predicates to simplify and correct the use of
11179 FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
11180
623282b0 111812002-09-12 Jason Merrill <jason@redhat.com>
11182
9ba44007 11183 * diagnostic.c (output_add_identifier): New fn.
11184 * diagnostic.h: Declare it.
11185
623282b0 11186 * calls.c (store_one_arg): Use size_in_bytes to determine the
11187 amount of space to push.
11188
f83569e3 111892002-09-12 Jakub Jelinek <jakub@redhat.com>
11190
11191 * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
11192
3c482144 111932002-09-12 Ulrich Weigand <uweigand@de.ibm.com>
11194
11195 * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
11196 * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
11197 (s390_select_ccmode): Likewise.
11198 (s390_branch_condition_mask): Likewise.
11199 (optimization_options): Do not set flag_branch_on_count.
11200 (s390_split_branches): Handle doloop branches.
11201 (s390_chunkify_pool): Likewise.
11202 * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
11203 ("doloop_end"): New expander.
11204 ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
11205 associated splitters): New.
11206
805e22b2 112072002-09-11 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
11208
11209 * genattrtab.c (simplify_cond): Remove unused variable(s).
11210 * global.c (record_conflicts): Likewise.
11211 * jump.c (rebuild_jump_labels): Likewise.
11212 * loop.c (scan_loop, check_final_value): Likewise.
11213 * ra-colorize.c (colorize_one_web, assign_colors): Likewise.
11214 * reload1.c (eliminate_regs_in_insn, do_input_reload): Likewise.
11215 * rtlanal.c (reg_set_p): Likewise.
11216 * stmt.c (expand_asm_operands, expand_decl): Likewise.
11217 * genautomata.c (empty_reserv): Remove.
11218 * loop.c (max_luid): Likewise.
11219 * sched-rgn.c (bitlst_table_size): Likewise.
11220
112212002-09-11 Nathan Sidwell <nathan@codesourcery.com>
11222
11223 Reimplement gcov format.
11224 * gcov-io.h: Replace.
11225 * gcov.c: Reimplement.
11226 * gcov-iov.c: New file.
11227 * gcov-dump.c: New file.
11228 * libgcc2.c (L_bb): Replace with ...
11229 (L_gcov): ... this.
11230 (struct bb_function_info, struct bb): Remove.
11231 (inhibit_libc): Never inhibit.
11232 (gcov_list, gcov_crc): New static variables.
11233 (gcov_version_mismatch): New static function.
11234 (__bb_exit_func): Renamed to ...
11235 (__gcov_exit): ... here. Made static. Reimplement.
11236 (__gcov_init_func): Rename to ...
11237 (__gcov_init): ... here. Check version, update crc.
11238 (__bb_fork_func): Rename to ...
11239 (__gcov_flush): ... here.
11240 * libgcc2.h (struct bb, __bb_exit_func, __bb_init_func,
11241 __bb_fork_func, gcov_type, __bb_find_arc_counters): Remove.
11242 * calls.c (expand_call): Call __gcov_flush.
11243 * profile.c (bb_file, last_bb_file_name): Remove.
11244 (bbg_file_name): New global variable.
11245 (output_gcov_string): Remove.
11246 (get_exec_counts): Reimplement.
11247 (branch_prob): Reimplement gcov file writing.
11248 (init_branch_prob): Create bbg_file_name, don't create
11249 bb_file_name.
11250 (end_branch_prob): Adjust. Don't remove counter file when
11251 instrumenting ourselves.
11252 (create_profiler): Adjust.
11253 * doc/gcov.texi (Gcov Data Files): Remove detailed specification,
11254 point to gcov-io.h.
11255 * Makefile.in (LANGUAGES): Add gcov-dump.
11256 (coverageexts): Remove .bb.
11257 (STAGESTUFF): Add gcov-dump.
11258 (LIB2FUNCS_ST): Replace _bb with _gcov.
11259 (profile.o): Depend on gcov-iov.h.
11260 (final.o): Don't depend on profile.h, gcov.h.
11261 (gcov.o): Depend on gcov-iov.h.
11262 (gcov-iov.o): New target.
11263 (gcov-iov): New target.
11264 (gcov-iov.h): New target.
11265 (gcov-dump.o): New target.
11266 (GCOV_DUMP_OBJS): New variable.
11267 (gcov-dump): New target.
11268 (distclean): Remove coverageexts.
11269 (stage1): Remove coverageexts.
11270
02846a3d 112712002-09-11 Hartmut Penner <hpenner@de.ibm.com>
11272
11273 * fold-const.c (make_range): Only narrow to signed range if
11274 the signed range is smaller than the unsigned range.
11275
f0500469 112762002-09-12 Alan Modra <amodra@bigpond.net.au>
11277
11278 * emit-rtl.c (set_mem_size): New function.
11279 * expr.h (set_mem_size): Declare.
11280 * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
11281 (expand_block_move): Instead, use adjust_address and
11282 replace_equiv_address to generate proper aliasing info.
11283 Move common code out of conditionals. Localize vars.
11284
84111c28 112852002-09-11 Eric Botcazou <ebotcazou@libertysurf.fr>
226e4024 11286
e805a0b5 11287 * optabs.c (expand_binop): Minor cleanup.
11288 (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
11289
9063fcc8 112902002-09-11 Dan Nicolaescu <dann@ics.uci.edu>
11291
11292 * print-tree.c (print_node): Print the restrict qualifier.
11293
3a0820ba 112942002-09-11 Janis Johnson <janis187@us.ibm.com>
11295
11296 * doc/install.texi: Fix typos.
11297
65e49ff1 112982002-09-11 Zack Weinberg <zack@codesourcery.com>
11299
11300 * Makefile.in: Remove all references to s-under and underscore.c.
11301 * collect2.c, tlink.c: Change all uses of prepends_underscore
11302 to look directly at USER_LABEL_PREFIX.
11303
6f2cc60f 113042002-09-11 David Edelsohn <edelsohn@gnu.org>
11305
11306 * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
11307 alignment to csect.
11308 (rs6000_xcoff_unique_section): Only set section name for public
11309 data.
11310 (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
11311 * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
11312 duplicate definition.
11313
ace4658b 113142002-09-10 John David Anglin <dave@hiauly1.hia.nrc.ca>
11315
11316 * pa.md (extzv): Check predicates before emitting extzv_32.
11317 (insv): Likewise.
11318
5f6a9967 113192002-09-10 Ulrich Weigand <uweigand@de.ibm.com>
11320
11321 * config/s390/s390.h (MOVE_MAX): Define to correct value.
11322 (MAX_MOVE_MAX): Define.
11323 (MOVE_BY_PIECES_P): Define.
11324 (CLEAR_BY_PIECES_P): Define.
11325
c34be7cd 113262002-09-10 Denis Chertykov <denisc@overta.ru>
11327
11328 * config/avr/avr.md (movstrhi): Use right operands for conversion.
11329
19335226 113302002-09-10 Richard Earnshaw <rearnsha@arm.com>
11331
11332 PR c/7873
11333 * arm.md (insv): Use reg_or_int_operand for operand[3].
11334
d3e1259a 113352002-09-10 David Edelsohn <edelsohn@gnu.org>
11336
11337 * rs6000.c (rs6000_assemble_visibility): Protect declaration
11338 inside macro. Correct function definition typo.
11339 (rs6000_xcoff_section_type_flags): New function.
11340 (TARGET_SECTION_TYPE_FLAGS): Remove definition.
11341 (rs6000_elf_section_type_flags): Call default_section_type_flags_1
11342 with appropriate PIC test.
11343 (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
11344 determine readonly.
11345 (rs6000_binds_local_p): Combine PIC flags.
11346 * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
11347 * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
11348
805e22b2 113492002-09-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11350
11351 * h8300.md: Fix signed/unsigned warnings.
11352 * mcore.md: Likewise.
11353 * mn10300.c (mask_ok_for_mem_btst): Likewise.
11354
7eb2fa37 113552002-09-09 Per Bothner <per@bothner.com>
11356
11357 * print-tree.c (print_node): In a STRING_CST, escape non-ascii
11358 characters, and only print TREE_STRING_LENGTH chars.
11359
d7b7c754 113602002-09-09 Steve Ellcey <sje@cup.hp.com>
11361
11362 * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
11363 (ASM_FILE_END) New.
11364 * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
11365 * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
11366 * config/ia64/ia64.c (ia64_asm_output_external): Create list
11367 of external functions if TARGET_HPUX_LD is true.
11368 (ia64_hpux_add_extern_decl): New, routine to put names on
11369 list of external functions.
11370 (ia64_hpux_asm_file_end): Put out declarations for external
11371 functions if and only if they are used.
11372
2fa45ffb 113732002-09-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
11374
11375 * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
11376 on TARGET_64BIT before pic register restore.
11377
4ddb893b 113782002-09-09 David Edelsohn <edelsohn@gnu.org>
11379
11380 * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
11381 (TARGET_HAVE_TLS): New description.
11382
457b1f66 113832002-09-09 Janis Johnson <janis187@us.ibm.com>
11384
11385 * doc/extend.texi (Statement Exprs): Fix broken link.
11386
8bd71ad4 113872002-09-09 Denis Chertykov <denisc@overta.ru>
11388
11389 * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
11390 right conversion of operands[1].
11391
2e5d1042 113922002-09-09 Ulrich Weigand <uweigand@de.ibm.com>
11393
11394 * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
11395 commutative. Use "nonimmediate_operand" instead of "register_operand"
11396 as predicate for operand 0. Move to after the "*tmXX_mem" insns.
11397
11398 ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
11399 as commutative.
11400
11401 ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
11402 mark as commutative. Use "nonimmediate_operand" instead of
11403 "register_operand" as predicate for operand 1.
11404
11405 ("movstrictsi"): Fix typo in insn name.
11406
1f170a8e 114072002-09-09 Jan Hubicka <jh@suse.cz>
11408
11409 * i386.c (index_register_operand): New.
11410 * i386.h (predicate_codes): Add new predicate.
37a53023 11411 * i386.md (lea_general_*): Use index_register_operand
1f170a8e 11412 (ashift to lea splitter): Do not produce invalid leas
11413 (ashift to mov+ashift split): New.
11414
1466f08d 114152002-09-09 Nick Clifton <nickc@redhat.com>
11416
11417 * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
11418 Fix folding marks.
11419
4e81d30e 114202002-09-09 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
226e4024 11421 J"orn Rennecke <joern.rennecke@superh.com>
4e81d30e 11422
11423 * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
11424
4e06ed1d 114252002-09-09 Alan Modra <amodra@bigpond.net.au>
11426
11427 * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
11428 (function_ok_for_sibcall): Use binds_local_p. Respect longcall
11429 attributes.
11430
805e22b2 114312002-09-08 Nathan Sidwell <nathan@codesourcery.com>
11432
11433 * basic_block.h (gcov_type): Explain why it is signed.
11434 * final.c: Don't include profile.h.
11435 (struct function_list, functions_head, functions_tail,
11436 end_final): Moved to profile.c
11437 (final): Move arc chaining code to profile.c.
11438 * function.c (prepare_function_start): Remove duplicate line.
11439 * output.h (end_final): Remove prototype.
11440 * predict.c (estimate_loops_at_level): Use gcov_type.
11441 * profile.c (struct function_list, functions_head,
11442 functions_tail): Moved from final.c
11443 (need_func_profiler): Remove.
11444 (instrument_edges): Don't set need_func_profiler.
11445 (get_exec_counts): Avoid signed/unsigned warning.
11446 (compute_checksum): Use crc32.
11447 (branch_prob): Adjust. Chain onto functions_head.
11448 (init_branch_prob): Absorb init_edge_profiler.
11449 (init_edge_profiler): Remove.
11450 (create_profiler): Moved and renamed from final.c:end_final.
11451 Emit data and constructor.
11452 (output_func_start_profiler): Remove.
11453 * profile.h (struct profile_info): checksum is unsigned.
11454 * rtl.h (output_func_start_profiler): Remove prototype.
11455 (create_profiler): Declare.
11456 * toplev.c (compile_file): Call create_profiler, if instrumenting
11457 arcs. Don't call end_final.
11458
88586dc9 114592002-09-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11460
11461 * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
11462
931e9893 114632002-09-08 Richard Henderson <rth@redhat.com>
11464
11465 * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
11466 (DW_OP_GNU_push_tls_address): New.
11467 (DW_OP_lo_user): Fix.
11468 * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
11469 (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
11470 (size_of_loc_descr): Likewise.
11471 (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
11472 (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
11473 (loc_descriptor_from_tree): Handle TLS variables.
11474 (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
11475 (add_location_or_const_value_attribute): ... not here. Defer
11476 to loc_descriptor_from_tree for TLS variables.
11477
11478 * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
11479 * config/i386/i386.c (i386_output_dwarf_dtprel): New.
11480 * config/i386/i386-protos.h: Update.
11481
978dc23e 114822002-09-08 Roger Sayle <roger@eyesopen.com>
11483
11484 PR optimization/6405
11485 * unroll.c (loop_iterations): last_loop_insn should be the previous
11486 non-note instruction before loop->end.
11487 * loop.c (strength_reduce): The conditional jump is the last
11488 non-note instruction before loop->end (as above).
11489
a6e85413 114902002-09-08 Roger Sayle <roger@eyesopen.com>
11491
11492 * combine.c (try_combine): Handle the case that undobuf.other_insn
11493 has been turned into a return or unconditional jump, by inserting
11494 a BARRIER if necessary.
11495 (simplify_set): Test if a condition code setter has a constant
11496 comparison at compile time, if so convert this insn to a no-op move
11497 and update/simplify the condition code user (undobuf.other_insn).
11498
23960aa5 114992002-09-08 Krister Walfridsson <cato@df.lth.se>
11500
11501 * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
11502 (CLEAR_INSN_CACHE): Define.
11503
7299020b 115042002-09-08 Kazu Hirata <kazu@cs.umass.edu>
11505
11506 * basic-block.h: Fix comment formatting.
11507 * c-common.c: Likewise.
11508 * c-common.h: Likewise.
11509 * c-lex.c: Likewise.
11510 * c-pretty-print.c: Likewise.
11511 * cfglayout.c: Likewise.
11512 * cfgloop.c: Likewise.
11513 * defaults.h: Likewise.
11514 * et-forest.c: Likewise.
11515 * explow.c: Likewise.
11516 * function.h: Likewise.
11517 * gcov.c: Likewise.
11518 * genattrtab.c: Likewise.
11519 * gengtype.c: Likewise.
11520 * ifcvt.c: Likewise.
11521 * libgcc2.c: Likewise.
11522 * loop.c: Likewise.
11523 * profile.c: Likewise.
11524 * ra-build.c: Likewise.
11525 * real.c: Likewise.
11526 * rtl.h: Likewise.
11527 * tracer.c: Likewise.
11528 * tree-inline.c: Likewise.
11529 * varasm.c: Likewise.
11530
97f8ce30 115312002-09-08 Jan Hubicka <jh@suse.cz>
11532
11533 * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
11534 handling.
11535
3b010427 11536 * loop.c (loop_givs_reduce): Emit addition after.
97f8ce30 11537
cdf91bb7 115382002-09-08 Alan Modra <amodra@bigpond.net.au>
11539
11540 * varasm.c (default_assemble_visibility): Rename from
11541 assemble_visibility.
11542 * output.h: Here too.
11543 * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
11544 * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
11545
96b2515b 115462002-09-08 Alan Modra <amodra@bigpond.net.au>
11547
11548 * reload.c (find_reloads <p constraint>): Pass operand_mode to
11549 find_reloads_address.
11550
7f713c04 115512002-09-08 Kazu Hirata <kazu@cs.umass.edu>
11552
11553 * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
11554 (anonymous pattern): Likewise.
11555
805e22b2 115562002-09-07 Igor Shevlyakov <igor@microunity.com>
11557
11558 * machmode.def: Add modes for half-float vectors.
11559
1bdc92bd 115602002-09-07 Scott Snyder <snyder@fnal.gov>
11561
11562 PR target/7374
11563 * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
11564
d7bfc642 115652002-09-07 Roger Sayle <roger@eyesopen.com>
11566
11567 * basic-block.h (struct loop): Remove unused cont_dominator field.
11568
81d2c65b 115692002-09-07 Igor Shevlyakov <igor@microunity.com>
11570
226e4024 11571 * varasm.c (decode_rtx_const): Don't check undefined field for
81d2c65b 11572 CONST_VECTOR.
11573
daa7b22b 115742002-09-07 Glen Nakamura <glen@imodulo.com>
11575
50ab37e0 11576 PR opt/7814
daa7b22b 11577 * sched-deps.c (sched_analyze_insn): Make sure to add insn
11578 to reg_last->sets after flushing the dependency lists to guarantee
11579 that subsequent clobbers will be dependent on it.
11580
77f1f7c1 115812002-09-07 Igor Shevlyakov <igor@microunity.com>
97f8ce30 11582
77f1f7c1 11583 * combine.c (simplify_shift_const): Calculate rotate count
11584 correctly for vector operands.
11585
e4d4d9ae 115862002-09-07 Ansgar Esztermann <ansgar@thphy.uni-duesseldorf.de>
11587
11588 * c-typeck.c (c_tree_expr_nonnegative_p): New function.
11589 (build_binary_op): Call c_tree_expr_nonnegative_p rather than
97f8ce30 11590 tree_expr_nonnegative_p.
e4d4d9ae 11591 (build_conditional_expr): Likewise.
11592 * c-tree.h (c_tree_expr_nonnegative_p): Declare.
11593
257715f4 115942002-09-07 Richard Henderson <rth@redhat.com>
11595
5bdbfb1d 11596 * builtins.def (inf, inff, infl): Mark const.
11597 (huge_val, huge_valf, huge_vall): Likewise.
11598 (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
11599
257715f4 11600 * real.c (ereal_inf): Clear E before use.
11601
66b1739b 116022002-09-07 Kazu Hirata <kazu@cs.umass.edu>
11603
11604 * config/h8300/h8300.md (udivmodqi4): Split the pattern into
11605 an expander and an anonymous pattern. Zero out the upper half
11606 of the dividend in the expander.
11607 (udivmodqi4): Likewise.
11608
9f56f86b 116092002-09-07 Kazu Hirata <kazu@cs.umass.edu>
11610
11611 * config/h8300/h8300.c: Fix formatting.
11612 * config/h8300/h8300.h: Likewise.
11613 * config/h8300/h8300.md: Likewise.
11614
42e9bc25 116152002-09-07 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11616
11617 * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
11618 information.
11619
ed3a6e06 116202002-09-07 Graham Stott <graham.stott@btinternet.com>
652b3e71 11621
11622 * rtlanal.c (dead_or_set_regno_p): Fix typo.
11623
2532673e 116242002-09-07 Alan Modra <amodra@bigpond.net.au>
11625
13864c73 11626 * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
11627
2532673e 11628 * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
11629 * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
11630 (TARGET_ASM_OUT): Add the above here.
11631 * target.h (struct gcc_target): Add "visibility" field.
11632 * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
11633 * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
11634 (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
11635 (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
11636
260fbc4e 116372002-09-06 Ziemowit Laski <zlaski@apple.com>
11638
11639 * c-lang.c (objc_is_id): New stub.
11640 * c-tree.h (objc_is_id): New forward declaration.
11641 * c-typeck.c (build_c_cast): Do not strip protocol
11642 qualifiers from 'id' type.
11643 * objc/objc-act.c (objc_comptypes): Correct handling
11644 of protocol qualifiers.
11645 (objc_is_id): New.
11646
68b4aff7 11647Fri Sep 6 13:10:08 2002 Jeffrey A Law (law@redhat.com)
11648
e4d4d9ae 11649 * pentium.md (pentium-firstvboth): Fix typo.
68b4aff7 11650
0650a2e5 116512002-09-06 Dhananjay Deshpande <dhananjayd@kpit.com>
11652
11653 * h8300.c (enum shift_alg): Move to earlier in h8300.c.
11654 (enum shift_type, enum h8_cpu): Likewise.
11655 (INL, ROT, LOP, SPC macros): Likewise.
11656 (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise. Lose
11657 const designator.
11658 (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
11659 space efficient algorithms when optimize for codesize.
11660
3e7fb307 11661Fri Sep 6 16:35:32 2002 Nicola Pero <n.pero@mi.flashnet.it>
11662
11663 Fix PR/1727 and long-standing failing testcase
11664 objc/formal-protocol-6.m.
11665 * objc-act.c (build_protocol_expr): If compiling for the GNU
11666 runtime, create a list of Protocol statically allocated instances
11667 if it doesn't exist, then add the Protocol object to this same
11668 list.
11669 (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
11670 instead of TREE_CHAIN.
11671
6ba3f656 11672Fri Sep 6 16:17:33 2002 Nicola Pero <n.pero@mi.flashnet.it>
11673
11674 * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
11675 10k. Fixed category dumping - print out category names with the
11676 proper syntax. Print '@end\n' and not '\n@end' at the end of the
11677 interface.
87d6356d 11678 (finish_objc): Fixed the -gen-decls option. It was printing out
6ba3f656 11679 only the last class. Dump an interface declaration of all classes
11680 being compiled instead.
11681
68121397 116822002-09-06 Jason Thorpe <thorpej@wasabisystems.com>
11683
97f8ce30 11684 * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
11685 prototype.
68121397 11686 * config/arm/arm.c (arm_gen_return_addr_mask): New function.
11687 * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
11688 if not APCS26 and not Thumb or ARMv4-or-higher. Use gen_int_mode
11689 rather than GEN_INT.
11690 * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
11691 (return_addr_mask, *check_arch2): New.
11692
7c3aefa0 116932002-09-06 Ulrich Weigand <uweigand@de.ibm.com>
11694
97f8ce30 11695 * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
7c3aefa0 11696 "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
97f8ce30 11697 "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
7c3aefa0 11698 "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
11699 "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
97f8ce30 11700 "adddf3", "*adddf3", "*adddf3_ibm",
7c3aefa0 11701 "addsf3", "*addsf3", "*addsf3_ibm",
11702 "muldi3", "mulsi3", "mulsidi3",
11703 "muldf3", "*muldf3", "*muldf3_ibm",
11704 "mulsf3", "*mulsf3", "*mulsf3_ibm",
11705 "*anddi3_cc", "*anddi3_cconly", "anddi3",
11706 "*andsi3_cc", "*andsi3_cconly", "andsi3",
11707 "*iordi3_cc", "*iordi3_cconly", "iordi3",
11708 "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
11709 "*xordi3_cc", "*xordi3_cconly", "xordi3",
11710 "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
11711 instead of "register_operand" as predicate for "%0" operand.
11712
5a49bf3e 117132002-09-06 Jakub Jelinek <jakub@redhat.com>
11714
11715 * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
11716 unconditionally when gcc_cv_as_flags64 checks are gone.
11717 * configure: Rebuilt.
11718
95e215c8 117192002-09-06 Alan Modra <amodra@bigpond.net.au>
11720
11721 * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
11722 2002-07-26 change. Comment.
11723
94c8ef7a 117242002-09-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11725
11726 * frv.c (frv_unique_section, frv_select_section,
11727 frv_select_rtx_section): Delete.
11728 (frv_in_small_data_p): New.
11729 (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
11730 TARGET_ASM_SELECT_RTX_SECTION): Delete.
11731 (TARGET_IN_SMALL_DATA_P): Define.
11732
8516f6b0 117332002-09-05 Dale Johannesen <dalej@apple.com>
11734
11735 * reload1.c (reload): Retain only those memory clobbers
11736 added for variable-array handling.
11737
1e00c159 117382002-09-05 Jason Thorpe <thorpej@wasabisystems.com>
11739
11740 * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
97f8ce30 11741 return-in-memory rules.
1e00c159 11742 * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
11743
a8b5ae7d 117442002-09-05 David Edelsohn <edelsohn@gnu.org>
11745
11746 * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
11747 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
11748
3d94d3fa 117492002-09-05 Jason Thorpe <thorpej@wasabisystems.com>
11750
11751 * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
11752 not a compile-time constant for the non-IBM case.
11753 * config/arm/arm-protos.h (arm_float_words_big_endian): New
97f8ce30 11754 prototype.
3d94d3fa 11755 * config/arm/arm.c (arm_float_words_big_endian): New function.
bdcf2d68 11756 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
97f8ce30 11757 if TARGET_VFP and not TARGET_HARD_FLOAT.
11758 (ARM_FLAG_VFP, TARGET_VFP): Define.
3d94d3fa 11759 (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
11760
12a86ec7 117612002-09-05 David Edelsohn <edelsohn@gnu.org>
11762
11763 * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
11764 URLs. Fix AIX wording.
11765
4cc55ca5 117662002-09-05 Stan Shebs <shebs@apple.com>
11767
11768 * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
11769 -fPIC equivalent on Darwin.
11770
dec9884d 11771Thu Sep 5 16:27:47 2002 J"orn Rennecke <joern.rennecke@superh.com>
11772
11773 * sh.c (sh_expand_builtin): Return early if encountering an
11774 error_mark for a type.
11775
e7f0624a 117762002-09-05 Ulrich Weigand <uweigand@de.ibm.com>
11777
11778 * config/s390/s390.c (s390_expand_plus_operand): Do not require
11779 double-word scratch register.
11780 config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
11781
97f8ce30 11782 ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
e7f0624a 11783 "*cli"): Replace s_operand by memory_operand.
11784 ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
11785
f3efae6b 117862002-09-05 Kazu Hirata <kazu@cs.umass.edu>
11787
11788 * config/h8300/h8300.c (asm_file_start): Add a missing
11789 semicolon.
11790
805e22b2 117912002-09-04 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
11792
11793 * c-typeck.c (build_function_call): Remove unused variable(s).
11794 (build_c_cast): Likewise.
11795 * calls.c (rtx_for_function_call): Likewise.
11796 * cfglayout.c (duplicate_insn_chain): Likewise.
11797 * cfgloop.c (flow_loop_nodes_find): Likewise.
11798 * cfgrtl.c (split_edge): Likewise.
11799 * df.c (df_ref_create): Likewise.
11800 * except.c (expand_end_catch): Likewise.
11801 * expr.c (emit_push_insn, store_constructor, expand_expr): Likewise.
11802 * function.c (emit_return_into_block): Likewise.
11803 (reposition_prologue_and_epilogue_notes): Likewise.
11804 * gengtype.c (get_file_basename, write_gc_structure_fields): Likewise.
11805 * combine.c (subst_prev_insn, need_refresh): Remove.
11806 * dwarf2out.c (primary_filename): Remove.
11807 * final.c (new_block): Remove.
11808 * gcse.c (orig_bb_count): Remove.
11809
118102002-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11811
11812 * dsp16xx-protos.h (dsp16xx_compare_gen): Change to bool.
11813 * dsp16xx.c (dsp16xx_compare_gen): Likewise.
11814 * dsp16xx.md: Treat dsp16xx_compare_gen as a bool. Call functions
11815 directly instead of using a function pointer.
11816
c4797f24 118172002-09-04 Krister Walfridsson <cato@df.lth.se>
11818
11819 * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
11820 * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
11821 (ix86_output_addr_diff_elt) Likewise.
11822 (x86_output_mi_thunk) Likewise.
11823 * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
11824
b2e4696d 118252002-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11826
11827 * frv.c (frv_encode_section_info): Fix error in last change.
11828
62afdbc8 118292002-09-04 David Edelsohn <edelsohn@gnu.org>
11830
11831 * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
11832 (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
11833 (TARGET_BINDS_LOCAL_P): Define.
11834 (rs6000_override_options): Save original flag_pic value.
11835 (rs6000_elf_select_section): Call default_elf_select_section_1.
11836 (rs6000_elf_unique_section): Call default_unique_section_1.
11837 (rs6000_elf_in_small_data_p): New function.
11838 (rs6000_xcoff_asm_named_section): Determine storage mapping class.
11839 (rs6000_xcoff_select_section): Update based on defaults.
11840 (rs6000_xcoff_unique_section): Set to basic name if not common.
11841 (rs6000_binds_local_p): New function.
11842 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
11843 targetm.have_srodata_section if SDATA_EABI.
11844 (TARGET_IN_SMALL_DATA_P): Define.
11845
c84319ac 118462002-09-04 Dale Johannesen <dalej@apple.com>
11847
11848 * varasm.c (struct rtx_const, decode_rtx_const):
11849 Make veclo and vechi fields not share storage.
11850
e29238fc 11851Thu Sep 5 00:34:33 2002 J"orn Rennecke <joern.rennecke@superh.com>
11852
11853 * loop.c (scan_loop): Don't mark separate insns out of a libcall
11854 for moving.
11855 (move_movables): Abort if we see the first insn of a libcall.
11856
92c43e3c 118572002-09-04 Richard Henderson <rth@redhat.com>
11858
11859 * builtin-types.def (BT_FN_FLOAT): New.
11860 (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
11861 * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
11862 BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
11863 * builtins.c (fold_builtin_inf): New.
11864 (fold_builtin): Call it.
11865 * real.c (ereal_inf): New.
11866 * real.h: Declare it.
11867 * doc/extend.texi: Document new builtins.
11868
38b13a9b 118692002-09-04 Richard Henderson <rth@redhat.com>
11870
11871 * cse.c (cse_insn): Avoid subreg games if the equivalence
11872 is already in the proper mode.
11873
d5d15736 118742002-09-04 Eric Botcazou <ebotcazou@multimania.com>
11875
11876 PR c/7102
11877 * optabs.c (expand_binop): Convert CONST_INTs in all cases.
11878
b6009807 118792002-09-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
11880
11881 * pa.md (setccfp0, setccfp1): New patterns.
11882
9125d8be 118832002-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11884
11885 * frv-protos.h (frv_init_builtins, frv_expand_builtin,
11886 frv_select_section, frv_select_rtx_section,
11887 frv_encode_section_info, frv_unique_section): Delete.
11888 * frv.c: Update for target hooks.
11889 * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
11890 SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
11891 EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
11892
bf8b8428 118932002-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11894
11895 * ip2k-protos.h (function_prologue, function_epilogue,
11896 encode_section_info): Update to match target hook specification.
11897 * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
11898 (function_prologue, function_epilogue, encode_section_info):
11899 Update to match target hook specification.
11900 * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
11901 ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
11902 (NOTICE_UPDATE_CC): Cast to void.
11903 * ip2k.md: Add defaults in switch statements.
11904
ebf61cc5 119052002-09-04 Janis Johnson <janis187@us.ibm.com>
11906
11907 * doc/trouble.texi (Interoperation): Update information about C++ ABI
11908 issues.
11909
2f32eff6 119102002-09-04 Jason Thorpe <thorpej@wasabisystems.com>
11911
11912 * config/sparc/t-netbsd64: Disable multilib for now.
11913
9292e3be 119142002-09-04 David Edelsohn <edelsohn@gnu.org>
11915
11916 * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
11917 * target.h (gcc_target): Add have_srodata_section member.
11918 * varasm.c (section_category): Add SECCAT_SRODATA.
11919 (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
11920 READONLY_SDATA_SECTION defined.
11921 (decl_readonly_section_1): True for SECCAT_SRODATA also.
11922 (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
11923 (default_unique_section_1): Likewise.
11924
2a075f91 119252002-09-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
11926
11927 * expr.c (emit_group_load): Revise to allow splitting TCmode source
11928 into DImode pieces.
11929
11930 * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
11931 * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
11932 for floating-point register class.
11933 * pa.c (function_arg): Fix handling of modes wider than one word for
11934 TARGET_64BIT.
11935
b4c1fc26 11936Wed Sep 4 18:48:10 2002 J"orn Rennecke <joern.rennecke@superh.com>
11937
11938 * combine.c (make_compound_operation): Don't generate zero / sign
11939 extensions in floating point modes.
11940
b724fad7 119412002-09-04 Janis Johnson <janis187@us.ibm.com>
11942
11943 * doc/c-tree.texi: Fix overfull hboxes.
11944 * doc/cppopts.texi: Ditto.
11945 * doc/extend.texi: Ditto.
11946 * doc/gty.texi: Ditto.
11947 * doc/invoke.texi: Ditto.
11948 * doc/makefile.texi: Ditto.
11949 * doc/rtl.texi: Ditto.
11950 * doc/standards.texi: Ditto.
11951 * doc/tm.texi: Ditto.
11952
f7c948c9 119532002-09-04 Richard Henderson <rth@redhat.com>
11954
11955 * c-common.c (builtin_define_with_hex_fp_value): New.
11956 (builtin_define_float_constants): Use it. Fix H_FLOAT mant_dig.
11957
22fd3ec7 119582002-09-04 Janis Johnson <janis187@us.ibm.com>
11959
11960 * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
11961 (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
11962 -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
11963 Warn that these options can break ABI compatibility.
11964
5fc9578e 119652002-09-04 Richard Henderson <rth@redhat.com>
11966
11967 * real.c (ereal_to_decimal): Add digits parameter.
11968 * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
11969 * c-pretty-print.c (pp_c_real_literal): Update call.
11970 * print-rtl.c (print_rtx): Likewise.
11971 * print-tree.c (print_node_brief, print_node): Likewise.
11972 * sched-vis.c (print_value): Likewise.
11973 * config/arc/arc.c (arc_print_operand): Likewise.
11974 * config/c4x/c4x.c (c4x_print_operand): Likewise.
11975 * config/i370/i370.h (PRINT_OPERAND): Likewise.
11976 * config/i386/i386.c (print_operand): Likewise.
11977 * config/i960/i960.c (i960_print_operand): Likewise.
11978 * config/ip2k/ip2k.c (asm_output_float): Likewise.
11979 * config/m32r/m32r.c (m32r_print_operand): Likewise.
11980 * config/m68hc11/m68hc11.c (print_operand): Likewise.
11981 * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
11982 ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
97f8ce30 11983 * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
5fc9578e 11984 ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
11985 * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
11986 ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
11987 * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
11988 ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
11989 * config/mips/mips.c (print_operand): Likewise.
11990 * config/ns32k/ns32k.c (print_operand): Likewise.
11991 * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
11992 * config/vax/vax.h (PRINT_OPERAND): Likewise.
11993 * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
11994
5f4442bc 119952002-09-04 Bob Wilson <bob.wilson@acm.org>
11996
11997 * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
11998 xtensa_multibss_section_type_flags.
11999 * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
12000
f4a22de3 120012002-09-04 Richard Henderson <rth@redhat.com>
12002
12003 * doc/install-old.texi: Don't mention enquire.
12004 * doc/sourcebuild.texi: Update float.h description.
12005
7e720070 12006Wed Sep 4 11:22:14 2002 J"orn Rennecke <joern.rennecke@superh.com>
12007
12008 * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
12009
805e22b2 120102002-09-03 Roger Sayle <roger@eyesopen.com>
12011
12012 * builtins.c (build_function_call_expr): Remove prototype, export
12013 as non-static and add a comment above function definition.
12014 (builtin_mathfn_code): New function to check for math builtins.
12015 (fold_builtin): Optimize sqrt(0.0) as 0.0, sqrt(1.0) as 1.0,
12016 exp(0.0) as 1.0, and log(1.0) as 0.0. Optimize exp(log(x)) and
12017 log(exp(x)) as x. Optimize sqrt(exp(x)) as exp(x/2.0) and
12018 log(sqrt(x)) as log(x)/2.0.
12019
12020 * tree.h: Prototype build_function_call_expr and builtin_mathfn_code
12021 in new "builtins.c" section. Place the build_range_type prototype
12022 with the other prototypes from "tree.c".
12023
12024 * fold-const.c (fold) [ABS_EXPR]: Fold fabs(sqrt(x)) as sqrt(x)
12025 and fabs(exp(x)) as exp(x). [MULT_EXPR]: Fold sqrt(x)*sqrt(y)
12026 as sqrt(x*y) and exp(x)*exp(y) as exp(x+y). [RDIV_EXPR]: Fold
12027 x/exp(y) as x*exp(-y).
12028
fb5a6c4c 120292002-09-03 David Edelsohn <edelsohn@gnu.org>
12030
12031 * varasm.c (default_section_type_flags): Append _1 to name with
12032 shlib parameter. Use original name to call new function with
12033 implicit flag_pic.
12034 (decl_readonly_section): Likewise.
12035 (default_elf_select_section): Likewise.
12036 (default_unique_section): Likewise.
12037 (default_bind_local_p): Likewise.
12038 (categorize_decl_for_section): Add shlib parameter to use in place
12039 of implicit flag_pic.
12040 * output.h: Declare new functions with _1 and shlib argument.
12041
b732d984 120422002-09-03 Janis Johnson <janis187@us.ibm.com>
12043
faf773c4 12044 * doc/install.texi: Fix typos, formatting problems, and obvious
12045 overfull/underfull boxes.
12046
b732d984 12047 * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
12048 * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
12049 include its file, compat.texi.
12050 * doc/compat.texi: New file with new chapter, Binary Compatibility.
12051
878d9b47 120522002-09-03 Neil Booth <neil@daikokuya.co.uk>
12053
12054 Debian BTS Bug #157416
12055 * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
12056 * cpplib.c (destringize_and_run): Kludge around getting
12057 tokens from in-progress macros.
12058 (_cpp_do__Pragma): Simplify.
12059
80e426a6 120602002-09-03 Steve Ellcey <sje@cup.hp.com>
12061
12062 * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
12063 (CPP_CPU_SPEC): Remove.
12064 (TARGET_CPU_CPP_BUILTINS): New.
12065 * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
12066 (CPP_SPEC): Remove.
12067 (TARGET_OS_CPP_BUILTINS): New.
12068 * config/ia64/linux.h (CPP_PREDEFINES): Remove.
12069 (TARGET_OS_CPP_BUILTINS): New.
12070 * config/ia64/aix.h (CPP_SPEC): Move some stuff to
12071 TARGET_OS_CPP_BUILTINS.
12072 (CPP_PREDEFINES): Remove.
12073 (CPLUSPLUS_CPP_SPEC): Remove.
12074 (TARGET_OS_CPP_BUILTINS): New.
12075
f3dde807 120762002-09-03 Richard Henderson <rth@redhat.com>
12077
12078 * Makefile.in (USER_H): Add ginclude/float.h.
12079 (FLOAT_H): Remove.
12080 (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
12081 (mostlyclean): Don't remove float.h intermediate files.
12082 (distclean): Don't remove float.h.
12083 * config.gcc: Remove all float_format references.
12084 * configure.in (float_format, float_h_file): Remove.
12085
12086 * c-common.c: Include tree-inline.h.
12087 (builtin_define_with_int_value): New.
12088 (builtin_define_type_precision): Use it.
12089 (builtin_define_float_constants): New.
12090 (cb_register_builtins): Use it. Define __FLT_RADIX__ and
12091 __FLT_EVAL_METHOD__.
12092 * defaults.h (TARGET_FLT_EVAL_METHOD): New.
12093 * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
12094 * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
12095 * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
12096 (TARGET_FLT_EVAL_METHOD): New.
12097
12098 * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
12099 config/float-i386.h, config/float-i64.h, config/float-m68k.h,
12100 config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
12101 * ginclude/float.h: New.
12102
9c50d93e 121032002-09-03 Stan Shebs <shebs@apple.com>
12104
12105 * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
12106 (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
12107 (PREFERRED_DEBUGGING_TYPE): Ditto.
12108 (ASM_OUTPUT_IDENT): Remove empty definition.
12109
23ebf0fe 121102002-09-03 Steve Ellcey <sje@cup.hp.com>
12111
12112 * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
12113 cxx_target.
12114 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
12115 handling routine for builtin pragma.
12116 * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
12117 Registered pragma handling routine.
12118 * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
12119 (ia64_hpux_add_pragma_builtin) New subroutine used by above.
12120 If builtin pragma seen for math routine and C89 conformance is
12121 requested use different math function in order to set errno.
12122 * t-ia64 (ia64-c.o): Add new rule for new file.
12123
957d1b91 121242002-09-03 Ulrich Weigand <uweigand@de.ibm.com>
12125
12126 * config/s390/s390.md ("movti"): Add Q->Q alternative.
12127 ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
12128 "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
97f8ce30 12129
12130 ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
957d1b91 12131 "*movsf_ss"): Remove.
12132
4a097641 121332002-09-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
12134
12135 * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
12136 Delete macros.
12137
74a99a3e 121382002-09-03 Arati Dikey <aratid@kpit.com>
12139
12140 * h8300.c (asm_file_start): Corrected optimization comment.
12141
f7551997 121422002-09-03 Stan Shebs <shebs@apple.com>
12143
12144 * c-lang.c (recognize_objc_keyword): Remove, no longer used.
12145 * c-tree.h (recognize_objc_keyword): Remove decl.
12146 * c-typeck.c (comp_target_types): Update a comment.
12147
8ba34dcd 121482002-09-03 Ulrich Weigand <uweigand@de.ibm.com>
12149
12150 * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
12151 and register validity checks.
12152 (general_s_operand): Adapt to s390_decompose_address interface change.
12153 (q_constraint): Likewise.
12154 (s390_expand_plus_operand): Likewise.
12155 (legitimiate_address_p): Likewise.
12156 (legitimate_la_operand_p): Likewise.
12157 (legitimize_la_operand): Likewise.
12158 (print_operand_address): Likewise.
12159 (print_operand): Likewise.
12160
01f22049 12161Tue Sep 3 11:32:14 2002 Nicola Pero <n.pero@mi.flashnet.it>
12162
12163 PR objc/5956:
12164 * objc/objc-act.c (build_typed_selector_reference): Fix typo which
97f8ce30 12165 was causing the new selector never to match the existing ones
12166 (Patch by Alexander Malmberg <alexander@malmberg.org>).
01f22049 12167
667ff8b8 121682002-09-03 Graham Stott <graham.stott@btinternet.com>
12169
12170 * config/i386/i386.md ("femms"): Add "memory" attr "none".
12171
121722002-09-03 Graham Stott <graham.stott@btinternet.com>
61ae98c7 12173
12174 * expr.c (expand_expr): Remove extraneous comment and code.
12175
805e22b2 121762002-09-02 Nathan Sidwell <nathan@codesourcery.com>
12177
12178 * stor-layout (finish_builtin_struct): Renamed and moved from c++
12179 frontend. Take chain of fields. Allow NULL alignment type.
12180 * tree.h (finish_builtin_struct): Declare.
12181
121822002-09-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12183
12184 * config/alpha/alpha.c config/alpha/alpha.h config/alpha/alpha.md
12185 config/alpha/elf.h config/alpha/unicosmk.h config/alpha/vms.h
12186 config/arc/arc.c config/arc/arc.h config/arm/aout.h
12187 config/arm/arm.c config/arm/arm.h config/arm/arm.md
12188 config/avr/avr.h config/d30v/d30v.h config/dbxcoff.h
12189 config/dbxelf.h config/elfos.h config/fr30/fr30.h config/frv/frv.h
12190 config/i386/i386.c config/i386/i386.md config/i386/sco5.h
12191 config/ia64/ia64.h config/ip2k/ip2k.h config/m68hc11/m68hc11.md
12192 config/m68k/hp320.h config/m68k/m68k.c config/m68k/m68k.md
12193 config/m68k/mot3300.h config/m68k/sgs.h config/m68k/tower-as.h
12194 config/m88k/m88k.c config/m88k/m88k.h config/mcore/mcore-pe.h
12195 config/mcore/mcore.c config/mips/mips.c config/mips/mips.h
12196 config/ns32k/ns32k.md config/pa/pa-linux.h config/pa/pa.c
12197 config/pa/pa.h config/pa/pa.md config/romp/romp.h
12198 config/rs6000/linux64.h config/rs6000/lynx.h
12199 config/rs6000/rs6000.c config/rs6000/sysv4.h config/rs6000/xcoff.h
12200 config/s390/s390.c config/s390/s390.md config/sh/sh.c
12201 config/sparc/sparc.c config/sparc/sysv4.h
12202 config/stormy16/stormy16.h dbxout.c defaults.h dwarf2out.c
12203 dwarfout.c except.c final.c varasm.c vmsdbgout.c: Replace
12204 ASM_OUTPUT_INTERNAL_LABEL macro with a call to the target hook.
12205
12206 * doc/tm.texi: Update docs.
12207 * default.h (ASM_OUTPUT_INTERNAL_LABEL): Don't define.
12208 * system.h (ASM_OUTPUT_INTERNAL_LABEL): Poison.
12209
122102002-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12211
12212 * Makefile.in (sdbout.o, insn-output.o): Depend on $(TARGET_H).
12213 * arc.c (arc_internal_label): New function.
12214 (TARGET_ASM_INTERNAL_LABEL): Set.
12215 * arc.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
12216 * arm.c (arm_internal_label): New function.
12217 (TARGET_ASM_INTERNAL_LABEL): Set.
12218 * arm.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
12219 * arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
12220 * i370.c (i370_internal_label): New function.
12221 (TARGET_ASM_INTERNAL_LABEL): Set.
12222 * i370.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
12223 * m68k/hp320.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
12224 * m68k.c (m68k_hp320_internal_label): New function.
12225 (TARGET_ASM_INTERNAL_LABEL): Set.
12226 * m88k.c (m88k_internal_label): New function.
12227 (TARGET_ASM_INTERNAL_LABEL): Set.
12228 * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
12229 * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Set to target hook.
12230 * genoutput.c (output_prologue): Include target.h in output file.
12231 * output.h (default_internal_label): Declare.
12232 * sdbout.c: Include target.h.
12233 * target-def.h (TARGET_ASM_INTERNAL_LABEL): Set and add to
12234 TARGET_ASM_OUT.
12235 * target.h (internal_label): Add to struct gcc_target.
12236 * varasm.c (default_internal_label): New function.
12237
122382002-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12239
12240 * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
12241 * avr.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12242 * c4x.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12243 * cris.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12244 * d30v.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12245 * darwin.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12246 * dsp16xx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12247 * elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12248 * h8300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12249 * i386/att.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12250 * i386/bsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12251 * i386/i386-coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12252 * i386/lynx-ng.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12253 * i386/lynx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12254 * i386/sco5.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12255 * i960/i960.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12256 * m68k/3b1.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12257 * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12258 * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12259 * m68k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12260 * m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12261 * m68k/tower-as.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12262 * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12263 * mcore.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12264 * mips.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12265 * mmix-protos.h (mmix_asm_output_internal_label): Likewise.
12266 * mmix.c (mmix_asm_output_internal_label): Likewise.
12267 * mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12268 * ns32k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12269 * pa.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12270 * pdp11.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12271 * romp.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12272 * rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12273 * sh/coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12274 * sh/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12275 * sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12276 * sparc/linux.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12277 * sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12278 * sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12279 * sparc/pbd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12280 * sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12281 * sparc.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12282 * sparc/vxsim.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12283 * stormy16.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12284 * svr3.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12285 * vax.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12286
12287 * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
12288
719c3cf4 122892002-08-31 Richard Henderson <rth@redhat.com>
12290
12291 * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
12292
63b8cd48 122932002-08-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
12294
12295 * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
12296
d16044bb 122972002-08-30 Richard Henderson <rth@redhat.com>
12298
2b6ffc9c 12299 PR opt/7515
d16044bb 12300 * c-objc-common.c: Include target.h.
12301 (c_cannot_inline_tree_fn): Don't auto-inline functions that
12302 don't bind locally. Factor setting DECL_UNINLINABLE.
12303 * Makefile.in (c-objc-common.o): Update.
12304
d462fee0 123052002-08-30 Janis Johnson <janis187@us.ibm.com>
12306
12307 * doc/install.texi (Configuration, Building): Fix a typo and
12308 some formatting directives.
12309
a22d2169 123102002-08-30 Paul Koning <pkoning@equallogic.com>
12311
12312 * doc/c-tree.texi (RDIV_EXPR): Fix typo.
12313 * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
12314 implemented" note.
12315 * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
12316 for alphabetic order.
12317 * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
12318 VAX_FLOAT_FORMAT. Remove reference to HOST_FLOAT_FORMAT.
12319 (VAX_HALFWORD_ORDER): Document.
12320 (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
12321 IEEE float format.
12322 (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
12323 (ASM_OUTPUT_LABEL_REF): Fix font.
12324 (CASE_VECTOR_SHORTEN_MODE): Ditto.
12325
bcf38155 123262002-08-30 Denis Chertykov <denisc@overta.ru>
12327
12328 * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
12329 stuff.
12330 (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
12331 CONST_DOUBLE constants.
97f8ce30 12332
ffed53c4 123332002-08-30 Jason Thorpe <thorpej@wasabisystems.com>
12334
12335 * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
12336 related defines to...
12337 (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
12338 * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
12339 as a no-op.
12340
d2fcdd8d 123412002-08-30 Krister Walfridsson <cato@df.lth.se>
12342
12343 * config/arm/arm.c (arm_asm_output_labelref): New function.
12344 * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
12345 * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
12346
08fa7b6a 123472002-08-29 Rodney Brown <rbrown64@csc.com.au>
12348
12349 * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
12350 memory exhausted" workarounds.
12351
59b7a777 123522002-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
12353
12354 * diagnostic.c (fancy_abort): Don't repeat "internal error".
12355 * toplev.c (crash_signal): Likewise.
12356
88bf0fb1 12357Fri Aug 30 00:33:37 2002 Nicola Pero <n.pero@mi.flashnet.it>
12358
12359 * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
12360 * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
12361 Extended, updated documentation.
12362 (-Wundeclared-selector): Documented.
12363
a4cad234 123642002-08-29 Jason Thorpe <thorpej@wasabisystems.com>
12365
12366 * config/chorus.h: Consistently define *_DEBUGGING_INFO with
12367 the value 1. Do not undef before defining.
12368 * config/darwin.h: Likewise.
12369 * config/dbx.h: Likewise.
12370 * config/dbxcoff.h: Likewise.
12371 * config/dbxelf.h: Likewise.
12372 * config/elfos.h: Likewise.
12373 * config/interix.h: Likewise.
12374 * config/lynx-ng.h: Likewise.
12375 * config/lynx.h: Likewise.
12376 * config/netware.h: Likewise.
12377 * config/psos.h: Likewise.
12378 * config/svr3.h: Likewise.
12379 * config/alpha/alpha.h: Likewise.
12380 * config/alpha/elf.h: Likewise.
12381 * config/alpha/vms.h: Likewise.
12382 * config/arc/arc.h: Likewise.
12383 * config/arm/aout.h: Likewise.
12384 * config/arm/coff.h: Likewise.
12385 * config/c4x/c4x.h: Likewise.
12386 * config/h8300/h8300.h: Likewise.
12387 * config/i386/cygwin.h: Likewise.
12388 * config/i386/djgpp.h: Likewise.
12389 * config/i386/gas.h: Likewise.
12390 * config/i386/gstabs.h: Likewise.
12391 * config/i386/i386-coff.h: Likewise.
12392 * config/i386/i386-interix.h: Likewise.
12393 * config/i386/sco5.h: Likewise.
12394 * config/i386/svr3dbx.h: Likewise.
12395 * config/i386/sysv3.h: Likewise.
12396 * config/i386/win32.h: Likewise.
12397 * config/i386/x86-64.h: Likewise.
12398 * config/i960/i960.h: Likewise.
12399 * config/ia64/ia64.h: Likewise.
12400 * config/ip2k/ip2k.h: Likewise.
12401 * config/m32r/m32r.h: Likewise.
12402 * config/m68k/3b1.h: Likewise.
12403 * config/m68k/3b1g.h: Likewise.
12404 * config/m68k/ccur-GAS.h: Likewise.
12405 * config/m68k/coff.h: Likewise.
12406 * config/m68k/hp2bsd.h: Likewise.
12407 * config/m68k/hp310g.h: Likewise.
12408 * config/m68k/hp320g.h: Likewise.
12409 * config/m68k/hp3bsd.h: Likewise.
12410 * config/m68k/hp3bsd44.h: Likewise.
12411 * config/m68k/linux-aout.h: Likewise.
12412 * config/m68k/m68k-aout.h: Likewise.
12413 * config/m68k/mot3300.h: Likewise.
12414 * config/m68k/netbsd.h: Likewise.
12415 * config/m68k/openbsd.h: Likewise.
12416 * config/m68k/pbb.h: Likewise.
12417 * config/m68k/plexus.h: Likewise.
12418 * config/m68k/sun2.h: Likewise.
12419 * config/m68k/sun3.h: Likewise.
12420 * config/m68k/tower-as.h: Likewise.
12421 * config/m68k/vxm68k.h: Likewise.
12422 * config/m88k/aout-dbx.h: Likewise.
12423 * config/m88k/m88k-aout.h: Likewise.
12424 * config/mcore/mcore-elf.h: Likewise.
12425 * config/mcore/mcore-pe.h: Likewise.
12426 * config/mips/elf.h: Likewise.
12427 * config/mips/elf64.h: Likewise.
12428 * config/mips/iris5gas.h: Likewise.
12429 * config/mips/iris6.h: Likewise.
12430 * config/mips/mips.h: Likewise.
12431 * config/mips/sni-gas.h: Likewise.
12432 * config/mmix/mmix.h: Likewise.
12433 * config/ns32k/netbsd.h: Likewise.
12434 * config/pa/pa64-hpux.h: Likewise.
12435 * config/romp/romp.h: Likewise.
12436 * config/rs6000/sysv4.h: Likewise.
12437 * config/rs6000/xcoff.h: Likewise.
12438 * config/sh/coff.h: Likewise.
12439 * config/sh/elf.h: Likewise.
12440 * config/sparc/linux64.h: Likewise.
12441 * config/sparc/liteelf.h: Likewise.
12442 * config/sparc/netbsd.h: Likewise.
12443 * config/sparc/openbsd.h: Likewise.
12444 * config/sparc/pbd.h: Likewise.
12445 * config/sparc/sp64-elf.h: Likewise.
12446 * config/sparc/sp86x-elf.h: Likewise.
12447 * config/sparc/sparc.h: Likewise.
12448 * config/vax/vax.h: Likewise.
12449 * config/vax/vaxv.h: Likewise.
12450
a0bbe9df 124512002-08-29 "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
12452
12453 * h8300.c (shift_alg_hi): Various tweaks to improve performance
12454 of HImode shifts.
12455 (get_shift_alg): Corresponding changes.
12456
a90feabe 124572002-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
12458
12459 * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
12460
0378dbdc 124612002-08-29 Richard Henderson <rth@redhat.com>
12462
12463 * expr.h (enum block_op_methods): New.
12464 (emit_block_move): Update prototype.
12465 * expr.c (block_move_libcall_safe_for_call_parm): New.
12466 (emit_block_move_via_loop): New.
12467 (emit_block_move): Use them. New argument METHOD.
12468 (emit_push_insn): Always respect the given alignment.
12469 (expand_assignment): Update call to emit_block_move.
12470 (store_expr, store_field, expand_expr): Likewise.
12471 * builtins.c (expand_builtin_apply): Likewise.
12472 (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
12473 * function.c (expand_function_end): Likewise.
12474 * config/sh/sh.c (sh_initialize_trampoline): Likewise.
12475 * config/sparc/sparc.c (sparc_va_arg): Likewise.
12476 * calls.c (expand_call, emit_library_call_value_1): Likewise.
12477 (save_fixed_argument_area): Use emit_block_move with
12478 BLOCK_OP_CALL_PARM instead of move_by_pieces.
12479 (restore_fixed_argument_area): Likewise.
12480 (store_one_arg): Fix alignment parameter to emit_push_insn.
12481
71012db2 124822002-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
12483
12484 * install.texi (hppa64-hp-hpux11*): Document installation procedure.
12485
1153c2dc 124862002-08-29 Catherine Moore <clm@redhat.com>
b2ceeb6c 12487
12488 * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
12489 NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
12490 (PREDICATE_CODES): Include new predicates.
12491 (RTX_COSTS): Handle UMOD and UDIV. Tune MULT for v850e.
12492 (TARGET_SWITCHES): Add strict-align.
12493 (TARGET_STRICT_ALIGN): New.
97f8ce30 12494 (MASK_DEFAULT, STRICT_ALIGNMENT): Redefine.
b2ceeb6c 12495 * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
12496 Define.
12497 (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
12498 v850_muldi3.
12499 * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
12500 L_callt_save_r2_r31, L_return_r2_r31,
12501 L_save_all_interrupt): Change addi to add.
12502 (L_save_interrupt, L_return_interrupt): Rework.
12503 (__return_r31): Correct .size directive.
12504 (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
12505 (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
12506 New routines.
12507 * config/v850/v850.c (expand_prologue): Call
12508 gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
12509 gen_callt_return_interrupt and gen_callt_save_all_interrupt.
12510 (reg_or_int9_operand): New predicate.
12511 (reg_or_const_operand): New routine.
12512 * config/v850/v850.md (return_interrupt): Changed from
12513 restore_interrupt.
12514 (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
12515 (callt_save_interrupt): Change save sequence.
12516 (callt_return_interrupt): New.
12517 (save_interrupt): Don't use runtime function for LONG_CALLS
12518 and TARGET_PROLOG_FUNCTION.
12519 (save_all_interrupt): Likewise.
12520 (mulsi3): Use new predicate.
12521 (moviscc): Disallow some combination of constants.
12522 Fix define_split for sasf insns, so that it will not generate bad
12523 code if operand0 and operand5 are the same.
12524 * config/v850/v850-protos.h: Prototype new predicates.
12525
805e22b2 125262002-08-29 Zack Weinberg <zack@codesourcery.com>
12527
12528 * config/rs6000/rs6000.c (processor_target_table): Add 405f.
12529 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
12530
a487a021 125312002-08-28 Gabriel Dos Reis <gdr@integrable-solutions.net>
12532
12533 * c-common.c (builtin_define_type_precision): New function.
12534 (cb_register_builtins): Use it. Define __WCHAR_UNSIGNED__ is
12535 wchar_t is unsigned in C++.
12536 * doc/cpp.texi (Common Predefined Macros): Document
12537 __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
12538 __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
12539 __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
12540
fe0481a4 125412002-08-28 Sylvain Pion <pion@cs.nyu.edu>
12542
12543 * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
12544 section. Mention that it is enabled by -Wall.
12545 (-Wall): Mention that there can be language-specific warnings as well.
12546 (-Wctor-dtor-privacy): Mention that it is enabled by default.
12547 (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
12548
154b29aa 12549Wed Aug 28 15:35:17 2002 J"orn Rennecke <joern.rennecke@superh.com>
12550
12551 * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
12552 if it is ever live.
12553
12554 * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
12555 attribute for SHCOMPACT.
12556
12557 * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
12558 appropriately.
12559 (FUNCTION_BOUNDARY): Specify only the minimum alignment required
12560 by the ABI.
12561
12562 * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
12563
52b9a586 125642002-08-28 Jason Thorpe <thorpej@wasabisystems.com>
12565
12566 * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
12567 "MASK_GAS|MASK_ABICALLS".
12568 * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
12569 (TARGET_DEFAULT): Remove.
12570 (MACHINE_TYPE): Undefine before defining.
12571 (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
12572
84fb34c4 125732002-08-27 Mark Mitchell <mark@codesourcery.com>
12574
12575 * c-common.c (warn_abi): New variable.
12576 * c-common.h (warn_abi): Likewise.
12577 * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
12578 (c_common_decode_option): Handle it.
f61c6098 12579 * doc/invoke.texi: Document -Wabi.
97f8ce30 12580
a70e45e3 12581Tue Aug 27 23:03:52 2002 Nicola Pero <n.pero@mi.flashnet.it>
12582
12583 * c-common.c (warn_undeclared_selector): New variable.
12584 * c-common.h (warn_undeclared_selector): Idem.
12585 * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
12586 to on when -Wundeclared-selector is found.
12587 (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
12588 * objc/objc-act.c (build_selector_expr): If
12589 warn_undeclared_selector is set, check that the selector has
12590 already been defined, and emit a warning if not.
12591
5dd3389c 125922002-08-27 Nick Clifton <nickc@redhat.com>
e4d4d9ae 12593 Catherine Moore <clm@redhat.com>
12594 Jim Wilson <wilson@cygnus.com>
12595
12596 * config.gcc: Add v850e-*-* target.
12597 Add --with-cpu= support for v850.
12598 * config/v850/lib1funcs.asm: Add v850e callt functions.
12599 * config/v850/v850.h: Add support for v850e target.
12600 * config/v850/v850.c: Add functions to support v850e target.
12601 * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
12602 * config/v850/v850.md: Add patterns for v850e instructions.
12603 * doc/invoke.texi: Document new v850e command line switches.
5dd3389c 12604
8a4dee20 12605Tue Aug 27 18:30:47 2002 J"orn Rennecke <joern.rennecke@superh.com>
12606 Aldy Hernandez <aldyh at redhat dot com>
12607
12608 * doc/tm.texi: Applied numerous fixes to the automaton based
12609 scheduler descrition.
12610
564864ac 12611Tue Aug 27 19:51:05 CEST 2002 Jan Hubicka <jh@suse.cz>
12612
12613 * i386.c (classify_argument): Handle variable sized objects.
12614
843a8728 12615Tue Aug 27 19:18:16 CEST 2002 Jan Hubicka <jh@suse.cz>
12616
12617 * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
12618
ea83a6ee 12619Tue Aug 27 18:01:45 CEST 2002 Jan Hubicka <jh@suse.cz>
12620
12621 * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
12622
10b1bedb 12623Tue Aug 27 18:00:11 CEST 2002 Jan Hubicka <jh@suse.cz>
12624
12625 * i386.c (classify_argument): Properly compute word size of the analyzed object.
12626
ab55c58f 12627Tue Aug 27 14:39:09 2002 J"orn Rennecke <joern.rennecke@superh.com>
12628
12629 * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
12630 mac_gp ftrc_s and cwb. Add / Adjust definitions in individual insn
12631 accordingly.
12632 (attribute insn_class): Provide default definitions based on type.
12633 Remove all insn-specific settings.
12634 (various function units): Remove old SH4 scheduling.
12635 (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
12636 New attributes. Set them where appropriate.
12637 (cpu unit FS): Don't define / use.
12638 (F3, load_store): New cpu units.
12639 (F01): New reservation.
12640 (all insn_reservations): Make dependent on sh4 pipeline model.
12641 Fix latencies.
12642 (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
12643 (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
12644 (mt insn_reservation): Use type mt_group.
12645 (insn_reservation load_store): Split into sh4_load, sh4_load_si,
12646 sh4_fload and sh4_store.
12647 (insn_reservation branch_zero and branch): Replace with sh4_branch.
12648 (insn_reservation branch_far): Replace with sh4_return.
12649 (insn_reservation return_from_exp): Rename to:
12650 (sh4_return_from_exp). Change to be just d_lock*5.
12651 (insn_reservation lds_to_pr): Rename to:
12652 (sh4_lds_to_pr). Change to be just d_lock*2.
12653 (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
12654 d_lock*2.
12655 (insn_reservation prload_mem): Rename to:
12656 (sh4_prstore_mem). Change to d_lock*2,nothing,memory.
12657 (insn_reservation fpscr_store): Rename to:
12658 (fpscr_load). Change to d_lock,nothing,F1*3.
12659 (insn_reservation fpscr_store_mem): Rename to:
12660 (fpscr_load_mem). Change to d_lock,nothing,(F1+memory),F1*2.
12661 (insn_reservation multi): Change to
12662 d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
12663 (insn_reservation fp_arith): Change to issue,F01,F2.
12664 (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
12665 (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
12666 (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
12667 (insn_reservation fp_double_cmp): Change to
12668 d_lock,(d_lock+F01),F1+F2,F2.
12669 (insn_reservation dp_div): Change to
12670 issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
12671 * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
12672 (sh_adjust_cost, SHcompact): Differentiate between different
12673 kinds of dependencies. Drop factor of ten for superscalar.
12674 Use new instruction types. Add new exception rules.
12675
12676 * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
12677
12678 * sh.md (mperm_w): Add DONE.
12679
227c963b 126802002-08-27 David Edelsohn <edelsohn@gnu.org>
12681
12682 * longlong.h: Import current PowerPC defintion from GMP-4.1.
12683
12684 * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
12685
12686 * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
12687
030466b7 12688Tue Aug 27 13:53:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
12689
12690 * sh.h (MAX_FIXED_MODE_SIZE): Define.
12691
d77f5d31 126922002-08-27 Gabriel Dos Reis <gdr@soliton.integrable-solutions.net>
12693
12694 * doc/cpp.texi (Common Predefined Macros): Don't mess with table
97f8ce30 12695 delimiter.
d77f5d31 12696
9a479bee 126972002-08-27 Gabriel Dos Reis <gdr@integrable-solutions.net>
12698
12699 * c-common.c (cpp_define_data_format): New function.
12700 (cb_register_builtins): Call it.
12701
12702 * doc/cpp.texi (Common Predefined Macros): Document
12703 __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
12704 __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
12705 __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
12706 __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
12707 __TARGET_USES_VAX_H_FLOAT__.
12708
fa938c8f 127092002-08-26 Ziemowit Laski <zlaski@apple.com>
12710
12711 * objc/objc-act.c (get_super_receiver): If inside a class method
12712 of a category, cast the receiver to 'id' before accessing the 'isa'
12713 field so that <objc/objc-class.h> is not needed. For NeXT runtime.
12714
9a2a66ae 127152002-08-26 Ulrich Weigand <uweigand@de.ibm.com>
12716
97f8ce30 12717 * config/s390/s390-protos.h (s390_function_prologue,
9a2a66ae 12718 s390_function_epilogue): Remove.
12719 config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
12720 TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
12721
12722 config/s390/s390.c (s390_machine_dependent_recorg): New function.
12723 config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
12724 config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
12725 config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
12726 to being called from MACHINE_DEPENDENT_REORG. Update regs_ever_live.
12727
97f8ce30 12728 config/s390/s390.c (s390_frame_info): Inline save_fprs_p. Always
9a2a66ae 12729 assume BASE_REGISTER and RETURN_REGNUM need to be saved.
12730 (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
12731 function is not a leaf function. Use save_gprs and restore_gprs.
12732 (s390_emit_epilogue): Likewise.
12733 (save_gprs, restore_gprs): New functions.
12734 (struct s390_frame): Remove return_reg_saved_p member.
12735 (save_fprs_p): Remove.
12736 (s390_optimize_prolog): New function.
12737 (s390_legitimate_reload_constant): Remove now unnecessary check.
12738
12739 (s390_function_count): Remove.
12740 (s390_output_symbolic_const): Replace s390_function_count by
12741 current_function_funcdef_no.
12742 (s390_output_constant_pool): Likewise.
12743
12744 (legitimize_pic_address): Use regs_ever_live to track PIC register
12745 instead of current_function_uses_pic_offset_table.
12746 (s390_emit_prologue): Likewise.
12747 config/s390/s390.md ("call", "call_value"): Likewise.
12748
c03e12a1 127492002-08-26 Neil Booth <neil@daikokuya.co.uk>
12750
12751 * c-opts.c (find_opt): Don't complain about wrong languages
12752 here. Return exact matches even for wrong language.
12753 (c_common_decode_option): Complain about wrong languages
12754 here.
12755
04396483 127562002-08-24 Stuart Hastings <stuart@apple.com>
12757
12758 * function.h (struct function): Add flag
12759 all_throwers_are_sibcalls.
12760 * except.c (set_nothrow_function_flags): Replaces
12761 nothrow_function_p. Set new flag.
12762 * except.h (set_nothrow_function_flags): Replaces
12763 nothrow_function_p.
12764 * dwarf2out.c (struct dw_fde_struct): Add flag
12765 all_throwers_are_sibcalls.
12766 (output_call_frame_info): Test it.
12767 (dwarf2out_begin_prologue) Propagate it from cfun to
12768 dw_fde_struct.
12769 * toplev.c (rest_of_compilation): Update calls to
12770 nothrow_function_p.
12771
ff34fd94 127722002-08-23 Zack Weinberg <zack@codesourcery.com>
12773
12774 * ggc-page.c (compute_inverse): Short circuit calculation for
12775 object sizes larger than half a page.
12776
a2a1eb8a 127772002-08-23 David Edelsohn <edelsohn@gnu.org>
12778
12779 * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
12780 DEFAULT_ABI == ABI_AIX like PIC. Test PIC & reloc for readonly
12781 default.
12782 (rs6000_elf_unique_section): Likewise.
12783
554fe7d1 127842002-08-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12785
12786 * ns32k.c (ns32k_globalize_label): Delete.
12787 * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
12788
94493f7d 127892002-08-23 Alan Modra <amodra@bigpond.net.au>
12790
12791 * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
12792 for loading delta with num_insns_constant_wide. Calculate
12793 delta_low, delta_high without using a conditional.
12794
852c026b 127952002-08-22 Jason Merrill <jason@redhat.com>
12796
12797 * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
12798 * c-common.def: Adjust.
12799 * c-dump.c (c_dump_tree): Adjust.
12800 * c-semantics.c (genrtl_return_stmt): Adjust.
12801 * c-pretty-print.c (pp_c_statement): Adjust.
12802 * tree-inline.c (copy_body_r): Adjust.
12803
40b9be5e 128042002-08-22 Zack Weinberg <zack@codesourcery.com>
12805
12806 * ggc-page.c: Avoid division in ggc_set_mark.
12807 (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
12808 compute_inverse): New.
12809 (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
12810 (init_ggc): Initialize inverse_table.
12811
ba866f68 128122002-08-22 Tom Tromey <tromey@redhat.com>
12813
12814 * doc/install.texi (Configuration): Document --datadir.
12815
f64eb42e 128162002-08-22 Alexandre Oliva <aoliva@redhat.com>
12817
12818 * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
12819
2f3d127e 128202002-08-22 Hans-Peter Nilsson <hp@bitrange.com>
12821
12822 * gengtype-lex.l (ID): Allow underscore as first character.
12823
f9648009 128242002-08-21 David Edelsohn <edelsohn@gnu.org>
12825
12826 * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
12827 function.
12828 (rs6000_xcoff_asm_named_section): Rename.
12829 * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
12830
d50b22af 128312002-08-21 Tom Tromey <tromey@redhat.com>
12832
12833 For PR java/6005 and PR java/7611:
12834 * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
12835 (fold): Likewise.
12836 * langhooks.c (lhd_can_use_bit_fields_p): New function.
12837 * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
12838 (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
12839 (LANG_HOOKS_INITIALIZER): Use it.
12840 * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
12841 field.
12842
d30e015b 128432002-08-21 Stan Shebs <shebs@apple.com>
12844
12845 * tree.c (finish_vector_type): Fix a typo in a comment.
12846 * Makefile.in: Fix "the the" stutters in comments.
12847 * genautomata.c: Ditto.
12848 * ifcvt.c: Ditto.
12849 * regrename.c: Ditto.
12850 * config/alpha/alpha.c: Ditto.
12851 * config/alpha/vms-crt0-64.c: Ditto.
12852 * config/alpha/vms-crt0.c: Ditto.
12853 * config/alpha/vms-psxcrt0-64.c: Ditto.
12854 * config/alpha/vms-psxcrt0.c: Ditto.
12855 * config/d30v/d30v.h: Ditto.
12856 * config/fr30/fr30.h: Ditto.
12857 * config/rs6000/rs6000.c: Ditto.
12858 * config/stormy16/stormy16.h: Ditto.
12859 * doc/md.texi: Ditto.
40b9be5e 12860
660df249 128612002-08-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
12862
12863 * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
12864
594cf47e 128652002-08-21 Joseph S. Myers <jsm@polyomino.org.uk>
12866
12867 * c-decl.c (grokdeclarator): Make invalid combinations with long,
12868 short, signed or unsigned into hard errors. Fixes PR c/4319.
12869 Also make duplicate modifiers such as "short short" into hard
12870 errors.
12871
95304098 128722002-08-21 Andrew Pinski <pinskia@physics.uc.edu>
40b9be5e 12873 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
95304098 12874
12875 * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
12876 to the actual end. Add '@end table' and '@table @code'.
40b9be5e 12877
0da71ef8 128782002-08-20 Geoffrey Keating <geoffk@redhat.com>
12879
8ca9f7b5 12880 * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
12881
0da71ef8 12882 * unroll.c (biv_total_increment): Don't try to compute the total
12883 increment for FP BIVs.
12884
67c1e638 128852002-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12886
12887 * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
12888 * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
12889 ASM_OUTPUT_ALIGNED_BSS): Use target hook.
12890 * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
12891 * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
12892 * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
12893 (GLOBAL_ASM_OP): Define.
12894 * arm.c (aof_globalize_label): New function.
12895 (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
12896 * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
12897 * c4x.c (c4x_globalize_label): New function.
12898 (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
12899 * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
12900 (GLOBAL_ASM_OP): Define.
12901 * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
12902 * darwin-protos.h (darwin_globalize_label): Declare.
12903 * darwin.c (darwin_globalize_label): New function.
12904 * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
12905 (ASM_GLOBALIZE_LABEL): Delete.
12906 (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
12907 * dsp16xx.c (asm_output_common): Use target hook.
12908 * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
12909 * frv.h (ASM_GLOBALIZE_LABEL): Delete.
12910 (GLOBAL_ASM_OP): Define.
12911 * i370.c (i370_globalize_label): New function.
12912 (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
12913 * i370.h (ASM_GLOBALIZE_LABEL): Delete.
12914 * i386.c (ix86_asm_file_end): Use target hook.
12915 * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
12916 (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
12917 * ia64.c (ia64_asm_output_external): Likewise.
12918 * ia64/sysv4.h: Update comment.
12919 * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
12920 * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
12921 * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
12922 * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
12923 * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
12924 * mmix-protos.h (mmix_asm_globalize_label): Delete.
12925 * mmix.c (mmix_asm_globalize_label): Likewise.
12926 * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
12927 (GLOBAL_ASM_OP): Define.
12928 * ns32k.c (ns32k_globalize_label): New function.
12929 * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
12930 (ASM_GLOBALIZE_LABEL): Delete.
12931 * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
12932 (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
12933 * pa.c (pa_globalize_label): New function.
12934 * pa.h (ASM_GLOBALIZE_LABEL): Delete.
12935 (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
12936 * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
12937 (GLOBAL_ASM_OP): Define.
12938 (TARGET_ASM_GLOBALIZE_LABEL): Undef.
12939 * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
12940 * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
12941 (GLOBAL_ASM_OP): Define.
12942 * v850.c (v850_output_aligned_bss): Use target hook.
12943 * vax.c (vms_globalize_label): New function.
12944 (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
12945 * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
12946 (GLOBAL_ASM_OP): Define.
12947 * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
12948 * doc/tm.texi: Update docs.
12949 * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
12950 target hook.
12951 * final.c (output_alternate_entry_point): Likewise.
12952 * hooks.c (hook_FILEptr_constcharptr_void): New function.
12953 * hooks.h (hook_FILEptr_constcharptr_void): Declare.
12954 * output.h (assemble_global): Delete.
12955 (default_globalize_label): Declare.
12956 * system.h (ASM_GLOBALIZE_LABEL): Poison.
12957 * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
12958 (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
12959 * target.h (gcc_target): Add globalize_label member.
12960 * varasm.c (asm_output_bss, asm_output_aligned_bss,
12961 globalize_decl): Use target hook.
12962 (assemble_global): Delete.
12963 (default_globalize_label): New function.
12964
1ac31797 129652002-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12966
12967 * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
12968
724dc002 129692002-08-20 Devang Patel <dpatel@apple.com>
12970 * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
40b9be5e 12971
7fe1d31c 129722002-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12973
12974 * arc.c (output_shift): Use stdio instead of asm_fprintf.
12975 * arm.c (thumb_output_function_prologue): Likewise.
12976 * avr.c (print_operand): Likewise.
12977 * c4x.c (c4x_print_operand): Likewise.
12978 * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
12979 ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
12980 * cris.c (cris_target_asm_function_prologue,
12981 cris_asm_output_mi_thunk): Likewise.
12982 * h8300.c (print_operand): Likewise.
12983 * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12984 * ip2k.c (print_operand): Likewise. Fix format specifier.
12985 * m68hc11.c (asm_print_register, print_operand,
12986 print_operand_address): Use stdio instead of asm_fprintf.
12987 (print_operand_address): Fix format specifier.
12988 * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
12989 ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
12990 asm_fprintf.
12991 * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12992 * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12993 * m68k.c (m68k_output_function_prologue,
12994 m68k_output_function_epilogue, print_operand): Likewise.
12995 * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
12996 Likewise. Fix format specifier.
12997 * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12998 * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12999 * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
13000
2857c21b 130012002-08-15 Eric Christopher <echristo@redhat.com>
13002 Jeff Knaggs <jknaggs@redhat.com>
13003
13004 * config.gcc (mipsisa64sr71k-elf): New target.
13005 * config/mips/sr71k.md: New file.
13006 * config/mips/mips.md: Use it.
13007 (rot*): Add sr71k specifics.
13008 * config/mips/t-sr71k: New file.
13009 * config/mips/mips.h (sr71k): New cpu.
13010 (TARGET_SR71K): Use it.
13011 (TUNE_SR71K): Ditto.
13012 (GENERATE_BRANCHLIKELY): Ditto.
13013 (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
13014 ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
13015 * config/mips/mips.c (sr71k): New cpu.
13016 (mips_use_dfa_pipeline_interface): Use.
13017
130182002-08-15 Eric Christopher <echristo@redhat.com>
40b9be5e 13019 Richard Sandiford <rsandifo@redhat.com>
2857c21b 13020 Aldy Hernandez <aldyh@redhat.com>
13021 Graham Stott <grahams@redhat.com>
13022 Michael Meissner <meissner@redhat.com>
13023 Gavin Romig-Koch <gavin@redhat.com>
13024 Ken Raeburn <raeburn@cygnus.com>
13025 Alexandre Oliva <aoliva@redhat.com>
13026
13027 * config.gcc (mips64vr-elf): New target.
13028 * config/mips/5400.md: New file.
13029 * config/mips/5500.md: Ditto.
13030 * config/mips/mips.md: Use them.
13031 (frsqrt): New.
13032 * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
13033 cpus.
13034 (mips_issue_rate): Use them.
13035 (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
13036 (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
13037 * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
13038 cpus.
13039 (TARGET_MIPSx): Use them.
13040 (TUNE_MIPSx): Ditto.
13041 (GETNATE_MULT3_SI): Ditto.
13042 (ISA_HAS_BRANCHLIKELY): Ditto.
13043 (ISA_HAS_CONDMOVE): Ditto.
13044 (ISA_HAS_NMADD_NMSUB): Ditto.
13045 (ISA_HAS_MULHI): New. Ditto.
13046 (ISA_HAS_MULS): Ditto.
13047 (ISA_HAS_MSAC): Ditto.
13048 (ISA_HAS_MACC): Ditto.
13049 (ISA_HAS_ROTR_SI): Ditto.
13050 (ISA_HAS_ROTR_DI): Ditto.
13051 (RTX_COSTS): Use.
13052
23afa2fb 130532002-08-20 John David Anglin <dave@hiauly1.hia.nrc.ca>
13054
13055 * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
13056 at head.
13057 (remove_dup_nonsys_dirs): New function.
13058 (remove_dup_dirs): Change argument head to head_ptr. Remove warnings.
13059 (merge_include_chains): Remove non-system include directories from
13060 quote and bracket include chains when they duplicate equivalent system
13061 directories.
13062 * doc/cpp.texi (-I): Update.
40b9be5e 13063 * doc/cppopts.texi (-I): Update.
13064 * doc/install.texi (--with-local-prefix): Further document usage of
23afa2fb 13065 this option.
13066 * doc/invoke.texi (-I): Update.
13067
c0bfc78e 130682002-08-20 Richard Henderson <rth@redhat.com>
13069
13070 * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
13071 (emit_block_move): Split out subroutines.
13072 (emit_block_move_via_movstr): New.
13073 (emit_block_move_via_libcall): New. Emit bcopy via normal call also.
13074 (emit_block_move_libcall_fn): New. Construct function prototype for
13075 bcopy as well.
13076 (clear_storage): Split out subroutines.
13077 (clear_storage_via_clrstr): New.
13078 (clear_storage_via_libcall): New. Emit bzero as a normal call also.
13079 (clear_storage_libcall_fn): New. Construct function prototype for
13080 bzero as well.
13081 (emit_push_insn): Use emit_block_move.
13082 (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
13083 (store_constructor): Likewise.
13084
f81eb95e 130852002-08-19 Ziemowit Laski <zlaski@apple.com>
13086
13087 * objc/objc-act.c (building_objc_message_expr): Rename to
13088 current_objc_message_selector.
13089
06ab76a1 130902002-08-19 Ziemowit Laski <zlaski@apple.com>
13091
13092 * objc/objc-act.c (build_ivar_chain): Remove.
13093 (objc_copy_list): Likewise.
13094 (get_class_ivars): Inline call to removed build_ivar_chain
13095 function. Save off a clean copy of ivars in the CLASS_OWN_IVARS
13096 slot; use that slot (rather than CLASS_IVARS) when accessing
13097 ivars for base classes. Call copy_list and chainon instead of
13098 objc_copy_list.
13099 (build_private_template): Call get_class_ivars instead of
13100 build_ivar_chain.
13101 (start_class): Allocate room for the CLASS_OWN_IVARS slot.
2857c21b 13102 (continue_class): Call get_class_ivars instead of
06ab76a1 13103 build_ivar_chain.
13104 (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
13105 of DECL_BIT_FIELD (which may have been cleared).
13106 * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
13107
72d3c9a0 131082002-08-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13109
13110 * genautomata.c (output_translate_vect, output_state_ainsn_table,
13111 output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
13112 in output file.
13113 (output_internal_min_issue_delay_func): Initialize variable in
13114 output file.
13115
b6ccbce8 131162002-08-19 Alexandre Oliva <aoliva@redhat.com>
13117
13118 * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
13119 (stage2_build, stage3_build, stage4_build): Likewise, to CC.
13120
dd067362 131212002-08-19 Geoffrey Keating <geoffk@redhat.com>
13122 Steve Ellcey <sje@cup.hp.com>
13123
13124 * machmode.h (SCALAR_INT_MODE_P): New macro to test for
13125 scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
13126 * explow.c (trunc_int_for_mode): Abort when the mode is not
13127 a scaler integer mode.
13128 * combine.c (expand_compound_operation): Don't expand Vector
13129 or Complex modes into shifts.
13130 (expand_field_assignment): Don't do bitwise arithmatic and
13131 shifts on Vector or Complex modes.
13132 (simplify_comparison): Don't call trunc_int_for_mode
13133 for VOIDmode.
13134 * recog.c (general_operand): Likewise.
13135 (immediate_operand): Likewise.
13136 (nonmemory_operand): Likewise.
13137
e34d9322 131382002-08-19 David Edelsohn <edelsohn@gnu.org>
13139
13140 * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
13141 multi-instruction SImode constant. Add REG_EQUAL note.
13142 * config/rs6000/rs6000.md (movsi splitter): Use
2857c21b 13143 rs6000_emit_set_const.
e34d9322 13144
3369c8f6 131452002-08-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13146
13147 * tree-inline.c (initialize_inlined_parameters): Wrap variable in
13148 the macro test controlling its use.
13149
4aa81c94 131502002-08-18 H.J. Lu (hjl@gnu.org)
13151
13152 * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
13153 crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
13154 gnu_ld=yes.
13155 (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
13156 i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
13157 s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
13158 xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
13159 here.
13160 (cris-*-linux*): Remove setting thread_file here.
13161
7df49dcc 131622002-08-18 Neil Booth <neil@daikokuya.co.uk>
13163
13164 PR preprocessor/7602
13165 * cppinit.c (path_include): Treat the system environment
13166 variables as being cxx_aware.
13167
ce09bc13 131682002-08-17 Joseph S. Myers <jsm@polyomino.org.uk>
13169
13170 * c-decl.c (flexible_array_type_p): New function.
13171 (grokdeclarator, finish_struct): Use it.
13172 * doc/extend.texi: Document constraints on use of structures with
13173 flexible array members.
13174
5700b06c 131752002-08-17 Richard Sandiford <rsandifo@redhat.com>
13176
13177 * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
13178 config/mips/t-r3900 (MULTILIB_MATCHES): Define.
13179 * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
13180
f855334b 131812002-08-16 Stan Shebs <shebs@apple.com>
13182
13183 * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
13184 for ObjC with -fnext-runtime.
13185 * doc/cpp.texi: Document it.
13186
d8aff108 131872002-08-16 Janis Johnson <janis187@us.ibm.com>
13188
13189 * doc/install.texi (Final installation): Replace links to individual
13190 build status pages with a link to a common page that lists them all.
13191
8aa55c8d 131922002-08-16 Sylvain Pion <pion@cs.nyu.edu>
13193
13194 * doc/invoke.texi: Fix typo.
13195
a6dece06 131962002-08-16 David Edelsohn <edelsohn@gnu.org>
13197
13198 * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
13199
132002002-08-16 Andrew Haley <aph@redhat.com>
d57cd35f 13201
13202 * tree-inline.c: Add includes for Java inliner.
13203 (remap_decl): Don't handle anonymous types for Java.
13204 (remap_block): Add handling for Java trees.
13205 (copy_scope_stmt): Conditionalize for non-Java use only.
13206 (copy_body_r): Handle Java trees. Add handling for
13207 LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
13208 (initialize_inlined_parameters): Handle Java trees.
13209 (declare_return_variable): Likewise.
13210 (expand_call_inline): Handle Java trees.
13211 (walk_tree): Likewise.
13212 (copy_tree_r): Don't handle SCOPE_STMTs for Java.
13213 (add_stmt_to_compound): New function.
13214
0d74b24d 132152002-08-15 Richard Henderson <rth@redhat.com>
13216
13217 * Makefile.in (LOOSE_WARN): Remove -fno-common.
13218 (NOCOMMON_FLAG): New substitution point.
13219 (GCC_WARN_CFLAGS): Include it.
13220 * configure.in (ac_checking): Set nocommon_flag.
13221 (nocommon_flag): New substitution point.
13222
93894129 132232002-08-15 Alexandre Oliva <aoliva@redhat.com>
13224
13225 * c-tree.h (skip_evaluation): Move declaration...
13226 * c-common.h: ... here.
13227 * c-typeck.c (build_external_ref): Don't assemble_external nor
13228 mark a tree as used if skip_evaluation is set.
13229 * c-parse.in (typeof): New non-terminal to set skip_evaluation
13230 around TYPEOF.
13231 (typespec_nonreserved_nonattr): Use it.
13232
e74e8242 132332002-08-15 Douglas B Rupp <rupp@gnat.com>
13234
13235 * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
13236 (xcoff_debug_hooks): Update end_prologue.
13237 * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
13238 * debug.h (end_prologue): Add file arg.
13239 (end_epilogue): Add line and file args.
13240 (dwarf2out_end_epilogue): Add line and file args.
13241 (vmsdbgout_after_prologue): Remove.
13242 * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
13243 (dwarf2_debug_hooks): Update end_prologue.
13244 * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
13245 (dwarfout_end_prologue): Add file arg.
13246 * final.c (vmsdbgout_after_prologue): Remove
13247 (final_end_function): Update end_epilogue call.
13248 (final_scan_insn): Update end_prologue call.
13249 * sdbout.c (sdbout_end_epilogue): Add line and file args.
13250 (sdbout_end_prologue): Add file arg.
13251 (sdb_debug_hooks): Update end_prologue.
13252 (sdb_begin_prologue): Update sdbout_end_prologue call.
13253 * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
13254 vmsdbgout_end_function.
13255 (vmsdbgout_end_prologue): New function renamed from
13256 vmsdbgout_after_prologue. Call vmsdbgout_source_line.
13257 (vmsdbgout_end_function): New function.
13258 (vmsdbgout_end_epilogue): Add line and file args. Call
13259 vmsdbgout_source_line.
13260 (write_pclines): Write only valid line numbers.
13261 (write_srccorr): Don't write source correlation records if 0 lines.
13262 * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
13263
d786f066 132642002-08-15 Steve Ellcey <sje@cup.hp.com>
13265
13266 * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
13267 (_Unwind_Internal_Ptr): 32 bit version for use in
13268 read_encoded_value_with_base.
13269 * gcc/unwind-pe.h (read_encoded_value_with_base): Use
13270 _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
13271 right size.
13272
bb37f971 132732002-08-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13274
13275 * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
13276 signed/unsigned warnings.
13277
13278 * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
13279 record_reg_classes): Likewise.
13280
13281 * reload.c (reload_inner_reg_of_subreg, push_reload,
13282 find_reloads_address_1): Likewise.
13283
b7f6aee4 132842002-08-15 David Edelsohn <edelsohn@gnu.org>
13285
13286 * rs6000.c (output_mi_thunk): Return to function section on
13287 TARGET_ELF.
13288
13289 * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
13290
de84f805 132912002-08-15 Ulrich Weigand <uweigand@de.ibm.com>
13292
13293 * config/s390/s390.c (legitimize_address): Optimize loading
13294 of large displacements.
13295
cf73d31f 132962002-08-14 Douglas B Rupp <rupp@gnat.com>
13297
13298 * config/alpha/alpha-protos.h: Update.
13299
13300 * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
13301 (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
13302 (alpha_linkage_symbol_p): New static function.
13303 (print_operand_address): Print linkage operand.
13304
13305 (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
13306 variables.
13307 (reloc_kind): New enum.
13308 (struct alpha_funcs): New struct.
13309 (struct alpha_links): Add reloc_kind field. Rename links_kind field.
13310
13311 (alpha_need_linkage): Rewrite.
13312 (alpha_use_linkage): New global function.
13313 (alpha_write_linkage): Rewrite and make static.
13314 (alpha_write_one_linkage): Rewrite
13315
13316 (alpha_start_function): Remove procedure descriptor output.
13317 (alpha_end_function): Write linkages at end of each function.
13318
13319 * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
13320 (call_vms_1, call_value_vms_1): Rewrite.
13321
13322 * config/alpha/vms.h (ASM_FILE_END): Remove.
13323
7bf41779 133242002-08-14 Richard Henderson <rth@redhat.com>
13325
13326 * ggc-page.c (RTL_SIZE): New.
13327 (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
13328 * rtl.def (BARRIER, NOTE): Pad to 9 slots.
13329
6fce022c 133302002-08-14 Richard Henderson <rth@redhat.com>
13331
13332 * calls.c: Include target.h.
13333 * Makefile.in (calls.o): Update.
13334
13335 * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
13336 * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
13337
e23fd334 133382002-08-14 Richard Henderson <rth@redhat.com>
13339
13340 * Makefile.in (LOOSE_WARN): Add -fno-common.
13341 * c-common.h (constant_string_class_name): Add missing extern.
13342
3c556f04 133432002-08-15 Neil Booth <neil@daikokuya.co.uk>
13344
13345 PR preprocessor/7358
13346 * c-opts.c (check_deps_environment_vars): Ignore main file
13347 for SUNPRO_DEPENDENCIES.
13348 * cppfiles.c (stack_include_file): Ignore main file if
13349 appropriate.
13350 * cpplib.h (struct cpp_options): New member in deps.
13351 * doc/cppenv.texi: Update.
13352
47f17527 133532002-08-14 Neil Booth <neil@daikokuya.co.uk>
13354
13355 PR preprocessor/7526
13356 * cpplib.c (run_directive): Kludge so _Pragma dependency works.
13357
44b0ffc3 133582002-08-14 Nathan Sidwell <nathan@codesourcery.com>
13359
13360 * doc/invoke.texi (-a): Remove documentation.
13361 (-fprofile-arcs): Remove reference to -a, -ax options.
13362 * doc/gcov.texi (Gcov Data Files): Data might be merged.
13363
035eac0d 133642002-08-14 Gabriel Dos Reis <gdr@nerim.net>
13365
13366 Fix PR/7566
13367 * c-semantics.c (genrtl_case_label): Don't (mis)use
2857c21b 13368 warning_with_decl.
035eac0d 13369
62ede483 133702002-08-14 Dale Johannesen <dalej@apple.com>
13371
40b9be5e 13372 * explow.c (emit_stack_restore): Emit memory clobbers
62ede483 13373 preceding the stack pop, to prevent the scheduler from
13374 moving refs to variable arrays below this pop.
13375 * reload1.c (reload): Preserve these clobbers for sched2.
13376 * doc/rtl.texi: Document clobber (mem:BLK (scratch)).
13377
eb0921ba 133782002-08-14 Neil Booth <neil@daikokuya.co.uk>
13379
13380 * c-opts.c (c_common_post_options): Correct test.
13381
1e6063df 133822002-08-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13383
13384 * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
13385 order in call to fprintf.
13386
ee371cff 133872002-08-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13388
13389 * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
13390
a5004c3d 133912002-08-14 Ulrich Weigand <uweigand@de.ibm.com>
13392
2857c21b 13393 * reload.c (find_reloads): Handle constraint letters marked by
a5004c3d 13394 EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
13395 (alternative_allows_memconst): Likewise.
13396 * reload1.c (maybe_fix_stack_asms): Likewise.
2857c21b 13397 * recog.c (asm_operand_ok, preprocess_constraints,
a5004c3d 13398 constrain_operands): Likewise.
13399 * regclass.c (record_operand_costs, record_reg_classes): Likewise.
13400 * local-alloc.c (block_alloc, requires_inout): Likewise.
13401 * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
13402
13403 * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
13404 (EXTRA_ADDRESS_CONSTRAINT): Likewise.
13405 * doc/tm.texi: Document these two new target macros.
13406
13407 * config/s390/s390.c (s390_expand_plus_operand): Accept already
13408 valid operands.
13409 (q_constraint): New function.
13410 config/s390/s390-protos.h (q_constraint): Declare it.
13411 config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
13412 (EXTRA_MEMORY_CONSTRAINT): New macro.
13413
13414 * config/s390/s390.md: Throughout the machine description,
13415 replace all instances of the constraint combinations 'Qo'
13416 or 'oQ' with simply 'Q'.
13417
748c11a2 134182002-08-14 Stephane Carrez <stcarrez@nerim.fr>
13419
13420 * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
13421 * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
13422 (LIBGCC2_CFLAGS): Compile with -mrelax.
13423
8955a9b0 134242002-08-14 Stephane Carrez <stcarrez@nerim.fr>
13425
13426 * doc/invoke.texi: Document -minmax for 68HC12.
13427
13428 * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
13429 ("uminqi3"): Likewise.
13430 ("uminhi3", "umaxhi3"): Likewise.
13431
13432 * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
13433 (TARGET_MIN_MAX): Define.
13434 (TARGET_SWITCHES): New option -minmax/-mnominmax.
13435
dd9db943 134362002-08-14 Stephane Carrez <stcarrez@nerim.fr>
13437
13438 * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
13439 (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
13440
13441 * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
13442 (ret, declare, farsym): New gas macros.
13443 (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
13444 ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
13445 and declare the symbol far when compiled with -mlong-calls.
2857c21b 13446 (__far_trampoline): New for 68HC12 trampoline code to invoke a
dd9db943 13447 far handler using jsr/bsr.
13448
13449 * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
13450 (jsr): New macro to transform a 'jsr' into a 'call'.
13451
230afcbe 134522002-08-14 Stephane Carrez <stcarrez@nerim.fr>
13453
13454 * doc/invoke.texi: Document -mlong-calls for 68HC12.
13455
13456 * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
13457 -mlong-calls is specified.
2857c21b 13458 (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
230afcbe 13459 assembler directives.
13460 (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
13461 (TARGET_SWITCHES): Add -mlong-calls options.
13462 (current_function_far): Declare.
13463
13464 * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
13465 into account the page register saved on the stack.
13466 (m68hc11_override_options): Take into account -mlong-calls option.
13467 (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
13468
13469 * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
13470 if the function is going to be in 68HC12 banked memory (-mlong-calls).
13471 ("*return_16bit"): Likewise.
13472 ("*return_void"): Likewise.
13473 ("call", "call_value"): Use call for a far function call.
13474
5934ea7a 134752002-08-14 Neil Booth <neil@daikokuya.co.uk>
13476
13477 * toplev.c (parse_options_and_default_flags): Don't call
13478 post_options here.
13479 (general_init): Initialize GC, pools and tree hash here,
13480 instead of lang_independent_init.
13481 (lang_independent_init): Rename backend_init.
13482 (do_compile): Call post_options hook; exit early if there
13483 have been errors after switch processing.
13484 (toplev_main): Update.
13485
980451fe 134862002-08-14 Gabriel Dos Reis <gdr@nerim.net>
13487
13488 * c-pretty-print.h: Guard against multiple inclusion.
13489 Robustify macros.
13490 (pp_c_attributes): Declare.
13491 * c-pretty-print.c (pp_c_attributes): New function.
13492
4cc1be46 134932002-08-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13494
13495 * m68k.c (m68k_output_function_prologue,
13496 m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
13497 and NEWS/MOTOROLA.
13498 * genattrtab.c: Remove dpx2 comment.
13499 * libgcc2.c (__enable_execute_stack): Delete versions for
13500 NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
13501 sony_news/SYSTYPE_BSD.
13502 * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
13503 __gmicro__, __i860__, __NeXT__ and __pyr__.
13504 * rtl.h: Remove convex comment.
13505 * varasm.c: Likewise.
13506
7f7c78a8 135072002-08-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13508
13509 * c-opts.c (lang_flags): Const-ify.
13510 * ra-build.c (undef_table): Likewise.
13511 * ra.c (eliminables): Likewise.
13512
b229f760 135132002-08-14 Gabriel Dos Reis <gdr@nerim.net>
13514
13515 * tree.h: Guard against multiple inclusion.
13516
5ed80368 135172002-08-14 Hans-Peter Nilsson <hp@bitrange.com>
13518
13519 * reload1.c (reload_cse_simplify): Before checking
13520 REG_FUNCTION_VALUE_P, check REG_P.
13521
6f0ede61 135222002-08-13 Geoffrey Keating <geoffk@redhat.com>
13523
13524 * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
13525
25e06a2b 135262002-08-13 Neil Booth <neil@daikokuya.co.uk>
13527
13528 * c-opts.c (c_common_init_options): Extra braces needed.
13529
429b43ba 13530Tue Aug 13 17:40:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
13531
13532 * sh.c (sh_init_builtins): Add PARAMS to declaration.
13533 (sh_media_init_builtins, sh_expand_builtin): Likewise.
13534 (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
13535 (sh_expand_binop_v2sf): Likewise.
13536 * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
13537 (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
13538 (sh_initialize_trampoline): Likewise.
13539
c6821d1c 135402002-08-13 Ulrich Weigand <uweigand@de.ibm.com>
13541
13542 * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
13543 new condition code modes.
13544 s390.c (s390_match_ccmode_set): Handle those new CC modes.
13545 (s390_select_ccmode): Likewise.
13546 (s390_branch_condition_mask): Likewise.
13547
13548 * s390-protos.h (s390_tm_ccmode): Declare.
13549 s390.c (s390_tm_ccmode): New function.
13550 (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
13551
13552 * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
13553 ("*cmpsi_tm2"): Rename to "*tmsi_ext".
13554 ("*cmpqi_tm2"): Rename to "*tmqi_ext".
13555
13556 ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
13557 "*cmphi_tm_sub","*cmphi_cct_0", "*cmpqi_tm", "*cmpqi_tm_sub",
13558 "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
13559 ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
13560 "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
13561
13562 ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
2857c21b 13563 "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
c6821d1c 13564 "*cmpqi_ccs_0"): Remove, replace by ...
13565 ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
2857c21b 13566 "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
c6821d1c 13567 "*tstqi", "*tstqi_cconly"): ... these new patterns.
13568
13569 ("*cmpsidi_ccs"): Remove, replace by ...
13570 ("*cmpsi_ccs_sign"): ... this new pattern.
13571 ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
13572
13573 ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
13574 ("*cli"): ... this new pattern.
13575
13576 ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
13577 "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
13578 New patterns.
13579 ("adddi3_64"): Rename to "*adddi3_64".
13580 ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
13581 ("adddi3"): Adapt expander.
13582
13583 ("*addsi3_cc"): Allow "general_operand" for operand 2.
2857c21b 13584 ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
c6821d1c 13585 "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
13586
13587 ("addhi3", "addqi3"): Remove, replace by ...
13588 ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
13589
13590 ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
13591 "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
13592 ("subdi3"): Replace by insn and splitter "*subdi3_31".
13593 ("subdi3"): New expander.
13594
13595 ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
13596
13597 ("subhi3", "subqi3"): Remove, replace by ...
13598 ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
13599
13600 ("*muldi3_sign"): New pattern.
13601 ("muldi3"): Do not clobber CC.
13602 ("mulsi3"): Likewise.
13603 ("mulsi_6432"): Likewise.
13604
96d65727 136052002-08-13 Denis Chertykov <denisc@overta.ru>
13606
13607 * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
40b9be5e 13608 which can change CC0.
96d65727 13609
99bb04c9 13610Tue Aug 13 14:49:20 2002 J"orn Rennecke <joern.rennecke@superh.com>
13611
13612 * gcse.c (adjust_libcall_notes): New function.
13613 (do_local_cprop): Use it. Add fourth parameter. Changed caller.
13614
9cfab531 136152002-08-13 Nathan Sidwell <nathan@codesourcery.com>
13616
13617 * libgcc2.c (L_bb): Remove unneeded #includes.
13618 (__global_counters, __gthreads_active): Remove unused globals.
13619 (__bb_exit_func): Merge counts into files rather than appending.
13620 * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
13621 (ALL_CFLAGS): ... to here.
13622
ecee840b 136232002-08-13 Denis Chertykov <denisc@overta.ru>
13624
13625 * config/ip2k/ip2k.c (commands_in_file): Variable removed.
13626 (function_epilogue): Don't calculate function size.
13627 (ip2k_set_compare): Don't use lookup_const_double.
13628 (asm_file_start): Initialization of commands_in_file removed.
13629 (asm_file_end): Output of commands_in_file removed.
2857c21b 13630
ecee840b 13631 * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
13632 __INT_MAX__.
13633
448b2e12 136342002-08-13 Neil Booth <neil@daikokuya.co.uk>
13635
13636 * c-opts.c (c_common_init_options): Check option array is
13637 sorted if checking enabled.
13638
ed22b9fe 136392002-08-13 Gabriel Dos Reis <gdr@nerim.net>
13640
13641 * c-pretty-print.c: #include "c-tree.h".
13642 (pp_c_simple_type_specifier): Tweak.
13643 (pp_c_storage_class_specifier): New.
13644 (pp_c_function_specifier): Likewise.
13645 (pp_c_declaration_specifiers): Likewise.
13646 (pp_c_init_declarator): Likewise.
13647 (pp_c_declaration): Likewise.
13648 (pp_c_direct_declarator): Stub.
13649 (pp_c_declarator): Likewise.
13650 (pp_c_parameter_declaration): Likewise.
13651
61191376 136522002-08-13 Neil Booth <neil@daikokuya.co.uk>
13653
13654 * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
13655 handle_deferred_opts, sanitize_cpp_opts, defer_opt,
13656 struct deferred_opt): New.
13657 (COMMAND_LINE_OPTIONS): Add -M*.
13658 (missing_arg): Update.
13659 (c_common_decode_option): Handle -M*.
13660 (c_common_post_options): Handle -M*. Use sanitize_cpp_opts;
13661 don't call cpp_post_options.
13662 (c_common_finish, check_deps_environment_vars): Update.
13663 * cppfiles.c (stack_include_file, handle_missing_header): Update.
13664 * cpphash.h (CPP_PRINT_DEPS): Remove.
13665 * cppinit.c: Don't include version.h.
13666 (cpp_create_reader): Don't call deps_init. Initialize
13667 warn_long_long.
13668 (cpp_read_main_file): Init deps if necessary.
13669 (cpp_destroy): Conditionally free deps.
13670 (cpp_finish): Update.
13671 (no_tgt): Remove.
13672 (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
13673 (cpp_post_options): Rename post_options.
13674 * cpplib.h (struct cpp_options): Remove some dependency options;
13675 move others to a new structure.
13676 (cpp_post_options): Remove.
13677 (cpp_finish): Comment.
13678 * fix-header.c (read_scan_file): Don't call cpp_post_options.
13679
ab812e96 136802002-08-12 Hans-Peter Nilsson <hp@bitrange.com>
13681
13682 * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
13683 ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
13684 MMIX_rR_REGNUM as clobbered.
13685 * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
13686
8e10b18f 136872002-08-12 Gabriel Dos Reis <gdr@nerim.net>
13688
13689 * diagnostic.h (output_formatted_scalar): Rename from
2857c21b 13690 output_formatted_integer.
8e10b18f 13691 * diagnostic.def: Add DK_DEBUG.
13692 * diagnostic.c (output_decimal): Adjust.
13693 (output_long_decimal): Likewise.
13694 (output_unsigned_decimal): Likewise.
13695 (output_octal): Likewise.
13696 (output_long_octal): Likewise.
13697 (output_hexadecimal): Likewise.
13698 (output_long_hexadecimal): Likewise.
13699 * c-pretty-print.c (pp_c_type_specifier): New function.
13700 (pp_c_specifier_qualifier_list): Likewise.
13701 (pp_c_abstract_declarator): Likewise.
13702 (pp_c_char): Replace pp_format_integer with pp_format_scalar.
13703
788e9509 137042002-08-12 David Edelsohn <edelsohn@gnu.org>
13705
13706 * doc/trouble.texi (Disappointments): Add static constructor and
13707 destructor dependency information for AIX.
13708
70b083ab 137092002-08-12 Neil Booth <neil@daikokuya.co.uk>
13710
13711 * cpphash.h (struct printer): New from cppmain.c.
13712 (cpp_reader): New member.
13713 * cppmain.c (struct printer): Move to cpphash.h.
13714 (options, print): Remove.
13715 (account_for_newlines, print_line, maybe_print_line,
13716 cpp_preprocess_file, setup_callbacks, scan_translation_unit,
13717 scan_translation_unit_trad, cb_line_change, cb_ident,
13718 cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
13719 cb_def_pragma): Make reentrant.
13720
fcdf59b6 137212002-08-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13722
13723 * real.c (ieee_64): Always define.
13724 (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
13725 (dec_h): Not used yet, hide it.
13726 (emdnorm): Mark parameter in ATTRIBUTE_UNUSED. Guard label with
13727 macro controlling use.
13728 (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
13729
6a96cf3a 13730Mon Aug 12 12:48:20 CEST 2002 Jan Hubicka <jh@suse.cz>
13731
13732 * i386.md (tablejump): Sign extend the operand.
13733 * i386.c (classify_argument): Fix missed case from previous patch.
13734
79cf3ec1 137352002-08-12 Neil Booth <neil@daikokuya.co.uk>
13736
13737 * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
13738 to c-copts.c.
13739 (warn_multichar): Die.
13740 (cb_register_builtins): Export.
13741 * c-common.h (warn_multichar, preprocess_file): Remove.
13742 (cb_register_builtins): New.
13743 * c-lang.c (c_init): Remove.
13744 (LANG_HOOKS_INIT): Use c_objc_common_init.
13745 * c-lex.c (init_c_lex): Don't canonicalize filename.
13746 * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
13747 (preprocess_file): Make static. Update for cpplib.
13748 (c_common_decode_option): Remove warn_multichar. Use in_fname.
13749 (c_common_post_options): Set some cpp options here.
13750 (c_common_init): Move from c-common.c.
13751 * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
13752 * cpplib.h (struct cpp_options): Remove in_fname.
13753 (cpp_preprocess_file): Update.
13754 * cppmain.c (cpp_preprocess_file): Update for new prototypes.
13755
a9c6f96e 137562002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13757
13758 * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
13759
818bf88a 137602002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13761
13762 * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
13763 backslash in comment preceeding macro definition.
13764 * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
13765 * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
13766 * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
13767
d18d957a 137682002-08-12 Hans-Peter Nilsson <hp@bitrange.com>
13769
13770 * expr.c (store_expr): In condition for checking if value is
13771 generated in TARGET, move call to expr_size last.
13772
6019c708 137732002-08-11 Neil Booth <neil@daikokuya.co.uk>
13774
13775 * c-common.c (c_common_init): Call preprocess_file instead.
13776 (c_common_finish): Move to c-opts.c.
13777 * c-common.h (preprocess_file): new.
13778 * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
13779 check_deps_environment_vars, c_common_finish): New.
13780 (c_common_decode_option): Update for out_fname and dependencies.
13781 * cppinit.c (init_dependency_output, output_deps): Remove.
13782 (cpp_destroy): Update prototype.
13783 (cpp_add_dependency_target): New.
13784 (cpp_read_main_file): Don't overlay a buffer.
13785 (cpp_finish): Take a deps output stream and write deps to it.
13786 Return the error count.
13787 (cpp_post_options): Don't canonicalize out_fname, or do anything
13788 with dependencies.
13789 * cpplib.h (struct cpp_options): Remove out_fname and
13790 preprocess_only.
13791 (cpp_add_dependency_target): New.
13792 (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
13793 * cppmain.c (cpp_preprocess_file): Update prototype. Don't
13794 set preprocess_only. Don't handle the output stream directly.
13795
de8409f8 137962002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13797
13798 * dsp16xx.c (print_operand): Fix format specifier.
13799 * dsp16xx.md: Avoid automatic aggregate initialization.
13800 * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
13801 * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
13802 integer constant modifier.
13803 * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
13804 * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
13805 guards.
13806 * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
13807 * v850.c (v850_select_section): Mark parameter with
13808 ATTRIBUTE_UNUSED.
13809 * global.c (global_alloc): Const-ify.
13810 * ra-colorize.c (hardregset_to_string): Fix format specifier.
13811
5352873f 138122002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13813
13814 * darwin-c.c (darwin_pragma_options): Const-ify.
13815 * darwin.c (machopic_non_lazy_ptr_name,
13816 machopic_validate_stub_or_non_lazy_ptr): Likewise.
13817 (machopic_indirect_data_reference): Wrap variables in macros
13818 controlling their use.
13819 (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
13820 (machopic_select_section): Use parentheses around && within ||.
13821 * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
13822
4448bfa5 138232002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13824
13825 * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
13826 mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
13827 ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
13828 ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
13829 mdr_try_remove_redundant_insns, track_w_reload,
13830 mdr_try_wreg_elim): Make function static to match prototype.
13831 * mmix.c (mmix_target_asm_function_epilogue): Likewise. Mark
13832 parameter with ATTRIBUTE_UNUSED.
13833
908e141d 138342002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13835
13836 * arc.c (arc_init): Don't use ISO C style function definitions.
13837 * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
13838 arm_get_strip_length, arm_strip_name_encoding): Likewise.
13839 * avr.h (progmem_section): Likewise.
13840 * h8300.c h8300_asm_insn_count): Likewise.
13841 * m32r.c (init_idents): Likewise.
13842 * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
13843 * sh.c (sh_cfun_interrupt_handler_p): Likewise.
13844 * xtensa.c (xtensa_build_va_list): Likewise.
13845
e9dc5b68 138462002-08-11 Neil Booth <neil@daikokuya.co.uk>
13847
13848 * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
13849 * c-opts.c (parse_option): Rename find_opt.
13850 (set_std_c99): New function.
13851 (COMMAND_LINE_OPTIONS): Handle -remap and -o. Remove OPT_std_bad.
13852 (missing_arg): Remove OPT_std_bad. Handle -o.
13853 (c_common_decode_option): Handle input and output file names,
13854 -o and -remap. Clean up -std= handling.
13855 * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
13856 (cpp_handle_option): Similarly. Don't handle filenames.
13857
804b7828 13858Sun Aug 11 14:43:17 CEST 2002 Jan Hubicka <jh@suse.cz>
13859
13860 * i386.c (classify_argument): Fix computing of field's offsets.
13861
2fe2678f 138622002-08-11 Andreas Jaeger <aj@suse.de>
13863
13864 PR target/7531:
13865 * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
13866
0588172a 138672002-08-10 Ziemowit Laski <zlaski@apple.com>
13868
13869 * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
13870 reference to clk_objective_c with flag_objc.
13871 * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
13872 Likewise.
13873 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
13874
3ae4c9f3 138752002-08-10 Neil Booth <neil@daikokuya.co.uk>
13876
13877 * c-opts.c (set_std_cxx98, set_std_c89): New.
13878 (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
13879 (c_common_decode_option): Handle new switches from cppinit.c.
13880 Add -std=gnu++98.
13881 * cppinit.c (set_lang): Rename cpp_set_lang. Export.
13882 (no_arg, no_num): Remove.
13883 (COMMAND_LINE_OPTIONS): Move more to c-opts.c. Drop all lang-
13884 switches apart from -lang-objc and lang-asm.
13885 (cpp_handle_option): Similarly.
13886 * cpplib.h (cpp_set_lang): New.
13887 * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
13888 -std=gnu++98.
13889 * objc/lang-specs.h: Remove -ansi.
13890
4c1171a6 13891Sat Aug 10 19:59:43 CEST 2002 Jan Hubicka <jh@suse.cz>
13892 Graham Stott
13893
13894 * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
13895 errors.
13896
7fe54e48 138972002-08-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13898
d90b3d04 13899 * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
13900 emit_jump_insn): Fix uninitialized variable.
13901 * gcov.c (init_line_info): Likewise.
13902 * genautomata.c (transform_3): Add braces around ambiguous
13903 else.
13904 * ifcvt.c (cond_exec_process_insns): Mark parameter with
13905 ATTRIBUTE_UNUSED.
13906 * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
13907 * regrename.c (copyprop_hardreg_forward): Fix uninitialized
13908 variable.
13909
7fe54e48 13910 * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
13911 warnings in output files.
13912
952e555e 139132002-08-09 Ziemowit Laski <zlaski@apple.com>
13914
13915 * c-common.c (flag_objc): New.
13916 * c-common.h (c_language_kind): Get rid of clk_objective_c
13917 enum value.
13918 (flag_objc): New extern declaration.
13919 * c-decl.c (implicitly_declare): Call objc_check_decl
13920 instead of maybe_objc_check_decl.
13921 (finish_decl): Likewise.
13922 (grokfield): Likewise.
13923 (finish_struct): Likewise.
13924 * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
13925 (maybe_objc_comptypes): Rename to objc_comptypes.
2fe2678f 13926 (maybe_building_objc_message_expr): Rename to
952e555e 13927 objc_message_selector.
13928 * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
13929 replace with flag_objc as needed.
13930 * c-opts.c (c_common_init_options): Likewise.
13931 (c_common_decode_option): Likewise.
13932 * c-parse.in (init_reswords): Likewise.
13933 * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
13934 (maybe_objc_comptypes): Rename to objc_comptypes.
2fe2678f 13935 (maybe_building_objc_message_expr): Rename to
952e555e 13936 objc_message_selector.
13937 * c-typeck.c (comptypes): Call objc_comptypes instead of
13938 maybe_objc_comptypes, and/or objc_message_selector instead of
13939 maybe_building_objc_message_expr.
13940 (comp_target_types): Likewise.
13941 (convert_for_assignment): Likewise.
13942 (warn_for_assignment): Likewise.
13943 * cppinit.c (init_builtins): Set __OBJC__ manifest constant
13944 independently of those for other languages.
13945 * objc/objc-act.c (maybe_objc_comptypes): Delete.
13946 (maybe_objc_check_decl): Delete.
2fe2678f 13947 (maybe_building_objc_message_expr): Rename to
952e555e 13948 objc_message_selector.
13949 * objc/objc-lang.c (objc_init_options): Use clk_c instead of
13950 clk_objective_c; set flag_objc flag.
13951
74f90a67 139522002-08-09 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
13953
13954 * ifcvt.c (find_if_case_2): Test correct basic block for size.
13955
f7915167 139562002-08-09 Dale Johannesen <dalej@apple.com>
74f90a67 13957
f7915167 13958 * config/rs6000/rs6000.md: Add sibcall patterns.
13959 * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL): Define.
13960 * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
13961 Rewritten to handle sibcalls.
13962 * config/rs6000/rs6000.c (function_ok_for_sibcall): New.
13963 * config/rs6000/rs6000-protos.h (function_ok_for_sibcall): New.
13964
5328265b 139652002-08-08 Nathan Sidwell <nathan@codesourcery.com>
13966
13967 * profile.c (da_file_name): New static var.
13968 (init_branch_prob): Initialize it.
13969 (end_branch_prob): Remove da file.
13970
13971 * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
44b0ffc3 13972 * configure.in (coverage_flags): Default to nothing.
5328265b 13973 * configure: Rebuilt.
13974
45c365b1 139752002-08-09 Neil Booth <neil@daikokuya.co.uk>
13976
13977 * Makefile.in (c-opts.o): Update
13978 * c-opts.c: Include intl.h.
13979 (print_help): Move from cppinit.c. Remove unused options.
13980 (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
13981 (missing_arg): Complain for switches without an argument.
13982 (c_common_decode_option): Reject missing joined arguments.
13983 Handle new switches from cppinit.c.
13984 * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
13985 (cpp_handle_option): Similarly.
13986 (print_help): Moved to c-opts.c.
13987 * cpplib.h (struct cpp_options): Remove help_only.
13988 * gcc.c (cpp_unique_options): Remove -$.
13989 * doc/cppopts.texi: Undocument -h.
13990
1d0adcaf 139912002-08-08 Jakub Jelinek <jakub@redhat.com>
13992
13993 * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
13994 legitimate constant.
13995 (legitimate_pic_operand_p): Neither pic operand.
13996 (legitimate_address_p): But legitimate address.
13997 (get_thread_pointer): Generate MEM/u instead of CONST around
13998 UNSPEC_TP.
13999 (print_operand): Remove printing of UNSPEC_TP.
14000 (print_operand_address): And print it here.
14001
848afb0b 140022002-08-08 Devang Patel <dpatel@apple.com>
1d0adcaf 14003
2fe2678f 14004 * objc/objc-act.c (build_selector_translation_table): Issue warning,
14005 when -Wselector is used,if method for which selector is being
848afb0b 14006 created does not exist.
2fe2678f 14007
afef6540 140082002-08-08 Stephen Clarke <stephen.clarke@superh.com>
14009
14010 * config/sh/sh.c (prepare_move_operands): Only call
14011 target_reg_operand if TARGET_SHMEDIA.
2fe2678f 14012
3c8fd74f 140132002-08-08 Jakub Jelinek <jakub@redhat.com>
14014
14015 * config/rs6000/rs6000.h, config/rs6000/aix.h,
14016 config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
14017 two patches.
14018 * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
14019
71801afc 140202002-08-08 Lars Brinkhoff <lars@nocrew.org>
14021 Richard Henderson <rth@redhat.com>
14022
14023 * emit-rtl.c (gen_rtx_REG): After reload, only return
14024 frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
14025
2817a9b3 140262002-08-08 Jakub Jelinek <jakub@redhat.com>
14027
14028 * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
14029 * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
14030 * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
14031 macro.
14032
9ac46427 140332002-08-08 Adam Nemet <anemet@lnxw.com>
14034
14035 * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
14036 register.
14037 (thumb_expand_prologue): Likewise.
14038 (thumb_output_function_prologue): Likewise.
14039 * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
14040 the additional push of the PIC register.
14041
d5a37d75 140422002-08-08 Nathan Sidwell <nathan@codesourcery.com>
14043
14044 * configure.in (enable_coverage): New enable switch.
14045 * configure: Rebuilt.
14046 * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
14047 (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
14048 (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
14049 (mostlyclean): Remove coverage files.
14050 * doc/install.texi: Document enable_coverage.
14051
14052 * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
14053 * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
14054 * f/Make-lang.in (f.mostlyclean): Remove coverage files.
14055 * java/Make-lang.in (java.mostlyclean): Remove coverage files.
14056 * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
14057 * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
14058 files.
2fe2678f 14059
72db3845 140602002-08-08 Neil Booth <neil@daikokuya.co.uk>
14061
14062 * c-opts.c (cpp_opts): New.
14063 (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
14064 (c_common_decode_options): Handle cpplib switches.
14065 (c_common_init_options): Set cpp_opts.
14066 * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
14067 (cpp_handle_option): Similarly.
14068
14c03a87 140692002-08-08 David Edelsohn <edelsohn@gnu.org>
14070
14071 * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
14072 (TARGET_ALTIVEC_ABI): Same.
14073 (TARGET_ALTIVEC_VRSAVE): Same.
14074
14075 * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
14076 icode not CODE_FOR_nothing. Change switch to if.
14077
42d6c9f5 140782002-08-08 Alan Modra <amodra@bigpond.net.au>
14079
14080 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
14081
fced8f42 140822002-08-08 Jakub Jelinek <jakub@redhat.com>
14083
14084 * stor-layout.c (place_union_field): For bitfields if
14085 PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
14086 TYPE_USER_ALIGN.
14087
8d0cec1a 140882002-08-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
14089
14090 * pa.c (struct deferred_plabel): Constify name field.
14091
327b9dd6 140922002-08-07 Neil Booth <neil@daikokuya.co.uk>
14093
14094 * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
14095
64ac4a42 140962002-08-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
14097
14098 * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
14099 local_prefix are the same.
14100 * configure: Rebuilt.
14101
77d0f168 141022002-08-07 Jakub Jelinek <jakub@redhat.com>
14103 Richard Henderson <rth@redhat.com>
14104
14105 * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
14106 to type_align when PCC_BITFIELD_TYPE_MATTERS. Only apply
14107 ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
14108 (place_field): Likewise.
14109 * config/i386/i386.c (x86_field_alignment): Don't check
14110 DECL_USER_ALIGN here.
14111 * config/rs6000/rs6000.c (rs6000_field_alignment): New.
14112 * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
14113 prototype.
14114 * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
14115 * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
14116 * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
14117 * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
14118 * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
14119 * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
14120
428a5a4e 141212002-08-07 Neil Booth <neil@daikokuya.co.uk>
14122
14123 * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
14124 * c-common.c: Don't include tree-inline.h.
14125 (c_common_init_options, c_common_post_options): Move to c-opts.c.
14126 * c-common.h (c_common_decode_option): New.
14127 * c-decl.c (c_decode_option): Remove.
14128 * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
14129 * c-opts.c: New file.
14130 * c-tree.h (c_decode_option): Remove.
14131 * doc/passes.texi: Update.
14132 * objc/objc-act.c (objc_decode_option): Remove.
14133 * objc/objc-act.h (objc_decode_option): Remove.
14134 * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
14135 c_common_decode_option.
14136
3cdab732 141372002-08-07 Chris Demetriou <cgd@broadcom.com>
14138
14139 * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
14140 dependency on TARGET_DOUBLE_FLOAT.
14141
101d4704 141422002-08-07 Stephen Clarke <stephen.clarke@superh.com>
14143
14144 * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
14145 overwrite callee-save registers. Fix comment.
14146
d466a55e 141472002-08-06 Chris Demetriou <cgd@broadcom.com>
14148
14149 * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
14150 in target_flags based on ISA, if it was not set on the command
14151 line. Warn if MASK_BRANCHLIKLEY is set but the ISA does not
14152 support Branch Likely instructions.
14153 * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
14154 (TARGET_BRANCHLIKELY): Likewise.
14155 (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
14156 (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
14157 ISA_HAS_BRANCHLIKELY.
14158 (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
14159 * doc/invoke.texi: Document new MIPS -mbranch-likely and
14160 -mno-branch-likely options.
14161
e09e4e28 141622002-08-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14163
9c25d367 14164 * ip2k.c (ip2k_set_compare): Add missing iteration variable.
14165
e09e4e28 14166 * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
14167 $(GCONFIG_H).
14168
1806a3da 141692002-08-06 Aldy Hernandez <aldyh@redhat.com>
14170
40b9be5e 14171 * c-decl.c (duplicate_decls): Error out for incompatible TLS
14172 declarations.
1806a3da 14173
40b9be5e 14174 * testsuite/gcc.dg/tls/diag-3.c: New.
1806a3da 14175
2222b3c6 141762002-08-06 Dale Johannesen <dalej@apple.com>
623282b0 14177
2222b3c6 14178 * c-common.c (fname_decl): Use line number 0 for
40b9be5e 14179 __func__, to avoid confusing debuggers.
2222b3c6 14180
ff2b6cf5 141812002-08-06 Nathan Sidwell <nathan@codesourcery.com>
14182
14183 * gcov.c: Tidy.
14184 (struct line_info, struct coverage): New structures.
14185 (gcov_file_name, gcov_file): Remove globals.
14186 (output_data): Take source file parameter. Fix memory leak. Break
14187 up into ...
14188 (init_line_info, output_line_info, make_gcov_file_name,
14189 accumulate_branch_counts): ... here.
14190 (calculate_branch_probs, function_summary): Adjust.
14191 (main): Adjust.
14192 (function_*): Remove global variables.
14193
656811e2 141942002-08-06 Neil Booth <neil@daikokuya.co.uk>
14195
14196 * dwarf2out.c: Remove unused macros.
14197
882c6171 141982002-08-06 Neil Booth <neil@daikokuya.co.uk>
14199
14200 * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
14201
ed909a09 142022002-08-06 Neil Booth <neil@daikokuya.co.uk>
14203
14204 * cppinit.c (struct lang_flags): Rename trigraphs std.
14205 (set_lang): Update.
14206 * cpplib.h (struct cpp_options): New member std.
14207 * cppmacro.c (_cpp_builtin_macro_text): Use std.
14208 (collect_args): Flag whether to swallow a possible future
14209 comma pasted with varargs.
14210 (replace_args): Use this flag.
14211 * doc/cpp.texi: Update varargs extension documentation.
14212
1d6eb2a0 142132002-08-06 Jakub Jelinek <jakub@redhat.com>
14214
14215 * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
14216
abdddcad 142172002-08-06 Jakub Jelinek <jakub@redhat.com>
14218
529b9738 14219 * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
14220 and MODE_CLASS_INT modes.
abdddcad 14221
48c8ccc5 142222002-08-06 Jakub Jelinek <jakub@redhat.com>
14223
14224 * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
14225 --{enable,disable}-threads is given to configure.
14226 (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
14227 x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
14228 powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
14229 s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
14230 Remove thread_file setting here.
14231
1fe5dc56 142322002-08-06 David Edelsohn <edelsohn@gnu.org>
14233
14234 * doc/install.texi (Binaries): Update Bull Freeware URL.
14235
6a74a018 142362002-08-06 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
14237
14238 * doc/gcc.texi (Top): Rename Index to Keyword Index.
14239
21ff9ee8 142402002-08-05 Nathan Sidwell <nathan@codesourcery.com>
14241
14242 * gcov.c (output_data): Round to % to nearest, tweak formatting.
14243
5a3fb4d3 142442002-08-05 Jakub Jelinek <jakub@redhat.com>
14245
14246 * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
14247 of the operands into MINUS_EXPR if code is PLUS_EXPR.
14248
2fbafe8b 142492002-08-05 Douglas B Rupp <rupp@gnat.com>
14250
14251 * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
14252 * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
14253 drectve_section): Define.
14254 * config/i386/t-interix: Replace interix.o rule with winnt.o.
14255 * config/i386/interix.c: Remove.
14256
f0815417 142572002-08-05 Geoffrey Keating <geoffk@redhat.com>
14258
14259 * attribs.c: Don't include obstack.h.
14260 * builtins.c: Likewise.
14261 * cfganal.c: Likewise.
14262 * cfgbuild.c: Likewise.
14263 * cfgcleanup.c: Likewise.
14264 * emit-rtl.c: Likewise.
14265 * loop.c: Likewise.
14266 * stmt.c: Likewise.
14267
14268 * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
14269
694b58ff 142702002-08-05 Gabriel Dos Reis <gdr@nerim.net>
14271
14272 * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
14273
d9c624a7 142742002-08-04 Chris Demetriou <cgd@broadcom.com>
14275
14276 * doc/invoke.texi: Remove duplicated paragraph describing
14277 TARGET_SWITCHES.
14278
92192583 142792002-08-04 Geoffrey Keating <geoffk@redhat.com>
14280
14281 * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
14282 * collect2.h (permanent_obstack): Delete declaration.
14283 * collect2.c (permanent_obstack): Delete definition.
457275b6 14284 (main): Don't initialize permanent_obstack. Use xstrdup instead.
92192583 14285 * expr.c: Don't include obstack.h.
14286 (permanent_obstack): Delete declaration.
14287 * function.c: Don't include obstack.h.
14288 (permanent_obstack): Delete declaration.
14289 * integrate.c: Don't include obstack.h.
14290 (function_maybepermanent_obstack): Delete declaration.
14291 * print-tree.c (debug_tree): Use x*alloc not permalloc.
14292 * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
14293 * tlink.c (pfgets): Use xstrdup not permanent_obstack.
14294 * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
14295 * tree.h: Rename init_obstacks to init_ttree. Remove declarations
14296 of permalloc, expralloc, perm_calloc.
14297 * tree.c (permanent_obstack): Delete definition.
14298 (init_ttree): Rename from init_obstacks.
14299 (permalloc): Delete.
14300 (perm_calloc): Delete.
14301 (dump_tree_statistics): Don't print information about
14302 permanent_obstack.
14303 * varasm.c (assemble_start_function): Use xstrdup instead of
14304 permalloc/strcpy.
14305 (assemble_variable): Likewise.
14306 * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
14307 permalloc.
14308 (unicosmk_add_extern): Likewise.
14309 * config/c4x/c4x.c (c4x_external_ref): Likewise.
14310 (c4x_global_label): Likewise.
14311 * config/frv/frv.c (frv_encode_section_info): Likewise.
14312 * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
14313 (i386_pe_record_exported_symbol): Likewise.
14314 * config/mips/mips.c (mips_output_external): Likewise.
14315 (mips_output_external_libcall): Likewise.
14316 * config/pa/pa.c: (permanent_obstack): Delete declaration.
14317 (output_call): Use ggc_strdup instead of allocating on
14318 permanent_obstack.
14319 * config/romp/romp.c: Include ggc.h.
14320 (get_symref): Don't declare permanent_obstack, use ggc_strdup
14321 intead of permanent_obstack.
14322 * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
14323 instead of permalloc.
14324 * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
14325 instead of permalloc
14326 * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
14327 instead of permalloc.
14328 * config/vax/vax.c (vms_check_external): Use xmalloc instead of
14329 permalloc.
14330
efb6037d 143312002-08-04 Bernd Schmidt <bernds@redhat.com>
14332
14333 Contribute a port developed primarily by Michael Meissner,
14334 Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
14335 * config.gcc: Add frv-elf target.
14336 * config/frv/cmovd.c: New file.
14337 * config/frv/cmovh.c: New file.
14338 * config/frv/cmovw.c: New file.
14339 * config/frv/frv-abi.h: New file.
14340 * config/frv/frv-asm.h: New file.
14341 * config/frv/frv-modes.def: New file.
14342 * config/frv/frv-protos.h: New file.
14343 * config/frv/frv.c: New file.
14344 * config/frv/frv.h: New file.
14345 * config/frv/frv.md: New file.
14346 * config/frv/frvbegin.c: New file.
14347 * config/frv/frvend.c: New file.
14348 * config/frv/lib1funcs.asm: New file.
14349 * config/frv/media.h: New file.
14350 * config/frv/modi.c: New file.
14351 * config/frv/t-frv: New file.
14352 * config/frv/uitod.c: New file.
14353 * config/frv/uitof.c: New file.
14354 * config/frv/ulltod.c: New file.
14355 * config/frv/ulltof.c: New file.
14356 * config/frv/umodi.c: New file.
14357 * config/frv/xm-frv.h: New file.
75ff5985 14358
14359 * config/frv/media.h: Removed again.
14360
3112c36a 143612002-08-04 Nathan Sidwell <nathan@codesourcery.com>
14362
14363 * gcov.c (bb_file_time): New static variable.
14364 (object_directory): May also be object file.
14365 (preserve_paths): New static variable.
14366 (print_usage): Adjust.
14367 (options): Adjust.
14368 (process_args): Adjust.
14369 (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
14370 file. Find modification date on bb file.
14371 (read_profile): Don't rewind a NULL file.
14372 (format_hwint): New static function.
14373 (function_summary): Use format_hwint.
14374 (output_data): SOURCE_FILE_NAME is never relative to
14375 OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
14376 mangling. Adjust output format to make it more machine readable.
14377 * doc/gcov.texi: Document & clarify semantics.
2fe2678f 14378
d5a2461c 143792002-08-04 Joseph S. Myers <jsm@polyomino.org.uk>
14380
14381 * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
14382
d036315f 143832002-08-04 Nathan Sidwell <nathan@codesourcery.com>
14384
14385 * gcc.c (cc1_options): Pass output file as auxbase when
14386 appropriate.
14387 * profile.c (init_branch_prob): FILENAME has already had ending
14388 stripped.
14389 * final.c (end_final): Likewise.
14390 * toplev.c (aux_base_name): New global.
14391 (compile_file): Pass aux_base_name to init init_branch_prob and
14392 end_final.
14393 (independent_decode_option, case 'a'): New auxinfo options.
14394 (case 'd'): Protect against mising basename.
14395 (do_compile): Initialize aux_base_name.
14396 * toplev.h (aux_base_name): New global.
14397 * doc/invoke.texi: Adjust documentation.
14398
216956fd 143992002-08-04 Nathan Sidwell <nathan@codesourcery.com>
14400
14401 * config/i386/i386.c (x86_field_alignment): Remove duplicate test
14402 of TARGET_ALIGN_DOUBLE.
14403
9cab5830 144042002-08-04 Gabriel Dos Reis <gdr@nerim.net>
2fe2678f 14405
9cab5830 14406 * diagnostic.c (inform): New function.
14407 * diagnostic.h (inform): Declare.
2fe2678f 14408
597667c5 144092002-08-03 David Edelsohn <edelsohn@gnu.org>
14410
14411 * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
14412 (movhi_internal): Same.
14413 (movqi_internal): Same.
14414 (movdi_internal64): Same.
14415
14416 * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
14417
14418 * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
14419 (ASM_OUTPUT_SKIP): Use it. SIZE unsigned.
14420 (COMMON_ASM_OP): Define.
14421 (ASM_OUTPUT_ALIGNED_COMMON): Use it. SIZE unsigned.
14422 Use ALIGN parameter.
14423 (LOCAL_COMMON_ASM_OP): Define.
14424 (ASM_OUTPUT_LOCAL): Use it. SIZE unsigned.
14425
42721db0 144262002-08-03 Roger Sayle <roger@eyesopen.com>
14427
14428 * builtins.def: Define new builtin functions exp, expf, expl,
14429 log, logf and logl (and their __builtin_* variants).
14430 * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
14431 Define exp_optab and log_optab.
14432 * optabs.c (init_optans): Initialize exp_optab and log_optab.
14433 * genopinit.c (optabs): Implement exp_optab and log_optab
14434 using exp?f2 and log?f2 patterns.
14435 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
14436 and BUILT_IN_LOG* using exp_optab and log_optab respectively.
14437 (expand_builtin): Ignore the new builtins (and all cos and
14438 sin variants) when not optimizing. Expand new builtins via
14439 expand_builtin_mathfn when flag_unsafe_math_optimizations.
14440
14441 * doc/extend.texi: Document new exp and log builtins.
14442 * doc/md.texi: Document new exp?f2 and log?f2 patterns
14443 (and previously undocumented cos?f2 and sin?f2 patterns).
14444
e7971c00 144452002-08-03 Jason Merrill <jason@redhat.com>
14446
14447 * explow.c (int_expr_size): New fn.
14448 * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
14449 * expr.h: Declare it.
14450
d21fe94d 144512002-08-02 Krister Walfridsson <cato@df.lth.se>
14452
14453 * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
14454 gengtype-* dependencies.
14455
858ac7b9 144562002-08-02 Eric Christopher <echristo@redhat.com>
14457
14458 * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
14459 * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
14460 #ifndef to #undef.
14461 (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
14462
01540a73 144632002-08-02 David Edelsohn <edelsohn@gnu.org>
14464
14465 PR optimize/7067
14466 * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
14467 small if optimizing for size.
14468
428fa5f7 144692002-08-02 Daniel Jacobowitz <drow@mvista.com>
14470
14471 * configure.in (FORBUILD): Use $build_alias.
14472 * configure: Regenerated.
14473
efd092f3 144742002-08-02 Richard Sandiford <rsandifo@redhat.com>
14475
14476 * config.gcc: Don't include mips/abi64.h in $tm_file.
14477 * hard-reg-set.h (call_really_used_regs): Declare.
14478 * config/mips/abi64.h: Remove file.
14479 * config/mips/linux.h,
14480 * config/mips/iris6.h: Don't include it.
14481 * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
14482 * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
14483 (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
14484 FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
14485 FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
14486 Bring across definitions from abi64.h.
14487 (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
14488 (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
14489 (struct mips_args): Use it.
14490 * config/mips/mips.c (mips_conditional_register_usage): Define.
14491
c3f16ae3 144922002-08-02 Jason Merrill <jason@redhat.com>
14493
14494 * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
14495 * langhooks.c (lhd_expr_size): Define default.
14496 * langhooks.h (struct lang_hooks): Add expr_size.
14497 * explow.c (expr_size): Call it.
14498 * expr.c (store_expr): Don't copy an expression of size zero.
14499 (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
14500 to store.
14501 * Makefile.in (builtins.o): Depend on langhooks.h.
14502
a5c71710 145032002-08-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14504
14505 * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
14506 * ra-debug.c: Include "tm_p.h".
14507 * ra-rewrite.c (is_partly_live_1): Change return type to bool.
14508
0b91d495 145092002-08-02 Toon Moene <toon@moene.indiv.nluug.nl>
14510
14511 * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
14512 when not honoring signalling NaNs.
14513 (simplify_ternary_operation): a == b has a definite value
14514 when not honoring NaNs.
14515
00ae6be7 145162002-08-02 Jason Merrill <jason@redhat.com>
14517
14518 * gdbinit.in (pct): New macro.
14519
e1039e7b 145202002-08-01 Stan Shebs <shebs@apple.com>
14521 Andreas Tobler <toa@pop.agri.ch>
14522
14523 * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
14524 plays nice with Darwin headers.
ca3f1a54 14525 (_BSD_RUNE_T_DEFINED_): Likewise.
e1039e7b 14526
3385506f 145272002-08-01 Zack Weinberg <zack@codesourcery.com>
14528
14529 * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
14530 * cppinit.c (cpp_post_options): Likewise.
14531
14532 * cppexp.c (cpp_classify_number): Suppress -Wtraditional
14533 warning about 'LL' suffix (but not 'ULL' etc) when
14534 -Wno-long-long is in effect.
14535
14536 * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
14537 Check for failing time()/localtime(), issue a warning, and
14538 make __TIME__ and __DATE__ expand to fallback strings.
14539
14540 * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
14541 and __TIME__ when the date and time cannot be determined.
14542
92bc608f 145432002-08-02 Alan Modra <amodra@bigpond.net.au>
14544
14545 * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
14546
ec71f0f4 145472002-08-01 Daniel Jacobowitz <drow@mvista.com>
14548
14549 * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
14550
15548103 145512002-08-01 Chris Demetriou <cgd@broadcom.com>
14552
14553 * config.gcc (mipsisa64sb1-*-elf*): New configuration.
14554 (mipsisa64sb1el-*-elf*): Likewise.
14555 * config/mips/mips.c (mips_cpu_info_table): Add sb1.
14556 * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
14557 (TARGET_SB1, TUNE_SB1): New macros.
14558 * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
14559 -mtune flags.
14560
6211a3e6 145612002-08-01 David Edelsohn <edelsohn@gnu.org>
14562
14563 * varasm.c (asm_emit_uninitialized): Return false if global BSS
14564 and ASM_EMIT_BSS not supported by target.
14565 (assemble_variable): Do not duplicate uninitialized logic.
14566 Fall through if asm_emit_uninitialized failed.
14567
3774945f 145682002-08-01 Chris Demetriou <cgd@broadcom.com>
14569
14570 * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
14571
170be75e 145722002-08-02 Alan Modra <amodra@bigpond.net.au>
14573
67f7ac18 14574 * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
14575 (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
14576
170be75e 14577 * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
14578 HOST_BITS_PER_WIDE_INT == 64.
14579
be58ed1d 145802002-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14581
14582 * df.c (df_insn_table_realloc): Change parameter to unsigned.
14583 * optabs.c (expand_binop): Make variable unsigned.
14584 * simplify-rtx.c (simplify_subreg): Likewise.
14585 * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
14586
c726878d 145872002-08-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
14588
14589 * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
14590
32c07018 145912002-08-01 Richard Henderson <rth@redhat.com>
14592
3385506f 14593 * toplev.c (parse_options_and_default_flags): Don't set
32c07018 14594 flag_reorder_blocks for -Os.
14595
14596 * config/avr/avr.c (avr_optimization_options): Remove.
14597 * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
14598 * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
14599 * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
14600
f4111c94 146012002-08-01 H.J. Lu <hjl@gnu.org>
14602 Richard Henderson <rth@redhat.com>
14603
14604 * output.h (DECL_READONLY_SECTION): Remove.
14605 (decl_readonly_section): Declare.
14606 * varasm.c (decl_readonly_section): New.
14607 (default_section_type_flags, default_select_section): Use it.
14608 * config/arm/pe.c (arm_pe_unique_section): Likewise.
14609 * config/i386/interix.c (i386_pe_unique_section): Likewise.
14610 * config/i386/winnt.c (i386_pe_unique_section): Likewise.
14611 * config/mcore/mcore.c (mcore_unique_section): Likewise.
14612 * config/mips/mips.c (mips_unique_section): Likewise.
14613
52964258 146142002-08-01 Richard Henderson <rth@redhat.com>
14615
14616 * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
14617 refers to a subroutine parameter.
14618
caf98cc4 146192002-08-01 Jakub Jelinek <jakub@redhat.com>
14620
14621 * varasm.c (assemble_visibility): Strip name encoding.
14622
b2dd7dbf 146232002-08-01 Ian Dall <ian@sibyl.beware.dropbear.id.au>
14624
14625 * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
14626 (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
14627 when there is no frame pointer.
14628 (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
14629 registers properly.
14630 * config/ns32k/__unorddf2.c: New file.
14631 * config/ns32k/__unordsf2.c: New file.
14632 * config/ns32k/t-ns32k: New file.
14633 * config.gcc (ns32k-*-netbsd*): Use it.
14634
29738e5d 146352002-08-01 Aldy Hernandez <aldyh@redhat.com>
14636
14637 * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
14638
1259f5b3 146392002-08-01 Neil Booth <neil@daikokuya.co.uk>
14640
14641 * c-common.c (__GXX_ABI_VERSION): Correct spelling.
14642
29d069c0 146432002-08-01 Benjamin Kosnik <bkoz@redhat.com>
14644
14645 * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
14646
412a7624 146472002-08-01 Richard Sandiford <rsandifo@redhat.com>
14648
14649 * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
14650
27cfe3f1 146512002-08-01 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
14652
14653 * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
14654 n_sets): Removed.
14655 (expr_hash_table, set_hash_table): Type changed to ...
14656 (struct hash_table): New type.
14657 (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
14658 insert_expr_in_table, insert_set_in_table, compute_hash_table,
14659 dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
14660 compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
14661 (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
14662 (alloc_hash_table): New.
14663 (free_set_hash_table, free_expr_hash_table): Merged to ...
14664 (free_hash_table): New.
14665 (compute_set_hash_table, compute_expr_hash_table): Merged to ...
14666 (compute_hash_table_work): New.
14667 (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
14668 find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
14669 pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
14670 one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
14671 hoist_code, one_code_hoisting_pass,
14672 trim_ld_motion_mems): Altered due to changed type of hash tables.
14673
33ec64c4 146742002-08-01 Zack Weinberg <zack@codesourcery.com>
14675
14676 * final.c (output_alternate_entry_point):
14677 If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
14678
42cf7bb0 146792002-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14680
19f63b4e 14681 * objc/objc-act.c (encode_complete_bitfield): Add prototype and
14682 avoid ISO C style function definition.
14683
42cf7bb0 14684 * expr.c (expand_assignment): Delete unused variable.
14685
af8d63dd 146862002-08-01 Toon Moene <toon@moene.indiv.nluug.nl>
14687
14688 * c-common.c (cb_register_builtins): Set
14689 __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
14690 is given, and to 0 otherwise.
14691 * combine.c (simplify_if_then_else): HONOR_NANS
14692 implies FLOAT_MODE_P.
14693
443ee9e3 146942002-08-01 Neil Booth <neil@daikokuya.co.uk>
14695
14696 * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
14697 (cpp_handle_option): Don't handle it.
14698 (print_help): Update.
14699 * doc/cppopts.texi: Update.
14700
10cafc5e 147012002-08-01 Neil Booth <neil@daikokuya.co.uk>
14702
14703 * c-common.c (cb_register_builtins): If C++, define
14704 __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
14705 * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
14706cp:
14707 * lang-specs.h: Simplify in accordance with new code in
14708 c-common.c.
14709
574a6990 147102002-08-01 Neil Booth <neil@daikokuya.co.uk>
14711
14712 * c-common.c: Define all C/ObjC/C++ warning and flag variables.
14713 * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
14714 * c-decl.c: Move all warning and flag variables to c-common.c.
14715 * c-format.c: Move all warning variables to c-common.c.
14716 * c-tree.h: Move all warning and flag declarations to c-common.h.
14717 * objc/objc-act.c: Move all warning variables to c-common.c.
14718 (flag_warn_protocol): Rename warn_protocol.
14719
ef26a92d 147202002-07-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
14721
14722 * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
14723
61ae98c7 147242002-07-31 Graham Stott <graham.stott@btinternet.com>
812bc3a9 14725
33ec64c4 14726 * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
812bc3a9 14727 .section prefix.
14728
ffd05090 147292002-07-31 Stan Shebs <shebs@apple.com>
14730
14731 * config.gcc (i[34567]86-*-darwin*): New configuration.
14732 * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
14733 defining.
14734 (TARGET_ENCODE_SECTION_INFO): Ditto.
14735 (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
14736 * config/darwin.c (machopic_indirect_data_reference): Remove
14737 setting of RTX_UNCHANGING_P.
14738 (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
14739 not to be applied to sums.
14740 * config/i386/t-darwin: New file.
14741 * config/i386/darwin.h: New file.
14742 * config/i386/i386.h (TARGET_MACHO): Add default definition.
14743 * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
14744 * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
14745 label and not the GOT add.
14746 (constant_address_p): For Mach-O, seeing a CONST is enough.
14747 (legitimate_pic_address_disp_p): Add a Mach-O case.
14748 (legitimate_address_p): Also test machopic_operand_p if Mach-O.
14749 (legitimize_pic_address): Use generic Mach-O code to legitimize.
14750 (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
14751 if outputting a difference.
14752 (ix86_output_addr_diff_elt): Add Mach-O case.
14753 (ix86_expand_move): Similarly.
14754 (ix86_expand_call): Similarly.
14755 (current_machopic_label_num): New global.
14756 (machopic_output_stub): New function.
14757 (ix86_value_regno): New function.
14758 (ix86_function_value): Use it instead of VALUE_REGNO.
14759 (ix86_libcall_value): Ditto.
14760 * config/i386/unix.h (VALUE_REGNO): Remove.
14761
9a4d96b9 147622002-07-31 Graham Stott <grahas@btinternet.com>
14763
14764 * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
33ec64c4 14765 hash for LABEL_REF's.
9a4d96b9 14766
3dfc4683 147672002-07-31 Graham Stott <grahams@btinternet.com>
14768
14769 * config/rs6000/rs6000.c (spe_init_builtins,
14770 altivec_init_builtins, rs6000_common_init_builtins):
33ec64c4 14771 Replace ANSI with K&R function def.
3dfc4683 14772
2849611a 147732002-07-31 David Edelsohn <edelsohn@gnu.org>
14774
14775 * rs6000.c (validate_condition_mode): Test flag_finite_math_only
14776 for CCFPmode.
14777
0841f057 147782002-07-31 Richard Sandiford <rsandifo@redhat.com>
14779
14780 * config/mips/crtn.asm: Don't use __mips16 to determine the
14781 return-address offset. Define RA to a suitable temporary
14782 register for the return address.
14783
e7611f1a 147842002-07-31 Richard Sandiford <rsandifo@redhat.com>
14785
14786 * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
14787 constraints to 'd'.
14788
01286515 147892002-07-30 Chris Demetriou <cgd@broadcom.com>
14790
14791 * config/mips/elf.h (STARTFILE_SPEC): Define differently if
14792 default ABI is MEABI. (Undoes incorrect change in Eric Christopher's
14793 patch on 2002-07-29.)
14794 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
14795
33b14b1e 147962002-07-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14797
0036ad94 14798 * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
14799 fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
14800 ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
14801 openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
14802 s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
14803 (ASM_GLOBALIZE_LABEL): Delete.
14804 (GLOBAL_ASM_OP): Define.
14805
33b14b1e 14806 * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
33ec64c4 14807
33b14b1e 14808 * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
14809 * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
14810
d89b84b5 148112002-07-30 Geoffrey Keating <geoffk@redhat.com>
14812
14813 * doc/extend.texi (Hints implementation): Document that GCC
14814 mostly ignores `register'.
14815
7eece8c3 148162002-07-30 Toon Moene <toon@moene.indiv.nluug.nl>
14817
14818 * flags.h: Declare flag_finite_math_only.
14819 Use it in definition of HONOR_NANS and
14820 HONOR_INFINITIES.
14821 * c-common.c (cb_register_builtins): Emit
14822 __FINITE_MATH_ONLY__ when flag_finite_math_only
14823 is set.
14824 * combine.c (simplify_if_then_else): If
14825 flag_finite_math_only is set, a == b has a
14826 definite value.
14827 * toplev.c: Initialize flag_finite_math_only.
14828 (set_flags_fast_math): Set it on -ffast-math.
14829 (flag_fast_math_set_p): Test it.
14830 * doc/invoke.texi: Document -ffinite-math-only.
14831
95c02608 148322002-07-30 Richard Henderson <rth@redhat.com>
14833
14834 * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
14835 (noce_process_if_block): Likewise.
14836
b2976eba 148372002-07-30 Bernd Schmidt <bernds@redhat.com>
14838
14839 * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
14840 Bail out early if false_expr is NULL and we'd crash due to this.
4fe49c85 14841 * genemit.c (gen_expand): Recognize return insns even if the return
14842 appears in a parallel.
856ba90e 14843 * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
14844 * config/fp-bit.c: Likewise.
14845 * doc/tm.texi: Document it.
33ec64c4 14846
8ec32caf 148472002-07-30 David Edelsohn <edelsohn@gnu.org>
14848 Zack Weinberg <zack@codesourcery.com>
14849
14850 * rs6000.c (rs6000_expand_unop_builtin): Check icode not
14851 CODE_FOR_nothing. Change switch to if.
14852 (rs6000_expand_binop_builtin): Same.
14853 (rs6000_expand_builtin): Expand builtin if target support enabled.
14854 (rs6000_init_builtins): Init builtin if target support enabled.
14855 (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
14856
a0833244 148572002-07-30 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
14858
14859 * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
14860
a9ee479d 148612002-07-30 Richard Sandiford <rsandifo@redhat.com>
14862
14863 * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
14864
36858eff 14865Tue Jul 30 18:31:31 2002 J"orn Rennecke <joern.rennecke@superh.com>
14866
14867 * sh.md (cond_delay_slot): New attribute.
14868 (cbranch delay): Use it for anulled-true case.
14869 (stuff_delay_slot): New pattern.
14870 * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
14871 delay slot insn.
14872 (gen_far_branch): Emit stuff_delay_slot pattern.
14873
349e0af1 14874Tue Jul 30 11:21:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
14875
14876 * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
14877
95cc2547 148782002-07-30 Kazu Hirata <kazu@cs.umass.edu>
14879
14880 * fold-const.c: Fix comment typos.
14881 * gcse.c: Likewise.
14882 * reload1.c: Likewise.
14883
f5088b54 148842002-07-29 Aldy Hernandez <aldyh@redhat.com>
14885
14886 * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
14887 for TARGET_SPE.
14888
1501e78e 148892002-07-30 Gabriel Dos Reis <gdr@nerim.net>
14890
14891 * c-pretty-print.h (pp_c_statement): Declare.
14892 * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
14893 (pp_c_statement): Define.
14894
9bf98a09 148952002-07-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14896
14897 * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
14898 darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
14899 ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
14900 mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
14901 rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
14902 v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
14903
14904 * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
14905 * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
14906
219e3838 149072002-07-30 Gabriel Dos Reis <gdr@nerim.net>
14908
14909 * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
14910 (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
14911 COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
14912 (pp_c_expression): Update.
14913
9591cb7b 149142002-07-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14915
14916 * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
14917 concat in lieu of xmalloc/strcpy/memcpy/sprintf.
14918 * alpha/vms-ld.c (main): Likewise.
14919 * dsp16xx.c (double_reg_to_memory): Likewise.
14920 * mcore.c (mcore_expand_prolog): Likewise.
14921 * cppfiles.c (read_name_map): Likewise.
14922 * gensupport.c (process_rtx, identify_predicable_attribute,
14923 alter_test_for_insn): Likewise.
14924 * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
14925
92482ee0 149262002-07-29 Roger Sayle <roger@eyesopen.com>
14927
14928 * builtins.c (expand_builtin): Change the default behavior to
33ec64c4 14929 only issue an error if the builtin function doesn't have a
92482ee0 14930 fallback library call. Remove several cases handled by the
14931 new default.
14932
f81fddca 149332002-07-29 John David Anglin <dave@hiauly1.hia.nrc>
14934
14935 * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
14936 floating point format of the target is IEEE.
14937 * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
14938 format of the target is DEC.
14939
d6484866 149402002-07-29 Richard Henderson <rth@redhat.com>
14941
14942 * unroll.c (verify_addresses): Remove.
14943 (find_splittable_givs): Never split DEST_ADDR givs.
14944
f191dff6 149452002-07-29 Geoffrey Keating <geoffk@redhat.com>
14946
14947 * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
14948 is exhaustive.
14949 (Files): Improve documentation on generated source files.
14950
14951 * doc/extend.texi (Translation implementation): Document what
14952 diagnostics look like.
14953 (Identifiers implementation): Document that there's normally no
14954 limit on identifier names.
14955 (Integers implementation): Document two's complement.
974e2c0c 14956 (Hints implementation): Document that GCC honors 'inline', mostly.
f191dff6 14957 (Preprocessing directives implementation): Document that GCC
14958 requires the current time.
14959
5dadc2ef 149602002-07-30 Gabriel Dos Reis <gdr@nerim.net>
14961
14962 * c-pretty-print.h (struct c_pretty_print_info): Add new member.
14963 (pp_initializer): New macro.
14964 (pp_c_initializer): Declare.
14965 * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
14966 (pp_c_initializer): Define.
14967 (pp_c_initializer_list): New function.
14968 (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
14969 VECTOR_CST, CONSTRUCTOR.
14970 (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
33ec64c4 14971 IMAGPART_EXPR.
5dadc2ef 14972 (pp_c_cast_expression): Handle FLOAT_EXPR.
14973 (pp_c_assignment_expression): Handle INIT_EXPR.
14974 (pp_c_expression): Update.
14975
4b16240b 149762002-07-30 Neil Booth <neil@daikokuya.co.uk>
14977
14978 * objc/objc-act.c (objc_init): Return immediately if filename
14979 is NULL.
14980
3c791c03 149812002-07-29 Eric Christopher <echristo@redhat.com>
14982
33ec64c4 14983 * config/mips/elf.h: Remove ecoff.h and gofast includes.
14984 (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
14985 (SDB_DEBUGGING_INFO): Undefine.
14986 (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
3c791c03 14987 (PUT_SDB_SIZE): Remove.
14988 (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
33ec64c4 14989 (STARTFILE_SPEC): Add isa3264 define.
14990 * config/mips/elf64.h: Ditto. Move TARGET_MEM_FUNCTIONS from here...
14991 * config/mips/ecoff.h: Remove. and here...
14992 * config/mips/iris3.h: and here...
14993 * config/mips/sni-svr4.h: and here...
14994 * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
3c791c03 14995 Add assembler -mmdebug options for non-dwarf debugging.
14996 * config/mips/r3900.h: Remove debug info defines.
33ec64c4 14997 * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
14998 * config/mips/isa3264.h: Ditto.
14999 * config/mips/t-isa3264: Fix up for file removal and gofast configure
15000 change.
15001 * config/mips/t-elf: Ditto.
15002 * config/mips/t-ecoff: Ditto.
15003 * config/mips/t-r3900: Ditto.
15004 * config/mips/t-iris5-6: Ditto.
15005 * config/mips/t-isa3264: Ditto.
15006 * config/mips/t-linux: Remove.
15007 * config/mips/t-netbsd: Remove.
15008 * config/mips/t-mips: New file.
15009 * config/mips/t-gofast: Ditto.
15010 * config/mips/netbsd.h: Remove unnecessary undefines.
15011 * config/mips/linux.h: Remove #include of mips.h.
15012 * config.gcc: Add mips.h include for elf targets. Remove tm_file
15013 for ecoff. Add gofast configure option for mips.
3c791c03 15014
b3eecb6c 150152002-07-29 Chris Demetriou <cgd@broadcom.com>
15016
15017 * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
15018 linker scripts use STARTUP directives consistently.
15019 * configure: Regenerate.
15020 * config.in: Regenerate.
15021 * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
15022 on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
15023 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
15024 * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
15025 HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
15026 will be the same.
15027
4f97537b 150282002-07-29 Aldy Hernandez <aldyh@redhat.com>
15029
15030 * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
15031
9bf4f706 150322002-07-29 Aldy Hernandez <aldyh@redhat.com>
15033
15034 * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
15035
1682d51f 150362002-07-29 Aldy Hernandez <aldy@quesejoda.com>
15037
15038 * config/rs6000/rs6000.md: Move altivec patterns from here...
15039
15040 * config/rs6000/altivec.md: ...to here.
15041
1ae0ee55 150422002-07-29 Aldy Hernandez <aldyh@redhat.com>
15043
15044 * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
15045
6f717f77 150462002-07-29 Richard Henderson <rth@redhat.com>
15047
15048 * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
15049 set_mem_attributes and add BITPOS argument. Subtract it from
15050 OFFSET when same is adjusted.
15051 (set_mem_attributes): New wrapper function.
15052 * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
15053 remove offset adjustment hack.
15054 * expr.h (set_mem_attributes_minus_bitpos): Declare.
15055
ba21936b 150562002-07-29 Gabriel Dos Reis <gdr@nerim.net>
15057
15058 * Makefile.in (C_OBJS): Include c-pretty-print.o
15059 (c-pretty-print.o): Add depency rule.
15060 * pretty-print.h: Add more macros.
15061 * c-pretty-print.c: New file.
15062 * c-pretty-print.h: Likewise.
15063
0347ca20 150642002-07-29 Aldy Hernandez <aldyh@redhat.com>
15065
15066 * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
15067 constants to __ev64_s32__.
15068 (__internal_ev_mwhgsmian): Same.
15069 (__internal_ev_mwhgsmfan): Same.
15070 (__internal_ev_mwhgssfan): Same.
15071 (__internal_ev_mwhgumiaa): Same.
15072 (__internal_ev_mwhgsmiaa): Same.
15073 (__internal_ev_mwhgsmfaa): Same.
15074 (__internal_ev_mwhgssfaa): Same.
15075
ee8c7e21 150762002-07-29 David Edelsohn <edelsohn@gnu.org>
15077
15078 * varasm.c (assemble_variable): Narrow test for uninitialized
15079 without BSS target support.
15080
958c14b1 150812002-07-29 Nathan Sidwell <nathan@codesourcery.com>
15082
15083 * profile.c: Add file comment describing the overall algorithm and
15084 structures.
15085 (struct edge_info): Add comments.
15086 (struct bb_info): Add comments.
15087 * basic-block.h (EDGE_*): Add comments.
15088 * doc/gcov.texi (Gcov Data Files): Document bit flags.
15089
56abe40c 150902002-07-29 Bob Wilson <bob.wilson@acm.org>
15091
15092 * config/xtensa/elf.h, config/xtensa/linux.h
15093 (TARGET_OS_CPP_BUILTINS): Define.
15094 (CPP_PREDEFINES): Remove.
15095 * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
15096 (CPP_SPEC): Remove.
15097
b70bd542 150982002-07-29 Zack Weinberg <zack@codesourcery.com>
15099
15100 * gensupport.c: Include hashtab.h.
15101 (insn_elision, condition_table, hash_c_test, cmp_c_test,
15102 maybe_eval_c_test): New routines and data structures to
15103 support insn elision.
15104 (init_md_reader): Read and initialize the condition_table.
15105 (read_md_rtx): Discard insn patterns whose C test is provably
15106 always false.
15107 * gensupport.h: Declare new functions and data structures.
15108
15109 * genconditions.c, dummy-conditions.c: New files.
15110 * Makefile.in: Build genconditions; run it to construct
15111 insn-conditions.c; build that and link it into most gen*
15112 programs.
15113 (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
15114 (GEN): Delete, unused.
15115 (STAGESTUFF): Update.
15116
15117 * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
15118 CODE_FOR_nothing for all elided patterns.
15119 (main): Tweaked to support this.
15120 * genflags.c (gen_proto): Emit a static inline generator
15121 function here for all elided patterns, which simply returns
15122 NULL_RTX.
15123 (gen_insn): Do not define HAVE_xxx for elided patterns.
15124 (main): Tweaked to support this. No need to forward-declare
15125 struct rtx_def.
15126 * genrecog.c: Do not bother emitting the C test if it's known
15127 to be true at compile time.
15128
22ac052b 151292002-07-29 Mike Stump <mrs@apple.com>
15130
3c791c03 15131 * config.gcc (target_gtfiles): Initialize, as otherwise cross
b70bd542 15132 compilers hosted on powerpc-apple-darwin6.0 won't even build.
22ac052b 15133
2ba80634 151342002-07-29 Richard Earnshaw <rearnsha@arm.com>
15135
15136 * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
15137 remove clobber of LR.
15138 (sibcall_insn, sibcall_value_insn): Update accordingly.
15139 (sibcall_epilogue): Remove debugging comment from assembler stream.
15140
b38e286c 151412002-07-29 Gabriel Dos Reis <gdr@nerim.net>
15142
15143 * pretty-print.h: Define more macros.
15144 * diagnostic.h (output_formatted_integer): Moved from...
15145 * diagnostic.c: ... here.
15146
696cd697 151472002-07-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15148
15149 * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
15150
a7424888 151512002-07-28 Zack Weinberg <zack@codesourcery.com>
15152
15153 * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
15154 arguments. Always use ".-symbol" as expression argument.
15155 * doc/tm.texi: Update to match. Document requirement for
15156 ".size symbol, .-symbol" to be acceptable to assembler.
15157
15158 * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
15159 config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
15160 config/i386/freebsd-aout.h, config/i386/sco5.h,
15161 config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
15162 config/xtensa/linux.h: Update uses of ASM_OUTPUT_MEASURED_SIZE.
15163
77ee6957 151642002-07-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15165
e15fce1b 15166 * Makefile.in (gengtype-lex.c): Fix error in last change.
15167
8a1d34be 15168 * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
15169 backslash.
15170
77ee6957 15171 * Makefile.in (vmsdbgout.o): Depend on function.h.
15172
15173 * vmsdbgout.c: Include function.h.
15174
fa93416c 151752002-07-28 Alan Modra <amodra@bigpond.net.au>
15176
15177 * prefix.c (update_path): Don't strip single `.' path components
15178 unless stripping a later `..' component. Exit loop as soon as
15179 a valid path is found.
15180
8a007b43 151812002-07-27 Roger Sayle <roger@eyesopen.com>
15182
15183 * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
15184 argument. Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
15185 BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
15186 floating point unordered comparisons (e.g. __builtin_isgreater)
15187 as const, and leave the remaining GCC_BUILTINs unchanged.
15188
15189 * c-decl.c (builtin_function): No need to explicitly mark
15190 BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
15191
0a8176f3 151922002-07-27 Roger Sayle <roger@eyesopen.com>
15193
15194 * Makefile.in: rtlanal.o now depends upon real.h.
15195
15196 * flags.h [flag_signaling_nans]: New flag.
15197 [HONOR_SNANS]: New macro.
15198
15199 * toplev.c [flag_signaling_nans]: Initialize to false.
a7424888 15200 (f_options): Add processing for "-fsignaling-nans".
0a8176f3 15201 (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
15202 (process_options): flag_signaling_nans implies flag_trapping_math.
15203
15204 * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
15205 when -fsignaling-nans. First step to implementing WG14's N965.
15206
15207 * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
15208 1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
15209 [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
15210
15211 * simplify-rtx.c (simplify_relational_operation): Conditionalize
15212 transforming abs(x) < 0.0 into false on !HONOR_SNANS.
15213
15214 * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
15215 required by HONOR_SNANS. (may_trap_p): Floating point DIV, MOD,
a7424888 15216 UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
15217 -fsignaling_nans. EQ and NE only trap for flag_signaling_nans
0a8176f3 15218 not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
15219
15220 * doc/invoke.texi: Document new -fsignaling-nans compiler option.
15221
525ef9f9 152222002-07-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15223
15224 * Makefile.in (gengtype-lex.c): Work around a bug in flex.
15225 * gengtype-lex.l (YY_USE_PROTOS): Undef.
15226 (YY_DECL): Define.
15227
74ccf8fa 152282002-07-27 Roger Sayle <roger@eyesopen.com>
15229
15230 * doc/invoke.texi: Document that both -fno-builtin-foo and
15231 -fno-builtin are supported by the g++ front-end.
15232
eb1bd38b 152332002-07-27 Stan Shebs <shebs@apple.com>
15234
15235 * configure.in: Rename config_gtfiles to target_gtfiles.
15236 * configure: Regenerate.
15237 * doc/gty.texi: Update reference.
15238 * config.gcc (powerpc-*-darwin*): Set target_gtfiles
15239 instead of appending to it.
15240
af3757ef 152412002-07-25 Aldy Hernandez <aldyh@redhat.com>
15242
15243 * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
15244 vectors are split into two registers.
15245 (function_arg): Same.
15246
57d5f13e 15247Thu Jul 26 23:00:13 2002 J"orn Rennecke <joern.rennecke@superh.com>
15248
15249 * pa.md (extv): Check predicates before emitting extv_32.
15250
58a8d617 152512002-07-27 Alan Modra <amodra@bigpond.net.au>
15252
15253 * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
15254 (rs6000_traceback): New var.
15255 (rs6000_override_options): Set rs6000_traceback.
15256 (rs6000_output_function_epilogue): Implement traceback options.
15257 * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
15258 (rs6000_traceback_name): Declare.
15259
15260 * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
15261 label reference when NO_PROFILE_COUNTERS.
15262
d145d8d5 152632002-07-26 Jason Merrill <jason@redhat.com>
15264
15265 * function.c (assign_parms): Handle frontend-directed pass by
15266 invisible reference.
15267
d3dabc00 152682002-07-26 Neil Booth <neil@daikokuya.co.uk>
15269
15270 * doc/cppopts.texi: Update.
15271
70145d81 152722002-07-26 Neil Booth <neil@daikokuya.co.uk>
15273
15274 * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
15275 warnings on assertions.
15276
5610f3ad 152772002-07-26 Neil Booth <neil@daikokuya.co.uk>
15278
15279 * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
15280 RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
15281 RID_COMPL): Remove.
15282 * c-parse.in (rid_to_yy): Similarly.
15283
d571f56f 152842002-07-26 Jason Merrill <jason@redhat.com>
15285
15286 * c-dump.c: Resurrect.
15287 * tree-dump.c: Move C-specific stuff to c-dump.c.
15288 * c-common.h: Declare c_dump_tree.
15289 * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
15290 * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
15291 (c-dump.o): New rule.
15292
30a32498 152932002-07-26 Alan Modra <amodra@bigpond.net.au>
15294
15295 * config/rs6000/rs6000.md: Enable patterns using rlwinm for
15296 PowerPC64. Replace "T" and "S" constraints with "n" when the
15297 predicate will do. Formatting fixes.
15298 (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
15299 as for extzvsi_internal1.
15300
b0acf022 153012002-07-25 Neil Booth <neil@daikokuya.co.uk>
15302
15303 * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
15304 DERIV_END_LABEL_FMT): Remove.
15305 (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
15306
4cad91d6 153072002-07-25 Neil Booth <neil@daikokuya.co.uk>
15308
15309 * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
15310 Remove.
15311
e08baea1 153122002-07-25 Stan Shebs <shebs@apple.com>
15313
15314 * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
15315 local var dwarfp.
15316 (output_compiler_stub): Remove unused locals.
15317 (output_call): Always initialize line number.
15318
e7196bd7 15319Thu Jul 25 20:34:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
15320
15321 * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
15322 * sh.md (truncdiqi2, movqi_media): Likewise.
15323
7cdd3716 153242002-07-25 Neil Booth <neil@daikokuya.co.uk>
15325
15326 * gcse.c (obstack_chunk_alloc): Remove.
15327 (gcse_alloc): Fix to count allocated bytes.
15328 * collect2.c (SYMBOL__MAIN): Remove.
15329
0380af66 153302002-07-25 Neil Booth <neil@daikokuya.co.uk>
15331
15332 * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
15333 HAVE_TARGET_EXECUTABLE_SUFFIX.
15334
07ebef41 15335Thu Jul 25 18:57:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
15336
15337 * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
15338 SIZE, EXPR and OFFSET.
15339
0318dc09 153402002-07-25 Richard Henderson <rth@redhat.com>
15341
15342 * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
15343 in ARRAY_REF of DECL_P case.
15344
5153cc32 153452002-07-25 Richard Sandiford <rsandifo@redhat.com>
15346
15347 * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
15348 description. Document -mips32, -mips64, and the associated -march
15349 values. Describe the "mipsN" arguments to -march. Say that the
15350 -mipsN options are equivalent to -march. Reword the description
15351 of default type sizes.
15352 * toplev.h (target_flags_explicit): Declare.
15353 * toplev.c (target_flags_explicit): New var.
15354 (set_target_switch): Update target_flags_explicit.
15355 * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
15356 * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
15357 * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
15358 * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
15359 * config/mips/mips.h (mips_cpu_info): New struct.
15360 (mips_cpu_string, mips_explicit_type_size_string): Remove.
15361 (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
15362 (MIPS_CPP_SET_PROCESSOR): New macro.
15363 (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
15364 Define _MIPS_ARCH and _MIPS_TUNE.
15365 (MIPS_ISA_DEFAULT): Don't provide a default value. Instead...
15366 (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
15367 MIPS_ISA_DEFAULT were already defined.
15368 (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
15369 (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
15370 (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
15371 (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
15372 (ABI_GAS_ASM_SPEC): Remove.
15373 (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
15374 (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
15375 Invoke %(asm_abi_default_spec) if no ABI was specified.
15376 (CC1_SPEC): Remove ISA -> register-size rules.
15377 (EXTRA_SPECS): Remove abi_gas_asm_spec. Add asm_abi_default_spec.
15378 * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
15379 (mips_cpu_string, mips_explicit_type_size_string): Remove.
15380 (mips_cpu_info_table): New array.
15381 (mips_set_architecture, mips_set_tune): New fns.
15382 (override_options): Rework to make -mipsN equivalent to -march.
15383 Detect more erroneous cases, including those removed from CC1_SPEC.
15384 Don't change the ABI based on architecture, or vice versa.
15385 Unify logic with GAS.
15386 (mips_asm_file_start): Get architecture name from mips_arch_info.
15387 (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
15388 (mips_parse_cpu): Take the name of the option as argument. Handle
15389 'from-abi'. Raise an error if the option is wrong.
15390 (mips_cpu_info_from_isa): New fn.
15391
2ceaddda 153922002-07-25 Richard Sandiford <rsandifo@redhat.com>
15393
15394 * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
15395 (tablejump_mips162): Likewise.
15396
54ec7c80 15397Thu Jul 25 10:23:41 2002 J"orn Rennecke <joern.rennecke@superh.com>
15398
15399 * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
15400 int_mode_for_mode.
15401
d3a4d008 154022002-07-25 Gabriel Dos Reis <gdr@nerim.net>
15403
15404 * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
a7424888 15405 complaining.
d3a4d008 15406 * c-common.h (c_sizeof): Adjust definition.
15407 (c_alignof): Likewise.
15408 * c-tree.h (c_sizeof_nowarn): Now macro.
15409 * c-typeck.c (c_sizeof_nowarn): Remove definition.
15410
6ecb5f99 154112002-07-25 Neil Booth <neil@daikokuya.co.uk>
15412
15413 * c-decl.c (c_decode_option): No need to handle switches
15414 cpplib handles.
15415
ef7af4c3 154162002-07-24 Zack Weinberg <zack@codesourcery.com>
15417
15418 * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
15419 ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
15420 * doc/tm.texi: Document them. Also document SIZE_ASM_OP,
15421 TYPE_ASM_OP, and TYPE_OPERAND_FMT.
15422
15423 * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
15424 config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
15425 config/cris/aout.h, config/i386/freebsd-aout.h,
15426 config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
15427 config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
15428 config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
15429 config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
15430 config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
15431 config/xtensa/elf.h, config/xtensa/linux.h:
15432 Use the new macros.
15433 Where possible, remove redundant definitions of SIZE_ASM_OP,
15434 TYPE_ASM_OP, and TYPE_OPERAND_FMT.
15435
6f0a80d3 154362002-07-24 Aldy Hernandez <aldyh@redhat.com>
15437
15438 * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
15439 TARGET_ISEL, and TARGET_FPRS.
a7424888 15440
6f0a80d3 15441 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
15442 -mabi=spe, -mabi=no-spe, and -misel=.
15443
15444 * config/rs6000/rs6000-protos.h: Add output_isel.
15445 Move vrsave_operation prototype here.
15446
15447 * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
15448 (smaxsi3): Same.
15449 (uminsi3): Same.
15450 (umaxsi3): Same.
15451 (abssi2_nopower): Disallow when TARGET_ISEL.
15452 (*ne0): Same.
15453 (negsf2): Change to expand and rename old pattern to *negsf2.
15454 (abssf2): Change to expand and rename old pattern to *abssf2.
a7424888 15455
6f0a80d3 15456 New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
15457 fixunssfsi2.
15458
15459 Change patterns that check for TARGET_HARD_FLOAT or
15460 TARGET_SOFT_FLOAT to also check TARGET_FPRS.
15461
15462 * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
15463 rs6000_isel, rs6000_fprs, rs6000_isel_string.
15464 (rs6000_override_options): Add 8540 case to
15465 processor_target_table.
15466 Set rs6000_isel for the 8540.
15467 Call rs6000_parse_isel_option.
15468 (enable_mask_for_builtins): New.
15469 (rs6000_parse_isel_option): New.
15470 (rs6000_parse_abi_options): Add spe and no-spe.
15471 (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
15472 (rs6000_legitimize_address): Check for TARGET_FPRS when checking
15473 for TARGET_HARD_FLOAT.
15474 Add case for SPE_VECTOR_MODE.
15475 (rs6000_legitimize_reload_address): Handle SPE vector modes.
15476 (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
15477 vector modes.
15478 Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
15479 (rs6000_emit_move): Check for TARGET_FPRS.
15480 Add cases for SPE vector modes.
15481 (function_arg_boundary): Return 64 for SPE vector modes.
15482 (function_arg_advance): Check for TARGET_FPRS and
15483 Handle SPE vectors.
15484 (function_arg): Same.
15485 (setup_incoming_varargs): Check for TARGET_FPRS.
15486 (rs6000_va_arg): Same.
15487 (struct builtin_description): Un-constify mask field. Move up in
15488 file.
15489 (bdesc_2arg): Un-constify and add SPE builtins.
15490 (bdesc_1arg): Same.
15491 (bdesc_spe_predicates): New.
15492 (bdesc_spe_evsel): New.
15493 (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
15494 (rs6000_expand_binop_builtin): Same.
15495 (bdesc_2arg_spe): New.
15496 (spe_expand_builtin): New.
15497 (spe_expand_predicate_builtin): New.
15498 (spe_expand_evsel_builtin): New.
15499 (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
15500 (rs6000_init_builtins): Initialize SPE builtins. Call
15501 rs6000_common_init_builtins.
15502 (altivec_init_builtins): Move all non-altivec builtin code to...
15503 (rs6000_common_init_builtins): ...here. New function.
15504 (branch_positive_comparison_operator): Allow NE code for SPE.
15505 (ccr_bit): Return correct ccr bit for SPE fp.
15506 (print_operand): Emit crnor in 'D' case for SPE.
15507 New case 't'.
15508 Add SPE code for 'y' case.
15509 (rs6000_generate_compare): Generate rtl for SPE fp.
15510 (output_cbranch): Handle SPE hard floats.
15511 (rs6000_emit_cmove): Handle isel.
15512 (rs6000_emit_int_cmove): New.
15513 (output_isel): New.
15514 (rs6000_stack_info): Adjust stack frame so GPRs are saved in
15515 64-bits for SPE.
15516 (debug_stack_info): Add SPE info.
15517 (gen_frame_mem_offset): New.
15518 (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
15519 Change mode of frame pointer, when saving it, to Pmode.
15520 (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
15521 Misc cleanups and use gen_frame_mem_offset when appropriate.
15522
15523 * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
15524 (TARGET_SPE_ABI): New.
15525 (TARGET_SPE): New.
15526 (TARGET_ISEL): New.
15527 (TARGET_FPRS): New.
15528 (FIXED_SCRATCH): New.
15529 (RTX_COSTS): Add PROCESSOR_PPC8540.
15530 (ASM_CPU_SPEC): Add case for 8540.
15531 (TARGET_OPTIONS): Add isel= case.
15532 (rs6000_spe_abi): New.
15533 (rs6000_isel): New.
15534 (rs6000_fprs): New.
15535 (rs6000_isel_string): New.
15536 (UNITS_PER_SPE_WORD): New.
15537 (LOCAL_ALIGNMENT): Adjust for SPE.
15538 (HARD_REGNO_MODE_OK): Same.
15539 (DATA_ALIGNMENT): Same.
15540 (MEMBER_TYPE_FORCES_BLK): New.
15541 (FIRST_PSEUDO_REGISTER): Set to 113.
15542 (FIXED_REGISTERS): Add SPE registers.
15543 (reg_class): Same.
15544 (REG_CLASS_NAMES): Same.
15545 (REG_CLASS_CONTENTS): Same.
15546 (REGNO_REG_CLASS): Same.
15547 (REGISTER_NAMES): Same.
15548 (DEBUG_REGISTER_NAMES): Same.
15549 (ADDITIONAL_REGISTER_NAMES): Same.
15550 (CALL_USED_REGISTERS): Same.
15551 (CALL_REALLY_USED_REGISTERS): Same.
15552 (SPE_ACC_REGNO): New.
15553 (SPEFSCR_REGNO): New.
15554 (SPE_SIMD_REGNO_P): New.
15555 (HARD_REGNO_NREGS): Adjust for SPE.
15556 (VECTOR_MODE_SUPPORTED_P): Same.
15557 (REGNO_REG_CLASS): Same.
15558 (FUNCTION_VALUE): Same.
15559 (LIBCALL_VALUE): Same.
15560 (LEGITIMATE_OFFSET_ADDRESS_P): Same.
15561 (SPE_VECTOR_MODE): New.
15562 (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
15563 the GPRs. Set FIXED_SCRATCH fixed in SPE case.
15564 (rs6000_stack): Add spe_gp_size, spe_padding_size,
15565 spe_gp_save_offset.
15566 (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
15567 (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
15568 (SPE_CONST_OFFSET_OK): New.
15569 (rs6000_builtins): Add SPE builtins.
15570
15571 * testsuite/gcc.dg/ppc-spe.c: New.
a7424888 15572
6f0a80d3 15573 * config/rs6000/eabispe.h: New.
15574
15575 * config/rs6000/spe.h: New.
15576
15577 * config/rs600/spe.md: New.
15578
15579 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
15580 __SIMD__ for TARGET_SPE.
15581
15582 * config.gcc: Add powerpc-*-eabispe* case.
15583 Add spe.h to user headers for powerpc.
15584
6d194037 155852002-07-24 Chris Demetriou <cgd@broadcom.com>
15586
15587 * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
15588 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
15589 * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
15590
e62d4117 155912002-07-24 Richard Henderson <rth@redhat.com>
15592
15593 * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
15594 form when not optimizing.
15595
f6d8cb15 155962002-07-24 David Mosberger <davidm@hpl.hp.com>
15597
15598 * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
15599 thread_pointer_rtx as unchanging.
15600
aa911fe3 156012002-07-24 Michael Matz <matz@suse.de>
15602
15603 * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
15604 (free_reg): Use it.
15605
278b301d 156062002-07-24 Richard Earnshaw <rearnsha@arm.com>
15607
15608 * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
15609 pattern.
15610 (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
15611 (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
15612
67f32782 156132002-07-24 Chris Demetriou <cgd@broadcom.com>
15614
15615 * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
15616 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
15617 * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
15618
4c9b65c5 15619Wed Jul 24 17:59:12 CEST 2002 Jan Hubicka <jh@suse.cz>
15620
15621 * toplev.c (rest_of_compilation): Dump loops before clobbering
15622 the structure.
15623
0c08cb26 15624Wed Jul 24 17:23:16 CEST 2002 Jan Hubicka <jh@suse.cz>
15625
15626 * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
15627
98786d66 156282002-07-24 Frank van der Linden <fvdl@wasabisystems.com>
15629
15630 PR optimization/7291
15631 * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
15632 problem on x86_64.
15633
71a36b9f 156342002-07-24 Gabriel Dos Reis <gdr@nerim.net>
15635
15636 * pretty-print.h: Add macros from cp/error.c
15637
59a5187e 156382002-07-24 Alan Modra <amodra@bigpond.net.au>
15639
15640 * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
15641 (mask64_2_operand): Declare.
15642 (build_mask64_2_operands): Declare.
15643 (and64_2_operand): Declare.
15644 (extract_MB): Declare.
15645 (extract_ME): Declare.
15646 * config/rs6000/rs6000.c (mask64_operand): Allow all ones. Remove
15647 CONST_DOUBLE code.
15648 (mask_operand_wrap): New insn predicate.
15649 (mask64_2_operand): Likewise.
15650 (and64_2_operand): Likewise.
15651 (build_mask64_2_operands): New function.
15652 (extract_MB): New function.
15653 (extract_ME): New function.
15654 (print_operand <case m,M>): Use extract_MB and extract_ME.
15655 (print_operand <case S>): Allow all ones. Remove CONST_DOUBLE support.
15656 * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
15657 (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
15658 mask64_2_operand. Remove CONST_DOUBLE from mask64_operand.
15659 * config/rs6000/rs6000.md (andsi3_internal3): New
15660 (andsi3_internal3+1): Enable split for powerpc64.
15661 (andsi3_internal3+2): New split.
15662 (andsi3_internal4): Renamed old andsi3_internal3.
15663 (andsi3_internal5): New.
15664 (andsi3_internal5+1): Enable split for powerpc64.
15665 (andsi3_internal5+2): New split.
15666 (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
15667 (anddi3): Handle 't' constraint.
15668 (anddi3+1): New split.
15669 (anddi3_internal2): Handle 't' constraint.
15670 (anddi3_internal2+1): New split.
15671 (anddi3_internal3): Handle 't' constraint.
15672 (anddi3_internal3+1): New split.
15673
3fa413fc 156742002-07-24 Alan Modra <amodra@bigpond.net.au>
15675
15676 * config/rs6000/rs6000.md: Remove scratch reg on insns using
15677 addze and similar (plus (comparison r1 r2) r3) insns. Add
15678 missing scratch reg in one case. Formatting fixes.
15679
71a7c282 156802002-07-24 Neil Booth <neil@daikokuya.co.uk>
15681
15682 * cppexp.c (parse_defined): Mark macro used.
15683 * cpphash.h (struct cpp_macro): New member "used".
15684 (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
15685 (struct cpp_reader): New member.
15686 * cppinit.c (cpp_finish_options): Set first_unused_line.
15687 (cpp_finish): Warn of unused macros if requested.
15688 (OPT_TABLE): New switches.
15689 (cpp_handle_option): Handle them.
15690 * cpplib.c (do_undef): Warn if macro unused.
15691 (do_ifdef, do_ifndef): Mark macro used.
15692 * cpplib.h (struct cpp_options): New member.
15693 * cppmacro.c (_cpp_warn_if_unused_macro): New.
15694 (enter_macro_context): Mark macro used.
15695 (_cpp_create_definition): Mark macro unused; warn if unused
15696 when redefined.
15697 * cpptrad.c (scan_out_logcial_line, push_replacement_text):
15698 Mark macros used.
15699 * doc/cppopts.texi: Update.
15700
fdc032b3 157012002-07-23 Neil Booth <neil@daikokuya.co.uk>
15702
15703 * dwarf2out.c (SECTION_ASM_OP,
15704 ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
15705 * system.h (SECTION_ASM_OP): Poison.
15706 * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
15707 * config/alpha/alpha-interix.h, config/mips/linux.h
15708 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
15709 * config/mmix/mmix-protos.h, config/mmix/mmix.c
15710 (mmix_asm_output_define_label_difference_symbol): Remove.
15711 * config/mmix/mmix.h
15712 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
44a8c966 15713 * doc/tm.texi: Remove documentation.
fdc032b3 15714
22dd8d0e 15715Tue Jul 23 21:49:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
15716
15717 * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
15718 (constrain_operands): Likewise.
15719 * regclass.c (record_reg_classes): Likewise.
15720 * reload.c (find_reloads): Likewise.
15721 * doc/md.texi: Likewise.
c736a837 15722
15723 * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
15724 * simplify-rtx.c (simplify_subreg): When converting to a non-int
15725 mode, try to convert to an integer mode of matching size first.
8d8dff49 15726
15727 * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
15728 from individual subregs, check that each subreg has been generated
15729 sucessfully.
15730
b491e489 157312002-07-23 Neil Booth <neil@daikokuya.co.uk>
15732
15733 * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
15734 * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
15735 FOR_EACH_BB_IN_SBITMAP): Remove.
15736 * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
15737 * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
15738 LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
15739 * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
15740 PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
15741 * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
15742
75e76012 157432002-07-23 Gabriel Dos Reis <gdr@nerim.net>
15744
15745 * pretty-print.h: New file.
15746
aca97d53 157472002-07-23 Paul Koning <pkoning@equallogic.com>
15748
15749 * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
15750 (LARGEST_EXPONENT_IS_NORMAL): Ditto.
15751 (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
15752 (TARGET_G_FLOAT): Default to 0 if not defined.
a7424888 15753 (ieeetoe): New, common routine to convert target format floats
aca97d53 15754 to internal form.
15755 (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
15756 vs. others.
15757 (e113toe): Change to use ieeetoe.
15758
157592002-07-23 Roman Lechtchinsky <rl@cs.tu-berlin.de>
15760
15761 * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
15762 IBM.
15763 (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
15764 (e64toe): Remove special cases for DEC and IBM. Remove support for
15765 ARM_EXTENDED_IEEE_FORMAT.
15766 (e24toe): Remove special cases for DEC.
15767 (significand_size): Simplify. Indent.
15768 (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
15769 (etoieee, toieee): New.
15770 (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
15771 etoieee and toieee for IEEE arithmetic.
15772
7fb9818b 157732002-07-23 Gabriel Dos Reis <gdr@nerim.net>
15774
15775 * doc/extend.texi: Say ISO C90, not ISO C89.
15776 * doc/invoke.texi: Likewise.
15777 * doc/standards.texi: Likewise.
15778
e5716f7e 157792002-07-23 Steve Ellcey <sje@cup.hp.com>
15780
15781 * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
15782 Fix permutation of conversion and plus/mult.
15783 * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
15784 ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
15785 (expand_builtin_strncpy) Ditto.
15786 (expand_builtin_memset) Ditto.
15787
d4c4d95c 157882002-07-23 Gabriel Dos Reis <gdr@nerim.net>
15789
15790 Fix PR/7363:
15791 * c-common.c (c_sizeof_or_alignof_type): New function.
15792 (c_alignof): Remove definition.
15793 * c-common.h (c_sizeof, c_alignof): Define as macros.
15794 (c_sizeof_or_alignof_type): Declare.
15795 (my_friendly_assert): Moved from cp/cp-tree.h
15796 * c-typeck.c (c_sizeof): Remove definition.
15797
34073249 157982002-07-23 Jan Hubicka <jh@suse.cz>
15799
15800 * gcse.c (try_replace_reg): Use num_changes_pending.
15801 * recog.c (num_changes_pending): New function.
15802 (validate_replace_src): Use validate_repalce_src_group.
15803 (validate_replace_src_group): New.
15804 * recog.h (validate_repalce_src_group): New.
15805 (num_changes_pending): Likewise.
15806
aeeed45c 15807Tue Jul 23 12:16:58 2002 J"orn Rennecke <joern.rennecke@superh.com>
15808
15809 * calls.c (emit_library_call_value_1): If
15810 FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
15811 libcall, const call nor pure call.
15812
9e808c07 158132002-07-23 Neil Booth <neil@daikokuya.co.uk>
15814
15815 * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
15816
677b5ac8 158172002-07-23 Neil Booth <neil@daikokuya.co.uk>
15818
15819 * vmsdbgout.c (SECTION_ASM_OP): Remove.
15820
ef1942d7 158212002-07-23 Neil Booth <neil@daikokuya.co.uk>
15822
15823 * config/i386/i386.c (AT_BP): Remove.
15824
4059f3f0 158252002-07-23 Neil Booth <neil@daikokuya.co.uk>
15826
15827 * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
15828 Default definition.
15829 * gcse.c: Don't define obstack_chunk_free.
15830 * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
15831 flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
15832 integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
15833 reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
15834 Don't define obstack macros.
15835
5416f62e 158362002-07-22 Stephane Carrez <stcarrez@nerim.fr>
15837
15838 PR target/6744
15839 * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
15840 ASM_OPERANDS instructions.
15841
bcad63c5 158422002-07-22 Stephane Carrez <stcarrez@nerim.fr>
15843
15844 PR target/7361
15845 * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
15846 constant addresses only on 68HC12.
15847
de7d95a1 158482002-07-22 Neil Booth <neil@daikokuya.co.uk>
15849
15850 * cppfiles.c (stack_include_file): Correct test of whether
15851 a dependency should be output.
15852
212c6484 158532002-07-22 David Edelsohn <edelsohn@gnu.org>
15854
15855 * collect2.c (is_ctor_dtor): Add other possible JOINER values.
15856
0045890a 158572002-07-22 Richard Earnshaw <rearnsha@arm.com>
15858
15859 * arm.md (movqi): If optimizing and we can create pseudos, use
15860 a ZERO_EXTEND to load from memory, then copy the result into the
15861 target.
15862 (movhi): Likewise, but only for ARMv4.
15863
9ff82a34 158642002-07-22 Neil Booth <neil@daikokuya.co.uk>
15865
15866 * ssa-ccp.c (PHI_PARMS): Remove.
15867
15d0ecb2 158682002-07-22 Richard Sandiford <rsandifo@redhat.com>
15869
15870 * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
15871 on big-endian targets.
15872
8397f403 158732002-07-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15874
15875 * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
15876 HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
15877 HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
15878 New formatting macros.
15879
15880 * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
15881
7aee3c57 15882Mon Jul 22 15:27:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
15883
15884 * rtlanal.c (subreg_regno_offset): Return correct offset for
15885 big endian paradoxical subregs.
07b68c99 15886
15887 * optabs.c (expand_vector_unop): Don't expand using sub_optab
15888 if we got the wrong mode.
fe0e3c2a 15889
15890 * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
15891 * genrecog.c (write_switch, write_cond): Use it.
15892 * genemit.c (gen_exp): Likewise.
15893
7016e1d1 158942002-07-22 Jakub Jelinek <jakub@redhat.com>
15895
15896 * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
15897
9a7bab7f 158982002-07-22 Jakub Jelinek <jakub@redhat.com>
15899
15900 * c-decl.c (build_compound_literal): Defer compound literal decls
15901 until until file end to emit them only if they are actually used.
15902
6e898352 159032002-07-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15904
15905 * ra-build.c (check_conflict_numbers): Hide unused function.
15906 (livethrough_conflicts_bb): Avoid automatic aggregate
15907 initialization.
15908 (parts_to_webs_1): Avoid `U' integer constant modifier.
15909 (conflicts_between_webs): Wrap a variable in the macro controlling
15910 its usage.
15911 * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
15912 (dump_igraph, dump_graph_cost): Avoid string concatenation
15913 (dump_static_insn_cost): Avoid automatic aggregate
15914 initialization.
15915 * ra-rewrite.c (insert_stores): Avoid automatic aggregate
15916 initialization.
15917 (dump_cost): Avoid string concatenation
15918
6fc87840 159192002-07-21 Richard Henderson <rth@redhat.com>
15920
15921 * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
15922 GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
15923
098fb051 159242002-07-21 Richard Henderson <rth@redhat.com>
15925
15926 * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
15927 that are not unrolled completely.
15928
eb9d297d 159292002-07-21 Richard Henderson <rth@redhat.com>
15930
15931 * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
15932 * loop.c (strength_reduce): Update.
15933 * toplev.c (rest_of_compilation): Do unrolling in the first
15934 loop pass, not the second.
15935
2d8fe5d0 159362002-07-21 Richard Henderson <rth@redhat.com>
15937
15938 * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
15939 when flag_argument_noalias == 2.
15940 * alias.c (nonoverlapping_memrefs_p): Handle that.
15941 * print-rtl.c (print_mem_expr): Likewise.
15942
f4dbfb4e 159432002-07-21 Hartmut Schirmer <hartmut.schirmer@arcor.de>
15944
15945 * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
15946 instead of __negdi2 directly.
15947
5994f9a2 159482002-07-21 Neil Booth <neil@daikokuya.co.uk>
15949
15950 * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
15951 * function.c (SYMBOL__MAIN): Remove definition.
15952 * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
a7424888 15953 * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
5994f9a2 15954 * profile.c (GCOV_INDEX_TO_BB): Remove.
15955 * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
15956 * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
15957
f16449b7 159582002-07-21 Neil Booth <neil@daikokuya.co.uk>
15959
15960 * c-lex.c (GET_ENVIRONMENT): Remove.
15961 * collect2.c (GET_ENV_PATH_LIST): Remove.
15962 (prefix_from_env): Use GET_ENVIRONMENT.
15963 * cppinit.c (GET_ENV_PATH_LIST): Remove.
15964 (init_standard_includes): Use GET_ENVIRONMENT.
15965 * defaults.h (GET_ENVIRONMENT): Define here if not already.
15966 * gcc.c (GET_ENV_PATH_LIST): Remove.
15967 (make_relative_prefix, process_command): Update.
15968 * protoize.c (GET_ENV_PATH_LIST): Remove.
15969 (do_processing): Update.
15970
ba059ac0 159712002-07-21 Gabriel Dos Reis <gdr@nerim.net>
15972
15973 * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
15974 (grokdeclarator): Likewise.
15975 * c-format.c (C_STD_NAME): Likewise.
15976 * c-lex.c (interpret_integer): Likewise.
15977 * c-typeck.c (build_array_ref): Likewise.
15978 * cpplex.c (_cpp_lex_direct): Likewise.
15979 * toplev.c (documented_lang_options): Likewise.
15980
198fb69b 159812002-07-21 Neil Booth <neil@daikokuya.co.uk>
15982
15983 * c-format.c (T99_I, T99_UI): Remove.
15984
9bd901df 159852002-07-21 Neil Booth <neil@daikokuya.co.uk>
15986
15987 * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
15988
4b121ab2 15989Sun Jul 21 21:36:41 CEST 2002 Jan Hubicka <jh@suse.cz>
15990
15991 * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
15992 do_local_cprop.
15993
bed5cf4a 159942002-07-21 Andreas Jaeger <aj@suse.de>
15995
a7424888 15996 * reload1.c (fixup_abnormal_edges): Remove unused variable.
bed5cf4a 15997
1d855d4c 159982002-07-21 Bernd Schmidt <bernds@redhat.com>
15999
16000 Improvements for the ifcvt pass from Michael Meissner, with patches
16001 by Richard Sandiford <rsandifo@redhat.com>
16002 * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
16003 * ifcvt.c (cond_exec_changed_p): New static variable.
16004 (last_active_insn): New function, renamed from last_active_insn_p
16005 and changed to return the last active insn in a basic block. All
16006 callers updated.
16007 (block_fallthru): New function.
16008 (cond_exec_process_insns): New argument CE_INFO. Pass it to
16009 IFCVT_MODIFY_INSN. All callers updated.
16010 Return false if START or END are NULL.
16011 Handle case where we're processing an insn that is already
16012 conditional.
16013
16014 (noce_process_if_block): CE_INFO argument rather than
16015 multiple args containing the involved basic blocks. All callers
16016 changed.
16017 (process_if_block, merge_if_block, find_if_block,
16018 cond_exec_process_if_block): Likewise.
16019
16020 (cond_exec_process_if_block): New arg DO_MULTIPLE_P. All callers
16021 changed.
16022 Use new function last_active_insn to simplify some code.
16023 New code to handle multiple tests.
16024 Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
16025 cond_exec_changed_p to TRUE.
16026
16027 (process_if_block): New code to handle multiple tests.
16028 (merge_if_block): Likewise.
16029 (find_if_header): New arg PASS. Changed to return the currently
16030 processed basic block or NULL instead of true/false. All callers
16031 changed.
16032 Call IFCVT_INIT_EXTRA_FIELDS.
16033 (block_jumps_and_fallthru_p): New function.
16034 (find_if_block): Discover opportunities to convert multiple tests.
16035 Add additional debugging output.
16036 Update the ce_info structure before returning.
16037
16038 (if_convert): Run multiple passes of if-conversion.
16039 * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
16040 IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
16041 IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
16042 these macros.
16043
09a762be 16044Sun Jul 21 00:54:54 CEST 2002 Jan Hubicka <jh@suse.cz>
16045
16046 * gcse.c: Include cselib.h
16047 (constptop_register): Break out from ...
16048 (cprop_insn): ... here; kill basic_block argument.
16049 (do_local_cprop, local_cprop_pass): New functions.
16050 (one_cprop_pass): Call local_cprop_pass.
16051
88d97b05 160522002-07-20 Roger Sayle <roger@eyesopen.com>
16053
16054 * simplify-rtx.c (simplify_relational_operation): Optimize
16055 abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
16056
7df0cf51 160572002-07-20 Michae Matz <matz@suse.de>
16058
16059 * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
16060
21d6e4ae 160612002-07-20 Neil Booth <neil@daikokuya.co.uk>
16062
16063 * cppexp.c (struct op): Add token pointer.
16064 (check_promotion, CHECK_PROMOTION): New.
16065 (optab): Update.
16066 (_cpp_parse_expr): Update, use token pointer of struct op.
16067 (reduce): Warn about change of sign owing to promotion.
16068 * cppinit.c (cpp_handle_option): New warning if -Wall.
16069 * cpplib.h (struct cpp_options): New member.
16070
e992edac 160712002-07-19 David Edelsohn <edelsohn@gnu.org>
16072
16073 * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
16074 fpu list. Separate Power4 compare and delayed_compare. Correct
16075 Power4 fpcompare.
16076 (fix_truncdfsi2_internal): Restore FPR preference.
16077 * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
16078 mcpu?power4, mcpu?604e. Remove mpower, mpower2, mpowerpc.
16079
ae826436 160802002-07-19 Momchil Velikov <velco@fadata.bg>
16081
16082 * reload1.c (reload_as_needed): Duplicate oldpat.
16083
4db1469f 160842002-07-20 Alan Modra <amodra@bigpond.net.au>
16085
16086 PR optimization/7130
16087 * loop.h (struct loop_info): Add "preconditioned".
16088 * unroll.c (unroll_loop): Set it.
16089 * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
16090
a7ae1e59 160912002-07-19 Zack Weinberg <zack@codesourcery.com>
16092
16093 * rtl.def (CODE_LABEL): Remove slot 8.
16094 * rtl.h (struct rtx_def): Document new uses of jump and call fields.
16095 (LABEL_ALTERNATE_NAME): Delete.
16096 (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
16097 * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
16098
16099 * final.c (output_alternate_entry_point): New.
16100 (final_scan_insn): Use it instead of
16101 ASM_OUTPUT_ALTERNATE_LABEL_NAME. Do not consider possibility
16102 of a case label being an alternate entry point.
16103
16104 * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
16105 * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
16106 Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
16107 (field deleted).
16108 * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
16109
16110 * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
16111 LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
16112 * doc/tm.texi: Delete documentation of
16113 ASM_OUTPUT_ALTERNATE_LABEL_NAME.
16114
6cba0fa7 161152002-07-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16116
16117 * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
16118 (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
16119 (LINK_SPEC): Define.
16120 (STARTFILE_SPEC): Define.
16121 (ENDFILE_SPEC): Define.
16122
16123 * config/mips/iris6-o32.h (LINK_SPEC): Move ...
16124 * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
16125
16126 * config/mips/iris6-o32-gas.h: New file.
16127 * config.gcc (mips-sgi-irix6*o32): Use it.
16128
16129 * config/mips/t-iris5-gas: New file.
16130 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
16131
4bc4f235 161322002-07-19 Neil Booth <neil@daikokuya.co.uk>
16133
16134 * cppexp.c (ALWAYS_EVAL): Remove.
16135 (optab, reduce): Always evaluate.
16136 (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
16137 only if not skipping evaluation.
16138
a87268be 161392002-07-19 Marek Michalkiewicz <marekm@amelek.gda.pl>
16140
16141 * config/avr/avr.c (debug_hard_reg_set): Remove.
16142
39c188c5 161432002-07-19 Chris Demetriou <cgd@broadcom.com>
16144
16145 * gcc.c (cpp_options): Include "%1" (cc1_spec).
16146
4c694afd 161472002-07-19 Richard Henderson <rth@redhat.com>
16148
16149 * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
16150
9039f3fd 161512002-07-19 Alan Modra <amodra@bigpond.net.au>
16152
16153 * prefix.c (update_path): Don't zap single `.' path components
16154 unless followed by another `.' and fix typo last patch.
16155
397866b1 161562002-07-18 Neil Booth <neil@daikokuya.co.uk>
16157
16158 * cppexp.c (cpp_num_mul): Remove unused parameter.
16159 (UNARY, BINARY, OTHER, binary_handler): Remove.
16160 (ALWAYS_EVAL): New.
16161 (optab): Update.
16162 (reduce): Refactor to a large switch, don't use a function
16163 pointer.
16164
33ac6b1a 161652002-07-18 Bo Thorsen <bo@berlioz.suse.de>
16166
16167 * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
16168
f4dba476 16169Thu Jul 18 19:39:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
16170
16171 * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
16172 (sh_expand_binop_v2sf): Likewise.
16173 * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
16174 (int_gpr_dest, trunc_hi_operand): New functions.
16175 * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
16176 trunc_hi_operand.
16177 (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
16178 * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
16179 (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
16180 (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
16181 (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
16182 (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
16183 (extendhisi2_media+1, extendqisi2_media+1): Likewise.
16184 (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
16185 (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
16186 (movsf_ie+1): Likewise.
16187 (loaddi_trunc): Use int_gpr_dest predicate.
16188 (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
16189 (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
16190 (casesi_worker_0+[12], casesi_worker): Likewise.
16191 (shcompact_preserve_incoming_args): Likewise.
16192 (mov_nop): Use any_register_operand predicate.
16193 (mperm_w0): Use trunc_hi_operand predicate.
16194
7db9647c 161952002-07-18 John David Anglin <dave@hiauly1.hia.nrc.ca>
16196
16197 * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
16198 * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
16199 numbering.
16200
c2271c34 162012002-07-18 John David Anglin <dave@hiauly1.hia.nrc.ca>
16202
16203 * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
16204
a95cabb9 162052002-07-18 Richard Henderson <rth@redhat.com>
16206
16207 PR optimization/7147
16208 * ifcvt.c (noce_get_condition): Make certain that the condition
16209 is valid at JUMP.
16210
acda5809 16211Thu Jul 18 13:44:51 2002 J"orn Rennecke <joern.rennecke@superh.com>
16212
16213 * sh.c (barrier_align, push): Shut up compiler warnings.
16214 (initial_elimination_offset,sh_media_init_builtins): Likewise.
16215 (reg_no_subreg_operand): Delete.
16216
147f7b91 162172002-07-17 Bo Thorsen <bo@suse.de>
16218
16219 * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
16220 (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
16221 (STARTFILE_SPEC): Remove hardcoded library paths.
16222 (ENDFILE_SPEC): Likewise.
16223
2e281af0 16224Thu Jul 18 09:38:59 CEST 2002 Jan Hubicka <jh@suse.cz>
16225
16226 * gcse.c (hoist_expr_reaches_here_p): Stop once expr_bb is reached.
16227
16228 * gcse.c (try_replace_reg): Do not return false positives.
16229
d4ba5215 162302002-07-18 Alan Modra <amodra@bigpond.net.au>
16231
38475ee3 16232 * prefix.c: (update_path): Strip ".." components when prior dir
16233 doesn't exist. Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
16234
d4ba5215 16235 * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
16236 (ASM_OUTPUT_REG_POP): Likewise.
16237
e67e7d6f 162382002-07-18 Alan Modra <amodra@bigpond.net.au>
16239
16240 * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
16241 adjustments to first_reg for profiling case.
16242 (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
16243 Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
16244 Save static chain reg to sp + 12 on ABI_AIX_NODESC.
16245 * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
16246 (ASM_OUTPUT_REG_POP): Define.
16247 * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
16248 (ASM_OUTPUT_REG_POP): Undef.
16249
b07c4b85 162502002-07-17 Neil Booth <neil@daikokuya.co.uk>
16251
16252 * cpplib.c (do_sccs): Handle #sccs on all systems.
16253 * system.h (SCCS_DIRECTIVE): Poison.
16254 * config/darwin.h, config/freebsd.h, config/netbsd.h,
16255 config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
16256 config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
16257 config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
16258 config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
16259 config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
16260 config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
16261 config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
16262 Remove all references to SCCS_DIRECTIVE.
16263 * doc/cpp.texi, doc/tm.texi: Update.
16264
5018b5cd 16265Wed Jul 17 19:23:32 2002 J"orn Rennecke <joern.rennecke@superh.com>
16266
16267 * regrename.c (maybe_mode_change): New function.
16268 (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
16269
0c8a39cd 162702002-07-17 Rodney Brown <rbrown64@csc.com.au>
16271
16272 * config/i386/i386.c (ix86_expand_int_movcc): In the general case
16273 suppress addition when either ct or cf are zero.
16274
84111c28 162752002-07-17 Eric Botcazou <ebotcazou@multimania.com>
a95cabb9 16276 Glen Nakamura <glen@imodulo.com>
237f0dff 16277
16278 PR optimization/6713
16279 * loop.c (loop_givs_rescan): Explicitly delete the insn that
16280 sets a non-replaceable giv after issuing the new one.
16281
1ae6ed16 162822002-07-17 Neil Booth <neil@daikokuya.co.uk>
16283
16284 * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
16285 eval_token): Clarify and correct use of "bool" variables.
16286 * cpplib.h (struct cpp_options): Similarly.
16287 * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
16288 * cpptrad.c (recursive_macro): Similarly.
16289
de0cf984 16290Wed Jul 17 17:08:06 2002 J"orn Rennecke <joern.rennecke@superh.com>
16291
448d6787 16292 * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
de0cf984 16293 SHmedia code.
c04884fb 16294
16295 * sh.md (cmpgtudi_media): Remove spurious @.
bba099ef 16296
16297 * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
16298 * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
e40c2d35 16299
16300 * config/sh/lib1funcs.asm (init_trampoline): New entry point.
16301 * sh-protos.h (sh_initialize_trampoline): Declare.
16302 * sh.c (sh_initialize_trampoline): New function.
16303 * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
16304 (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
16305 (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
16306 (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
16307 * sh.md (initialize_trampoline, double_shori): New patterns.
16308 (initialize_trampoline_compact): Likewise.
16309 (shmedia32_initialize_trampoline_big): Remove.
16310 (shmedia32_initialize_trampoline_little): Likewise.
d3b29bbd 16311
16312 * sh-protos.h (binary_float_operator): Remove declaration.
16313 (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
16314 * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
16315 (unary_float_operator, sh_expand_unop_v2sf): New functions.
16316 (sh_expand_binop_v2sf): Likewise.
16317 (zero_vec_operand): Delete.
16318 (SH_BLTIN_UDI): New builtin shared signature define. Renumbered
16319 all non-shared ones.
16320 (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
16321 Enable nsb and byterev.
16322 * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
16323 (HARD_REGNO_MODE_OK): Allow TImode in fp regs. Allow V2SFmode
16324 in general regs.
16325 (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
16326 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise. Remove clause for
16327 immediate operands.
16328 (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
16329 Add DF_HI_REGS.
16330 (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
16331 lowpart fp regs - only for big endian for now.
d10cfa8d 16332 (LEGITIMATE_CONSTANT_P): Don't allow nonzero float vectors
d3b29bbd 16333 when FPU is in use.
16334 (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
16335 (LOAD_EXTEND_OP): NIL for SImode.
16336 (REGISTER_MOVE_COST): Add DF_HI_REGS. Const for moves between
16337 general and fp registers is 4.
16338 PREDICATE_CODES: Amend binary_float_operator entry.
16339 Remove zero_vec_operand. Add unary_float_operator.
16340 * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
16341 subreg SET_DEST.
16342 (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
16343 (truncdiqi2): Do sign extension.
16344 (movsi_media, movdi_media): Allow to use r63 to an fp register.
16345 (movdf_media, movsf_media): Likewise.
16346 (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
16347 Collapse to one define_insn_and_split. Allow immediate sources.
16348 (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
16349 (movv4sf_i): Allow immediate sources. Use simplify_gen_subreg.
16350 (movv4sf): Allow immediate sources.
16351 (movsf_media_nofpu+1): Don't split moves to FP registers.
16352 (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
16353 (movv8qi_i+3): Check against CONST0_RTX.
16354 (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
16355 for input and output operands. Fix argument 3 to gen_mextr_rl.
16356 (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
16357 (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
16358 (mshf0_w, fipr, ftrv): Likewise.
16359 (mshfhi_l_di): Now insn_and_split. Can handle FP regs.
16360
36837fde 163612002-07-17 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
16362
16363 * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
16364 NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively. All uses changed.
16365 * arm.c: Similarly.
16366
01a6581c 163672002-07-17 Richard Sandiford <rsandifo@redhat.com>
16368
16369 * config/mips/mips-protos.h (mips_sign_extend): Declare.
16370 * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
16371 (TARGET_SWITCHES): Remove debugh.
16372 (ISA_HAS_TRUNC_W): New macro.
16373 (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
16374 (PREDICATE_CODES): Remove se_nonimmediate_operand.
16375 * config/mips/mips.c (movdi_operand): Allow sign-extensions of
16376 any SImode move_operand.
16377 (se_nonimmediate_operand): Remove.
16378 (mips_sign_extend): New.
16379 (mips_move_2words): Use it for sign-extended source operands.
16380 (override_options): Allow integers to be put into single FPRs.
16381 (mips_secondary_reload_class): Handle integers in float registers.
16382 * config/mips/mips.md (extendsidi2): Turn into a define_expand.
16383 (fix_truncsfsi2, fix_truncdfsi2): Likewise.
16384 (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
16385 (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
16386 (fix_truncdfdi2): Provide only a single alternative, in which the
16387 integer is in a float register. Depend on TARGET_FLOAT64 rather
16388 than TARGET_64BIT.
16389 (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
16390 (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
16391 (movdi_internal2): Don't allow the source operand to be sign-extended.
16392 Add alternatives for float registers.
16393 (*movdi_internal2_extend): New. Version of movdi_internal2 that
16394 allows sign-extension.
16395 (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
16396 (movsi_internal2): Rename to movsi_internal. Add alternatives for
16397 float registers. Remove TARGET_DEBUG_H_MODE test.
16398 (movhi_internal1): Rename to movhi_internal. Don't check
16399 TARGET_DEBUG_H_MODE. Fix transposed *d and *f source constraints.
16400 (movqi_internal1): Rename to movqi_internal and remove
16401 TARGET_DEBUG_H_MODE dependency.
16402 (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
16403
c90349fa 164042002-07-16 Jim Wilson <wilson@redhat.com>
16405
16406 * toplev.c (lang_dependent_init): Create function context for
16407 init_expr_once.
16408
8d26615a 164092002-07-16 Hans-Peter Nilsson <hp@axis.com>
16410
16411 * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
16412 --gc-sections if -r.
16413 * config/cris/cris.h: Ditto.
16414
2ca6bbad 164152002-07-16 Rodney Brown <rbrown64@csc.com.au>
16416
16417 * config/i386/i386.c (ix86_expand_int_movcc): In the case where
16418 the comparison directly gives a mask suppress addition when cf is
16419 zero by complementing the mask.
16420
ce771397 164212002-07-16 Nathanael Nerode <neroden@gcc.gnu.org>
16422
16423 * Makefile.in: Delete references to enquire.
16424 * enquire.c: Move to contrib.
16425
a7260dec 164262002-07-16 Stan Shebs <shebs@apple.com>
16427
614e49bd 16428 * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
16429 config/rs6000/darwin.h.
16430 (ASM_OUTPUT_SKIP): Ditto.
16431 (TEXT_SECTION_ASM_OP): Ditto.
16432 (DATA_SECTION_ASM_OP): Ditto.
16433 (ASM_APP_ON): Define.
16434 (ASM_APP_OFF): Define.
16435 * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
16436 TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
16437
16438 * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
a7260dec 16439 (machopic_function_base_name): Declare result to be const.
16440 (machopic_non_lazy_ptr_name): Ditto.
16441 (machopic_stub_name): Ditto.
614e49bd 16442 * config/darwin-protos.h: Ditto for the prototypes.
a7260dec 16443
a4addf82 16444Wed Jul 17 00:22:39 CEST 2002 Jan Hubicka <jh@suse.cz>
16445
16446 * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
16447
30d0565f 16448Wed Jul 17 00:20:48 CEST 2002 Jan Hubicka <jh@suse.cz>
16449
16450 * i386.md (prefetch): Fix for 64bit mode.
16451 (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
16452
30d58384 16453Wed Jul 17 00:19:20 CEST 2002 Jan Hubicka <jh@suse.cz>
16454
16455 * i386.h (MACHINE_DEPENDENT_REORG): New macro.
16456 * i386.c (x86_machine_dependent_reorg): New function.
16457 * i386-protos.h (x86_machine_dependent_reorg): Declare.
16458
7df226a2 164592002-07-16 Zack Weinberg <zack@codesourcery.com>
16460
16461 * builtins.c (std_expand_builtin_va_start): Remove unused
16462 first argument.
16463 (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
16464 std_expand_builtin_va_start with just two arguments.
16465 * expr.h: Update prototypes.
16466
16467 * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
16468 arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
16469 i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
16470 m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
16471 mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
16472 rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
16473 s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
16474 sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
16475 xtensa-protos.h, xtensa.h, xtensa.c: Remove unused first
16476 argument from all implementations of EXPAND_BUILTIN_VA_START
16477 and all uses of std_expand_builtin_va_start.
16478
14a4ccb4 16479Tue Jul 16 19:32:58 2002 J"orn Rennecke <joern.rennecke@superh.com>
16480
16481 * regrename.c (copy_value): Don't record high part copies.
16482
d7bbff3e 164832002-07-16 Steve Ellcey <sje@cup.hp.com>
1c4417b5 16484
d7bbff3e 16485 * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
16486 (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
16487 * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
16488
ee92ab06 164892002-07-16 Ian Dall <ian@sibyl.beware.dropbear.id.au>
16490
16491 * doc/invoke.texi (NS32K Options): Document -mieee-compare option
16492
16493 * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
16494 into addsi3 using register class "x" and "y".
16495
16496 * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
16497 "earlyclobber" constraint modifier for some alternative.
7df226a2 16498
ee92ab06 16499 * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
16500 (*ble, *blt): Flag to indicate bCOND and sCOND should check for
16501 unordered.
16502 config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
16503
16504 * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
16505 (TARGET_SWITCHES): Add -mieee-compare option.
16506 (OVERRIDE_OPTIONS): 32332 is a subset of
16507 32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
805e22b2 16508 (TARGET_SWITCHES): Fix description of bitfield option.
ee92ab06 16509 * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
16510 -mieee-compare option. Remove 32332 flag.
16511
9fd73f31 165122002-07-16 Steve Ellcey <sje@cup.hp.com>
ee92ab06 16513
16514 * explow.c (convert_memory_address): Remove special handling
9fd73f31 16515 when POINTERS_EXTEND_UNSIGNED < 0.
ee92ab06 16516 * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
9fd73f31 16517 (movedi_symbolic): Fix typo.
16518 (load_fptr): Remove mode restriction so it works for SI and DI.
16519 (load_fptr_internal1): Ditto.
16520 (load_gprel): Ditto.
16521 (load_symptr_internal1): Ditto.
16522 (call_pic): Ditto.
ee92ab06 16523 * config/ia64.c (call_operand): Modify mode check.
9fd73f31 16524 (ia64_expand_load_address): Handle DI and SI addresses and symbols.
16525 (ia64_expand_move): Ditto.
16526 (ia64_assemble_integer): Handle SImode function pointers.
16527 (ia64_expand_fetch_and_op): Handle SImode mem addresses.
16528 (ia64_expand_op_and_fetch): Ditto.
16529 (ia64_expand_compare_and_swap): Ditto.
16530 (ia64_expand_lock_test_and_set): Ditto.
16531 (ia64_expand_lock_release): Ditto.
16532
dc099f6c 165332002-07-16 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
16534
16535 * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
16536
165372002-07-16 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
16538 Richard Earnshaw <rearnsha@arm.com>
16539
7df226a2 16540 * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
dc099f6c 16541 CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF. Simplify logic.
16542
4c58c898 165432002-07-16 Richard Earnshaw <rearnsha@arm.com>
16544
16545 * arm.md (stack_tie): New insn. Use an idiom that the alias code
16546 understands to be a memory clobber.
16547 * arm.c (arm_expand_prologue): Use it.
16548
9ca7cbb6 165492002-07-16 Daniel Berlin <dberlin@dberlin.org>
2d8c4737 16550
16551 * ra-rewrite.c: #include reload.h, insn-config.h
16552 * ra-build.c: #include reload.h
16553 * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
7df226a2 16554 depend on reload.h, insn-config.h.
2d8c4737 16555
78defff5 16556Tue Jul 16 11:57:45 2002 J"orn Rennecke <joern.rennecke@superh.com>
16557
16558 * expr.c (emit_move_insn_1): Handle arbitrary moves that are
16559 the same size as a word.
16560
16561 * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
16562 BYTES_BIG_ENDIAN into account.
16563
1e612551 16564Tue Jul 16 12:22:44 CEST 2002 Jan Hubicka <jh@suse.cz>
16565
16566 * i386.md (prefetch): Fix for 64bit mode.
16567 (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
16568
16569 * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
16570
42339e9b 165712002-07-16 Marek Michalkiewicz <marekm@amelek.gda.pl>
16572
16573 * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
16574
7ccc713a 165752002-07-15 Zack Weinberg <zack@codesourcery.com>
16576
16577 * ginclude/varargs.h: Replace with stub which issues #error.
16578 * ginclude/stdarg.h: __builtin_stdarg_start is renamed
16579 __builtin_va_start.
16580
16581 * builtins.def (BUILT_IN_VARARGS_START): Delete.
16582 (BUILT_IN_VA_START): New.
16583 * builtins.c (expand_builtin_va_start): Eliminate first
16584 argument and code to implement pre-ISO varargs.
16585 (std_expand_builtin_va_start): Ignore first argument; it is
16586 always 1.
16587 (expand_builtin): Handle BUILT_IN_VA_START and
16588 BUILT_IN_STDARG_START identically. Delete
16589 BUILT_IN_VARARGS_START case.
16590
16591 * function.c (assign_parms): Delete hide_last_arg and all
16592 its uses.
16593 (mark_varargs): Delete function.
16594 * function.h (struct function): Delete 'varargs' bit.
16595 (current_function_varargs): Delete macro.
16596 * tree.h: Don't declare mark_varargs.
16597
16598 * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
16599 (c_expand_body): Don't call mark_varargs.
16600 * c-objc-common.c: Handle BUILT_IN_VA_START and
16601 BUILT_IN_STDARG_START identically. Delete
16602 BUILT_IN_VARARGS_START case.
16603 * c-tree.h: Don't declare c_mark_varargs.
16604 * c-parse.in: Remove grammar rules for '&...' (which has been
16605 commented out since before 2.7.2) and for '...' in K+R
16606 argument declarations.
16607
16608 * builtins.c, function.c, integrate.c, sibcall.c,
16609 config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
16610 config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
16611 config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
16612 config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
16613 config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
16614 config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
16615 config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
16616 config/stormy16/stormy16.c: Delete all references to
16617 current_function_varargs, and code predicated on that flag.
16618
16619 * config/alpha/alpha.c (alpha_va_start),
16620 config/arc/arc.c (arc_va_start),
16621 config/i386/i386.c (ix86_va_start),
16622 config/mips/mips.c (mips_va_start),
16623 config/mn10300/mn10300.c (mn10300_va_start),
16624 config/rs6000/rs6000.c (rs6000_va_start),
16625 config/s390/s390.c (s390_va_start),
16626 config/sh/sh.c (sh_va_start),
16627 Ignore first argument; it is always 1.
16628
16629 * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
16630 * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
16631 * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
16632 Delete m68hc11_va_start.
16633 * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
16634 No need to define EXPAND_BUILTIN_VA_START.
16635
16636 * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
16637 doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
16638
4c922ed0 166392002-07-15 Eric Botcazou <ebotcazou@multimania.com>
16640
16641 PR optimization/7153
16642 * regmove.c (optimize_reg_copy_3): Don't optimize if the register
16643 dies in more than one insn.
16644
31c846ca 166452002-07-15 Jason Thorpe <thorpej@wasabisystems.com>
16646
16647 * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
16648
cb5c5698 166492002-07-15 Michael Matz <matz@suse.de>,
7ccc713a 16650 Daniel Berlin <dberlin@dberlin.org>,
cb5c5698 16651 Denis Chertykov <denisc@overta.ru>
16652
16653 Add a new register allocator.
16654
16655 * ra.c: New file.
16656 * ra.h: New file.
16657 * ra-build.c: New file.
16658 * ra-colorize.c: New file.
16659 * ra-debug.c: New file.
16660 * ra-rewrite.c: New file.
16661
16662 * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
16663 (ra-rewrite.o): New .o files for libbackend.a.
16664 (GTFILES): Add basic-block.h.
16665
16666 * toplev.c (flag_new_regalloc): New.
16667 (f_options): New option "new-ra".
16668 (rest_of_compilation): Call initialize_uninitialized_subregs()
16669 only for the old allocator. If flag_new_regalloc is set, call
16670 new allocator, instead of local_alloc(), global_alloc() and
16671 friends.
16672
16673 * doc/invoke.texi: Document -fnew-ra.
16674 * basic-block.h (FOR_ALL_BB): New.
16675 * config/rs6000/rs6000.c (print_operand): Write small constants
16676 as @l+80.
16677
16678 * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
16679 (df_reg_table_realloc): Make size at least as large as max_reg_num().
16680 (df_insn_table_realloc): Size argument now is absolute, not relative.
16681 Changed all callers.
16682
16683 * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
16684 * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
16685
16686 2002-06-20 Michael Matz <matz@suse.de>
16687
16688 * df.h (struct ref.id): Make unsigned.
16689 * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
16690
16691 2002-06-13 Michael Matz <matz@suse.de>
16692
16693 * df.h (DF_REF_MODE_CHANGE): New flag.
16694 * df.c (df_def_record_1, df_uses_record): Set this flag for refs
16695 involving subregs with invalid mode changes, when
16696 CLASS_CANNOT_CHANGE_MODE is defined.
16697
16698 2002-05-07 Michael Matz <matz@suse.de>
16699
16700 * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
16701
16702 2002-05-03 Michael Matz <matz@suse.de>
16703
16704 * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
16705
16706 Sat Feb 2 18:58:07 2002 Denis Chertykov <denisc@overta.ru>
16707
16708 * regclass.c (regclass): Work with all regs which have sets or
16709 refs.
16710 (reg_scan_mark_refs): Count regs inside (clobber ...).
16711
16712 2002-01-04 Michael Matz <matzmich@cs.tu-berlin.de>
16713
16714 * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
16715 (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
16716 add new refs.
16717 (df_bb_refs_update): Don't clear insns_modified here, ...
16718 (df_analyse): ... but here.
16719
16720 * sbitmap.c (dump_sbitmap_file): New.
16721 (debug_sbitmap): Use it.
16722
16723 * sbitmap.h (dump_sbitmap_file): Add prototype.
16724
16725 2001-08-07 Daniel Berlin <dan@cgsoftware.com>
16726
16727 * df.c (df_insn_modify): Grow the UID table if necessary, rather
16728 than assume all emits go through df_insns_modify.
16729
16730 2001-07-26 Daniel Berlin <dan@cgsoftware.com>
16731
16732 * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
16733 increase REG_N_REFS (like flow does), so that regclass doesn't
16734 think a reg is useless, and thus, not calculate a class, when it
16735 really should have.
16736
16737 2001-01-28 Daniel Berlin <dberlin@redhat.com>
16738
16739 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
16740 dataflow analysis.
16741
6efed9b8 167422002-07-15 Jakub Jelinek <jakub@redhat.com>
16743
16744 PR middle-end/7245
16745 * config/i386/i386.c (const_int_1_31_operand): New.
16746 * config/i386/i386.h (PREDICATE_CODES): Add it.
16747 * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
16748 ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
16749 lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
16750
ce2ee339 167512002-07-14 Alan Modra <amodra@bigpond.net.au>
16752
16753 PR target/7282
16754 * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
16755 (floatunssidf2): Likewise.
16756 (floatsidf_ppc64): New insn_and_split.
16757 (floatunssidf_ppc64): Likewise.
16758
923b2142 167592002-07-14 Andreas Jaeger <aj@suse.de>
16760
16761 * config.gcc (sh64): Remove unused
16762 target_requires_64bit_host_wide_int.
16763
310d3ec9 167642002-07-12 Roger Sayle <roger@eyesopen.com>
16765
16766 * expr.c [CLEAR_RATIO]: New macro defining the maximum number
16767 of move instructions to use when clearing memory, c.f. MOVE_RATIO.
16768 [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
16769 whether clear_by_pieces should be used to clear storage.
16770 (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
16771
16772 * doc/tm.texi: Document these two new target macros.
16773
23333bab 167742002-07-12 Stephane Carrez <stcarrez@nerim.fr>
16775
16776 * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
16777 the scratch register.
16778 ("*movhi2_push"): Accept Z_REG because a split pattern can make use
16779 of it, forbid reload to use it.
16780
cb39cd35 167812002-07-12 Marek Michalkiewicz <marekm@amelek.gda.pl>
16782
16783 * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
16784 usage on 64-bit hosts, return value was truncated to 32 bits.
16785
ee4124f3 16786Fri Jul 12 00:49:36 2002 J"orn Rennecke <joern.rennecke@superh.com>
16787
16788 * simplify-rtx.c (simplify_subreg): Handle floating point
16789 CONST_DOUBLEs. When an integer subreg of a smaller mode than
16790 the element mode is requested, compute a subreg with an
16791 integer mode of the same size as the element mode first.
16792
b6bf753c 16793Thu Jul 11 22:02:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
16794
16795 * combine.c (try_combine): When converting a paradoxical subreg
16796 to an extension, take LOAD_EXTEND_OP into account.
16797
61ab9ea9 167982002-07-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16799
16800 * config.gcc (mips-sgi-irix6*o32): New configuration.
16801
16802 * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
16803 configurations.
16804 * configure: Regenerate.
16805
16806 * config/mips/iris6-o32-as.h: New file.
16807 * config/mips/iris6-o32.h: New file.
923b2142 16808
61ab9ea9 16809 * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
16810 (NM_FLAGS): Define.
16811 (HAVE_AS_SHF_MERGE): Undefine.
16812
16813 * config/mips/t-iris5-as: New file.
16814 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
16815
16816 * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
16817 SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
16818 SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
16819 dp-bit.c, fp-bit.c): Move ...
16820 * config/mips/t-iris5-6: ... here.
16821 New file, shared by IRIX 5 and IRIX 6.
16822 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
16823 mips-sgi-irix5*): Use it.
16824
16825 * config/mips/iris6.h: Remove duplicate comment.
16826
16827 * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
16828 !TARGET_IRIX6]: Define.
16829 (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
16830
16831 * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
16832
2a91e628 168332002-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
16834
16835 * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
16836 and delete code to force constant to register.
16837 * pa-protos.h (adddi3_operand): Add prototype.
16838 * pa.c (adddi3_operand): New function.
16839
54a8b2ea 168402002-07-11 Roger Sayle <roger@eyesopen.com>
16841
16842 * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
16843 non-ANSI builtin functions.
16844
9426b612 16845Thu Jul 11 11:31:12 2002 J"orn Rennecke <joern.rennecke@superh.com>
16846
16847 * rtl.h (gen_rtx_CONST_VECTOR): Declare.
16848 * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
16849 * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
16850 (gen_const_vector_0): Use it.
16851
7c4d3047 168522002-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
16853
16854 * pa.md (adddi3): For 32-bit targets, force constants to a register
16855 if they don't fit in an 11-bit immediate. Change insn predicate to
16856 arith11_operand. Remove comment.
16857 * pa.c (cint_ok_for_move): Fix comment.
16858 (emit_move_sequence): Don't directly split DImode constants on 32-bit
16859 targets.
16860
776c30b8 168612002-07-11 Tim Josling <tej@melbpc.org.au>
16862
923b2142 16863 Remove front end hard coding from gengtype.c.
776c30b8 16864
16865 * Makefile.in
16866 (STAGESTUFF): add gtyp-gen.h
16867 (GTFILES): Remove front end specific files.
16868 (GTFILES_FILES_LANGS): New, from configure..
16869 (GTFILES_FILES_FILES): Likewise.
16870 (GTFILES_LANG_DIR_NAMES): Likewise.
16871 (GTFILES_SRCDIR): Likewise.
16872 (gtyp-gen.h): Build from configure information.
16873 (s-gtype): Remove command line parameters from gengtype.
16874 (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
16875 (mostlyclean): Delete files generated by and for gengtype.
16876
16877 * c-config-lang.in: New file.
16878
16879 * configure.in (all_gtfiles_files_langs): New. Accumulate files
16880 for each language.
16881 (all_gtfiles_files_files): New. Accumulate language for each file
16882 accumulated.
16883 (gtfiles): Pick up value for C.
16884 (srcdir): AC-SUBST this variable.
16885 (all_gtfiles_files_langs): AC-SUBST this variable.
16886 (all_gtfiles_files_files): AC-SUBST this variable.
923b2142 16887
776c30b8 16888 * configure: Regenerate.
923b2142 16889
776c30b8 16890 * gengtype-lex.l (parse_file): Make parameter const.
16891
16892 * gengtype.c (toplevel): include gtyp-gen.h.
16893 (BASE_FILE_<language> unnamed enum): Delete.
16894 (lang_names): Delete (replaced by gtyp-gen.h)
16895 (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
16896 all references.
16897 (NUM_GT_FILES): New.
16898 (NUM_LANG_FILES): New.
16899 (srcdir_len): New.
16900 (NUM_BASE_FILES): Change calculation.
16901 (open_base_files): Change prototype to avoid warning.
16902 (startswith): Delete.
16903 (get_file_basename): Iterate through generated language list not
16904 hard coded list.
16905 (get_base_file_bitmap): Use generated list of files and languages.
16906 (close_output_files): Add prototype to rmove warning.
16907 (main): Iterate through list of generated files from gtyp-gen.h
16908 rather than command line paramaters. Ignore duplicated file
923b2142 16909 names.
776c30b8 16910
16911 * gengtype.h (parse_file): Amend prototype for const parameter.
923b2142 16912
776c30b8 16913 * doc/sourcebuild.texi: Document gtfiles variable.
16914
16915 * doc/gty.texi: Document changes to gtfiles variable for front
16916 ends.
16917
16918 * objc/config-lang.in (gtfiles): Add files needed for objc front
16919 end.
16920
773e5819 169212002-07-10 Roger Sayle <roger@eyesopen.com>
16922
16923 PR c/2454
16924 * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
16925 to SUBREGs of MEMs. (num_sign_bit_copies): Likewise.
16926
c05e3741 169272002-07-10 Roger Sayle <roger@eyesopen.com>
16928 Zack Weinberg <zack@codesourcery.com>
16929
16930 * builtins.def: Make the argument types of abort and exit
16931 independent of the front-end.
16932
115ebc5d 169332002-07-11 Alan Modra <amodra@bigpond.net.au>
16934
16935 * config/rs6000/linux64.h (ASM_SPEC): Define.
16936
012f60b0 169372002-07-10 Aldy Hernandez <aldyh@redhat.com>
16938
7ccc713a 16939 * config/rs6000/rs6000.c (emit_frame_save): New.
16940 (rs6000_frame_related): Replace reg2 before reg.
16941 (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
16942 and eh_return registers.
012f60b0 16943
63ec94ba 169442002-07-10 Toon Moene <toon@moene.indiv.nluug.nl>
16945
16946 Revert all patches for optimization of Complex .op. Real.
16947 * complex_part_zero_p: Remove
16948 * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
16949 with x.
16950 * expand_cmplxdiv_wide: Ditto.
16951 * expand_binop: Ditto.
16952
bf522d86 169532002-07-10 Marek Michalkiewicz <marekm@amelek.gda.pl>
16954
16955 * config/avr/avr.md: Fix two 0x80000000 constants to make them
16956 negative also on 64-bit hosts.
16957
16958 Default to -fno-reorder-blocks when optimizing for size.
16959 * config/avr/avr-protos.h (avr_optimization_options): Declare.
16960 * config/avr/avr.c (avr_optimization_options): New function.
16961 * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
16962
16963 Optimize returning from simple functions.
16964 * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
16965 * config/avr/avr.c (avr_simple_epilogue): New function.
16966 * config/avr/avr.md (return): New insn.
16967
d99ced39 169682002-07-10 Douglas B Rupp <rupp@gnat.com>
16969
16970 * config/i386/i386.c (ix86_svr3_asm_out_constructor): Add
16971 HAS_INIT_SECTION to protection.
16972
efab639d 169732002-07-10 Mark Mitchell <mark@codesourcery.com>
16974
16975 * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
16976 deprecated.
16977
621a189c 16978Wed Jul 10 19:50:03 2002 J"orn Rennecke <joern.rennecke@superh.com>
16979
16980 * combine.c (gen_lowpart_for_combine): Handle vector modes.
16981 Supply non-VOID mode to simplify_gen_subreg.
16982
fad0b272 16983Wed Jul 10 18:48:55 CEST 2002 Jan Hubicka <jh@suse.cz>
16984
16985 * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
16986
c2effb6d 169872002-07-10 Jeffrey A Law <law@redhat.com>
16988
4ff5402e 16989 * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
16990 as appropriate.
16991
7ccc713a 16992 * mn10200.c (expand_epilogue): Fix test to determine which scratch
16993 register to use.
c2effb6d 16994
cdc84acd 16995Wed Jul 10 16:06:00 2002 J"orn Rennecke <joern.rennecke@superh.com>
16996
16997 * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
16998 Get mode from dest.
16999 If simplify_gen_subreg fails, try next equivalent.
17000
73b2a785 170012002-07-09 Gabriel Dos Reis <gdr@codesourcery.com>
17002
17003 * diagnostic.h: #include location.h
17004 (location_t): Move definition to..
17005 * location.h: ... here. New file.
17006 * tree.h: #include location.h
17007 (DECL_SOURCE_LOCATION): New macro.
17008 (DECL_SOURCE_FILE): Use.
17009 (DECL_SOURCE_LINE): Likewise.
17010 (struct tree_decl): REplace filename and linenum with locus.
17011 * Makefile.in (TREE_H): add location.h
17012 (diagnostic.o): Depends on gt-location.h
17013 (gt-location.h): Depends on s-gtype
17014
5b2c8acb 170152002-07-09 Matt Kraai <kraai@alumni.cmu.edu>
17016
17017 * config/rs6000/aix.h: Convert CPP_PREDEFINES to
17018 TARGET_OS_CPP_BUILTINS.
17019 * config/rs6000/aix31.h: Likewise.
17020 * config/rs6000/aix41.h: Likewise.
17021 * config/rs6000/aix43.h: Likewise.
17022 * config/rs6000/aix51.h: Likewise.
17023 * config/rs6000/beos.h: Likewise.
17024 * config/rs6000/darwin.h: Likewise.
17025 * config/rs6000/eabi.h: Likewise.
17026 * config/rs6000/eabisim.h: Likewise.
17027 * config/rs6000/linux.h: Likewise.
17028 * config/rs6000/linux64.h: Likewise.
17029 * config/rs6000/lynx.h: Likewise.
17030 * config/rs6000/mach.h: Likewise.
17031 * config/rs6000/rtems.h: Likewise.
17032 * config/rs6000/sysv4.h: Likewise.
17033 * config/rs6000/vxppc.h: Likewise.
51ea7dcd 17034
170352002-07-09 Devang Patel <dpatel@apple.com>
17036 * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
17037 Do not allow ObjC objects as a parameter type for Objective-C methods.
17038 My previous patch restricted 'struct' also.
923b2142 17039
ecedd82d 170402002-07-09 Neil Booth <neil@daikokuya.co.uk>
17041
17042 * cpperror.c (cpp_error): Default to directive_line within
17043 directives here.
17044 * cppexp.c (cpp_interpret_integer): Only use traditional
17045 number semantics in directives.
17046 * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
17047 (do_include_common): Similarly.
17048 * cpptrad.c (scan_out_logical_line): Implement accurate
17049 quoting of <> in #include.
17050 * doc/cpp.texi: Update.
17051
dca8af3e 17052Tue Jul 9 22:37:44 2002 Stephen Clarke <stephen.clarke@superh.com>
7ccc713a 17053 J"orn Rennecke <joern.rennecke@superh.com>
dca8af3e 17054
17055 * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
17056 * sh.md (attribute issues): Replace with:
17057 (attribute pipe_model). All users changed.
17058 (attribute type): Change pt / ptabs to pt_media / ptabs_media.
17059 All users changed.
17060 (function units sh5issue, sh5fds): New.
17061 (attribute is_mac_media): New.
17062 (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
17063 (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
17064 (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
17065 (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
17066 (call_media, call_value_media, sibcall_media): Likewise.
17067 (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
17068 (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
17069 (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
17070 (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
17071 (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
17072 (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
17073 (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
17074 (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
17075 (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
17076 (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
17077 (truncdfsf2_media): Likewise.
17078 (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
17079 (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
17080
645de543 17081Tue Jul 9 21:39:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
17082
17083 * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
17084 * sh.c (general_extend_operand, inqhi_operand): New functions.
17085 * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
17086 alternatives using 'N' modifier. Add type.
17087 (adddi3z_media): Likewise. Enable generator function generation.
17088 (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
17089 exact predicates / constraints. Add type.
17090 (subsi3): Allow 0 for SHMEDIA.
17091 (udivsi3_i4_media): Use match_operand for input values
17092 rather than hard registers.
17093 (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
17094 unnecessarily through hard registers. Keep copies of pseudo
17095 registers outside of the libcall sequence.
17096 (mulsidi3_media, umulsidi3_media): Use more exact predicates. Add type.
17097 (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
17098 (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
17099 (extendhidi2, extendqidi2): Likewise.
17100 (andsi3_compact): Name.
17101 (andcdi3): Enable generator function generation.
17102 (zero_extendhisi2, zero_extendqisi2): Rename to
17103 (zero_extendhisi2_compact, zero_extendqisi2_compact).
17104 (extendhisi2, extendqisi2): Rename to
17105 (extendhisi2_compact, extendqisi2_compact).
17106 (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
17107 (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
17108 (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
17109 (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
17110 (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
17111 (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
17112 (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
17113 (shmedia32_initialize_trampoline_big): Likewise.
17114 (shmedia32_initialize_trampoline_little): Likewise.
17115 (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
17116 (negdi2): Remove spurious T clobber.
17117 (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
17118 (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
17119 (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
17120 (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
17121 (ic_invalidate_line_media): Write back data cache before invalidating
17122 instruction cache. Add type.
17123 (movsf_media): Sign-extend when the destination is a general
17124 purpose register. Add type.
17125 (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
17126 (casesi_worker_0+1): Only increment ref count for proper label.
17127 (casesi_worker_0+2): Likewise.
17128
a015863c 171292002-07-09 Mark Mitchell <mark@codesourcery.com>
17130
17131 * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
17132
f797387a 171332002-07-09 Steve Ellcey <sje@cup.hp.com>
a015863c 17134
f797387a 17135 * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
17136 from Pmode to ptr_mode.
17137 (get_exception_pointer): Ditto.
17138 (connect_post_landing_pads): Ditto.
17139 (dw2_build_landing_pads): Ditto.
17140
c9821cd2 171412002-07-08 Steve Ellcey <sje@cup.hp.com>
17142 * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
17143 * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
17144 (handle_pragma_redefine_extname): Change to use new function.
17145
13883914 171462002-07-08 Roger Sayle <roger@eyesopen.com>
17147
17148 * combine.c (combine_simplify_rtx): Add an explicit cast
17149 to avoid signed/unsigned comparison warning.
17150 (simplify_if_then_else): Likewise.
17151 (extended_count): Likewise.
17152 (simplify_shift_const): Likewise.
17153 (simplify_comparison): Likewise.
17154
9ce276e1 171552002-07-08 Richard Sandiford <rsandifo@redhat.com>
17156
17157 * config/mips/mips.md: Add imadd type. Update scheduler description
17158 to use imadd as well as imul.
17159 (*mul_acc_si, *madsi): Change imul alternatives to imadd.
17160 (*mul_acc_di, *mul_acc_64bit_di): Likewise.
17161 (*mul_sub_si): Likewise for first alternative. Change second
17162 alternative from imul to multi.
17163
77e1a5df 171642002-07-07 Neil Booth <neil@daikokuya.co.uk>
17165
17166 * c-common.c (c_common_post_options): Update prototype;
17167 don't init backends if preprocessing only.
17168 * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
17169 * langhooks.h (struct lang_hooks): Update post_options to
17170 return a boolean.
17171 * toplev.c (parse_options_and_default_flags, do_compile,
17172 lang_independent_init): Update prototypes. Allow the
17173 front end to specify that there is no need to initialize
17174 the back end.
17175 (general_init): Move call to hex_init here...
17176 (toplev_main): ...from here. Pass flag for back end init
17177 suppression.
17178
3c4bc54e 17179Sun Jul 7 20:38:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
17180
17181 * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
17182 (PREDICATE_CODES): Add entries for equality_comparison_operator,
17183 greater_comparison_operator and less_comparison_operator.
17184 * sh.c (print_operand): Add '\'' code. Make 'o' handle
17185 more operators.
17186 (equality_comparison_operator): New function.
17187 (greater_comparison_operator, less_comparison_operator): Likewise.
17188 * sh.md (beq_media_i): Disable generator function generation.
17189 Use match_operator to handle a whole class of comparisons. Add
17190 modifier in output template to provide branch prediction. Add type.
17191 (bgt_media_i, ble_media_i): Likewise. Allow zero operands.
17192 (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
17193 (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
17194 (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
17195
d3310704 171962002-07-07 Hans-Peter Nilsson <hp@bitrange.com>
17197
17198 Emit MMIX function prologue and epilogue as rtl.
17199 * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
17200 not unprototyped get_hard_reg_initial_val.
17201 ("call_value", "nonlocal_goto_receiver"): Ditto.
17202 ("return"): Make define_expand. Move real insn to...
17203 ("*expanded_return"): New pattern.
17204 ("prologue", "epilogue"): New define_expands.
17205 * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
17206 (struct machine_function): New member in_prologue.
17207 (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
17208 (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
17209 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
17210 (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
17211 (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
17212 (LOCAL_REGNO): Define. Adjust comment.
17213 * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
17214 Consider regs_ever_live[MMIX_rJ_REGNUM], not just
17215 leaf_function_p.
17216 (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
17217 the prologue.
17218 (mmix_target_asm_function_prologue): Make static. Just mark that
17219 the prologue is being emitted. Move guts to...
17220 (mmix_expand_prologue): New function. Adjust for emitting
17221 prologue as rtl. For sizes, use HOST_WIDE_INT only.
17222 (mmix_target_asm_function_epilogue): Make static. Simply emit a
17223 \n. Move guts to...
17224 (mmix_expand_epilogue): New function. Adjust for emitting
17225 epilogue as rtl. For sizes, use HOST_WIDE_INT only.
17226 (mmix_target_asm_function_end_prologue): Mark that the prologue
17227 has ended.
17228 (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
17229 (mmix_conditional_register_usage): Improve comments.
17230 (mmix_local_regno): New function.
17231 (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
17232 * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
17233 (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
17234 (mmix_get_hard_reg_initial_val): Ditto.
17235
ec284315 172362002-07-06 Andreas Jaeger <aj@suse.de>
17237
17238 * toplev.c (set_fast_math_flags): Don't use ISO C style function
17239 definitions.
17240 * gengtype.c (open_base_files): Likewise.
17241 (close_output_files): Likewise.
17242 * tracer.c (find_best_predecessor): Likewise.
17243 (find_best_successor): Likewise.
17244 (ignore_bb_p): Likewise.
17245
8fe4a266 172462002-07-05 Roger Sayle <roger@eyesopen.com>
17247
17248 PR c++/7099
17249 * builtin-attrs.def: Define new attribute lists for use in
17250 builtins.def.
17251 * builtins.def [DEF_BUILTIN]: Modify to take an additional
17252 ATTRS argument, an enumerated value defined in builtin-attrs.def
17253 that represents the attribute list for the builtins. Modify
17254 all builtin functions to pass an appropriate attribute list.
17255 Specify "abort", "exit", "_exit" and "_Exit" builtins here with
17256 their required noreturn attributes.
17257 * tree.h (enum_builtin_function): Ignore the additional parameter
17258 to DEF_BUILTIN.
17259 * builtins.c (built_in_names): Likewise.
17260 * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
17261 argument with a tree representing the functions attribute list.
17262 Pass this "attrs" argument to builtin_function. No longer handle
17263 the noreturn_p processing manually.
17264 (built_in_attributes): Move the definitions from builtin-attrs.def
17265 before c_common_nodes_and_builtins.
17266 (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
17267 DEF_BUILTIN, passing it to both builtin_function and the changed
17268 builtin_function_2.
17269
17270 * doc/extend.texi: Document __builtin_abort, __builtin_exit,
17271 __builtin__exit and __builtin__Exit.
17272
eb68f168 172732002-07-05 Stephane Carrez <stcarrez@nerim.fr>
17274
17275 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
17276 QI mode registers in soft registers.
ec284315 17277 ("zero_extendqihi2"): Do not take into account soft registers
eb68f168 17278 for register allocation (use '*' constraint).
17279
f086b212 172802002-07-05 Stephane Carrez <stcarrez@nerim.fr>
17281
17282 * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
17283 it is dead.
17284 ("*ashrsi3"): Likewise.
17285 ("*lshrsi3"): Likewise.
17286
3edc722e 172872002-07-05 Vladimir Makarov <vmakarov@redhat.com>
17288
17289 * genautomata.c (output_max_insn_queue_index_def): Take latencies
17290 into account.
17291
f086b212 172922002-07-05 Stephane Carrez <stcarrez@nerim.fr>
bc7cbc6a 17293
17294 * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
17295 address computation and memory moves.
17296
13c773a7 172972002-07-03 Mark Mitchell <mark@codesourcery.com>
17298
17299 PR c++/6706
17300 * dwarfout.c (output_reg_number): Fix warning message.
17301 (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
17302 before using it.
ec284315 17303
a4de3479 173042002-07-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
17305
17306 * gcc/gcc.c (asm_debug): Move initialization ...
17307 (init_spec): ... here.
17308
594d1074 173092002-07-05 Nathan Sidwell <nathan@codesourcery.com>
17310
17311 * c-parse.in (extdef): Append ';'.
17312 (old_style_parm_decls): Append ';'.
17313
84099d35 173142002-07-04 Daniel Jacobowitz <drow@mvista.com>
17315
17316 * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
17317 gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
17318 to gcc_cv_as_gstabs_flag.
17319 * configure: Rebuilt.
17320
a60d09cf 173212002-07-04 Geoffrey Keating <geoffk@redhat.com>
17322
17323 * ggc.h (ggc_add_root): Document as obsolete.
17324
1a59ed96 17325Thu Jul 4 07:58:01 2002 J"orn Rennecke <joern.rennecke@superh.com>
17326
17327 * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
17328 (mshflo_w): Likewise.
17329
4867a033 17330Thu Jul 4 07:36:29 2002 J"orn Rennecke <joern.rennecke@superh.com>
17331
17332 * simplify-rtx.c (simplify_subreg): Reduce problem of finding
17333 vector mode subregs of constants to finding integer mode
17334 subregs of constants.
17335 * cse.c (cse_insn): Use simplify_gen_subreg.
17336 * convert.c (convert_to_integer): Don't strip a NOP_EXPR
17337 From a vector mode expression of different size than the
17338 target mode.
17339
6a59b91a 173402002-07-03 Eric Christopher <echristo@redhat.com>
17341
17342 * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
17343 * config/mips/mips.h: Remove deprecated -m<processor> options
17344 and cc1_cpu_spec associated.
17345 (CONSTANT_ADDRESS_P): Fix last patch.
17346 (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
17347 * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
17348 sunge_sf): Remove.
17349
3c63774d 173502002-07-03 Stan Shebs <shebs@apple.com>
17351
17352 * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
17353 (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
17354 (CPP_SPEC): Remove insertion of APPLE_CC definition.
17355
c1131678 173562002-07-03 Roger Sayle <roger@eyesopen.com>
17357
17358 * combine.c (struct_undo): Change types of recorded substitutions
17359 to be either "int" or "rtx", instead of "unsigned int" and "rtx".
17360 (do_SUBST_INT): Change types of the substitution from unsigned int
17361 to int, to avoid compilation warning from SUBST_INT's only caller.
17362
17363 (make_extraction): Add cast to avoid compilation warning.
17364 (force_to_mode): Remove cast to avoid compilation warning.
17365
a83ccf04 173662002-07-03 Eric Botcazou <ebotcazou@multimania.com>
17367 Jeff Law <law@redhat.com>
17368
17369 * i386.md (length_immediate attribute): Fix typo.
17370 (length_address attribute): Likewise.
17371 (modrm attribute): Set it to 0 for immediate call instructions.
17372 (jcc_1 pattern): Set modrm attribute to 0.
17373 (jcc_2 pattern ): Likewise.
17374 (jump pattern): Likewise.
17375 (doloop_end_internal pattern): Explicitly set length.
17376 (leave pattern): Fix typo.
17377 (leave_rex64 pattern): Likewise.
17378
8d57950e 173792002-07-03 David Edelsohn <edelsohn@gnu.org>
17380
17381 * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
17382 in FPR as preference.
17383 (fctiwz): Same.
17384 (floatdidf2, fix_truncdfdi2): Same.
17385 (floatdisf2, floatditf2, fix_trunctfdi2): Same.
17386 (floatditf2): Same.
17387 (floatsitf2, fix_trunctfsi2): SImode in GPR.
17388 (ctrdi): Remove FPR alternative and splitter.
17389
173902002-07-03 Will Cohen <wcohen@redhat.com>
cb4d74b0 17391
17392 * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
17393
20407c42 17394Wed Jul 3 10:24:16 2002 J"orn Rennecke <joern.rennecke@superh.com>
17395
17396 * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
17397 than UNITS_PER_WORD, unless this is little endian and the first unit
17398 in this word. Let extract_bit_field decide how to load an element.
17399 Force arguments to matching mode.
17400 (expand_vector_unop): Likewise.
17401
17402 * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
17403 consist of word_mode elements.
17404 * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
17405 BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
17406 (build_unary_op): Allow vector types for BIT_NOT_EPR.
17407 * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
17408 CONST_VECTOR.
17409 * optabs.c (expand_vector_binop): Try to perform operation in
17410 smaller vector modes with same inner size. Add handling of AND, IOR
17411 and XOR. Reject expansion to inner-mode sized scalars when using
17412 OPTAB_DIRECT. Use simplify_gen_subreg on constants.
17413 (expand_vector_unop): Try to perform operation in smaller vector
17414 modes with same inner size. Add handling of one's complement.
17415 When there is no vector negate operation, try a vector subtract
17416 operation. Use simplify_gen_subreg on constants.
17417 * simplify-rtx.c (simplify_subreg): Add capability to convert vector
17418 constants into smaller vectors with same inner mode, and to
17419 integer CONST_DOUBLEs.
17420
35007674 174212002-07-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17422
17423 * c-parse.in (parsing_iso_function_signature): New variable.
17424 (extdef_1): New, copied from...
17425 (extdef): ... here. Reset parsing_iso_function_signature.
17426 (old_style_parm_decls): Reset parsing_iso_function_signature.
17427 (old_style_parm_decls_1): New, copied from old_style_parm_decls.
17428 Warn about ISO C style function definitions.
17429 (nested_function, notype_nested_function): Reset
17430 parsing_iso_function_signature.
17431 (parmlist_2): Set parsing_iso_function_signature.
17432
17433 * doc/invoke.texi (-Wtraditional): Document new behavior.
17434
2acf887b 174352002-07-02 Chris Demetriou <cgd@broadcom.com>
17436
17437 * config.gcc (mips*el-*-*): Use tm_defines to set
17438 TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
17439 * config/mips/little.h: Remove.
17440
1d85aac8 174412002-07-02 Devang Patel <dpatel@apple.com>
56dc91a0 17442
56dc91a0 17443 * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
aafb1c41 17444 object as parameter. Prevent something like 'NSObject' to be
17445 used as the type for a method argument.
56dc91a0 17446
e3905c41 174472002-07-03 Neil Booth <neil@daikokuya.co.uk>
17448
17449 * cpptrad.c: Update comment.
17450
779c7d58 174512002-07-02 Neil Booth <neil@daikokuya.co.uk>
6a59b91a 17452
779c7d58 17453 * doc/cpp.texi: Update for traditional preprocessing changes.
17454 * goc/cppopts.texi: Similarly.
17455
f9c97a96 174562002-07-02 Ziemowit Laski <zlaski@apple.com>
17457
17458 * c-parse.in (designator): Enable designated initializers if ObjC.
17459 (objcmessageexpr): Remove references to objc_receiver_context.
17460 * objc/objc-act.h (objc_receiver_context): Remove decl.
17461 * objc/objc-act.c (objc_receiver_context): Remove.
17462 (lookup_objc_ivar): Test objc_method_context instead of
17463 objc_receiver_context.
17464
894a031d 17465Tue Jul 2 18:45:45 2002 J"orn Rennecke <joern.rennecke@superh.com>
17466
17467 * sh.c (print_operand, case 'N'): Allow zero vector.
17468 (arith_reg_or_0_operand): Likewise.
17469 (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
6a59b91a 17470 * sh.h (CONST_COSTS): 0 has 0 cost. Check OUTER_CODE for
894a031d 17471 IOR, XOR, PLUS and SET and take their respective constant
17472 ranges into account.
17473 (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
17474 * sh.md (subdi3, subdi3_media): Allow zero operand.
17475 (movv8qi_i+3): Only vector that is not split is the zero vector.
17476 Fix operand 3 to simplify_subreg.
17477 (movv2si_i): Split alternative 1.
17478 (mshfhi_l_di_rev+1): New splitter.
17479
644e79d7 174802002-07-02 Neil Booth <neil@daikokuya.co.uk>
17481
ed9cd839 17482 PR preprocessor/7029
644e79d7 17483 * cppinit.c (cpp_handle_option): Suppress warnings with an
17484 implicit "-w" for "-M" and "-MM".
17485 * doc/cppopts.texi: Update.
17486
c5006c15 174872002-07-01 Roger Sayle <roger@eyesopen.com>
17488
17489 * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
17490 identifier "bzero" to "memset". Pass extra NULL_TREE argument to
17491 builtin_function.
17492
5af76dad 174932002-07-02 Alan Modra <amodra@bigpond.net.au>
17494
17495 * README.Portability: Fix typos.
17496
439b7d59 174972002-07-01 Hans-Peter Nilsson <hp@axis.com>
17498
17499 PR target/7177
17500 * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
17501 of indirections for register inside sign-extended mem part.
17502
a06abcfb 175032002-07-01 Roger Sayle <roger@eyesopen.com>
17504
17505 * tree.h: Modify builtin_function interface to take an extra
17506 argument ATTRS, which is a tree representing an attribute list.
17507
17508 * c-decl.c (builtin_function): Accept additional parameter.
17509 * objc/objc-act.c (builtin_function): Likewise.
17510 * f/com.c (builtin_function): Likewise.
17511 * java/decl.c (builtin_function): Likewise.
17512 * ada/utils.c (builtin_function): Likewise.
17513 * cp/decl.c (builtin_function): Likewise.
17514 (builtin_function_1): Likewise.
17515
17516 * c-common.c (c_common_nodes_and_builtins): Pass an additional
17517 NULL_TREE argument to builtin_function. (builtin_function_2):
17518 Likewise.
17519 * cp/call.c (build_java_interface_fn_ref): Likewise.
17520 * objc/objc-act.c (synth_module_prologue): Likewise.
17521 * java/decl.c (java_init_decl_processing): Likewise.
17522 * f/com.c (ffe_com_init_0): Likewise.
17523
17524 * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
17525 NULL_TREE argument to builtin_function.
17526 * config/arm/arm.c (def_builtin): Likewise.
17527 * config/c4x/c4x.c (c4x_init_builtins): Likewise.
17528 * config/i386/i386.c (def_builtin): Likewise.
17529 * config/ia64/ia64.c (def_builtin): Likewise.
17530 * config/rs6000/rs6000.c (def_builtin): Likewise.
17531
446b2123 175322002-07-01 Zack Weinberg <zack@codesourcery.com>
17533
17534 * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
17535 * config/mips/t-isa3264: Likewise.
17536 * config/mmix/t-mmix: Likewise.
17537
a717d5b4 175382002-07-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
17539
17540 * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
17541
7687025a 175422002-07-01 Roger Sayle <roger@eyesopen.com>
17543
17544 PR opt/4046
17545 * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
17546 A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
17547 B are truth values.
17548
9acba065 175492002-07-01 Nathanael Nerode <neroden@gcc.gnu.org>
17550
17551 * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
17552
65ff7426 175532002-07-01 Matt Kraai <kraai@alumni.cmu.edu>
17554
82808dd3 17555 * README.Portability (Function prototypes): Give an example of
17556 declaring and defining a function with no arguments.
17557
65ff7426 17558 * README.Portability (Function prototypes): Document new
17559 variable-argument function macros.
17560
e3fac27d 17561Mon Jul 1 19:55:17 2002 J"orn Rennecke <joern.rennecke@superh.com>
17562
17563 * sh.c (langhooks.h): Include.
17564 (sh_init_builtins, sh_media_init_builtins): New functions.
17565 (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
17566 (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
17567 (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
17568 (builtin_description): New struct tag.
17569 (signature_args, bdesc): New arrays.
17570 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
17571 (print_operand): Add 'N' modifier.
17572 * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
17573 (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
17574 (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
17575 (CONST_COSTS): Add special case for SHmedia AND.
17576 (PREDICATE_CODES): Add and_operand, arith_reg_dest,
17577 extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
17578 sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
17579 target_operand can also be const or unspec.
17580 * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
17581 (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
17582 (attribute type): Add new types.
17583 (anddi3): Add splitter.
17584 (movdi_const_16bit+1): Add code to handle vector constants and
17585 bitmasks efficiently.
17586 (shori_media): Have generator function made.
17587 (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
17588 (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
17589 (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
17590 (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
17591 (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
17592 (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
17593 (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
17594 (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
17595 (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
17596 (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
17597 (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
17598 (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
17599 (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
17600 (mshflo_b, mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
17601 (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
17602 (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
17603 (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
17604 (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
17605 (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
17606 (ftrv): Likewise.
17607
17608 (fpu_switch+1, fpu_switch+2): Remove constraint.
17609
9cc64f48 176102002-07-01 Aldy Hernandez <aldyh@redhat.com>
17611
7ccc713a 17612 * tree.c (build_function_type_list): Update function comment.
17613 Rename first argument to return_type.
9cc64f48 17614
c7afc77f 176152002-07-01 Neil Booth <neil@daikokuya.co.uk>
17616
17617 * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
17618 tradcif.y and related files.
17619
8874ac02 176202002-07-01 Neil Booth <neil@daikokuya.co.uk>
17621
17622 * cpptrad.c (skip_whitespace): Pass pointer to prior char.
17623
b6026f5a 176242002-07-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17625
17626 * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
17627
0ad4f989 17628See ChangeLog.7 for earlier changes.